Archive for 2006

Helsinki Complaints Choir

Sunday, November 26th, 2006

As a singer myself, I can appreciate this, pure genius :-)

Living and Working in Bangalore

Sunday, August 13th, 2006

It is strange to think that it is year since I left India to helps start the ThoughtWorks Toronto office. After 18 months India was very definitely home - and I still get homesick for Bangalore, and miss my friends from our office there.

But that is not the point of this post.

While there I wrote an introduction for new arrivals, and Jake asked for a copy of it for the new group who are going to training there. I realised I have never posted it online.

So here it is:
Living and Working in Bangalore

Rails server strangeness

Wednesday, June 7th, 2006

I was trying to start a server on the test environment with “script/server -e test”, but it turns out that lighttpd ignores that parameter - silently. So I was getting a server on the development environment instead.

You can get around this by using the webrick server:
script/server webrick -e test

Moving to TextDrive

Sunday, March 12th, 2006

Along with he rest of the World on Rails. This move was precipitated by a server crash on the machine that Damien was using to host my blog. I’ve been squatting on his server for way too long anyway, and with his new baby he is going to want to spend less time administering linux boxen, I am guessing.

I haven’t moved my past articles yet - I have to restore that from backups - and it may take a day or so.

Life on the Bleeding Edge

Tuesday, February 28th, 2006

So as of the weekend a a proud owner of a MacBook Pro. It is a great machine, although it looks disappointingly like the old PowerBook - except for the tiny (really really tiny) camera and a slightly wider trackpad.

I guess this similarity is a good thing, reinforcing memes of continuity and evolution rather than revolution and disruption. One of the things I have always found annoying in Windows world is the way that the new versions of the apps look different but still have the same old annoying quirks and bugs.

But it does have a slightly different feel - it is more like it used to be when I was using linux extensively - living on the bleeding edge and recompiling parts of the system every few days as new versions came out. I used to enjoy that, but one of the great things about the mac is the loss of the need or desire to do that so often. Everyhting is already beautiful and functional.

This feels a bit like those old days - googling for the latest beta versions of apps not yet universal. But I am loving it so far - TextMate is universal and I always run a compiled ruby anyway, and for that this thing rocks.

No Bravery

Friday, February 10th, 2006

Says it all really -
a sad song for a sad time (Warning - video contains disturbing images)

James Blunt via the freeway blogger via onegoodmove.

Intelligent Design Creationism at NASA

Monday, February 6th, 2006

I just noticed
this blog entry
referring to
this NYTimes article.

If anyone ever doubted the narrow ideological focus of the Bush administration and its nepotistic appointments these articles should cure that. They have been seeking to control, supress and distort scientific information from the governments own scientists for some time, but rarely as openly and disgustingly as this:

The Big Bang memo came from Mr. Deutsch, a 24-year-old presidential appointee in the press office at NASA headquarters whose résumé says he was an intern in the “war room” of the 2004 Bush-Cheney re-election campaign. A 2003 journalism graduate of Texas A&M, he was also the public-affairs officer who sought more control over Dr. Hansen’s public statements.

In October 2005, Mr. Deutsch sent an e-mail message to Flint Wild, a NASA contractor working on a set of Web presentations about Einstein for middle-school students. The message said the word “theory” needed to be added after every mention of the Big Bang.

The Big Bang is “not proven fact; it is opinion,” Mr. Deutsch wrote, adding, “It is not NASA’s place, nor should it be to make a declaration such as this about the existence of the universe that discounts intelligent design by a creator.”

It continued: “This is more than a science issue, it is a religious issue. And I would hate to think that young people would only be getting one-half of this debate from NASA. That would mean we had failed to properly educate the very people who rely on us for factual information the most.”

Shared Memory in Teams

Sunday, January 22nd, 2006

A while ago I read the The Tipping Point. There’s a section there on how partners share memory - two people who are in a relationship remember differently than single people.

The study cited is here:
Transactive Memory in Close Relationships

When reading it, you may note the Grossly Misleading Graph (Figure 1) - but apart from that the results are interesting, and seem fairly familiar. I guess we all know long-together partners who finish each other’s sentences, where one will delegate a question to the other saying the other “always remembers the birthdays” for example.

It makes sense that the same effect occurs in development teams after a while. We delegate memory - the team naturally spreads the knowledge around, and people end up with different levels of “expertise” in different parts of the system. We need to be aware of this when we talk about sharing the knowledge in XP - it means that we will never get complete knowledge transfer. It is normal healthy humanity that some people know more about a certain part of the code.

But that doesn’t mean that the attempt to break apart the “silo” and spread knowledge is a waste of time. Rather, it should inform the way we go about it. Basically, I think it means that we should strive to achieve a common understanding of the system rather than an equally detailed understanding of it. There should be plenty of people who “know where to look” as Vishy put it once.

As an analogy, one of that couple may do most of the cooking. That doesn’t mean that the other cannot cook, or doesn’t want to, it just means that they mostly don’t - maybe they just help out with the vegetables. Even so you can be sure that they both know which cupboard has the spices. Just as we try to avoid “silos” in development, we would be worried if the cook hides the spices, or locks the cabinet, or even worse, locks the door to the kitchen.

So I think it is unrealistic expect everyone in the team to get to the point where they know all parts of the system equally well. Rather, make sure that the team has a common language and way of doing things - so they know where to look.

Grossly Misleading Graph

Sunday, January 22nd, 2006

From:
Transactive Memory in close Relationships

Figure 1 from Transactive Memory in Close Relationships

This falls into a classic error in displaying data - note the y axis starts at 20, not zero. This magnifies the effect - it makes it look like the difference between the values is relatively much greater than it actually is.

Consider the Natural, assigned and unassigned values on the right 2 bars. As displayed, it looks like the values are 24 and 32 (I am rounding to the nearest whole number - the paper does not specify the totals. So from the graph it would seem that the ‘Assigned Expertise’ is 4 / 12 as high as the ‘No Assignment’ value. That is, a glance at the chart would imply a 3-fold improvement of recall for ‘Assigned Expertise’ over ‘No Assignment’.

What are the real numbers? More like this:

Figure 1 with fixed Y axis

Still an interesting result, but nowhere near as much so as the original chart implies.

You see this a lot in charts during business presentations - it is a temptation to make a result seem as dramatic as possible, but it distorts the actual result, and may bias us towards a particular interpretation. I always look at any presentation chart to make sure that the axis starts at zero.

For more info on charts and best practices, see here:
EIA Guidelines for Statistical Graphs
The page concerning bar charts in particular is here:
Vertical and Horizontal Bars, Pie and Dot Charts, and Three-Dimensional Features

Here’s a comparison of the two graphs, both converted to the same format:

Figure 1 redrawn Figure 1 with fixed Y axis

Musing on Language, Codification and Qualification

Thursday, January 12th, 2006

Ben is presenting a paper tomorrow which compares the language and interpretation of the Canadian Charter of Rights and Freedoms[link] with the codified Edict in Timothy Findley’s Not wanted on the Voyage.

And it got me to thinking¦

It struck me that the language of the law is rarely specific - it is couched in general terms - hedged about with ifs and buts - rarely couched in absolutes. In fact the language of the law is constructed carefully to avoid absolute or exact statements. Its all about nuance and relativity. This (I would suggest) is precisely because the law’s decisions are themselves so final and absolute - Guilty or Not Guilty. So since the decisions of the law are absolute, the “wiggle room” to allow for reality must be provided by a language that deliberately avoids commitment.

Section 27 - Canadian Charter of Rights and Freedoms : “This charter shall be interpreted”

This is not so in science however. Science is quintessentially relative and contingent - it is expected that today’s hypothesis might be disproved or changed on the basis of new discoveries and research. So to make it easier to test a hypothesis, it must avoid ambiguity and nuance. In fact hypotheses are constructed in absolute terms. Often it is the facts, the observations that are nuanced, hedged about with observational error bars and quantified sampling errors.

In my own field of software development, we are starting to move beyond the strictly typed mathematical languages of Java and C#, and becoming more comfortable with (lispers and smalltalkers would say re-discovering) the freedom and “wiggle room” that comes with untyped or dynamic languages such as ruby, python etc. Given these languages inherent flexibility, we constrain our solutions with the unit tests that we write - almost as legal interpretations are constrained by precedent - or scientific hypotheses are constrained by experimentation.

Don’t read too much into this - allegories can only go so far, and I’m not really getting at anything - but I found it an interesting train of thought.