Although much happens at the MacHack developers conference, the heart of the event is the MacHax Group's annual Hack Contest, which gives the programmers a chance to code without worrying about utility, stability, or even usability. And yet, the hacks that emerge every year show more than the playful side of the Macintosh - a number of them have later been turned into shareware or even commercial products. Of course, such hacks risk cries of "Useful!" from the audience, but that's never stopped a programmer with a good idea at MacHack before.
My Hacks -- I was in no danger of "Useful!" cries with my first hack. Last year, the prize for my hack revealing Eudora's auto-correction capabilities was a four-foot wooden stake, complete with splinters. Why the hack contest organizers chose to give me such a prize is immaterial, but it was in part to see how I'd get it home, since a four-foot wooden stake is going to take some explaining in the airport. As I was leaving, I had a brainstorm, and I wedged the stake securely under the bathroom sink in my room and put a note on my calendar to request room 323 the next year. This year, when I checked in, I asked for the room, got it, and was overjoyed to find that my stake was still there. For the hack, I donned leather gloves and retold that story while brandishing the stake. To make it relevant to the audience, I cast the hotel as a storage device and the stake as data that I wrote out under the sink, then later asked the file system for the address to the block holding my data (the room number). Access time to my data was poor, but I did get a laugh from peering closely at the stake and announcing that there hadn't been any data corruption. Oh, and just in case you're wondering, this year I'm seeing if my data can be copied to another location and, if so, I'll edit it with the sandpaper prize I won this year.
I also participated in another hack with Leonard Rosenthol and Richard Ford to design and implement a statistics server so we Eudora users could compare our usage statistics with others (Eudora 5.0 and later can keep detailed usage statistics in an XML file). The idea was for Leonard to write a Eudora plug-in to extract numbers from the XML file and upload them to a set of Perl scripts Richard wrote to group and sort the results. I set up my iBook to run the Perl scripts under Mac OS X's Apache Web server, and I worked on the HTML interface as well.
The only problem was that since we started after dinner on Friday, with the hack contest starting at midnight, we just didn't have enough time, even with working through much of the contest. Mac OS X stymied many of our efforts with a crash while installing the developer tools, wacky permissions problems, and other annoyances caused by its rigid directory structure. But it was still neat to be run Leonard's application fresh from the compiler, enter its output into a Web page I created in Mac OS X's TextEdit, and see the results served by Apache from Perl scripts that Richard was editing remotely on my machine until the last minute before I started talking.
Yoot Hacks -- Many of this year's 93 hacks came from the large contingent of "yoot" hackers still in school, the youngest of whom was only seven years old. One yoot hack from Justin Christie and Paul Scandariato was even useful - a REALbasic application called iWake that runs items in a Wakeup Items folder whenever the Mac comes out of sleep. A yoot team of Mark Johns, Justin Lee, and Charles Melby-Thompson wrote Chia Windows X to restore the Mac OS 9 zooming window rectangles to Carbon applications under Mac OS X. Daniel Fox wrote an AppleScript called Hackable AirPort Network Seeker, which was designed to alert you verbally if you drove into range of an AirPort network. Finally, Andy Furnas hacked a copy of iTunes to make it scriptable by copying several resources from iTunes predecessor SoundJam MP back into iTunes. It was an impressive showing from the yoots this year, and it's great to see the MacHack experience helping these kids learn and grow year after year.
My poor efforts and the yoot hacks aside, here are the top five hacks of 2001 as chosen by the developers who watched all of the contest demonstrations.
Fifth Place: Palm Finder 2 -- Although most of what goes on at MacHack revolves around the Macintosh, alternate platforms are generally welcome, and the Palm OS often receives strong support in the hack contest. This year, Lucius Kwok's Palm Finder 2 took fifth place with its uncannily accurate representation of the Macintosh Finder on the tiny Palm screen. It could have been even scarier if it had been combined with Jesse Donaldson's HFS-, which took advantage of Palm OS 4.0's new capabilities for accessing files and external storage cards to use an iBook's hard disk as a 10 GB storage card.
Fourth Place: Crrrhaaack -- Inspiration was born of misfortune for Jon Gotow, author of Default Folder, Screen Catcher, and other shareware utilities. Jon accidentally dropped his PowerBook the first day of the conference, cracking the screen and rendering the bottom two-thirds unusable. Rather than crying over a cracked LCD, Jon wrote Crrrhaaack, an extension that resizes the screen to just the usable part (1024 by 260 in his case). An application provides an interface for choosing the functional part of the screen, and if Jon had mentioned during his presentation that he also wrote the hack on his broken PowerBook, he might have placed even higher.
Third Place: AirPort Radar -- Three years ago at MacHack, every table in the hotel atrium where the hackers congregate was adorned with an Ethernet hub. Most of those disappeared last year, because many people had AirPort cards and could use the wireless network instead, and this year, all but a very few people relied entirely on six AirPort Base Stations scattered around the hotel. Taking advantage of the wireless network setup, Mike Neil and Eric Traut wrote AirPort Radar, which used the differing signal strengths from multiple AirPort Base Stations to triangulate and display the location of a PowerBook, even while it was moving.
Second Place: AquaShade -- Mac OS X's "genie effect" when minimizing windows into the Dock makes for a good demo, but lots of Macintosh users have bemoaned the loss of Mac OS 9's windowshade feature, which causes a window to roll up into its title bar. Nicholas Riley and Avi Drissman set out to fix this problem with their AquaShade hack, which brings back the windowshade functionality to Mac OS X's minimize button, at least in Carbon applications. Holding down Control when clicking the minimize button does a normal minimize to the Dock, holding down Option toggles the windowshaded state of all open windows, and holding down Shift makes the windowshade action move more quickly. Derisive cries of "Useful!" were rampant during their demo, but that didn't stop the applause nor the votes that gave AquaShade second place.
First Place: Apple Turnover -- In the grand tradition of almost useless hacks, Mac Murrett's Apple Turnover took home first place with its technically impressive dynamic rotation of the live screen image. Different modifier keys caused Apple Turnover to rotate the screen clockwise and counter-clockwise, or to jump to specific angles of rotation. Apple Turnover made good use of the Velocity Engine, but perhaps the deciding factor was its demonstrated compatibility with asciiMac, a hack from a few years ago that displayed the entire Macintosh interface in ASCII graphics.
Although details weren't available when I wrote this, CD-ROMs containing all the hacks (many with source code) are usually made available for purchase at the MindVision store. Check the MacHack Web site for details.