MacHack 14 in Review
Volume Number: 15
Issue Number: 9
Column Tag: Conference Report
by Andrew Downs
The World's Best Redeye Deal
The following is an attempt to share my MacHack experience. If you were there, you
probably had quite a different experience. If you did not attend, I hope to see you next
year. Maybe this article, in conjunction with other MacHack materials available on the
web, will convince you to give it a try.
This was only my second MacHack conference, but I noticed a tremendous difference:
the number of attendees was much larger than last year. No doubt this was due in part
to renewed optimism and interest in the Mac OS platform. I also think the increased
sponsorship and additional support for students attracted a number of attendees who
otherwise might not have known about the conference, or would have had to forego it
because of cost.
What I Learned
MacHack is not a spectator sport: it is definitely more fun if you participate. Here is a
quick indicator:
Last year I presented a paper and attended many of the sessions. I had a good time.
This year, I presented a paper, co-presented a session, entered a hack, and attended
some sessions. Plus I talked with a lot of the developers I met at last year's conference,
and made some new friends. I had a GREAT time!
What I Should Have learned
For the second year, I traveled with about sixty lbs. of books. For the second year, I
opened only one of them during the entire conference.
There's no need to travel with many, if any, of your programming references, unless
they're obscure. Copies of Inside Macintosh are available in the Machine Room during
the conference, and reference CDs can sometimes be found in hard form or mountable
via the network. And the ever-growing set of web-based Mac documentation is
certainly available, as are many experts who store a lot of programming knowledge in
their heads (and are willing to share).
If you really need something in hardcopy, you may be able find it at one of the local
bookstores, if you care to leave the friendly confines of the hotel.
Sessions I Actually Attended
Here are the sessions and presentations I attended during the conference, along with a
few anecdotes.
About This MacHack
This is always the first MacHack session. It is presented by one or more of the
organizers: this year, Michael Bentley and Warren Magnus did the honors. They gave
an overview of what to expect during the conference, etiquette (!), who the sponsors
were, etc.
So why would a returning attendee attend the first-timers' session? Good question.
Originally I wanted to spread some hack ideas around. But I also found it useful in
seeing just how many new folks there were, and what items did not make it into the
pre-conference press releases.
The biggest piece of news during this session was that the local Jolt Cola distributor
was no longer in business, implying a local blackout of many programmers' favored
caffeine-saturated drink. Fortunately, the hotel staff went the extra mile (well,
maybe ten miles) and found a few hundred remaining bottles. They also found a stash of
the new citrus-flavored Jolt. Disaster averted.
Keynote
Marshall Vale, the conference chair, started things off by stating that there were
nearly twice as many attendees and students as last year. He also mentioned the "Yoot
(youth) hack contest, encouraging the younger attendees to try their hand at hacking.
Some of the yoots have been attending for a number of years, and come up with very
imaginative hack ideas.
More good news: the network actually reached down into the lower atrium of the hotel.
This turned out to be a good thing, as I sometimes had to go that far to find an open
network port. My personal thanks to those who brought, and shared, their own
ethernet hubs.
Andy Ihnatko presented the keynote address, which he themed "Dink Thifferent". Andy
is also the self-proclaimed "America's 42nd most-beloved industry personality." A lot
of Andy's presentation has a visual element, and it is nearly impossible to capture
anything other than a shade of his humor in this column. Here are a few items:
• His Steve Jobs impersonation: "Several times people have asked me to
assume the position.
• Regarding his run-ins with various magazine editors: "Editors are a
cowardly and superstitious lot.
• Andy is a serious hardware hacker. His background includes a lot of Apple
II hardware and OS hacking, which apparently is quite common behavior
among Apple II lovers.
• Andy devised a contraption to keep the landlord's cat away from his desk: a
Darth Maul action figure, mounted on wheels, with a motion sensor that
enables the figure to follow the source of movement (e.g. the cat).
• He demoed an AppleScript controlling a Darth Vader figure (I think it was
originally one of those coin-activated banks) via a Beehive ADB I/O box.
• Andy also announced the "240 Square" contest, where all of a program's
visual elements must fit into a 240x240 pixel space. The prize was a Boston
Computer Society t-shirt with an Apple logo.
I was almost on time for this session; I wish I had been. Doug Clarke presented an
informative overview of this exciting new technology: the incorporation of vector
processing into the new PowerPC G4 chips. He even included sample code to illustrate
the additions to the processing model. During the remainder of the conference, Doug
helped hackers in the Machine Room create their AltiVec hacks. Doug (and co-hacker
Ben Martz) also won the 240 Square contest mentioned above.
AltiVec appears to be nearly as great a technological leap as the PowerPC was
originally. (See MacTech 7/99 for an AltiVec overview by Tom Thompson, and look for
more AltiVec articles in the future.)
Palm OS
I attended this one in part because I have been talking about Palm development with a
colleague for the past few months. I had a few questions regarding Palm development
that I couldn't find answers to in the one-and-only Palm programming book on the
market (at that time).
Like all things MacHack, this turned out to be extremely interesting and to hold a few
gems. The Palm engineers (Steve Lemke and Jesse Donaldson) gave an overview of the
Palm product line, Palm internals, and the development environment.
The Palm family is based on a 68K chip derivative. This means that if you drop into a
low-level debugger you are likely to see some familiar territory! And apparently of
the two original Palm engineers, one was a Mac guy. Its pedigree is pretty obvious once
you start looking at the API. The Palm OS is written entirely on the Mac.
Q&A at the end of the session was informative. We talked about events, launching apps,
memory (the usable stack size is only ~2.5KB, yikes!), and such. Did you know that
Palm apps execute from their fixed storage location? Did you know that you cannot
disable or gray-out a Palm menu item?
The engineers also handed out the pieces needed to make clear cases for Pilots. I didn't
understand the hoopla until I called a coworker and mentioned it. Turns out these clear
cases are a hot commodity.
Palm was interested in attendees hacking the Palm OS. They even made available the
required add-ons for CodeWarrior Pro 4 to enable you to build Palm apps. I found this
offer enticing, and started thinking about a potential hack.
Reverse Engineering
This was great fun! A chance to hear about the making of Virtual GameStation, and see
it demoed. The speaker, Eric Traut, was very entertaining. Plus, he spoke to the hearts
of most attendees. Although much of the initial portion of this session was informative
(i.e. legal info), it was never boring. Eric later discussed the process, such as how to
conduct the necessary research, and also tools and emulators that help make the
process easier.
Many developers may not know this, but there have actually been a number of reverse
engineering cases besides Virtual GameStation. These include the PC BIOS (Compaq v.
IBM), i386 clones (AMD v. Intel), Sega Genesis, and SoundBlaster clones (Creative
Labs v. others).
Resume Workshop
I missed most of this one due to session overlap. It appeared to be much better attended
than last year. It always helps to have your resume up-to-date, and the folks from
Scientific Placement provided tips on how to improve your presentation. Plus, there
were several companies recruiting at the conference this year, providing an extra
incentive to attend this session.
Watching the File System
This was my paper presentation, so I won't comment on it specifically. But generally,
if you enjoy reading or writing MacTech articles, you will enjoy doing the same with
MacHack papers. Paper authors do not pay the conference fee, which is a pretty sweet
deal.
Where did that source code go?
Apparently a virus infected many of the computers in the Machine Room. The
Disinfectant squad (including John Norstad himself) went into action to quash the
problem. But at around 5am, while downloading an old version of the source from NU,
John accidentally deleted it. Not to worry: Peter Lewis located the offending piece of
code and they wrote a binary patch for Disinfectant.
Palm Debugging
This, the second of the Palm sessions, focused on tools and techniques to aid in ridding
Palm apps of those hard-to-find bugs. For example, the Palm Debugger allows
source-level debugging, and also shows the disassembled code, call stack, etc. It also
supports a console with a MacsBug-like syntax. The Palm OS Emulator (POSE) allows
you to perform high-level testing against different ROM images without using a
physical Palm device. Gremlins are an automated test tool: they will bang on your app's
GUI elements in a repeatable manner and see what happens (then you have to go in and
repeat the process, breaking just before the offending test).
Of course, the program known as HackMaster got some attention. What a great name. In
lieu of a Palm-endorsed approach to patching the OS, this program manages patches
for you. As with Mac OS patches, anything goes, but the patches ('hacks') must follow a
prescribed model, similar to a plug-in architecture. Since everything underneath is
68K (or nearly so), things like calling the original trap still have to happen.
B y this time I had finally settled on a hack idea. My goal was to write a Finder knockoff
that ran on the Palm. What to call it? Eventually I settled on "P1 Preview: the world's
smallest Finder implementation" in deference to the forthcoming Mac consumer
portable.
Atomicity
This was Jonathan Rentzsch's paper dealing with the "Window of Death" in 68K and
PPC programs. He illustrated the use of data structures that function atomically in a
non-atomic world, using the right combination of machine instructions.
Jonathan and I later presented a session on FileWatcher, a product that can track
changes made to the file system.
Hack Show
Okay, I missed most of the hacks because I was still working on mine. There is a photo
on the conference CD which proves it. I almost didn't think I'd enter the contest, which
started at midnight on Friday, but at around 2:30 in the morning a few people walked
into the snack room (where I was working) and said "get in there and show it, it looks
fine". To those who did this, thank you.
I staggered in for the last 45 minutes of the contest. Just about everything I saw was
impressive considering the relatively short time spent on the programs. The audience
gets tougher as the night drags on, so unless you've got a ringer, you should probably
try to show your hack early. On the other hand, I didn't get booed off the stage, and I
think I was the second to last person to present a hack. And it didn't completely work.
Awards Banquet
This was a lot of fun. Scott Boyd, Greg Marriott, Jon Kalb, Grant Neufeld, and a few
others passed out awards for various hacks. Most of these items came from the offical
MacHack awards supply store, Duke's Hardware. Plus there were a lot of freebies
thrown to the audience.
Congratulations to Lisa Lippincott for winning the coveted Victor A-Trap award for her
hack, "Unfinder".
Yours truly was awarded "Best Palm Hack", for P1 Preview. The prize: a Palm IIIx.
It's hard to go home empty-handed from MacHack. Not only during the banquet, but also
during the various sessions, sponsors are tossing goodies to the audience. Of course,
packing it for the trip home is up to you.
Movie
Many of us trekked out after the banquet to see the Austin Powers sequel, returning in
the early a.m. for the ice cream social and ensuing all-night discussions in the atrium
(and Machine Room). This is a great way to end the conference.
Sessions I Wish I'd Attended
The rest of them. As trite as that sounds, it's true. I missed OS X, C++, Mozilla, Java,
QuickTime, and many others that I had hoped to attend when I first saw the session list.
There's so much cool stuff happening at once, you have to make some decisions about
what to do at the conference. The number of sessions this year was greater than last
year. I think the number of papers was about the same. It all adds up to a very full
schedule, with lots of overlap between scheduled events.
As For The Rest Of The Story
So, what was I doing the rest of the time? Hacking! Trying to turn an idea into
something semi-functional in less than 36 hours, using an API I hadn't tried before. I
spent a day trying to make my hack work using what seemed to be the "approved" way,
meaning the mainstream, high-level forms-based API from Palm. Later I found that
there was no approval for what I was trying to do. I guess that's life on the edge.
The sick thing is that once I got P1 Preview limping along well-enough to demo, I kept
working on it. In fact, I kept coding until I left for the airport Sunday morning at 6:45.
At 5:00 that morning we found a bug in the Palm Debugger, which the Palm engineers
then fixed. Nonstop programming.
Some may accuse me of bias, since the Palm gods/engineers smiled on me during the
conference, but I find the Palm OS and accompanying API refreshingly small in this
world of increasing software size. The Mac roots of the Palm are very obvious once you
start figuring out how to write software for it. The primary dev tool is topnotch:
CodeWarrior for Palm, of course.
MacTech would like to run some Palm articles in the future. If you have ideas and/or
are interested in writing about the Palm OS, let us know.
Bring Your Own, Or...?
One decision you might want to make is whether to bring your own computer.
PowerBooks of all models abound at the conference, and someone even brought their
personal G3 mini-tower as well.
About two weeks before MacHack I purchased a PowerBook, my first CPU purchase
since 1996. I was certainly looking forward to the faster performance. I also wanted
some hacking flexibility. Plus, I wanted to do some polishing on my presentation at the
conference.
Well, having a PowerBook turned out to be a blessing and a curse. A blessing because I
could work where and when I wanted (my room at 11pm, the atrium at 3am, etc). A
curse because I spent more time off by myself, working feverishly to stabilize and
complete my hack. I missed out on some of the comaraderie.
And the Machine Room? It looked pretty well stocked this year, with many iMacs and
G3 mini-towers, and perhaps a few boxes I didn't see. Whenever I looked in there were
quite a few people, but usually a free machine or two. If you don't own your own
computer, finding space in the Machine Room shouldn't be a problem.
URLs
Of course, the primary URL for all things MacHack is .
This is where you can find the session, paper, and hack information for this year and
previous years. There is a post-conference press release describing the top five hacks.
There is also a CD for sale containing the conference goodies.
Here are several URLs containing other attendees' conference summaries from
previous years:
• <http://www.redshed.net/macHack/97/memoirs.html>
•
<http://devworld.apple.com/mkt/informed/informed/appledirections/oc
t96/machack96.html>
• <http://www.mcs.net/~shs/machack94.html>
Conclusion
If you have not attended MacHack, try to go next year. Registrations are now being
accepted. Check the conference website for more information. See you there!
______________________________
Andrew Downs is a Technical Lead for Template Software in New Orleans, LA. With
hurricane season approaching, it’s time for him to start taping the windows again. At
other times, you can find him teaching his twin toddlers about planes, trains, and
computers, interests that they all share (it must be genetic). You can reach him at
andrew@downs.net.