April 23, 2008
Twitter Tracking

Twitter tracking; creepy, not creepy (I hope, in response to this).

Posted to The Internet by Simon Brunning at 01:03 PM
April 22, 2008
Mac Shortcut of the Day

⌘-` cycles between windows of the active application, ⌘-~ cycles backwards. Learning this somewhat lessens the pain of not having a working Witch.

Posted to Mac by Simon Brunning at 02:51 PM
Burn the Witch

Since moving to Leopard, I've had to do without two of my favorite little apps; Witch, a window switcher, and growlnotify, a command line growl notifier.

growlnotify is still dead - this workaround doesn't work for me, nor does the beta, and I can't even work out where to download the Python bindings.

Witch 2.0 is out today. Sadly, that's still not working either. Sigh. Windows in spaces other than the active one still don't show up. Apart, strangely, for iTunes and Notes.

Now Textpander has stopped working too. Bugger.

Posted to Mac by Simon Brunning at 02:07 PM
Sport Without Beer?

The good news; the new Guardian Sport and Football sites were launched successfully, and seem to be working fine. The bad news; 24 hour licensing notwithstanding, we couldn't find anywhere to serve us a beer at two in the morning. Grrr.

Update: More on the new sites here; Our new look.

Posted to Apropos of nothing by Simon Brunning at 09:59 AM
April 21, 2008
Guardian Easter Eggs

Nice post from Sean on not so obvious features at the Guardian. I particularly like the Charlie Brooker feed.

Posted to Website construction by Simon Brunning at 09:23 PM
Panic!

Thanks to Jemima Kiss for the special key that we've been using for site launching:

panic.jpg

Posted to Website construction by Simon Brunning at 09:15 PM
Missing the Point

Cluetrainwreck - Comcast have been monitoring twitter for averse comments about them, and responding with messages along the lines of "I hope we can change your perception".

The creepy stalkerish twitter-scanning side of this aside, this so reminds me of New Labour. Whenever some New Labour apparatchnik appears on TV to discuss an unpopular policy, the line always seems to be "we accept that we have to work harder to get our message across". The idea that we all understand the message perfectly well, but don't like it, doesn't seem to occur.

Posted to The Big Room by Simon Brunning at 09:04 PM
import soul

Python has a module for everything.

Posted to Funny by Simon Brunning at 10:56 AM
April 17, 2008
DOSing the big G

We often have applause rippling around our office. Usually it's positive but not always...

Yesterday, one of our devs (who shall remain nameless) was looking for duplication in some form of content or other, and came up with a script. It was always going to be evil - it was in Perl. The script made calls to Google, looking for duplicate results. He kicked it off, then went out for lunch.

Google, naturally, blocked us PDQ. Quite right too - see 5.3. They blocked the entire Guardian. (You could still use Google, but had to get past a captcha for each search.)

Of course, we've all done it. Haven't we? But blocking the entire Guardian was a bit of a coup.

Took us a while, but we managed to find the box in question and kill the script. The nameless dev was late back from lunch - we were speculating that he might have been bundled into a black van with a G on the side. But he did get back safe and sound, to a rousing round of applause from the entire office.

Posted to Apropos of nothing by Simon Brunning at 02:15 PM
April 16, 2008
Welcome to the newest waste of time on the 'net

Backward looking old fart that I am, I've only just started twittering.

Posted to The Internet by Simon Brunning at 05:13 PM
More on the GAE

One of the most interesting things about the GAE to me is the non-relational data store. I've blogged only recently about my doubts about that approach.

A friend of mine from the big G go back to me about this. "To answer your question about what's wrong with a real database, the datastore is all about scalability. The API trades off flexibility with access paths and transaction boundaries for the ability to store terrifyingly huge volumes of data, while serving a bazillion concurrent accesses.

Compared to an RDBMS, I find this style of data storage requires a bit more thought and design up front. However, almost every RDBMS based app I've ever written has required me to go back and optimise my schema and queries any way, so overall, schema-related work is about the same. Not having SQL does make running arbitrary reports and so forth more difficult."

Hmmmm. Now, coming from Google, this bears thinking about. Scalability as an issue I can see. We do have to put in a lot of work to keep guardian.co.uk performant, and it's almost all at the database, fiddling with schema and queries level. Much to think about...

Other people's thoughts on this; Google Datastore and the shift from a RDBMS and Google AppEngine, BigTable and why RDBMS mentality is harmful.

More on the GAE:

Posted to Software development by Simon Brunning at 03:46 PM
Lifts

Up and Then Down, fascinating article about lifts. Did you know that the close button usually doesn't do anything?

In future, I'm taking the stairs.

Posted to Apropos of nothing by Simon Brunning at 03:32 PM
Eeek!

If you suffer from vertigo, do not watch this:

Freaked me right out, I can tell you. Right, I need a cup of tea...

Via Binary by Accident.

Posted to Apropos of nothing by Simon Brunning at 09:19 AM
April 15, 2008
Battles with medievalism

I was appalled to read about my colleague Megan's battles with medievalism in Women without a country. It's shocking that this kind of bigotry is still enshrined in law.

I hope that this kind of thing wouldn't happen over here due to the frequently (thought almost always unjustly) maligned Human Rights Act. We do have our share of bigots, though.

Megan, my heart goes out to you. Good luck.

Posted to The Big Room by Simon Brunning at 01:23 PM
A new role...

Looks like I've been outed.

Posted to Python by Simon Brunning at 09:49 AM
April 11, 2008
Meme of the day
dawkins:release-33 simon$ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}'|sort -rn|head
  232	svn
   29	cd
   25	sudo
   22	svnlog
   18	rm
   17	ls
   15	ssh
   12	notify
   11	python
   10	mate

Update: I like Tom's; cowsay, brilliant.

Posted to Apropos of nothing by Simon Brunning at 01:28 PM
April 09, 2008
Emergency

Sky-high prices, flat beer and no fags: how the pub bubble burst

Right, I'm going to do my bit to support this ailing, vital industry, and I expect each and every one of you to do the same.

Err, OK, except you, Mum. ;-)

Posted to Beer by Simon Brunning at 01:59 PM
Google App Engine Roundup

Loads of stuff in the blogsphere about the Google App Engine, unsurprisingly, some of it even worth reading.

So, it's looking good, though I'm still concerned about lock-in. It's not just the Datastore API which locks you in - that's probably fairly east to emulate - but also the Authentication and Authorization API, which looks much trickier.

Update: As Ade says, you certainly don't have to lock yourself in to GAE's Users API.

Posted to Website construction by Simon Brunning at 01:00 PM
Website of the year

The Guardian wins the website of the year award at the British Press Awards. Well done us. There will be cake today. ;-)

Fingers crossed for the webbies...

Oh, and some people appreciate the fine details, too.

Posted to The Internet by Simon Brunning at 09:44 AM
Think you're having a bad day?

This is what I call a bad day. First you die, then they lose your luggage. Bummer.

Posted to Apropos of nothing by Simon Brunning at 09:39 AM
April 08, 2008
Life in the old dog yet

I've had some pushback from Felix over my relational databases aren't dead yet post. He points to db4o.

Now, I've not used db4o, but I've tried out ZODB, and very good it is too. especially with a dynamic language it's really nice to be able to tag arbitrary attributes onto your objects, and to be able to persist and retrieve them complete.

But still, I've be wary of using one for a real project. Performance aside, there are things that you just can't do as easily with an ODBMS as with an RDBMS. I'm thinking of things like:

  • Report writing
  • Data loading
  • Data exploration (especially during debugging)

Also, I find it hard to imagine that an ODBMS can be optimized to the same extent as something as notionally simple as a relational database can be.

All this is leaving aside things that don't yet exist AFAIK but which are probably just a small matter of programming - management tools, clustering, that kind of thing.

No, I'll be sticking with the RDBMS for the foreseeable.

Posted to Software development by Simon Brunning at 04:49 PM
Music Hole

I picked up Music Hole, and have been listening to it pretty much ever since.

I was a little disappointed to start with. It's a bit less consistent than the stellar Le Fil, and two of the weakest tracks are amongst the first four, so it's not a great start. Worse, she's singing in English half the time! That's terrible - the French is half the attraction.

But still, there's some great stuff here. Home is Where it Hurts, Cats and Dogs, Money Note and Waves are all fabulous. Inventive, catchy, surprising, funny; classic camille.

On my way home yesterday, I spotted a review of Music Hole in one of the free rags over someone's shoulder. Glad as I am to see camille getting some mainstream exposure, I was disappointed to see her compared to Björk. And in the first sentence of the review, no less.

Now I can see where this comes from. Both are talented female singer-songwriters, both have superb voices, both are rather experimental, both not native English speakers, both rather beautiful in an unconventional way. Not least, both are totally Upton Park.

But the thing is, though, that this was supposed to be a music review, and they don't really sound anything like one another.

The Guardian review was better, even if they didn't like as much as they should have done. Yes, should have done, dammit!

(Upton Park - two stops short of Barking.)

Posted to Music by Simon Brunning at 04:08 PM
Google App Engine

The Python blogsphere has been exploding with the news of the Google App Engine today. And fascinating it is too - free hosting for Python web apps, Django included. With the might of Google behind it, this will push Python big style. Take that, Rails hype!

I'm a bit uneasy about the datastore, though. Not only does this gut any existing Django app, it also any means that any app that you write that persists data (read - non-toy) will be bound to the GAE API. What's wrong with a real database?

Naturally, I've signed up already. ;-)

Posted to Python by Simon Brunning at 03:33 PM
April 02, 2008
Who will write tomorrow's code?

Who will write tomorrow's code? Perhaps no one will need to, thanks to Proj-o-matic!

Seriously, there's a good point here. When I was a kid I had a ZX81. You couldn't play any worthwhile games on it, so the only real fun you could have with it was to program it, if you were so inclined. (Lord, did I dream of getting a QL. I mean, 128K and 2 built-in microdrives? Wow! Never could afford one, though.)

Programming requires a certain way of looking at a problem, a certain approach to breaking it down into automatable chunks. I firmly believe that this way of thinking can only be developed by exercising it, and that it's most easily learned as a child, while your thought processes are still developing. I hold this belief with no evidence whatsoever. Hey, it's my blog! So sue me. ;-)

These days, more kids have a console than a general purpose computer. Most of those that do have a general purpose computer are running Windows on it, so they don't get built-in development tools. Of course, you can simply download something for a general purpose computer, and even for a console there might be solutions for anyone who's really keen. But either way it's much easier just to fire up Call of Duty and blast stuff. So, what's going to happen?

Posted to Software development by Simon Brunning at 03:48 PM
How does he smell?

Terrible!

Sorry.

Posted to But is it art? by Simon Brunning at 12:36 PM
April 01, 2008
Hard to Expel

Brilliant. PZ Myers, uh, social engineered his way into a public conference call by producers of Expelled, bided his time, then jumped in and pointed out where they were lying.

All this, and a Firefly reference too. The man's my new hero.

See I always aim to misbehave.

Posted to Atheism by Simon Brunning at 11:07 AM