Mark has been a Mac programmer since 1985 and a professional Unix programmer since 1990, gleefully enjoying the combined world in Mac OS X. Mark has experience on the client side and server side, being a veteran of several startups, and larger technology operations like AOL and Google. On the back-end, he has been the technical lead for AOLserver, a high-performance web server handling billions of requests per day. On the client-side, he has worked with numerous toolkits, has had code running in space, as well as code running on millions of Macintosh desktops world-wide. Currently Mark is building iPhone software for Cycling Fusion, helping to bring the worlds of indoor and outdoor cycling together. In addition to being the principal author of "Learn Objective-C on the Macintosh" and "Advanced Mac OS X Programming", now in its third edition, he has been the technical reviewer for many Cocoa and iPhone titles with Apress. He is also the co-founder of CocoaHeads, the international Mac programmer's group, with chapters in 26 countries on five continents, and organizes the Pittsburgh CocoaHeads chapter. In his spare time he plays music, wrangles a camera, and makes balloon animals.
- Thoughts About Debugging
Oftentimes, what separates an average developer from a great developer is the ability to debug. When faced with software that Just Doesn't Work, how do you go about finding the problem quickly and fixing it? In this session we'll cover some tools and techniques that can improve your debugging chops.
- Performance Tuning
We all want our apps to perform better. Run faster. Consume less memory. Burn less battery. Sometimes it's hard just to figure out what our performance problem _is_, much less fixing it. This session will cover common performance problems on iOS and Mac OS X, how to track down problems using tools such as Instruments, and ultimately, how to get the mindset to get your apps fast, and keep them there.
- Custom UI, Easier Than You Think
Even though the built-in Cocoa Touch controls are easy to use and powerful, they're kind of boring. Adding your own special sauce can make your app look cooler and make it easier to use. And it's easier than you think. This session shows you, step by step, the design and implementation of a custom user interface (http://borkware.com/hacks/keiser-keyboard.mov). Starting from a simple jpeg, using custom views with a bit of Core Graphics and Core Animation, along with a little Delegation, and ending up with a fun piece of UI.
- The Humble Header
.h files are everywhere. We create and edit them every day. Yet, they're something we tend not to think about very much. Over the years we've added layers of responsibility on these files, some of which make sense, and some that are misguided. Find out which is which in this meditation on interfaces.
- The Squishier Side to Software Engineering
Frameworks, algorithms, and design patterns are fun, and are very important tools for our day to day work. But there's a meatier, more human side to the whole programming business that often gets overlooked, and is rarely talked about : the attitudes and tools to build and maintain relationships amongst the humans, rather than the code.