Tag Archives: macintosh

Programming iOS 4

Matt Neuburg’s Programming iOS 4 is among the best programming books I’ve ever read. I’d rank it right up there with Programming Perl.

I’ve tried several Cocoa / Cocoa Touch books before, and generally found them wanting. Many of them share a common problem: they take a breezy tone and try to get you to put up your first “Hello World” application as soon as possible, without sufficient explanation of the fundamentals. After a few chapters of cutting-and-pasting code, I usually gave up because I’m the sort of person that needs a solid foundation in the low-level details before we jump off into putting up pretty pictures.

Neuburg, on the other hand, takes an approach that I favor. He explicitly states near the beginning that he’s seen many iOS programmers leap into development via copy-and-paste coding without understanding the fundamentals. His aim is to remedy that. Without a good foundation, it’s impossible to develop the necessary intuition for the system that is critical for good design and assured debugging.

To that end, Neuburg spends more than a hundred pages going over the foundations of Objective-C before even telling you to open Xcode, and when he does, he does so methodically, explaining to you the philosophy behind Xcode’s design, how its makers envision a project workflow, and exactly what the various buttons do. (This is also one of the only good guides to the radically new interface of Xcode 4 I’ve found.) By the time you put up your “Hello World” app, you actually feel that you have a good intuition of the system as a whole.

Neuburg’s book covers the fundamentals of iOS programming as well as some advanced topics, so intermediate coders and beginners alike will find the book useful. I really think there’s something in here for programmers of every level of skill and experience.

(If you buy it through the Amazon link above, I get some kickback.)


Lisa was working on a story, and I was giving her some comments. Since I like reading and commenting on the screen, normally Lisa would have to email the documents to me and I’d have to email the commented copy back. Very inefficient.

DropCopy is designed just for this kind of LAN file transfer. We tried it and it worked great. A little “black hole” sits on the desktop; you drag and drop files into it, and it shows up on the other person’s desktop. Magical. This is the feeling all software should evoke.

The Mac Chimney

From Leander Kahney, Inside Steve’s Brain, page 234:

Mac chimney

Not one of Jobs’s better decisions, but it does show that his intention is to put customer experience above all else. (Of course, machines overheating and dying are also bad for the customer experience, but he probably thought engineers were exaggerating the problem.)