Older blog entries for taj (starting at number 20)

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)

Finally upgraded to Zope 2.3.0 at work, I really like it. For example the GenericUserFolder stuff is a godsend, I wonder why it took till this release to add something like that. Most "serious" zope apps will have their user data and/or authentication routines external to the zope object db (eg PAM or RDBMS). ZPatterns is also looking good, I wish I had some more time to fiddle with it.

I'm trying to think of ways to help sell Zope to my colleagues in the ecommerce business. The most common comment I've heard is "if it's so good then how come nobody's using it?" It's even more annoying that so many people who choose to be professional software developers are so closed to learning new stuff. I used to think that my reckless appetite for technical information was normal in this business, but after seeing so many people close their minds to learning their tools well...

I've begun to use Qt's signals and slots quite heavily in my python app. It's often overlooked that signals and slots are a nice way to build OO frameworks (GUI or non-GUI) using very loose coupling. In this case I've implemented a nice MVC system, with coupling between controllers and views and other controllers done via signals and slots. I'm hoping to show it off at my PyQt talk next week, so if you're reading this and are in Melbourne on the 27th, come down for the LUV Programmers SIG meeting. :)

Speaking of speakings, Telsa was nice enough to put up the notes she took at my LCA talk. Now I have to turn this into something less rambling and disorganized than my talk. Next month...

Self pity. (aka "Oh Woe is Me!") Can't say I like the whole song and dance about the Ximian/google/KDE thing, but there is no question in my mind that ad is rather tacky. Even two years ago, who would have thought that free software project rivalry would come to this?

OTOH, It's an unwitting admittance from Ximian that their business model depends on the demise of KDE as a real desktop contender, which is quite scary.

I know I started hacking on KDE back when it was first announced because I loved Qt from the moment I wrote my first cheap little mandelbrot set viewer. I never thought that I'd get involved so deeply with the dark underbelly of free software politics and feuding.

("Are you the Judean People's Front?" "We're the people's front of Judea!"... "Whatever happened to the Popular Front of Judea?" "He's over there")

Watching this stuff is very demoralizing, and takes away some of the pure enjoyment of programming for its own sake.

Still, one can't but help feeling defensive about a project into which one has sunk thousands of hours, even if my initial goal was to enjoy programming for programming's sake.

End sob story. I'm enjoying Python and Qt a great deal, and have been getting in to work quite late as I've been staying up and hacking on finans/finanswers/fin...blah blah (why is it so hard to come up with a name for a program? I've never had this problem before...). Having an SQL engine in the form of gadfly built into the app, even discounting gadlfy's limitations, proved to be a good decision. I'm proud of me.

When faced with many things I wanted from QListView (eg in-place editing), I was lamenting the lack of something like Delphi's TStringGrid component in Qt when I found QTable/QTableItem. What a great widget! Better than T*Grid in every way, and infinitely customizable. Reggie really did a great job on this. The Trolls hit a goldmine when they hired him.

On reviewing this entry, it seems I will continue to use cliches in my diary entries till the cows come home.

11 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!