all

Happy Birthday, Debian!

<p> <a href="http://debian.org/">Debian GNU/Linux</a> turns 19 today.</p> <p> I estimate that I did my first install some time in late 1995, perhaps early 1996. I haven&#39;t really used anything else as my day-in-day-out OS since. I&#39;ve never had a Mac of any stripe, and haven&#39;t used Windows with any frequency other than for World of Warcraft since &#39;99.</p> <p> I can pin my first contribution to Debian with far more accuracy: September 3, 1996. That&#39;s the date on the first Debian changelog entry in the <code class="verbatim">libwww-perl</code> package, which was, I believe, the first package I ever made. It still exists in Debian and Ubuntu (and other derivatives) and if you have it installed, you can look at <code class="verbatim">/usr/share/doc/libwww-perl/changelog.Debian.gz</code>, and right down there at the very end, you&#39;ll find my grubby little fingerprints.</p>
4 minutes to read
Michael Alan Dorman

Choosing a new language

<p> I have been programming primarily–for long stretches, almost exclusively–in Perl for the last 17 years or so. I seem to remember starting to use it around mid-1995, with 5.001–during that long, awkward time between when Perl 5 came out and when the 2nd edition of Programming Perl finally arrived in late 1996.</p> <p> I&#39;ve kept with it because I&#39;m fluent in it, I am productive in it, and at this point, I can make it do some fairly absurd things (ask me about writing event-driven servers in Perl, I dare you). In fact, I like the language. I understand the complaints people have about it, but the subset in which I write these days is pretty clear while remaining concise and expressive, and the ecosystem that exists around it is simply unparalleled.</p>
3 minutes to read
Michael Alan Dorman

A thing of beauty it is…

<p> I&#39;ve spent about the last three weeks converting much of the infrastructure code for AnteSpam to use AnyEvent.</p> <p> One of the small bits of fallout from using AnyEvent is that we now have a large number of anonymous code references as callbacks, and in our logging code, these all have the same name: <code class="verbatim">__ANON__</code>.</p> <p> This makes debugging output a little less useful.</p> <p> In browsing some code in AnyEvent::SMTP, I happened across the trick of locally setting the <code class="verbatim">__ANON__</code> typeglob to the name you want to use used in stacktraces and the like:</p>
One minute to read
Michael Alan Dorman