|
|
SFU 2003 Wrap-up
Scott Boyd, SFU's creator, gave fairly short notice of the event -- about five weeks from notification to the event. It was held at Baptist Biblical Retreat in the redwood forest of the Santa Cruz mountains. While we were outside of cell phone range, we did have low-bandwidth satellite-based Internet connection. WiFi access, naturally. There were about 40 attendees, with maybe 25% MacHack attendee overlap. I met a bunch of folks I've only known virtually to date. Upon arrival you received the obligatory T-Shirt and a very tasty Belgian Dark Chocolate and Deep Forest Mint chocolate bar. The first speaker, which I missed due to a late arrival and getting lost in San Francisco, was Chris Page. Chris attempted to talk about Dylan. He never stood a chance. While Chris had prepared over 90 slides, with the intention to talk about 30, after his time allocation, he covered three. From what I understand, the audience simply took over the session, becoming self-sufficient with its own questions and answers and debates, something approaching an intellectual chain reaction. Sorry I missed it! Following Chris was Paul Snively on Objective Caml, a dialect of ML. Often you'll find O'Caml used as a lethal weapon in programming competitions. It's probably going to be my first type-inferred language, so I'm rather interested. Oh, there's a simple Cocoa frontend to it as well. Jon Kalb, freshly back from Peru, lead early (~8am) hikes on both Saturday and Sunday. Even with the time shift in my advantage, I did not partake as the nights where rather long -- it was around 1:30am when I hit the sack. Besides, my presentation ("Ten Things I Love and Fifteen Things I Hate About Objective C") was first one up Saturday morning. My presentation went well, although when Scott says you have one hour for your preso, he means it. I covered all ten "love" points, but was given the hook on Hate #8. Fortunately on the plane ride in, I rearranged my talk to list the most important points first, wondering if something like this would take place, so I covered the most important topics at least. The good news is my talk seemed sufficiently valuable that folks were asking me to make sure my slides were made available somehow (I uploaded them to the conference's server), while Matt Austern asked that I sit down with him and finish the slides. By the way, if you're looking to learn about C++'s Standard Template Library, I can highly recommend Matt's book on the subject. Sean Parent, a senior computer scientist at Adobe, had two talks: "Untangling Software" and "C++ and Value Semantics". His first talk provided an introduction to the past three years of his work. His main thrust was the downsides to reference cycles in software, with a concrete example of a formatted, editable text field bound to a model object, and the resulting feedback loop. His topic was rather deep, so I can't really do justice to it here. I'm planning on following up with Sean and presenting his work at an upcoming PSIG meeting. Alex Stepanov, the "father" of the STL, followed Sean as the keynote. His talk was "Greatest Common Measure: The Last 2500 Years", wherein he presented a history of the Pythagorean theorem in terms of a series of factorings of a C++ function. Very well done, with numerous interesting and humorous asides. Lisa Lippincott talked about Nitrogen, her "unframework". Unlike traditional frameworks, Lisa's does not attempt to fully "wrap" the underlying API. Instead, she provided a recipe book specifying how to transform a given C API (in this case CoreFoundation + Carbon) into a C++ API. Mac Murrett provided an introduction to boost, covering function (think templatized function pointers), bind (think generalized std::bind1st, bind2nd, etc), various kinds of smart pointers, noncopyable (privately inherit from this when you shouldn't be able to copy a class instance), static_assert (compile-time assertion checking. I love it!), type_traits (helpful for template metaprogramming), the preprocessor library (think a preprocessor API) and winding up with lambda (amazing lambda support for a language that doesn't support it natively). Like me, Mac ran over and got Scott Boyd's lethal hook. Mac's final advice: start using the various smart pointers and noncopyable today, moving onto boost's other parts as you need them. Continuing the boost thread, Michael Rutman gave quick intro to Spirit, which generates parsers from grammers declared directly within C++ code. No need to integrate yacc into your build system! Did I mention lamba and Spirit fundamentally scare me? Sean wound up Saturday's presentations with his second talk, "C++ and Value Semantics" in which he discussed using value semantics as an alternative to reference (or pointers). While references are no doubt necessary when sharing a value between objects, we tend to use them everywhere due to implementation concerns (efficiency as well as dynamic memory management considerations). This makes it much harder to reason about software (ala his "Untangling Software"). Fortunately C++ offers enough syntactic flexibility that we can deal with reference-based object as if they were values, all the while keeping most or all of the implementation efficiency. After Sean's presentation, Jon Kalb took the podium and told us "Take 15 minutes. Hit the washroom, grab and snack and come back. But no photography allowed when you come back." We weren't quite sure what to expect, but upon coming back they starting showing a DVD movie from a PowerBook. Immediately I knew what I was seeing: Raiders of the Lost Ark: The Adaptation trailer. This was the shot-for-shot remake of Raiders of the Lost Ark made by 12-year-olds with homemade sets, neighborhood kids and camcorders over six years. Chris Strompolis, who played Indiana Jones, was at SFU with his fashion-designer wife Monica. Due to obvious copyright issues, Chris and his friends don't show the flick around much, but they made an exception for a bunch of geeks in getting together in the woods. This was a very private showing, hence the no-photos bit. After the movie was finished, we went outside and had s'mores around the campfire. While the movie was great, the better part was talking with Chris about how the movie was made. Some interesting points that come to mind are the total budget (Chris did the math and came to a total of $5K over the six years), the number of times the cops were called on them (only twice), where they came up with all that nazi flags (his Uncle's used red tablecloths from his restaurant), how they built the boulder (there were no less than five versions) and how they emulated spreads-of-gunfire (emptied vitamin capsules+gun powder+curtain rods+big honkin' screwdriver+120V AC wall outlet). On Sunday, Matt Austern, Mat Marcus and Jon Kalb held a session on the future of C++. I missed most of it, being engrossed in a conversation downstairs. At lunch, we discussed version control as none of us are happy with what's currently available. Mac had to head back in order to make it home to Rochester at a decent hour. Fortunately I met up with fellow Chicago-local attendee Dave Newman, who also rented a car. Thus Mac could drive himself to the airport and drop off our rental, while I could bum a ride off Dave. We even shared the same redeye flight back. An interesting bit of SFU was the silent book auction. Some ~35 technical books were offered, a sheet next to each one. The idea was you'd write down your name and your bid. Of course, bids started quite low -- $2 and $5 were common for $50 books. However, prices quickly went up, even resulting in bids greater than the cover price of the book. Makes you question the "Smart" in this conference's name. I wound up purchasing three books: Cocoa Programming, Effective STL and Jabber Developer's Handbook for $40. Together, these books would have cost over $100 retail. Paul gave the final presentation on Whisper, a modern cross-platform C++ framework. Whisper can target Mac OS 9, Mac OS X and Win32. Originally written by Jesse Jones, Whisper uses design-by-contract, the standard library and modern C++ idioms. In addition, Whisper brings a richer, C++-specific, COM implementation to the table which is driven with XML declaration files. Whisper offers a lot, and Paul took on a big task in chewing on the source code for a long time to give us a simple, coherent view into the monolith. Finishing up, Michael Rutman also hitched a ride with Dave to Cupertino where we met up with Miro Jurisic, Chris Page, his girlfriend and Keith Stattenfield. As a result of weird dinner-check math and my limited currency types (itsy-bitsy or insanely large, nothing in-between), I now owe Keith $2. SFU was great, with a feel all its own. It probably had an overemphasis on speakers, as there was little unscheduled free time. This would be bad if everyone weren't so smart. As one attendee said, "everyone had interesting ideas and valid opinions, there were no bozos." I'd definitely go again! Sunday, October 26, 2003
|
Contact Me Topics RSS Feed Linkblog
Bill Bumgarner Brent Simmons Daniel Jalkut Dave Dribin Eric Albert Eric Rescorla Eric Sink Greg Miller Gus Mueller Jeremy Zawodny John Gruber Mark Dalrymple Michael Tsai Peter Ammon Raymond Chen Ryan Wilcox Scott Stevenson Steven Frank The Daily WTF we hates software Wil Shipley |
Copyright © 1997-2008 Jonathan 'Wolf' Rentzsch. All rights reserved.
Questions? Comments? Contact Me.