Older blog entries for jameson (starting at number 31)

Have been certified as a Master. While I'll admit that I'm flattered, I have to point out that this rating is silly (please refer to the certification guidelines-- No matter how much I'd like to, I do not work full-time on Free Software; the other points are more vague but don't apply to me in general, either).

On an unrelated note, I'm now in the lucky position of participating in an exchange program with the University of Colorado at Boulder. I won't go into detail about the various "accidents" and "voluntary cancellations of applications" that occured to the other applicants here...

So I'll be spending 8 months in the US of A now, starting in mid-August. I've been told that I might have to pay an additional $275 in order to allow the university to monitor my movements more precisely (as if this would be of any relevance to my plans for World Domination), thanks to some weird new law.
Suffice it to say that observing the US from within is probably going to be a major change of perspective...

Anyway, is anyone from UCB an (active) Advogato member?

Very little in the way of news, unfortunately, except for some bug fixes, cleanups, Adlib emulation, and the beginnings of a Dreamcast port.

Hey, looks like someone's actually reading my diary entries ;-)

Still closer to the release. IMHO, the UNIX part is done now (thanks to the remains of the Compaq TestDrive compile farm, I could test this one on a few new setups this time. 'Test' as in 'compile and run ./freesci -h', because they don't have X11 forwarding. Oh well.). However, support for Win32 seems to be broken; since I don't have the equipment to test or the knowledge to work on that, the release will have to wait for the Win32 porters.

Meanwhile, anyone sufficiently bored to try what is likely to already be 0.3.3 as far as non-Win32 is concerned can try this here.

cactus: Glad you like it! I can't seem to reproduce the problems you're having here (FreeSCI halting for a short while and CPU usage increasing dramatically) and haven't received any similar bug reports yet, but this sounds interesting (at least from the point of view of someone who's been fixing collision bugs for the last week). I'll contact you per e-mail, since advogato probably isn't the best medium to use for bug hunting...

Well, it's been quite a while since the last update once again. I am certain millions of advogato readers have been anxiously waiting for a new one... oh well... who am I fooling... if not even I bother to proof-read it, why should someone else care about what I write?

Anyway, many things have changed, so this might get a little lengthy. Here it comes...

New computer
Yes, I actually bothered to buy a new system recently (named it Asuka), to do stuff my "old" box didn't really handle well. It has built-in graphics accelleration, hardware DSP mixing etc., but it came shipped with a proprietary OS which I still have to replace (or, at least, partially replace, for dual-booting) with Debian. It's probably one of the fastest of its kind available, an Amiga 1200 with a Blizzard IV turbo card. sic. Now I have an Amiga and an Alpha. I guess I'd start buying Betamax hardware if I had a TV.
Anyway, it'd probably be a nice little system if I'd take a day or two to get it into shape, and I'm quite looking forward to doing this once the semester is over. It's a bit hard to use without manuals, though; I haven't even found an easy way to enter the shell yet (short of starting to boot, then removing the disk I'm booting from).

FreeSCI: New Release
FreeSCI 0.3.3 is actually going to be released shortly. This is one free software project with a highly erratic development cycle...

hasn't seen much of me lately, which, despite probably being better for it, is rather unfortunate, IMHO- I'm still hoping on "fixing" it for building on DEC cxx this weekend, but it's just a vague hope.

New currency
Here it comes, the Euro. Shiny new coins, looking a bit like the newer 10 Franc pieces. The notes are a bit too colorful for my personal taste, but I thought the same of the new DM notes when we introduced them a few years ago; I'll get used to this just as I'll get used to having an EUR 0.2 coin.
Of course the Euro isn't just a new currency, it's a political event as well. It's up to TPTB now to use the momentum they've generated to push any pro-Europe agendas they might have in store; let's just hope those agendas will be something better than certain "Anti-terrorism" laws introduced by opportunistic politicians recently.
Bright and shiny they are, these Euro coins, not as scratched and dirty as the other coins I'm still carrying around. I wonder how they'll look in a few years.

So I've actually seen it now. I've always wondered whether it's possible to take a book of the narratory depth of one of the LOTR's parts and turn it into a movie- a long one, of course- whithout missing a lot and still having to rush everything.
Now that I've seen one of the best directors around try it with a very large amount of money at his disposal, I'm pretty certain it's not.

Just returned from it. Southern France is a great place for people who enjoy beach-style holidays, with sunny weather, refreshing breezes, great food and mostly acceptable prices (It's not Poland, but it isn't Switzerland, either). Unfortunately, being naturally receptive to sunburns, I'm not particularly into lying on the beach all day, but it was still quite entertaining- while the area may be lacking the inns that tend to mark places well-suited for hiking and no major (> 250m) height differences can be found there, it's still a fun place to just wander around and explore. Still, next time I go on a vacation I should take the time to learn the basics of the native language spoken in the country I'm going to- while not being able to understand even some of the most basic signs and phrases is sufficiently embarassing already, having to fall back to a third language (usually english) is downright impolite. At least IMO. Although I'd be the first to admit that the necessity to visit a bathroom wins over politeness most of the time.

10 days without net access. And while I'm away, HP buys the big Q, the Andromeda TV series starts, and an utterly insane amount of e-mails piles up in my inbox. Ten days sure are more than they used to be... I blame time dilation. Time has been slowing down perpetually ever since we started collecting information in information networks. The conclusion is obvious- information has a negative mass, thus we're building a white anti-hole now.
And now for something completely different. claudio: You do qualify for a 'master' ranking- you've worked on a wide variety of Free Software projects, both commercial and non-commercial, in user- and in kernel space, both contributing and leading development, on a large number of platforms, in war and peace, above and beyond the call of duty. Besides, you like Pokey the Penguin. Anyway, you have a much better idea of what you're doing than I have [of what I'm doing], and this ought to be reflected in some way.

Time to start focussing on a new release. I've been told that the Win32 port has been improved in some major ways, but I'd prefer it if there were more updates to the UNIX side than just bugfixes. Well, it's not as if there was nothing left on the TODO list, but starting something grand and new doesn't fit particularly well with "focussing on a new release"...

School project
Working on a communication protocol for this thing (page in German) here. It's a, well, bike of sorts. And it's stuffed with an insane amount of technology (No, you won't be able to buy this thing any time soon). We were originally planning to use one of Compaq's iPAQ systems (running Linux) to act as the speed indicator and general configuration management system (allowing centralized parametrization of the devices connected over the bus), but Compaq's reluctance to support us and their recent troubles may force us to fall back to a different device.

Exams are next week, so please bear with me if I take a little longer to reply to non-urgent e-mails. Unfortunately, a friend convinced me to visit LinuxTag on saturday, so I loose yet another day.


    I'm going down to Stuttgart, gonna have myself a time
    Friendly hackers everywhere, making code and presentations
    going down to Stuttgart, gonna leave my code behind.
I'm wondering if I'm going to meet anyone I know- a few people from the local LUG appear to be going there, but I haven't met many of them physically, so this isn't really going to help. Maybe there'll be a few names I recognize at the Debian booth...

Graphical web browser
Wo-hoo! I finally have one of those for myself! The thing I have is called 'Konqueror'. It appears to be a bit unstable- segfaults every third URL or so with a warning that the received header has a size of -1- but, otherwise, it's nice, particularly for a first version. Wonder why it says 2.2something, though...
Kudos to Chris Chimelis and RevKrusty for getting it to work, BTW!

Requiem for the Alpha?
This doesn't look good, particularly if they guessed the buyer correctly. I believe that IA64's an interesting addition to the 64 bit marketplace, but it is not a replacement for the Alpha. Intel will think differently, of course...

Spending most of my time on university stuff lately, so there's not much going on development-wise. With some luck, a university project might turn out to become another addition to the Free Software world, though. OK, to be honest, it's the other way 'round- I'm trying to get a piece of code I'm working on to be accepted as a replacement for a much more boring project I'm supposed to be working on.

GCC 3.0's out, and I'm supposed to be happy. Unfortunately, Compaq's (soon Intel's?) cxx is faster by an order of magnitude. I haven't compared the code quality yet- neither compiler manages to build Mozilla or the kdelibs on my box, and I'm not really in the mood to do benchmarking.

Since the last update, I went to the theaters exactly four times: Twice to see Mononoke Hime, which I highly recommend- the German synchronized version is surprisingly good-, once for Perfect Blue, which wasn't bad either, and once again for The Mummy 2 (Or whatever the official title is), which I didn't enjoy quite as much as most of the others I talked to. It had a few nice ideas, but it was just too cheesy ("Hollywood-ish") in places.
Anyway, I think I'm going to skip Perl Harbour- according to two reviews and one oral report, it's apparently not worth watching. Not quite on par with Saving Private Ryan, Das Boot or Hotaru no Haka('Grave of the Fireflies').

Frightening news from claudio: It's back! With a vengenance! It's got the Star Generator, and it's probably trashing Mega-Tokyo (no, not Megatokyo) right now!
It's definitely great to see this project (one of the original motivations for starting FreeSCI) resurrected. However, the URL would appear to be slightly different than indicated in the original post- the other project referenced looks interesting, too, though...
I still think the new FreeSCI gfx subsystem (which desparately needs a name!) can be strapped onto Sarien. It'd probably add some overhead, but it would allow Sarien to take advantage of all of FreeSCI's graphics drivers, such as GGI, and... uh... the Xlib driver... and... the partially implemented SDL driver.... OK, still, there might be some benefits, such as trilinear filtering, or maybe some performance improvements on system with more memory. Or maybe not. But it'd be something I should try eventually...

/dev/sequencer doesn't like me. Somehow, we run out of partials (voices) much too soon, even though a sufficient number of note-offs (MIDI 8x... or was that 9x?) are sent. Also, far too many gfx optimizations appear to be hitting worst-case situations (especially noticeable in the HQ character setup screen). Don't like that at all.
A few interesting suggestions regarding extending SCI have been suggested on the IRC channel, mostly regarding BSD socket support. Personally, I think a more interesting challenge would be to extend the interpreter to have 32 bit support without breaking the existing 16 bit code. Anyway, general interest in using SCI for new stuff bodes well regarding Brian Provinciano's SCI development thingy. Don't think I'd want to use a 16 bit interpreter for a new project, though...

Interpreters and virtual machines
I got an interesting mail from someone who slightly mis-judged the order of magnitude of FreeSCI and wanted to pit it against Java and .NET. He was rather persistant with this, especially since, as he pointed out, a proprietary VM called ICVM was much faster than Java on his system. From what I can tell, ICVM looks like a more register-based approach (like Dis) with a highly CISC instruction set. Due to the CISCness, the interpreter overhead was supposed to be rather small, making a JIT unneccessary.
However, the design of ICVM looks rather PC-centric- most of its registers are 32 bit, and it only has 6 general purpose integer and 3 general purpose floating point registers (On most architectures, you could play Space War in the remaning registers without this noticeably affecting performance...).
Anyway, the main point he was making was that there ought to be a free VM design around. Creating a good real-life VM would certainly be an interesting challenge, but I'm not sure whether it'd help Free Software in general- after all, it would just encourage people to keep their stuff closed again. Then again, it might help making non-mainstream platforms more popular, which might turn out to affect the BSDs and GNU/Linux positively... Of course, the amount of work needed to create something in the order of manitude of Java would be immense. A more sane starting point would probably be to start off an existing project (such as Python) and use its libraries, tweak its VM for performance, and write a gcc backend for it...
Well, I guess I'm spending too much time thinking about this- a project of this kind couldn't happen without massive interest from a group of powerful hackers, and I don't think we'll see that.

Looks like Exult will be going into Debian's contrib. IMHO that's pretty good news, but I'm not certain whether the auto-built Alpha port will work well (since they're probably building it with gcc rather than cxx).

Watched the first ten episodes of Cowboy Bebop for the third time (with a constantly increasing audience). I do have the third DVD lying around here, but, not having a DVD player myself, I'll have to wait for other people to have some spare time in order to finally learn what happens after Ganymede Elegy...
Mononoke Hime is going to be shown in our local theaters RSN. Only two more weeks or so...

Eventful 1.5 weeks lie behind us now. The most interesting part for me was the new bug tracking system- this was my first real-code encounter with Python.
One of the other interesting problems was how to deal with badly behaving single-user code. SCI games sometimes loop over the GetEvent() system call without explicitly waiting (they didn't have select() or anything like this). It's not unlike the "repeat until kepressed;" thing I used to do back in my Turbo Pascal days, and it sucks about as much. FreeSCI tries to trap it now by using the most obvious route- it keeps track of calls to functions which wait explicitly or retreive time values, and, if none of these was called after two subsequent GetEvent() calls, it executes a "penaly sleep" period. CPU usage in some sequences dropped from 1.25 to 0.22, so this appears to be a useful optimization.
Traffic in the IRC channel has increased significantly. It's fun, of course, but IRC can easily distract from doing real work (although this doesn't appear to be a problem for most developers yet).

This appears to be pretty much the most convenient language I've used so far. From what I've heard, its integration into C appears to be pretty good, too, making it a good choice for scripting languages. Of course, it still has a few things I personally consider problems:

  • Indentation rules. Changing control structures sometimes becomes a battle between me and EMACS' tabbing rules. Also, they doesn't help with automatically generated code (this may not be what Python was designed in mind with for, though).
  • list comprehensions and static lambda expression evaluation are missing. I know, they're in Python 2.1, but that doesn't help much until the licensing issues have been resolved (alternatively, those could be counted as the problem).
I still have to check out some of the other functional languages around to be able to judge it more appropriately. However, I agree with most of the other opinions regarding it that this should make an excellent teaching language, and, thanks to its extensive libraries and C integration, a good language for general purpose programming and prototyping, too.

Rumors about Samsung ditching API are about- don't know what to make of that yet... OTOH, Samsung has information about the upcoming UP1500 board on their page, whereas I can't find anything about it on API's page...
Anyway, if we disregard politics for a second and examine the specs, this looks like just the board everybody and their 400W power supply have been waiting for: Compared with the UP1000, memory bandwith was doubled everywhere (more than doubled in some places, IIRC), including AGP, and it comes with SRM rather than AlphaBIOS by default. Seems to require an EV68, though, so I'm left to drool...
But back to programming: For some reason, Compaq's ccc appears to have problems if people pass more than 6 parameters into inline assembly blocks. This breaks the current alpha blending code, of course... Any ideas?

Well, it's been a while...

Slashdotted! Somehow, I had expected to rise to a higher level of awareness, or something like that. Well, can't have everything.
Anyway, we now have sound, tri-linear filtering (plus something I used to call bi-linear filtering which definitely isn't), alpha-blending on Alphas (see "Assembly" below- it's just a feature, so I didn't feel too bad coding this non-portably), and lots of bug fixes. I guess it's time to prepare for a feature freeze again...

Haven't touched that project in a while, but will get back to it soon- they're gearing up to the next release, so I'd better make sure cxx works.

It's been the first time since roughly two years that I touched assembly again, and it feels quite weird. The Alpha instruction set is so much different from the ia32 one I grew up with. With all of its extensions, it's not quite as clean as the original MIPS one, but the core concepts are pretty clean and RISC. I definitely don't mourn my ia32 assembly days.
It's really a pity that we (well, most of us, anyway) are stuck on the ia32 architecture because of "binary compatibility" issues. Shouldn't it be possible to do a complete flow analysis of a program, transform it into a device-independant representation (java bytecode comes to mind, although I'd prefer something more functional and tree-like... maybe RTL?), and then re-assemble it on an arbitrary target device? Sort of a ia32 compiler frontend.
Normal compilers generally have to make some concessions towards code generation; specifically, they need to be reasonably fast in order not to slow down the development cycle (used to be a major problem before harddisks and compilers with few passes became common- those advances pretty much killed off research in incremental compilers, but that's a different story). However, a cross-assembler would typically be run on a program that is known to be working already; therefore, if the cross-assembler itself was fully operational, it would not be required to be run more than once for each program; consequently, it could be slow as hell (hey, it should be possible to get Prolog to do that stuff by back-tracking...). External functions (e.g. DOS: Int 0x10, 0xa000 memory access) would still have to be modelled in some way, of course, but I don't see why this shouldn't be possible if we accept a moderate performance loss. Has anybody heard of a project like this?
Anyway, this is too much work for a project for the evenings; maybe I should look into this (or the theoretical aspect of it, at least) for my Master's Thesis...

Yeah, I'm back at work again. XPath, XSLT, Java, some business buzzwords, and roughly everything in between. This in itself would be pretty boring, but I just love the work atmosphere- being a research institute, we have enough time to think about things before we build them, and our bosses actually have some clue about the stuff they're doing (or, at least, are able to admit it and ask for help if they don't, which appears to be a surprisingly uncommon feature). Anyway, I got to install Debian/Sparc on a Sparc notebook (which didn't have working fd support). A rather fun and enlightening experience, until I got to the point where it turned out that 'sed' would segfault on complicated stuff, such as the stuff done in configure scripts. OK, NP, just grabbed the most recent release from the GNU ftp server, ran ./configure...
OK, well, maybe it wouldn't be quite that easy. Still, a manual compile didn't really improve the situation- it built, but it segfaulted all the same. So I took the BSD sed and tried to compile that. This was the moment where I realized that the BSD people care for OS independance in their system tools about as much as the GNU guys do...
Anyway, it works now. Anyone who wants a copy of the ported BSD sed, just give me a call.

"Retro gaming"
(Warning: Rant ahead)
That phrase sounds pretty weird to me. It's implication is that the games it covers are "obsolete" in some way, that they're more of a historic curiosity than an actual game.
I beg to differ.
Don't get me wrong- I whole-heartedly agree that there are great games with much better graphics and sound than, say, Space Quest 3 or Ultima 7, and that some of those games are actually fun and challenging.
(Of course I've grown somewhat out of touch with the "gaming community", so I'll just assume that there are any new games which fit that description...)
Still, how does that obsolete those old games? I mean, chess or Go are ages old, however someone playing them is not considered to be "retro". Some games which are only a few decades in age, though, are looked down upon, people generally assuming that a WAFF might be the only reason to re-play them.
I guess this is yet another sign of how much power advertisement companies, marketing divisions, and mass media hold over us nowadays. They don't need to convince everyone, but if they convince enough people, those will convince others. In this case, they'll convince them that they need those great new graphics and surround sound, or they're stupid.
Dealing with this kind of mental enslavement is likely to be one of the greater challenges of our future (and no, I'm not just talking about "retro gaming" here...)

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