Older blog entries for AustinBlues (starting at number 3)

Got telephone SPAM yesterday from a tech recruiter. He was looking to help a client with unstated requirements, yada, yada, yada. I gave him nothing: no hope, no leads, no names, etc. Couple of minutes later the other phone in my office rings, a familar voice says "Oh, wrong number." I suspect he was war-dialing all the extensions in the office. If so, man tech recruiting in Austin is getting really agressive.

I'm still amazed at the comapny that bought out the premiere of X-Men and you could get in for no money and a techie resume.


I'm using my OSS project as the NULL task for my day job. With 20-40 minute run times, it gets a fair amount of time. If I leave a rxvt terminal running SSH to my home machine idle at the shell prompt, it will often drop the connection. However, if I am running emacs -nw in the terminal, it will stay up all day. Wierd.

Wrote some macros to sit at the end of the virtual function tables and complain at compile-time (best) or run-time (okay) if not all entries are initialized. This is the biggest single source of bugs. The first half-dozen classes were clean and I began to wonder if I was closing the barn after all the horses were gone. However, they weren't all gone. Caught a couple of other errors too. Also updated most of the classes to use the new inheritence conventions and mechanisms. It took all day and probably saved 3-5 days of catching them by hand.

Maybe I should have spent more time up front on the inheritence and virtual function table mechanisms. Don't think I could have anticipated all the problems. Even hindsight isn't perfect.

I need to figure out how to get the regression tests into the distribution. Probably imitate some package like libxml that is already doing it. Also need to figure out how to make --with-z and --without-z really work, even if libxml doesn't. Wish there were more docs, examples, and tutorials for the GNU build tools, including the standard/usual M4 macros.

Next time I go looking for a job, I am going to interview the code too. I am getting too old to struggle years to find my way around 200KLOC of undocumented code. It takes too long to start becoming effective. Of course, getting on a new project is another possibility.

It is a nice contrast, I have a day job with no documentation and few comments, and a side project translating Java to C. The Java code has fairly complete JavaDoc comments, good additional comments, and some additional HTML docs. Finding my way around it is straightforward.

The day job code probably will take 2-3 years to really know my way around. Of course, if I split, that knowledge goes with me. This product is just hanging on and needs new features, bug fixes, and visible progress to stay alive. There will probably never be the time & money to really document it. I expect this is a description of a project that has already entered its death spiral.

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!