Talks I've enjoyed (August 2022)

Tim Ewald - Clojure: Programming with Hand Tools (2013)

Great talk. I really connected with Tim's need for tangible, non-computing activities like woodworking — a passion I share. I'd wondered if this was all just nostalgia and romance, but Tim makes some really good points about the fundamental tradeoffs in automation.

Prefer to avoid YouTube? You can watch on Invidious.

Tim spoke extensively about his love of hand-tool woodworking and of making things (from wood or code). Known materials, an ergonomic environment and simple tools give you precision, control, flexibility and a connection to your work (and avoid dangerous dust). This takes time and effort to learn, but is worth it. You can get a lot of mileage from looking back in time and picking up tools that most people have forgotten - especially as used by people making their living prior to automation. Automation saves time, reduces costs and adds convenience, but it also trades off the beauty of proportional work for the efficiency of measurement-driven work. Automation isn't bad, but the tools significantly affect how you see the world, what is possible and the final results - there are costs to automation - eg. handmade mortise and tenon joints on doors that are strong and aesthetic compared to stub tenons that are convenient to produce with machines.

Tim made the analogy to the known material properties of Clojure data structures, the development environment (of Emacs) and the tools of Clojure functions. He highlighted that in programming too, automation is ok, but there are tradeoffs. The automation changes how you approach problems and the possible solutions you consider. When you have a killer app, everything starts to look like a problem that the killer app is the solution to. Tim worked in the Microsoft world with SOAP for around 10 years and described SOAP/WSDL as as a trainwreck driven by the fixation on automation within Visual Studio, and the assumption that it would protect them from unbounded complexity. Other tools that didn't work with with Visual Studio weren't perceived to even exist. Tim asked whether now that we use Clojure's Lein, if we know what we ship, and whether that's ok. More generally, how does automation X change how I look at the world?

Tim described programmers as most like the woodworking pattern makers — people who made unique wooden models of parts to be cast from steel. For this type of work Clojure is the perfect simple tool that gives you a broader perspective on the world.

(my software/consulting business)




FSF member since 2006 Become a Conservancy Supporter!