Author Archives: Graham

About Graham

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

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

I do the stupid so you don’t have to

So you want to use bc for some hexadecimal maths. You set the input base: ibase=16 and the output base: obase=16 Oops! I just set it to output in base 22. I’d already set it to think numbers were input … Continue reading

Posted in UNIX | Comments Off on I do the stupid so you don’t have to

Meta-writing

Barely 4,000 years ago, documents were written on heavy, clay tablets. The Epic of Gilgamesh, one of the earliest known works of fiction, was written on 11 such tablets with a 12th added later. There was only one thing you … Continue reading

Posted in books, documentation, Talk | Leave a comment

Shell scripts and Xcode

Back in 2009 at the first NSConf, Scotty asked some of the speakers for an Xcode Quick Tip. I’m still using mine today. When your target needs a “Run Shell Script” build phase, don’t write the script into the box … Continue reading

Posted in code-level, tool-support | Comments Off on Shell scripts and Xcode