In 2012, I began collecting thoughts and learnings from pair programming in a long document that I thought could one day become a book. Last year, when engineers at Promptworks asked for some pair programming resources, I circulated the manuscript internally. Jon Long saw its potential and tipped off Katel LeDû, the CEO of A Book Apart, who got in touch about making it the next title in their Briefs collection.
The last connecting flight between home and my college was on a comically small airplane. It was a 1996 Beech turbo-prop with no lavatory, no overhead bins, and 19 of the tiniest seats you’ll ever see. About 10 minutes into the 45-minute flight, the copilot would crawl out of the cockpit and serve drinks to the handful of passengers aboard. He could barely finish opening everyone’s cans of soda and handing out the peanuts before needing to return to the cockpit for landing.
Over on the Promptworks blog, I wrote a short piece on how software, by its nature, is never “done” because there are always new ideas and changing business requirements that move the goalposts—and that’s not a bad thing! What can be detrimental is to not accept the nature of software and expect it to conform to a construction project paradigm. By doing so, you miss out on a lot of value and create fragile expectations.
The video of my talk at Madison Ruby is online. Automated infrastructure is intimidating but very important, so I encourage conference attendees to dip their toe in the water with a simpler subset of the Chef stack.
A well-designed DSL improves programmer productivity and communication with domain experts. The Ruby community has produced a number of very popular external DSLs—Coffeescript, HAML, SASS, and Cucumber to name a few.
My extended family has been playing a card game called Thief for the past several years. It’s been passed along orally through the network of grandparents and retirees, but we cousins have really enjoyed playing it too! The stealing element is what makes it so competetive and fun. Trash talk is a key feature of the game.
Last week someone was looking over my shoulder as I typed a command to run a script. It was something mundane, like
./script/test. He said, “you know, you don’t have to type the dot slash,” and I thought, “Wow, he’s right; I’ve been typing those extra characters for years!”