Bjarne Stroustrup: Coming to Town July 20th

Bjarne Stroustrup: Bjarne to be wild!

Not too long after Richard M. Stallman’s non-technical presentation at the University of Toronto’s Mississauga campus, C++ creator Bjarne Stroustrup will make an extremely technical presentation at University of Toronto’s Downtown campus. He’ll be talking about C++0x Support for Generic Programming.

The presentation will take place on Friday, July 20, 2007 from 6:30pm – 9:30pm at the Bahen Centre for Information Technology, 40 St. George Street, University of Toronto. Admission is free and everyone is welcome (although you probably should have at least a passing familiarity with C++).

After the presentation, we’ll all mosey down to Bar Mercurio restaurant (270 Bloor West) where Bjarne will talk operator overloading and I will discuss alcohol overloading.


Richard M. Stallman: Coming to Town July 5th

Richard M. Stallman as St. iGNUtius: Free as in “Freaky”

On Thursday, July 5th, Free Software Foundation founder Richard M. Stallman will be speaking at the University of Toronto’s Mississauga Campus. His topic will be Copyright vs. Community in the Age of Computer Networks.

The talk is co-sponsored by U of T’s Department of Mathematical and Computational Sciences and Knowledge Media Design Institute. It will be a non-technical talk, and everyone from hard-nerds to laypeople are encouraged to attend.

Here’s the abstract for the talk, taken from Greg Wilson’s blog

Copyright developed in the age of the printing press, and was designed to fit with the system of centralized copying imposed by the printing press. But the copyright system does not fit well with computer networks, and only draconian punishments can enforce it.

The global corporations that profit from copyright are lobbying for draconian punishments, and to increase their copyright powers, while suppressing public access to technology. But if we seriously hope to serve the only legitimate purpose of copyright—to promote progress, for the benefit of the public—then we must make changes in the other direction.

The presentation will take place on Thursday, July 5th at 5:00 p.m. at Matthews Auditorium, Room 137, Kaneff Center, University of Toronto, 3359 Mississauga Road North, Missisauga. The topic will be free as in speech, and admission will be free as in beer.


That “Lightswitch” Entry Reminds Me of an Old Story…

The complex lightswitch from the earlier entry

The article The Lightswitch That Might Explain a Lot About Java (which has received way more comments and stimulated more debate that I would’ve ever predicted) reminded me of a story that used to get forwarded back and forth among techie types. I thought I’d post it here…

The Engineer, the Computer Scientist and the Toaster


Once upon a time, in a kingdom not far from here, a king summoned two of his advisors for a test. He showed them both a shiny metal box with two slots in the top, a control knob, and a lever. “What do you think this is?”

Scotty from “Star Trek”

One advisor, an engineer, answered first. “It is a toaster,” he said.

The king asked, “How would you design an embedded computer for it?”

The engineer replied, “Using a four-bit microcontroller, I would write a simple program that reads the darkness knob and quantizes its position to one of 16 shades of darkness, from snow white to coal black. The program would use that darkness level as the index to a 16-element table of initial timer values. Then it would turn on the heating elements and start the timer with the initial value selected from the table. At the end of the time delay, it would turn off the heat and pop up the toast. Come back next week, and I’ll show you a working prototype.”

Nerd at an old-school IBM PC and dot matrix printer

The second advisor, a computer scientist, immediately recognized the danger of such short-sighted thinking. He said, “Toasters don’t just turn bread into toast, they are also used to warm frozen waffles. What you see before you is really a breakfast food cooker. As the subjects of your kingdom become more sophisticated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete. If we don’t look to the future, we will have to completely redesign the toaster in just a few years.”

UML diagram

“With this in mind, we can formulate a more intelligent solution to the problem. First, create a class of breakfast foods. Specialize this class into subclasses: grains, pork, and poultry. The specialization process should be repeated with grains divided into toast, muffins, pancakes, and waffles; pork divided into sausage, links, and bacon; and poultry divided into scrambled eggs, hard- boiled eggs, poached eggs, fried eggs, and various omelet classes.”

Country ham and eggs

“The ham and cheese omelet class is worth special attention because it must inherit characteristics from the pork, dairy, and poultry classes. Thus, we see that the problem cannot be properly solved without multiple inheritance. At run time, the program must create the proper object and send a message to the object that says, ‘Cook yourself.’ The semantics of this message depend, of course, on the kind of object, so they have a different meaning to a piece of toast than to scrambled eggs.”

C++ and Erlang

“Reviewing the process so far, we see that the analysis phase has revealed that the primary requirement is to cook any kind of breakfast food. In the design phase, we have discovered some derived requirements. Specifically, we need an object-oriented language with multiple inheritance. Of course, users don’t want the eggs to get cold while the bacon is frying, so concurrent processing is required, too.”


“We must not forget the user interface. The lever that lowers the food lacks versatility, and the darkness knob is confusing. Users won’t buy the product unless it has a user-friendly, graphical interface. When the breakfast cooker is plugged in, users should see a cowboy boot on the screen. Users click on it, and the message ‘Booting UNIX v.8.3’ appears on the screen. (UNIX 8.3 should be out by the time the product gets to the market.) Users can pull down a menu and click on the foods they want to cook.”

Parts of a Wintel desktop computer

“Having made the wise decision of specifying the software first in the design phase, all that remains is to pick an adequate hardware platform for the implementation phase. An Intel 80386 with 8MB of memory, a 30MB hard disk, and a VGA monitor should be sufficient. If you select a multitasking, object oriented language that supports multiple inheritance and has a built-in GUI, writing the program will be a snap. (Imagine the difficulty we would have had if we had foolishly allowed a hardware-first design strategy to lock us into a four-bit microcontroller!).”

Crowd gathering around a guillotine execution

The king wisely had the computer scientist beheaded, and they all lived happily ever after.


Podcast: Tucows Goes to the TRAFFIC Conference

Photo: Traffic in Taiwan

Over at the Tucows Blog, I’ve got a podcast in which I interview Adam Eisner, Product Manager for Domains, about his experiences at the recent TRAFFIC conference (“the premier conference for the domain industry”).


The Free Software Foundation Wants to Save Us from that Lying, Cheating iPhone

Graphic: Flying GNU and Penguin
Free as in godawful design.

In case you hadn’t heard (or, in case you actually cared), the Free Software Foundation is releasing version 3 of the GPL today. As you might expect, today’s iPhone release is eclipsing GPL v3’s release, but the FSF are undeterred in their mission. In fact, they’re using this coincidence to remind you that the iPhone is a proprietary device with proprietary software created by a proprietary company:

Peter Brown, the executive director of the Boston-based FSF, is also anticipating that the iPhone will include some free software licensed under the GPL. “On June 29, Steve Jobs and Apple will release a product crippled with proprietary software and digital restrictions: crippled, because a device that isn’t under the control of its owner works against the interests of its owner,” he said.

“We know that Apple has built its operating system, OS X, and its Web browser, Safari, using GPL-covered work. It will be interesting to see to what extent the iPhone uses GPL’d software,” he said.

Version 3 of the GPL fights the most recent attempts to take the freedom out of free software, and attacks “Tivoization”—devices that are built with free software but use technical measures to prevent users from making modifications to the software—which could prove to be a problem for Apple and the iPhone, he said.

Of course, if Free Software were the deciding factor for consumers, the GP2X would be the hot ticket in handheld games, not the Nintendo DS. And the hot console would be the…well, the Free Software console that someone will work on, as soon as they’re done with the HURD.

As much as I love and use Free Software, I’ve become quite cynical about its major proponents and figureheads. Whenever I hear someone say “As a card-carrying member of the FSF”, I automatically equate it in my mind with Grampa Simpson’s declartion, “I am not a crackpot!” [MP3 link]

Graphic: Grampa Simpson yelling at someone
Click the image to hear an MP3 of Grampa Simpson saying “I am not a crackpot!”


“The Cult of the Amateur”, by Andrew Keen

Photo: “The Cult of the Amateur” by Andrew KeenThe Ginger Ninja and I had a little time to kill before flying home from Connecticut last Sunday, so we headed over to Borders to get some cheap books.

Right now, thanks to a combination of:

…it’s far better for us Canadians to buy books in the states.

While at Borders, I saw a display full of Andrew Keen’s The Cult of the Amateur, whose subtitle is How Today’s Internet Is Killing Our Culture, which is covered in today’s New York Times. I had enough time to read the opening chapters and came to my conclusion, an old stand-by for stupid, reactionary works: I’ve seen better paper after wiping my ass.

I plan to write a more detailed review and compare it to David Weinberger’s Everything is Miscellaneous, which I received during my visit to the Berkman Center for Internet and Society at Harvard last week. However, I’m loath to fork over ducats to line Mr. Keen’s pockets, which would only encourage him to keep going. Perhaps one of you has a copy that s/he’d like to sell me?

In lieu of such a review, let me point you to Larry Lessig’s blog entry on it, and more importantly, this comment made in response to said blog entry:

Keen’s a tool. I don’t need to read his book.

What have institutions added to our culture in the last hundred and fifty years?


If they had been running Rodin’s shop they would have thrown out the “mistake” that revolutionized his work. When a plaster model fell over, breaking the arm off, Rodin liked it. And changed art forever.

What has Keen done?

Besides edit and criticize?

Amateurs create signal, institutions mediate it—but can never improve it, only standardize it.

Every time an artist steps into new territory, he or she is, by definition, an amateur. We could quadruple the number of institutions and credentialed practitioners and never gain a single thing culturally, economically, educationally or personally.

This is nothing more than some weird kind of complete self-hatred.

No Sun Ra, no Sex Pistols, No Rolling Stones, no Knut Hamsum, no Pushkin, no Ginsberg — no nobody.

The answer is to stop fixing content prices and allow the market to differentiate itself just like every other market does. We have all the jeans we could ever hope to care about. Why not allow premium content to do the same with movies, books, magazines, music and TV?

It will eventually happen once digital distribution finishes destroying the very institutions Keen is trying to impress.

It’s not a moral question but a economic one.


2007: An iPhone Odyssey

Ain’t it just my luck. As I was whipping up this graphic:

Photo: “2007: An iPhone Odyssey”, featuring and ape and Bowman from the movie, touching an iPhone monolith

and this graphic:

Photo: “The Dawn of Man” scene from “2001″, with an iPhone replacing the monolith

I decided to do a little Googling and discovered that not only had I been beaten to the punch, I had also been beaten spectacularly, as this iPhone-based spoof of 2001 shows:

Ah well.

Anyhow, all this is preamble for the best advice I’ve seen regarding the iPhone, especially if you’re in the grips of severe technolust (like my friend and coworker James “For the last time, that’s my real name!” Koole, for instance). It’s a piece by Jeff Atwood in his always-excellent blog Coding Horror titled Why You Don’t Want an iPhone — Yet. If you can’t be bothered to read the whole thing, worry not — the meat of the essay is in this line, which I repeat here:

It’s not my goal to crush anyone’s dreams of owning their first iPhone. I know you’ve heard this a million times, but never, never has it been more true for any technology product: wait for version 2.0 before buying.

This goes double for folks like me, who live in Canada (Toronto, a.k.a. Accordion City, in my case). Even if the iPhone were available in Canada today, the data rates here are just so ridiculous that it’s not worth going online with your phone.

So when it comes to all the hype and cajoling to get my paws on an iPhone, my reply, in keeping with the 2001: A Space Odyssey theme of this entry will be…

Photo: The big red eye of Hal 9000 from “2001″

“I’m sorry, Steve, I’m afraid I can’t do that.”

(Well, not just yet, anyway…)