Older blog entries for chakie (starting at number 201)


I noticed the textarea that is used to input the diary is a little narrow. It's set at 60 columns, and for me that occupies roughly a third of the available width.


Has been going a bit slow these last weeks. Dunno why. I've done some minor coding on combat related things, and it's much fun. :)


I've done some extensive configuration and installing on the box. It now works pretty nicely, and boots really fast. I think the box is the fastest one we have at home now. I've been at war with the TV-out, and lats night I finally got it to work, using new drivers supplied by the VIA support. It's not often product support actually answers requests for help, and usually never that the help you get is actually of any use. Maybe I just have had bad experiences with support before.

Anyway, TV-out works now. The composite out was horrible. For camera images and similar (movies) the quality is ok, but as soon as I had some static text on top of the images I got really bad "banding",ie. moving light strips. The image was pretty useless, so I got an s-video cable and tested it, and the quality is really good. No banding and as crisp and clear colors as you can expect to get on a TV.

Been working on the software a bit too, and it's shaping up pretty nicely. I've done some drastic simplifications to some stuff, and it's now quite easy to add new "states" to it.

Hmm, I should whip up a homepage too.


The Linux kernel driver for the VIA686 chip (not OSS, I think), didn't seem to work too well. I had to rmmod it pretty often, otherwise it would stay mute. The driver supplied by VIA is binary only, and the versions they have are for a few kernels, and of course not for the one I have (2.4.19). So I decided to try ALSA.

This is probably one of the few pieces of software where the Debian packages were much harder to use than the source versions. I tried to get the packages to do anything useful, but the configure scripts just crashed on me (maybe soundcore should have been a module?), so I nuked them and downloaded the source version. Ok, three files to download, a few switches to ./configure and it was all set. Same for the lib and utils packages. Wonderful!

I still have a lot to learn about ALSA, it even took me a while to figure out how to actually get any sound at all. Hint: the channels must be unmuted, it's not enough to just increase the volume. :) The ALSA mixer apps are pretty nice, and they Just Work(tm). I think the settings get reset over reboots, so I have to save my settings somehow somewhere, unless there is a nice way to do it automagically?

All in all I'm quite impressed with ALSA. It's a nontrivial package to install, and unless the ALSA folks had created "Quick install for card X" pages I'd probably be pretty frustrated. :) The page I found just listed the steps I had to perform, and that was it.


Did some more hardware hacking on the box. It is now quite far done. It still needs some small things, like holes for the HD, a hole in the front wall for the IrMan receiver, small rubber "feet" under it and so on. Then it has to be painted. I'm not sure what color to use for it. I'd like something cool, like Onyx or Indigo (I htink the old SGI colors/names are cool). I'd like some deep dark blue color, but good luck finding such a color as a spray paint. :)

Booted it up yesterday for the first time. Well, booted isn't the right word. I started it and entered the BIOS. I need to burn a Debian Woody net-install CD and install tonight. I think that all the stuff like TV-out will work well after all. I've got links to drivers compiled for XFree86 4.2, as well as some help from VIA themselves. Which is kinda nice.

The software is progressing nicely too, although it's not yet usable. Looks pretty lame too, but that's really a secondary thing.


Been lazy for a while. Will start fixing combat code today. msa has been adding some pretty nice line-of-sight debugging code, and Mike will apparently start working on a simple AI client.


Well, I've always wanted to play with this new magical thing called RSS, so yesterday I hunted a while for some libraries that could parse RSS. Found a nice one written by Mark Pilgrim. It's very liberal and has so far accepted anything I've thrown at it. Very nice indeed.

So I hacked up a quick Python-Qt based interface for it, and <href="http://www.infa.abo.fi/~chakie/media/pyrss.png">pyrss</a> is what I ended up with. Less than 100 lines of code, and you can even click on the URL:s. I do however need to add some extra dialogs there so that the user can add/remove feeds, set the update intervals, set the browser to be used for viewing links and some other things. Right now it uses a hardcoded set of URL:s, and does no updates (ok, that's a simple timer).

I'm not too familiar with MIME stuff, and when clicking on the links the QTextBrowser emits a signal linkClicked() that I catch, but it also prints out the following errror on stdout:

QTextBrowser: no mimesource for http://www.kernel.org/

I don't know what to do about that, and the QMimeSource class documentation is a little bit lacking. It doesn't even tell what the classes are for. I expect you have to be an expert on MIME stuff before you understand what it means. I don't care too much about the warning, but my text window (the QTextBrowser is cleared, apparently it expects some MIME data to fill it instead. I don't want it to do that however. The text should just stay where it is, the browser be launched (works ok) and that's it.

Will have to look into this later. But for now it seems to work ok. I think I'll integrate this into MediaCube later.


Sad, sad. Iraq has given in to all demands, and still the US thinks they have to be bombed. "look, you know, like they are kinda bad guys"... I think there is some election coming up in the US, and a war is needed to get voters? So Iraq is not a thrustworthy negotiation partner? Well, the same could be said about the US and its backstabbing of the Kyoto treaty and thus endangering the whole globe.

The best thing for all would be a solution where Bush does not need to bomb women and children, but can still come out without losing face. He's driven this so far now that cancelling the war seems to be pretty hard.

Hmm, who gave Saddam all his weapons in the first place, 15-20 years ago? Same for the taliban? :)

Enough politics. I'm happy we're such a small shitty country over here that we can't fiddle with other countries even if we wanted to...

I stand corrected. apt apparently doesn't follow redirects by design, and thinking about it, it seems wise. The error that apt spits out (302 Found) could have been slightly more informative, such as "The site foo seems to be redirected to bar, and apt will not follor redirects", as most of us still don't use HTTP return codes in their daily life.

After understanding this I got the repository working fine, although I noticed that the packages I've made have incorrect dependencies. Oh well, one can't get everything at once. :)

gilbertt: yes, that works just fine. Why doesn't apt do it? As I understand it the server says that "the site is somewhere else, here's an URL, go get it". I think apt should be able to use that redirect, or at least print a sane message. I had no idea I should even be looking at HTTP response codes. :(
12 Sep 2002 (updated 12 Sep 2002 at 10:31 UTC) »

First shots of the not-yet-completed case are here. I still have a lot to do, but part of the grunt work is done. It's fun to do something real, and not just code. I'm not too good at the coding part, so it's nice to see at least something work out. Tonight I'll see if I get the TV tuner to fit in with the back panel too.

Unfortunately it does seem that the drivers for the Mini-ITX board for Linux are crap. It seems that VIA has created (or maybe just link to some contrib drivers) drivers for the Trident graphics chip, but the drivers are seriously out of date. Of course they can now say "hell, we've supported Linux, so shut the fuck up". Sure, you've "supported" and ancient version of XFree86 that would give me enormous amounts of problems to try to track down. For crying out loud, there is probably not much more to do for VIA than recompile the driver for newer versions (not plural) of XFree86 and run the normal tests to check that it works. Of course they provide drivers for every single version of Windows, with great support. I feel so betrayed by VIA, but I have only myself to blame. I shouldn't have trusted VIA's marketing and should have thoroughly checked and validated every single claim they made about Linux drivers.

Now I'm in a bad mood. So let's continue with the next rant.

Debian apt repositories

How damn hard is it really to creat a little custom repository with a few packages in it? I've spent a few hours now tweaking my repository, and it just won't work. I've followed the APT-HOWTO, and it has a nice step-by-step guide for how to create a repository, but it just won't work. apt-get update gives me a weird (undocumented, of course) error when I try to fetch the package listing. From the error it seems there is no error. I've tried all kinds of permutations on the directories in both the sources.list entry and in Packages.gz, but nothing works. I get:

Err http://civil.sf.net ./ Packages
  302 Found
Ign http://civil.sf.net ./ Release
Failed to fetch http://civil.sf.net/download/debian/./Packages  302 Found
Reading Package Lists... Done
Building Dependency Tree... Done
W: Couldn't stat source package list http://civil.sf.net ./ Packages (/var/lib/apt/lists/civil.sf.net_download_debian_._Packages) - stat (2 No such file or directory)

And other similar. Seems the error 302 Found means that there is no error, as it has found something? A slightly more verbose error message could maybe be nice? The other errors below that one are probably because apt-get couldn't find the package listing, and the local listing update fails?

I don't know, I'm just so disappointed. I wanted to make something that makes it easy for our Debian users to keep their game up to date, I don't even want to make something that would work for official Debian. I must be a moronic idiot when I can't get this to work.


See above. No repository yet. :)

Update! gilbertt: yes, that works just fine. Why doesn't apt do it? As I understand it the server says that "the site is somewhere else, here's an URL, go get it". I think apt should be able to use that redirect, or at least print a sane message. I had no idea I should even be looking at HTTP response codes. :(


Seems that doing two entries on the same day just silently nukes the old entry without any warning? Evil. I normally don't go to the recent log page to read my own entry, but this time I did, and I noticed that my 3hrs older entry was obiliterated. Some Back clicks later I got to see the old text, so maybe I can salvage it. I put so much love into my rants, I don't want to lose them...


0.81 is out. This is a very little step feature wise, but a milestone stability wise. 0.80 didn't work well on Windows, not too easy on OSX, better on Linux, but all platforms had Civil come down in flames if you had the wrong version of Pygame. We now require 1.5.3, as it has a few fixes that are critical. msa and TheCorruptor have worked very hard with this release, and I'm quite proud of what we've achieved. Still lots of do before 1.00, but at least I am in no hurry.


Civil has been steamrolling ahead since last Friday when we put out 0.80. Huge amounts of bugs have been fixed and half-done features completed. We've also made it a lot easier to get running on Win32 and OSX (for which we'll even have packages soon!)

I think we'll put out 0.81 within a few days. I'm for a change very happy about the progress as we now get closer to 1.00 every day. I hope TheCorruptor does the merchandize he said he'd do when we reach that magical number. :)


Last night I did the first real hardware hacking on the case for the box. I glued a few walls together. Man, that glue is poison. It glues excellently, but the smell is really awful. For this thing I really take the poison warnings seriously, and won't stay in the room for any longer than strictly necessary. It's a great thing that our apartment house has a cellar where I can do things like this, and just leave it. I could never use such a glue in our apartment.

TheCorruptor found Freevo, which is a free TiVo system. Looks very nice! It also does/will do 90% similar stuff as my box, so it's a bit of a shame I didn't find it earlier. Could've saved me some work. Now that I've worked so hard on my software I'll use it anyway. We also have a lot of very specific stuff that couldn't really be integrated into Freevo. And I suffer from NIH too. :)


movement: doesn't the class QSocketNotifier work as a replacement for select()? I've found it most excellent when dealing with Qt and I/O. Your other problems I have no idea about, have you tried the mailing-list? It used to be a very place, back when I did much Qt work.


A lot of stuff has been done for Civil. Many bugs have been fixed, stuff simplified and new features added. All in all a very productive era. A bit of a shame that the packages we did for version 0.80 contained a bit buggy code, but we knew we'd not be able to get it all right the first time. So we're contemplating putting out a 0.81 with the most evident stuff fixed.

TheCorruptor hacked up an OSX package too, which is nice. We actually have a game that runs (more or less well) on Linux, OSX, Windows and probably any other platform that Pygame runs on (BSD, other versions Unix etc).

We've got some nice comments about Civil though, which is nice. Working on something for 2.5 years more or less secretly can make you a little bit bitter at times. We'll now put out packages more frequently on the final uphill battle towards 1.00. :)

It's my 30th birthday today. I'm old now, and have begun to look back at my unachievements in life. Not a good day.

Civil has reached version 0.80. We now even har a tar.gz, deb:s, a Windows installer and RedHat rpm:s are coming this weekend. It's been a good day. :)

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