Upgrade - again :-)

I’ve just bought 128 MB of RAM extra for my machine. That brings the total amount of RAM up to 256 MB. If you count the 64 MB on my V7700, then the total is 320 MB :-)

So now I’ve finally got rid of the swap-file. Nice. I can now play Quake and have a bunch of Eterms and Emacs open at the same time.

Quake on Linux?

Quake III Arena You bet!

I’ve just bought the Linux-version of Quake from a Danish reseller of Lokigames, called linuxspil.dk. And it plays beautifully :-)

With my new V7700 GeForce2 Ultra graphicscard from Asus, I can play the game at a resolution of 1600×1200 under Linux (just as I can under Windows). I think it’s nice to see, that the hardware manufactures are finally providing desent drivers for Linux.

3,000,000 domino bricks

Yesterday I stumbled across something called Domino Day 2000. It turned out to be an attempt to break the world-record in making a chain-reaction. Over 3 million domino bricks tumblet over — it took about 100 minutes.

70 students had been working for 7 weeks to make it possible, and then it’s all over in just one and a half hour :-) It was quite funny to watch, though.

A new menu-system

I know that I haven’t been updating this page so often lately, but I’ve been busy with other things. One of those things is my new menu-system.

The main requirement for the new system was, that it should be able to deal with a tree of pages several levels deep. The new system handles this beautifully, as you can see at the sitemap. Notice how the lists are nested within each other. The most extreme case is at the bottom, where I use five levels to describe the structure of my Danish Stuff.

To define this structure, I have all the pages specify their parent and their children. All pages have a parent, but does not necessarily have any children. I store all this information in a huge array, which means that it is extremely easy to access the information.

Because all the pages have a reference directly to their parent, it’s quite easy to find your way back to the root of the tree. All you have to do, is to use a recursive function. This function takes one argument: the node who’s parent we want to find. So the function just adds the node to a global array, and then it calls itself with the parent as an argument. This means that you’ll eventually reach the root, where the parent will be an empty string (''). It’s called recursion because we have a function that keeps executing itself until some condition has been met. Because I can now use recursion, the code needed to build the sitemap, has been cut in half.

The next task, is to make some tools to make it easier for me (and eventually also others) to maintain the structure. I’ll let you know when it’s ready.

Rewrite of menu-system

I’ve started to rewrite my menu-system here at gimpster.com. The current system only works when the tree-structure is two levels deep. You can see this on my sitemap.

The new system will be able to handle an arbitrary number of levels (remember, though, that a PHP script can only use 8 MB of RAM :-).

In the new system, all pages have a parent, and perhaps also some children. This is what connects the different pages too one another, it defines a tree of so-called double-linked lists. The lists are double-linked because each node defines both the next and the previous node in the tree. This makes it very easy to find out who the parent is to a particular node. And to find other nodes at the same level as the current node, you just look up the parent. Now that you know the parent, you can easily find the children of the parent.

Thanks to the very flexible way PHP handles arrays, I can store all the information in a huge multidimensional array. That makes it very easy to access the information.