Wednesday, November 14, 2007

How fast is your turnaround time?

There's currently a question been posted on AskSlashdot which asks How fast is your turnaround time?:

...Overall, we manage to get a 'bullet-proof' patch in about 4-5 weeks (from coding->QA->Build/Packaging->shipment), which I consider not so bad. But the other day, we got an urgent request from our support team to come up with a decent fix in 48 hours. I think they're a tiny bit unrealistic. So I wanted to get feedback from my peers: are we doing that bad?...


Esendex's core product is an online service, which means our customers don't need to install anything. So realistically I'm not in a position to comment on this particular matter. We don't need to go through a packaging stage, and we can be pretty confident that we won't have installation issues as we own all the server hardware the system runs on.

But looking at the timescales involved here puts a few things into perspective. If one of our releases introduces a critical error (by which I mean that people can't use our service anymore), then the entire business rests on getting that error fixed. In these cases (thankfully they are few and far between) 48 hours is just too long. In fact much too long.

If we're in a position where we have customers not able to send messages then our SLAs make us contractually obliged to fix the problem within 4 hours. I remember being alerted to one such error a few years ago at 2am on a Sunday morning. By 5am that day the system was patched and fully operational again.

A quick turnaround stems from the design methodology you are using. With XP we learn to expect change, so we make sure that we don't code ourselves into a corner. This makes new requirements easy to add, but it has the side effect of making most bugs easier to fix as well.

Of course, there's always going to be the possibility that your design is so flawed that it's impossible to fix a certain bug. In these cases backing out of an update is sometimes the only feasible option.

All non-trivial software contains errors. If there's one truism about software development, that's it. The important differentiating factor is the severity of those errors. A truly business critical severe error needs to be fixed as fast as possible, and if it means late nights then so be it.

As professional developers we're paid to release working software, and if that software doesn't do its job then we haven't done our job.

Tuesday, November 06, 2007

And so I bought an Ipod Touch...

Just happened to pass Curry's at lunch, so I wandered in from the cold and had a look around. Among the Ipods was the new Touch, with the tempting notice of "Back in stock" next to it. I've been wondering about getting one since seeing it reviewed on Something for the Weekend, and as I asked the shop assistant if they did indeed have some in stock (as I no longer believe everything I read) a strange feeling swept over me.

And so I bought an Ipod Touch, and I must say I am very impressed. I haven't put any music on it yet as my music collection is at home, and I am at work, but the internet connectivity is very useful. The Safari browser is cool, and it has the "pinching" zooming that the IPhone has.

And the Esendex website works through it too. I think I must be one of the few people that have sent a text message from an Ipod Touch :).

Monday, November 05, 2007

Zero Punctuation

I got emailed a link the other week to Zero Punctuation's MOH: Airborne review, and this evening I've just watched a load more.

Very, very funny. I can't recommend them enough.

Check here for a list of reviews

Remember, remember

As I write this the sound of gunfire clatters in the street outside. Huge explosions rock the glass in my window. Orange haze stains the night sky as distant fires rage.

A smoky mist lingers in the crisp November air.

No, England hasn't been invaded. Marauding rioters aren't destroying the town. And I haven't taken a day trip to Iraq.

It's just that time of year again where we decide to celebrate the fact that 402 years ago a Catholic tried (and failed) to blow up the Houses of Parliament. So now, to show our solidarity in this traditional religious intolerance, we feel the need to purchase illegal industrial fireworks and set them off in our own back yards.

Now, don't get me wrong, I enjoy Bonfire Night. In fact on Saturday I wended my merry way down to Tesco and took advantage of their "buy 1 get 1 free" offer on fireworks, and later that evening we set them off (and we were only slightly drunk).

But these were "garden fireworks". Actually sold for use in people's gardens. And, if I have to be honest, some of them weren't that good (in fact, some of them were really quite crap). But we all had a good time nevertheless.

These aren't garden fireworks going off outside.

I'll try and describe what I can see from my window now. If you've ever been to an organised fireworks display you'll know that those fireworks are considerably louder, faster and bigger than what you can buy over the counter at your local supermarket. Imagine those types of fireworks being set off from at least one house per street as far as I can see. I can see maybe twenty streets from here.

All around rockets are screaming into the sky, erupting into a shower of sparks. It is really impressive looking actually, and I admit there is a tinge of jealousy that their fireworks are better than the ones I bought on Saturday.

But imagine this. You jab a rocket a little too far into the ground and light it. What happens? It goes nowhere and makes a big bang. Imagine doing that with one of the industrial fireworks I'm looking at right now. The outcome of that would spoil any body's night.

I can't remember a Bonfire Night being this noisy. How come people are spending this much money on their own personal fireworks displays? Is it just petty competitiveness that makes people do it?

I'll be sticking with my legal garden fireworks, thank you.

Thursday, November 01, 2007

Manually Remove a Windows Service

Just a quick note linking to this article explaining how to Manually Remove a Windows Service.

Basically, open the Registry and go to this key: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services

If you expand this key you'll see sub-keys for each installed service. Delete the key for the service you want to remove.