Older blog entries for k (starting at number 72)

Henrik Nordstrom pointed out the pread() and pwrite() syscalls which should be supported under Linux. This code now can either use the POSIX AIO calls or the Linux AUFS (user-space threads implementing disk IO) which use pread()/pwrite().

In short; it works, and it works fine.

The trouble now: how to rebuild the store index from disk during startup.

I've been fixing the COSS code in Squid - its a cyclic-style filesystem with a twist - instead of completely cyclic it implements an on-disk LRU.

I've got it mostly stable. The main problem right now? The linux user-space Posix AIO support only seems to de-queue one op at a time per FD. I think this is severely hampering the disk performance; but there's little I can do about it for now. Grr.

Today's amusement: how I messed up the precariously-balanced backup system at work. Grr.

Today's amusement #2: my little co-operative multitasking message-passing thingy is running and passing messages between modules. The most it can do? 10 million events in 14 seconds, and not one memory leak. I wonder if it'll leak memory during error conditions..

22 Mar 2006 (updated 22 Mar 2006 at 06:20 UTC) »

Ah, yay.


* still owe a lot on my credit card. Wow, who would've thought financial planning was so crucial. :)
* bored at work. There's stuff to do, but its not challenging. Sigh.
* studying psychology/linguistics at UWA. Yes, I'm a second year (ie, not a first year). I gave up studying CompSci - first and second year stuff just frustrates me and I don't need frustrating things whilst I'm working full time.

What I'm currently working on:

* I'm a programmer for an online MUD. No, I won't say which. Its nifty though - it uses a proprietary engine and a crazy syntax which is the bastard child of C and BASIC. Very good for writing MUD code in.
* I'm still tinkering with fast network application frameworks: check my homepage for the CVS repo. "projects/col" has what I'm working on.


I finally got paid for a couple of things this week. I burnt $3k on something I purchased as a middle man - the situation was stupid but now I have well and truely learnt my lesson. My credit card is nearly half of what it was at the beginning of the week.

I have to be careful - I still have a long way to go before its paid off.

I also have the last few years of tax returns to do. 2001-2002 is really the only one I need some help with since the others are simply blank (I was working overseas, I paid Dutch tax.)


I have the forms I need to re-enrol for next semester. I might finally get around to finishing first year CS.


I found a 3rd year CS assignment which I'm doing because it looks interesting. I'm doing it in C rather than java as, well, I'm still not in third year.


My brother is going into hospital on Tuesday. He has a lump in his left buttock. Poor guy. Its quite a big lump too. Understandably everyone is a little upset but things aren't as bad as they were when he found out. If all goes well he'll be out of hospital a couple of days later with some painkillers and instructions to lie down for a month or so.


Yup, I can sympathise with him. Something similar, albeit with a shorter-term relationship, happened to me last year. My girlfriend at the time, Karen, was quite supportive and I thought she understood and accepted that I worked a lot. After three weeks of working inside radio towers and a couple of weeks being very very ill she left me.

She told me afterwards that she was dropping all kinds of hints which I obviously didn't pick up on. I think she associated "getting hints" with "paying attention" and "caring".

I've now realised that, at least for now, I had to make a choice between a love and a passion. I know a lot of you out there will hmph!, citing that there are plenty of examples of people who keep up active passions and a healthy relationship.

I'll simply note that I am not them. Oh, and I have too much on my plate already.

2 May 2003 (updated 2 May 2003 at 12:20 UTC) »


Wer Bisto - Twarres
K's Choice - Favourite Adventure

Only one person on the planet will understand why. :)

I sat down at my piano again today. 10 minutes of tinkering with it left me with a warm fuzzy feeling and a big grin.


Exercise is good. More of it is good.


Nothing much on this front, I'm afraid. I'm using a PM3 at work to terminate a few L2TP DSL connections. Damn, Cisco's are expensive, not much else is supported in my neck of the woods and the open sauce L2TP implementations are quite average. Hm, I might have to look into writing a business case.


I installed Apple's X server yesterday. Wow. All they really need to do is have individual X applications somehow pop up in the dock and it'll be lovely.

Gimp under MacosX + X is .. nice. Cheer.

Another thing I've noticed is the size of processes. Under XDarwin I found that the Xterm was 4 meg / 1 mb RSS. Xterm under Apple X is 14meg / 2mb RSS. I have a feeling that Apple is doing a lot more shared memory magic.

Terminal is about 50meg/14meg. Hm. I might start using Xterm again. :-)


Sometimes I think my car is taking me for a ride. Case in point - the alternator/regulator was very .. crap. It turns out that Bosch made a very dodgy regulator (016) which made its way into quite a few models. Including my EA. Replaced it with an (019), fixed up the contacts in my alternator and my car is ok. Again. For now.

Ah, I wonder what other geriatric parts will be found. After the engine rebuild I can't imagine ... :)


"The War of the Worlds" by Jeff Wayne. Yes, the musical. I think its absolutely brilliant. My favourite track is track 4, or "Forever Autumn" - not just because of the song itself but because of the visuals it seems to evoke.

"Never before in the history of the world had such a mass of human beings moved and suffered together. This was no disciplined march - it was a stampede, without order and without a goal, 6 million people unarmed and unprovisioned driving headlong. It was the beginning of the rout of civilisation. Of the massacre of mankind."

Everything in this track was simply leading up to this statement. Helplessness, panic, disorder. A love narrowly lost but perhaps safe. I love it.

22 Apr 2003 (updated 22 Apr 2003 at 23:44 UTC) »


I decided to try a traditional 'sort' algorithm. This involves taking all the individuals, sorting them into order based on fitness and then looking at the top few/bottom few for a solution.

A few cute things showed up.

Firstly, when I replaced the 'cull' pass with the results of this sort algorithm (ie kill individuals until we're under the desired population) the solution time (in generations) dropped by about 2/3.

Secondly, no matter what I try I can't seem to coax the best solution out of the code. Admittedly with this kind of stuff you're looking for a good solution but I can't imagine this algorithm performing that much worse. The population quickly homogonises when I'm using the sorted array for reproduction selection and stopped a few bits short of a perfect solution. Very strange.

One interesting observation with the sorted algorithm - a higher population count does _NOT_ necessarily result in a quicker search. In fact with a population of 10,000 vs 1,000 the average fitness scores over time were significantly smaller and sometimes decreasing.

Gah, lots of work to do.

(Note: yes, I know this kinda stuff has been done before. Yes, I know it'd be easy to do a google search, grab someone's evaluation engine and go from there. It just wouldn't be as fun.)

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