Archive for February, 2008

Microsoft fine - the BBC comments

Wednesday, February 27th, 2008

It’s interesting reading the comments on the BBC news page for the EU’s fine of Microsoft. Have they optimized for stupidity?

On the one hand we have people who sit and claim:

“Why are we punishing a company for being good?? It’s not Microsoft’s fault that no-one else has come up with products that can compete…”

Well… because the argument is that it is their fault. That’s what happens in a monopoly, quality is defined by what the monopolist does [ie: no one had a better phone product than British Telecom] and if said company own all the connections [ie: the phone wires in BTs case] (or keep the knowledge of those connections private), then it’s not possible for people to compete.

“Last time I checked Microsoft was worth somewhere in the region of $350bn, so a fine of $1.3bn is nothing”

Last time I checked I wasn’t an economist; but I suspect no one likes the idea of losing $1.3bn.

“They should no longer be allowed to sell any product without publishing every line of source code.”

Whee, more source code dumps. We (Open Source) don’t need more code dumped on us. Amsterdam’s ApacheCon t-shirt should be: “It’s about the community stupid”.

“I am glad that Microsoft have been fined, if they had made the code open source, then they would not have been the main target for hackers,and may have ended up with a better product. ”

Ho boy.

Way to go in finding a nice selection of cluelessness on each side of the fence BBC :)

Bouncy slides with my son

Wednesday, February 27th, 2008

Odd is it sounds, I had an enormous amount of fun at Jump Planet, bouncing around large inflatable bouncy castles, slides and climbing walls. Nathan and I spent most of the time laughing at each and lying at the bottom of each inflatable slide in a heap of arms and legs.

Only injury - grazes on my left arm where the side of one of the slides kept rubbing as I went down.

Family, Career, Job…

Saturday, February 16th, 2008

I’ve been introspecting a bit over the last few months; maybe it’s that ‘preparing to be a new father’ thing.

One of the thoughts was that Family > Career > Job. That is, that family things are the most important, that career is next and that the job comes next. Makes sense right? Probably makes more sense to people with kids as until then the overlap between what’s good for family and what’s good for career is really just clashes with your spouse’s career.

As an aside, it helps me understand one part of 9-5-ism too. As Family increases, so does the desire for 9-5-ism.  I don’t have enough time outside of work for what my family need.

An important proviso is that the above is the long term equation. There’s a short term equation for a particular event:

Family * Pain multiplier >   Career * Pain multiplier >   Job * Pain multiplier

Or something like that. Basically that a really important thing at work outweighs getting home to do a jigsaw. Career is rarely short term, so short term things tend to be about the balance of Job and Family.

More thinking tonight made me want to add a 4th element, and with it a whole bunch of pain. Hobby.

Family > Career > Job > Hobby.

Again, makes sense, both in the long term and short term. And explains why making your hobby your career is so fraught with pain for many; you’re jumping the Job. How do you tell whether an event for that area should be filed under Career or Hobby?

For me, and for many of us, Open Source is increasingly core to both our hobby and our career. In the long term equation, it tends to strengthen career strongly while in the short term it gets pushed down to Hobby. As in many other places, Open Source is a disrupting element that changes how things work.

Daffodils

Wednesday, February 13th, 2008

And the daffodils look lovely today.
And the memories won’t weaken today.
And the longing just wants me to say,
You were“.

Benevolent Dictators

Wednesday, February 13th, 2008

There are times when I think people don’t grok the benevolent dictator bit. They don’t understand what benevolent means (in this content) - it doesn’t mean that the dictator is a nice jolly fellow who doesn’t impose rules on the community; it’s deeper than that. It means that the leader does not claim ownership of the project - they create an environment in which the members of the community feel a strong ownership.

The simple root of community involvement is that people will not get involved if they do not believe that they own their involvement. I don’t mean legal ownership, thouigh that is important to many people, I just mean the belief that they have ownership. They have a say. The benevolence of a dictator is in maintaining a society of freedom, otherwise volunteers will not put in an ounce of work.

There are many proviso’s to this.  One is that you can still have a caste system in which a set of the users aspire to be members of the free society. Open Source product companies are very good examples of a caste system, with a set of the users aspiring to be developers and having to work hard to get there (as it usually means becoming an employee), but Apache and other such volunteer groups have the same concepts, just a more easily overcome set of walls.

Another is that if you are not giving legal ownership to the community, you are going to have to work harder on making sure your community members feel they have a say. The Sun LDAP stuff is an example of how that can go wrong. The belief in ownership is more than just the various IP laws.

Overseas voting

Sunday, February 10th, 2008

Conversation about the US voting system made me ponder again how I vote from overseas in the UK election. Here’s the FAQ on the subject from Her Majesty’s etc.
There are two major items here from my view.

  1. After 15 years out of the country, I’ll be outside democracy. I’ll no longer have a voice, unused as it’s been these last 6 years. That’ll be an interesting situation. I was barely used to a voice anyway as my age meant I only voted in one election before leaving the country.
  2. I appear to vote in the last place where I was registered. That will be in Kent, where my parents live. The dumbness of it is that I couldn’t give a crap about Kent, I lived in Hertfordshire and London much more - I probably spent more time in Buckinghamshire as a child than I did later in Kent, so I would probably prefer to vote in Wycbome if not in Herts or London.

The ideal solution would be to have an overseas MP who gets voted for. An MP who would be responsible for making sure that when a US junta take power, that the troops and embassy will be doing their best to get us out; or more realistically, that someone would feel more responsible for the people in Guantanamo. That would have been superb: “UK electoral civil servants yesterday entered Guantanamo to collect the vote from the British citizens incarcerated there. The right honourable member of parliament from the Falklands for British Overseas was there to provide oversight as she leaves office. “.
As it is - I’m just not impacted by the local issues of some tiny part of the UK, and my vote would not be right as I’d be voting for the party I want in power, not the MP.

Blackbox Debugging

Friday, February 8th, 2008

While hacking on a small bit of code today, I did something I often do when hitting a bug and felt embarrassed.

The technique is what I’m going to call Blackbox Debugging; I’m 100% sure it’s not an original idea, but it’s not one that I ever see talked about much so I wanted to dump some thoughts on it. In today’s environment where the source of an API is increasingly available, it’s too easy sometimes to go get lost into how the code actually works. Sure it’s the best way to know that code, but sometimes it’s not possible, and sometimes the work to do that isn’t worth the effort.

On these occasions, I like to do something that looks remarkably like randomly changing things and hoping things work. That’s why it’s embarrassing, it feels bad, but while feeling a bit bad about doing it today I pondered it a bit in the spirit of Beautiful Code and realized that it was a damn good trick.

A lot of text for something that is probably patently obvious to y’all. Blackbox Debugging is the act of perturbing the input to the API to learn more about what’s happening. Let’s say you’re calling a function square(int), and when you pass in 5 you get back 9. Bwah! WTF! etc.

Try 6. Get back 11. You’ve just learnt something crucial - the function is input dependent. It’s not just “return 9;” AND it’s still broken.  Try 7. Get back 13. Increase input, and output seems to increase. Whatever. It’s building data. Now that I think about it more, this is the zeroth case for the Tracer Bullet pattern. The important bit being that you don’t start by diving into the code and inserting trace statements (or diving into the debugger), instead you build up some data so that when you do dive in to build your trace/breakpoints, you have a much clearer picture of what you’re looking for.

The most important thing of course is that if the code then works - don’t let it lie. A success at this point is the worst thing to see and the code is definitely wonky. Badger it to death until you grok wtf has been going on.

Anyway, thought I’d share the thought.

Cursed by my culture

Friday, February 8th, 2008

I was introspecting while reading Beautiful Code in the bath (yeah I know, TMI). Subsequently I was later dumping said introspection on long suffering wife, and for now I’ll protect the general public from such boredom. We got onto talking about one thought that had arisen: “Improve your aptitudes and damage control your suckitudes”.

C pointed out that that’s why she didn’t like playing computer games, she sucks at them and never gets better. Not playing is damage control. So, being the arrogant sod I am, I explained my problem with games. I’m great at them, put me down in front of a new game and I will invariably impress by being better than expected.

There’s a but. While I seem to do really well at first, I just don’t improve. Pretty quickly I find that the others who are also playing have reached my level and left me behind. Why, why, why, oh why?

C, being a sarcastic wench at times, pointed out that it was because I was British (I of course would wrestle with whether it was Englishness or Britishness). We invent games and then after a short while of excelling, we suck at them. Bah. Said nature appears to have ruined my gaming skills.

Lunch from Amazon Fresh

Monday, February 4th, 2008

I had a bit of a revelation the other day (okay, this probably isn’t genius time). Rather than carry my lunch to work (and often it’s the only thing in the damn bag), why not have my lunch delivered to work?

I’ll still bring a sandwich in, but the rest of the lunch is all available on Amazon Fresh and I can get it delivered weekly to my workplace as I’m in Seattle (it’s a Seattle only fresh grocery delivery store). This week is my trial week - food just showed up, is in the fridge and I’ll be bringing a sandwich to work in my coat pocket (bet I stay in the habit of carrying the bag around though).

What’s more, it was a bit cheaper than Fred Meyer’s too.

UK/GB/England in Olympic Football?

Monday, February 4th, 2008

Reading Tim Vickery’s column, I was struck with the realization that lack of a place in the Olympic football competition is highly damaging to the English, Scottish, Welsh, N.Ireland football teams. While other countries get a competitive competition to continue blooding their young stars, the Home Nations push theirs up to the main teams where they burn out, or they vanish into the wilderness.

Here’s hoping the London Olympics GB team can actually happen.