<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for Judas</title>
    <link>http://www.advogato.org/person/Judas/</link>
    <description>Advogato blog for Judas</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Thu, 24 Jul 2008 22:07:10 GMT</pubDate>
    <item>
      <pubDate>Mon, 13 Oct 2003 21:15:26 GMT</pubDate>
      <title>13 Oct 2003</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=14</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=14</guid>
      <description>&lt;p&gt;Read this on slashdot today. Although its bloody obvious stuff anyone nods when they hear, lately I've come across people that just learned .net and seem to think its the holy grail, replacing and beating any other system in every possible way.

&lt;p&gt; &lt;p&gt;So therefore, everyone repeat after Angst Badger (the guy on slashdot who wrote the obvious):

&lt;p&gt; &lt;blockquote&gt;Until you understand the weaknesses as well as the strengths of your favorite language, you either haven't explored it fully or you don't know enough languages well enough to have a basis for comparison. (C|C++|Java|Perl|AWK|Python|COBOL|RPG|Fortran|BASI C|PHP|Forth|6502 Assembly|Forth) all suck if you're only looking at their flaws, and they all rock if you're only looking at their strengths. If you're not looking at both, you're not getting it.&lt;/blockquote&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 17 Sep 2003 21:24:59 GMT</pubDate>
      <title>17 Sep 2003</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=13</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=13</guid>
      <description>Just read starch's Jul 2003 diary post (yeah we post seldomly here, hehe) about the problems of project management.

&lt;p&gt; An interesting observation: If estimating the time it takes to complete a feature or prioritizing the right features to create is so important, why is it usually the coders that have trouble abstracting and designing things that ends up getting those positions? At least so it seems to me.

&lt;p&gt; Part of the answer to the above problem is that there are generally two types of coders in this world: those good at it, and those not good at it. :) Those less good at thinking abstract and handling complex things, they often tend to try instead reach to management positions. Yes, there are probably exceptions, and yes I'm probably over generalizing here, but I seem to notice a pattern. :)

&lt;p&gt; But anyways, thats not really what I wanted to write about. :)

&lt;p&gt; The trick to good professional project management, avoiding feature-creep and keeping deadlines is having the right tools. And its probably the thing that is most tricky to get people to use. And the list of tools you could choose between is long.

&lt;p&gt; Three things you need:

&lt;p&gt; 1. Good quality version control system.

&lt;p&gt; By this I don't mean just installing your favorite version control system (ie CVS). No I'm talking about using these tools as they are intended to be used: do &lt;i&gt;version control&lt;/i&gt;.

&lt;p&gt; Version control doesnt mean "we can share files, I change things and commit, my coworkers change things and commit". No it means having a standardized structured system to keep track of all your different projects that involve changing the code base.

&lt;p&gt; Lets say you got 4 bug reports and 7 feature requests. You should be able to individually develop on all those 11 issues at the same time. And not until a test has confirmed that the issue indeed is resolved should it be allowed into the main trunk.

&lt;p&gt; The version control system should also keep track of all previously released versions, so you at any given time is able to go back and work or test from that version forward. This means tagging and keeping built executables around for each release.

&lt;p&gt; The point of all this is to allow management to change their idea when they figure out that a cookie is sour, that they would rather prioritize another issue over the current one you are working, and punt issues to later scheduled releases.

&lt;p&gt; Featurecreep can only be solved by making it obvious to the management what the time is spent on in the development department.

&lt;p&gt; 2. Issue (feature/bug) database.

&lt;p&gt; This is a tool very important for the management. To be able to prioritize things correctly, it must be appearent and clearly visible what things are pending to be addressed. A issue database will do this for you.

&lt;p&gt; Ideally the issue database and the version control system should be linked together, so that the versions available in the VCS is illustrating what issues there are open and closed in the issue database.

&lt;p&gt; 3. Automated build system.

&lt;p&gt; There exist many tools for doing this; one I can recommend is Visual Build. Basically this is a way to setup scripts to hit the "F7" button or whatever is needed to build your product.

&lt;p&gt; Automating this process is important to make it more easy for project managers, testers and coders to work on all the different issues in the system. Most version control systems are a bitch to use if you insist on doing it all manually, so its really a nice thing to have things just working nicely using a few scripts on an intranet server; or doing nightly builds or whatever.

&lt;p&gt; Ok think I've written enough for now. :)</description>
    </item>
    <item>
      <pubDate>Wed, 27 Nov 2002 20:43:46 GMT</pubDate>
      <title>27 Nov 2002</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=12</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=12</guid>
      <description>&lt;p&gt;Today fabio wanted to play a multiplayer clanlib game with dark as server.

&lt;p&gt; &lt;p&gt;Couldn't show him any.</description>
    </item>
    <item>
      <pubDate>Sun, 1 Sep 2002 13:33:06 GMT</pubDate>
      <title>1 Sep 2002</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=11</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=11</guid>
      <description>&lt;p&gt;Ok, bored again. So why not update my advogato profile? :)

&lt;p&gt; &lt;p&gt;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 &lt;a href="http://www.advogato.org/person/sphair/" &gt;sphair&lt;/a&gt; instead - he deserve as much credit as I when it comes to clanlib development.

&lt;p&gt; &lt;p&gt;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.
</description>
    </item>
    <item>
      <pubDate>Sun, 21 Jul 2002 12:26:20 GMT</pubDate>
      <title>21 Jul 2002</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=10</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=10</guid>
      <description>&lt;p&gt;Oh oh, months have passed again.. :)
&lt;p&gt;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.
&lt;p&gt;Its as if I've simply run completely out of inspiration.
&lt;p&gt;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.
&lt;p&gt;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.
&lt;p&gt;I've lost the ability to dream. :|</description>
    </item>
    <item>
      <pubDate>Sun, 12 May 2002 18:09:16 GMT</pubDate>
      <title>12 May 2002</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=9</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=9</guid>
      <description>&lt;p&gt;I have come to learn today that Harry have great plans 
on how to take over the world.
</description>
    </item>
    <item>
      <pubDate>Sun, 14 Apr 2002 12:44:20 GMT</pubDate>
      <title>14 Apr 2002</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=8</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=8</guid>
      <description>&lt;p&gt;Months have passed - better update my advogato page. :)


&lt;p&gt; &lt;p&gt;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.

&lt;p&gt; &lt;p&gt;I recently read an article called &lt;a href="http://www.drizzle.com/~scottb/gdc/its-still-loading-
paper.htm" &gt;It's STILL loading?&lt;/a&gt; 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. :)

&lt;p&gt; &lt;p&gt;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.

&lt;p&gt; &lt;p&gt;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.

&lt;p&gt; &lt;p&gt;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.

&lt;p&gt; &lt;p&gt;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. :)

&lt;p&gt; &lt;p&gt;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. :)
</description>
    </item>
    <item>
      <pubDate>Wed, 26 Dec 2001 01:43:52 GMT</pubDate>
      <title>26 Dec 2001</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=7</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=7</guid>
      <description>Yes, so it is christmas... what a lovely time of the year, 
right &lt;a href="http://www.advogato.org/person/mstarch/" &gt;mstarch&lt;/a&gt;? ;-)

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

&lt;p&gt; &lt;p&gt; Ermn... never mind that little rambling, talking about 
christmas gets me sidetracked. :) What I really wanted to 
comment in my diary today, is &lt;a href="http://www.advogato.org/person/mstarch/" &gt;mstarch&lt;/a&gt;'s 
little comment about we building railroad tracks:

&lt;p&gt; &lt;p&gt; 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).

&lt;p&gt; &lt;p&gt; 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).

&lt;p&gt; &lt;p&gt; 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.

&lt;p&gt; &lt;p&gt; 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.

&lt;p&gt; &lt;p&gt; 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. :)

&lt;p&gt; &lt;p&gt; 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. :)

&lt;p&gt; &lt;p&gt; (Sorry, couldn't resist the temptation... hehehe)
</description>
    </item>
    <item>
      <pubDate>Tue, 25 Dec 2001 12:25:25 GMT</pubDate>
      <title>25 Dec 2001</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=6</guid>
      <description>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. :]

&lt;p&gt; 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.

&lt;p&gt; 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.

&lt;p&gt; 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.

&lt;p&gt; 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. :)

&lt;p&gt; 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.

&lt;p&gt; 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. :)
</description>
    </item>
    <item>
      <pubDate>Thu, 6 Sep 2001 02:49:31 GMT</pubDate>
      <title>6 Sep 2001</title>
      <link>http://www.advogato.org/person/Judas/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/Judas/diary.html?start=5</guid>
      <description>I just want to say that I totally agree with Starch. I too 
hate hardware. :)

&lt;p&gt; PS. Thank You for removing that butt-ugly background image 
from your homepage Starch. Now also please remove the butt-
ugly text :P</description>
    </item>
  </channel>
</rss>
