Aaron Hillegass

Founder and Chairman

Aaron founded the Ranch in 2001, just one highlight in a glowing career that began in childhood. He began programming at the ripe old age of 10 in the basement of the Oregon Museum of Science and Industry. At 19, he started programming professionally, in the Advanced Signal Processing Lab at the Mitre Corporation. There, he wrote the data structures library for Tower Eiffel, before leaving to work on Wall Street to help create mortgage-backed securities (a device that would, fifteen years later, bring our entire economy to its knees).

But Aaron is no stranger to having such a huge impact. He wrote the book widely regarded to be the bible of Mac development: Cocoa Programming for Mac OS X. This guide is now in its fourth edition and has been translated into French, German, Korean, Japanese and Chinese.

Aaron’s list of impressive accomplishments goes on and on: he’s a triathlete, a developer of popular software and an accomplished public speaker. He has created apps for Fortune 500 companies, he could eat a gallon of flan and he can touch his tongue to his nose.

Author

iOS Programming: The Big Nerd Ranch Guide (6th Edition)

Christian Keur
and Aaron Hillegass

Updated for iOS 10, Swift 3 and Xcode 8, this book will lead you through the essential concepts, techniques and tools for developing iOS applications. After completing it, you will have the know-how and confidence you need to tackle iOS projects of your own.

Blog Posts

I wonder, however, if Cloud-related technologies have received all the attention and left no space to discuss other trends. In this post, I thought I would mention some interesting stuff that the web team at Big Nerd Ranch is working on.

Big Nerd Ranch was founded on the idea that developers learn best when immersed in a distraction-free environment. Today I want to talk to you about a new path to advance your skills; one that doesn’t look like anything we’ve offered before.

If current trends continue, most babies born today will never own a laptop or a desktop computer. They will carry a smart phone, and at home they will have a streaming device connected to their TV. That streaming device will run apps. And that leads us to why your company needs a tvOS app.

Like most people over 40, I have lots of opinions about how people should live their lives. Recognizing that no one wants this unsolicited advice, I work hard to keep these opinions to myself. However, today Tasha (who curates our blog) asked me to write some advice to the young people who are graduating this spring. Thus, I’m about to blurt out some advice that I sincerely hope will be useful to you; I apologize in advance for being a preachy loud-mouth.

We write really good software. We do continuous integration and automated testing throughout the process. We are embarrassed when the client finds a bug that we don’t know about. But we don’t do QA on our clients’ projects. That is the client’s job.

Voices that Matter is going to let me do the keynote on the first morning of their iOS conference this spring. The conference is April 9 and 10 in Seattle. You should come – it is a well-run and informative gathering. (Early-bird pricing ends on Feb 25, so sign up now.)

Making a .epub or .mobi version of a book is not as easy as it looks. Until recently, if you bought the Kindle version of our iPhone book you were buying something that was generated from our PDF. In particular, all the code blocks were just images from the PDF.

Before I go into another shortcoming of UIKit, I’d like to make it plain that I genuinely like most of UIKit. In many ways it is much better than AppKit. I love UIControl, and I think that UITableViewCell being a subclass of UIView is a huge step forward. But, the weaknesses are the parts that demand difficult design decisions, so I’m delving upon them in this series.

Last week, my colleague Joe Conway wrote a posting suggesting that dot-notation was not a great addition to the Objective-C language and that he felt that programmers should not use it. Â There was outrage. I, myself, was shocked that people cared at all. Â After all, there are some examples of truly stupid stuff that Apple has done that are being misused in genuinely dangerous ways by the iPhone developer community. Â These are worthy of discussion. Â So, I’m doing a multi-part feature that I will call “Real iPhone Crap,” and this is the first installment.

Big Nerd Ranch has a reputation for mind-blowingly excellent Cocoa and iPhone training. A reputation like this is difficult to maintain. In particular, our students expect our instructors to be experienced, friendly, knowledgeable, articulate, and committed.

My editor at Addison-Wesley wrote me today. He says that 6000 copies of “Cocoa Programming for Mac OS X, 3rd Edition” are on trucks. I think the 3rd edition is pretty good; it adds two chapters on Core Data, and chapters on the garbage collector, Core Animation, Web Services, NSTask, and NSViewController. A lot of little things were tidied up.

Some small fixes – some users complained that the top and bottom margins were too large, so I’ve made the call: All modern printers can print to within one third of an inch of the edge of the paper. I had a bug where I was mutating a collection while iterating over it – 10.5 is much more uptight about such things. Also, the template pages had no calendars for 2008 or 2009.

At Big Nerd Ranch, we follow a pretty minimal style for our slides. It is important to us, however, that our slide shows go in and out of subversion easily. Also, it is important that we can easily generate a book from a collection of slide shows. As such, we have written our own replacement for PowerPoint.

While zipping around town on this beautiful spring day, I noticed that nearly all of the cars were occupied by exactly one person. Why, I wondered, isn’t everyone roaring about on a motorscooter like me? A scooter gets great gas mileage, is a hoot to ride, and I haven’t died on mine even once.

When I released PagePacker a week ago, I thought it might be handy for a few people. (See the original post if you don’t know what I am talking about) Now that thousands of people (literally) have downloaded it and given me feedback, I’m quickly getting out a new version with:

I often wander around without a computer, so I needed a nice easy way to print important bits into little books of information that I could carry around in my pocket. Chad Adams figured out a brilliant technique of cutting and folding pieces of paper into little books and called it PocketMod. The technique was brilliant, but the software was a little awkward. So I, knowing a little about Cocoa, hacked together PagePacker.
Click here to download PagePacker. It is a universal binary that runs on MacOS X 10.4. It has some informative help, too. (This version will expire in June. In June, it will be time to upgrade to a new version for Leopard.)

For much of the history of computers, technical training has received very little attention. I started Big Nerd Ranch because I thought it could be taken to another level – expert instructors, relevant materials, great settings. I’m very proud of what we do: we have become the technical training company for people who hate technical training. But for the last five years, I have been looking over my shoulder for something terrible to happen. Well, it did.

When I spoke at the Student Session at WWDC, I announced that I was taking submissions for a framework of reusable Cocoa classes, and that I would give the best entry a free seat in a Big Nerd Ranch class. I was expecting a flood of submissions, but only received five. I’d like to thank Drew Hamlin, Christoph Angerer, Nate Roberts, Daniel Beatty, and Trevor Johns for their submissions. I am pleased to announce that Christoph Angerer has won the contest for his BNZTransactionalNotificationCenter.

As a consultant, I am working on a piece of software for an engineering firm. The engineers would like an easy way to write plugins for the application. I thought to myself, “Myself, perhaps the plugins could be written using Python.” So, I downloaded the latest version of PyObjC and installed it. This posting is to share the three examples that I wrote in my exploration.

With recent versions of Xcode, the palettes exercise in Cocoa Programing for Mac OS X has become unusable. These days, when you create a palette project, Xcode creates a palette target and a framework target. Thus, the palette chapter has become a palette/framework chapter.

With Tiger, Apple has started using SQLite in many ways. Most notably, SQLite is the recommended store for Core Data applications. This column, which originally appeared in MacTech Magazine covers some of the things any Cocoa developer should know about SQLite.

We have created the Big Nerd Ranch Weblog so that we can share some knowledge with everyone. We sincerely hope that the information presented here is useful. We will be talking about the stuff we consult and teach classes on: