Good Reads8:00 PM
Of the part of the day I don't spend eating, sleeping or enjoying/surviving my family, I spend it in roughly equal parts reading and writing. While my reading habits have evolved, the relative quality of what I end up reading has varied very little over the years. Most of what I read is just... ok. I think it's nearly always possible to profit from everything read (assuming some discretion is applied upfront)--even if the effect is merely the intellectual equivalent to eating celery.
Some of it though--some of it, is just spectacular. So good, I think it worth isolating and sharing. Before I do, allow my wind to extend just another paragraph or so to explain "why" I think these links are worth sharing. From my perspective, the links that will follow represent illuminating content by competent authors--authors whom you should follow, who consistently (because they are competent) continue to generate content of the same excellence and whose advice and opinions can be trusted to be worth thinking about.
As a last aside, what do I mean by "competent"?
I don't intend for the following two observations to be terribly polarizing: competency is both a diffuse term and a complex unit of measure; but I won't worry too much about the impact of the next. To my mind, in any given specialty (software engineering, baseball, philosophy, marine biology, etc), only a relatively few individuals will emerge and be recognized as competent. I doubt it possible to draft a definition for competence which could accurately apply to all distinct domains (much less the combinations we practice in reality); yet, for the purpose of this recommendation, let's call it so:
So without further ado, a few things worth reading:
Reg Braithwaite's excellent experiment, Homoiconic, his recent essay Practical Applications of Partial Application. It's. Just. Fantastic. He takes functional programming down the bones and reconstructs a the organism. This is not only just a great article on software engineering, it's the template for great articles on software engineering. His standard blog, raganwald's posterous, is also excellent.
- From +Douglas Crockford, his recent talk, Monads and Gonads, is wonderful. I wish I could have been there. Afterwards, when you think you've understood what he demonstrated, grab the code from the lecture and try to implement it. If that proves challenging in the least, revisit #1.
- Nearly all of Crockford's videos are worth watching, but he can also write. From crockford.com, see his Satan Comes to Dinner.
- From James Hague's, programming in the 21st century, his Hopefully More Controversial Programming Opinions, which includes this gem: "You shouldn't be allowed to write a library for use by other people until you have ten years of programming under your belt." While I can't know his competency as a developer, because he rarely if ever show actual code, as a writer about software engineering, he's a wellspring.