Older blog entries for Qbert (starting at number 2)

27 Oct 2001 (updated 1 Nov 2001 at 13:27 UTC) »
Birthday Musings

Birthdays are a good time for reflection. I wrote up a summary of my free software activities and my experience at Vovida/Cisco. In the process I got frustrated with the adoption of Vocal and wrote a call to action, visible in the notes section of my page. Here is this wonderful open-source technology, a huge gift to the community, and almost no one has heard of it. Cisco is marketing it to systems integrators; in the meantime the free software community has fallen by the wayside, after the initial disappointment we felt when people didn't hop on the bandwagon.

It's an interesting lesson that we released a huge project like Vocal and saw so little community response. Part of the reason, of course, is that the telephony business is so specialized, an niche engineering domain separate from free software. Still, it's very hard to build a community by fiat. Other commercial open-source ventures have had the same problem. For all the talk about their power, self-organizing processes are hard to control.

I have the feeling I will have to promote it to the community myself. First I can write an Advogato article; next I can start a home page for community Vocal installations; finally I can come up with a working installation. That's a lot of work. How much of it I do remains to be seen. I may end up pursuing my tentative plan to scale back to part time at my job and devote the rest of my time to free software. It will take some significant belt-tightening. (Living in San Francisco is not cheap.)

22 Oct 2001 (updated 1 Nov 2001 at 13:25 UTC) »
Registered to Vote

Today I registered to vote. Of course, my life being what it is, I had to wait till the last possible day to register. Here in San Francisco, the City Attorney is up for election, and there are ballot measures about establishing a Municipal Utility District (basically a democratically elected board that takes charge of power generated in San Francisco and sells it to San Franciscans, thereby bypassing PG&E).

24 Jul 2000 (updated 1 Nov 2001 at 13:24 UTC) »
Drinking and Debugging

So I banged out a Perl-Tk program to wrap ipgrab and display its output as a call-flow diagram. It took about three days because I was over-zealous about parsing the SIP and SDP messages, and I made my usual stubborn mistake of writing the whole thing before debugging any of it. Anyway, it was still having some bugs at the Friday afternoon deadline. I was most frustrated.

I felt a little burned out, so I went to the liquor store with Mike and we played Beer Pong. This entails placing an open beer on the ping-pong table in front of you, then playing as normal, except that a hit to your opponent's bottle or can (except on a serve) results in a one-drink penalty for him. Losing a point also brings a one-drink penalty. Hence it is possible to make your opponent drink twice with (e.g.) a shot that hits her side of the table, bounces once, hits her beer, and caroms off the table before she can return it.

In this manner Mike and I got uproariously drunk. Then, around 12:30 a.m., I returned to debugging. To my amazement, I found three bugs in deeply nested code and nailed them in about 40 minutes, bringing the program up to the milestone requirements. I hung around reading till I sobered up, then drove home victorious.

The moral of this story, I suppose, is that sometimes being able to hold the whole program in your head is a bad thing. Just as when you edit your own writing, your vision is obstructed by your mental image of your work; you see what you thought, not what you wrote. A little chemically induced impairment can hobble your brain enough that you see only the code in front of you, bugs and all. Friends don't let friends drink and drive, but you might just say yes to coding drunk. :)

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!