Hair and Yak Again -- A Hacker's Tale

Accepted Session
Short Form
Scheduled: Tuesday, June 1, 2010 from 3:45 – 4:30pm in St. Johns


API design, parallelism, automated testing, parallel automated testing, deployment, build tools, meta programming, GUI design and construction, hardware interfaces, network protocols, databases, change tracking, file formats, and why simple software becomes an epic journey.


“Yak Shaving” is the seemingly useless and endless task you do on the way to accomplishing a simple thing with software (such as destroying the one ring in the fires of Mordor). It’s also the reason we have frameworks (orcs), libraries (goblins), and abstraction layers (balrogs). If not for open source software, all programmers would ever do is shave yaks in the deep of Moria.

We’ll journey to the evil eye of software’s complexity, see how interfaces evolve, and why the simplest things still turn into epics. This session covers several years of my professional meddling in open source, Perl infrastructure, the CPAN, CAD/graphics software, and GUI toolkits. I’ll expound on API design, abstraction, non-blocking code, parallelism, interfaces, how code gets turned into sausage, and why we need more bacon. I’ll also discuss community, collaboration, and bug reports.

Whether you’re a long-time contributor to open source projects, or just starting as a user, this should give you some insight into how the pieces fit together, why “the stack” is really just a pile of hobbits, and how we haven’t even ventured out of the Shire yet.

Speaking experience