[ View menu ]

April 13, 2009

Easter

Filed in life

Our kids woke up to find that the Easter Bunny had left a big maze of wool around the house that they had to follow in order to find their Easter treats. Once that had been unwound (one color for each kid), we sat down to breakfast (boiled eggs, omelet), then painted some hard-boiled eggs (still in their shells).

When those were dry we drove to Diefenbaker Park to roll them down the hill. Apparently, this is not a common practice in Canada as we were the only ones there. Still, we had fun :-) Some even made it all the way to the bottom without smashing.

February 20, 2009

Mmmmmeat

Filed in life

A few weeks ago, I ordered a side of beef. It came with many kilos of pork, chicken, sausage, fish, pasta, sauces, soup and various other bits and bobs. Half of this veritable mountain of food arrived today and has now completely filled our deep freeze (chest freezer) and our food storage in the basement. However, I now have the ability to feed 10 people at the drop of a hat and no more buying meat in any grocery store ever.

The quality of the meat _looks_ great, so I’m excited to try some over the weekend. I think we’ve got enough to last every day for at least the next 6-8 months.

Mmmm. Meat. *Homer-esque drooling*

February 2, 2009

Finally, me and iTunes

Filed in life , tech

Took me forever (well, five months) to do it, but I finally signed up for an iTunes account today. Now I’ll be able to put some apps on my iPhone (apart from ones that I wrote myself).

January 29, 2009

New role

Filed in life , news , tech

I got promoted to CTO today. Exciting stuff.

November 25, 2008

Movember

Filed in life

The month of Movember is drawing to a close. I’ve spent this month growing a moustache in order to raise money for prostate cancer research, and I’ve been kept in good company by roughly two dozen of my colleagues.

I thought I’d post a photo of my “progress” along with a link for donations, for those of you who haven’t participated and agree that this is a worthwhile cause.

July 25, 2008

Google is like the Federation

Filed in life , tech , web

[Garak takes a drink of root beer]
Quark: What do you think?
Garak: It’s vile.
Quark: I know. It’s so bubbly and cloying and happy.
Garak: Just like the Federation.
Quark: And you know what’s really frightening? If you drink enough of it, you begin to like it.
Garak: It’s insidious.
Quark: Just like the Federation.

- Star Trek: Deep Space Nine – Way of the Warrior (S4 E01) (and here’s the video)

For a long time, I’ve been quite anti-Google. I’m certain this comes from loyalty to Inktomi, where I used to work once upon a time. In time, it was strengthened due to my dislike of the number of people who joined the cult. Google released and/or acquired a lot of cool apps: maps, Earth, calendar, mail, gears … the list is virtually endless. It could be argued that this was for the benefit of the technology-using community as a whole, but to me it seemed like an incessant grab for geek mindshare.

Eventually, people started to catch on that Google are potentially a very scary organisation. After all, they know what you research on the internet, what you read online, who you send mails to, who you meet with and why. In fact, they probably know as much about you as any given organisation possibly could, and you gave them permission!

However, many months and years of bombardment with applications and the need to be a part of the software community has meant that it is now virtually impossible for me to function without using Google’s tools. They have started to suck the resistance out of me – I’m becoming accustomed to the root beer (or the Kool-Aid, to mix metaphors).

The scariest thing was when I tried out Google Reader, and people had already shared 51 news articles with me, assuming all along that I used it. Gah! I’ve made myself paranoid all over again, just by writing this post. Time to block google.com cookies again.

July 18, 2008

Moving day

Filed in news

The movers are here. Packing is on-going. Everything will soon be in a container heading off the island and across the ocean. My wife and kids are flying to her mother’s tonight, and I fly out in a couple of days (we got tickets on different flights due to some cancellations).

Thank dog we’re going.

July 14, 2008

Software is like cooking

Filed in tech

In virtually everything to do with software, there is often some kind of metaphor used to describe it. Often, these are taken from the building or manufacturing industries (even some of our titles are taken from these: Architect, Engineer, etc.) and many times different metaphors seem to suit different situations better. If you haven’t guessed from the title, I think the best metaphor for software is actually to compare it to cooking. I’m still trying to find a situation where the metaphor doesn’t work (and sometimes its a bit of a stretch), but here are a couple of examples.

Your software team is made up of developers (cooks) and often headed up by a manager (chef de cuisine) sometimes with one or more technical leads (sous chefs). They produce applications (dishes) or libraries (portions) that are used to create a larger product (meal) that form part of a suite (menu).

Sometimes the applications have the same implementation underneath, but look different to the end user (re-arrange the food on the plate) or even feel different (change the garnish or sauce). Sometimes the application will work the same on the outside, but have a different implementation underneath (the recipe for any given portion might change but the meal will still be the same).

Different people are good at different areas. For example, someone might have great knowledge in developing the GUI (saucier), someone else is good with databases (pastry chef) and so forth. Some people will specialize in Java (Italian) or .Net (Chinese), and within those might have a lot of knowledge about for example Servlets (pizza).

We have design patterns (recipes) that make it easier for people to produce good quality apps (dishes). If you need to write an app (cook a dish), you can start with what you know. You know that a web app (pizza) will need some HTML (tomato sauce), maybe some JavaScript (pepperoni) and of course a web server (bread) and some kind of CGI mechanism (cheese). Of course, once you dig into things a bit more you may discover that your customer really wants a doughnut :-)

July 10, 2008

Google Acquisition Engine

Filed in tech

I’ve been playing with Google’s App Engine as part of their beta and I started thinking about what benefit Google got from it. Presumably, there will be some kind of monetary payback as those apps which exceed their “free” limit then start paying, but at the prices they are charging it seems unlikely that this will be a big money-spinner.

Google like to use Python. They purchased Jaiku over Twitter because Jaiku was Python and Twitter was Ruby (I’m sure there were other reasons too. A lot of their APIs are in Python, as are many of their own apps.

Google only releases big scale apps. They released Google Calendar and it allegedly had over 1 million signups in the first week. Google Analytics likewise had stupid numbers of signups (so much so that they couldn’t cope with the volume and had to shut down registration). In fact, this kind of “Instant-One-Million-Users” (that needs its own acronym) means that Google can’t afford to release anything unless it is massively scaleable.

Calendar was a home-grown app for them, whereas Analytics was an acquisition. Maybe this is one reason why the former was able to cope with IOMU and the latter wasn’t. With this in mind, enter App Engine.

Now you can write apps that meet Google’s criteria: they are Pythonic, massively scaleable and best yet: already run on Google’s infrastructure. So, when someone writes the next big web app, it just got a whole lot easier for Google to acquire them and then avoid death by IOMU.

July 8, 2008

The Wise Fool

Filed in tech

MJ recently wrote about the Wise Fool, as a contrast to the Wisdom of Crowds. However, I’d like to ramble for a bit on why the Wise Fool is a great thing to have in a software development team.

Developers solve problems. This is their raison d’etre. If you have a technological itch that’s bugging you, a developer is the person who wants to scratch it. Developers have the answers to things. They like to be able to say “Oh yeah, I can fix that. No problem.” They’re movers and shakers, heavy lifters, the Intelligentsia. Developers rock.

It’s therefore an unusual trait in a developer for them to say “There’s a problem, and I can’t fix it.” Other developers will look down their noses, or gasp in astonishment to think that someone might betray the Brotherhood by making it publicly known for even an instant that there might be something that just isn’t known.

OK, I exaggerate, but you get the point.

Sometimes the most useful person in the project is the one who stands up and points and says “There’s something bad happening.” You don’t have to know what the root cause of the problem is, you don’t have to know how to fix it – you just have to spot the symptoms. And that courage should be cherished, because without it you can end up with a scenario where everyone blithely carries on doing things in a broken way because no-one had the courage to stand up and say it was broken, simply because they didn’t also have a solution.

Wise Fools sometimes only make themselves heard at retrospectives, which is one good reason to have them, and a great reason to have Heartbeat Retrospectives (a mini-retro, held at any time with any group of collaborators). Give those folks a chance to speak up and be heard, in a safe environment free from retribution or condemnation. In fact, I would go so far as to say that the safer your retrospective environment is, the more likely that you’ll get the benefit of a Fool’s Wisdom.

Anyway, I’ve rambled on a bit. Better stop. My grandda used to say “You can keep quiet and let the world think you’re a fool, or you can open your mouth and prove them all right.”