Just got back from the DC area, where some fellow Ranchers and I went to CocoaConf. If you're not familiar with CocoaConf, it's a traveling technical conference for Mac and iOS developers. I like to call it a peripatetic conference, where Dave Klein (who runs the conference) travels around with his family to different cities and puts on a great conference. There are conferences coming up in Dallas April 4, and in San Jose April 18.
There are typically three rooms running sessions concurrently for two days, with presenters (both famous and soon-to-be famous) giving hour or 90-minute sessions on a wide array of topics. In DC, I went to sessions about core animation, cryptography and security, and extreme programming and its Smalltalk roots. The lineup is always changing from conference to conference, so there are always fresh topics in addition to some of the old faithfuls.
In addition to the typical conference-y things, they also have day-long tutorials the Thursday before the conference, which have included topics like iOS 101, Core Audio programming and Quartz Graphics. There are also two special sessions:
We Made An App For That, where attendees get to demo what they work on. It's fascinating to see the range of apps people are making, from broad general-purpose applications to extremely niche offerings, that are obviously the passion of the developer. Just ask fellow Nerd TJ Usiyan about his music theory framework.
There's also the "Reverse Q&A;". Rather than the audience asking a panel of Experts questions and getting answers, the panel asks questions of the conference attendees. These sessions are run by Chris Adamson of Core Audio Programming fame, who goes from person to person with a microphone. One of the metagoals is to make Chris travel as far as possible.
Ranchers at CocoaConf
Three of us from the Big Nerd Ranch came to DC (actually Herndon, Va.) to give sessions.
Jonathan Blocksom, Advanced iOS and OpenGL instructor, started out with "OpenGL ES, GLKit, SceneKit and more: Making Sense of Mac and iOS 3D Graphics". He outlined the various options for 3D rendering on iOS and the Mac, discussed the various SDKs and how they interact, as well as details about the programmable pipeline and writing shaders. You can get the slides and projects.
His second session was "Sharing is Caring: UIActivity and Friends", the enabling technologies for letting users share with the world the stuff they make in the app. Starting out with the built-in Twitter and Facebook view controllers, going on a detour about how to implement Printing on iOS, and finally creating custom UIActivities. You can get the slides and code.
_I _(Mark Dalrymple) did two sessions. My favorite tech places tend to be under the surface , so I talked about the exciting world of header files first, in "The Humble Header," a meditation on interfaces. Header files are a form of communication two to audiences: to the compiler so it knows how many bits and bytes to move around, and to the Ugly Giant Bags of Mostly Water that are your peers.
My second session was "Performance Tuning", using material from my Advanced Mac OS X Programming class, talking about fun stuff like algorithmic complexity, memory access patterns, stochastic profiling, and touching on some tools like gprof, Instruments, and the Hopper Disassembler. Industry luminary Bill Dudney had a session on Instruments immediately before mine, so the folks there had a solid three hours of performance tuning goodness.
You can find the slides, sample projects, and interesting associated links
TJ Usiyan gave a session titled "A Discourse on Batteries and Their Absence," meditating on the state of libraries in the Mac and iOS worlds, pondering, "Why don't we have more libraries, and why aren't they easy to use?" We've all excitedly downloaded a promising tool, only to discover that the batteries really aren't included - you may have to do violence to your Xcode project settings to even get the thing to build correctly.
The grand finale was the introduction of the Grand Unified Framework Template, an Xcode template that makes a new project where you can drag in your source files and resources for your library. You can then easily create a Mac framework, or an iOS fake-framework you can use to distribute your stuff. Those of us at this session got to witness the very first
Of course, there's prizes
CocoaConf has a prize table at the end of the conference. To encourage feedback to the presenters, you can turn in session evaluation forms to the organizers. In return, you get a raffle ticket (called a CocoaBuck) - write your name on it and drop it into the hopper. The more sessions you evaluate, the more CocoaBucks you get, and the greater chance of winning stuff. The grand prize is an AeroPress coffee maker. There's also a spread of gift cards, books and schwag from conference sponsors. We had numerous Big Nerd Ranch books available for winning, along with a T-shirt from our SxSW party and one of our really snazzy screen cleaners.
We also ran a contest - tweet a picture with a Rancher or two and you could win a Valuable Prize. I think my favorite was this one with G Crisp, and Jonathan photobombing us in the background.
I've gone on record in the past as being a fan of conferences, not only going to them, but speaking at them as well. CocoaConf is one my favorite venues for both. I know that we three ranchers had a good time presenting, and hope to see you in the future.