So back in the dark ages, we registered to receive notifications like this: -[NSNotificationCenter addObserver:selector:name:object:] In other words, the target-action pattern. When the notification is received, call this selector (action) on this target. And all was well. Then in iOS 4, blocks (closures) were added to iOS. And it was the hip cool thing to […]
You may be concerned that the NSA is reading your e-mail. Is there really anything you can do about it though? After all, you don’t really want to move off of GMail / Google Apps. And no place you would host is any better. Except, you know, hosting it yourself. The way that e-mail was […]
Here’s what I keep reading: With distributed version control, merges are easy and work fine. So you can actually have a stable branch and a development branch, or create long-lived branches for your QA team where they test things before deployment, or you can create short-lived branches to try out new ideas and see how […]
James Coglan published an article the other day about how node.js missed the boat with promises. I don’t know much about node.js, but I do know about promises. And they didn’t miss much of a boat. So I’m an iOS developer, and for reasons outside the scope of this blog post, you have a lot […]
One of the remarkable things about computers is how quickly things change. Of course, all good computer scientists get drilled into their heads at a young age that Moore’s Law will not fix a poor algorithm and may very well run out. Even so, the idea that something can double for any amount of time, in any observable period, […]
In collecting feedback on my previous post discussing the new hotness of NSIncrementalDataStore, I seem to have unexpectedly lit a fuse. On the one hand, that blog post has spawned a dozen new projects and has kept my inbox unusually full. On the other hand, it met an unexpected amount of resistance–not just to the new workflow for […]
People are a little weird when they’re starting a software project. They will talk about what they want it to do for hours. They will write documents about it. Schedule meetings about it. They will never tell you how much money they have. That’s the part you’re supposed to guess. I think this is weird. […]
The Problem You may be interested in how to wire up or sync CoreData to a remote web service. There are plenty of frameworks to do this, like RestKit, RestfulCoreData, and various defunct libraries (CoreResource, etc.) The problem with these libraries is twofold: They assume things about your backend (like “It’s REST!” or “It has […]
This is the talk I gave at CocoaCoders about cross-platform logging and analytics. Cross-platform logging and analytics View more presentations from Drew Crawford
I gave a talk on our iOS Continuous Testing workflow at the aweseome Austin CocoaCoder meetup. I cover SenTest, Square’s Keep It Functional, and our in-house continuous integration server, buildbot. iOS Continuous Testing If you are interested in having me come speak at your event or learning more about testing with iOS, get in touch.