Older blog entries for chakie (starting at number 242)

Whee, I soldered a little S-Video cable last night for the digi TV box. Works excellently, and I can now get rid of some cabling kludges that we've had around the TV. Will start on the little circuit for lighting up some LED:s Real Soon Now(tm).

Otherwise? Not much. We're still pretty busy with finding a new house supplier, ie someone to build us a house. I'm getting pretty fed up at the process, it's damn tedious to compare all the different solutions, whine about prices and try to find all more or less hidden extra costs.

Weekend was nice, we got to see Gangs of New York, which actually was a lot better than what we expected. We went to see it partially because it's a Scorcese movie and prtially because of all the awards nominations it has got. I must say that it probably deserves a few of them. :)

Started soldering some new cables for the digi TV box. It doesn't have S-Video output as a connector, but you can get S-Video from an internal connector, you only have to create a cable for it. With a good description it's very easy. While we're at it I'll also solder upp a little LED display for the machine. As it has no other UI than the TV it's hard to know what the box is up to, so I'll add some LED:s so that we know when it's recording something. It's quite easy to get a parallel port to light up some LED:s, and controlling the port from software under Linux is fairly trivial. The only drawback is that I'll need to add an external connector to the parallel port, and then from that connector again get the wires for the LED:s inside the box. A bit ugly, but the only way I know of.

Civil progress has been slow. Did some fixes to make sure that LOS data is sent to connecting clients. Not too much remains to be done before 0.82 can be unleashed onto an uncaring world. :)

Heavy hacking at work. We're working on a new project, and as always there is a huge amount of activity while the project is still young, fresh and you get to do lots of new and exciting code. :)

Civil

Civil will be made into a multi theatre wargame. This means that it will no longer only simulate the US Civil War, but it'll also add support for battles in totally different theatres. One idea is the Napoleonic battles, medieval battles, Shogun-like battles etc. On the engine side not too much is required, mostly new weapons must be defined, but on the graphics side there is a lot to do. Luckily that's not my responsibility. I'm a code monkey, I can't do gfx. :D

Ho, hum.

Been on vacation this week, not done too much at all. We decided to not go anywhere, as last minute trips were still a bit too expensive. Instead we've spent to week going around house suppliers and interviewing them and learning about building houses and what costs and tasks are involved. Pretty interesting, but very overwhelming. There's so much to think about, so many different costs and issues that make up the final price of a new house. We'll see what we can afford, if anything. If it all gets too expensive we'll either keep the empty land property as an investment or sell it.

Civil has got very little attention this week. I did add some initial code to make the scenario editor a bit more less bound to the US civil war era. Actually any 19th century battle/war could be simulated by very small engine changes, the major work would be with aux graphics. That's again something that I can't do, so it'll all be for later, if at all.

More updates to Civil, now it even has a decent chance of not crashing immediately. Ok, except for one little thing that indeed does crash it is when the "remote" player (the one connection to the server player) selects a unit. A pretty fundamental flaw, but it shouldn't be too hard to fix.

Also need to fix the line-of-sight saving format, the current one uses pickle, and it is frankly dead slow. Like, really slow. Not just slow, but horribly slow. Pickling a little array of, say, 300x300 integer values can take 5-10 seconds. Clearly not acceptable. It should take 1s max. I think we'll use some other form of saving, one that requires some more processing.

We're close to release a new version of Civil as we now have a pretty nice C-based line-of-sight module. Lighting fast and a bit more accurate than the old one. All in all I think we should do a new point release. Civil must be one of the OS games that have longest in development without a stable release. :)

Next week is my first even winter holiday. Will be away from work for one whole (of course paid) week. Fun, fun!

Oh, we actually are buying a little 1200m² property. We should get a house built there within a few years or so. Expensive, but also fun. :)

Been a while.

Civil

Much has happened since the last update. We finally seem to be getting LOS to work the way it should, and also be be faster. A new guy, Cristian, has materialized and he has a lot of good ideas, and above all, code to back the ideas up. We might end up including his LOS-checking C module just because it's so fast and would directly eliminate a big bottleneck.

I'm a bit worried however about including C code, as it has to get compiled somehow on all platforms we have. I know Linux can do it out of the box, but can a OSX or a Windows thingie do it? At least the latter ships with no compilers and absolutely nothing useful in the way of development tools, and I doubt too many have installed a compiler. The other alteranative is to prepare precompiled versions of the module, but that's a big task. We need precompiled versions for all the OS:es, probably at least two Python versions (2.2 and 2.3/2.x by the time we release), which in the end amounts to a decent amount of mdules.

Has anybody else managed to distribute binary Python modules across a large number of OS:es? What's the verdict, is it worth it?

Seems like we can do a new release real soon now, just to show that we're still alive. Three years in active development and counting. We must be insane to keep doing this, most people would've given up long ago, but I think that we need a hardcore OS wargame. :)

Friday at last.

Upgraded my machine last night. Or well, "upgraded" is probably a bit extreme. I replaced utterly obsolete hardware with less obsolete stuff. My G200 made way for a Geforce 2 and I finally added a sound card, a Live. Both work fine and the Linux installation took 5 minutes, excluding a boot to see that everything still worked. Haven't tested the 3D capabilities yet, but they are at least better than what the G200 did in software. :)

Been doing some work on the image viewer plugin to Video Disk Recorder. Seems to progress well, but there are a few things I don't understand. The mailing list and #LinuxDVB @efnet are good sources of help, as are the numerous other old plugins.

Digi stuff

Played around some more last night with my image viewer for the VDR system. I got my code to compile, and it ran and worked on the first try. Amazing! I borrowed the actual MPEG1 encoding code from the Teletext plugin, which uses ffmpeg to perform the encoding. I was pretty sceptic of it ever working. It's not yet perfect, somehow the image has lost some height. The image is shown fullscreen, so it apparently uses all the available scanlines (576), but the lower parts of the image are cut off. Maybe a 100 lines or so are missing. I think the encoder gets fed wrong data somehow, or that my use of libjepg is fubar. More debugging ahead. :)

Misc

Ho, ho, this one is good. We need more stuff like this. Btw, today on the news I heard to following quote, probably uttered by someone like Colin Powell or some other warmonger:

There would be no war if Saddam Hussein resigned from power.

Well, one could say it like this too:

There would be no war if Bush resigned from power.

And the sad thing is that it's utterly true. Maybe going to war is something in the Bushian genes? Something that you have to do before you're a real man?

Keeping my pace of a weekly post here. Not much new though.

Civil

A new scenario file format has now been 90% implemented. The old format consisted of having two XML files, one being gzipped. The first was a short file with general info and the second the main data. I wanted to add an extra binary file too, so the old format wouldn't work out. So we now have a format based on a zip file. The file contains the short XML file, the long data XML file and the binary file, and all is compressed. Using zip files from withing Python is very simple, so data is extracted from the file on demand.

Civil also seems to have spurred some new interest, as seen by a few new folks on the mailing list. Always fun and motivates me to do better code, at least to *produce* code. :)

Digi TV

Made a little weather plugin for VDR, and it works excellently. But it was just a few hundred lines of C++, so nothing complex.

I also started writing an image viewer that is tailored for our needs. That's a much more complex task, and involves doing a few things I've never done in C++ before, such as parse XML, read JPEG and encode MPEG. Reading XML should be trivial, libxml has excellent docs, and I already made a little test app that uses libjpeg to read JPEG. But why MPEG then? Well, the image must be shown in a format that the digi-tv card understands. It does have an OSD, but it is severely restricted in terms of memory, so the OSD can't display images. Thus, the image must be encoded as MPEG and shown using the normal video routes. I couldn't do it on my own, but I found some code that already did something similar, and I'll borrow from there. We'll see if it works out...

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