Older blog entries for taj (starting at number 22)

At Changi and unfettered by cables. There is geek joy in free 802.11 internet access.

Last week of work at my current job. Hopefully they will accept my offer to remain a remote consultant while I'm travelling. I'm getting quite psyched about going back home now, but I'm already missing Australia.

The free time I'm able to spend hacking is going to drop to nil for a month, until I get to Delhi. Then there will be the problem of locating and procuring hack infrastructure over there, somehow I doubt my brother and father are going to let me wipe their machines and install linux on them. Almost time to purchase a laptop.

Meanwhile finans is going well now that I've overcome my issues with adding/deleting rows in a table-neutral way (lots of primary-key fudging, what fun!) so I should be able to have a preview release available before I go.

Somehow I found the time to read a collection of short stories by Jorge Luis Borges, called Labyrinths. It's a surprisingly good book (translated to english from the spanish) combining bits of sci-fi, metaphysics and ... hmm... hard to put a finger on it. I see elements of Poe and Umberto Eco in there, and perhaps some Kafka. Three years ago I would have laughed at anyone suggesting I would enjoy a book like this but it's a great read.

An example: in one story he imagines a world that is in the form of a great library, arranged in seemingly infinite floors and hexagonal sections, each section containing a number of books of exactly the same dimensions and number of pages. The books are marked and arranged by an unknown (to the library-dwellers) code and seem to contain random text. Over the course of the story the narrator explains that each book in the library is unique and contains one possible permutation of letters in a fixed language (consisting of 23 letters and two punctuation characters). This means that every book that it is possible to write is contained in there, in any language that conforms to that alphabet (eg one contains your entire life story, your entire life story with some details incorrect, your life story as seen by someone else... and so on). The problem is that as nobody knows the code behind the arrangement of the books, searching for a particular book or even verifying its correctness is basically impossible. Of course logically, one of the books in the library explains the cataloguing system for the library... but which one? The person able to find and identify this book is akin to God, as he has the key to all knowledge.

This is one of the stories that grabbed me (is there a meta-catalogue book that explains how to find the catalogue book?), but there are others that are of equal or better inventiveness. I will have to read this one several times over.

Since all but 2 mail monitor bugs are closed, it's back to finans for a bit. There are some serious issues with view redraws required when inserting and deleting rows, not sure how long it will take to fix.

Went to work this evening, ANZACs please forgive me this little disrespectful behaviour. Porting apps from old-style jhtml to JSP is a painful thing, especially when the underlying servlets were never designed to work properly in a JSP environment (ServletOutputStream everywhere instead of Writer).

I can't imagine what I would have done if I didn't have that little 20 line perl script to do the grunt work for me, but I still had to manually review 100+ source files before committing them. argh never again...

I'm seriously considering switching back to debian just to see if the update situation is any better. I like mandrake but the distribution upgrade for both RH and mdk fill me with phear. And both of these dists have serious problems providing non-critical updates to older releases.

The reason I switched away from debian was, apt being wonderful and all, I found the only way to keep up to date on non-critical package updates was by moving to unstable and dealing with packages breaking all over the place (not to mention the daily 20M updates of tetex). It's likely I was doing something wrong but it was very frustrating.

To be honest I grew out of obsessively micro-managing my machines a little while ago, I don't get paid to do it and it gets in the way of the stuff I want to use a computer for in the first place. It's not hard to do but it's annoying, all I want is a computer with up-to-date software.

sorry for ranting dear diary but it's 5am and I'm in a cloudy mood so I deserve a bit of slack.

15 mail monitor bugs/wishes closed, good to be writing C++ instead of parsing it for once. I've been ignoring this little program for way too long. Turned it into a KUniqueApp, which is a handy little class, even though the docs are somewhat confusing.

Started writing an XML editor with PyQt out of frustration, but I won't be able to hack on it properly for a while. Another list of projects to keep me busy while I'm in Delhi.

Hi Bob!

The jBoss project is quite impressive. It's eventually going to be a serious contender in the J2EE app server space and you can't beat the license. This is one of the few projects that gives me hope for large-scale enterprise applications written in free software.

Discovered some IBM JVM issues on Linux 2.2.x SMP boxes. Not really 100% reproducible either so I haven't tracked it down.

Nicole is down from Vancouver for a few weeks so not much free time to do a lot of KDE coding. The only visible thing I've come up with for a while is a patch for am_edit for Q_OBJECT detection. The bug reports for my apps are still coming in at a healthy rate - I wonder if I will have time for all this stuff before I leave. I hope I do, as it doesn't look I'll have the resources to do much programming in India. I need a laptop.

There is news floating around that someone has implemented rudimentary precompiled headers in GCC and it speeds up KDE compiles by a factor of 10 or more. Amazing! Can't wait to get my hands on it.

22 Mar 2001 (updated 22 Mar 2001 at 17:09 UTC) »

kjots is a real shame. The idea of having a Palm-like memopad is a good one but so many limitations! I wrote up a short perl script to try and sync up kjots memos with the palm but kjots behaviour and usage of files to store its memos is just weird, so only download from kjots to palm works right now. It's been abandoned for a long time, so I'll try and have a hack at it next week.

Looks like I've been certed master. I'm not sure what to make of it.

KDOC is getting really, really close. From last night it can correctly document the typedef struct { ... } var,... stuff that C programmers are so used to. I'm annoyed that it's taken this long and so much work to make this program worthy of "near completion" status, but in the process I've learned a few things about myself:

  • I appreciate languages that help me write good-looking code.
  • When writing free software, everything seems to me to be a grave bug or missing feature. Funnily enough I have no problem prioritizing these things when I'm at work.
  • I don't like perl as much as I thought I did two years ago.
.. and a bit about perl:
  • Cute features that make life easier when you're writing a short script won't scale. When you start writing a program and a prototype turns up to be roughly 1.5KLOC, it's time to think about whether or not the program is going to grow. If it is, it's time to start refactoring immediately. I don't find this so much of a problem with other languages as I tend to overdesign even the simplest apps. Perl's temptation to throw caution to the wind snuck up on me.
  • In a larger program with large data structures, more often than not you're going to be dealing with references. That's when you find out how strange-looking perl can get.
  • Sooner or later you're going to use the perl profiler, and that's when you learn how much just that one extra function call can cost. When that function call is just hiding some small but dirty code, the decision about what action to take can be a hard one.
I still like perl a lot, but I'm going to think long and hard before I use it to write a program that I expect to grow in a fairly amorphous way. When using C, Java, C++ or even python (at which I'm still mostly a novice), I factor this in without thinking. But somewhere in the perl<->taj interface this natural bond is not being formed.

It's been a good book month. I really enjoyed Yukio Mishima's Confessions of a Mask, Hannibal was a waste of precious time, Iain M Banks' Look to Windward was good in parts (I loved the ideas and descriptions of the dirigible behemothaurs) but it dragged on a bit.

oh and... test cricket is interesting again! Anyone who has been keeping up with the Australia/India series knows what I mean. :)

The wrong version of kdoc got shipped with KDE 2.1, so the head version will get shipped this time. This is a good thing, I've done a lot of heavy work recently and hopefully this will reduce the repeat bug reports I get. Surprisingly the number of people who complained about kdoc requiring perl 5.6 was quite small.

Time to make a new web page for it now. A good sample page for learning CSS for when I redo the kdoc HTML output with using CSS. I can understand why max doesn't have zope installed but it would be handy if it did.

Python support in KDOC, plus major bug shakedown (god weak typing is a pain sometimes), has been committed to CVS. The main limitation right now is that doc comments are not supported. As I am new to python I'm not sure what the generally accepted protocol is for these, but I'll hack out a decent attempt tomorrow. Once I can get passable generated docs for my python code, I can go back to programming python again. Not long now.

Nicole starts a new job today. My thoughts are with her.

This long-distance stuff gets old real quick. Gotta get my butt over there ASAP.

So I'm trying to get my internal system clock back to Australian time. I had forgotten how much weekday mornings sucked. But getting home before it's dark is quite cool; tomorrow I shall depart the office at exactly 5pm with impunity.

Registered for Blast Radius 3. BR2 was good fun and I hope not to get my arse kicked as badly as it did last time. I guess I couldn't have expected any less considering I picked up a copy of UT the day before just for the LAN. :) Bring em on boys. Someone's got a little practice in.

Why are these nvidia drivers so damn buggy, though? Surely a set of drivers that won't lock your card when you quit X is not asking far too much.

dum de dum summer's almost gone. gotta chase it

After KDOC got a new(ish) lease of life from the KDE java binding work that Richard Dale did, I was inspired to add python support to it. It was surprisingly easy, parsing python is trivial. Most of the work went into preparing kdoc to accept another parser backend. Now I've done that, I guess I can properly incorporate the java and Objective C parsers that have been lying around rotting for a year. It's nice to be able to get python API docs in a familiar format, it basically looks exactly like the KDE API docs (for better or worse...)

I'm done with the plumbing for my finance app now, linked controllers and views seem to work perfectly now so I can spend some time making it look pretty and generating nice reports. It would be a useful exercise to try to replace gadfly with something like postgres, too.

KDE 2.1 is just so l33t. That time spent reworking the guts of kdelibs from the 1.x days sure paid off in the end. I'm constantly amazed at the lego-like flexibility of our framework. It's all coming together...

I managed to get my app together in time and showed it off at my talk tonight. I was SOOO late, but the folks at the meeting were quite forgiving and even appeared to not fall asleep during the talk.

  • There are more python programmers out there than I realized.
  • Fixed around 10 kdoc bugs since my last entry.
  • A KDOC bug reporter mentioned a showstopper feature that should be quite easily implementable using the infrastructure I built around the @defgroup/@group tags. Externally overloaded operators need to be logically associated with the classes they customize in the docs.
  • Dimmu Borgir make some scary music, nordic black metal isn't dead yet.
  • Tempted a great deal to use napster after checking it out at a friend's house, but I still can't get myself to use it. I can't reconcile myself to wholesale piracy.
I expect people to respect the licenses and copyrights I associate with my software, so it seems right to respect those of the distributors of the music. I'll just go out and buy some more CDs instead - that is one of the advantages I had hoped for by going out and getting a real job. Then I'll sit back and try to find some other way to encourage the music distribution revolution.

Wish Baldur's Gate worked under Linux. I guess the upside is that I play it a lot less this way...(ie not at all - can't remember the last time this machine was booted into windows)

13 older entries...

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!