Penguin Emeritus

I did a quick count of the lines of code in my source code repositories, revealing 3.5M lines of published Open Source code.

Some highlights:

  • Aegis, 710Kloc. First released in 1991, and including test driven development, code review, continuous integration, and gated trunk in that first release.  The documentation didn’t immediately use most of these buzz words, the Agile folks invented them years later.
  • UCSD p-System cross compiler was written when I was on chemo in 2010, 358Kloc. One year vs 20 years, who could have predicted that? This was significant because I wrote the change set descriptions and tests first, for all the zillion things a cross compiler tool chain needs, knowing that my mental capability would cycle up and down slightly out-of-phase with the chemo cycle: TDD for the win.

Based on some extrapolation, and other sources, I estimate that I have written a total of about 10M lines of code in ~35 years, including both open source and work-for-hire code.  That works out at about 1000 lines of code per day every day (less 30 years ago, more lately).  And since I’ve been using Aegis for 20 years, that’s 1000 lines of debugged and tested code per day.

Does the source language matter?  C++, C, assembler, yacc, awk, sed, etc.  Maybe.  There have been quite a few articles published on this subject over the years.  The rough consensus is that lines-of-code-per-day tends to remain about constant across languages.  Not sure if I agree with that, but when averaging over multi-million-loc, I’m not sure it matters, either.

Penguin Emeritus

The reason I included the above statistics, is that at LCA 2013, in the closing ceremonies, AfC made a very nice speech (starting at 00:16:41). In it he mentions the above statistics, and also Aegis and ucsd-psystem-xc.

He also revealed that I have been awarded the title of “Penguin Emeritus” in recognition of the technical contribution I have made to Linux and Open Source software in the past 35+ years (and a nod to the CLL elephant in the room).