Garfield Minus Garfield

Garfield minus Garfield [Thomas Bradley, but not that one].

Who would have guessed that when you remove Garfield from the Garfield comic strips, the result is an even better comic about schizophrenia, bipolar disorder, and the empty desperation of modern life?

Sparse, quiet, despair.

I am an exemplar of Andyness!

Surreal… This page, explaining why “Andy” is a better abbreviation of “Andrew” than “Drew” includes this picture (taken by by Markus) of me pulling one weird-ass face — apparently that’s some good Andy! If I recall correctly, I was listening to Yoshinao Isobe explain his encoding of one of the models of CSP in Isabelle/HOL. That kind of thing will tend to induce face pulling, mind.

Andys rule. Andys play bass and trombone and some of us even play bass trombone. Andys are good with their hands. Andys will make fun of people but no one will care because everyone knows an Andy is just being an Andy and not out to hurt anyone. An Andy will send you flowers just because.

Andys will date your sister and marry her.

I can’t really fault his logic. Partially because there isn’t any, but also because it’s all true.

Why functional programming?

Because it will warp your mind [raganwald].

So I’m here to say that mindwarp #3 is discovering the function as the basic unit of abstraction. Jaw-droppingly beautiful abstractions and generalizations can be created out of just functions. You can rediscover the usefulness of partial functions and currying, which were techniques created in the 1800s. You can be in the direct lineage of Alan Turing, who used higher order functions in the 1930s to define his theoretical Turing Machine in his paper “On Computable Numbers, with an Application to the Entscheidungsproblem.” And you can finally understand recursion in a deep and intuitive way, and you’ll feel like you’ve looked into the abyss and somehow come back to tell everyone else about it. And maybe, just maybe, you can explain to me what a freakin’ monad is.

Word.

Using ping.fm for facebook & twitter updates by email and SMS

Bit of a brain-dump, this one, but maybe of interest to social networking butterflies.

I’ve been on Facebook for a while now, and the things I like best are a) the photos (other peoples’ – I use flickr), b) the event organisation, and c) the status updates. It’s nice to see what people are up to. Twitter is the distillation of that idea: it’s just status updates, and it’s great. Why am I telling you this? You probably already know. Anyway, that’s not what this post is about.

The problem with twitter is that it’s flakey as hell. This is largely attributable to “too much success too soon” syndrome, although it might also possibly have something to do with their implementation platform (Ruby on Rails). *shrug* I also have no idea what their business model is, because they don’t advertise, and must send more SMS messages (broadcasting tweets) than they receive (from people sending tweets for broadcast). Maybe they get a big cut on the received ones. Anyway, that’s not what this post is about.

It’s tedious to update your status in two places, so it was nice that Facebook had the TwitterSync application, for pulling all my tweets through to Facebook. Unfortunately, twitter really is flakey as hell, and in particular for the last two months or more they’ve had a note up saying “We’re working to restore IM services to all users. Thanks for your patience!”. This refers to the API whereby tweets may be sent/received using instant messaging clients such as MSN, Jabber, etc. It’s been broken for getting on for as long as I can remember now, and TwitterSync relies on it — net result, my Facebook status hasn’t changed much in living memory!

Bash to the rescue. She told me about ping.fm, a sort of meta-status service which propogates updates to multiple social networking sites, including Facebook and Twitter. I’ve just signed up (let me know if you want to as well: I’ll give you the beta key) and yup, it works: I can update on the ping.fm website and it magically appears on both my Twitter and Facebook statuses. Nice.

I’m mostly happy to use the web interface, but of course one also often wants to update via SMS from a mobile. Ping FM doesn’t support that just now (”we are only a couple guys in a garage”), but searching their (cannily outsourced) online help we find posts tagged “mobile”, including exactly the question I want to ask. That’s the source of the “two guys in a garage” quote above (which of course makes one wonder how long this will remain a good idea, but hey, Apple), but also a pointer to these instructions on sending updates to ping.fm via SMS using what appears to be a public SMS->email gateway. I can report that at time of writing, this works. I presume I’ll still pay premium rate for messages to that number, but hey, I did with Twitter too and it didn’t seem to stop me.

Win.

While on the topic of updates via email (since that’s the basic mechanism used in the above), I noticed that ping fm will ignore signatures but only if they’re preceded by “—-”, ie four dashes. That’s stupid: everyone knows the standard is two dashes and a space. But it’s OK, because I am an early 1990s throwback and still use mutt for all my email, and it’s configurable to hell and back. I just add:

send-hook (myuserid@ping.fm) unset signature

to my .muttrc and any email updates I send to ping.fm are automatically sig-less. Sweet.

On the subject of mutt configuration and send hooks: how to set up sender profiles.

Photos: Budapest with Alexa, March 2008

Here, finally, my photos of Budapest, from the week I spent there with Alexa at the end of March (as mentioned in an earlier post).

Yes, it’s really taken me three months to get back to tagging and naming them. You can’t really blame me: I did it once already then half the data was lost — such an experience is extremely disheartening. Stupid data.

Choice cuts:

The Alexa's tree St Steven's Basilica 300 stairs later Hammer On Alexa, slightly furrowed of brow Interesting graffiti First Alexa triptych More Alexa disdain Window arm, Margit Telescope eyepiece World Heritage Noncy! This way to the Labirintus Fisherman's Bastion, reflected (1) Happy Window Face... Peter Mansfeld Memorial (6) Kwak suds Andy drinking Kwak Budapest Fringe Festival, wobbly Alexa Approacheth, at the Fringe Magma Fire Theatre at Budapest Fringe Festival 2008 (2) Magma Fire Theatre at Budapest Fringe Festival 2008 (8) Magma Fire Theatre at Budapest Fringe Festival 2008 (14) Alexa on a Jetty Aggressive dog statue

First Alexa triptych

Andy drinking Kwak

Alexa Approacheth, at the Fringe

Portrait of a Kitteh

Portrait of a Kitteh

Swansea Bananaphone Flashmob Video

Swansea Bananaphone Flashmob

Nice vid, Dan. :-)

LoC is a measure of cost, not productivity

Yet people talk about programming as if it were a production process and measure “programmer productivity” in terms of “number of lines of code produced”. In so doing they book that number on the wrong side of the ledger: we should always refer to “the number of lines of code spent”.

Dijkstra, The Fruits of Misunderstanding, and also a similar sentiment (earlier) in “Why is Software so Expensive?” An Explanation to the Hardware Designer — quote spotted on reddit.

… and from the second (first, chronologically) of those essays, Dijkstra hitting the nail on the head with regard to aspects of some recent rumblings about higher education:

To the economic question “Why is software so expensive?” the equally economic answer could be “Because it is tried with cheap labour.” Why is it tried that way? Because its intrinsic difficulties are widely and grossly underestimated.

To any of my students reading this: don’t underestimate the difficulty of the tasks we’ve been educating you to tackle; thus, don’t underestimate your worth if you get good at attacking those tasks; thus, hopefully you’ll appreciate (if not now then one day) the value of a degree in (actual, not pretend) Computer Science.

Doors to hell

The Door to Hell [longnow].

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

A weekend of shenanigans

My my, I’ve had a busy (by which I mean fun and not working at all) and sociable (by which I mean much ale and good food, including bananas, was quaffed with silly people) weekend.

It started on Thursday evening, when a whole bunch of us went out to celebrate my birthday at Wasabi, my most beloved local eatery. I mean we celebrated at Wasabi, not it was my “Wasabi birthday” or something. Anyway. Through a combination of the magic of Facebook and the strong appeal of sushi, some forty people chose to celebrate Gimboday with me. I actually turned up a few minutes late, having gone for a quiet pre-meal beer at the Uplands Tavern, and was a) gobsmacked at this crowd of people waiting for me, and b) without somewhere to sit. Oh, it was great. The food was super, although Wasabi really doesn’t seem able to handle large groups: we were split across two tables, and it’s not a gross overstatement to say that everyone on table 2 (which I was on) had received all of their food before anyone on table 1 had received any. Given that by its nature Japanese food tends to come in many small portions (just like Arnold J Rimmer’s love), that really doesn’t make any sense, and must have been hugely frustrating for the denizens of table 1. Anyway, everyone was lovely and I really must log on to Facebook and thank them all for coming more coherently than I managed to in the speech I vaguely remember making. If I tell you I got everyone’s attention for the speech by clanging together my (empty) sake flask and (empty) sake cup, you’ll get the idea. A few of us topped the night off at Mozart’s for good measure. Apparently. Photos here.

Alien Bash Behold my awesome... er... Ladleface! Alexa and Ladleface Hannah and A Mysterious Mustachioed Stranger Emily Seran and Steve

Friday was, by comparison, very quiet. I tried not to make too much noise, or be anywhere too noisy, all day. I’d like to say I enjoyed two episodes of BSG with Bash on the sofa in the evening, but in truth only one could be enjoyed, the other being an insult to all intelligent beings. Tedious predictable cliched crud, alas.

Saturday was banana day. There’s a photo of me on the cover of Mondays’ Evening Post, next to the headline “WORST CHILD PORN EVER”, so that’s nice.

Saturday night was the annual SUCS beach party, and it was the biggest yet. Despite thunder and heavy showers (and even a spot of hail) earlier in the day, it was a fine fine evening, and a beautiful morning when the sun arose “sticking her rays all over the place” as Dave delightfully put it. I may possibly have had a few ales as the night progressed, it’s really impossible to say. I certainly laughed a lot.

The highlight of the night was noticing a bunch of third years playing a drinking game based on my name. Well, to be fair I think they’d adapted a “bingo” drinking game, but anyway. The object of the game was to spell the word “GIMBO” by shouting out its letters one at a time, but if two or more people shout the same letter simultaneously, they have to take a drink. I noticed them shouting “G! I! M!M! Fuck! G! I!I! Fuck! G! I! M!” at which point I jumped in (literally, splatto on the sand) and shouted “B! O!” to cheers and a rousing cry of “And Gimbo was his name-oh!”. Probably one of the happiest moments of my life.

If anyone can remind of the context which gave rise to the following 8AM tweet, I’d be grateful:

Wondering why no-one calls their firstborn “Gimbowang”. Why do you all continue to defy me?

Update: camp-fire singalong video, rofl, etc. [via welti]

The weekend was rounded off beautifully by spending Sunday with my new friend Sioned, a fellow drummer, ending with a visit to Arthur’s Stone and The Greyhound for dinner. Awesome X.

At King Arthur’s Stone, seeing for miles, hearing nothing but tweets and bleats - lush. Next stop: The Greyhound!

another tweet, 7:20pm

more retro »