Maintenance time

I’m going to be doing some Gimboland maintenance over the next couple of days/weeks, so if things disappear or go doolally, that’s why. Ta!

Best gimboland blog comment yet

Um… what? Thanks for that, Ravi.

Another missed opportunity

I’ve just realised that the title of that previous post should have been “Two guys, one dinosaur cup”. Ah well.

Doors to hell

The Door to Hell [longnow].

Other entrances to Hell, originally noted by Gimboland in 2002.

Gimboland sidebar now shows Bash’s photos

I’ve modified the sidebar so it displays the last 5 photos from Bash’s flickr photostream rather than mine. I haven’t uploaded any photos to flickr for forever, and Bash’s are just better anyway. Tis an honour.

The sound of the quietness

Sigh… Surely not another “gosh, haven’t I been quiet lately” post? Well, yes. These always give me the same feeling as phoning my parents when I should have phoned them a week ago, replying to messages that have got buried at the top of my inbox (ha! buried at the top!), and seeing Rich at Christmas for the first time in Jesus was it over a year? Actually no, that didn’t feel guilty and crap, just good to see him again. Anyway…

It’s partially because of Facebook, and a recent tendency to post stuff there instead of here. Of course, the sensible thing to do is post it here and then post a link to that on Facebook. So that’s what I’m going to do from now on.

Of late, I’d say it’s increasingly been because I’ve started fairly enthusiastically using lovely ickle super microbloggy Twitter, with its lovely 140 character limit that gets me burning on my SMS-honed character-saving neurons, oh such joy. Actually it’s really great, especially the text message integration… I realise I could probably post to this (WordPress) blog by SMS if I was willing to jump through enough hoops, sacrifice a goat, set my penis on fire, etc. but frankly life’s too short and fire hurts. With Twitter someone else has taken care of making it work, and all of a sardine I can “blog” from anywhere. (Yeah, I know you can with Facebook too but I dunno, I’m still somewhat and actually increasingly ambivalent about the closedness of that particular community.) Getting tweety updates of what everyone else is up to is super fun too. It’s quite random, in fact: at some point, and for no reason I have been able to discern other than that I am cool and handsome, a Danish girl called Nina started following my tweets. Naturally I reciprocated, leading to the somewhat surreal experience, around New Year’s, of every now and then over the course of her 4-day bender, getting little snippets of the Edingburgh hogmanay experience (I infer that her bloke, “the imported alien” hails from thereabouts, also by his reported sporting of a kilt in Copenhagen on Christmas Day). All very odd, but also strangely encouraging for the future of the humanity.

So, yeah; Twitter: it’s jolly good. What I need to do now is find a satisfactory way of integrating it here (work in progress). Probably I’ll just arrange for every tweet to appear as a blog post, though that might annoy anyone who follows me both on Twitter and via the Gimboland RSS. The vain fools.

My other big occupation of late has been my thesis. I have about another month or so to complete it (ie completely). The word count limit for an MPhil at Swansea is 60,000 – this doesn’t look like it’s going to be a problem as mine is currently around 23,000, but it’s hard to tell with LaTeX, particular given the large amount of mathematical notation in chapter 11. Probably it’s even less… Picking another dimension to measure, it’s 93 pages long; I expect it’ll be about 120 to 130 by the time I finish, so you can see there’s still a chunk to do. Still, I’ve been working on this project for two and a half years now, and researching in the area for four, so I must say it’s a real pleasure to finally see some chapters which feel complete and well written, and to have the feeling that I might actually know and have done something. It’s also of course warm and fuzzies that the end is in sight, certainly with a telescope and possibly with binoculars. Every now and then I get a hint of the feeling of a future in which I have a Masters degree (hopefully not being too presumptuous), all smug and validated. I could do with a bit of that…

Finally, I’d just like to mention that I started using Google Reader for my RSS needs today, having got annoyed with trying to run and synchronise two slightly different versions of Liferea on my laptop and work box. Screw it, life is (again) too short. Con: it doesn’t seem to do HTTP authentication, which makes Basecamp feeds out of scope. Pro: what happens when you hit “?” and how pretty that looks. Main pro: declaring “newsfreed bankruptcy” and starting again. Ah, the fresh winds of change!

Ask Gimboland: web hosting recommendations?

I want to move to a different web hosting provider. Got any recommendations? (Particularly good UK ones?)

From day one, I’ve been with webquarry; I’ve been happy until recently. Now I’m unhappy because their MySQL server goes offline for 15 minutes every day for backup, taking Gimboland with it (I didn’t notice until I switched to WordPress, because my pages used to be static), and because they’ve just disabled catchall email accounts (for, eg, without telling us. I understand the rationale for disabling these, but having to work out ourselves that it happened has been stressful and costly, both in time and money (business lost).

I need to host 4 domains (,,, – with just aliasing; I need email and webspace on each of these; I need ssh access; I need MySQL databases; I need all the obvious things you’d expect, basically. I need it to not go offline for 15 minutes every day! I’d like it to be in the UK so latency on ssh sessions is reduced. ;-) Oh yeah, and I don’t want to pay too much…

I’m paying about $13 (about £7) per month right now, but only getting 1GB of disk space, 48GB of bandwidth per month (the bandwidth’s OK, but that disk space is tight.

Bash pointed me at Media Temple, whose grid service hosting looks excellent and good value at $20 pcm. 100GB of storage, never offline, up to 100 domains, 1000 emails, etc. – it does look good. If they were in the UK I’d go for it immediately. I do, however, have a slight hankering to host in the UK, if only for reduced latency during ssh sessions, and MediaTemple, like WebQuarry, look to be in California. :-)

So: who’s your web daddy?

Blogging as writing notes for public consumption

The Reason for Blogging, or rather Josef Svenningsson‘s reason for blogging – but I agree with what he says. In fact, I was only reading that post because he had commented on an earlier post of mine – a post which someone (ooh, dons)has submitted to and which was hence received some attention. As such, the following particularly resonated:

But then, why do I blog, as opposed to just writing on a piece of paper? The reason for me is that the possibility that someone might read what I write helps me write. Blogging means that I have an (at least potential) audience which I can target my writing towards. This (perhaps imaginary) audience is very important for me, I wouldn’t be able to write without it. I simply can’t motivate myself to write only for my own sake.

Absolutely. That post of mine about sections started with me just playing around for my own sake, investigating something interesting I’d just come across for the first time. I like to make notes (my memory is lamentably poor), and a blog is a nice way to do that; but as Josef says, once you commit to publishing, you think more carefully about what you write, how it’s structured, etc. Of course, I’m fairly used to writing (sometimes extensive) notes for semi-public consumption in my work, but a blog is nicer than a lecture in that anyone can leave comments and expand my understanding. That happens in lectures sometimes, but rarely, and almost never with random Haskell experts from all over the world. :-)

Another goodie of Josef’s: yak shaving. Yep, been there.

font-family: sans-serif;

I have Firefox configured to not allow pages to specify their own fonts: instead, everything just gets rendered as sans-serif. I do this to make the web more legible.

This morning I realised an unintended consequence: my view of Gimboland differs from everyone else’s! While I was seeing it in beuatiful clean sans-serif, everyone else saw Georgia, or Lucida, or one of a list of several possibilities specified by the style sheet. Not what I wanted! So, for now, I’ve switched Gimboland’s style-sheet to specify sans-serif. To my mind this ought to be nice & clean (assuming your fonts are reasonably sensible); you may of course disagree – do let me know if you care to. And you can, of course, override the font in your own browser if you don’t like it. ;-)

This is, by the way, part of my ongoing effort to make Gimboland look OK across platforms & browsers. I think I’ve sorted out the alignment in the header, and now the only thing to do is work out why the sidebar overflows horizontally under Windows (even in Firefox, I think?).

New Orleans flood warnings in 2001

While going through Gimboland history, I came across this post from 2001, discussing the near-certainty of an imminent catastrophic hurricane/flood decimating New Orleans — less than four years later, along came Katrina. Interestingly, Wikipedia tells us that the population of the city has largely bounced back since Katrina — so expect more of the same in a few years, I guess.

A treat for everyone who prints Gimboland to read on the bus

Sweet. I’ve just discovered the joy of media="print" Cascading Style Sheets. Now if you print (or, yea, print preview) any of the pages on Gimboland, the printed version won’t include sidebar, footer, most of the header, or a comment entry form (if one is present). Tidy!

This is achieved using the strip-it-down magic that is my print.css.

Seems to work great under Firefox. Slightly less optimal under IE7 but hey, who cares? I haven’t tried it with Safari or Opera yet. Any takers?

Spam problem seems to have resolved itself

The spam issue I reported a few days ago seems to have gone away (for now). I suppose they used addresses for “one run”, and then I saw the undeliverable reports petering in over the next few days (though mostly on that first day), and now they’ve stopped. Still, it could start up again any time.

My ISP’s advice was to disable the (otherwise very handy) “catchall” account; I can still create “one use” addresses my setting up an alias/forward (easily via their web admin interface), but that’s still gonna be a PITA (I’ll be bound to miss some, too). Why is the world full of people who insist on making things shittier for the rest of us? The catchall is really handy but now I’m told I can’t use it because of some asshat trying to sell viagra? It ain’t right.

Tags working again

Tags in Gimboland were broken. Now they’re fixed. That is all.


Curses – the good name of the domain is being sullied by spammers.

Today I found about 200 “Mail delivery failure” reports in my “catchall” mailbox. It looks like the spammers are abusing me indirectly, in a way which can’t be stopped. (Though I can fairly easily ignore them, tbh.)

Since I own the domain, I get to look after any email sent to that domain. There are a few boxes set up, but if you email, say, (for which there isn’t a mailbox set up), it’ll fall through to a “catchall” account. This is incredibly useful for, eg, signing up to websites. I don’t need to re-use a “real” email address, I can just use If that site ever sells on that address and it starts getting spam, I can filter it easily. Nice, no problemo, etc.

Unfortunately, this means that if anyone sends you an email with a forged reply address of (say), and you bounce it (because it’s obviously spam, or the recipient address doesn’t exist), your bounce notification ends up in my inbox.

It appears that some spammer has started using addresses for this purpose. I wonder if it’s someone I know having a go at me. Possible, but unlikely (I guess). Occam’s Razor says it’s probably just my random bad luck today. I wonder how long it’ll last… I don’t think there’s anything I can do about it, unfortunately… Ah well!

Later… TR suggested I was being Joe Jobbed, which I agree is possible. The profile of the spam is “normal contemporary spam”, however (ie nonsense text and attached gifs actually selling something), which perhaps doesn’t fit the Joe Job profile. *shrug*.

Good spam filtering in WP

I’m very impressed with WordPress’ built-in spam protection (well, strictly not built-in – but provided by the Akismet plugin that came bundled with). Since making the switch a couple of weeks ago, it’s caught 354 spam automatically, straight to the spam queue. Today, for the first time, two pieces of spam snuck through to the comment moderation queue. Even better, as soon as I hit “re-check queue for spam”, they were gone – yay, collaborative filtering.

This is such an improvement on my old situation, where I didn’t even have a separate spam queue, and occasionally spam was even published. It was pretty primitive, really. I expect that upgrading my MT version would have helped, but meh. Anyway, as Jo would say: will everyone please stop blogging about blogging, and blog. :-)

OK, I’ll stop being such a fucking snob

Yesterday, I saw how this blog looks in IE, and I was dismayed. So OK, I’ll try to do something about it. Sigh…

But seriously, IE users, what are you doing? Haven’t you seen Firefox? It’s so much nicer it’s just not true – and the plugins, oh, the plugins! Just having adblock should be reason enough for migrating, not to mention DownThemAll, gmail manager, PDF download, and VideoDownloader. Oh yeah, and IE Tab for those pesky pages that just have to be viewed in IE. So – no excuses, nothing to lose and everything to gain… Come! Join us!

Yahoo UI library for fluid layouts with CSS

Potentially useful: Intricate Fluid Layouts in Three Easy Steps.

This is a CSS library, from Yahoo (under a BSD license), which claims to do flexible page layout, with multiple rows and columns, arbitrary nesting, etc. well – ie works across browsers, works across font sizes, etc.

I certainly spent a long time on getting the layout “right” (or at least satisfactory) with gimboland-reloaded, and only really concentrated on getting it right in Firefox. I think there are issues in IE, and I haven’t even seen it in Safari. As I’ve said, I’m not so bothered, but I must admit to being tempted by a tool which claims to do this work for me.

I’m not going to apply it here, however (at least just yet). In particular, the following excerpt from the comments on that page is +1 Insightful, IMHO:

Like Andrew said, this is a step backwards. In order to change the look of the site, I now have to touch the structural layer. So now presentation is being relegated back to the markup, which is just all kinds of bad.

Nate Cavanaugh

The point being that for YUI to work, your desired rendering structure must be reflected in the document source — so for example, if I want the kind of layout I have here, then my structure must be “header, footer, and ‘container’ are siblings; main and sidebar are children of ‘container’”; whereas in the current source the header, main, sidebar, and footer are all siblings at the same level which is, well, just a bit nicer. :-) Still, I’m not 100% convinced it’s still not worthwhile, so I’m keeping the link around, hence this post. :-)

(Expect more “stuff I just want to bookmark” posts from now on (again) — unless I start using or something, I suppose.)

Hacking lightstats for ultimate tagness

I’ve hacked the lightstats plugin to forget about categories, and instead display “posts per tag” and “bytes per tag”, querying the tables created/maintained by ultimate tag warrior. Examples here. Code available by request.

Arguably the “posts per tag” is a bit redundant given the w00ty uber tag cloud – particularly once I have that displaying post counts in the tooltips. I’m quite proud of the “bytes per tag”, though… One big SQL statement gives me all I need:

SELECT tag, sum(length(post_content)) AS bytes
  FROM wp_post2tag
  INNER JOIN wp_tags ON wp_post2tag.tag_ID=wp_tags.tag_ID
  INNER JOIN wp_posts ON wp_post2tag.post_ID=wp_posts.ID
GROUP BY (wp_tags.tag_ID)

Well, OK, not so big. Quite big as a one-liner though. :-)

I’ve also installed wp-cache, which may or may not be pointless… (And, the following morning, disabled it, because it would prevent comments appearing for up to an hour after they’re posted!)

go faster stripes #2: sidebar comments & better tagging

The sidebar’s getting chunkier, with the addition of comment previews courtesy of simple-recent-comments.

I’ve also switched tagging tool; I was using category tagging, which is a deliciously simple solution let down by the WP interface for setting multiple categories – c’est clunky! Now I’m using Ultimate Tag Warrior which has a much slicker super-whizzy AJAX-o-matic type interface and also, to my eye, slightly more beautiful tag clouds. However, I do now need to hack lightstats further to examine tag tables rather than category tables – no biggie, just a little SQL tweakery some time. Oh yeah, and now all posts will have the category “Uncategorized”, because I just don’t need categories to be visible any more; so I need to fix the RSS feeds to list tags not categories, and redirect all /category/ URLs to the front page, or maybe to /tags/.

go faster stripes #1: flickr sidebar

I’ve added a flickr feed to the sidebar, using the flickrrss plugin. Nice plugin: I can control how many images to get, their size, whose images to get (user, group, everyone, etc.), refine it by tag, and cache the thumbnails on my server so they’re not fetched from flickr for every hit. Sweet. It can only handle one such feed, unfortunately, but I guess I can live with that. :-)

gimbo breaks everything – hurrah!

Well, hopefully not everything, but…

Woo: I’ve migrated (some might say upgraded) gimboland from Movable Type to WordPress.

This is the fifth system I’ve used to maintain gimboland. Initially I was just editing HTML by hand; very soon thereafter I started using Blogger; in June 2002 I ditched that in favour of some home-grown Python scripts; in December 2004, the desire for a commenting system led to Movable Type; now this. What next? Something in Haskell, perhaps? ;-)

The migration process was by no means “one click” (though aided considerably by my host’s use of directadmin and installatron) – which is why things have been so quiet here lately – and has had a number of consequences…

For one thing, all the URLs have changed, which means bookmarks and inward-links will tend to be broken. I’ve tried to fix this as much as possible with HTTP redirects (yay apache magic). There are nearly 2000 posts in Gimboland, however, so that’s now one long .htaccess file. :-) I might well have screwed up, so if you’re aware of anything missing or horrible, do let me know. One possible issue is the syndication feeds: I used to have RSS and atom feeds, whereas now there’ll be just one RSS feed in a different location – if the feed situation is unsatisfactory do let me know and I’ll look into alternatives.

The most obvious change is that all the blog stuff is now off rather than at the root; the rest of Gimboland – ie everything not off /blog/ – is still in a somewhat broken state (in particular the images), but now I’ve got this major part back under control, I look forward to making the rest of the site as good as I’d like it to be. The only problem is that it takes so long to get this stuff sorted, and I’ve got so much other stuff I should be doing. Well, I’ll get there, particularly if I remember that perfect is the enemy of done.

What else has changed? Generally, things have been getting “crufty” for a while, and much of that cruft should now be gone. The search box is working again; comments are up again (and handled better, particularly for code samples – though we’ll have to see how WP handles the spam question); we now have tags rather than categories; hopefully the colour scheme is nicer. :-) Finally, WordPress is GPL‘d, unlike Movable Type – yay.

Anyway: now it’s really time (I hope) to stop tweaking this stuff and start blogging again. And on that note…

WordPress appears to have a quite powerful plugin architecture; one plugin I’ve found fun is lightstats which, with some tweaking (bleurgh, PHP), gives me some interesting and informative graphs about gimboland’s posts over the last nearly six years. The first two show category use and are boring at the moment because most of the posts are uncategorised: I aim to fix that. The third one, posts per month, is the one I really wanted, and it’s a depressing sight: I’ve really dropped off posting over the last couple of years. Part of that, maybe, I hope, is that I’m posting less but better (much early stuff is just links to silly things), but I think I’ve also just trailed off in shame as the site got cruftier and cruftier. Thus, onwards to a cruft-free post-rich future!

Posts per category, snapshot 21 Jan 2007

Words per category, snapshot 21 Jan 2007

Posts per month per category, snapshot 21 Jan 2007

Comments per post, snapshot 21 Jan 2007

And something I dislike…

I’ve disabled comments for the moment – I’m getting too much stupid spam which my current filters can’t deal with. I’m in the process of upgrading my blogging software, and I’m hopeful the new version will deal with it better. It’s very annoying… My current filters work really well at preventing the spam from actually getting published – that is, I am not a good target for the spammers. It doesn’t stop them though, and I’m having to wade through tons of junk every day on the offchance that someone has left a real comment I should publish. Oh, the tedium.

I hope I’ll be able to turn this on again over Christmas or in the New Year – but no promises.

Gimboland is five years old

I Am Five!

Five years ago today Gimboland began. Actually, it began some time before then, but that’s when I switched to Blogger and previous hand-crafted posts are, apparently, lost.

I’d hoped to get a bit retrospective, including links to the longest post, the shortest, the busiest month, the quietest, etc. I’d also hoped to unveil a new (hopefully cleaner and certainly much less black) design I’ve been quietly working on. Unfortunately work and life in general have been horribly hectic and stressful lately and so it didn’t happen. The things we hope will happen rarely turn into the things that do happen, it seems. Anyway, woo.

Also, yes: unlike Defective Yeti, I can count! :-)