July 01 Viewpoint
Volume Number: 17 (2001)
Issue Number: 07
Column Tag: MackHack 2001
by Andrew S. Downs
Is it Over Already?
What just happened?
MacHack 2001 (also known as MacHack 16) is now just a backed-up date book entry in my Palm VII, but strong memories remain. This was the most successful MacHack ever in several categories: a record number of attendees, a record number of papers presented, the first-ever Lego Mindstorms sessions track, a maximum number of student registrations, the longest Hack Contest ever (six hours), the largest keynote address (a panel of seven), and the first-ever Fireside Chat with Steve Wozniak.
What is this MacHack Thing?
If you have never heard of MacHack, let me try to explain: it is the Macintosh developer's conference with "underground cred" (per ZDNet eWEEK: www.zdnet.com/eweek), three-plus days of mostly technical sessions presented by the people who write the software you use every day, capped-off by a rousing display of showmanship and programming ability known as the Hack Contest, which is sponsored by The MacHax Group (www.machax.com).
Due to the round-the-clock programming effort and accompanying lack of sleep, many attendees take a while to decompress from the experience. Although I slept more this year than previously, it still took several days of thinking about what I'd seen (and done) to put things in perspective. As usual, I did not attend as many sessions as I would have liked, but I enjoyed everything I did attend.
Record-Setting Keynote Discussion
The conference traditionally opens with a keynote address at midnight of the first day. The keynote this year consisted of a panel of seven members of the original Macintosh development team: Bill Atkinson, Andy Hertzfeld, Jef Raskin, Caroline Rose, Donn Denman, Dan Kottke, and Randy Wigginton. Programming legend and author Scott Knaster worked the microphone as moderator, getting the discussion started and keeping things moving. Each of the panel members first told the tale of how he or she had come to be on the Macintosh team. Even if you have read various accounts elsewhere, there is something authentic about hearing the stories firsthand.
I am sorry to say I didn't make it through the whole keynote this year. I saw Jef Raskin in the elevator the next morning and he said he hadn't made it back to his room until after 6am!
Lego my, um, Lego
This year I made sure to get a peek at some of the Yoot sessions, specifically the ones focused on Lego Mindstorms. The sessions I attended were presented by Dave Baum. (There were adult Mindstorms sessions too. If you are unfamiliar with the Mindstorms concept, take a look at Matthew Nathan's article in the May 2001 issue of MacTech.) I was impressed with the ability of these young hackers, and I'm sure some of them can program circles around me. The Mindstorms sessions were held in one of the conference rooms, with four sets of robot parts to hack with and four iMacs for writing the control programs.
After a brief overview of the robot hardware and the programming environment (using a C-like language and compiler), the Yoots were walked through some simple programs that demonstrated both how to make the robot move in various directions for a certain length of time, and also how to use the optical sensor to determine proximity. Then, the hard part: the instructor tasked the kids with writing a program that enabled the robot to follow a curved track, stopping upon reaching the end. The track was a strip of gray tape laid upon white poster board. This was no easy feat, but I think all of the kids in that session managed to make it work. And yes, I did help out a little. What can I say, both the Yoots and the robots are pretty fun!
I attended another of Dave's sessions, this one geared toward adults. We had the same task as the Yoots: write a program to make the robot follow a line on the ground. In the true spirit of MacHack, Dave made it a competition: the robots would be timed during their traversal of the course, and the fastest finisher would be declared the winner. Obviously there was more to this than "go forward for three... 7 seconds". I had the good sense to team up with Jesse Donaldson from Palm Computing, and we spent some time improving upon a simple algorithm for moving the robot until it sensed a change in the track via the optical sensor. Upon sensing a change, the robot had to continue to follow the track, but with only one sensor this involved a fair amount of trial and error. Our entry eventually took second place after Jesse did some additional optimization; Dr. Waldemar Horwat finished first.
You can expect to see Mindstorms at MacHack again next year, maybe with a twist.
I attended two sessions on emulation this year. Eric Traut from Connectix (www.connectix.com) spoke about Virtual PC, its evolution and some of the cool things being done in the latest release. Eric also discussed Connectix' newest product, Virtual PC for Windows. This is one of the most well-attended sessions at each conference. Eric is a terrific speaker, and casually and politely talks tech-stuff with the audience rather than at them. These sessions always inspire me.
Darek Mihocka from Emulators Inc. (www.emulators.com) also presented a session on emulation, but from a different angle: running Mac OS on Windows. Darek discussed some of the issues involved with emulating both the 68K and PowerPC instruction sets using the x86 architecture (quite a challenge!) After accuracy, the biggest issue is speed, and Darek provided some insight into how an emulator can run as fast as the real thing. Ouch!
Other Fun Stuff
A couple of other sessions that I enjoyed included Dave Koziol's Palm development overview, and Matt Morse's HeaderDoc discussion. Dave did a good job of single-handedly carrying the Palm track this year, assisted to some degree by the two Palm papers presented at the conference. Two features that make Palm development fun are its emphasis on small programs, and the fact that it is very Mac-like (which is no accident, given its pedigree).
HeaderDoc is Apple's open source header file documentation generator. I arrived late for this session, but had a good discussion with Matt afterward. That is another hallmark of the conference: you can have one-on-one conversations with engineers from Apple (and other companies) about the tools you use everyday. I contributed some bug fixes to HeaderDoc earlier this year, and this was the first time I physically met anyone else involved on the project.
And the Award for Best Paper Goes To...
Papers are one of the cornerstones upon which the conference is built. This year thirteen papers were presented, covering a wide variety of topics including information reliability, Palm development, data alignment, color image conversion, data sharing, OS X, scripting Cocoa, frameworks, and REALbasic development. The paper voted Best of Show was Ian Ollman's "Practical Altivec Strategies". In return Ian gets to attend next year's MacHack without paying the conference registration fee. Thanks Ian!
The Hack Contest
The sessions are a prelude to the hack contest on Friday night, starting at midnight. Here all of the hard work of the previous year (or several hours, if you get a late start) comes together. This year witnessed a record number of hacks presented at the contest, and though not all of them worked well (if at all), it reinforced the cutting-edge spirit of the conference. Over the past few years a growing number of Yoot hacks have been submitted, and this year I noticed what seemed to be a larger number of collaborative hacks. In fact, the winning hack (Apple Turnover) was a collaboration between Mac Murrett and Allon Stern. Apple Turnover rotates the image on your main display in real-time. Needless to say, editing a document then becomes very challenging!
Many of the hacks are Mac OS user interface related, since that allows for a high-level of showmanship, which is an important part of your presentation at 5am. Both Classic and OS X are represented. There are also a variety of videos, scripts, and Palm OS hacks; this year's contest also saw the first Mindstorms hacks. The hacks are available on the conference CD; point your browser to www.machack.com for more info.
But, I Missed It!
If you were unable to attend this year, cheer up. Like many good things, MacHack will come again. In the meantime, buoy your spirits by visiting the MacHack website (http://www.machack.com) and picking up a copy of the conference CD (which contains the hacks, sessions, and papers), browsing the press releases and conference information from this year, and dreaming about how much fun it will be in 2002. And start thinking about an entry for the Hack Contest. See you there!
Andrew Downs is a four-time MacHack attendee, putting him somewhere above "babe-in-arms" and below "grizzled veteran". Let's just say he really enjoys the conference. Andrew works for Snippets Software, writing Internet apps for the desktop and PDAs. Andrew also teaches programming courses at Tulane University College in New Orleans, LA. You can reach him at firstname.lastname@example.org.