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, <http://www.bignerdranch.com>, 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

Thunderbird 45.7.1 - Email client from M...
As of July 2012, Thunderbird has transitioned to a new governance model, with new features being developed by the broader free software and open source community, and security fixes and improvements... Read more
Opera 43.0.2442.991 - High-performance W...
Opera is a fast and secure browser trusted by millions of users. With the intuitive interface, Speed Dial and visual bookmarks for organizing favorite sites, news feature with fresh, relevant content... Read more
OnyX 3.2.4 - Maintenance and optimizatio...
OnyX is a multifunction utility that you can use to verify the startup disk and the structure of its system files, to run miscellaneous maintenance and cleaning tasks, to configure parameters in the... Read more
VueScan 9.5.71 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
Slack 2.5.1 - Collaborative communicatio...
Slack is a collaborative communication app that simplifies real-time messaging, archiving, and search for modern working teams. Version 2.5.1: New The way we load teams you don't view often has been... Read more
HandBrake 1.0.3 - Versatile video encode...
HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. Features Supported Sources VIDEO_TS folder, DVD image or real DVD (unencrypted... Read more
Vivaldi 1.7.735.46 - An advanced browser...
Vivaldi is a browser for our friends. In 1994, two programmers started working on a web browser. Our idea was to make a really fast browser, capable of running on limited hardware, keeping in mind... Read more
Vivaldi 1.7.735.46 - An advanced browser...
Vivaldi is a browser for our friends. In 1994, two programmers started working on a web browser. Our idea was to make a really fast browser, capable of running on limited hardware, keeping in mind... Read more
HandBrake 1.0.3 - Versatile video encode...
HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. Features Supported Sources VIDEO_TS folder, DVD image or real DVD (unencrypted... Read more
Slack 2.5.1 - Collaborative communicatio...
Slack is a collaborative communication app that simplifies real-time messaging, archiving, and search for modern working teams. Version 2.5.1: New The way we load teams you don't view often has been... Read more

Mudd Masher arrives this week
Atooi Games, the minds behind Totes the Goat and Mutant Mudds, have a new game in the works -- Mudd Masher. The game, a hybrid of the independent studio's first two titles, is expected to launch this week on March 2. [Read more] | Read more »
The best sales on the App Store this wee...
The App Store has quite an exciting lineup of discount games this week that range across a variety of genres. It's a great opportunity to catch up on some of the premium games you may have been holding off on -- and some you can even grab for free... | Read more »
The best new games we played this week
Ah, here we are again at the close of another busy week. Don't rest too easy, though. We had a lot of great new releases in mobile games this week, and now you're going to have to spend all weekend playing them. That shouldn't be too much of a... | Read more »
Rollercoaster Tycoon Touch Guide: How to...
| Read more »
Rabbids Crazy Rush Guide: How to unlock...
The Rabbids are back in a new endless running adventure, Rabbids Crazy Rush. It's more ridiculous cartoon craziness as you help the little furballs gather enough fuel (soda) to get to the moon. Sure, it's a silly idea, but everyone has dreams --... | Read more »
Tavern Guardians (Games)
Tavern Guardians 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Tavern Guardians is a Hack-and-Slash action game played in the style of a match-three. You can experience high pace action... | Read more »
Slay your way to glory in idle RPG Endle...
It’s a golden age for idle games on the mobile market, and those addictive little clickers have a new best friend. South Korean developer Ekkorr released Endless Frontier last year, and players have been idling away the hours in the company of its... | Read more »
Tiny Striker: World Football Guide - How...
| Read more »
Good news everyone! Futurama: Worlds of...
Futurama is finding a new home on mobile in TinyCo and Fox Interactive's new game, Futurama: Worlds of Tomorrow. They're really doing it up, bringing on board Futurama creator Matt Groening along with the original cast and writers. TinyCo wants... | Read more »
MUL.MASH.TAB.BA.GAL.GAL (Games)
MUL.MASH.TAB.BA.GAL.GAL 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ENDLESS UPGRADES. CONSTANT DANGER. ANCIENT WISDOM. BOUNCY BALLS. Launch Sale, 40% OFF for a very limited time!!! MUL.... | Read more »

Price Scanner via MacPrices.net

27-inch 3.3GHz 5K iMac on sale for $2099, sav...
B&H Photo has the 27″ 3.3GHz 5K Apple iMac on sale for $2099.99 including free shipping plus NY sales tax only. Their price is $200 off MSRP. Amazon also has the 27″ 3.3GHz 5K iMac on sale for $... Read more
21-inch iMacs on sale for up to $111 off MSRP
B&H Photo has select 21″ Apple iMacs on sale for up to $110 off MSRP, each including free shipping plus NY sales tax only: - 21″ 2.8GHz iMac: $1189 $110 off MSRP - 21″ 1.6GHz iMac: $999 $100 off... Read more
12-inch 1.2GHz Retina MacBooks on sale for $2...
Newegg has the 12″ 1.2GHz Space Gray Retina MacBook (sku MLH82LL/A) on sale for $1349.99 including free shipping. Their price is $250 off MSRP, and it’s the lowest price available for this model.... Read more
13-inch MacBook Airs on sale for $100 off MSR...
B&H Photo has 13″ MacBook Airs on sale for $100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 13″ 1.6GHz/128GB MacBook Air (MMGF2LL/A): $899 $100 off MSRP - 13″ 1.6GHz/... Read more
9-inch 32GB Silver iPad Pro on sale for $549,...
B&H Photo has the 9.7″ 32GB Silver Apple iPad Pro on sale for $549 for a limited time. Shipping is free, and B&H charges NY sales tax only. Their price is $50 off standard MSRP for this model... Read more
13-inch 2.0GHz Apple MacBook Pros on sale for...
B&H has the non-Touch Bar 13″ 2.0GHz MacBook Pros in stock today and on sale for $100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 13″ 2.0GHz MacBook Pro Space Gray (... Read more
15-inch Touch Bar MacBook Pros on sale for up...
B&H Photo has the new 2016 15″ Apple Touch Bar MacBook Pros in stock today and on sale for up to $150 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 15″ 2.7GHz Touch Bar... Read more
12-inch Retina MacBooks on sale for $1150, $1...
B&H has 12″ 1.1GHz Retina MacBooks on sale for $150 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 12″ 1.1GHz Space Gray Retina MacBook: $1149 $150 off MSRP - 12″ 1.1GHz... Read more
Apple restocks refurbished 11-inch MacBook Ai...
Apple has Certified Refurbished 11″ MacBook Airs (the latest models recently discontinued by Apple), available for up to $170 off original MSRP. An Apple one-year warranty is included with each... Read more
Apple Park Opens to Employees in April With T...
Apple has announced that Apple Park, the company’s new 175-acre campus, will be ready for employees to begin occupying in April. The process of moving more than 12,000 people will take over six... Read more

Jobs Board

*Apple* Wireless Lead - T-ROC - The Retail O...
…of knowledge in wireless sales and activations to the Beautiful and NEW APPLE Experiencestore within MACYS. THIS role, APPLE Wireless Lead, isbrandnewas MACYS Read more
Manager *Apple* Systems Administration - Pu...
Req ID 3315BR Position Title Manager, Apple Systems Administration Job Description The Manager of Apple Systems Administration oversees the administration and Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Retail - Multiple Positions- Chicago...
SalesSpecialist - Retail Customer Service and SalesTransform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Manager *Apple* Systems Administration - Pu...
Req ID 3315BR Position Title Manager, Apple Systems Administration Job Description The Manager of Apple Systems Administration oversees the administration and Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.