Virtual Surreality

It's too real to be true

Browsing Posts in Responsibility

Lots of technology blogs piled up, but first thing’s first.

Last week I was in Chicago for some meetings at the ThoughtWorks head office. On the Monday night one of my colleagues hosted a charity fund raising dinner which included some magnificent Ethiopian food (and beer).

During a presentation, she told us personal anecdotes about a trip to Africa and her visit to the AHOPE orphanage. We were told a number of stories of the adoption of kids into the few countries that allow foreign adoption of children with HIV and how now, with the anti-retroviral medicines becoming more readily available, those kids have more than just short-term palliative care in the orphanage, they have a chance at being raised in a healthy, comfortable (albeit Western) home and leading an independent adult life.

As they say on the site, ‘Are you looking for just the right gift that isn’t just “stuff” for a person who has everything and needs nothing, whose heart would be touched by reaching out to a child who has nothing and needs everything?’ Even if you’re not the next Brangelina, have a look at what you might want to donate to provide a lot of help for just a small amount.

This short video reminded me of being at my daughter’s pre-school – except of course these kids don’t have their parents picking them up after the songs are done.

AHOPE video

http://money.cnn.com/2008/03/14/technology/kirkpatrick_thoughtworks.fortune/index.htm

Nuff said (although journalists never quite get it.)

After a meeting of the office of the CTO, most of us stayed around in our San Francisco office for a few days to do some podcasts and to participate in a Code Jam for Inveneo, a not-for-profit who provide computers and connectivity to developing countries (especially their schools, hospitals, and poorer villages).

They install a server in, say, a hospital with a few lower-powered, custom desktops (almost iMac in configuration). These, as well as the servers, can run off solar panels for power.

We were presented with a worthwhile problem with a number of interesting constraints:

  • Low-power server running Ubuntu, with two small SATA hard disks in a Linux software RAID-1 array
  • VMWare images of the servers for testing
  • Python, bash, mdadm, and beep as our “programming languages”

When a RAID array fails, we need to alert any (if any) humans who are near the server. This can be interesting as the only things nearby might be the tree it is mounted in with a long-range WiFi, or the goat who uses it as a heat source at night. This means that any alert should be sufficiently frequent and annoying for the locals to contact someone who can let the support technician know. The conflict is that it also might be the nurses in their office at the hospital who have work to do and don’t want to be disturbed.

The solution was to use the PC speaker to beep. We can control the pitch and duration of the beep. Some combinations sounded too much like an ECG machine so that was no good. In the end, we chose a simple rising scale that would sound odd in any environment (except, perhaps, in a Mike Oldfield recording). This is repeated by default every 30 minutes.

We also had to send an email to the support technician. This doesn’t work when the server doesn’t actually have any connectivity (as some are used only as a local communications hub), or when connectivity is unreliable. Even then, many of the technicians are hours or even days away from the servers.

As many of the technicians aren’t particularly technical, we also had help by identifying which of the two disks had failed and allow them to simply change the one labelled “Disk 1″ or “Disk 2″. Serial numbers are good for this but VM hard disks don’t have serial numbers (I think that’s a feature request to both VMWare and Parallels).

We had Jeff Wishnie from Inveneo as the customer, Anda Abramovici as IM, Jonny Leroy as BA, Paul Hammant and Chad Wathington as QA, and the star developer crew of Drew Olson, Sammy Zahabi, Ola Bini, Erik Doernenburg and your’s truly. We quickly learned the following:

  • The skills we needed (and had, just a little rusty) were more along the lines of Unix devices, shell, ASCII control characters, and simulation
  • Python sucks (a bad tradesman blames his tools? perhaps – but it still sucks)

Anyway, we got most of what we wanted done in the time, and given the context, more than we anticipated. But we all would have liked to get a lot more done and would have if we were using our tools of choice (which are chosen for very good reasons).

Nonetheless, we’re doing it for the kids and it was great!

What a buzz. Super Agile. Super Fun. Go Inveneo, you rock!!

If you’re complaining to someone about how wet it is, or cold, or hot, or how much interest rates have gone up, or your shares in Acme corp have gone down, or how your neighbour turns the music up too loud and you can’t sleep – just have a reality check for a few hours and read the 2007 Because I Am A Girl report from Plan organisation.

Some atrocious statistics to prepare your stomach lining:

  • Pregnancy is a leading cause of death for young women aged 15 to 19 worldwide
  • About 140 million girls have undergone female genital cutting and two million are subjected to it every year
  • In South Africa, 32% of reported child rapes were carried out by a teacher
  • In India, 60% to 70% of adolescent girls are anaemic
  • In Britain, among 16-24 year olds, twice as many young women as young men are overweight
  • One in 10 births worldwide is to a mother who is still a child herself
  • 70% of the 1.5 billion people living on $1 a day or less are female
  • Britain’s Equal Opportunities Commission between 2003 and 2005 showed that there is still a gender pay gap in the UK, of 18% for women working full time and 41% for those working part-time
  • 80% of the 600,000 to 800,000 victims of trafficking per year are girls and women

So, along with the UN, Plan have an action plan that includes nations enforcing their own laws (including the international ones they subscribe to).

Try every day to make it better. It’s in your own back yard, wherever you live.

From Incite comes Insight is not only one of my favourite blogs for Enterprise Architecture, but one for good ideas about each doing our part to make the world a better place. The latest one helps pour some soothing balm on the inner cynical voice.

Just for kicks, could all my ThoughtWorks colleagues do a trackback to http://duckdown.blogspot.com/2007/11/india-and-charity.html — especially the those in Banglore, Pune, Xi’an, Beijing, and Hong Kong.

I’ve added the ONE banner to my blog site too — RSS/ATOM readers, click the link ;-)

Off to QCon in San Fran… hopefully lots to follow.

Recently, Les Hatton wrote a compelling article entitled The Chimera of Software Quality. (Les Hatton, “The Chimera of Software Quality,” Computer, vol. 40, no. 8, pp. 104, 102-103, Aug., 2007)

A section of the article headed The cost of poor quality points out the economic impact of poor software quality, and the almost belligerently ignorant and/or apathetic approach to it by people and businesses in the technological nations.

He summarises this in what he postulates as Hatton’s Law:

The technological societies will collectively trash around [US]$250 per person per year on systems which will never see the light of day or, if they do, do not come close to what their users wanted, assuming they were asked in the first place. This they will ignore.

(emphasis mine.)

If you aren’t flabbergasted or at least peeved by that figure (except because you’ve already come to the sad realisation), stop reading now and go and defragment your hard disk, ignoramus.

As we say Downunder, “Goodonya, Les!”. Although he didn’t suggest where that money should go, he did indicate that it’s not just about the money, it’s about the engineering legacy we’re leaving. I have no idea if he shares my views, but other engineering disciplines have helped make the world better by avoiding the cost of poor quality. Pastoral tools, houses, clothes, toilets, aqueducts, fishing nets, boats, glass, the list goes on (and will probably not include the iPhone, people!).

Of course in software there are tactical actions taken, especially when shareholders start raising concerns over short-term cost-benefits of IT (or, more accurately, when executive bonuses are impacted by it by more than a few percentage points). But this is not enough.

Sometimes, I’m accused of being aggressive in the indignation I display when I see woeful technological systems. I suppose that’s because something inside of me has always been thinking that the money spent on building that pile of steaming crap could have been used for much more constructive purposes. In that sense, I’m not nearly aggressive enough. Perhaps I’ll stop calling it “technical debt” and start calling it “karmic debt”.

Stop writing shitty software and you could do something even better than increase shareholder value or boost your annual bonus. You could help take a stand against poverty – in your own country and around the world.

There are many corporations who divert some resources to social responsibility. Think how much more they could do if they did some of the simplest, mind-numbingly basic things to avoid spending massive sums on poor software. Those things aren’t just throwing money at a problem, but the money or more freedom from cost constraints allows corporations and their employees to do so much more.

Even corporations in industries you’d normally least expect to understand are being more socially responsible in a way that doesn’t raise the eyebrows of the cynics like me. I’ve personally witnessed the activities undertaken by employees at Westpac, a large Australian bank. I also know that avoiding the cost of poor software quality would allow them to do more. ThoughtWorks is not immune either. We use a couple of systems internally that are so fantastically crappy and impact both our effectiveness and efficiency that it beggars belief (I must point out this is relative to a benchmark one would expect of a company with our ideals, and would be otherwise more than reasonable almost anywhere else — we have the luxury of being very picky when critiquing internally). One of my clients laughed at me the other day when he found out what email client we use, because he made a lot of money (and stomach ulcers) supporting it in years past and he knew the impact that its poor quality has on its users (not that most of the alternatives are a benchmark for excellence).

ThoughtWorks is on an ambitious mission to change the nature of IT. In doing so, we hope to contribute to a better world. Avoiding the cost of poor software quality is one of the things we’re doing to help.