Iron Coder! CocoaDevHouse! CocoaRadio!
[info]chanson
The first Iron Coder contest has begun!

In the contest, an API is selected and, a day later — so participants can learn the API — an application theme is chosen. The participants have 24 hours to create an application that uses the API and submit it to be judged by Chairman Rentzsch. The winner is likely to be the judge of the next contest. This contest's API and theme? Accessibility and Mardi Gras!

It's very much in the spirit of MacHack and its Hack Show (RIP).

Also, the first CocoaDevHouse is taking place in Dallas right now. It's an event modeled after SuperHappyDevHouse and organized by Blake Burris, the guy behind the great CocoaRadio podcast. It looks like a good time; check out the #cocoadevhouse IRC channel. I wonder how many of the people there are Iron Coders...

I really wish there were another conference like MacHack. It was a convention of Mac developers that was organized along the same lines as a science fiction convention. This is something that a lot of people have been trying to replicate lately with things like "camps" and "unconferences" and "dexes" and "DevHouses" — but all without taking a look at what the science fiction community has been doing for over half a century. MacHack did learn from it, largely because the people involved in its creation were also long-time science fiction fans.

I could see a San Francisco (or Bay Area) CocoaDevHouse turning into something like that, if there was sufficient organization applied and if it was held over a weekend in a small convention hotel. Doing so would probably require a small membership fee — probably on the order of $30 to $50 per member — but that's in line with membership rates for science fiction and anime conventions.

(Please don't look to me to organize something like that. I'd love it but I'm simply not a conrunner type. Hey, I said to stop looking at me...)

CocoaFest
[info]chanson
I think following the Cocoa Boot Camp with a two-day "CocoaFest" would be a lot of fun. This would be 48 hours of Cocoa hacking in the convention space at the same hotel as the Cocoa Boot Camp, with some (minimally) organized and some spontaneous activities. I'd try to keep the event costs as low as possible, hopefully on the order of a science fiction convention — around US$50 or so — so pretty much anyone who wanted to could attend. (Of course, it wouldn't cost anything for people attending the Cocoa Boot Camp.)

The Cocoa Boot Camp could be on Wednesday and Thursday, with CocoaFest on Friday and Saturday.

Travel Plans: MacHack and WWDC
[info]chanson
Just so everyone knows, here are my travel plans.

I'm going to be at MacHack in Dearborn, Michigan next week. I'll be staying at the Holiday Inn Fairlane, which is the conference hotel for MacHack. I'll be there from the night of Tuesday, June 17, 2003 and I'll be leaving very early the morning of Sunday, June 22, 2003.

The week after MacHack, I'm going to be at the Apple Worldwide Developers Conference in San Francisco, California. I'll be staying at the Argent downtown, right by the Moscone Center. That's the hotel Apple has some sort of deal with for the conference. I'll be arriving late in the evening on Sunday, June 22, 2003 and I'll be flying home on Sunday, June 29, 2003.

After that, who knows where I'm going to be? Maybe I'll get to travel around some more, I'm finding I like it when I get to go to interesting places or be around interesting people. And as long as I have high-speed Internet access and a steady flow of projects...

Gnomedex and MacHack
[info]chanson
It's entertaining to see everyone in the weblog universe go nuts over Gnomedex. I attended Gnomedex 2002, and it was a good time, don't get me wrong. I'll go to Gnomedex 2003 if I can manage it. But it wasn't the be-all and end-all of conferences that some people make it out to be.

The major drawback is that it isn't by, for, and of the attendees. Portions of it are, but it also has a "sit around tables in a big room and listen to a paid speaker" format. I wasn't expecting there to be just one track at the conference, especially one that involved sitting relatively quietly in the same room as everyone else. The speakers were good, and at least some of them (like Pud from Fucked Company) participated in the rest of the conference, but it didn't really feel like a community.

Another major drawback was that the audience demographic was all over the place. On the one hand there were super-geek developer and power-user types. On the other hand there were near-newbies. And on the gripping hand there were kids. Now, I don't know about you, but I don't think kids are really appropriate to bring to a technical conference. Especially one where the parties have open bars have the potential to get more than a little wild — potential I don't feel they lived up to in 2002 because of the presence of the kids.

Even with those drawbacks, Gnomedex was still a good time. I'll probably go again since it's a short drive away in Des Moines, Iowa, and it's nicely inexpensive. But I'll know to lower my expectations a little bit.

A far better conference, in my opinion, is MacHack. Since 1994, I've only missed two of them (1996 & 1997), and I plan on attending MacHack as long as it goes on come hell or high water.

What makes MacHack so special? It truly is by, for, and of the attendees. While Expotech, a professional conference organizing company, handles the logistics, the actual content, planning, sessions, papers, and so on are all managed by volunteers who themselves attend the conference. It's like a fan-run science fiction convention ("con") for the Macintosh, which shouldn't be a surprise given that the people at Expotech are deeply involved in Michigan science fiction fandom.

So by and large, speakers at MacHack aren't paid, and they're drawn from the attendees. I say "by and large" because I'm unsure if the keynote speakers are paid (or even compensated for room & board etc.), people who have had papers accepted for presentation at MacHack can attend the conference free, and this year I'm running a one-day pre-conference Cocoa boot camp for which I am being compensated (though not financially). But there are multiple session tracks and the vast majority of sessions will be run by volunteers talking about the Cool Things they're doing.

What makes MacHack truly incredible is the combination of sheer brainpower at the conference and its 78-hour nature. MacHack isn't a 9-to-5 affair, it's a 12:01AM Thursday to 6:00AM Sunday affair. And for the entire time, there will be people hanging out in the hotel atrium working on Hacks to show at the Hack Show. That's right — in the first 48 hours of the conference, many of the attendees develop a new & cool piece of software that they show off and have judged by their peers. There have been some incredible things developed at MacHack, including my favorite, a hack by Miro and Alexandra that renders the Mac's screen as ASCII art in real-time. (It wasn't a trick, it really worked. You could play QuickTime movies and even DOOM with the hack installed.)

(Technically, the Hack Show is run by The MacHax Group <http://www.machax.com/> — Scott Boyd and Greg Marriott — and is somehow not officially affiliated with the conference. Or something. Whatever.)

One way MacHack has gone downhill in recent years is that the number of kids has skyrocketed, and the conference is actively catering to them. I don't mind kids learning how to program, especially for the Mac, but they can get underfoot when the grown-ups are busy, they prevent us grown-ups from being as raucus and raunchy as we sometimes might want to be, and they take up ungodly amounts of time during the Hack Show with annoying AppleScripts. I attended my first MacHack as a student just out of high school at 17, but I was already a competent Macintosh C and C++ programmer at that point. I didn't finish my hack that year (which would have drawn animations in windows' title bars) but I wasn't a newbie. (Note that I don't count the likes of Adam Atlas — who was 12 last year when his hack won Best Youth Hack — as "kids." Adam is smart, mature, and already knows his way around Cocoa and Objective-C. There are many adults who I'd be more likely to lump into "kids" than Adam.)

I guess I'm rambling a bit. My main point is this: If you think Gnomedex kicks ass, you should really consider getting yourself to MacHack. It is to Gnomedex what Gnomedex is to most other technical conferences.

MacHack: A Good Conference
[info]chanson
Scoble is asking what makes a conference good. (Or rather, he says that Aaron Swartz is talking about it.) Anita Rowland points to Eric Raymond's "Conventions at Light Speed" about how fan-run science fiction conventions work and how the computer industry can learn from them.

MacHack has been run from the start like a science fiction convention. They had wireless Ethernet at MacHack in 1998. They had pervasive Internet access at MacHack long before that. Heck, in 1994 I borrowed a Newton and a "Grouper" wireless AppleTalk transceiver — the people that made the Grouper were attending, and had some demo units — and carried that around for notetaking and such.

Anyone who wants to attend a great "edge conference" should attend MacHack. Of course, be sure that you're seriously interested in the Macintosh and Macintosh development worlds if you go. We can smell marketing from a mile away. It's also not a place just to be seen, a place to do the meet & greet and wine & dine and schmooze that's so common at other conferences. So if you're a mover & shaker, and not a do-er, don't bother coming to Detroit. Oh, and you'll need stamina since the operation runs continuously from the keynote at 12:01 AM on Thursday through 6 AM on Sunday. Plan on staying at the convention hotel for just that reason — even the hotel across the parking lot is too far away from the action.

Note that Eric Raymond wrote his piece in 1998, and was keynote speaker at MacHack in 2000. We had been doing the kinds of things he wrote about many years in advance, and he absolutely loved it.

Wireless Internet access at conferences isn't new
[info]chanson
Eric Norlin, DIDW -- final preparations [via Doc Searls], I *doubt* that you'll find another show this year as wired and blogged out as we'll be (maybe PopTech! -- i'll be interested to see). As far as I know, we're breaking new ground....not only will we have the whole damn place wi-fi'd for like a 5 block area, but we're also providing an RSS aggregator that folks can sign up for to have their blogs linked in the feed.....

They may not have been as large, and they may not have been "blogged out," but both WWDC and MacHack have extensive wireless Ethernet coverage. MacHack has had it since 1998. The aggregator idea is pretty cool, though. Maybe we can set one of those up at MacHack this year. But people will probably be too busy coding to write extensively in their weblogs.

MacHack is an incredible conference. I've been going since 1994 (though I had to take 1996 and 1997 off). If you're developing Macintosh software, you owe it to yourself to attend.

MacHack Wrap-Up
[info]chanson
MacHack was a great time. I got to meet and hang out with a lot of cool & interesting people, learn some new and interesting stuff, slack off on my diet and exercise a bit, and generally have fun.

One of the things I learned was Mac OS X driver development. I haven't actually done any kernel-level debugging yet, but I understand how things fit together now. Apple has a great object-oriented device driver architecture called IOKit; it's a very enhanced Embedded C++ version of the NeXT DriverKit. It saves developers a lot of work by enabling us to subclass basic implementations, add only the functionality our devices need, specify matching criteria in driver property lists (so the device-to-driver matching process can be entirely data-driven), and go.

I learned IOKit by writing a hack I called Xydra (pronounced "xydra"). Xydra included a kernel extension, a client application, and a server application. I loaded the kernel extension on one machine, ran the server on that machine, and ran the client on another machine on the network. With it, I was able to use a window in the client application as another display attached to the server machine. (Yes, another display. You can never have too much screen real-estate.) And by and large, I didn't really have to "cheat" to make it work - the vast majority of what I did was actually supported! Josh deCesare, Louis Gerbarg, and Dave Zarzycki provided some initial guidance and an overview of IOKit, Ed Wynne helped me iron out some details in the kernel extension, and after that it was pretty easy to get it working. With some help from Darrin figuring out why the colors were all wrong in the client at first...

The demo at the Hack Show went well. I was only able to pump one 640x480 32bpp frame over the network every couple of seconds, but it did work. I was even able to play a QuickTime movie in the client window! I didn't even try that before demoing it, it just worked. I mentioned that it was really slow because I wasn't doing any compression, so during the Hack Show awards after the banquet on Saturday Scott Boyd presented me with a compression fitting from Duke's Hardware in Ann Arbor (traditional supplier of Hack Show prizes). I was also given a bar of "Shower Shock" caffeinated soap from Think Geek.

After the Hack Show awards, Darrin and I took the microphone and announced our contribution to the MacHack community: The establishment of the Avi Drissman Commemorative Yoot Scholarship, for excellence in yoot hacking. When I first attended MacHack back in 1994, there was no conference track for youth developers, just a student discount. John Penn and Cal Simone (among others) have done a lot the past few years to bring a younger crowd of developers to MacHack and into the fold of Macintosh developers, and Avi Drissman was one of the standouts. He's also a bit of a running joke, because he was registering as a youth late into his college years. He's a good developer, though, and to encourage others to follow in his footsteps Darrin & I drummed up support for a scholarship that will pay the yoot registration for the following year for the Yoot Hack Show winner.

This year's honoree, Adam Atlas, is a 12 year old Cocoa developer who just blew everyone away with his NewsTracker application: It scrapes headlines off web sites using a plug-in architecture, presents them very professionally, and even includes an application for building new data-driven plug-ins. Amazing stuff. Adam also ran a very well-received session on RealBasic while at the conference. This kid's going places. (At the Hack Show, Scott Boyd jokingly announced that he was now Adam's agent, and all offers would have to go through him. At least I think he was joking...)

So I haven't released Xydra yet, because of the bits that I did have to cheat on. I have a to-do list before I can release it:
  1. Design a new network protocol. (The old one went something like this: Wait for client connection, blast full copies of the screen - 640x480 at 32bpp - at the client as fast as possible until the client disconnects, then die when the server doesn't catch a signal.)

  2. Add authentication to the protocol.

  3. Add compression to the protocol.

  4. Build a dirty-rect system so I don't constantly send the entire display over the network.

  5. Move the server functionality into a daemon.

  6. Move the server interface into a preference pane.

  7. Add generality like other possible screen sizes and depths.

  8. Refine the client human interface.

  9. Create online help.

  10. Develop a registration scheme.

  11. Create an icon.

  12. Create an installer.

  13. Put together a web page.

  14. Register with Kagi.

At that point, I should be ready to send out press releases, review copies, etc. It might look like a lot, but it's not all that much, really. (Really!)

MacHack 2002 Keynote: Tim O'Reilly, O'Reilly & Associates
[info]chanson
Quotes are from Tim, unless otherwise noted.

"Time and again, Microsoft has shown that the winning strategy is a platform, not an application."

"Stop thinking sites and applications, start thinking systems." "All of these web-facing databases need to be thought of as software components."

A recommended business book: Built to Last: Successful Habits of Visionary Companies by James C. Collins & Jerry I. Porras. A quote from it: "Great companies have big hairy audatious goals, not just little goals." O'Reilly's goal: "We want to enable change by capturing and enabling the knowledge of innovators."

O'Reilly's editorial filters for choosing titles, taken from a slide Tim came up with a couple years ago: It's network related; a real need for information; has grassroots support; inspires passion; has deeper social implications; has professional practitioners; has a possible business ecology (relates more to conference & online businesses); the technology is disruptive; the technology enables other technologies; the technology is at the right point in its lifecycle; the technology uptake is accelerating.

Another business book: "The 22 Immutable Laws of Marketing" by Al Ries & Jack Trout. Law 1: "If you can, be first." Law 2: "If you can't be first, create a new category in which you can be first."

A quote from Ray Kurzweil: "I'm an inventor. And what I've realized is that an invention has to make sense in the world in which it's finished, not in the world in which it's started."

Bioinformatics is a juicy new area to explore!

MacHack 2002
[info]chanson
I'm leaving tomorrow morning for MacHack 2002 in Dearborn, Michigan. It's going to be a blast. This year Tim O'Reilly is the keynote speaker, and CmdrTaco will be doing the second keynote.

I hope that they, like Chris Espinosa, Andy Ihnatko, and Eric Raymond before them, stay for the full event. There's a huge amount of energy and enthusiasm in the Macintosh developer community, and this year's MacHack promises to be extra-interesting because of the large influx of NeXT and Unix developers.