Global Domination

Tuesday, February 19

A Full and Hearty Day

I spent today working on software. That is what I do. It's a good thing to do. It can also be stressful. No matter how hard you try to make something bullet proof, something will always come along and get you. Testing is the key. Lots of testing. Somehow, though, it's easy to forget this. The classic example of how "what can go wrong will go wrong" truly applies to software came about today when my very clever software for updating the system on startup, which has always done a perfect job when I've tested it, managed, on its maiden voyage in front of a real user, to destroy the very system it was intended to update - irrevocably - while appearing to make everything work perfectly. It seems that it had hit a problem and then it was the recovery from that problem which made matters worse. Typical.

However, I'm back in the land of the coders, so I was quickly able to make my already robust system (apart from the bit where it deleted the program) even more robust. It's going to be a beauty.

The stress of the day got me to about 3.30 without sustenance. I'd managed to have a rather disappointing cup of Costa coffee first thing in the morning. Well, my definition of first thing is nearer to the 9.30 mark, but it had already been a big week, and it hadn't really started yet. I think the system is this: if I'm going to work my arse off for the office, then I can be forgiven for starting the day a couple of minutes after other people who also work their arses off, but are often out of the office before I am. That's a fair old system. The coffee, which I bought alongside petrol, but which was my sole reason for visiting a petrol station at all, was Costa in name, but not in quality or taste. Shame. I have high hopes of finding a better coffee to get of a morning than I've been "enjoying" so far. I don't know what plan to adopt. Perhaps I need to visit a station and find a real Costa coffee shop there.

At 3.30, with the final release of the software raring to go - some code, only barely checked in (geeks will get me on that) - we loaded it up onto a couple of the Windows Mobile devices and headed to Heathrow airport where it was due to be piloted - no pun intended. The pilot of this software is crucial to its deployment. It needed to go well. No pressure then. My team mate celebrated our journey by buying us both confectionary. I wouldn't normally have confection... well, I say that, but I've been eating a lot of crap recently, and confectionary is definitely among it. I had planned to go straight today, but I guess I picked the wrong week. This week is quite a busy one, no doubt about that. I wonder about the link between journeying and eating. It's not a surprise that railway stations have food places in them - anything to get some money out of people who will probably buy stuff while waiting - but is there more to it than that. Do we humans have a tendency to prepare for long trips by eating? In fact, do we have a tendency to prepare ourselves with eating in general? I'm not sure of this, but I'm starting to thing we may do. A bit like dogs, before they go out on a hunt (or, domestically speaking, just going for a walk) kind of psyching themselves up for it, maybe there's a sort of instinct to feed up before embarking on a voyage. I think there may also be an instinct to load up on nutrients before beginning something stressful or important. I don't know. I'm not an anthropologist, nor am I an arthropod, anteater or antipodean. Glad to have sorted that out.

So, we headed to see some users in order to go Here. Look what we made. What do you mean it doesn't work!? Shit! That's how I would sum up the rather stressful situation of putting real software in front of real users for the first time. It's just different. It's different when you have to watch them use it. Like the bit earlier where I proudly saw my auto-update programme destroy the system it was updating (don't worry - I fixed it) - it's different when it's real.

I won't divulge the results of today's trip to Heathrow. It's not important to give away company secrets to that extent. I will say that we were there a fair while, but we didn't leave under a cloud. We did leave, however, rather later than I'd hoped. I had an evening engagement that I didn't want to miss or be late for. Something would have to give.

Ashley Fact: I've worked in software for approximately "an amount of time". In truth, that amount of time is about twelve and a half years. In that time I've written lots of code, and I've gotten much much better at it. In the job I held the longest, a lot of what I wrote really did end up in front of end-users and I found that very rewarding, especially when I then had to help them make it work. It was even more rewarding when I didn't have to help them. In the tail end of this main job, I worked on a system which hadn't been allowed to be released for ages. I can't actually remember if we ever managed to get it properly released, with all of the sense of achievement and completeness that would come with that. I'd been working on it, in various states of engagement for about 18 months. Towards the tail end, I was one of "the dudes" on that project. I knew the system, I knew the code, I could make it work, they booted me off the project. That hurt. It was the singularly worst thing they could have done and it changed the coure of my life. I quit that job. I was put back onto something which I knew would "go into production". This particular system had a very appreciative main user, and was an internally used system. I could release every few hours and generally I did. It was more rewarding - it was also not the thing I'd been revving up for many months to complete. Shame. Since leaving that job, December 2005, I have not worked on a project that has been released to production. In other words, I am not sure that more than a few hours' worth of the coding I've done in the last 2 years has ever made it in front of a real user. Since quitting my last job, in which I wrote nothing which seemed to go to release, I have not been writing any "production code" at all. Until last week. This week, I went to production. I shall be writing more code. I love releasing code. It's simply what computer programming is meant to be about. This is a good time.

With my colleague dropped back at the office, I sped home to rescue what was left of my evening of Scrabble. I needed to get to London. I needed food. I needed a shower - well, it was an option - and I needed to rearrange the meeting time.

All of these things were achieved with a little cheating - I got a lift to the station, which took the duration of a shower to arrive at my house (thanks to a housemate who was just leaving work when I spoke with him). So, I showered, got to the station, got a sandwich and a late-running train and then found myself at the venue at exactly the time I said I expected to be my delayed arrival time.

Scrabble, chat and time passed with great joy.

Then back on the rail system and back home. I would definitely have a day like today again, though if it could have more hours, I could have less replanning and more time for Scrabble, rather than being chucked out of pubs because they're "closing". Why do they bother chucking you out? If they let you wait, the pub would soon be open again.

I bumped into a "Fringe Friend" at Camden station, which was weird. I saw one of her shows in Edinburgh last August, but I didn't actually recognise her at first when I saw her in camden. Context means a lot. I sort of thought I might recognise her, then she looked like she knew me, so then I worked out who she was. I exclaimed "Good grief", or "Crikey" or something equally The Beano. We then had a quick chat on the tube home. It felt good being me tonight.