Graham King

Solvitas perambulum

Host your own Internet

When I first got my own server (a virtual private server with Linode which I highly recommend), I ran every Internet service I needed on it, and several for my friends. Over time, I gradually started replacing what I had with online services – I stopped running my own e-mail server and started using GMail, I stopped running my own gallery and used Flickr. Now I really rely on those services, so I got to thinking what I would replace them with if one of them was no longer available, or appropriate. Here’s what I would use:


I use GMail via Google Apps For Your Domain. I have my own domain name, so my e-mail address would not change if I hosted my own e-mail.

I would run Postfix. Before migrated to GMail I used to run Exim, which worked very well but the configuration file was baroque. The interface would be web-only, using SquirrelMail. I used to run an IMAP server, but I no longer see the need for it. Those two parts are easy, but the much harder part is spam reduction. That is really the benefit you are getting by having a large professional organization host your mail. I would use Realtime BlackLists (RBLs), then SpamAssasin, and ClamAV for virus scanning. If this didn’t stop enough spam I would use greylisting.

I use Flickr, which I love.

I’d replace it with Gallery, which last time I set it up had the best install process of any software I have ever used (possible tie with WordPress). I’d miss the social aspects of Flickr. The technical challenge would be getting all my pictures off of it. I should really be backing them up more often.

Online notebook

I maintain some notes online in a private Wiki. When I think of something I browse over to my online notebook and jot it down. I use it for everything from planning Christmas presents to organizing vacations and personal projects. Last week I moved this over to Google Sites. I’m not yet sure it’s going to stay there, as Sites is too much like a WYSIWYG web editor and not enough like a Wiki for my liking.

I wrote my own tiny Wiki in Python called Scribble. I’ll probably go back to that. MediaWiki is the one wiki to rule them all (mainly because it powers Wikipedia), but it’s far too complex for my needs.

Mailing list

I setup a mailing list to stay in touch with friends and organise events. We use Google Groups.

It used to be on Mailman, and I would probably go back to that. It was a bit fiddly to run, but it’s the gold standard in mailing list software, so it’s probably me not grokking it rather than it being difficult.


I use Google Talk via Google Apps For Your Domain, so like my e-mail I own the domain and my chat address wouldn’t change.

The reason I use Google Talk is that it uses the Jabber / XMPP standard. I would run my own Jabber server, probably jabberd14 because it is simple and stable. Openfire is a much more complete Jabber server which I prefer, but it is written in Java so the memory requirements aren’t compatible with a virtual server.

Web chatback

One of my sites has a widget on it which allows visitors to chat live to me. I switched this yesterday to Google Talk Chatback.

I would replace that with what I used to use; a custom Flex client. Flex runs in the Flash player. The XIFF library allows Flex to talk XMPP. This is technologically a better solution than Google Talk Chatback because the client receives presence messages, so it will update your status without a page refresh (yes it’s push technology for the web, see here). The widget would talk to my Jabber server.


I use Google Calendar, and have never hosted my own equivalent, so this is tricky. I would look for something that integrated with the Evolution calendar, because that integrates will with the Ubuntu desktop (my distro of choice). The only web based calendar a short search turns up is webcalendar, so I’d try that first.


Before I switched to, I had a frightening mess of bookmarks stored locally in Firefox.

Using really comes into its own when paired with the Firefox plugin. I really don’t know what I’d use. I might have to write my own, and hack the Firefox plugin to work with that. If I ever needed to write my own, hopefully other people would be in the same situation, so we’d have us a project and a community.