Author Archives: Graham

About Graham

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

On my newer competence

This time last year, I evaluated myself against the programmer competency matrix. So where am I one turn around the daystar later? I have to admit that this was mainly because I was jet lagged in a hotel room in … Continue reading

Posted in Business, software-engineering | Comments Off on On my newer competence

An apology and an opportunity

Today’s earlier post, UX is snake-oil bullshit, was indeed an April Fool. Sorry to the people who had their “WTF blood boil”, among other reactions. I’m also sorry to the people I parodied in the post. Please feel comfortable knowing … Continue reading

Posted in user-error | 1 Comment

UX is snake-oil bullshit

There, I said it. I feel better already. There are people in the world who’ll tell you that the most important thing in the world is UX, that if your software isn’t UX-compliant it isn’t worth shit. Here’s why that’s … Continue reading

Posted in software-engineering, user-error | 6 Comments

Automate all the server Objective-C!

I decided it was time to stop writing WebObjects/GNUstepWeb code, and write some code that would make it easier to write WO/GSW code. With that in mind I replaced my previous component generator with a more robust generator. I also … Continue reading

Posted in Uncategorized | Comments Off on Automate all the server Objective-C!

Adding components to a GNUstep web / WebObjects app

In WebObjects, Components take the role of a view controller in what passes for Cocoa’s version of MVC. Each is responsible for calculating the data that the view objects are bound to: you saw an example of this in the … Continue reading

Posted in code-level, software-engineering, tool-support, WebObjects | Comments Off on Adding components to a GNUstep web / WebObjects app

Using Objective-C on the server

My talk at NSConf was about cross-platform Objective-C. Those people who I talked to after the session will know that my goal is clear. There are plenty of people out there who have learned Objective-C to get onto the iOS … Continue reading

Posted in NSConf, software-engineering, tool-support, WebObjects | 19 Comments

More about the privacy pledge

Plenty of you have seen—and indeed signed— the App Makers’ Privacy Pledge on GitHub. If you haven’t, but after reading it are interested, see the instructions in the project README. It’s great to see so many app makers taking an … Continue reading

Posted in Business, Data Leakage, Privacy, Responsibility | Comments Off on More about the privacy pledge

Confine ALL the things!

I was talking with Saul Mora at lunchtime about NSManagedObjectContext thread confinement. We launched into an interesting thought experiment: what if every object ran on its own thread? This would be interesting. You can never use a method that returns … Continue reading

Posted in code-level, software-engineering | 4 Comments

How to TDD with CATCH

Plenty of people have asked me about the TDD framework I use. While the book Test-Driven iOS Development has code using OCUnit (for pragmatic, and previously-covered, reasons); I am currently more frequently to be discovered using Phil Nash’s CATCH framework. … Continue reading

Posted in code-level, software-engineering, TDD | 1 Comment

The security apprentice

This originally appeared in a post at Sophos’ Naked Security blog. There have been two recent occasions on which my computing life has been influenced by Lord Sugar, the business mogul in charge of Amstrad and star of BBC One’s … Continue reading

Posted in Uncategorized | Comments Off on The security apprentice