Older blog entries for k (starting at number 56)

Life:

Yup, the party sucked. I dunno, I must be getting old but getting old should lead you to having less fun (up until you're 30 at least), right?

:-)

There were a few quality moments involving a "discovery" of brown vs pink nipples but the night felt.. tame. Ah, probably not enough rampant alcohol abuse. Maybe next time.

Random:

I dunno why I'm up at 5:30am. Grr. There has been some wicked storms over the last day or so. Quite cool. They've been keeping me up. Ah, this is why I woke up at 5am. Ah!

Geek:

After I've completed a whole swath of work today I'm going to work on some distribution analysis of my per-fitness-value queue .. queues. If they're evenly distributed enough I can try reproduction and death based on random head selections of the queue members. Ah, the joys of experimenting..

Music:

Dance Max 2002, CD1. Lots of Dance remixes of older songs. Its quite cool.

Geek:

I've removed one more O(n) loop from my generation loop. This one dealt with evaluating the individual based on their genetic code (ie generating a 'fitness' based on their genome.) The remaining loops are the renormalisation and numberspace calculation loops - both of which will go away when I've implemented my next selection algorithm(s).

Accident:

My car cost AUD$150 for a new bumper, $10 for a badge and probably $200 for the car tow. 200 metres. grr. I'll try to scab it on insurance - I pay them $1000 a year to insure my damned EA Fairmont, its a ripoff.

Life:

I'm about to finish exercising - which is a bit odd since I've got a bruise or two from the incident. I'm then going to a uni-friend party. Should be amusing. No, wait, it won't - it'll be ${CENSORED_UNTIL_AFTER_PARTY}.

Note to self - leave a much wider gap between you and other cars when driving in the rain. God damn.

(read: the person in front braked, I couldn't brake in time, I lost control, hit the sand dip preventing me from becoming one with the oncoming traffic. stopped. ow.)

I'm ok, I'm a bit shook up, my car requires a pair of lights and some bumper reattachment.

I screwed around some more with the dynamic renormalisation code last night.

Its looking good enough for the next stage - where I play around with a few strange algorithms for selecting suitable candidates for reproduction/death in O(1)ish time.

I had the dynamic renormalisation stuff coded up on Sunday - but it wasn't working. I was quite .. surprised.

I spent two days trying to figure it out - before noticing that the calculated min/max values used to compare the effectiveness of my algorithm against were.. well, backwards.

Ah, the simplest things. At the moment the maximum amount is 8% out - which is a good start. The minimum number, however, is like 25% out. After staring at the numbers it started to make sense - since the fitness values were creeping upwards they were applying "pressure" on the dynamic maximum value - but the minimum value was moving towards the average at the 1-per-generation rate I coded in.

All in all its been an interesting exercise. I still think its possible to improve the accuracy a little more. I'll do up some test runs with varying attraction factors and see what results I get.

I wouldn't be surprised if noone followed the above - its still all a bit hazy. Try this. You have a population of individuals with a fitness between 0.0 and 1.0. The fitness values are not evenly spread - in fact you're trying hard not to have them evenly spread. So every generation you renormalise the values - find the min/max fitness values in the population and then apply a linear transform to map them back to 0.0 -> 1.0.

Now, thats easy to do at the beginnning of each generation. But its not O(1). Since my aim is to work with larger populations (say, >10000) I'm trying to find "good enough" O(1) algorithms.

(I may even not require this renormalisation code at the end of the day - but its another good programming exercise. :)

Ah, I might start using this for a while. why not.

Advogato doesn't seem to be very busy these days. I remember how busy it was when it first started. Slashdot but with less trolls! how cool!

Oh well. Livejournals and blogs seem to be the rage.

I'm currently playing around with my first genetic engine. I'm trying to come up with a fast way of choosing the best/worst members of the population to search the solution space.

You can grab the hacked up stuff here.

I'm very tempted to simply order the list, grab the top and bottom individuals and use them. I, however, am not sure it'll be fast and I don't like the idea of specifically choosing the best/worst members of a population.

Ideally what I'd like to implement is a "good enough" scheme - kind of like what I had with my number space stuff. In essence you choose a member in a weighted random fashion, the weight being towards "better" individuals (for reproduction) and "bad" individuals (for death).

I'd like there to be a small but non-zero chance of a sub-optimal choice being made - and ideally I'd like to be able to vary that chance. It'll give me a large search space for experiments.

I'm thinking there has to be some geometrical solution I can use which will be fast for large populations / large birth/death rates per generation. I'll keep searching.

Wow. Its been a while since I've been here. I might have to post an update for those who care.

I'm keeping a diary in my private CVS tree, and I haven't yet put it online. I have imported all these articles into it though, which took a little bit of perl.

Have fuN!

Eek. Its been a long time. I have an online diary which I haven't actually bothered to checkout to my website. When I get back from Sydney I shall put it online, and then move all of this stuff into my website. P> I'm in sydney because my boss died last week and I'm here for the funeral today. More on that on my website.

Its been a while, funnily enough. Lets re-cap.

Geek

The great Indy Run happened earlier on this week. I'm now the proud daddy of a stack. No, you can't have any. The photos will be up on my website soon once I've finished rewriting it and checking it into CVS.

Reality

A friend of mine, Wendy, came down from Groningen to visit me over the weekend. She hadn't spent much time in Amsterdam before (yes, the Dutch != Amsterdam) so it was cool. On the Sunday night Ashp, Martijn, Wendy and I went to see "Scary Movie". Seeing it the second time was entertaining. :)

The weekend before that, i went to a bbq at a friends place (hi Frauke!) for her birthday. Four of her friends from Germany were there, a lady named Katherine that Frauke had recently met, and some of her workmates. Oh, and ashp. That evening, I went out with Peter, Chantelle, Sabri, Bram, and Jilke to Utrecht to watch "Mission Impossible II". Then we went drinking for a little bit. That was fun. :)

I still have to finish tidying my house before Friday, because I have a friend staying at my house next week whilst I'm in Ibiza with the gang. This work trip should be rather fun.

Oh, and I did a big shopping run to a Chinese food Warehouse, and bought plates, a wok, and a lot of food. I now can serve Dim Sum at my home. -)

Work

Its too hot at work.

There is no damned airflow in here. At all. This makes the room very very very warm. And it needs to be bloody fixed.

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