Older blog entries for mascot (starting at number 52)


I've got far too many projects on the go at the moment. The 'most current' one is a mailing list system with tracking facilities. I.e. when someone clicks a link in a message, the system records that they did that, and (the controversial bit) also tracks when they open the message, via a remotely-loaded image. (It's not designed for spamming. It's designed for small-scale mailing lists; I doubt it could even cope with the quantities of mail spammers send.) My excuse is that I'm being paid to write this...


...doesn't boot on my system. It freezes just after initialising the speaker. (It's a hardware-fault-esque freeze - even SysRq doesn't do anything.)

And now my old, previously working configuration of 2.4.20-gentoo-r6 also dies on bootup as well; I've managed to strip out a load of extras (preemptile kernel, ACPI, APIC, low-latency, etc.) and now it boots. The difference is that I can't get 2.6.0-test3-bk1 to boot whatever I do to the configuration.

I'm not sure exactly what's causing it to freeze - that's a job for tomorrow. But to add insult to injury, my PC boots Windows XP fine...

I hope it's not a hardware fault. I can't really afford to go buying a new motherboard at the moment. (And I've swapped almost everything else around, so if it's hardware, it's the motherboard, CPU, graphics card, or hard disk.)

Real life

Well, in under eight hours I'll have my A-level results and will (hopefully) know which university I'm going to (first choice: Cambridge, second choice: Manchester).

I hope the events of the past day weren't supposed to be an omen or something... all sorts of things have gone wrong, starting with my box suddenly refusing to boot my Linux kernel (above), and culminating with me dropping two years' worth of heavy computer magazines onto the floor from ceiling height, narrowly missing my Mum and my sister. (They were tied together with string, and attached to the end of a rope, so they could be hoisted into the attic. The string snapped. Enough said.)

Hopefully that will have got all of this week's bad luck out of the way before my results arrive. :-)

Arrived back from my holiday in Austria yesterday. The holiday was great; I got a lot of mountain walking done, and took over 1Gb of photos - 300Mb more than last year. (But I took them in a higher quality mode, so I suppose that was cheating. I actually took slightly less in number - 1051 this year, 1097 last year.)

The journey back went smoothly, except that the one brief torrential rainstorm in Manchester that day had to coincide with when we were moving luggage around outside...

And we arrived home to find that, to our surprise, our house had grown scaffolding whilst we were away. Apparently the builders are starting some work on our slate-covered wall (i.e. attaching the slates properly, so they don't fall off and hit people) which we asked them to do sometime last year, but we were told it would be some time before they could start. So, naturally, they manage to pick a time to start whilst we're on holiday. Oh well, they haven't wrecked much yet.


Going away tomorrow to Austria for a fortnight. It'll probably do me good to have no Internet access for a while...

On last year's Austria holiday I took over 700Mb of photos. I wonder if I can beat that this year? :-)


According to University Challenge on TV this evening, "daemon" is actually an acronym for "disk and execution monitor". Well, fancy that. The word has evolved though to mean a lot more than that, so perhaps their attempt to be up-to-date backfired slightly...

(Probably old Unix hands will already know that. But I'd never heard it before. It just means "background process" as far as I'm concerned.)

On Thursday, I finished my exams (all but one went OK), and yesterday I finished school. It feels really weird - I've been at that school for the past nine years, and I've grown to quite like the place. Having spent an appreciable fraction of my life there, it was sort of like a second home. Over the past two years, the A-level Further Maths set (of which I was a member) grew a really strong sense of community - and now I might not see some of them ever again. The past year in particular has been the peak of my time there.

But I suppose good things can't last forever, and there's a time when we all have to move on. I've applied to study Computer Science at Trinity Hall, Cambridge, and I'm fairly confident I'll make the grades. One other friend from Further Maths has applied to the same college, for Engineering - his offer is a little more steep than mine, but I hope he manages it.

And now for the summer. I'm hoping to get a job at my Dad's work (a supermarket chain) in the IT department. I've worked at that company before, for Work Experience, but they could only fit me into the Accounts dept. I hope I can get a better job than folding letters and sorting invoices into order this time...

But for now... free coding time! At last I can get back to something other than revision for exams. I've collected a huge To Do list over the past few months (mostly for my friend's hosting business) and hopefully I'll be able to have a stab at it over the long summer.

I've just seen Matrix Reloaded (thanks Andrew [aes]!) - a great film. But of course Trinity's hack using NMAP & SSH particularly appeals :-)

I'm glad to see that at least one director has a clue in these matters...

Oh dear, SCO really have gone totally mad. But it's still quite worrying when things like this crop up.


Entirely failed to see the Total Lunar Eclipse despite getting up at 04:30 to see it. Damn fog... :-P

11 May 2003 (updated 11 May 2003 at 23:18 UTC) »


Surely someone else will have written an open-source document management system with a tree heirarchy... but I can't find one. So I wrote one. I'm glad I did, actually, because I enjoyed it and I quite like the result (and hopefully others will too!). Nice and simple, but I used the opportunity to teach myself about mod_rewrite (so that a url of http://.../doc56 will really fetch http://.../main.php?id=26), how to design a site with no tables and lots of CSS, and also about cache controls (to make the site nice and speedy by caching the bits that won't change often, even though PHP doesn't usually do that).

I also made use of Mozilla's prefetching features. These are quite amazing, and really can make the site lightning-fast. Whilst you're reading a page, Mozilla will be fetching related pages (i.e. those on the same level in the heirarchy, or the level below). The pages are all tiny, but having them already in cache does still give a noticable improvement - it cuts the page load time from a couple of seconds down to almost zero.

Real life

Ooh, scary. Only two-and-a-half more days of school ever. (Not counting the exams...)

Some truly amazing ideas have arisen on what we can do to our favourite Scottish maths teacher, but due to reasons of secrecy, these cannot yet be revealed :-)

mathieu: In answer to your question about FTP over routers which perform NAT. Firstly, as you're probably aware, there are two modes of FTP - Active and Passive. Passive FTP works over almost all routers, whereas active FTP rarely works over NAT unless the router is clever enough to know how to specifically interpret FTP traffic. Most FTP done via web browsers and the like is passive, since it works in more scenarios, but on Linux the command-line ftp client defaults to active FTP.

Passive FTP is easy. All connections are made from the client to the server, so the router can just route these as with any other connection (like HTTP and the rest).

Active FTP, however, requires the server to open a connection to the client. In the case of a router that does NAT, the router must know which machine on the local network to send this incoming connection to. In the case of a Linux router, that's the job of the FTP Conntrack module (I think), which basically keeps track of the FTP connection. If your router supports Active FTP, it probably has a similar piece of software running.

I hope this answers your question. And I hope someone will in turn correct any mistakes in my answer :-)

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