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

Path Finder 7.5 - Powerful, award-winnin...
Path Finder makes you a master of file management. Take full control over your file system. Save your time: compare and synchronize folders, view hidden files, use Dual Pane and full keyboard... Read more
Merlin Project 4.2.3 - $349.00
Merlin Project is the leading professional project management software for OS X. If you plan complex projects on your Mac, you won’t get far with a simple list of tasks. Good planning raises... Read more
TextSoap 8.4 - Automate tedious text doc...
TextSoap can automatically remove unwanted characters, fix up messed up carriage returns, and do pretty much anything else that we can think of to text. Save time and effort. Be more productive. Stop... Read more
Smultron 9.4 - Easy-to-use, powerful tex...
Smultron 9 is an elegant and powerful text editor that is easy to use. Use it to create or edit any text document. Everything from a web page, a note or a script to any single piece of text or code.... Read more
QuarkXPress 13.0.0.0 - Desktop publishin...
QuarkXPress 2017 is the new version that raises the bar for design and productivity. With non-destructive graphics and image editing directly within your layout, you no longer have to choose between... Read more
Brackets 1.9.0 - Open Source Web design...
Brackets is an Open-Source editor for Web design and development built on top of Web technologies such as HTML, CSS, and JavaScript. The project was created and is maintained by Adobe, and is... Read more
Audio Hijack 3.3.4 - Record and enhance...
Audio Hijack (was Audio Hijack Pro) drastically changes the way you use audio on your computer, giving you the freedom to listen to audio when you want and how you want. Record and enhance any audio... Read more
Tunnelblick 3.7.1a - 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
Amazon Chime 4.3.5721 - Amazon-based com...
Amazon Chime is a communications service that transforms online meetings with a secure, easy-to-use application that you can trust. Amazon Chime works seamlessly across your devices so that you can... Read more
BBEdit 11.6.6 - Powerful text and HTML e...
BBEdit is the leading professional HTML and text editor for the Mac. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a... Read more

Latest Forum Discussions

See All

Magikarp Jump splashes onto Android worl...
If you're tired ofPokémon GObut still want something to satisfy your mobilePokémon fix,Magikarp Jumpmay just do the trick. It's out now on Android devices the world over. While it looks like a simple arcade jumper, there's quite a bit more to it... | Read more »
Purrfectly charming open-world RPG Cat Q...
Cat Quest, an expansive open-world RPG from former Koei-Tecmo developers, got a new gameplay trailer today. The video showcases the combat and exploration features of this feline-themed RPG. Cat puns abound as you travel across a large map in a... | Read more »
Jaipur: A Card Game of Duels (Games)
Jaipur: A Card Game of Duels 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: ** WARNING: iPad 2, iPad Mini 1 & iPhone 4S are NOT compatible. ** *** Special Launch Price for a limited... | Read more »
Subdivision Infinity (Games)
Subdivision Infinity 1.03 Device: iOS Universal Category: Games Price: $2.99, Version: 1.03 (iTunes) Description: Launch sale! 40% Off! Subdivision Infinity is an immersive and pulse pounding sci-fi 3D space shooter. https://www.... | Read more »
Clash of Clans' gets a huge new upd...
Clash of Clans just got a massive new update, and that's not hyperbole. The update easily tacks on a whole new game's worth of content to the hit base building game. In the update, that mysterious boat on the edge of the map has been repaired and... | Read more »
Thimbleweed Park officially headed to iO...
Welp, it's official. Thimbleweed Park will be getting a mobile version. After lots of wondering and speculation, the developers confirmed it today. Thimbleweed Park will be available on both iOS and Android sometime in the near future. There's no... | Read more »
Pokémon GO might be getting legendaries...
The long-awaited legendary Pokémon may soon be coming to Pokémon GO at long last. Data miners have already discovered that the legendary birds, Articuno, Moltres, and Zapdos are already in the game, it’s just a matter of time. [Read more] | Read more »
The best deals on the App Store this wee...
If you’ve got the Monday blues we have just the thing to cheer you up. The week is shaping up to be a spectacular one for sales. We’ve got a bunch of well-loved indie games at discounted prices this week along with a few that are a little more... | Read more »
Honor 8 Pro, a great choice for gamers
Honor is making strides to bring its brand to the forefront of mobile gaming with its latest phone, the Honor 8 Pro. The Pro sets itself apart from its predecessor, the Honor 8, with a host of premium updates that boost the device’s graphical and... | Read more »
The 4 best outdoor adventure apps
Now that we're well into the pleasant, warmer months, it's time to start making the most of the great outdoors. Spring and summer are ideal times for a bit of trekking or exploration. You don't have to go it alone, though. There are plenty of... | Read more »

Price Scanner via MacPrices.net

Sale! 15-inch 2.6GHz Silver Touch Bar MacBook...
DataVision has the 15″ 2.6GHz Silver Touch Bar MacBook Pro (MLW72LL/A) on sale for $2199 including free shipping. Their price is $200 off MSRP, and it’s the lowest price available for this model (... Read more
A Kaby Lake Processor Upgrade For The MacBook...
Now they tell me! Well, actually Apple hasn’t said anything official on the subject, but last week Bloomberg News’s Mark Gurman and Alex Webb cited unnamed “people familiar with the matter”... Read more
Kodak’s Camera-First Smartphone EKTRA Launche...
The Eastman Kodak Company and Bullitt Group have announced the availability of a U.S. GSM version of the KODAK EKTRA Smartphone. The U.S. launch coincides with a software update addressing requests... Read more
Apple Launches App Development Curriculum for...
Apple today launched a new app development curriculum designed for students who want to pursue careers in the fast-growing app economy. The curriculum is available as a free download today from Apple... Read more
Check Apple prices on any device with the iTr...
MacPrices is proud to offer readers a free iOS app (iPhones, iPads, & iPod touch) and Android app (Google Play and Amazon App Store) called iTracx, which allows you to glance at today’s lowest... Read more
9.7-inch 2017 iPad available for $298, save $...
Sams Club has 32GB 9.7″ Apple iPads available for $298 for Sams Club members. That’s $21 off MSRP. Order online and choose free local store pickup (if available) or free shipping. Read more
touchbyte Releases PhotoSync 3.2 for iOS With...
Hamburg, Germany based touchbyte has announced the release of PhotoSync 3.2 for iOS, a major upgrade to the versatile and powerful app to transfer, backup and share photos and videos over the air.... Read more
Emerson Adds Touchscreen Display and Apple Ho...
Emerson has announced the next evolution of its nationally recognized smart thermostat. The new Sensi Touch Wi-Fi Thermostat combines proven smarthome technology with a color touchscreen display and... Read more
SurfPro VPN for Mac Protects Data While Offer...
XwaveSoft has announced announce the release and immediate availability of SurfPro VPN 1.0, their secure VPN client for macOS. SurfPro VPN allows Mac users to protect their internet traffic from... Read more
13-inch Touch Bar MacBook Pros on sale for $1...
B&H Photo has 13″ MacBook Pros in stock today for up to $150 off MSRP. Shipping is free, and B&H charges NY & NJ sales tax only: - 13″ 2.9GHz/512GB Touch Bar MacBook Pro Space Gray (... Read more

Jobs Board

*Apple* Store Leader Program - Apple, Inc (U...
…Summary Learn and grow as you explore the art of leadership at the Apple Store. You'll master our retail business inside and out through training, hands-on Read more
*Apple* Integration Specialist - A3 Solution...
Apple Integration Specialist Contract-To-HireWe are searching for dedicated, well-experienced and energetic individuals for an information technology corporation Read more
Sr. Software Engineer, *Apple* Online Store...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more Read more
Senior Engineering Project Manager, *Apple*...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more Read more
*Apple* Mobile Master - Best Buy (United Sta...
**508456BR** **Job Title:** Apple Mobile Master **Location Number:** 000040-Eau Claire-Store **Job Description:** **What does a Best Buy Apple Mobile Master Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.