Categories
General

Employ wiki grass extensions

After the longest interview process in the world, my new job looks something like this. I am very excited. 🙂

I’d managed to glance at the TiddlyWiki website a few months ago without managing to notice that it is a complete wiki within a single HTML page. A single-user wiki, admittedly. But an impressive HTML + CSS + Javascript tour de force. Download a copy to your local disk, and after saying “Yes, this javascript is allowed to save to disk”, you can edit away. I’m impressed and horrified in equal measure.

I have been doing some more map-work in the background, using the baroque, heavyweight but very featureful GRASS package. I should have something tangible up on the web soon. Furthermore, I am writing GRASS tutorial so that other open-map folks can learn grass without enduring quite as much pain.

Firefox extensions rock, and after recently upgrading I’ve settled on the following must-have extensions: Web developers toolbar, some Live HTTP headers and an Aardvark for general web development, plus user agent switcher, TargetAlert and a better Download manager for general day to day stuff.

Categories
Programming

High Integrity Compilation

The book High Integrity Compilation is keeping my brain engaged as I munch my lunchtime sandwiches. The basic plot concerns writing a bug-free compiler, and the cast consists of the semantics of the high-level language being compiled and the semantics of the target assembly language. Happily, it’s really quite easy going. My previous encounters with formal semantics have generally left me feeling out of my depth. In contrast, this book deals with source/target languages which are just complex enough to show interesting properties but simple enough to pick up immediately.

I’ll try to give an example of why this book makes things easier. The “meaning” of a computer language is usually formally defined by a mapping from “programs” to some kind of mathematical object, like a set. This is useful because we can then leverage all of our mathematics knowledge to learn stuff about behaviour of the program. Now, most books on semantics start with a paragraph like “we’d like to use boring old primary-school sets as our mathematical objects, but they’re not powerful enough”. And before you know it, they’ve starting using domain theory and fixed-points as if they were as common as making a cup of tea. Around this point, I usually head over to slashdot and never return. However, the “High Integrity Compilation” book happily doesn’t disappear down this road. It stays safely up in the land of simple maths and easy state machines. The languages under consideration are simple imperative ones, and so there’s not the same focus on recursive functions that you get with ML-like languages and so you’re not immediately hit by a wall of complexity on page four of the book.

This book also dutifully walks through useful examples, working up from simple three-liners into multi-page walkthroughs. There’s a refreshing lack of the words “obviously”, “clearly” and “trivially” and instead plenty of concrete worked examples.

Of course, this means that the resulting compiler isn’t going to really change the world. The source and target languages are chosen for pedagogical reasons rather than real-world usefulness. But this means that, for someone like me learning on their own, you can quickly get a good grounding in semantics without having to deal with a whole load of picky little uninteresting details.

Categories
General

Subway [done]

Woo, the Subway gig was a huge success. I want to write about it, but I don’t really know where to start. When I go and see a band, “the gig” consists of the fourty or so minutes during which the band are playing. But when you’re playing the gig, it really lasts for weeks – from the moment you book it until the moment you walk off stage. I love the whole thing from start to finish. I love the nervous energy you get during the weeks beforehand from knowing you’ve committed yourself to doing the gig. I love the process of figuring out what you’re going to play, arranging and rehearsing it until you could play it in your sleep (and, in fact, you sometimes end up playing it in your sleep). I love the tech side of things – setting up all the gear, soundchecking, nervously checking and rechecking stuff, applying duct tape to everything in sight. And I love when you’re actually up there playing, when the music is flowing out.

Without getting too waffly, I think “performance” as an abstract thing is a magical thing. It’s something which is very real. It is here and now, transitory. It connects you into a tradition which goes back throughout history. Standing up on front of your peers and putting your whole energy and soul into what you are doing is just an amazing thing. This is why I love going to see small bands live. There’s an energy, a danger to it all which you don’t get from slick big bands or TV shows.

Back to the night itself, Tiny Monkey played a great set. Maybe I’m biased because I play bass too, but I think Keith’s confident bass playing really drives some of their songs, locking in with Doug’s ferocious pounding of the drums. They were a lot more relaxed than their previous Outhouse gig. Plus, I enjoyed messing around post-soundcheck playing drums while some of Tiny Monkey did guitars.

And then it was our turn. We set off with Slasherflick, a high-paced opener that lets us get warmed up, settled down and locked together. Later in the set, our “love song”, Only Wrote, came out really well. Our newest song, Days Like These, got its first public airing and I have to say, it’s a lot of fun to play live. The Rock Show got the Pie treatment (fell in love with the girl from the pie shop, she said “hey, do you want your pie heated up”). We finished on a specially extended anthemic Tigershaped, after which I was ready to collapse, but still got Foxy Muffin Man as an encore. I could’ve done with an IV drip after we came off stage, but instead made do with cider+black (classy, huh?) from Opium afterwards.

On stage, you’re kinda in a bubble. You can’t really see out to the crowd, because the stage lights are shining in your eyes. A lot of your attention goes towards listening to your bandmates, staying tight with them. And for me, I’m playing bass without being able to look down at the frets, singing and trying to remember all the words in time. So my brain kinda splits into multiple bits and a lot of it happens on autopilot, and it all flies past too quickly. But it’s great to peer out into the crowd to see friendly faces and people bouncing around. Thanks to everyone for coming along!

So, our plans for the near future. Iain is doing his finals (he had an exam the day after the gig, crazy man that he is), and then I think we’ll have a stint of producing some new material before hooking up with some other bands and doing some more gigs around Edinburgh/Glasgow area. We’re going to put the whole of the Tigershaped EP up on the web too.

One last thing: I didn’t have a camera, so if anyone has photos from the gig, I’d be really grateful if you can send me them. Michelle’s photos are great.