World Jump Day Idiocy


I can’t believe how many places I have seen the link to World Jump Day this weekend, and how many of those take it serious. Has everybody been sleeping in their elementary physics class? This isn’t rocket science.

My own proposal would be to build a big rocket and launch all these people into the sun. I’m almost certain that this would cause a positive change in course of the world.

Only in Norway

Well, I guess they have these in other places, too. I’ve just never seen one before. It’s a separate trash container for syringes, which makes sure that once the syringe is in, no playing children or really desparate people can get it out again.

Like I said, it’s the first time I see one of them. I was doing a cache near the Oslo public library a few weeks ago when I found it. Took the picture mostly for April’s benefit.

Competition Pro USB and the Future of Retro

Retro Gaming will one day be an industry, I am sure. Everyone in my generation has wonderful memories of their favourite C64 or Amiga games. Or Apple ][ and PC/CGA if you are a lamer like me who had one of those.

But face it, we can’t play these games any longer. Years of brainwashing by the games industry has conditioned us to get dizzy looking at anything less than 24 bit color or listening to less-than-surround sound. We may get out the old emulator to play a game or two for old times sake, only to note that our memories are so much better than the actual games, but surely we would not buy those games today? You can’t play anything from the 80s for more than a day. But how can we love something so much and still hate it?

But then there are games like Space Tripper or Mutant Storm. Follow those links and buy them now. You can read the rest of this when you’re done. These games capture the essence of what was good in the old games, but they do not force 8 bit sound and 4-color graphics down our throat. This is what I’m talking about. Good game concepts in a nice audio-visual package, at a price anyone can afford (in this case, $14.95) I want more of these games. Please, go and make them! And I don’t mean none of that shareware shit you slap together in a week.

I believe that there will one day be a larger market than today for these kinds of games. Game concepts from 20 years ago, with today’s production quality. Someone has to make them and, more importantly, sell them.

And to play these games (and the C64 games on VICE), I will need a Competition Pro for USB. It has been made, it is being sold. All I have to do now is to find me a norwegian importer.

PS: Wizball still rocks!

Computer Game Quiz #2

If you’re a real gamer, take the test here.

I couldn’t resists. With the help of the folks on #eressea, I made my own list of classic games to remember, and here’s the result. 40 classic games. Can you guess them all? Leave a comment with your score, please don’t post any spoilers. Or use rot13 if you must.

This was so much fun, I’m already working on a second list of 40 games 🙂

New and sexier URL!

The URL of my blog has been dependent on the machine it was on for a long time, because I was afraid of change. But I figured there simply aren’t that many people reading it anyway, so who cares if the location changes. The new URL is http://enno.homeunix.net/.

Technically, homeunix.net is one of the domains available for users of dyndns.org. You can have a subdomain for free, and they take care of the DNS magic for you. All you have to do is tell them what IP your server is using. It doesn’t matter that it already has another name. It can even change its IP frequently. Mine doesn’t, but at some point, I might move the whole site, and all I need to do then is update the IP at dyndns.org.

The apache server on eressea.upb.de that hosts my web pages was told to react differntly to requests for enno.homeunix.net, via Virtual Hosts. This has become a breeze to configure with the Apache2 in Debian. All I had to do was create a new file in /etc/apache2/sites-available, insert a few lines, and link it from /etc/apache2/sites-enabled.

Finally, I also made a quick mod_rewrite rule so requests to old urls stay valid but get sent to the new address. And while I’m aware none of this is magic, I’ve just never done it before and I’m surprised how easy it was.

Do you know Computer Game History?

This Quiz asks you to guess the name of the game from a piece of a screenshot. How good do you know your history? Are you old enough to remember the C64?

I had trouble with 5 or 6 of them, but with the help of a few colleagues we’ve managed to get the whole list, even the exotic ones. How many can you do? If you need a hint, just write a comment with the ones you’re struggling with – I needed some serious help with 26, 27 and 36.

And yes, please comment more. I’m always happy to see that somebody reads my drivel. Just please don’t post open spoilers for this one, or if you really want to, at least use rot13 to encrypt them.

Thanks to Kjetil for showing me.

Dosbox – playing classic games on windows

I was complaining loudly today that Windos 2000 no longer plays my favourite game. Kjetil recommended dosbox, an open-source emulator that emulates an entire x86 PC with DOS, and runs just about any old game. It even runs on Mac OS and Linux. So I tried it and lo and behold! Another World runs like a charm. Now I can play through it again, for the fifth time or so.

Now if they would put the hq3x filter into dosbox, like ScummVM does, this game could look even better. I wonder who I’d have to kill to get that done. Oh, and Eric Chahi, please let us have a Windows version with better resolution. I know you must still have all the sources.

I still have a bunch of old DOS classics (like my Wing Commander II, on 5.25″ disks) that I remember fondly. But I doubt I”ll play them even with dosbox – the memories are usually better than the games.

What computer language should we teach?

Young people occasionally ask me whether language X is something they’ll need to make computer games, or what they should learn if they want to become programmers. And what language should we teach in school?

I learned UCSD Pascal in school. When I came to university, freshmen were taught C++, and by the time I was in a teaching position myself, the language of choice at almost all universities had changed to Java, so that’s what I taught.

Last year opened my eyes a bit, though. I was interviewing prospective new employees, and several people fresh from school. A lot of candidates were weeded out because they admitted to knowing only Java – and despite numerous claims that this would happen, we still don’t make games in Java, and neither does 97% of the rest of our industry. C++ is the language.

While that was expected, the next group of people we weeded out were the ones that said they knew C++, because they’d taken it for extra credits in school, but still wrote most of their own stuff in Java. Some of them managed to get through to the interview, and failed our C++ test. And that’s where I realized, C++ is so significantly different from Java that it might be a really bad thing for us to teach students Java in school. It’s easier to be a good C++ programmer and then learn Java – beacuse in terms of things you can fuck up, C++ is the bigger problem, but if you master it, Java comes quite easy.

Schools like Java because they can skip over the whole issue of pointers, memory, headers, makefiles, templates and the general nastiness that comes with it. But frankly, if you never hear about memory allocation, pointers and makefiles, it’ll come as a huge surprise to you, which you then treat in one of two ways: you avoid it, and go back to Java, or you try to ignore it, and end uop with really, really bad C++.

Personally, I’d teach people some C first. The pure stuff. I can avoid talking about objects in lesson one (because printf is quicker to explain then std::cout and it’s crazy syntax). Something happens really fast in your program. Memory allocation, headers an Makefiles will appear just like they do in real life. And then, when that’s understood, I’d introduce C++, and when I then explain about templates, containers and classes there will be a collective sigh of relief, just like we sighed it when C++ first appeared. But the students will know that underneath, memory allocation still happens, linked lists are still linked by pointers, templates mean big, big headers, and Makefiles are a bloody pain.

Two things that Java doesn’t do well: Staged delivery of the concepts (instead you get them all at once just for a Hello World) and an understanding of the inner machinations.

Software for my precious

I spent this weekend organizing a high-speed game of Eressea, and the noise from the PC running all day long drove me crazy. I have a fan to replace the loud one with, but couldn’t bother putting it in (it needs soldering).

So I shut it down and booted my precious instead. It’s an old Pentium 166 with 64 MB of RAM, and it’s super-silent, with just one tiny little fan.

Compaq Armada 7350. 166 Mhz, yeah baby!

Of course, it doesn’t run any decent software anymore. When I bought it eight years ago for what would now be now 2100 Euros, it came with Windows 95, and that worked fine for a long time, but we all know the expiry date has long gone, and Microsoft says you should be running XP instead, only we’re sorry, it won’t work. So I installed Debian on it. I got drivers for everything in there (well, no sound, but that’s not a driver fault, that’s the stupidity of the Linux sound systems). And hey, playnig mp3s on it would probably suck up 70% of the cpu anyway.

So, what software do you run if you have almost no CPU power, very little memory and an 800×600 LCD screen? Is there software for that? In fact, yes. The first thing I tried was Gnome, Thunderbird and Firefox. Jesus. Gnome takes forever to load, Firefox sucks up all that Memory, and Thunderbird renders its GUI so slow that I want to switch to another application and multitask while it does that, but of course I can’t, because it also hogs all the memory. I still do it reflexively, so there’s only kswapd running, really.

So I did some searching for alternatives. Here’s what I came up with:

Window Manager: IceWM. At university I used this on Sparc4 workstations, which were significantly less powerful than my precious, and it didn’t let me down now either: It’s absolutely no-fluff, just multiple desktops, taskbar, tray with a clock and windows. Very little RAM usage, very fast rendering.

Browser: Links2. It uses 4 MB of RAM, it renders quite fast (it uses SDL), and the layout is acceptable. It does not understand CSS, which makes some pages (like this one) look very different, but readable. Only problem for me is that Der Spiegel does not render very well at all. I can always fall back on Firefox, but for 95% of my browsing, I don’t have to. HTML is great stuff.

Mail: Sylpheed. My requirements for mail are support for IMAP4, GnuPG and SSL, and it supports all three. I have only started it twice so far, so the real verdict is still out, but it is definitely faster than Thunderbird and looks promising enough.

ICQ: gaim. It’s heavy-weight, really, but not as heavy as kopete, which is the only working alternative I found. Ickle didn’t understand server-stored userlists, which makes it useless. I miss Miranda, and I wish there was a Linux port for it.

And that’s all the new software I am using, and it cut my memory usage down so I actually have space left, and don’t need to swap. That harddrive is terribly slow, as you can probably imagine. The one thing I didn’t find (at all) was blog software for Linux. Something like w.bloggar, and that works with nucleus. I need some advice there, I think.

Hard Error c0000221

Tonight, Windows greets me with a blue screen saying that something’s wrong with C:\WINNT\SYSTEM32\NTDLL.DLL. Well, that’s just perfect. I guess that’s from installing Nvidia’s new drivers yesterday.

So I boot into Linux and google for that message, and I find a lot of confused people that don’t know what to do eiher, and a Microsoft KB article saying “Do a recovery, and if that fails, reinstall”. But my CD-ROM drive is still dead, so that can’t be the solution. Instead, I mount the windows partition and find there are copies of that file that have the same date and size, but they are different (md5sum is my friend). I take one from the DLLCACHE folder, bopy it over the one that Windows hated, reboot – and voila! Windows boots again.

Why did none of the articles I found on Google say that it’s as easy as replacing that file with the cached version? I mean, that’s a lot more convenient than going through that whole Recovery Console stuff.