Author Archives: Graham

About Graham

I make it faster and easier for you to create high-quality code.

On my own competency

There was a question on programmers.stackexchange.com about whether to put your Stack Overflow reputation in your CV. I don’t, and answered as much: there’s no point in writing for its own sake, unless you want to be a writer. If … Continue reading

Posted in Business, software-engineering | Comments Off on On my own competency

What happens when you jailbreak an iPad

Having played around with an iPad running a jailbreak OS yesterday, I thought it would be useful to explain one possible attack that doesn’t seem to get much coverage. As I’ve discussed in numerous talks, the data protection feature of … Continue reading

Posted in Encryption, iPad, iPhone, ssh | 2 Comments

On counting numbers

While we were at NSConference, Alistair Houghton told me that he was working on static NSNumbers in clang. I soon thought: wouldn’t it be nice to have code like this? for (NSNumber *i in [@10 times]) { /* … */ … Continue reading

Posted in code-level, Foundation | Leave a comment

On NSInvocation

I was going to get down to doing some writing, but then I got some new kit I needed to set up, so that isn’t going to happen. Besides which, I was talking to one developer about NSInvocation and writing … Continue reading

Posted in Foundation, iPad, iPhone, Mac, software-engineering | Leave a comment

On comment docs

Something I’m looking at right now is generation of (in my case, HTML) API documentation from some simple markup format. The usual way to do this is by writing documentation markup inline in the source code, using specially formatted comments … Continue reading

Posted in books, documentation, software-engineering | 5 Comments

On Being a Software Person

On Wednesday I spoke at Qcon London, about “Mobile App Security and Privacy: You’re Doing It Wrong (and so am I)” as part of @akosma’s track on iOS and Android. The whole track was full of win: particularly, if you … Continue reading

Posted in Uncategorized | Comments Off on On Being a Software Person

On Singleton(s)

I woke up this morning to a discussion on Twitter over how different implementations of the Singleton pattern compare. This is like comparing your Herpes: no matter whose is better or more efficient, you still have unsightly blisters. Overview: wtf … Continue reading

Posted in Uncategorized | 7 Comments

On, or rather in, Seattle

I’ve never been to Washington before, so I’m looking forward to Voices That Matter: iPhone Developers Conference in April. Of course, you know I like the sound of my own voice enough to be speaking: my talk this year will … Continue reading

Posted in Uncategorized | 1 Comment

On repeatable builds

One of the key features of software engineering, as distinct from cowboy coding or hacking, is that it should be repeatable. That doesn’t mean that you should do the same project twice in identical ways from beginning to end: that … Continue reading

Posted in software-engineering | 1 Comment

On squeezing out that last ounce of performance

As I get confused by a component of an application that should be network-bound actually being limited by CPU availability, I get reminded of the times in my career that I’ve dealt with application performance. I used to work on … Continue reading

Posted in antivirus, software-engineering | Comments Off on On squeezing out that last ounce of performance