iOS Jobs and Candidates

The goal of this post is to help connect some good iOS coders with contracts/jobs. I’ve been hearing a lot of interest in iOS development work from startups looking for either a consultant or a full-time employee. At the same time I do not know very many iOS developers who are available to work (including […]

Storing passwords in an app

I recently covered the topic of sending unfakeable messages from your app to a server, which requires the use of a private key – basically a password that users can’t access. In this case, and many others, you might want to include private data (such as a private key) in your app in a way […]

The best talk at WWDC 11

I was happy to see that Apple had recently posted all the session videos from WWDC online, available for free to Apple developers. It’s great that they do this, because a lot of us *cough* aren’t able to attend for one reason or another, but we still want to know what’s going on. One talk […]

The Pulse Eng Blog: New Speed Analysis Tool

I just added a new tool to the moriarty library for app speed analysis. I wrote this tool while working at Pulse, so the post is on the Pulse Eng blog. Check it out. Some background: A few months ago I had the opportunity to contribute to the Pulse news reader app. This is a […]

Working with ssh

This post contains a few quick and useful facts about using ssh from OS X’s terminal. ssh is an extraordinarily useful shell tool for logging in to, and getting a shell on a remote machine. You generally use it like this: $ ssh At which point, you’re prompted for a password. Which brings me […]

How to send messages safely to your server

This post describes a general method of sending messages to a server in a way that prevents hackers from acting like your app. Specifically, I’ll tell you exactly how to add HMAC authentication to your app’s network messages. If you don’t care about the why and just want to get your hands on some working […]

Keeping ViewController files small

If you’re working on a complex iOS app, it’s very easy to create a UIViewController subclass with a huge amount of code. One of the many code guidelines I learned at Google was the simple idea of keeping functions and files small. For example, I would recommend trying to keep the vast majority of your […]

Fast low-level arrays

Some apps need fast processing involving variable-length arrays. NSMutableArray is pretty efficient and easy-to-use, but it requires a lot of Objective-C overhead. In this post, I introduce CArray, a low-level, superfast framework for variable-length arrays. CArray is useful when: You’re working with C data types — pointers or primitive types or structs thereof; speed is […]

Repeating an animation at changing speeds

I recently came across the following problem: I wanted to handle a repeated animation that would continuously change its speed over time. In particular, I’m building a game with a flashing square, and I want it to flash more quickly if the player is getting closer to dying. Conceptually, this is very easy, and it’s […]


It’s surprisingly tricky just to draw a single line in iOS. Quartz has great 2D graphic support, but you need to dive down into that world and use many lines of code to draw one line. In some cases, you really just want a few well-placed lines to augment an elegant UI – this class […]