Author Archives: Graham

About Graham

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

Is it an anti-pattern to use properties everywhere?

I’ve seen questions about whether to always provide accessors for ivars, and recommendations, such as in akosma software’s ObjC code standards, that say Whenever possible, do not specify ivars in the header file; use only @property and @synthesize statements instead. … Continue reading

Posted in code-level | 10 Comments

Some LightReading about mobile app security

[This article was co-written with @securityninja] If mobile app security is failing, it’s up to the security industry, not developers, to repair it. An article published yesterday at security news site DarkReading announces “Developers not applying secure development life cycle … Continue reading

Posted in Uncategorized | 2 Comments

Building an object-oriented dispatch system in Objective-C

iTunes was messing about rebuilding the device I was trying to use for development, so I had time over lunch to write a new message dispatch system in the Objective-C language. “But wait,” you say, “Objective-C already has a message … Continue reading

Posted in code-level, OOP, Uncategorized | Comments Off on Building an object-oriented dispatch system in Objective-C

On privacy, hashing, and your customers

I’ve talked before about not being a dick when it comes to dealing with private data and personally-identifying information. It seems events have conspired to make it worth diving into some more detail. Only collect data you need to collect … Continue reading

Posted in Business, Crypto, Data Leakage, Privacy, Responsibility | Comments Off on On privacy, hashing, and your customers

On home truths in iOS TDD

The first readers of Test-Driven iOS Development (currently available in Rough Cuts form on Safari Books Online: if you want to buy a paper/kindle/iBooks editions, you’ll have to wait until it enters full production in a month or so) are … Continue reading

Posted in books, code-level, TDD, tool-support | 7 Comments

Security: probably doing it wrong

Being knowledgable in the field of information security is useful and beneficial. However, it’s not sufficient, and while it’s (somewhat) easy to argue that it’s necessary there’s a big gap between being a security expert and making software better, or … Continue reading

Posted in software-engineering | Comments Off on Security: probably doing it wrong

Irresponsible tolerance

Context @unclebobmartin said: One of the bad behaviors that destroys projects is “irresponsible tolerance”. Tolerating what you know you should fix. This triggered a discussion between @phil_nash and myself. As far as this got on the Twitters, we agreed that … Continue reading

Posted in Uncategorized | Comments Off on Irresponsible tolerance

On standards in free software engineering

I have previously written on the economics of software insecurity, and I quote a couple of paragraphs from that post below: One option that is not fully explored in the book, but which I believe could be worth exploring, is … Continue reading

Posted in Business, software-engineering | Comments Off on On standards in free software engineering

On the economics of software insecurity

This post is mainly motivated by having read Geekonomics: the real cost of insecure software, by David Rice. Since writing the book Rice has apparently been hired by Apple, though his bio at the Geekonomics site doesn’t mention that (nor … Continue reading

Posted in software-engineering | 1 Comment

These things are hard

Mike Lee recently wrote about his feelings on seeing those classic pictures from the American space program, in which the earth appears as a small blue marble set against the backdrop of space. His concluding paragraph: Life has its waves. … Continue reading

Posted in Uncategorized | 2 Comments