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

CrossOver 14.1.6 - Run Windows apps on y...
CrossOver can get your Windows productivity applications and PC games up and running on your Mac quickly and easily. CrossOver runs the Windows software that you need on Mac at home, in the office,... Read more
Printopia 2.1.14 - Share Mac printers wi...
Run Printopia on your Mac to share its printers to any capable iPhone, iPad or iPod Touch. Printopia will also add virtual printers, allowing you to save print-outs to your Mac and send to apps.... Read more
Google Drive 1.24 - File backup and shar...
Google Drive is a place where you can create, share, collaborate, and keep all of your stuff. Whether you're working with a friend on a joint research project, planning a wedding with your fiancé, or... Read more
Chromium 45.0.2454.85 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. Version 45.0.2454.85: Note: Does not contain the "... Read more
OmniFocus 2.2.5 - GTD task manager with...
OmniFocus helps you manage your tasks the way that you want, freeing you to focus your attention on the things that matter to you most. Capturing tasks and ideas is always a keyboard shortcut away in... Read more
iFFmpeg 5.7.1 - Convert multimedia files...
iFFmpeg is a graphical front-end for FFmpeg, a command-line tool used to convert multimedia files between formats. The command line instructions can be very hard to master/understand, so iFFmpeg does... Read more
VOX 2.6 - Music player that supports man...
VOX is a beautiful music player that supports many filetypes. The beauty is in its simplicity, yet behind the minimal exterior lies a powerful music player with a ton of features and support for all... Read more
Box Sync 4.0.6567 - Online synchronizati...
Box Sync gives you a hard-drive in the Cloud for online storage. Note: You must first sign up to use Box. What if the files you need are on your laptop -- but you're on the road with your iPhone? No... Read more
Carbon Copy Cloner 4.1.4 - Easy-to-use b...
Carbon Copy Cloner backups are better than ordinary backups. Suppose the unthinkable happens while you're under deadline to finish a project: your Mac is unresponsive and all you hear is an ominous,... Read more
OmniGraffle Pro 6.3.1 - Create diagrams,...
OmniGraffle Pro helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use... Read more

You Can Play Madfinger Games' Unkil...
Madfinger Games - probably best known for the Dead Trigger series - has officially launched their newest zombie shooter (that isn't called Dead Trigger), named Unkilled. [Read more] | Read more »
Rock(s) Rider - HD Edition (Games)
Rock(s) Rider - HD Edition 1.0.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.0 (iTunes) Description: *** PLEASE NOTE: Compatible with iPhone 4s, iPad 2, iPad mini, iPod touch (5th generation) or newer *** Do you... | Read more »
Rebuild 3: Gangs of Deadsville (Games)
Rebuild 3: Gangs of Deadsville 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: It's been a few years since the zombpocalypse turned the world's cities into graveyards and sent the few... | Read more »
Power Ping Pong (Games)
Power Ping Pong 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: Do you wield your bat with zen-like focus or do your balls of fury give you a killer spin? Table tennis goes mobile with a... | Read more »
Z.O.N.A Project X (Games)
Z.O.N.A Project X 1.00 Device: iOS Universal Category: Games Price: $1.99, Version: 1.00 (iTunes) Description: Z.O.N.A Project X - shooter in the post-apocalyptic world. | Read more »
Trick Shot (Games)
Trick Shot 1.0.6 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0.6 (iTunes) Description: A game where all you have to do is throw a ball into a box, simple? Trick Shot is a minimalist physics puzzler with 90 levels... | Read more »
Goat Simulator MMO Simulator (Games)
Goat Simulator MMO Simulator 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: ** IMPORTANT - SUPPORTED DEVICESiPhone 4S, iPad 2, iPod Touch 5 or better.** Coffee Stain Studios brings next-gen... | Read more »
Worms™ 4 (Games)
Worms™ 4 1.02 Device: iOS Universal Category: Games Price: $4.99, Version: 1.02 (iTunes) Description: The latest instalment in the worldwide mega hit franchise! Coming soon to iPhone, iPad and iPod touch. When the guys and girls at... | Read more »
The Deer God (Games)
The Deer God 1.0 Device: iOS Universal Category: Games Price: $6.99, Version: 1.0 (iTunes) Description: 30% off launch sale!!! “It can be a struggle, but it's all worth it when you're shooting fire out your antlers.” Kotaku “The... | Read more »
AppSpy's Patreon campaign kicks off
Occasionally you'll see us use AppSpy's videos here on 148Apps to support an article we've written. That's because we're part of Steel Media, and AppSpy is Steel's video arm, so we're all part of one happy family. [Read more] | Read more »

Price Scanner via MacPrices.net

Near-Office Input Functionality Virtually Any...
Today Logitech introduced the Logitech K380 Multi-Device Bluetooth Keyboard and the Logitech M535 Bluetooth Mouse, giving users the freedom to work on any device, most anywhere. According to... Read more
College Student Deals: Additional $100 off Ma...
Take an additional $100 off all MacBooks and iMacs at Best Buy Online with their College Students Deals Savings, valid through September 4, 2015. Anyone with a valid .EDU email address can take... Read more
Will You Buy An iPad Pro? – The ‘Book Mystiqu...
It looks like we may not have to wait much longer to see what finally materializes as a new, larger-panel iPad (Pro/Plus?) Usually reliable Apple product prognosticator KGI Securities analyst Ming-... Read more
eFileCabinet Announces SMB Document Managemen...
Electronic document management (EDM) eFileCabinet, Inc., a hosted solutions provider for small to medium businesses, has announced that its SecureDrawer and eFileCabinet Online services will be... Read more
WaterField Designs Unveils American-Made, All...
San Francisco’s WaterField Designs today unveiled their all-leather Cozmo 2.0 — an elegant attach laptop bag with carefully-designed features to suit any business environment. The Cozmo 2.0 is... Read more
Apple’s 2015 Back to School promotion: Free B...
Purchase a new Mac or iPad at The Apple Store for Education and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free,... Read more
128GB MacBook Airs on sale for $100 off MSRP,...
B&H Photo has 11″ & 13″ MacBook Airs with 128GB SSDs on sale for $100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 11″ 1.6GHz/128GB MacBook Air: $799.99, $100 off MSRP... Read more
13-inch 2.5GHz MacBook Pro (refurbished) avai...
The Apple Store has Apple Certified Refurbished 13″ 2.5GHz MacBook Pros available for $829, or $270 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.... Read more
27-inch 3.2GHz iMac on sale for $1679, save $...
B&H Photo has the 27″ 3.2GHz iMac on sale for $1679.99 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Read more
Apple and Cisco Partner to Deliver Fast-Lane...
Apple and Cisco have announced a partnership to create a “fast lane” for iOS business users by optimizing Cisco networks for iOS devices and apps. The alliance integrates iPhone with Cisco enterprise... Read more

Jobs Board

*Apple* Desktop Analyst - KDS Staffing (Unit...
…field and consistent professional recruiting achievement. Job Description: Title: Apple Desktop AnalystPosition Type: Full-time PermanentLocation: White Plains, NYHot Read more
Simply Mac *Apple* Specialist- Repair Techn...
Simply Mac is the greatest premier retailer of Apple products expertise in North America. We're looking for dedicated individuals to provide personalized service and Read more
Simply Mac *Apple* Specialist- Service Repa...
Simply Mac is the greatest premier retailer of Apple products expertise in North America. We're looking for dedicated individuals to provide personalized service and Read more
*Apple* Desktop Analyst - KDS Staffing (Unit...
…field and consistent professional recruiting achievement. Job Description: Title: Apple Desktop AnalystPosition Type: Full-time PermanentLocation: White Plains, NYHot Read more
Simply Mac- *Apple* Specialist- Store Manag...
Simply Mac is the largest premier retailer for Apple products and solutions. We're looking for dedicated individuals with a passion to simplify and enhance the Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.