9,992 karma · joined March 17, 2008
@yan / twitter
Contact me. I'd love to hear from you.
[ my public key: https://keybase.io/yan; my proof: https://keybase.io/yan/sigs/bsufXWbJRQgWAiZQ3yD9Ydi_lDSJDWpSAxS1aqv3ORk ]
I keep looking around and I'm not sure that I'm happy with the "ownership" aspect of books, or a lot of stuff in general. (Having moved three times during the last six years, moving books is an awful experience).
This is probably an expression of what I've been feeling in general as of late, but I am extremely happy with the "subscriptionification" of media that's been happening. Spotify's huge library is a net win for me, as opposed to collecting albums for them to just collect dust. For me, revisiting what I used to listen to in high school by over-hearing someone's playlist has a far stronger emotional reaction than revisiting it by walking past a bookshelf.
Regarding stuff disappearing ten, twenty, thirty years from now: my experpience has been the opposite. The Internet has been getting better and better and archiving content of yesterday, and has provided better and better access to it.
My personal lean has been to own less stuff in general, which includes books, music and media in general. So needless to say, I'm pretty excited about Kindle Unlimited.
With Safari, you can do Command+Shift+[ and ]
Normally, when you cycle open apps with Command+Tab, if you land on an application that has minimized windows, nothing happens. The way to remedy that is as follows: Hold Command and tab to the app you want to un-minimize. Without letting go of Command, press down Option, then while holding down Option, let go of Command.
It's a little awkward to use at first, then you'll do it automatically. I hold Command with my thumb, then tab with ring finger, then just move ring finger back down to Option, and let go of thumb.
Edit: Bonus tip: When landing on an application icon with Tab, continue holding Command and use Tilde (~) to cycle through windows of the same App. I use that one a lot too.
[1] https://itunes.apple.com/us/app/splittr-cost-sharing-made/id...
The intuition was that screens are almost all wide-screen, but content is all narrow, due to readability. This was an attempt to add a mode to browsers that can let you use more of your screen real estate.
I have a draft of a blog post from a year ago explaining my reasoning and a diff of the hack, but I kept putting it off. If people are interested, I'll port it to Blink and write something up about this.
Also, chutes are not packed with great care. A main (the parachute you generally use) takes an experienced packer 5-10 minutes to fully pack and some people hurry through it to get on the next load. Outside of two things you need to get right (make sure the slider is up, make sure lines aren't over the fabric), it will open. Most of the packing is all about reducing the pack volume and slowing down the opening, not ensuring it.
A reserve however (the second chute sport jumpers wear), gets packed by a certified packer and gets re-inspected and repacked at least once every 180 days.
But then just a few minutes ago, a 'brew update' failed because the recipes are hosted on github. Then, 'opam install' failed (which is why I was updating brew) because it too, is on Github. Then I went searching for build failures, and the answer was in a GitHub issue thread, with a link to a pull request that fixed the issue.
No, I don't have a solution to doing this better, but man do you feel the fragility of these systems when one component goes down.
For an example of a safe exit that immediately leads to a very spicy line, check this video, at 0:40 specifically: https://vimeo.com/82949889
Calling free() on NULL is a no-op.
She found out about it pretty quickly due to having syslog be a constant presence in one of her gnu screen windows and gave me a look. She quickly reverted what I did, updated our config management tool, tested it, then deployed it, while explaining why this was the right way to do things. I slowly came around to doing things the right way and haven't thought much about the initial incident until we found her personal logs that she archived and left on our public network share for future reference.
In the entries for the day that I started, we saw the following two lines:
[*] 2007/09/09 09:58 - yan started. gave sudo privs and initial hire forms.
[*] 2007/09/09 10:45 - revoked yan's sudo privs.Regarding stack arrays, while the compiler certainly knows how large an array is (of course it has to, you're using the length in the code it parses), it will almost certainly not write code or immediates that hold the size anywhere to the resultant binary. If you allocate three arrays, each of 12 doubles, a compiler can simply emit "sub esp, 288" and be done with it. It also won't stop you from referencing memory at an unreasonable offset from any of those arrays. (Compilers can warn you though.)
Passing the array along with its size further goes to prove the original statement, not refute it. If you have to do something manually, it strongly implies that the language/runtime isn't doing it for you.
Regarding arrays on the heap, the runtime even then does not require you to place a size anywhere. What likely happens is the right cell from a bucket of the closest size to the allocation you need is returned to you and marked in use. It will be as large as the size you're allocating, or larger. The only artifact of its original size is which span of memory it's located at. When you free() that allocation, that block simply gets marked as free, no size needed.
[1] http://vvvv.org/
This is: Create a pool of btc, distribute to those who commit to current round.
What I thought this is: Anyone can tip on individual commits that they find useful or of exceptionally high quality, akin to Reddit Gold for code. This way, not all commits are treated equally and great commits can be compensated. To further the reddit gold analogy, this can tip for premium features (i.e. tip some btc or usd for a month of free github premium) or just straight out money.
I realize there's gittip, but this is on the level of commits, not developers.