Wednesday, 23 July 2008

On the road to Uganda

Tomorrow I'm flying to Uganda with eight other people on a mission trip to do building work for the Watoto orphanages.

Strangely, with all of the mad things going on here, I haven't really had a chance to stop and think too much about this trip.

It's no doubt going to be hard work, but an interesting and life changing thing to do. We don't yet actually know what kind of building work we'll be doing when we get out there; it could be house construction, or it could be essential infrastructure work. We'll see... Either way, I can't wait to make a difference in the lives of people out there.

I'll no doubt write about the whole experience in a couple of week's time when I'm back. I'm going to try to keep an audio diary of the trip, so hopefully there'll be something interesting to listen to, too.

My boss has asked me to kindly not contract malaria, or any other kind of life-threatening illness whilst I'm out there, so I'll have to bear that in mind...

I've not failed. I've just not succeeded yet.

I've not failed. I've just found 10,000 ways that won't work.
-- Thomas Edison.

I love programming - the act of creating a working piece of great code out of nothing.

Sometimes it's easy. No matter how hard the problem is you can see how to solve it, and you can intuitively construct a beautiful solution. It's like the problem just solves itself in front of you. Wonderful.

Often it's not that simple, and you have to work at the problem. That's when it gets really rewarding. You have to tax your mental faculties and stretch your abilities. There are some hard tradeoffs to make and some tricky design decisions. But, eventually you emerge out of the dark tunnel with a functioning piece of software and a warm fuzzy feeling. And you've learnt some interesting stuff on the journey, ready for next time.

However, sometimes it's not mere hard sailing. It's downright disastrous. The world conspires against you. You have to wrestle with problems outside of your control. Or, worse, multiple problems outside your control. It hurts. This might be rewarding work, too, but at the time it feels like your reward will be in heaven.

That's just where we've been recently. We've been fighting with a software release for a new piece of hardware. We didn't expect it to be a quick job, but we had no idea how nasty the release would turn out. We've been wrestling with non-functioning hardware, buggy drivers, bad operating system protocol stacks, you name it. Just when we thought we'd be really unlucky to hit another bug, along came another tedious (and hard to track) problem. Really, really painful stuff.

The interesting thing is that our main application software was blameless. We have rigourous unit tests and good coding practices that have ensured that it works pretty well. So unit tests are annoying: they remove all of the easy-to-fix problems, and force you to waste your time banging your head against really nasty things instead.

I hope that we finally have got it sorted now, as I'm off to Uganda tomorrow. But that's another story...

Thursday, 17 July 2008

Respect the Keytar!

This is a post that will satisfy synth geeks and very few others.

I recently bought a keytar, a Yamaha SHS-200 to be precise. It was a wonderful eBay purchase - bought for a song (pun intended) and in absolutely mint condition.

I really bought it for a laugh, but last Sunday at C3 we had a bassist crisis (they were all either playing guitar, busy, studying, dead, or something) and so we needed someone (a keyboardist) to fill in for our lack of bassists. Hang on, I've got just the right implement for that job... enter the keytar!

So there I was, on stage, playing an 80s retro throwback instrument. Genius! Despite my lurking doubts, the whole thing went really well. I was able to play some great bass parts, and doing so on the keytar was ace - I had room to move around, and wasn't constrained by being behind a large keyboard (which just doesn't make sense when you're trying to play bass parts). I normally move around quite a bit when playing keys, but there's a limit to how far you can move without a keytar.

The proof of the playability was in our opening song (Salvation is Here). It has a bass solo in the middle of it (check it out 2:20 in that video), which the keytar handled excellently. Much more fun to play than on my normal RD-700sx.

The Yamaha keytars are a bit limited compared the their obvious Roland counterparts, and it took a little getting used to. The keys are mini-sized things, and so are a bit fiddly to play, but once you're used to them you can play long bass runs without moving your hand too much. Useful.

The Yamaha beasts are not touch sensitive, which looked like it was going to be a real limitation. However, it turned out not to matter that much at all; in the majority of the songs you wouldn't have noticed anyway. This was only really a problem in quiet parts, when I had to modify what I'd play slightly. It did require some handling care, though: being small, light keys, it's also very easy to hit notes by mistake, or with your palm.

I only used the device as a MIDI master, and run the sounds from my normal rig. This is a serious retro instrument, and 80s FM bass honks would not have been appropriate!

All in all, it was great fun to play the thing live.

Keytars are going through a bit of a revival right now. I don't know why. Let's be honest, they're wrong in almost all important respects. They look silly. Any they make people squint at you like you're a lunatic. Using a keytar is just another way of asking for ridicule. But playing one is a very dirty kind of pleasure.

For those dull enough to care, more interesting keytar porn can be found here and here.