I choose Apple because I want good hardware with a *nix operating system. End of story. Show me an alternative, and you'll pique my interest. In the meantime, you should keep your ridiculous comments about conspicuous consumption to yourself.
Amen. It was a bit of a compromise having to deal with mac ports or fink for so long, but since homebrew became so usable as a package manager a couple if years ago, the argument has only gotten stronger.
I actually clicked on the comments to post how much I enjoyed the experience of reading the post (though I was going to put an "off-topic" disclaimer. To each his own, I guess, but I really enjoyed the reading experience of the theme.
I probably would not have bought this book, but I did get a copy because it's free. I hope there is a way to retroactively throw some scratch to the author should I find it useful. That seems like a good model, akin to music "piracy" where I find music I love and then buy it. Or, I guess I could "buy" it again...
Then give them a coding problem that takes a short amount of time but allows you to evaluate their skills. I relish these opportunities and respect the companies that ask me to do them.
To keep with your metaphor, ask the carpenter to make you a cabinet door.
Again, I agree with others here... if you're passionate about the startup you're working at (and you should be), that is your side project. I distrust people who work at startups that have side projects.
A coding problem is less illustrative than a decent--LOC is always suspect, but let's say 10,000 LOC--corpus of work. Something to show much more than a toy problem.
Better still, however, is collaboration with open source projects--you can see individual communication between people as well as the developer's ability to enter a foreign codebase and be productive, (hopefully) without introducing bugs due to ill-advised changes without understanding what's being changed.
(We don't look at side projects or open source at my current employer. I wish we did.)
Any coding problem that could feasibly be completed in an acceptable amount of time would be too small to actually tell me what I want to know. I mostly don't want to know what algorithms you're aware of or how quickly you can type. I want to know how you structure and modularize code. I want to know how you debug things. I want to know if you can refactor well. In short, I want to know about how you handle building and maintaining real software. If I hired people to do coding problems all day, that would be another thing, but I don't.
I think the more relevant case here is United States v Paramount Pictures. To paraphrase (poorly) the decision: You can make movies, distribute movies and/or show movies, but you can't do all three. I hope at some point app stores as the only way to introduce software onto your purchased hardware will be struck down as violating anti-trust laws. But, I'm no lawyer.