Checkit out Mao, the funk soul brother

Checkit out Mao, tha funk soul brother
Checkit out Mao, the funk soul brother. [devan78]

Sweet. Afros are back – great news for me. :-)

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!

The creed

How to be.

(And if you haven’t read every single xkcd from start to finish, you really should. Gorgeous gorgeous romantic poetic and true.)

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 deli.cio.us or something, I suppose.)

Thanks, moderate spender.

Robot beauty is just… incomprehensible.

Bash, while watching Futurama

Frob it!!!

Surely this is what molly guards are for?

Popgadget, and some thoughts on domains

Bash pointed me to popgadget yesterday — cool gadgetry and “stuff”, reported mostly from a geek girl PoV. Some representative goodies: Mmmm… Non-alcoholic malt liquor flavored with beef extracts! · go grammar girl! · your very own space age shower and turkish bath · skateboarding robot (rollerskating, more like?) · awesome inflatable iceberg climbing wall.

Peeve: once upon a time, .net domains were (albeit informally) reserved for people providing network services, eg ISPs, registrars, etc. These days it’s “just another” gTLD which anyone can buy space in, and I think that’s a shame. The appeal of the domain to its purchasers – as far as I can tell – is that you get to say “look! We’re on the net!”. Well, so? I mean, you have a domain, so clearly you’re on the net. Saying .net tells us nothing more about who you are. I guess what I’m trying to get at is: why have a variety of gTLDs if they have no actual meaning? As far as I can tell, the country TLDs have some meaning, but the gTLDs are just one big pool now.

Irony: I’m guilty of this too, having registered both gimbo.org.uk and gimbo.co.uk; in my defence, requests to the latter are rewritten as requests to the former, as I wish to discourage use of the latter, while retaining ownership. But why should I retain ownership? What if some fellow Brit forms a company called “gimbo” and wants the domain? Well, it’s obvious, isn’t it? I’d be rich! Rich! Rich! ;-)

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

Final notice! The Earth will fall into Null Space! ACT NOW!!!1111

I received one of these PDFs today, apparently from Frank Hatch himself, sent to my work email address. Quite fascinatingly wrgon. As spam, it certainly makes a change from drugs and 409s…

(Tee hee… When tagging this post, I accidentally forgot to comma-separate the tags, and gave birth to the new uber tag “spam-humour-religion”. Anyone care to found such a religion with me?)

Why the iPhone puts Java into the past tense (apparently)

In Which I Think About Java Again, But Only For A Moment [smallcool].

Me, I defected long ago. I’m another of those Apple Java engineers who dropped out. I spent five years as a raving Java fanboy, but I gave up after optimizing AWT, implementing drag and drop, and trying to make 1,200 pages of crappy APIs do the right thing on the Mac. Then I took a one-week Cocoa training course, and wrote the first prototype of iChat.

Desktop Java never worked because Sun tried to build their own OS on top of the real OS, duplicating every API and feature. This led to terrible bloat, making every app as heavyweight to launch as Photoshop. Worse, the GUI portions of the Java platform are awful, because Sun is a server company with no core competency at GUIs. The APIs are too clumsy to code to, and compared to any decent Mac app, the results look like a Soviet tractor built on a Monday.

He almost makes me want to get a Mac, ditch BSD and emacs, and start writing Cocoa apps – except that then life would just be too darn easy, and I’d never hear the end of it from TR (or Bash, probably).

It’s always somewhat depressing, or at least downheartening, to see someone like this tell me I shouldn’t be using emacs. It always makes me wonder if, maybe, they’re right – maybe out there there’s an editor that’ll do everything emacs does for me, but somehow nicer, more productive. Usually, as far as I can tell, that means the editor does IDE-like things such as autocompletion, code browsing, etc. – and yes, that’s stuff I just don’t use when coding. But gosh darn it, I’ve tried a lot of editors and nothing has ever come close, for me, to the feeling of power and (welcome) flexibility emacs gives me. Effortlessly editing multiple files in multiple split views in multiple windows (across multiple virtual desktops), powerful and easy regexp and macro capabilities, and (as one of the commenters on the linked article says) just doing The Right Thing with indentation in Python, Java, C, Haskell, … So the downheartening aspect is the tantalising feeling that there’s something else out there I should be using, but I just can’t find it! Of course, not using a Mac probably doesn’t help me, here. ;-)

I haven’t listened to Depeche Mode for a while, mind…

Oh, and here‘s another “Java is rubbish” story (comparing EJB lines of code with python/django) from the same source.

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 gimbo.org.uk/blog/ 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

You can’t beat python for seeing in the new year…

Gimbo’s New Year’s Eve 06/07: human_twister.py