Archive for April, 2003

PodWorks 2.1(.2) Released

Wednesday, April 30th, 2003

Monday afternoon, while everyone else in the Mac universe was happily checking out Apple’s new music service, I had my head down in Project Builder, frantically trying to find and fix any incompatibilities that had cropped up between PodWorks and Apple’s iPod Firmware 1.3. Most of Apple’s firmware updates have been surprisingly kind to PodWorks, but this time 1.3 and iTunes 4 conspired to make a change to the database big enough to actually break my parser.

The problem initially manifested itself rather subtly: when using PodWorks 2.0 with a 1.3 iPod, the user-defined playlists would show up, but the main song list would be missing. After a little investigation, I discovered that this was caused by a change in the way Apple identifies the main song list within the database.

Expecting to wow the world with my prowess, I quickly put together an update (2.1) that seemed to work perfectly and fix the problem on with all of the iPods I have access to (which is about 5). Within minutes of sending an email notification to registered users, however, I started to receive complaints that 2.1 was simply crashing upon attempting to parse the database.

This, of course, put me squarely into a situation that is every programmers nightmare: trying to solve a problem that is not readily reproducible. Crash logs revealed nothing, except an “attempt to insert nil,” which was not very helpful. Reports of the problem jammed my inbox. One particularly helpful user sent an email that read as follows:

Subject: Bugy!
Body: Please, Send Fix!

Fortunately, not all of the bug reporters were that unhelpful (in fact, most of them weren’t). In particular, I owe an enormous debt of gratitude to Christopher Frey of Oakland, California, who had sufficient UNIX chops to open the terminal and send me a copy of his iPod’s iTunesDB. It was Mr. Frey’s database that finally allowed me to reproduce the crashes myself and discover the source of the problem.

As it happened, the crashes were occurring because my intial fix for the 1.3 firmware was incomplete, owing to my lack of knowlege of changes to the iTunesDB. Fortunately, I was able to do a follow-up release, 2.1.2 (2.1.1 being an unreleased, failed attempt at solving the problem), which seems to have universally solved the problem.

All I can say now is that I’m really, really looking forward to the release of 2.0 (in June, I think I’ve heard). Yes sir, just can’t wait…

Prankster Extraordinare

Friday, April 25th, 2003

While I’ve always maintained that I have a weblog for no other reason than to provide an outlet for my thoughts and to keep my writing skills sharp, I must confess that, from time to time, I do succumb to the temptation to check my site statistics and see if anyone’s actually reading. OK, OK, I admit it—I succumb to that temptation often. I’m only human, after all!

In the course of these statistical explorations, however, one thing has become apparent to me: while a fair number of people do seem to tune in for my witty and insightful weblog commentary, a significant number of visitors every day are brought in by something decidedly less cerebral: my high school senior prank page.

Noting that “senior prank” is usually the most popular search term in my logs, I decided to see how I ranked on Google for that query. To my utter amazement, I was number 1 with a bullet!

So, I guess this objectively makes me the world authority on senior pranks. If you’re desperately seeking senior prank ideas and “feeling lucky,” I’m your man. I just hope I can be worthy of this grave and terrible responsibility!

Eclipse 2.1 & Ant: Beware!

Thursday, April 24th, 2003

Matt Croydon href="http://postneo.com/2003/04/23.html#a2439">mentioned tonight that
he is downloading Eclipse 2.1.
Seeing his post on the subject reminded me of something I had intended to
mention in my own href="http://www.scifihifi.com/weblog/software/Eclipse.html">review of
Eclipse a few days ago—that the version of Ant bundled with 2.1 is seriously, frustratingly broken.

I discovered this the hard way: after several days of banging my head against the wall and (literally) throwing things at my computer (the Sony VAIO at work, of course, not my beloved PowerBook) because Ant was behaving in ways that simply defied logic.

It all began after I upgraded to Eclipse 2.1 and then started a new project. Since the project was a web application, I began by putting together an Ant build file to automatically assemble its EJB-JAR, WAR, and EAR files. I was using very standard Ant code—mostly along these lines (Update: I originally had this code inline, but it was screwing up my RSS feed in NetNewsWire).

This code should, of course, produce a file called “test.jar” containing “META-INF/test.txt”. For me, however, it was creating nothing but empty Jars.

After several days of trying to figure out what the Apache people had changed to rendered my code ineffective, I finally decided it must be a bug in Ant. And I was right.

As the above referenced bug report suggests, the problem was fixed in the 1.5.3 release of Ant, and fortunately it is fairly straightforward to patch in Eclipse. The following worked well for me:

  1. Download Ant 1.5.3.
  2. Copy the contents of plugins/org.apache.ant_1.5.2 to plugins/org.apache.ant_1.5.3.
  3. Replace ant.jar and optional.jar at plugins/org.apache.ant_1.5.3 with the Jars from the newer distribution.
  4. Change the version number in plugins/org.apache.ant_1.5.3/plugin.xml to 1.5.3.
  5. Trash plugins/org.apache.ant_1.5.2.

After making that adjustment, my build file finally worked properly. And not a moment too soon—I was beginning to think I was just thick!

Just wanted to get that information out in an attempt to (hopefully) spare Matt and others from the same frustration I endured!

Free State Project

Monday, April 21st, 2003

Peter Saint-Andre is a fellow
Denver resident and the guiding light of the city’s only cool software
company, Jabber (and yes, I’m aware
Quark is based here). He is also a
libertarian, and his href="http://www.saint-andre.com/blog/">weblog is the source of a lot of interesting political writing.

Today I was browsing his site and noticed that he has a permanent sidebar link to something called the Free State Project. The Free State-ers are a relatively small group with a fascinating idea: that if enough like-minded, but politically dissident, people were all to move to the same state, they could influence elections in a way they couldn’t hope to elsewhere. As their site explains it:

The Free State Project is a plan in which 20,000 or more liberty-oriented people will move to a single state of the U.S., where they may work within the political system to reduce the size and scope of government. The success of the Free State Project would likely entail reductions in burdensome taxation and regulation, reforms in state and local law, an end to federal mandates, and a restoration of constitutional federalism, demonstrating the benefits of liberty to the rest of the nation and the world.

Of course, this simple plan is not without its difficulties. First, how do you convince 20,000 people from all over the nation to agree on a single state (especially when its a state with a small enough population that they could make a difference, which means something along the lines of Alaska or Wyoming). Second, it seems to me that such a project, which depends heavily on the solidarity of its participants, would be very vunerable to infighting.

As clever as the idea is, I also can’t help but think that such a plan’s success might not bode well for the country. Can you imagine if other political groups were to try similar tactics? Far from the pluralism that has traditionally characterized the US, I can imagine a very Balkanized country.

An interesting idea, though…

Eclipse

Sunday, April 20th, 2003

On March 28, the Eclipse Project released version 2.1 of its open source “universal tool platform” (which is primarily used as a Java IDE). I’m a Java programmer in my day job, in which capacity I have developed quite an attachment to Eclipse, so I was naturally quite excited to see a new version. I was even more excited, however, when I discovered that they had, at long last, released an official OS X build!

A lot of my enthusiasm for this stems from my fond wish to see OS X get the respect it deserves as a heavy-duty, enterprise OS. I have long believed that the release of Eclipse for Mac OS X is an important milestone on the way to Apple’s acceptance as a first class Java platform. After all, let’s face it—not that many people really use WebObjects and, personally, I barely like using Project Builder for Cocoa, let alone Java!

While it is true that there are other options for Java development on the Mac (such as IntelliJ IDEA), Eclipse is, in my opinion, the best Java IDE out there (maybe even the best IDE period) and it is well on its way toward achieving the sort of open source ubiquity already enjoyed by Ant, Tomcat and Struts. The current results in Java Developer’s Journal’s “Best Java IDE Environment” reader poll seem to bear this out (at least at the time of writing).

The bad news is that Eclipse, which is written in Java but (thanks to an alternative GUI toolkit called SWT) feels incredibly like a native application on Windows, is currently quite pokey in its Mac OS X incarnation. It’s usable, but definitely lacks the fluidity of its Windows counterpart.

Possibly a bigger stumbling block, from the perspective of many Mac users, will be Eclipse’s non-standard GUI. While SWT offers a big improvement over the traditional Java AWT and Swing APIs in terms of performance and native look-and-feel, it does incorporate a group of custom widgets that (in my opinion) are more strongly reminiscent of Windows than Aqua. While Eclipse on Windows is nearly indistinguishable from a native application, Eclipse on OS X tends to look, at best, like a hastily ported Carbon app or, at worst, like a really carefully designed Java Swing application.

All gripes aside, however, Eclipse on OS X is the same great development environment that I’ve come to love on Windows, and that alone is cause for celebration. I would kill to have Eclipse’s sophisticated code completion features in Project Builder (since I’ve been using Eclipse at work, my once frequent visits to the Java API docs have all but ceased). And there seems to be no end to the cool features the Eclipse people come up with—my favorite new one in 2.1 is the “Task Tags” functionality, which automatically creates a To Do list from comment tags that begin with “TODO”.

As anyone who uses Eclipse on a daily basis knows, it’s a lot like Safari: still a work in progress, but a highly polished one that improves by leaps and bounds with every release. The SWT implementation for OS X is still brand new, and I expect its speed, at least, will keep improving. In the meantime, Eclipse’s availability for OS X is just makes the platform all the more attractive to those all important Alpha Geeks.

Graffling

Friday, April 18th, 2003

It’s been awhile now since I discovered an application so wonderful that it reminds me all over again why I use a Mac, but with the recent release of OmniGraffle 3.0 Pro I’m happy to report that I’ve once again glimpsed software nirvana!

While OmniGraffle 2 was a nice little app, it was hardly proper competition for that other Seattle-based software company’s behemoth offering, Visio. Version 3, however, adds an impressive array of features (including Photoshop-style guides and layers, improved drawing tools, a full-screen presentation mode, and even export to Visio) that go a long way toward narrowing the gap. OmniGraffle is now to Visio what Keynote was to Powerpoint—a scrappy upstart that takes on an established giant and not only matches it, but also bests it in important ways.

As a Cocoa developer, I must also admit (over the certain protests of Mac UI purists) that the stunning, custom GUI work Omni did for OmniGraffle 3 is a large part of the attraction for me. I particularly admire the system of collapsable inspector palettes.

omnigraffle_inspectors.gif

They may be fairly similar to what Microsoft implemented for the OS X version of Office, but I think they offer a number of nifty improvements. For example, unlike the Microsoft palettes, Omni’s palettes are dockable—they can be separated, strewn around the screen and then rejoined into a group (there’s even a cool animated cue that Omni uses to let the user know when a palette is about to be “docked.”

omnigraffle_inspectors_dock.gif

It seems to me that OmniGraffle has, of late, been on the receiving end of a lot of love in the weblogging community (see Meg Hourihan’s “War Justification Process” diagram or Tom Coates’s trackback explanation for examples). I suspect that this is largely the result of a very smart move on Omni’s part: to strike a bundling deal with Apple, whereby OmniGraffle is pre-installed on every new “pro” Macintosh. Like me, a lot of new Mac owners have learned to love OmniGraffle simply because it is there. Given the impressive work Omni has done, I suspect a large number of these same people will gladly take the plunge and pay to upgrade to 3.0.

Now, if only we can get Omni to publicly release some of that lovely GUI work as part of their Omni Frameworks

Wilco Hijacked

Tuesday, April 15th, 2003

Sam Jones’s gorgeously photographed Wilco documentary, I Am Trying To Break Your Heart, is one the best DVD values I believe I have ever seen. For around $30, the hardcore fan gets the movie itself—which tells the now famous story of how the band came to release one of the albums of the decade—as well as a second disc containing literally hours of outtakes.

Now, I’ve never been one to be taken in by DVD “extras”—the recycled Discovery channel documentaries and endless, narcissistic directorial commentaries almost always leave me cold. But the extras contained on the I Am Trying To Break Your Heart DVD are a very different story—assuming you like Wilco, you will actually want to watch them. The big draw? A number of inspired, uncut, live recordings (including a rocking “Pot Kettle Black” and a bunch of Jeff Tweedy’s highly accomplished solo acoustic performances).

My only real complaint about all of these goodies is that they’re on a DVD, and not on my iPod. Fortunately, the naughty developers at Rogue Amoeba (with a little bit of help from Unsanity) have come to my rescue with the wonder that is Audio Hijack. Using the $30 pro version of this software, I have been able to grab a number of songs from the film and encode them as high quality MP3 files. The result is something akin to getting a brand new Wilco live album (can you tell how much I’m itching to get my hands on the new EP they’re supposed to be releasing?)!

(Update: Apparently the aforementioned EP is href="http://www.pitchforkmedia.com/news/03-04/07.shtml">not
forthcoming! How lame!)

Now if I could only figure out a way to mute Jay Bennett’s omnipresent voice over the songs…

Hydra

Monday, April 14th, 2003

I finally got around to trying Hydra yesterday, and I must say I’m more impressed than I expected to be. I find Extreme Programming, with its emphasis on pair coding, very intriguing, but the idea of sharing my computer with someone else has never appealed to me. First, it makes me nervous to have someone literally looking over my shoulder all the time; second, it always seems to me that the constant back-and-forth over who gets to “drive” inhibits my productivity. If I have a sudden burst of inspiration, I don’t want to have to say “quick, stop what you’re doing and give me the keyboard!”—I just want to get it down as quickly as possible. Maybe I’m just a control freak, but trying to work on anything—be it a Word document, web page, or piece of code—without full control of my machine is frustrating.

This is where Hydra is advantagous—it is a text editor that allows two or more people using different machines to work on the same document at the same time. As you type, the others see your changes and vice-versa. Automatic, peer-to-peer client discovery is handled by Apple’s Rendezvous technology. The idea is so simple that you tend to wonder why no one did it before, and yet so ingenious that it has the potential to fundamentally change the way a lot of people collaborate. And, as is the case with a good deal of Mac free/share/indieware, the beauty of the software doesn’t end with the concept: the actual implementation is top notch.

As it happens, my first practical use of Hydra actually had nothing to do with software quality or pair programming, but I think it reveals another important use for the app that I haven’t seen anyone mention yet: education. My younger brother expressed interest in putting up a web page and wanted me to help him render his proposed design into HTML and CSS. Rather than having him simply watch while I layed out the entire page for him on my computer, I had him fire up Hydra and follow along as I coded. Once I had the basics in place, and he had a better sense of how HTML works, I was able to turn control over to him and watch as he worked, pointing out mistakes or offering advice. My opinion is that this was a much more educational and interactive experience for him than it would have been if we had done the whole thing on my machine. I can already see huge applications for apps like Hydra in computer science education!

Of course, as slick as Hydra is, I think it goes without saying that its true legacy will less as a text editor in its own right and more as an influence on established applications. Like most programmers, it would take a lot more than a single feature to separate me from my favorite tools: BBEdit for Perl, Shell Scripting, and web development; Eclipse for Java development; and Project Builder/Interface Builder for Cocoa development. I for one would be surprised if we didn’t see some sort of Rendezvous integration in the next major release of BBEdit.

The Universal

Saturday, April 12th, 2003

Alright, well, I suppose I couldn’t legitimately call this a Mac-related weblog unless I commented on the rumored acquisition of Universal Music Group by Apple. The feeling across the Mac blogosphere seems to be mixed: Erik Barzeski mentions having goosebumps, while Steven Frank isn’t sure what to think (but leans toward it being a good strategic move). Gizmodo officially thinks it’s a bad move.

As an avid Mac user who is also a huge music fan, not to mention the developer of an application that could potentially benefit a lot from an Apple-branded online music service, my first instinct is to say that I love the idea. After all, in this post-Digital Millennium Copyright Act era, when record companies and other “big copyright” interests are fighting to destroy fair use, who wouldn’t want to see a CEO as hip and enlightened as Jobs at the head of a major label? In the same way that the iPod has put other, DRM-laden music players to shame, Apple could help the music labels help themselves by confronting their inevitable, digital future. Apple could, quite literally, save the music industry!

All of which is a lovely thought, of course, until you consider that something like this has been attempted before—with less than salutary results. After the novelty of the rumor wore off, my second thought was of an article that ran in the February 2003 issue of Wired, entitled “The Civil War Inside Sony.” The thrust of it is essentially that Sony’s forward-thinking attempt to marry content and consumer electronics has bogged down in irreconcilable differences. The article even uses the fact that Apple (not Sony) produced the iPod as an example of Sony’s failure to compete in the emerging digital music game—a symptom of the dysfunctional relationship between the company’s conservative, DRM-minded content side and its visionary hardware side. The implication: Apple was able to create something as wonderful as the iPod only because they weren’t beholden to large intellectual property owners.

And then there’s the price tag: $5 to $6 billion! Anyone who has followed Apple since the “dark days” before and immediately following the return of Steve Jobs has probably become accustomed to thinking of Apple’s relatively large cash reserves as the company’s “ace in the hole”—the lifeline that could keep Apple afloat even through tough times ahead. I personally have silenced predictions of Apple’s demise numerous times by invoking the company’s rather prodigious bank account. I realize that Apple is a much healtier, more stable company today than it was 4 or 5 years ago, but to make such a huge acquisition (particularly one as experimental as this one) would still represent an enormous risk.

Still, Jobs & Co. have proven themselves extremely shrewd where strategy is concerned, and it is clear that they are maneuvering Apple toward a commanding role in the post-PC era. While Sony’s experience certainly gives cause for concern, I do believe that if anyone could succeed in making peace between geeks and record moguls it is Apple. And, though the financial risk is high, maybe this is just the bold move that Apple needs to catapult the company to the next level. I just hope that whatever action the management takes is carefully considered—it would be a shame to see Apple falter, AOL Time Warner-style, over a $5 billion experiment!

(Update: Apparently this href="http://www.macminute.com/2003/04/12/universal">isn’t likely
to happen, although, to make things even more interesting,
now Microsoft is href="http://www.macminute.com/2003/04/12/universal2">rumored to have been interested as well!)

Going Underground

Saturday, April 12th, 2003

Peter Provost, a fellow Denver resident, posted a link on his weblog to this site, which imagines what a subway in our fair city might look like.

I’m not sure who the enterprising soul that came up with this map was, but I applaud his work. If there’s one thing that my travels in the capitals of Europe have taught me, it’s that subways can provide a wonderfully easy and effective mode of mass transit. What’s more, my personal feeling is that they can often help to give cities more character and make them less “suburban” by collapsing the distances between different areas. And Lord knows Denver could use the traffic relief!

My only quibble with the proposed map? It needs a loop (similar to the London Underground’s Circle Line) around the city center.

On a separate but related note, it would appear that London’s Central Line outage (which dogged nearly every underground journey we took on my last trip) is finally at an end.