Archive

Archive for the ‘Philosophy’ Category

Thaz my bro

March 18th, 2008 Josh Graham 2 comments

Jamming for Inveneo

February 29th, 2008 Josh Graham 1 comment

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!!

Because I am a girl

February 5th, 2008 Josh Graham No comments

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.

Categories: Philosophy, Responsibility Tags:

James McGovern

November 4th, 2007 Josh Graham No comments

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.

Categories: Philosophy, Responsibility Tags:

Free access to all human knowledge

October 24th, 2007 Josh Graham No comments

What do troubadours, Joe Guttenburg, and Jimbo Wales have in common?

They each have done their part in helping spread knowledge amongst their fellow humans.

Wales’ Wikimedia Foundation is currently running a fund-raising appeal. When you see the link on the next Wikipedia page you use, why not throw a few dollars their way, and help your fellows in developing countries have access to the deep well we take for granted.

I’m happy to see that 2 days ago, I was the 800-and-something-th to contribute, and now there’s over 2,000. Makes me feel a little less cynical.

Categories: Philosophy Tags:

Stop writing shitty software and stop poverty.

September 20th, 2007 Josh Graham 1 comment

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.

Categories: Philosophy, Rant, Responsibility Tags:

Influence, the two-edged sword

July 10th, 2007 Josh Graham No comments

During a recent leadership programme day at work, my penchant for toying with language led me to this one-liner — not worthy of Jason Yip’s growing compendium of kōans, but I think there’s something in it for all of us.


Be an influencer, not an influenza.

Categories: Philosophy Tags:

Illuminating companions

July 31st, 2006 Josh Graham 2 comments

The blinding light of illumination has made me see what I’ve known was there all along. The darkness was comfort. It hid what I didn’t want to look at. Now I see it and I have resolved to deal with it for good, to have dominion over it, to remove it. It’s not going to hide with its insidious hunger and eat away slowly all that is important to me.

It’s why I lived in a virtual surreality. Now the light is comfort.

Thank you to the bearer of that light. The light is burning hot to begin with but as it diffuses throughout the darkness, it becomes a warm, welcoming glow. The initial pain is replaced with happiness. The image of the bearer of the light is with me forever.

Categories: Philosophy Tags:

True belief

March 14th, 2006 Josh Graham No comments

From an email:

True belief is a strange thing. It doesn’t matter what transpires, or what is being told to you, or what other thoughts (logical or irrational) that fly through your head, you still believe.

Sometimes, it’s just Time that tells – or perhaps it’s really forgetfulness.

It’s a burden and a comfort. I suppose everyone needs something to believe in, it’s just so depressing, frustrating, or upsetting when those you want so badly to believe it too don’t (or don’t want to).

Nonetheless, nothing worth believing in is going to be easy so, it’s just another step in a long journey.

Categories: Philosophy Tags: