From the archives
2014
- 16 Sep 2014Apple Pay meet Oyster card
- 10 Jul 2014Automating testing of iOS apps with Appium and Ruby
2011
- 30 Jun 2011A note on Objective-C singletons
- 28 Jun 2011My Objective-C Style Guide
- 06 Jun 2011My iOS 5 Wishlist
- 26 May 2011Simple slide-open table view cells
- 21 Jan 2011Deploying your iOS ad-hoc builds with the BetaBuilder gem and TestFlight
- 18 Jan 2011Black screen issues with MacBook Pro on wake from sleep
2010
- 13 Dec 2010Parsing strings with Objective-C and NSDateFormatter, a gotcha
- 15 Nov 2010iTunes Connect and FreeAgent redux
- 06 Nov 2010Squeemote connectivity issues
- 19 Oct 2010Defeating the Minisculus Challenge
- 26 Aug 2010Tagging my blog on Delicious
- 26 Aug 2010Updated iTunes finance report script
- 20 Aug 2010Some code that I wrote
- 28 Jul 2010Downloading iTunes finance reports into FreeAgent
- 01 Jun 2010OAuth2 for iPhone and iPad applications
- 26 Apr 2010Commenting policy
- 26 Apr 2010Table View Cells in Interface Builder
- 23 Apr 2010libPusher now supports event triggering
- 22 Mar 2010Pushing events to your iPhone using WebSockets and Pusher
- 21 Mar 2010Synching web services with Core Data
- 19 Feb 2010Using UILocalizedIndexedCollation with searchable table views
- 04 Feb 2010Multi-tasking on the iPad
2009
- 13 Nov 2009On pizza and passwords
- 05 Nov 2009Is your MP on Twitter?
- 02 Nov 2009Orange takes the shine off the iPhone
- 29 Oct 2009Postcodes for the public good, not for profit
- 16 Oct 2009Comments are back, for now
- 15 Oct 2009Going Live
- 06 Oct 2009Using FakeFS with Cucumber features
- 28 Sep 2009The tyranny of free software
- 28 Sep 2009Spring cleaning
- 16 Mar 2009Online accounting for freelancers
- 03 Mar 2009Automating iPhone releases with Rake
- 03 Feb 2009Remote pair-programming using iChat
- 23 Jan 2009Squeemote 1.1 now available