TweetFollow Us on Twitter

My Sojourn Through Cocoa Boot Camp

Volume Number: 23 (2007)
Issue Number: 09
Column Tag: Training

My Sojourn Through Cocoa BootCamp

Or What It's Like Getting Back Into The Trenches...

By Kok-Yong Tan

Why? When You Could Bootstrap Yourself...

This past March, I decided to put aside my pride (programmers, even ex-programmers, can do their own bootstrapping, right? Well, not this creaky, old fart; not any more anyway...) and just take the Cocoa BootCamp course taught by the Big Nerd Ranch at their Atlanta location. For those of you who have not heard of them, the Big Nerd Ranch, founded by Aaron Hillegass, currently runs developer training courses at two locations: A converted farmhouse outside Atlanta, Georgia and a converted monastery in Frankfurt, Germany. Since the curriculum is quite plainly laid out in the Big Nerd Ranch's website, <>, I will refrain from repeating what is already on it since we can all RTFM quite well and offer in this article my personal impressions of the course as a whole including the non-technical aspects of it. That said, let us proceed to something completely different...

The Flight From Hell and Other Musings...

As the plane descended into Atlanta's Hartsfield Airport, I was wondering if signing up for the Big Nerd Ranch's Cocoa BootCamp was such a great idea. So far, it had been a royal disaster just getting to Atlanta (my original flight was cancelled due to mechanical problems and the airline did not bother telling me despite having my cellphone number until I'd wasted one and a half hours waiting in line to rebook my flight and was number one in the queue; plus it looked like I was going to miss my shuttle out to the site and have to spend three hours cooling my heels at Hartsfield Airport until the next one. Bummer.) I figured that the Cocoa BootCamp would be populated with young Turks and here I was, a creaky geriatric-soon-to-be who had not programmed anything more complicated than simple Bash scripts under ten lines in the last fifteen years. Yes, I used to be a C++ programmer on SunOS (just before it got rebranded as Solaris) who could hold his own in the trenches but that was a decade and a half ago. Things that I had learned and had to build from the ground up were outdated and already known as Standard Libraries, respectively. And very little of my prior knowledge and experience was transferable to Objective-C, the lingua franca of Cocoa. Or so I thought...

Hmmm... Maybe Not So Bad After All

The first pleasant surprise was that I had not missed my shuttle. Emily Herman of the Big Nerd Ranch graciously delayed the departure slightly even though the airline took their own sweet time to deliver my luggage to the carousel (Note to self: Never, ever, fly that airline again on pain of self-defenestration!). I met my first group of classmates in that shuttle and they were an interesting bunch: A professional Swing dance instructor who had a Computer Science degree but was only now beginning to use it professionally; a British ex-cop with a Ph.D. in physics whose specialty was in cavitation physics (something I had only heard about after reading Tom Clancy's "The Hunt for Red October") but was now working for a major international consulting firm as a member of their Tiger team (penetration specialists); and another physicist who worked for a major chemical company in their labs. Meeting them certainly changed my initial cynical expectations: None of them was the gunslinger type of programmer/hacker that I'd met earlier in my career – the type who forever was out to challenge others just to prove their geek supremacy. The hour's drive south-west of Atlanta, out to the Serenbe Southern Country Inn, where the course was to be held, proved to be a great way to get to know one's classmates-to-be. I was later told that the Big Nerd Ranch had moved their training site to the Serenbe Southern Country Inn because their last site had suffered a catastrophic fire and had burned down.

The Lay of the Land

Serenbe Southern Country Inn was the next pleasant surprise. It was a converted and spread out farm with many of the outlying buildings turned into cottage-like dwellings but relatively updated under the hood with central air-conditioning, excellent conference facilities and what was looking to be a highly skilled kitchen staff from the boxed lunch provided on the first day (something that would be of great interest to me). Even though I had asked for accommodations in the main building (after having had my fill of the great outdoors from a previous stint in the ground pounding branch of the military), it was not as bad as I had envisioned. No untamed flora or fauna nor their unwelcome deposits to deal with–I am a city boy after all! The furnishings and peaceful quiet reminded me of a completely different era where nobody rushed anywhere. And settling in for a nap before dinner on the covered porch outside my assigned room with a glass of sweet Southern iced tea within easy reach almost resulted in my missing the first dinner with the entire class–it was THAT relaxing!

At dinner, I met the rest of the class. While there were the requisite number of programmers (a.k.a. "the usual suspects"), the more exotic enrollees were an ex-Apple high level executive who wanted to return to a more contributory role in development where the codebase was concerned; a retired Cray hardware engineer who wanted to explore software; and a programmer for a radio astronomy observatory. The cast of characters was getting more interesting by the minute...

Figure 1 - The reception and administration building in the left foreground and the restaurant in the right background.

Figure 2 - One of the residential cottages at Serenbe Inn.

Expectations Along With Our Daily Bread

Classes began every day in a conference room on the edge of a verdant field at 9:00 a.m. after delicious breakfasts; ran up till a break for healthy lunches at 12:30 p.m.; resumed at 1:00 p.m. until 6:00 p.m.; followed by sumptuous dinners. I certainly had nothing to complain about gastronomically and I am very picky about my food. In between lunch and dinner, Aaron would take everybody interested in an hour-long "nature walk" (shudder) to "clear the mind" while the rest could do as they pleased for the duration that the adventurous were romping through the great outdoors. The course resumed when they returned and continued until dinnertime. As was advertised, Aaron would stay around the conference room after dinner until about 10:00 p.m. to work with those students who had questions about their own, non-course-related projects. And he gave unstintingly of his time. A pity that I just did not have my magnum opus with me nor even a clue of what it would be at that stage of the game. However, if one does get inspiration within the next three months, one could still ask the questions of the Big Nerd Ranch. Failing that, all alumni have access to the alumni mailing list, which continues to be pretty active along with archives of past emails that can be easily downloaded.

Into the Lion's Den

As I attended the first day of classes, I waited for the other shoe to drop. Surely, it could not be this pleasant (remember: I live in New York City and have absorbed the cynicism native to the region)? But yes, it could. Aaron Hillegass taught the class himself and we could not have had a better and more patient instructor. There were times I asked questions that even I cringed inwardly at after the words had left my mouth but he patiently answered every one, even if only to say that the question would be more clearly and apparently answered later.

We basically used his book, "Cocoa Programming for Mac OS X, 2nd Edition," as the text and he provided another bound volume with extra chapters that took into account the since-updated Cocoa libraries (it should be noted that he tries to keep everybody as up to date as possible, given the constantly improving versions of the Cocoa platform that Apple publishes). It was no "talking head" course. It was a totally "hands on, fingers on the keyboard or mouse" course. Naturally, it helped if you were a good typist! After finishing the basic requirements for each segment, students were free to try to expand on the code and tweak it in any way they saw fit, with some guidelines for those who were imagination-deficient (such as myself. It could have been the yummy cookies along with the fresh lemonade and sweet Southern iced tea they served daily in the afternoons that distracted me but I think it was just me).

Support Services

Accommodations were more than comfortable. The central air-conditioning certainly did help, as the afternoons could be muggy, even in the March week that I was there. My room was furnished in a way that reminded me of a guest room in someone's home rather than the cookie-cutter furnishing style that you would find in a chain hotel. Despite the rather dispersed layout and seemingly rustic decor of Serenbe Inn that was reminiscent of a Depression-era dwelling, creature comforts were not neglected underneath the hood.

For those of us who did not bring our own laptops and who had advised the Big Nerd Ranch prior to our arrival, iMacs were provided and there was a T1-level data line that allowed those of us anxious about being away from the office for the week to get our daily email "fixes" via wireless router. For those of us who were limited by the lack of coverage by our cellular telephone providers, this was a necessary lifeline (for instance, I could only get a weak signal while standing in the field outside the conference room–no fun when the weather was less than ideal–although others could get strong signals anywhere on the property).

The cuisine was well-executed with a Southern slant. Even the vegetarians amongst us did not find themselves left out (at least from the perspective of an affirmed carnivore such as I). From the hearty breakfasts (which varied every day–who knew breakfasts could be so enjoyably different in a mere week's stay? I even discovered I liked that oft-heard about Southern food: grits) to the lunches and dinners of fried chicken, catfish, etc., and the snacks in between, it was like staying with friends who just happened to have chefs and master programming instructors around so both our minds and bellies were equally well-sated.

La Raison d'etre

After attending the Cocoa BootCamp course, what I found intriguing about the language was that unlike a strongly-typed language like C++ where the compiler caught the little things like typographical errors in programs (basically doing the nit-picky grunt work for the programmer), the compiler for the dynamically-typed Objective-C language let such things through with mere warnings instead of outright errors. While this made sense for a dynamically-typed language, it taught me that inattention to such details was likely to result in a coredump in code that seemed to compile and produce an executable. This was so different from C++ where the process would either fail at either the compile or link stage and not producing an executable at all. Moreover, the warnings could be extremely cryptic (it would not be something obvious like "No such variable" as I was accustomed to with C++). Also, after a fifteen-year hiatus from programming, I found Aaron's teaching style made re-learning old skills and introduction to new ones quite an easy transition to make. Furthermore, with Apple's Integrated Development Environment (IDE) comprised of Xcode, Interface Builder and other tools, it made rapid prototyping very easy.

Gone are the days when just trying to get a single window and a couple of buttons to show up in X windows required massive amounts of coding. With Interface Builder, it's child's play to create the window(s) you want, complete with little blue guide markers that allow programmers to follow Apple's Human Interface Guidelines with no effort whatsoever and then just link the actions for each button or field to the code in Xcode. It even put little prompts such as "Insert your code here" in the source code files, for heaven's sake! Programmers have to make a conscious effort to deviate from the recommended formats (although it is still possible for you ultimate rebels out there) so I give Apple great kudos for subtly changing "Build it insanely great and they will come" to "Make it easy, throw in the 'insanely great' part as a by-product and they will come"!

Although it was primarily a Cocoa course and not an Xcode nor Interface Builder course (both of which deserve mini-courses unto themselves), Aaron took pains to show us some of the various options available in the IDE. Yes, it would be possible to just read Aaron's book (and some of us did that prior to arriving) but sometimes, you need to be able to ask the author why he did something a particular way (and, like Shakespeare said, "There is method to the madness.")

On the other hand, while Apple's tools made Aaron's job much easier, the course is really structured for those with at least a passing familiarity with object-oriented coding concepts and also some prior experience in coding. In other words, the course would be best appreciated by "coding switchers," to purloin a phrase from Apple's advertising campaign. In my experience, I believe it would be a stretch for someone with absolutely no coding experience whatsoever to gain the optimal benefit from this course. Due to the rather extensive amount of information that has to be covered in the four and a half days of the course (we started on Monday morning, finished by noon on Friday and left by 1 p.m.), Aaron had to move along quite rapidly. For those with zero or little coding experience, it might be a better bet to take the Objective-C/Cocoa BootCamp combination courses that the Big Nerd Ranch offers as it is highly likely that the student would find himself/herself so far up a certain type of creek that even a paddle would be insufficient to get themselves out if they were just to take the Cocoa BootCamp course without sufficient background.

Life's A Box of Chocolates...

You are no doubt wondering what the bottom line is after that long rambling discourse that resembles someone with acute ADHD who missed his daily dose of Ritalin (or Yoda in full combat mode, take your pick) so here it is: I heartily and highly recommend the Big Nerd Ranch's Cocoa BootCamp if you have the necessary experience behind you because it will bootstrap you via the fastest means possible, feed and house you so well that you would swear you were on a luxury vacation and, last but not least, if you are taught by Aaron himself, you will feel guilty about having gotten the better part of the deal. To quote someone short and green (no, not Kermit), "Do or do not. There is no 'try'."

Kok-Yong Tan hails from Singapore but has spent the last 23 years living in New York City. After graduating with a Computer Science degree from Columbia University and initially working for Merrill Lynch as a programmer in its Fixed Income Analytics Group, he now runs his own consulting firm, Reality Artisans, Inc. He likes the city because there are already so many other weirdos that nobody seems to notice his "costume" of solar-powered pith helmet and heavily-laden photojournalists' vest. He ended up in systems and network administration because he was ordered by his ex-boss at Merrill Lynch into the abyssal pit as part of the "team player" creed and he has yet to find his way back out. He is now contemplating clawing his way back into programming as a means of avoiding the PEBKAC crowd.


Community Search:
MacTech Search:

Software Updates via MacUpdate

AirPort Utility 6.3.6 - Set up and manag...
Note: Most recent release available only within OS X 10.11 El Capitan update. Use AirPort Utility to set up and manage your Wi-Fi network and AirPort base stations, including AirPort Express, AirPort... Read more
Quicksilver 1.3.1 - Application launcher...
Quicksilver is a light, fast and free Mac application that gives you the power to control your Mac with keystrokes alone. Quicksilver allows you to find what you need quickly and easily, then act... Read more
Tidy Up (Five Users) 4.1.5 - Find duplic...
Tidy Up is a complete duplicate finder and disk-tidiness utility. With Tidy Up you can search for duplicate files and packages by the owner application, content, type, creator, extension, time... Read more
Mellel 3.4.3 - The word processor of cho...
Mellel is the leading word processor for OS X and has been widely considered the industry standard since its inception. Mellel focuses on writers and scholars for technical writing and multilingual... Read more
Skype - Voice-over-internet p...
Skype allows you to talk to friends, family and co-workers across the Internet without the inconvenience of long distance telephone charges. Using peer-to-peer data transmission technology, Skype... Read more
Bookends 12.6.0 - Reference management a...
Bookends is a full-featured bibliography/reference and information-management system for students and professionals. Access the power of Bookends directly from Mellel, Nisus Writer Pro, or MS Word (... Read more
Apple iBooks Author 2.4 - Create and pub...
Apple iBooks Author helps you create and publish amazing Multi-Touch books for iPad. Now anyone can create stunning iBooks textbooks, cookbooks, history books, picture books, and more for iPad. All... Read more
Web Snapper 3.3.9 - Capture entire Web p...
Web Snapper lets you capture Web pages exactly as they appear in your browser. You can send them to a file as images or vector-based, multi-page PDFs. It captures the whole Web page - eliminating the... Read more
Tunnelblick 3.6beta10 - GUI for OpenVPN...
Tunnelblick is a free, open source graphic user interface for OpenVPN on OS X. It provides easy control of OpenVPN client and/or server connections. It comes as a ready-to-use application with all... Read more
EtreCheck 2.5.1 - For troubleshooting yo...
EtreCheck is a simple little app to display the important details of your system configuration and allow you to copy that information to the Clipboard. It is meant to be used with Apple Support... Read more

Camel Up (Games)
Camel Up 1.0.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.0 (iTunes) Description: | Read more »
The Martian: Bring Him Home (Games)
The Martian: Bring Him Home 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Based on the best selling novel and critically acclaimed film, THE MARTIAN tells the story of Astronaut Mark... | Read more »
This Week at 148Apps: September 21-30, 2...
Leap Into Fall With 148Apps How do you know what apps are worth your time and money? Just look to the review team at 148Apps. We sort through the chaos and find the apps you're looking for. The ones we love become Editor’s Choice, standing out above... | Read more »
Tweetbot 4 for Twitter (Social Networki...
Tweetbot 4 for Twitter 4.0 Device: iOS Universal Category: Social Networking Price: $4.99, Version: 4.0 (iTunes) Description: *** 50% off for a limited time. *** | Read more »
Mori (Games)
Mori 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Stop, rewind and unwind with Mori. Time is always running, take a moment to take control. Mori is an action puzzle game about infinitely... | Read more »
100 Years' War (Games)
100 Years' War 1.0 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0 (iTunes) Description: | Read more »
Tower in the Sky (Games)
Tower in the Sky 0.0.60 Device: iOS Universal Category: Games Price: $1.99, Version: 0.0.60 (iTunes) Description: | Read more »
hocus. (Games)
hocus. 1.0.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0.0 (iTunes) Description: New, polished, mind-bending, minimal puzzle game with dozens of levels and extra-ordinary design Features:- Beautifully crafted... | Read more »
Mos Speedrun 2 (Games)
Mos Speedrun 2 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Mos is back, in her biggest and most exciting adventure ever! Wall-jump to victory through 30 mysterious, action packed levels... | Read more »
3D Touch could be a game-changer, but it...
Were you one of the lucky/financially secure enough ones to buy a new iPhone 6s or iPhone 6s Plus over the weekend? Yup, me too (I’m not convinced I was either of those two things, but let’s go with lucky for now), so I thought I’d delve into just... | Read more »

Price Scanner via

Apple offering refurbished 2015 13-inch Retin...
Apple is offering Certified Refurbished 2015 13″ Retina MacBook Pros for up to $270 (15%) off the cost of new models. An Apple one-year warranty is included with each model, and shipping is free: -... Read more
Apple refurbished 2015 MacBook Airs available...
Apple has Certified Refurbished 2015 11″ and 13″ MacBook Airs (the latest models), available for up to $180 off the cost of new models. An Apple one-year warranty is included with each MacBook, and... Read more
Adobe Photoshop Elements 14 Gets Haze Removal...
The latest iteration of Adobe’s powerful consumer image editing appliction Photoshop Elements 14 analyzes your photo and removes background haze, so your shot looks sharp all the way to the horizon... Read more
Apple refurbished 15-inch Retina MacBook Pros...
Apple has Certified Refurbished 2015 15″ Retina MacBook Pros available for up to $380 off the cost of new models. An Apple one-year warranty is included with each model, and shipping is free: - 15″ 2... Read more
21-inch iMacs on sale for up to $120 off MSRP
B&H Photo has 21″ iMacs on sale for up to $100 off MSRP including free shipping plus NY sales tax only: - 21″ 1.4GHz iMac: $1029.99 $70 off - 21″ 2.7GHz iMac: $1229 $70 off - 21″ 2.9GHz iMac: $... Read more
Bare Bones Software Releases TextWrangler 5.0...
Bare Bones Software has announced the release and immediate availability of TextWrangler 5.0, a major upgrade to its free, high performance, general purpose text editor for Mac OS X. Built on a new,... Read more
Apple refurbished iPad Air 2s available for u...
Apple has Certified Refurbished iPad Air 2s available for up to $140 off the price of new models. Apple’s one-year warranty is included with each model, and shipping is free: - 128GB Wi-Fi iPad Air 2... Read more
Save up to $100 on Mac AppleCare Protection P...
Adorama has 3-Year AppleCare Warranties on sale for up to $100 off MSRP including free shipping plus NY & NJ sales tax only: - Mac Laptops 15″ and Above: $249 $100 off MSRP - Mac Laptops 13″ and... Read more
Updated Mac Price Trackers
We’ve updated our Mac Price Trackers with the latest information on prices, bundles, and availability on systems from Apple’s authorized internet/catalog resellers: - 15″ MacBook Pros - 13″ MacBook... Read more
27-inch 3.5GHz 5K iMac on sale for $81 off MS...
Adorama has the 27″ 3.5GHz 5K iMac on sale for $2218.99, $81 off MSRP, including a free copy of Apple’s 3-Year AppleCare Protection Plan, plus a free external DVD/CD drive, and a copy of Corel... Read more

Jobs Board

Senior Payments Security Manager - *Apple*...
**Job Summary** Apple , Inc. is looking for a highly motivated, innovative and hands-on senior payments security manager to join the Apple Pay security team. You will Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
*Apple* Site Security Manager - Apple (Unite...
**Job Summary** The Site Security Manager is a high-profile security position at Apple . The Site Manager is the face of Apple Global Security (GS) and primary point Read more
*Apple* Fulfillment Operations Execution Ana...
**Job Summary** The AMR Apple Fulfillment Operations Team is seeking a talented team player to drive the Apple Online Store (AOS) fulfillment performance to ensure a Read more
*Apple* Distinguished Educator (ADE) Communi...
**Job Summary** Apple is seeking candidates for a new position on the Apple Distinguished Educator (ADE) Program team as ADE Community Support Manager. Join a team Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.