OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
FSF

Author Archives: Graham
Coding. Standards.
I just realised that this month marks the 10th anniversary of my first payment for writing software (on, of all the weird things to be writing software on in 2002, a NeXTstation)! What have I learned from those ten years? … Continue reading
Posted in advancement of the self, Business, code-level, OOP, software-engineering
2 Comments
Objective-C literals and subscripts
If you’re using clang from their website instead of sticking with Apple’s release, you get support for Objective-C literals and object subscripting. I thought I’d take the BrowseOverflow app and apply this new syntax to it. Notice that the code … Continue reading
Posted in code-level, OOP
2 Comments
Supporting both ARC and MRC build settings
Let’s face it, people don’t read `README`s. If you write library code that people are going to use in their own projects, you can’t rely on that bit at the bottom of the documentation that tells people to do -fobjc-arc … Continue reading
Posted in Uncategorized
2 Comments
App security consultancy from your favourite boffin
I’m very excited to soon be joining the ranks of Agant Ltd, working on some great apps with an awesome team of people. I’ll be bringing with me my favourite title, Smartphone Security Boffin. Any development team can benefit from … Continue reading
Posted in Business, ssl, threatmodel
Comments Off on App security consultancy from your favourite boffin
Class clusters, placeholder objects, value-oriented programming, and all that good stuff.
Have you ever seen this exception in your crash log? 2012-05-29 17:55:37.240 Untitled 2[5084:707] *** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘*** -length only defined for abstract class. Define -[NSPlaceholderString length]!’ What’s that NSPlaceholderString class? Leaving aside NSMutableString … Continue reading
Posted in code-level, Foundation, software-engineering
Comments Off on Class clusters, placeholder objects, value-oriented programming, and all that good stuff.
Is privacy a security feature?
I’ve spoken a lot about privacy recently: mainly because it’s an important problem. Important enough to hit the headlines; important enough for trade associations and independent developers alike to make a priority. Whether it’s talks at conferences, or guiding people … Continue reading
Posted in Privacy, software-engineering
Leave a comment
Thoughts on Tech Conferences
This post is being, um, posted from the venue for GOTO Copenhagen 2012. It’s the end result of a few months of reflection on what I get out of conferences, what I want to get out of conferences, what I … Continue reading
Posted in advancement of the self, books, Business, NSConf, Talk, WWDC
Leave a comment
BrowseOverflow as a Code Kata
This article was originally posted over at InformIT. My goal in writing Test-Driven iOS Development was to take readers from not knowing how to write a test for their iOS apps, to understanding the TDD workflow and how it could … Continue reading
Posted in advancement of the self, books, code-level, TDD, TDiOSD
Comments Off on BrowseOverflow as a Code Kata
Using GNUstep libraries with Xcode
I was recently asked about building projects that use GNUstep from Xcode. The fact is, it’s incredibly easy. By default, GNUstep on Mac OS X installs its libraries to /usr/local/lib and its frameworks to /Library/Frameworks. Therefore if you want to … Continue reading
Posted in code-level, gnustep, tool-support
1 Comment
Building a unit test target with GNUstep make
Just a quick note on how I build my test tools (they run separately, either by manual invocation or via CI) when I’m working in GNUstep. Firstly, you’ll need Catch. Then given test files that look like this: test_class.mm #define … Continue reading
Posted in TDD
Comments Off on Building a unit test target with GNUstep make