Author Archives: Graham

About Graham

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

Blame culture

The tweet that started this post off: Candidate for the worst name of any SCM feature: “blame”. Don’t use it for that. I was recently watching a couple of conference talks (given by people working at the same company) where … Continue reading

Posted in version-control | Leave a comment

The code you wrote six months ago

We have this trope in programming that you should hate the code you wrote six months ago. This is a figurative way of saying that you should be constantly learning and assimilating new ideas, so that you can look at … Continue reading

Posted in advancement of the self, books, code-level, learning, Responsibility, software-engineering, Talk | Comments Off on The code you wrote six months ago

Separating user interface from work

Here’s a design I’ve had knocking around my head for a while, and between a discussion we had a few weeks ago at work and Saul Mora’s excellent design patterns talk at QCon I’ve built it. A quick heads-up: currently … Continue reading

Posted in code-level, OOP, performance, Talk | Comments Off on Separating user interface from work

Fiction: The Ouroborus School pt 1

On a warm Spring day, the camera follows a butterfly as it wends its coruscating way around a buddleia bush. The plant is growing in the well-kept border surrounding an immaculately manicured lawn, the quadrangle of an imposing Jacobean building. … Continue reading

Posted in Fiction | Leave a comment

On the design of iOS 7 and iconographoclasm

As I write this, the WWDC keynote presentation has been over for a little more than half a day. That, apparently, is plenty of time in which to evaluate a new version of an operating system based on a few … Continue reading

Posted in Uncategorized | 2 Comments

Lighter UIViewControllers

The first issue of Objective-C periodical objc.io has just been announced: Issue #1 is about lighter view controllers. The introduction tells you a bit more about this issue and us. First, Chris writes about lighter view controllers. Florian expands on … Continue reading

Posted in iPad, iPhone, learning, OOP, software-engineering, TDD | Comments Off on Lighter UIViewControllers

enum class in C++11

I’ve opened the new edition of Cuboid Stroustrup exactly once, and I’ve already learned exactly one useful thing. Before going into what that thing was, a comment on the book: The C++ Programming Language is, along with Object-Oriented Software Construction … Continue reading

Posted in C++, OOP | Comments Off on enum class in C++11

An entirely unwarranted comparison between software engineering and astronomy

Back in the early days of astronomy, the problem of the stars that wander from fixed positions in the sky needed solving. Many astronomers, not the first of which was Ptolemy, proposed that these “planetai” could be modeled as following … Continue reading

Posted in Uncategorized | Leave a comment

Short Objective-C on the server update

It’s been over a year since I looked at GNUstepWeb as a server platform for Objective-C development. I’ve recently had time to dig in a bit more, send the project some patches, and get the platform to a state on … Continue reading

Posted in UNIX, WebObjects | Leave a comment

On protocols that aren’t

There’s a common assumption when dealing with Objective-C protocols or Java interfaces (or abstract classes, I suppose): that you’re abstracting away the implementation of an object leaving just its interface. “Oh, don’t mind how I quack, all you need to … Continue reading

Posted in code-level, OOP | Leave a comment