Older blog entries for AustinBlues (starting at number 7)

14 Feb 2001 (updated 14 Feb 2001 at 03:19 UTC) »

I have been thinking about Extreme Programming and Bazaar style development. It seems to me that both are development models for extraverts - people who get energy from being with other people. Extraverts like to think out loud, i.e., the bazaar. Introverts prefer to work it all out privately before presenting publically, i.e., the cathedral. I have done some of the two person, one terminal work for debugging sysadmin problems. We called it "getting the intersection of our blindspots". It is effective, intense, and draining. I think three hours a day is about I could stand without wearing out. I'm not terribly introverted as programmers go, so I wonder how this works for the general programmer population. With the adoption of these two models, I expect to see more extraverts in programming.

My dayjob's office is going distributed and virtual. Somebody dropped the ball and the new office won't be built-out until a month or two after the old lease runs out. Now we have to tease apart years of cruft, and stacks of shared two gig drives. Wasabi has a new 30GB drive and I have one more day to get all the imported filesystems moved onto the new drive. Either we are hammering it too hard and it is dying, overheating, take your pick, or it is bad. I copy and I get I/O errors. I've tried tarring and untarring, similar results. Lots of permissions denied as root (the other Solaris boxes don't necessarily extend root priviledges)! I end up with directories with no contents, not even . and .. and I can't delete them. I've run fsck 3-4 times cleaning up the mess and then creating another one. I have successfully tarred onto the original drive with no problems. I can move it to the new drive and it compares. Now to try expanding the tarball from either the old drive or the new drive on to the new drive with no NFS volumes involved. The new drive is noisy too. Just two screws holding it the skids. I like solid equipment that doesn't rattle. I sleep better at night.

So somebody does read my blathering. Terje Bless <link@tss.no> pointed out the Internet host names are case-insensitive. Not everything is the Internet, but maybe it is time to re-examine this for LANs. I tried my home LAN and on the SuSE 6.1 Linux box - ping and nmap don't care about the case. Same for the RedHat 6.1 Linux and Solaris 7 boxes at work. I'll see if I can con one of the Windows NT users to check it out. Same for the Windows 95 and 98 boxes at home when I can reach the power switches.

Now I wonder what system I was using when I concluded that hostnames are case sensitive. Probably not something in the personal computer world.

Maybe time for an old dog to learn some new tricks.

All our computers at work and at home are spelled all lowercase, the usual practice. However, proper nouns in English are initial caps. Who's right? They are definitely proper nouns. It also causes some awkwardness, especially as the first word in a sentence. If the poor user enters the name with initial cap, "host not found". Either the grammar/language usage needs to change or naming practice changes. Is this speciesism (sp?) carbon based lifeforms get "real", proper names with initial caps, computers don't. Or is Erwin in User Friendly cutting edge?

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!