Thursday, 28 April 2011

Law and Definitions

Emeritus Professor Cecil Law died last week, and flags at Queen's are at half-mast until tomorrow. He had served as acting head of what is now the School of Computing during the search for the first capital-H Head in 1969. I never met him (likely because of geekish lack of attention to professional networking); I had plenty of time to do so (he retired from the School of Business eight years after I arrived in what was then the Department of Computing and Information Science), and he would have been worth knowing. Prof. Law was more into operations research and business than what we'd now consider the core of computing, but his association with the Department led to his serving on quite a few Master's degree examinations – where the other members usually conspired not to warn the candidate about his standard question:

“You are studying computer science. Can you tell me exactly what is a computer?”

Go ahead, try it. Don't look up anything, don't consult friends, and don't take hours or even minutes to think about it. Imagine being stared at by four or five august members of faculty, under the illusion that their reaction affects whether you get your degree. And then imagine your subsequent panic when Prof. Law says, “By that definition my X is a computer” where X might be a bicycle, a sewing machine, possibly even plumbing.

Monday, 25 April 2011

Free to Play

In grad school I had a group of friends who liked to relax on Friday evenings by playing board games and role-playing games. Apparently that alone made us geeks, even if most of us hadn't also been studying computer science and engineering.

The Olde Gange has long since dispersed to the ends of the earth. I never found a new group, and computer RPGs weren't anywhere near as much fun – until I found out about Turbine's “Massively Multi-player Online RPG” based on Tolkein's Lord of the Rings novels. The theme alone was enough for me to pre-order the original Shadows of Angmar in 2007, and I've had a lot of fun with it since.

MMORPGs often require you to pay for something to install on your computer (the “client”) then pay a monthly fee to access the actual game (on a “server” Internet site). Last September Turbine went to a new business model: You can now download the client for free and play for free as long as you like – but you're limited to what's in the starting regions, and have some potentially annoying restrictions on other things like how much Stuff your character can carry around. To unlock the rest of the game you pay “Turbine Points,” which cost real money. Clearly they hope that enough people will get hooked on the early parts of the game so they'll pay for the rest. It turns out that you can also earn Turbine Points by completing various in-game “deeds.” Some people look at the prices for new regions (600-1000 points) versus the income (5-10 points for most deeds, with many taking several hours of play) and decide the in-game rewards just aren't big enough.

So, just how much of the game can you actually play “for free?” Asking that question caused my inner geek to surface: instead of speculating and arguing, model and calculate.

Thursday, 21 April 2011

Word Problems

Back in grade school (long enough ago I don't remember which grade), most of my classmates hated "word problems" -- things like
Two people start at opposite ends of a 31-km forest trail; one walks quickly at 5 kph, while the other manages only 4kph.  Where in the trail do they meet?
That's a paraphrase of a GMAT prep site (which I'm not criticising at all, since it's exactly the sort of thing you need to be able to do for the GMAT  (which I'm also not criticising at all)). When I started teaching introductory programming in the 1980's, a lot of problems we set were of the same sort: Here's a very simple problem you care nothing about that you have to solve in a particular way because there's one basic technique we want you to learn. For the math-talented, solving the equations was easy, but they hated translating the words into the equations.  For the math-impaired, the equations were boring or scary and the "story" wasn't the least bit compelling.

I think we can do a lot better.

Monday, 18 April 2011


I've never met Michael Spivak, so don't know much about him, personally, but I think many people would consider him a geek.  He is a calculus professor whose textbook was widely adopted for many years; two classmates of mine in grad school, from widely separated parts of the USA, had used it.  If that wasn't enough to qualify him, consider this: Many geeks like to take things apart, see how they work, and put them together in a different way.  Spivak's research field is differential geometry, which uses calculus and algebra to study geometry.  Not quite like taking apart a streetcar to make a rocket sled, but still in the spirit of geekitude.  He also wrote a guide to using TeX, an enormously complex and hard-to-learn text formatter aimed at getting every black spot of a mathematical formula in exactly the right place.

He also displays the kind of quirky I-don't-care-what-others-think attitude some geeks have.  In the front matter of that textbook appears the phrase "Dedicated to the memory of y.p."  If you look in the index, you might trip across the entry "Pig, yellow."  There are only three references: to the dedication page, to the index page (self-reference being a favourite thing of many math geeks), and to a page in the middle of the text that does not contain the phrase "yellow pig".  You have to apply abstraction, another math geek thing, to realize that "whole hog" counts.  That guide I mentioned above was called "The Joy of TeX," a similarly quirky name to call a technical manual.

I'd like to think Spivak will be remembered for a long time -- and since he was born in the 1940's he likely has some good years left. His whole body of academic work counts as a good legacy among geeks, but textbooks go out of fashion, and the undergraduates you mentored go on to other things. I wonder if Spivak might actually be remembered longer for something that has nothing to do with mathematics.


Friday, 15 April 2011

Requirements Elicitation

Sometimes geekish skills can help with non-geekish things.

Once upon a time there was a professional meta-geek I'll call Jon.  He was a professional because he got paid to do geekish things, and a meta-geek because he advised other people how to do geekish things.  One day a small impoverished group -- a charity if I recall correctly -- asked him the best way to sort a million records.  This was back when sorting a million of anything was a big deal; we were running units of 80+ people on computers less powerful than my cellphone (which is likely less powerful than your cellphone).  In the course of asking about what they were up to, it dawned on Jon that "sorting a million records" wasn't  the real problem; it was an overly-specific partial answer to something a heck of a lot simpler.  Jon was doing what system design geeks call "requirements elicitation" -- talking to clients to figure out what they really need.

Well, we're in the midst of a federal election here in Canada, and one thing is certain: somebody's going to say "the result was unfair, because we don't have proportional representation"  -- a system so obviously superior to "first past the post" that when given the choice recently, the people of British Columbia and Ontario rejected it outright.