Awasu » Drug-induced coding frenzy
Saturday 18th June 2005 12:32 AM [General]

If you've been hanging out here for a while, you probably already know that when things go quiet on the blog, it's usually not because I've disappeared to a tropical island somewhere for a few weeks R&R but because I'm back in the dungeons churning out the next release of Awasu (note to self: something wrong here, investigate).

And that is indeed the case. Over the years, the number of features that Awasu offers has increased dramatically and along with it, the number of configuration settings. Someone recently described the Awasu UI as "very powerful but daunting" and we couldn't agree more. So the next release will feature a dramatically revamped UI with a lot of things cleaned up and made tighter, less-frequently used options tucked away out of sight and a whole swag of new icons and images. It's looking really exciting and should be out Real Soon Now :-). We're just waiting on a few things from some third-party vendors and it'll be ready to go. It's been a mad effort to get everything done as quickly as possible because we've had a sudden slew of enquiries from a lot of companies wanting customized versions of Awasu (some extensively so) or to partner with us. So I've been trying to get this release completed in time for when these deals move further down the pipeline.

On a slightly related note, my esteemed colleague Nick Bradbury posted the other day about his recent drug-induced coding frenzy. The programmers amongst you will immediately understand what he's talking about, that totally immersed state you enter when you are completely in the zone, churning out thousands of lines of code and oblivious to whatever might be happening around you. I know I've been there many times, although never while doped up on drugs (that I can remember :roll:).

But for non-programmers, it's almost incomprehensible. The best analogy I can come up with is to imagine a computer program as a symphony score (I've long held that, often to people's disbelief, there are many parallels between computer programming and playing music, but that's another article for another day). A piece of software is a massively complicated machine, with a huge number of moving parts and dependencies between them all. Change one thing and it has a rippling effect throughout the entire program. This is one way bugs creep into a system, when somebody changes something without realizing the impact it will have on another part of the program. Indeed, one of the key principles of good software design is partitioning off the various bits of a program to isolate them from each other in order to limit this ripple effect.

But to get back to the analogy of software as a symphony, changing a single note for a single instrument has several consequences. The most immediate and obvious effect is that you might have to change what notes other instruments are playing at that instant in time in order for everything to still sound good. But the composer also has to consider how that passage of music hangs together as a whole. And then how it fits in with the entire piece. So changing a single note for a single instrument could have a cascading effect for many notes, for many instruments, for many bars, both before and after the one note that was actually changed! 😮 One can imagine Mozart furiously working one of his symphonies, adding notes here, erasing bits there, tearing whole sections out and re-writing them in a different way, all in an whirling effort to shape the piece into what he had in his mind's eye. That's computer programming! 🙂

4 Responses to this post

Agree 100% about how writing software is like writing music. One of my hobbies is composing little ditties for the piano, and the experience is very much like programming.

Thanks for the comment. I might actually sit down and write that blog post about the similarities between playing music and programming computers when I get a bit of spare time (yeah, right :-().

We should get together with the other guys and form the RSS Reader Developers Honky Tonk Blues Band or something like that 🙂 🙄

Couldn't agree with you more whole-heartedly about your symphonic comments... both such mind-boggling processes 🙂

[...] truth to it as well. I know I’d much rather be cutting code (even if it’s just rejigging a UI and struggling to get Windows to work the way it’s supposed to) than following up sales l [...]

Have your say