Friday, September 23, 2005

Open your mind and your orbits.

I have a folder in my RSS aggregator that I call "Newbies". If I find a blog I think I might like to subscribe to, I add it to the Newbies folder. If I find I like their posts, I'll promote them to the "bloggers" folder. One of the blogs I found through my referrer logs and added to the newbies folder was Bill Rini - a poker player from LA.

I thought that it might be nice to open your mind to the fact that other peoples lives and interests are entirely different from your own. But, little did I know, exactly how true this was. The latest post arrived this morning, and out of ALL the sentences, I understand approximately ZERO of them. Observe:

"I got aces cracked twice in two orbits. Both times I picked them up in the blinds and had 7 or 8 callers before it got to me. The first guy to crack me was this older Asian dude who called two cold with pocket threes and hit his set on the flop. After my aces got cracked the second time I turned to the dealer and pleaded that she not deal me any more aces. I had lost half a rack in two orbits because of those damn cards."

Oh... Yeah? Well, ....er... Man, um.. That's really cool. You know, I cracked my ace on the toilet wall. Lucky the blinds were shut. Huh? Those old Asian dudes - man, you gotta look out for them. I caught a cold once from a guy who had a nice rack, but a was a bit of a flop with the crack, if you know what I mean....

The world is an amazingly diverse place. Blog-land, doubly so...

Thursday, September 22, 2005

The Triage Secret

Working in a software company comes in two flavours - the green-fields, dream-plan -build-software bit, (which is fun) and the dreary endless bug reports that come from testers and customers (which are not fun).

As a very depressed project manager once said :

"The software is not finished until the last user is dead"


At TOWER Software, as these bugs arrive, they are prioritised according to a simple scale:

1) Urgent Fix
2) Fix ASAP
3) Fix
4) Fix if Time
5) Won't Fix

It's pretty self explanatory, so I won't go into the bleeding obvious, but each day, the team goes through and assigns a significance score to each bug. Then we hand them all out and get to work. That process is called triage, after the medical hospital waiting system. The goals might seem pretty similar -you might think "Ok, you want the bugs that are really bad to be fixed first - not unlike the hospital scenario where the man with the axe protruding from his head gets treatment before the snot-nosed baby".

Well, yes. But also, no. Therein lies The Secret.

People (usually testers, but I generalize and digress) have this crazy idea that the aim should be to fix all the bugs, and ship with none. Well, I don't know what planet these people come from, but all I have to say to those people is this:
A ha ha ha ha ha ha ha!
*gasp*
*breath*
A ha ha ha ha ha ha ha!
There is no software with no bugs. All software projects have bugs in them. All of them. Leaving aside the definition of a bug, just think about the bugs you live with in the software you use. Did you ever have Microsoft Word just spontaneously shit itself and delete your document? You know you did. Do you know why Microsoft implemented system restore points in Windows XP? Because The Bugs live with us, baked into our binary apple-pie that we consume every day.

The big secret difference between the medical Triage and Software Bug Triage is this:

We're not trying to decide which bugs to fix. We're trying to decide which bugs to ship.

That way, we only ship with bugs that people a) won't find or b) won't mind.

Each time we find a bug we are prepared to ship, it's like a fairy gets it's wings somewhere.

At the moment, as we inch towards the 1.0 release for ice, the only thing climbing higher than the team's stress levels is the triage bar. It's getting pretty hard to get a bug fixed right now.

This comic makes a joke out of it, but the fact is, as you get closer to shipping, you just can't wobble the jelly. Remember that as soon as a developer fixes a bug, there's a risk that they'll add a new bug, or break something somewhere else. It's a constant balancing act and one that takes incredible attention to detail to get it right. .

That's not to say that I don't think you should fix bugs. You should. And in a perfect world, where we could push a button on a wacky time machine-o-tron and stop time, and fix absolutely every bug, and then ship - well, then that would obviously be a better option. (Obviously I left out the bit about where you would start time again, otherwise there would be nobody to buy your instantly developed and totally bug free product.)

But the reality is that we don't have one, and so we try to make most of the people happy, most of the time.

Oh and if anyone has such a machine, can I borrow it for a week? Only one, honest....

Wednesday, September 21, 2005

Tuesday, September 20, 2005

Speaking bad of things

Doesn't everyone love to read a blogger handing out a good bollocking? I've been working on [secret project] using Ruby on Rails of late, so I've been subscribing to some rails lists and blogs.

Getting started with Rails can be kind of weird and hard, but being a fairly patient person, I've just kept at it with nothing more than some head scratching and mild swearing. This guy, on the other hand, had obviously had enough persevering...

His review of ROR?

"it's fucking horrible. Anyone who tries to convince you that it's in some way an elegant and consistent way to create 'web applications' is entirely insane."

hehe :)

Friday, September 16, 2005

Nintendo Fanboy Unleashed

I usually manage to contain my fanboy-ness, but today's unveiling of the Nintendo Revolution controller at the Tokyo Game Show made me all frothy with excitement.

I desperately want to play with one of these things. I want to slash my way through bad guys, wandering the worlds of Hyrule. I want to point at the things I want to use. I want to pick up and roll the dice in Mario Party when I'm playing with my kids. I want to battle fellow pokemon fans on the other side of the world, and race other people in Mario Kart.

Interaction is where all the magic of gaming is, and thankfully somebody is thinking outside of the (x) box. The Revolution will be able to wirelessly download and play all of your favourite Nintendo games - all the way back to 8-bit NES land, 16-bit classics, through N64 games, and still play gamecube titles. Plus who knows what cool things they'll come up with for the revolution itself.

Hats off to Nintendo for making a truly next-generation console. The more masculine and narrow minded among you can keep your kill-sim-tit-box-360's. I'm spending my next-gen cash on one of these beautiful things...

Thursday, September 15, 2005

Time...

Is like money - You only worry when you're running out of it.
(From Urs)

When everything looks like a nail...

Alex Bosworth has a great article on his blog about AJAX Mistakes.
Sometimes it might be best to keep that javascript in your pants...

Wednesday, September 14, 2005

Office Politics

If you ever thought that office politics where you worked were bad, the folklore archive from Andy Hertzfeld about the early days at Apple in the 80's might make you cry.

blog searching that doesn't take a month

If you check out that silver search bar thingy at the top of my blog, you'll see it has a new button: 'Search All Blogs'

This is because the google blog search has been released into beta. If you've ever used Technorati to search blogs, you'd know that while they provide a great service, it was frequently ball-bouncingly, poke-your-own-eyes-out- in-frustration-ly s-l-o-w. Conversations among the blog-savvy in the tea room would always gravitate to the same topic:

"How long will it be until google gets a similar feature, and those guys will be out of a gig?"

Looks like we'll have to find something else to talk about... whatever you want in a blog search engine, it's there. Subscribe to searches via RSS or ATOM? simple clean easy interface?...advanced search?

How to be a parent

There are only two things you need to give your children.
Roots and Wings.

Tuesday, September 13, 2005

Going West vs Going to Sleep

Phew! That was one busy adventure to the other side of this wide brown land (It is wide, and brown, but mainly wide)

TUF 2005 in Perth was the launching ground for our new product, ice. Stilly and I were presenting the keynote, which was based around showing off ice, and talking about collaboration and other reasons why a bunch of customers might want to buy it.

In a stroke of genius\insanity, we decided to let the audience pick the demonstration platform based on random outcomes - we built a giant cardboard die with various operating systems and platforms written on each side - then we'd let a volunteer from the audience roll the dice(die?) to determine which platform we should do our demo on.

ice (the italics belong to the marketing department) works on any platform, so we were pretty confident that we would be okay. But, what I hadn't counted on (those italics are mine), was my crummy laptop (which was acting as the server) deciding that it would be a good idea to hibernate in the middle of the demonstration.

So I click a link to demonstrate applying an active label, and this enormous (5 foot wide) dialog box appears on the giant screen behind me:
"ALERT:Timeout occurred connecting to http://gordo"
and then I make some nervous lame joke about what happens when you let nerds deliver your keynote and try to telepathically scream at Big-Headed Simon to "SAVE ME!"

Turns out that when you create a local user, Windows XP decides to return all your power settings back to the defaults. For a notebook computer, that includes hibernating after 20 minutes of inactivity. Inactivity, appears to be defined as mouse wiggles or keyboard taps - not the CPU running at 20%.

In the end, everything actually went pretty well - Lots of people told me that they really enjoyed our talk, ice has been well received by the Asia Pacific customers, and when it becomes available at the end of the month, we should have plenty of customers keen to upgrade to TRIM Context 6 and get the sexy new interface for collaboration.

Why am I posting so much work stuff? Well, I guess it's where my head is at right now.
Busy Hard Assed Bug Fixin...

Outside of work, we had lots of fun too. Armed with an ipod and a ukelele, the scooby gang escaped the clutches of TUF Man, and found themselves going forward (not backward), upward (not forward) and always twirling, twirling, twirling towards freedom...

Lindsay's account is here, and Stilly's photos are here.

Saturday, September 03, 2005

Step on up and Justify!

I just impulse bought a car.

What started out as a curious, what-if-saturday-morning inquiry into maybe upgrading our crappy family bus to something more modern ended up with me walking out of National Capital Motors with a finance contract for a 2002 Toyota Tarago:

I'm not sure if it was the cheesy-used-car-salesmanesque pitch from the used-car-salesman, or solar flares, or an early onset brain disorder,or something else entirely unrelated. Whatever it was, it's now led to a serious case of post-purchase guilt.

You know-where you go over the whole thing, and this huge battle occurs in your head between Mr Justify and Mr Responsible? Maybe that's just my head...

Mr Justify: You know, it's a good idea to spend that much cash, we really did need a new car, and we'll be able to afford it, so you might as well - Money's for spending, after all...

Mr Responsible: The old car worked just fine...

Mr Justify: Yeah, but you couldn't lock any of the windows, the windscreen was cracked to bits and it bounced around like a hayride! It sucked. The new one is much cooler.

Mr Responsible: Sure- but you could have fixed all those problems in a weekend for less than a thousand dollars...

Mr Justify: Yeah, but I'm a busy man. I make enough money to have a good car, why should I have a shitty one? and why should I spend my weekends fixing cars? That sucks too!

Mr Responsible: Will you stop carrying on about things that suck? -material things shouldn't make you happy.

Mr Justify: Sure - but having a nice safe, reliable car is all we bought. It's not like I bought a new one-

Mr Responsible: -That was my influence, right there.

Mr Justify: Whatever. New car! Woo-Hoo! New car! Alright! Now we can go to the beach whenever we want! - New car! OH yeah! new car!

Mr Responsible: What about insurance? and increasing fuel prices? and poor people who don't have any cars? and polluting the environment? shouldn't you be riding your bike anyway?

Mr Justify: Whatever. New car! Woo-Hoo! New car! Alright!.

(Mr Responsible sighs deeply, starts to cry and disappears.)

That, My friends, is modern consumerism in action.

(It is a pretty cool car...Woo-Hoo! Alright!)

Thursday, September 01, 2005

Breaking News...

Well, I guess it had to happen sometime:

The Onion: Telemarketing Industry Celebrates First Sale

(I'm just glad it wasn't my 'friend' Anton at Southern Cross Telco..)