Saturday, 13 April 2013

English (Canada) versus Those Other Two

On my Blogger dashboard I get a lot of choice of languages, but the one I want isn't there. I can choose English (United Kingdom) or English (United States), but neither is the way I spell things; there's no English (Canada).  The same is true most places where I can choose a user interface language - websites, browsers, word processors, and so on.

Canadian English spelling is a multiple personality disorder in text form. It's a mix of both British and American spelling. Usually we use -our instead of -or for "honour" and "neighbour" and usually -ction instead of -xion for "connection". Sometimes we use -ise or -yse for "criticise" or "analyse" and sometimes we use -ize or -yze. The only rule that covers everything is "one or the other, but not both."  If you pick "honour" you must also use "neighbour" and if you use "criticize" you must also use "analyze".

Once upon a time there were good reasons for supplying only a limited set of options. Computer memory and speed were much more limited; it would have been easy to justify omitting a complex option for either reason or both. But now that my browser offers me a half-dozen alternative words when I make  a spelling mistake, that's no longer a good excuse.

Saturday, 6 April 2013

Designing Dictionaries

Just about every school of Computing Science in the known universe has a course in first or second year called something like "data structures" that exposes students to several (sometimes many) techniques for organizing data in ways more complex than a simple sequence. There's often a fat textbook with dozens of them, of which an instructor selects the two or three most important and a smattering of others.

The things is, most of those structures are special implementations of the abstract idea of a "dictionary": given one of these, find one of those. Given a name, find a telephone number. Given a street address, find the GPS coordinates. Most of the ways of doing this have already been programmed hundreds of times, so some students wonder "why should I bother learning all this, when I can just reuse what somebody else has done?"  They especially ask this if you're showing them a particularly tricky piece of code from one of the cleverer dictionaries.

So how should we teach this material? Back in the late 1980's, I thought about that question a lot, and came up with an answer I liked: Software design is about making deliberate choices among alternatives, and this is an ideal course for driving that home.

Thursday, 4 April 2013

Cities, Civilizations, and Combat

When I read geek culture websites, computer games are a recurring topic. Unfortunately I feel rather left out, because I'm not fond of most of the front-runners. My reactions are too slow for first-person shooters, and I definitely need a pause button on most real-time strategy games. Even when I slowed Starcraft down to its slowest rate, large battles past the first few scenarios were too much for me. I could probably get into some of the CRPGs, but for now my one MMO (Lord of the Rings Online) satisfies that part of my interest. I get frustrated quickly with the puzzle solving in the adventure games I've tried; simple stuff is fun, but they seem to rapidly get obscure and involve putting together clues of objects from widely separated parts of the game.

My long-term favourite classes of games are turn-based strategy games like Civilization (I-IV; never tried V) and city-builder games like Zeus/Poseidon, Pharaoh/Cleopatra, and Emperor, all of which are quite old at this point. I've played through the Zeus/Poseidon scenarios twice (about 6 years apart), am trying the Cleopatra scenarios again, but haven't finished Emperor. In the four versions of Civilization, I had a lot of fun at the lower levels of difficulty, but I'm  a "builder" who just wants to peacefully grow my civilization, and at higher levels you have to be able to fight wars. Those aren't fun for me. The same is true of other 4x games like Galactic Civilizations II: fun until there's a war, then unfun.

There's an obvious conclusion. I don't like combat, and most popular games have lots of it. The small amount in the city-builders is OK, but there hasn't been a new city-builder in a very long time. Now there's the latest SimCity, but it's an always-online game, and I'm not happy about that technology.

I suspect I'm a very small part of the market for computer games, but there ought to be someone out there who's got an idea for a game that fits my build-stuff, low-combat, low-speed-input requirements. If you know of something, let me know.

Tuesday, 2 April 2013

Beauty and the Beast

Beauty and the Beast is a family favourite TV show at our house -- one of three shows (along with Elementary and Dr. Who) that we all get together to watch. As of this writing it's not clear if it will be renewed for next year; the TV reviewer in our local newspaper called it "on the bubble" a couple of weeks ago, and as of last week the Cancellation Bear said much the same thing. One of the things in its favour according to both sources is that its home network, the CW, likely can't get enough replacements to let it cancel every poorly-rated show. Our Canadian carrier, Showcase, is constrained by what the CW chooses to do.

My wife and I started watching it once we found out it was based on the 1987-90 TV series of the same name, the first two seasons of which are among our all-time favourites (we do not speak of the third season, just like some people refuse to acknowledge the existence of The Matrix sequels). Two of our three kids are still in town, were willing to watch the first episode with us, and decided it was worth the trouble of coordinating four different schedules.

We quickly realized it wasn't going to be a whole lot like the older one. Only a few elements are carried over. There's a career woman named Catherine Chandler and a "beast" named Vincent with super-strength who always shows up when she needs protecting; he has to hide his nature from the world, and they have a slowly-evolving romantic relationship. After that, not much is in common. She's a kickass cop instead of an assistant district attorney. Vincent is only beastly some of the time and a hunk the rest of the time; Ron Perlman's character had permanent leonine facial features and claw-like nails. The new Vincent is hiding from the secretive military organization that made him what he is; the old Vincent's origin was never made completely clear, and he had to hide because people couldn't accept someone who looked like a lion-man. The new show has a lot of police procedure; the old had a whole underground community hiding from the rest of the world.

I suspect the differences put off some fans of the old show; apparently the new show lost a lot of its initial audience after the first couple of weeks.  We decided we liked it once we started treating it as its own thing instead of a nostalgia trip; if we'd never seen the original, I think we'd still have watched the new one. It occurs to me that might be a good life lesson: if something, or someone, doesn't match your preconceptions or meet your expectations, try to appreciate it for what it is instead of criticizing it for what it isn't. I imagine that's the way a lot of geeks wish the rest of the world would deal with us.

Monday, 1 April 2013

All-or-nothing thinking

Recently my Internet contact +Keith J Davies announced he was going to try the A-Z challenge in April; it was the first time I'd heard of it, and I commented that at my usual rate of posting it would be the end of the decade before I could write 26 posts. Actually, at 13 posts since April 15, 2011, not including this one, it would be April 2015, but I wasn't in a geekish enough mood to calculate before I commented.

I thought about it overnight and decided to try. I could have chosen just to make this announcement (calling the post "A-Z Challenge" or "April" perhaps) but then I realized I could talk about why I don't blog much. It's not so much that I have nothing to say as that I'm hampered by all-or-nothing thinking.