National Air and Space Museum Annex

Yesterday (Aug 14) my sister-in-law and her husband took my wife and me to the National Air and Space Museum Annex near Dulles Airport outside Washington DC, which I’d never seen. It has some ordinary displays of stuff that is “lower priority” than the things at the main museum on the Mall, but also some very large exhibits that literally wouldn’t fit. The annex was huge, and we only saw about 3/4 of it in the 5 or so hours we were there. The three big deals for me, in roughly this order, were the Discovery space shuttle, the SR-71 Blackbird , and the Enola Gay.

Continue reading “National Air and Space Museum Annex”

Reviewing Sites you Hate

I don’t (yet, at least) review other websites, but I could conceivably want to comment on something I was criticizing. I’d probably want to link to it so readers could read it, if they wanted to check out whether my comments were accurate or off-base. In fact that’s probably basic responsible reviewing — a special case of responsible journalism, and something that is routine in academic writing.

The trouble is, that would increase the site’s view count, which for some sites generates revenue. It would also increase their ranking in search engines. I wouldn’t want to do that if I disliked the site enough.

I just discovered one solution for the problem: donotlink.com You paste a URL into a box and it gives you another URL to use in place of the original — one that avoids generating another page view. At first I suspected it used cacheing, but they are cleverer than that So, if you ever want to link to something questionable (presumably because you’re dissing it), check it out.

Walkthroughs versus Let’s Play versus What I Really Want

A long time ago I purchased a copy of Settlers 6 by Ubisoft to run under my old XP system. It’s a real-time strategy game, with city-building and only a little combat (in most scenarios), so it easily fits into the category of game I usually enjoy (which I wrote about back in April last year ). I ran through the first nine scenarios OK, but ran into a lot of trouble on the tenth, Juahar. I stopped playing the game out of frustration and shifted back to others like Pharaoh/Cleopatra that I liked better.

When I recently updated to a new machine with Windows 8, I installed it again but decided I’d consult a walkthrough to avoid the kinds of frustrations I ran into the first time around. This led me to think about what kind of advice I really wanted. Basically, the walkthrough, though excellent, often gave me too much information for optimal enjoyment. Don’t get me wrong — the walkthrough was well written, and I’m delighted to have had it to look at. It turned the scenario from something frustrating to something enjoyable. But I’d have enjoyed the game more if I knew a little less.

Continue reading “Walkthroughs versus Let’s Play versus What I Really Want”

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.

Continue reading “English (Canada) versus Those Other Two”

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.

Continue reading “Designing Dictionaries”