Archive for November, 2003

Static vs. Dynamic Typing

Sunday, November 30th, 2003

To anyone interested in the nuts and bolts of things like programming languages and compilers, I highly recommend the “What the heck is…” series of articles that Dan Sugalski, one of the architects of Parrot (the VM at the core of Perl 6), has been penning for his weblog.

Dan is one of those rare supergeeks who actually posesses the ability to write clearly and engagingly about his work, and as far as I’m concerned, his weblog is a great educational resource. He also seems to be refreshingly free of a lot of the dogma that tends to characterize discussions about programming languages, as he demonstrates in today’s even-handed discussion of the ever-popular static versus dynamic typing debate:

Which is the right answer? Well… it depends, of course. Depends on the people involved, as the differing styles of typing appeal to different people. It also depends on the problem, since some problems require more stricture than others. (I, for one, want the code running a plane I’m in to have all the checks run on it as possible). And it depends on the performance requirements you have, since the more statically typed a language is the faster the code can be. (Not necessarily will be, of course, but the less uncertainty the optimizer has the more it can optimize). There really isn’t One Right Answer. That’d be too easy. :)

I couldn’t agree more. Dynamically typed languages like Objective-C have attractive advantages for certain kinds of applications (they allow greater flexibility in the development process and facilitate elegant designs like Cocoa’s “responder chain”), but also tend to have liabilities in terms of performance overhead and the increased possibility of runtime error. The important thing is simply to consider the application and choose the right tool for the job.

Master and Commander Data?

Saturday, November 29th, 2003

About a week ago, Eric Albert and I decided to check out Russell Crowe’s new swashbuckling flick, Master and Commander: The Far Side of the World. It’s a beautifully filmed movie, and an interesting historical portrait of the British Navy at the time of the Napoleonic Wars (man, oh man, did those people idolize Lord Nelson!), but I walked out of it with an odd feeling of déjà vu. The whole thing had seemed strangely familiar, and I couldn’t figure out why.

It wasn’t until later that I finally hit on what the movie had reminded me of: the original Star Trek series! Consider the similarities:

  • Both have as their main character an impetuous (some would say reckless) captain who overcomes more powerful foes through a combination of guts, guile, and “outside-of-the-box” thinking.
  • Both use the ship’s doctor as the captain’s best friend and confidant.
  • Both portray a constant tension between the higher calling of scientific exploration and the more immediate demands of war.

I suppose similarities like these are the inevitable result of the fact that both Star Trek and Master and Commander are very much genre fiction, but I still can’t help but wonder if Patrick O’Brien had some latent Trek memories in his mind when he began writing his series (in 1970).

Resurfacing

Saturday, November 29th, 2003

Hmm…what excuse shall I deploy to apologize for letting this site get stale? Here are my top ten contenders, Letterman-style (OK—actually reverse Letterman-style):

  1. Decided to give Slim Devices two weeks of free advertising.
  2. Was preoccupied by not one but two fairly major PodWorks releases (including one that finally introduced the long-awaited iTunes integration!).
  3. Was having too much fun with family and friends during my Thanksgiving trip to Denver.
  4. Wanted to lay low after my Think Secret-ing and ensuing second-hand Slashdotting.
  5. Wanted to emulate Apple weblogging role model Dave Hyatt.
  6. Rediscovered reading, became engrossed in George Packer’s brilliant, sprawling Iraq reportage in The New Yorker.
  7. Wanted to separate the hardcore readers from those who actually demand “content.”
  8. Became mired in enormous email backlog.
  9. Didn’t have anything interesting to say, hit on revolutionary idea of not saying anything.
  10. I just have too much to live for, damn it!

Wi-Fi Hi-Fi

Tuesday, November 18th, 2003

It’s not often that I get to scoop the entire blogosphere, but I think I’ve got a good chance of being the among the first to mention the latest thing from SliMP3 maker Slim Devices: the Squeezebox. Over the weekend, I had the opportunity to hang out with both the brilliant new Wi-Fi music player and its creator, Sean Adams, and I can say without reservation that both are extremely cool.

The Squeezebox, like the SliMP3 before it, is a very clever concept: rather than trying to turn their music player into a TiVo-style set top box, Sean and company have designed a “thin” client that connects to your stereo and merely streams music from your computer. It has a remote control and a little readout that displays song metadata and allows you to browse your library in a way that will be very comfortable to users of the iPod and iTunes. The server-side software has a slick web-based interface, integrates with iTunes, is completely open source (GPL) and mostly written in Perl, and presents some marvelous hacking opportunities.

While the SliMP3 required an Ethernet connection, however, the Squeezebox makes a good thing truly great by incorporating an 802.11b/g wireless interface. I suspect that this little innovation will finally eliminate the major barrier preventing a lot of people from embracing such a device (read: ugly ethernet cables).

One of those classic “Ah ha!” moments came for me when I was browsing Sean’s prodigious music collection through a Squeezebox connected to the stereo in his living room, and was told that all of the music was actually coming from a server in his office in Mountain View. The Squeezebox may be a relatively simple device, but it hints at some amazing possibilities!

Of Bugs and Guilt Trips

Friday, November 14th, 2003

As someone whose life revolves increasingly around bugs, I simply couldn’t resist calling attention to two excellent weblog posts on the subject of software quality and the public’s perception of it.

The first, which I discovered via Andrej Budja (who really is doing a great job as a Longhorn blogger—I recommend his site), was written by Joe Bork, a software tester at Microsoft. In his thorough post-mortem on a particular Visual Studio bug, he answers a question that, in my experience, perplexes and outrages a lot of people: Why do software companies seem to ship software with known bugs? One answer, as Bork explains: more or less all software has bugs, and bug fixes, even seemingly small ones, always have a certain level of risk associated with them given a particular time frame.

The second link is David Hyatt’s amusing post on the “guilt trip” tactics used by some bug filers to shame developers into fixing their pet issues (Brent Simmons also made a similar post). The problem with these kinds of people is that they really need to read Joe Bork’s post and understand that decisions about fixes are not usually based simply on how guilty someone feels about a problem.

If you really want to ensure that your bugs (whether they are in a favorite shareware app or OS X) get fixed in a timely fashion, there is one thing you can do: make sure your report gives the developer enough information to reproduce the problem! Don’t just describe the symptoms—provide some context! Wrack your brain to think of what you were doing when the problem happened, the precise path you took to see the the behavior, any unusual software you might have been running at the time, new hardware you might have added, etc. If applicable provide a sample (e.g. a page that Safari chokes on or a file that causes Word to crash). And, as any developer reading this will attest, be sure to include a crash log if at all possible—they are often absolutely indispensable in tracking down a problem!

Guilty Pleasures

Wednesday, November 12th, 2003

I don’t usually go in for the “list” meme stuff, but both Phil Ulrich and that guy who got fired for taking G5 pictures at Microsoft have done posts answering LISTblog’s call for lists of “five songs you hate to admit you like,” and, as a closet pop music fan, I can’t resist holding forth on my own favorite guilty pleasures. So, here they are:

(more…)

Iconographer for Hire

Wednesday, November 12th, 2003

Ah, how times have changed. When I was a high school student, I toiled in menial, uninteresting jobs at late hours for a pittance. By contrast, today’s teenagers, with their cell phones and their Instant Messengers and their iPods, are finding ways to earn their pennywhistles and moonpies in a more fulfilling way: by joining the Creative Class!

Take my little brother Bobby (pictured here in Vail—isn’t he a handsome young man?), for example. When I started needing new toolbar icons for PodWorks on a tighter schedule than the IconFactory could manage, Bobby picked up the slack and provided beautiful new playback and “Show Info” icons on a moment’s notice (see them here—they’re the last two). I’m very pleased with them, and I think they compare rather favorably to the other, IconFactory-designed, icons in the set.

Bobby’s icon work didn’t end there, though. Industrious young man that he is, it wasn’t long before he was turning out scads of icons for every occasion, with an eye toward eventually going pro. Some lovely examples of his recent handiwork are pictured below.

Note the use of perspective on the folders and the swishy arrows—clearly the marks of a young man who is mastering the tricky bits of drawing teeny tiny pictures!

Needless to say, I’m bursting with pride in my brother’s emerging talent, and I’d like to see him achieve some success. Given past complaints among smaller Mac developers about the difficulty of getting good icons at a reasonable price, I think Bobby and the indie software community might be a great match. So, if you’re working on an application and you find yourself in need of some design consultation, do keep the kid in mind (you can contact him through me) and help a highly motivated youngster earn some money doing what he loves!

Blosxom Hacking, Part Two

Saturday, November 8th, 2003

Since my original post about a Blosxom posting date preservation hack, a number of people have brought other text editing options to my attention. For example, those who find vi a little too esoteric but still need to edit blog entries remotely can use Pico—an excellent, terminal-based alternative. Just replace the line that executes vi with the following:

system 'pico', $file;

Those of the Windows persuasion may wish to make use of that platform’s ubiquitous Notepad application, and Matthew Magain reminds us that this is also an option. The only catch is that it is slightly more complicated. First, replace the vi-executing line in the Perl script with the following:

system 'notepad', $file;

Then save the Perl script somewhere (for example, “C:\Program Files\blosxom_edit\blosxom_edit.pl”), and create a Windows batch file containing the following (changing the path information as appropriate, of course):


@echo off

c:

cd\program files\blosxom_edit

perl blosxom_edit.pl %1

Assuming that Perl is in your path, you should now be able to run the batch script and edit the file using Notepad without changing the date.

FavoritesBar

Wednesday, November 5th, 2003

Steven Canfield over at Aquasition.net has given Mac users a lovely present this evening: FavoritesBar! The Hollywood pitch would go something like this: it’s the Panther task switcher (or, if you prefer, LiteSwitch) meets the Panther Finder sidebar. No matter how you look at it, it’s a classic example of the sort of small but clever application you don’t know you need, but soon can’t imagine life without.

With FavoritesBar, Exposé, and my recently registered copy of LaunchBar, I’m finding the shortest distance between two points on my Mac a lot shorter these days! Keep up the good work, Mac developers!

The Madness

Sunday, November 2nd, 2003

I wasn’t expecting to do much for Halloween (I don’t usually), but I caught wind that some of my coworkers were going to “The City” for Halloween in the Castro, and I decided at the eleventh hour to go along. I managed to pull together what I for one consider to be a very clever last minute costume—Donnie Darko in his skeleton and hoodie ensemble—and prepared myself to witness what the locals call “The Madness!”

This year’s festivites were reportedly rather subdued compared to previous years’—undoubtedly due to the heavy police presence and alcohol ban—but that’s probably not too bad of a thing since last year’s festivities included the stabbing of four people. All in all, it was worth seeing, if for no other reason than to add it to the list of “things I have done.” I must confess, though: I’m a little disappointed that not one person all night recognized me as Donnie Darko. By contrast, people (especially the ladies) positively fawned over Jon Barbero’s ice cream cone getup (which, incidentally, reminds me vaguely of Mr. Tastee from the excellent Adventures of Pete & Pete). Who’d a thunk it?

Photos can be found below.


Jon Barbero, Jamie Montgomerie, and Brian James

(more…)