When Your Codebase Is Nearly Old Enough To Vote

Accepted Session
Short Form
Scheduled: Thursday, June 25, 2015 from 2:30 – 3:15pm in B202/203


What do you do when your project is so old that technology has changed around you? (Or, how do you future-proof a project that you've just started so that when it gets that old, you'll be ready?) Come hear a case study of Dreamwidth Studios, a fifteen-year-old web app with a codebase consisting of a quarter million lines of legacy Perl and a mission to modernize ... if it doesn't break everything.


As time marches on, more and more FLOSS projects are reaching ages that qualify them as ‘venerable’. On the one hand, that rich history of constant improvement provides a robust framework upon which to build. On the other hand, that can lead to sections of the code marked “here be dragons” that haven’t been touched in this millennium, and the ever-accelerating speed of technology’s march can leave you with a balance-sheet of technical debt that would make anyone quail.

This talk is a case study of Dreamwidth Studios, forked in 2008 from LiveJournal.com, a project that began in 1999. With a quarter-million lines of legacy Perl, it’s been hard to decide what to modernize and what to leave alone. Come hear our successes, our failures, and a few horror stories of disasters we’ve stumbled into along the way.


technical debt, modernization

Speaking experience

I've spoken at a bunch of conferences, including OSCON, Web 2.0 Expo, Open Source Bridge, YAPC::NA, and linux.conf.au, giving talks from the technical to the silly. I gave this particular talk at LCA this year; the description is at http://linux.conf.au/schedule/30051/view_talk?day=friday , the slides from that version are at http://www.slideshare.net/dreamwidth/when-your-code-is-nearly-old-enough-to-vote , and the recording is at https://www.youtube.com/watch?v=G45hqWNScvE .