Older blog entries for Judas (starting at number 6)

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

Time for the second diary post :)

As many people may have noticed, I have been wasting far far far too much time on Unreal Tournament the past year. I really needed a break from my coding hobby, being seriously exhausted by trying to make ClanLib an interesting project for other people. All my UT playing havn't been a total waste of time though - I've lately started to really enjoy working on ClanLib again, and it is now just a matter of short time before I'll start truely leading this project again.

My first step is that I've answered my pending emails today (woaw!) and decided to invest this entire sunday on ClanLib. So expect a lot commits on the GUI, the Win32 sound code and few posts about the net objects.

Ah... my first diary. Seeing that many other ClanLib people have creating an account here, I just couldn't resist creating one myself :-)

Ok, the first thing I want to comment is a little thing Donald Drivers (drivers) said in his diary:

I haven't heard back from the mailing list yet. I'm new to this so maybe it's some kind of social mistake to suggest an improvement (stated as a question) without knowing the whole situation, and without providing a patch (and testing it out yourself to see if it is feasible).

Reading stuff like this really makes me feel guily about my lazy email answering habit. I'll hurry up and answer your mails... :)

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!