Older blog entries for mascot (starting at number 51)

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


I've been in Scotland for the past two weeks, interspersing homework with mountaineering and photography. The weather was exceptional - unbelievable in fact: for the entire first week, we had hot sunshine and a cloudless sky. Anyone who's been to Scotland will know that this is highly unusual :-) I only got rained on once the whole time, and that was on the last afternoon. We did have an impressive thunderstorm directly overhead on one evening though - the strikes were so close that the electric field made my Dad's hair stand on end.

Computer stuff

I came home to a broken power supply in one of our home PCs. (No, it wasn't a power spike! It had been left unplugged. I'll just put it down to lack of attention :-) That machine is usually left on, so perhaps it was just some sort of momentum that kept it going...) Rooting around for spares, the only one I could find was in the back of my cupboard, labelled (by myself) as "Broken; buzzes". Well, it seems to work :-) and the buzzing is barely audible. I'll keep an eye on it though...

Linux Kernel Software Watchdog (and the daemon, watchdog-5.2)

I came across this for the first time today, and realised immediately how useful it could be on the webserver I manage for my friend. This server has bouts of instability, which I'm still trying to pin down, but my friend is trying to run a hosting business and doesn't appreciate long downtimes when it crashes and I'm not around to fix it. It seems that once I install the software watchdog, the downtime should be limited to only a couple of minutes in the event of a crash.

(Yes, I know this is fixing the symptoms rather than the cause. I'm still trying to find out which of the kernel patches I've applied is causing the crashes.)

I wonder if there are any other obscure goodies in the Linux kernel which I haven't come across yet? I'd certainly never heard of this before I came upon it by accident. Is this just me living in a cave, or are features like this rather under-advertised?

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