Recent blog entries for jameson

Semester's over, all finals written, all papers submitted. Finally, Freedom! I'll go back to Germany over Christmas, to morally prepare for my upcoming Thesis work.

Finally got the book commonly cited as GLT89: Girard's Proofs and Types. I've only had a look at the first two chapters so far, but this seems like a good read. Couple of other interesting things to read, too, of course; maybe I'll finally have the time to figure out what exactly inverse co-limits are, what the precise definition of cartesian-closed categories is, and why coherence spaces can describe stable functions even though they supposedly don't form this kind of category.

The project at CU Boulder has officially concluded; our final paper (a very informal, light technical read) is available from the web page. In essence, it worked out quite well. People interested in the technical background behind FreeSCI's new glutton branch should definitely have a look, but I'm not sure if there are any here (still, just in case...)

24 Nov 2002 (updated 25 Nov 2002 at 01:09 UTC) »
The glutton branch (SCI01,SCI1 etc. support) seems to be coming along nicely, meaning that we may have some parts of Quest for Glory 2 playable in the near future. I guess it's time to start worrying about handling palette effects now-- they're already present in QfG2 (EGA-- using a 16 color palette selectable per-image, this was discovered by Lars Skovlund), but they're likely to become more relevant wrt performance in the VGA games (back in the days of color index modes, those were a great way to get certain kinds of simple animations cheaply).

Using per-image palettes sounds like a great way to re-use graphics-- consider, for example, an RPG allowing you to configure hair color, eye color, and complexion. Of all the (graphical) RPGs I've seen, only Ultima Online seems to take advantage of that (although I'd expect other online-RPGs to do the same).

Programming languages
I've been wondering about this for quite a while: It seems reasonable to be concerned about type systems restricting both the expressivity and the effectiveness of programming languages-- after all, the security checks they offer do restrict what you can express, in a way. However, given a statically checked typesystem with (bounded) polymorphic parametrism (offered by safe languages such as Haskell and Modula-3, as well as by mostly-safe languages like Eiffel and the upcoming Java-with-Generics) and ad-hoc polymorphism (aka subtyping-- present in all "object-oriented" languages) (I'm not sure if the latter is all that useful if you have the former already, BTW), are there any practically useful constructs that are particularly cumbersome to express? (You can always express all of them by defining an unsafe interpreter on top of your language, of course, but I'd consider that to be a good example of a cumbersome solution ;-) I can't really think of any, but that may be just because I'm too used to thinking within the restrictions imposed by these type systems (I found it similarly hard to understand parametric types at first, until I used them for a little while and then stumbled across an... opportunity to experienced what container classes (textbook example for using type parameters) look like in languages that only do ad-hoc polymorphism).

So, any ideas?

Types, Proofs, and Books
So the CU library doesn't have Girard's "Proofs and Types" (which is probably what chalst was referring to), it's out of print, and it's not exactly the kind of book you're likely to find in a used-book store. As a relative novice in this area, I'll have to look for a different starting place-- the CiteSeer is unlikely to spit out entire books. Reading papers and articles is certainly helpful, but I'd prefer some solid foundations, in order not to miss out the "well-known fundamentals that hardly deserve mentioning". Any suggestions?

19 Oct 2002 (updated 19 Oct 2002 at 04:00 UTC) »

Studying in the US is... different from Germany. Then again, part of what confuses me could be a particular property of this university; I haven't had classes that lasted only 50 minutes but were scheduled three times a week since, well, the rough equivalent to high school (although, from what I've been told, high school doesn't quite cover the German Oberstufe, but that's only slightly related).

In many ways it could be argued that the United States are weird. Then again, I'm pretty sure that many people from here think the same of Europe, so let's change that to 'different' (think "bread", "butter", "coffee", "washing machines" and "stoves"; then again, they do have things like peanut butter and bottomless cups, so there are upsides as well as downsides). Getting used to people running around with weapons and the government being entitled to kill people is a bit strange, too, but at least they have recycling, bike lanes and a working bus system here (which doesn't really make up for that strange feeling, as I'll admit, but turns out to be more relevant to everyday life).

I'm still not sure what I'll do next, though. There are a couple of Ph.D. positions open here, and students from Darmstadt are rumored to have a pretty good chance at getting them. There are also one or two places I could go to back at home to do a similar program-- although what I'd really like to do would be to go to Edinburgh (to the semantics department), but I guess my chances there would be too close to zero to even deserve logarithmizing. Still, one can try...

pizza did some more work on the sound system recently; unfortunately, my laptop doesn't really do much in the way of sound (except for beeping... hmm... is there an ALSA driver for the PC beeper or something like that?), so I cannot comment on how much the situation has improved.
Meanwhile, I got two projects approved at university-- one to document and bugfix the FreeSCI parser, and one to get extended VM support up and running, for SCI01/SCI1/SCI1.1 and perhaps even SCI32 support (thanks to Prof. Gary Nutt). This should be fun-- working on my favorite FS project and getting graded for it...

People have argued that the academic world is a major contributor to the Free Software world, which I believe there is little doubt about. It's good to experience this first-hand.

Sister's 40th birthday today, and I can't be there (one ocean away). I guess I'll miss a lot of birthdays while I'm here, though.

Programming Languages
A course in programming languages reminded me of how horrible the favorite languages of choice of our oh-so-advanced Free Software community are. Correct me if I'm wrong, but I believe that C, Perl, Python, and perhaps also C++ (and, to a lesser extent, Java) are the most popular picks out there; I've recommended some of them in the past and have come to the conclusion that the quality of these recommendations is debatable.

Sure, it can be (reasonably) argued that the size of the set of modules/libraries/classes available for a particular language (and the maturity of its elements) gives some indication regarding its practical usefulness, but ignoring key weaknesses in a language (such as a lack of type parameters aka parametric polymorphism (which is closely related to "generics" and "templates), static typing, limitation of side effects ("pure" programming style), data hiding or modularity) means that, even though lots of libraries may be available, they may be of poor inherent quality-- a great example for this is Java's lack of type parameters, which means that using container classes requires typecasts (most of the languages given above don't even have static typechecking), or the limited amount of optimizations possible in impure programming languages (since side effects can rarely be estimated in their entirety). Now I'm well aware that many of these things are difficult problems, and that (which is probably a much worse problem) UNIX and Linux are based around C, a C core set of libraries, a C-style dynamic linking mechanism etc., requiring other languages either to scale down (and thus raise the question of whether they do anything but add overhead in the first place) or to re-implement major parts of the library (which people will, in general, be even less enthusiastic about, since it would add even more overhead, unless these other people stop using C programs, which won't happen).

I guess the only alternative would be to make C the language using the wrappers. Although it would be preferrable to have a decent language to build on top of first...

Sorry for the rant, but maybe someone will consider this to be interesting in some way.

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').

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