June 30

Cocoa Design Patterns

Cocoa Design Patterns
by Erik M. Buck, Donald A. Yacktman

For years, would-be Cocoa developers have relied solely on Aaron Hillegass's Cocoa Programming for Mac OS X. (The 1st edition came out almost a decade ago!) While Hillegass's book is excellent, it is introductory material. This has left a void in Cocoa techinical materials. But with Apple's recent successes, the market for Cocoa books has grown and more advanced titles have been released.

Cocoa Design Patterns is geared toward beginning to intermediate developers. Like any design pattern book, it describes and names code patterns. Developers can use this information to communicate more clearly, identify patterns in existing code, and choose suitable patterns when writing new code.

This book focuses specifically on Cocoa and the patterns that it uses. For each of the 28 patterns described in the book, an example is given from the Cocoa frameworks. This gives developers a deeper understanding of Cocoa while teaching them about design patterns.

While the content is good, the book isn't perfect. The writing is bland and clumsy. And like many tech books, it focuses on making the book accessible to beginners. Introductory topics are described in too much depth for my patience. I'm guessing other intermediate to advanced developers will feel the same way.

If you're working full-time in Cocoa, I would recommend Cocoa Design Patterns— especially if you're part of a team. It's not perfect, but it's the only book that covers this material.

April 17

Introducing fireproof

Say hello to fireproof, my new static website generator. I've wanted to start writing again for a while now, but struggled to find a blogging solution that met all my requirements. So in a throwback to the 1990's, I wrote my own.

Here's what I wanted:

  • Static output, for simple hosting on Amazon S3 and guaranteed uptime
  • A Django-style template language
  • Content written in Markdown
  • Metadata in YAML
  • Link entries in the style of Daring Fireball
  • Easy inclusion of images and other static content
  • Multiple entry styles as seen on the Panic Inc. blog 1
  • git-backed storage

I am unaware of any existing solutions that fit these requirements. fireproof still has a few rough edges, but I wrote most of it in one weekend and it meets my needs.

  1. This isn't actually finished yet. But I had enough to cut a 0.1 release and start writing.

About Me

I want to write great software. Right now, that mostly means making Mac and iOS apps.

Find Me Elsewhere