Government-Issued Speed-Controlling Devices

Larry Borsato writes about some experimental new devices:

Transport Canada is testing an integrated GPS device that compares your speed to the posted limit of the streets you are driving on. The idea is to make sure that you can’t exceed that posted limit.

You can read more about the device on Engadget.

While I find the technology interesting, I wouldn’t want one of these devices in my car. I just don’t want some centralized authority invading my life like that.

I’ve occasionally wondered whether there is a more effective approach to keeping our roads safe. Here’s my nutty idea: Install a digital video camera on everybody’s dashboard. The camera is set to constantly record everything. Accompanying the camera is a big blue button. When you press the blue button, the camera sends the last five minutes of recorded video to the nearest police station wirelessly for review. If the reviewer agrees that an infraction has occurred, the offending driver is immediately issued a ticket.

Technorati tags: , , ,

Other Orientations in Computer Programming

Don Box:

I still find myself occasionally having to remind people that objects are at best a means to an end. They aren’t the end unto themselves. Trying to design software only in terms of object-oriented concepts is like trying to speak English without using adjectives or adverbs.

Well said, Don.

I’m glad to see all the hype around object-oriented programming is waning. There are other ways to approach computer programming. If you don’t believe me pick up a copy of Concepts, Techniques, and Models of Computer Programming. It’s worth it. Really.

Technorati tags: , ,

The Short Head of Programming Languages

The TIOBE Programming Community index is a list of the 20 most popular programming languages in use today:

The index is updated once a month. The ratings are based on the world-wide availability of skilled engineers, courses and third party vendors. The popular search engines Google, MSN, and Yahoo! are used to calculate the ratings. Observe that the TPC index is not about the best programming language or the language in which most lines of code have been written.

It should come as no surprise that Java, C, and C++ top the list.

Tip of the hat to Ian Landsman.

Wiki Software Flame War

I am the recent beneficiary of new desktop machine at the office, which leaves my old machine available for other experiments.

In another bold step into the 90s, I’m looking into setting it up as an office wiki server.

I’m not at all familiar with any of the Wiki packages and I don’t really know what features I should be looking for, though this comparison of wiki software chart has provided some hints.

One.. Two.. Three… Four… I declare a flame war.

Which wiki software is the best, and why?

It’s Funny…

In one of her rare blog posts, Mandy writes:

The next weekend is then Christmas… this year has certain zipped by, hence why I haven’t spent much time publishing… oh, that and the fact that I would need to beat my hubby over the head with a stick in order to get any significant computer time. 😉 Just kidding dear! 🙂

Heh. I’m reminded of that Homer Simpson quote: it’s funny ’cause it’s true.

Technorati tags: ,

Canadian Liber Government Falls to Vote of Non-Confidence

Mandy just shouted up to me that the Liberals are dead. The opposition parties, led mainly by Steven Harper’s Conservatives, have forced another election with a vote of non-confidence.

What I’m still trying to figure out is why the NDP would vote along with the Conservatives and Bloc on this. Their handful of MPs effectively had the much larger Liberal contigent by the balls. They could have gotten the Liberals to pass virtually any bill they put forward.

Or maybe not. Maybe those NDP pushed too hard, too fast, and Martin decided he’d rather take his chances in another election than spend another year pandering to Layton.

Harper, I’m sure, will be out taking credit for toppling the government, though he really didn’t have much to do with it. What he doesn’t seem to realize is that by taking credit of it now, he is winning the blame of voters when they are forced to trek out the booths in Canada’s coldest month.

And that’s politics as usual, in Canada.

Imaginative Poverty

Dave Pollard asks an intriguing question:

But in a modern, homogeneous society, do we still need imagination? I think it’s possible that in a hierarchical, overcrowded, enormously interdependent society imagination is an evolutionary disadvantage: It breeds dissatisfaction, nonconformity and discontent, and it suffers in an environment of homogeneity and monoculture. Even language, which has been shown to affect the way in which our brains are structured as we grow, drives us to think in linear, traditional, established ways. So I would argue that over the last 30,000 years imagination has been bred out of the human gene pool, and what survives is systematically squelched long before the school system has the chance to inflict further damage on it. Imagination can be frightening, and our society ridicules fearfulness (except of things prescribed by the government, the media and our peer groups as ‘reasonable’ to fear). I think we actually learn not to imagine.

Technorati tags: , ,

Ron Garret’s Google Story

Ron Garret tells the story of how he left Nasa’s Jet Propulsion Lab to work for Google in what so-far is a four-part series on Xooglers.

Back in the day, I spent a lot of time lurking on comp.lang.lisp. Ron was a frequent poster there, though it was always under the pseudonym his former name of Erann Gat in those days. His was one of the many distictive voices that I enjoyed reading on that newsgroup. I’m glad to hear from him again.

Tip of the hat to John Wiseman.

Update (2005-12-14): A comment from Ron corrects an important mistake about his time as Erann Gat:

That wasn’t a pseudonym, that was actually my name at the time

Sorry, Ron. I should have checked my facts. Thanks for correcting it.

Technorati tags: , , ,

So long, John Vlissides

Ehud Lamm:

John Vlissides, of GoF fame, passed away on Thursday, November 24, 2005, after a lengthy illness.

More on John on the wiki page dedicated to his memory.

John was one of four authors of a highly influential book on the topic of object oriented programming. He will be missed, though his contribution continues to be felt around the world.

Test Driven Development: The Double Entry Accounting of Programming

I’ve been doing Test-Driven Development (TDD) for more than a year now. It’s no silver bullet, but it has helped me catch plenty of mistakes that might otherwise have slipped through to our final product.

TDD, for those of you not familiar with it, is a three step process. When you realize that you’d like your program to do something different that what it already does, you:

  • write a test case that would pass if the change was implemented (it will fail intially because it hasn’t yet been implemented)
  • implement the change so that the test case passes
  • clean up your code

It didn’t take me long to notice that whenever I wanted to make a change, I ended up describing that change in two different places: once in the unit test and once in the production code. It used to bother me that I was doing twice the work that I had been before starting with TDD.

It finally dawned on me that the duplication is the primary benefit of TDD. TDD is the double entry accounting of programming. Whenever you’d like to change your program, you enter the change in two sets of books: test cases, and production code. The duplication is what allows you to detect your errors.