Author Archives: Graham

About Graham

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

How to answer questions the smart way

You may have read how to ask questions the smart way by Eric S. Raymond. You may have even quoted it when faced with a question you thought was badly-formed. I want you to take a look at a section … Continue reading

Posted in advancement of the self, learning, Responsibility, social-science | Leave a comment

Story points: because I don’t know what I’m doing

The scenario [Int. developer’s office. Developer sits at a desk that faces the wall. Two of the monitors on Developer’s desk are on stands, if you look closely you see that the third is balanced on the box set of … Continue reading

Posted in Business, Responsibility, social-science, software-engineering | Leave a comment

Updating my ObjC web app on git push

I look at SignUp.woa running on my Ubuntu server, and it looks like this. That title text doesn’t quite look right. $ open -a TextWrangler Main.wo/Main.html $ make $ make check $ git add -A $ git commit -m “Use … Continue reading

Posted in gnustep, tool-support, UNIX, WebObjects | Leave a comment

Automated tests with the GNUstep test framework

Setup Of course, it’d be rude not to use a temperature converter as the sample project in a testing blog post. The only permitted alternative is a flawed bank account model. I’ll create a folder for my project, then inside … Continue reading

Posted in gnustep, TDD, tool-support | Leave a comment

Happy 19th birthday, Cocoa!

On October 19th, 1994 NeXT Computer, Inc. (later NeXT Software, Inc.) published a specification for OpenStep, a cross-platform interface for application programming, based on their existing Objective-C frameworks and the Display PostScript graphics system. A little bit of history First … Continue reading

Posted in Uncategorized | 4 Comments

Conflicts in my mental model of Objective-C

My worldview as it relates to the writing of software in Objective-C contains many items that are at odds with one another. I either need to resolve them or to live with the cognitive dissonance, gradually becoming more insane as … Continue reading

Posted in AAPL, Business, gnustep, iPhone, OOP, software-engineering, tool-support | Leave a comment

Reading List

I was asked “what books do you consider essential for app making”? Here’s the list. Most of these are not about specific technologies, which are fleeting and teach low-level detail. Those that are tech-specific also contain a good deal of … Continue reading

Posted in Uncategorized | Leave a comment

Choosing the correct openings and closures

Plenty of programmers will have heard of the Open-Closed Principle of object-oriented design. It is, after all, one of the five SOLID principles. You may not, however, have seen the principle as originally stated. You’ve probably heard this formulation by … Continue reading

Posted in OOP | Leave a comment

NIMBY Objects

Members of comfortable societies such as English towns have expectations of the services they will receive. They want their rubbish disposed of before it builds up too much, for example. They don’t so much care how it’s dealt with, they … Continue reading

Posted in Uncategorized | Leave a comment

Dogma-driven development

You can find plenty of dogmatic positions in software development, in blogs, in podcasts, in books, and even in academic articles. “You should (always/never) write tests before writing code.” “Pair programming is a (good/bad) use of time.” “(X/not X) considered … Continue reading

Posted in Uncategorized | 1 Comment