Older blog entries for Judas (starting at number 11)

Ok, bored again. So why not update my advogato profile? :)

I noticed another guy rated me master here at advogato, thanks for the support. :) Next one that comes along thinking I deserve such a vote, please place it on sphair instead - he deserve as much credit as I when it comes to clanlib development.

Been playing around with Nokia's new java enabled mobile phones. Wrote a small IRC client that used GPRS to stay online on irc - ended up crashing both the emulator and the JVM running on the phone - so much for nokia QA. But it looked cool to see my phone connect to IRC, join a channel and display everything ppl wrote, only paying MB transfer prices. :) Its going to rock when nokia sort out those damn bugs - so maybe in next generation phones it will really allow you to do awesome stuff with your phone.

Oh oh, months have passed again.. :)

It is summer and in denmark, that means you are expected to take three weeks of holiday. People frequently ask me when I'm going have mine, and I really don't know what to say. I really dont feel up for doing anything these days, so using three weeks doing nothing seem like a total waste.

Its as if I've simply run completely out of inspiration.

If I really wanted to, I could finish up ClanLib-0.7's display part up in a weeks time, but there's no motivation to do so. Sure there are people that would like to have it to play with, but it more feels like work than a hobby for me.

I got the same problem at work. There are lots of stuff I could finish up fairly easilly, but it seems like it will bring me nowhere if I do, so why bother? Been wondering if I should quit because of that, or if I will just be trying to fix the symptons instead of the real cause of it.

I've lost the ability to dream. :|

12 May 2002 (updated 12 May 2002 at 18:21 UTC) »

I have come to learn today that Harry have great plans on how to take over the world.

Months have passed - better update my advogato page. :)

Things are progressing well with ClanLib. clanDisplay2 is reaching a state where it can be used to create real games - my Pacman game has already been ported. Its not feature complete, but it gives an idea of what direction I'd like the new display component of ClanLib to end up.

I recently read an article called It's STILL loading? from the Game Development Conference (GDC). Normally I'm way too lazy to read these kind of articles, but lately sphair have been complaining about ClanLib being slow at loading resources. So I decided to give it a try and see if there was something interesting in the article that wasn't just plain obvious. :)

Unfortantly the article doesn't really do a good job at focusing on a specific topic. It uses most of the text on explaining why having things as a package (datafile) is better than as raw files, how files should be modified while game is still running, and all kinds of similar abstract ideas.

Its a lot of claims without numbers. For instance, the article mentions how opening stuff from your own home-made datafile index hash table is quicker than opening files using the operating system - and of course it can be faster. But how much faster? How many resources do you need before it becomes a real issue anyway? He mentions how many resources a whole game contains - but thats not really fair, since they aren't all loaded simultaneously.

Its not like I dont think all those things wouldn't be cool to have in a resource system - its more a question if its worth the efford. I could imagine that its far more important if the individual resource loaders are fast - and he does mention converting common formats to game specific formats, but its not what the article is focusing on.

The article also touches the concept of loading stuff using mmap, and even mentions how the emulation layer of mmap in Windows 9x totally sucks. But again, there are no numbers, so its hard to tell if memory mapping a resource will give a 10% boost, a 50% boost or triple the loading speed. He obviously gave it a little thought, since his API allows resources to be specified as random accessed, block or streamed. Just need some numbers to know if its worth the efford. :)

My point here is that it could just as well be smart resource loaders/savers that make his games load fast, as much as its the file system structure itself. Its probably a combination, but its pure guessing until you got that profiling of the system. :)

26 Dec 2001 (updated 26 Dec 2001 at 12:26 UTC) »

Yes, so it is christmas... what a lovely time of the year, right mstarch? ;-)

(Whom am I kidding? I bloody hate christmas. I hate the fact that everyone seem to be having a great time, except me...)

Ermn... never mind that little rambling, talking about christmas gets me sidetracked. :) What I really wanted to comment in my diary today, is mstarch's little comment about we building railroad tracks:

Yes, I suppose you're right to a certain extent. But dont worry, there is still a long time to anything remotely like that will happen. It may seem like even Microsoft are having a hard time figuring out what to add to their operating system these days. Been running with WinXP here for a week now alomst, and yet, I've not seen one single really good reason to upgrade from Win2k. All that seem to be new in WinXP, besides minors like faster booting and other finetuning, is bundling of misc. new markets Microsoft desire to capture (eg. the IM market).

Hardware companies like Intel also seem somewhat screwed these days. It doesn't make much of a difference wether you have a 1 ghz machine or a 2 ghz machine. Both are 'fast enough', just like Windows 2000 is 'good enough' as an operating system (at least for the most common tasks).

So does this mean we're at the end of the railroad? That we've built every track worth building? No, luckily not. The problem for Intel, as well as for Microsoft's OS department, is that our hardware and OS is more than good enough for the classic 'office' usage. But it is still not fast enough for really bandwidth requiring things - eg. television over internet. We may embrace how gigantic our discs are these days, but think about it, how big are they really, if we want to store DVDs on them? Our ADSL is pretty pathetic if you try to stream live video in DVD quality, not to mention the bandwidth required for the server, if only 100 people were watching it.

You also do not have to worry too much about productivity tools getting completely done. While the basic packages might end up like that (eg. the Office package. I'd settle for a Office 95. It more than covers all my needs), you'll always see management screw up. See them spend tons of money on some AMANDA project, just to realize it will not do. Or the system might actually work just fine, but then management changes their mind on how everything should be structured, and the system renders useless.

But... let's assume I'm wrong. Then there will always be one thing left to code, that will render old and useless over and over again: games. :)

So why not turn this fear into an advantage? Start coding on ClanLib again! :)) Lets make ourselves famous and known in the gaming industry, so when the mass layoffs of coders start, we can quickly plant our boots in some game company, where code never grows old. :)

(Sorry, couldn't resist the temptation... hehehe)

Hmm, its been a long long time since I posted a diary entry here. I probably wouldnt have done so again, if it wasnt because I'm pretty much dead bored, and nobody seemed to comment on my latest overview stuff, so this seemed like the best 'waste my time' thing I could do right now. :]

As people following clanlib development close might have noticed, I've been mostly working on writing a completely new version of the networking classes in clanlib. I'm rather proud at how nice they have formed to be, and I really think its a huge improvement over the previous networking stuff.

In fact, I'm pretty excited these days about how all of clanlib is shaping up. There was a very long period of time where the only reason I even coded at clanlib at all, was because I had managed to get a userbase (althoguh somewaht limited) and felt that I shouldnt cancel the project, only because then it would hurt those projects.

The cool thing about clanlib these days is, that a lot of the core APIs are beginning to be feature complete and cleaned up enough for my early clanlib design faults. ClanCore is pretty solid, despite the I/O Data stuff is a bit too primitive, and our string class could be far better than it is.

ClanGUI is shaping up really nicely. It was a pleasure to experience at work, how I'd rather have clanGUI in certain situations than Qt's GUI library. Not generally, Qt is far more maturized than clanGUI, but there was places where I missed clanGUI specific features. :)

With the new networking API almost ready, and with a new display API on the drawing board and even half way implemented, it really looks like ClanLib is almost going to become what I originally dreamt it to be: A nice and feature complete game SDK.

So if you had been wondering why I've been so active on ClanLib lately, then its because I have started to believe that I can fix the flaws in ClanLib and make it an attractive SDK that I might even want to use myself. :)

I just want to say that I totally agree with Starch. I too hate hardware. :)

PS. Thank You for removing that butt-ugly background image from your homepage Starch. Now also please remove the butt- ugly text :P

I've been a bad boy and havn't updated these pages for years. But now I'm doing something about it. :)

Since october, a lot of changes has been made to ClanLib. Far too many to list them here. Recently Kenneth (sphair and Jeroen (japj) did a great job and released ClanLib-0.5.0. Very nice to see them spend all this time on testing and verifying misc stuff and get it out the door.

My personal agenda for the next coming days is to finish some work stuff, and then afterwards add those things that didn't make it into 0.5.0 (eg. the linux opengl support).


YTalk is working on dark again! (dark is our clanlib server). In the meantime though, more and more people have started to regulary join our clanlib irc channel (#clanlib on irc.openprojects.net), so while ytalk is truely superior in some ways (it feels more alive when chatting with people there), I won't go back and ytalk with sphair & starch.

Hanging out on an irc channel was originally done primarily because our ytalk on dark wasn't functioning, and I really hated using irc as a replacement. But now that a few more people have joined the channel (japj and drivers to mention a few), it has become A LOT more interesting and useful. Working alone on a project can be very boring, and although a mailing list is truely useful for detailed communication, it just doesn't provide the same as simultanously working together with other people on a project. Working together with sphair and starch has always been fun, but nothing compared to when you add more people to the project, like now :)

I actually now WANT to work on clanlib, whereas I for a long time felt it was something I owed to myself.

Brutal Hacking!

So, many days have elapsed, but still we have hours left of our 24 hour Brutal project - now how can this be? :)

The answer is that Kenneth Time Bender Gangstoe has invented this genious system where we can halt the time. Every time we found some issue in ClanLib, we halt the time and repair clanlib. Sleeping is also a valid halt reason. :)

As for Brutal itself, we have gotten the basics of the netobjects up and running (proof of principle). But the game engine seriously sucks, and we need to work hard on that one now - but after that I think we should have a good example of how the netobjects can be used in practice.

Crappy CVS

CVS is a proggy that seriously could need a rewrite. Kenneth (sphair) accidentially added 3 very big ogg vorbis (.ogg) music files to the repository, and forgot to set the binary flag (-kb) when importing them. This easy-to-make mistake has caused us to waste HOURS because cvs simply TOTALLY breaks down because of this. As of this writing, cvs still freezes on checkouts of the Games/Brutal/Music directory.

I've beginning to be more and more serious about finding an alternative to cvs, especially because CVS is so unflexible in many other ways; and this isn't the first cvs breakdown I've experienced. But there aren't that many alternatives out there; either the alternative sucks by being strickly file locking based (eg. Microsoft SourceUnSafe), not crossplatform enough for our demands, or having some fancy requirements causing us uneccesary extra work.

The far most interesting one so far is BitKeeper, but I seriously dislike their "open logging" policy; something that really annoys me is these "open" projects that are only free as in beer, but talk as if they were free as in speech. Using a open sourced version control system isn't a requirement in itself, but I truely hate programs that report back to the creators of the program. This is in my oppenion ABUSE of Internet, and should in my oppenion be forbidden by law!

I'll probably not replace cvs just yet... unless I'm unable to fix the Brutal repository. Completely replacing the version control system is a big thing, and has to be seriously considered before continueing. And I'm not desperate enough to do that just yet... especially not when the alternatives suck in one way or another...

Brutal 24 hour hacking!

I'm very pleased to announce that the second version of the netobjects are almost finished. In order to test the new netobjects, sphair and I have started a 24 hour game, called Brutal Entity! (Games/Brutal in CVS) :)

As of this writing, the brutal clock says we have used 5 hours and 15 minutes. I'm currently working on adding a networked client/server world framework to the game, and so far the netobjects seem to have passed the test (yehaw!). In a few hours I'm sure we have enough framework running for a real network test.

I'll be reporting back when we get a little further with the project... :)

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