iOS indie developers writing every day about their stuff.

HTTP Testing to the edge on iOS: The School of Hard Mocks

Carl Brown
escortmissions.com

I’m a big fan of Automated Testing, even on iOS projects, but even when I was doing mostly Ruby, Java and C# work, I was never a big user of mock objects. Now, I’ll admit that Mock objects can be useful under some circumstances, but I’ve seen them used too often in cases where a bunch of different developers each build their own little fiefdoms of their own code surrounded by Mock Objects where they interact with anything else. Each developer’s code runs perfectly when being tested against Mock input, but when you put all that code together, you can’t […]

Using Regular Expressions Part 2 – The Cocoa Connection

Carl Brown
escortmissions.com

Last time, in Part 1 of this series, I wrote about the basics of regular expressions, and the phrases I tend to use. Today, I’m going to talk about the mechanics of how I use Regular Expressions in Cocoa. But first, an historical diversion In my opinion there are, two different ways that programming languages implement Regular Expressions: The perl/ruby way, and the Java/C#/Python/Cocoa way. In ruby and perl, regexes are implemented directly on the String type, whereas in the other languages, there a separate object that contains the functionality. Here’s what you need to know to do a regex […]

Using Regular Expressions Part 2 – The Cocoa Connection

Carl Brown
escortmissions.com

Last time, in Part 1 of this series, I wrote about the basics of regular expressions, and the phrases I tend to use. Today, I’m going to talk about the mechanics of how I use Regular Expressions in Cocoa. But first, an historical diversion In my opinion there are, two different ways that programming languages implement Regular Expressions: The perl/ruby way, and the Java/C#/Python/Cocoa way. In ruby and perl, regexes are implemented directly on the String type, whereas in the other languages, there a separate object that contains the functionality. Here’s what you need to know to do a regex […]

Using Regular Expressions and Retaining your Sanity

Carl Brown
escortmissions.com

At a recent Austin, Texas Cocoacoder meeting, I made an offhand comment giving someone a regular expression that would help with a problem they were having. That led to two things. First, I was asked to put together a presentation (which I’ve been working on) on using regular expressions to give at an upcoming CocoaCoder meeting, and second, I was asked why on Earth anyone would use something as opaque and unmaintainable as a regular expression in this day and age. Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems. […]

Using Regular Expressions and Retaining your Sanity

Carl Brown
escortmissions.com

At a recent Austin, Texas Cocoacoder meeting, I made an offhand comment giving someone a regular expression that would help with a problem they were having. That led to two things. First, I was asked to put together a presentation (which I’ve been working on) on using regular expressions to give at an upcoming CocoaCoder meeting, and second, I was asked why on Earth anyone would use something as opaque and unmaintainable as a regular expression in this day and age. Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems. […]

360iDev Conference Notes, or How I Spent my September Vacation

Carl Brown
escortmissions.com

This Thursday, I got back home after four days at 360iDev 2011 in Denver. I went last year, which was easy for me because it was in Austin where I live. I was concerned about the extra time and extra money it was going to take to go this year, since it was in Denver. Now that I’m back, I’m so glad I went. I have no hesitation about recommending it to other people, so that’s what I’m about to do. This post is going to be long, because there was a lot going on, so feel free to skim […]

360iDev Conference Notes, or How I Spent my September Vacation

Carl Brown
escortmissions.com

This Thursday, I got back home after four days at 360iDev 2011 in Denver. I went last year, which was easy for me because it was in Austin where I live. I was concerned about the extra time and extra money it was going to take to go this year, since it was in Denver. Now that I’m back, I’m so glad I went. I have no hesitation about recommending it to other people, so that’s what I’m about to do. This post is going to be long, because there was a lot going on, so feel free to skim […]

Steal This Code and Protect Their Data: Simplifying KeyChain Access

Carl Brown
escortmissions.com

This is another guest post by Ferenc, here about how LaunchRock was modified to show up nicely on a UIWebView. If you’ve ever wanted built a landing page or had the need for one, you’ve provably heard of LaunchRock. If not, have a quick look. LaunchRock makes an extremely good job at making it super easy […]

Steal This Code and Protect Their Data: Simplifying KeyChain Access

Carl Brown
escortmissions.com

    The Code The last couple of months, I’ve been working on my first Mac App (more on that in a later post).  As part of this App, I’m calling a REST API that requires that I have the user’s password for that service to use in the API calls.  Although that API is a minor part of the App, and although the service doesn’t have horrible consequences if someone gets the user’s password for it (in my opinion at least), there was no way I was going to store that password on disk unencrypted.  After all, users have […]

Steal This Code and Protect Their Data: Simplifying KeyChain Access

Carl Brown
escortmissions.com

    The Code The last couple of months, I’ve been working on my first Mac App (more on that in a later post).  As part of this App, I’m calling a REST API that requires that I have the user’s password for that service to use in the API calls.  Although that API is a minor part of the App, and although the service doesn’t have horrible consequences if someone gets the user’s password for it (in my opinion at least), there was no way I was going to store that password on disk unencrypted.  After all, users have […]