Skip to content


Development and documentation wiki coming soon

Recently, I made the decision to use Dokuwiki as my wiki solution. I’m going to put up a wiki which will feature developer stuff and documentation for all of my coding projects that are hosted here.

The URL is There is nothing of any interest on there at the moment, but I’m going to get some content on there as soon as I can. With any luck, you can expect to have some good stuff up there by the end of this week.

Please note – due to some continuing issues with email sending from the new server, you may not get your password via email if you register for the wiki. This is likely to happen with at least Gmail, possibly other services too. If you don’t get your password, email me and I’ll sort things out.

This wiki should address the inexcusable complete lack of documentation thus far. I’d also encourage people to contribute to it as well if they can and want to. That’s why I’m going for the wiki format. 🙂

W00t, it’s working

It’s been online with this domain name for several hours now, and things seem to be working good. I’m extremely happy with how things have gone and I’m looking forward to doing some really cool stuff with my new dedicated server.

So, how does it work?

The server is my spare PC. It’s an AMD Sempron 2600+ (clocked at 1.6 GHz) with 1.5 GB of RAM and it’s running CentOS 5 Linux. It has a 40 GB drive which has the OS and the data on it, and also attached is a 160 GB drive for backups and any other data I need to store.

The relevant ports are forwarded on the router to the server’s internal IP address (which is static).

The clever bit is the bridge between the router and the internet. Our ISP gives us a dynamic IP address, which makes running a server a little tricky.

I bought the domain name yesterday (damn those squatters who already got the

I also bought the Custom DNS service from DynDNS. I let DynDNS manage my DNS. The router updates DynDNS with our IP every time it changes, and DynDNS then updates the relevant DNS records so people can still get to the site. Also, DynDNS sets the DNS records to a very short time to live (TTL), to prevent caching which might mean the IP would be out of date for some users.

It’s a pretty nice system and it seems to be working thus far. Hoping it holds out!

Despite a downgrade in connection speed, you should get the pages a little faster, as you’re getting the full 1.6 GHz grunt of the Sempron, not CPU time shared with many other people.

And I get complete freedom. Now I need to get one of those “I am root” t-shirts. 😛

I’m working on putting together a ‘Server Status’ page, which will hold possible downtime alerts (not that anyone cares particularly about my site, but I want to document the evolution of this setup) and some statistics too. Will blog here when it’s up!

Sorry for feed duplicates, but the migration is going well

You should be reading this courtesy of the new server as this post only exists in the new database. The migration appears to have gone fairly smoothly thus far, apart from some strange DNS name server delegation conflicts at the start. I’m hoping that problem is now solved.

I must apologise to everyone reading in feed readers, you may see a set of duplicate posts from the feed. This is a symptom of switching the FeedBurner source feed over and shouldn’t happen again. Once again, sorry everyone for that.

For those interested in my new server setup expect a post coming soon – I’m still enjoying a moment of post-migration elation. I need a quick break as well, been working quite hard to get things sorted over this weekend (I kept it secret quite well, didn’t I? 😀 ).

Feel free to comment on this post to test that comments are working properly.

UPDATE: please please please update any links to my site to The old domain should redirect for the short-term future, but it would help if you’d update your links as soon as you can to the new address. Thanks!

Server migration

I’d like to announce something quite exciting – I’m migrating my personal site and the blog over to a new server. It’s not just any old hosting solution though. I’m moving to self-hosting – using my own computer to actually deliver the site to you.

Why? Have I gone completely insane?

Well, no, I haven’t gone insane, I was anyway. 😛 But seriously, here are some of the reasons:

  • Control. With my own server, I control everything. I am root. Getting this privilege with a paid-for hosting package usually needs a lot of money every month.
  • No limits. With no-one to tell me how much disk space, databases, <insert commodity here> I’m allowed, I can do whatever I want. Apart from bandwidth, of course. I still have to be within the ISP’s terms (which I will be).
  • Learning. The best way to learn how to do system administration, is to do system administration. I’m hoping that administering a real-life site will help me learn lots. I like learning.
  • Hosting your own site is just plain cool.

There are, of course, disadvantages. There may be more downtime. If I have a powercut, my ISP goes down or I mess up some configuration, then the site will go down. Thankfully, it’s only my site, so it’s not vital to keep it online 100% of the time.

Still, you can’t learn without screwing things up occasionally.

I’m pretty excited about this move as it marks a new era for my personal site and blog. In fact, the domain name will also be changing as well, for technical and other reasons. I’ll keep the new domain name a secret until the move is completed, so I can check everything’s working properly first!

By the time you read this post, I will have frozen the database so I can move it over. Until the move is complete, I’m disabling all comments (otherwise things will get out of sync and that will not be fun).

Watch my Short-Form “Bird” Social Media Site Before It Went Terrible for up-to-the minute updates on the move.

GPLv3 for the win


When you convey a covered work, you waive any legal power to forbid circumvention of technical measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work’s users, your or third parties’ legal rights to forbid circumvention of technical measures.

Translation: down with the DMCA and similar.

The GPLv3 also will hopefully prevent future MS-Novell deals (and hopefully give Novell some problems too). No-one, and I mean no-one, should be able to extort FOSS users like MS and Novell are collectively doing. No I will not use Ballmer-blessed Linux.

Haven’t read the latest draft in detail, but I think I’ll be happy to offer my GPLed stuff under the new revision when it is finalised.

No disrespect to non-free software, by the way. I’m not anti-proprietary (which RMS won’t be happy to hear). I’m just against people and companies exploiting people who do choose to release Free stuff. That’s why I’m feeling pretty pro-GPLv3 right now. 🙂

New Linux desktop, Google Reader and other miscellaneous stuff

Once again, I’ve managed to let my post frequency here drop really sharply, which sucks. Sorry.

I just noticed that I have an alarming number of feed subscriptions in my Google Reader. Being the curious person that I am, I want to know how this compares to other people’s number of subscriptions.

Google Reader subscription numbers

So I have 189 sites that deliver me content as it happens. If you use a feed reader, how many subscriptions do you have? Compared to you, do I subscribe to loads, a few, or what?

You probably don’t know me very well if you don’t know that I like tweaking and playing around with stuff. After having quite a while of a green-themed Linux desktop, I got bored of it and decided I wanted blue back. This time, though, I picked a different window decorator engine so my desktop feels different. Still like my window controls on the left, though. 🙂

Desktop24042007Desktop24042007 Hosted on Zooomr

A random nugget of Mac information

Sorry about the lack of posting here, I’ve been mighty busy here working on other blogs I contribute too and plently of other stuff too.

Today I want to share a random bit of Mac trivia that I noticed. Be warned, it is really quite random, but it’s also pretty cool.

It’s a few ways to tell whether a Mac application is a Cocoa application or not, by looking at very subtle differences in how they work.

First of all, this is a nice easy way to discover whether something’s a Cocoa app. It works in all applications that use Cmd-M as the keyboard shortcut to minimise a window. Focus a window of your target application and press Cmd-M.

Watch the amber traffic light carefully as it minimises. If you can see the little minus sign in the traffic light as it minimises, then it is a Cocoa app. You must press Cmd-M, not just click the button, otherwise it won’t work.

Let’s take a look. In Safari, a Cocoa app, you can see the minus sign as it minimises:

Safari = Cocoa

But in Firefox, not a Cocoa app, nothing is visible:

Firefox = not Cocoa

You wouldn’t believe how difficult it was to get those screenshots in mid-minimise by the way. 😉

Anyway, that is basically it. From that you can tell whether or not an app is built with Cocoa. As far as I know, it’s pretty accurate, but let me know if it’s wrong at all.

There’s also another one. If your target application has a show/hide toolbar toggle button, click it. If the animation is smooth, it’s Cocoa. If there is no animation and it just switches, it’s likely to not be Cocoa.

Just thought I’d share that with everybody. Because I notice strange subtle details like that.

Upgrading to CentOS 5

A couple of days ago, CentOS 5 came out. On my server machine (I say server, but it doesn’t do a lot at the moment, it’s not even on all the time!), I was running CentOS 4.4, and I was eager to get upgrading.

After about half a day of trying to get the DVD ISO off BitTorrent, and getting 30% of the way through, I gave up and downloaded it off an FTP mirror in a few hours. Why is it I rarely ever have good experiences with BitTorrent?

So yesterday I spent a bit of the day upgrading and migrating all the stuff on there over. First of all, though, there was a 10-year-old hard drive still in that machine, which was basically sitting there and doing nothing. I decided I would unplug it, as all it was doing was killing itself slowly and heating up the box a bit more.

» Read the rest of this post…

SleekTabs demo video and demo page

Due to popular demand, here is a quick demonstration video of SleekTabs and how to add a new tab. It’s just under three minutes long and it shows you how to modify the example file (index.php that comes with the download) to add a third tab.

It’s only available at YouTube quality at the moment, but I’m working on getting a download to a higher resolution version up shortly.

UPDATE: full 640×480 quality in H.264/QuickTime is available here. 6.3 MB.

Also, if you want to see SleekTabs in action for yourself, check out this page which is the example file I modified during the screencast. There’s not much to see, but it was asked for.

Hope this helps those people who wanted to take a look before committing themselves to a download!

SleekTabs now in PHP Classes