Let's play a game: BASIC vs. Ruby vs. Python vs. PHP

In November I wrote about rediscovering BASIC Computer Games, a book I had when I was learning programming in the ’80s. Flipping through it recently I came across a simple game called “Reverse”:

The game of REVERSE requires you to arrange a list of numbers in numerical order from left to right. To move, you tell the computer how many numbers (counting from the left) to reverse. For example, if the current list is 2 3 4 5 1 6 7 8 9 and you reverse 4, the result will be 5 4 3 2 1 6 7 8 9. Now if you reverse 5, you win.

Unclear on the concept, installment #7,423

Various advertising blogs have been linking to the website of a firm called Goodby, Silverstein & Partners, whose splash page is nothing but a disclaimer (in Flash). It reads:

The materials on this website are copyrighted and are presented exclusively for viewing by clients, prospects, and employees. Before entering the site we ask that you agree not to copy, rebroadcast, or otherwise reproduce the work displayed here.

This is followed by two buttons labeled “ACCEPT” and “DENY”.

Best feature of the new MacBook Pro

Best feature of the new MacBook Pro

In case you missed the news, there’s a new laptop in town. It’s supposed to be really fast and stuff. But my favorite feature is the new MagSafe power connector.

On Tuesday morning, before the keynote, one of my students happened to stop by my office to show me what had happened to the power adapter on his PowerBook. His roommate tripped over the power cord while he was working on the couch. Here’s the damage (not covered under warranty, naturally):

Hopeful news from the USPTO

I can’t really believe this is happening, but the words are right there on the home page of the US Patent and Trademark Office:

The Department of Commerce’s United States Patent and Trademark Office (USPTO) has created a partnership with the open source community to ensure that patent examiners have access to all available prior art relating to software code during the patent examination process.

Last month, USPTO representatives met with members of the open source software community, which provided an opportunity for members to discuss with the USPTO issues related to software patent quality. The meeting focused on getting the best prior art references to the examiner during the initial examination process.

Google Earth for OS X

earth So, it’s out. The real, authorized version of Google Earth for OS X.

Very cool. I’d never seen the Windows version, so it’s all new to me (except the imagery, of course, which is the same used by Google Maps). A couple features I had no idea existed: tilt-the-earth (with optional topographic modeling, i.e. making hills hill-shaped), and 3D modeled buildings (check out the Manhattan skyline). It also has massive amounts of overlay data – roads, borders, place names, schools, stores, ATMs, churches, crime statistics…

Tim Bray: "No New XML Languages"

I avoid XML as much as possible, but once in a while I’ve had a project where I thought about making an ad-hoc XML dialect. I’m going to file away Tim Bray’s recent blog posting to keep me out of trouble during those moments of temptation. His advice boils down to this: If you are tempted to make a new XML dialect, instead try fitting it into one of what he calls the the “big five”:

How to use vim, really

I’m an Emacs man myself. I’ve never really used vim at all, and I use vi only for crontabs and commit messages. I’ve always grasped in the abstract the potential advantages of its modal editing, but that’s as far as it ever went.

Jonathan McPherson’s site has a great introduction to using vim that opened my eyes. His explanations of vim’s features offer just the right amount of detail. Most importantly he explains why particular commands are a good idea. Not explaining that is one of the classic failings of manpages – and I suspect that the vi manpage is the beginning and end of many users’ attempts to learn it. They learn about insert mode, command mode, loading and saving files, and that’s about it. Luckily, those just happen to be the prerequisites for McPherson’s tutorial. Clever fellow.