Blog Archives

The book “NeXTstep Programming Step One: Object-Oriented Applications” by Garfinkel and Mahoney said this about Controllers in 1993: A good rule of thumb is to place as little code in your controller as necessary. If it is possible to create … Continue reading

Posted on by Graham | Leave a comment

I didn’t study computer science at school or university, and still manage to work as a programmer. That is not to say that I don’t need to know some things that are taught on computer science courses. Just this week … Continue reading

Posted on by Graham | Leave a comment

Honestly, this next post will take a while.

Posted on by Graham | Leave a comment

This gist shows the result of doing the self-threading talked about at the end of the last post. Each method implementation takes an object pointer and a selector name, just like in the real world. That’s enough Objective-Swift for me. … Continue reading

Posted on by Graham | Leave a comment

I agree with this, programming is not a craft by Dan North. So here’s my concern with the idea of Software Craftsmanship. It’s at risk of letting programmers’ egos run riot. And when that happens… well, the last time they … Continue reading

Posted on by Graham | Leave a comment

In The Design of Design, Fred Brooks makes an interesting point about ESR’s description of the Bazaar model of Linux (and, by extension, “Open Source”) development. Linux was actually designed in a cathedral. The design was supplied by Unix, where … Continue reading

Posted on by Graham | Leave a comment

An acceptable tool It’s easy to forget that adequacy is, well, adequate. It’s easy to go all-in on making some code structure perfect, when good enough would be good enough.

Posted on by Graham | Leave a comment

Today I learned that I don’t even know how to Unix. I discovered that it’s possible for a POSIX system to leave PATH_MAX and similar variables undefined if it truly has no restrictions on their length.

Posted on by Graham | Leave a comment

About 10 years ago, we decided that the performance gains in single-core processors that come “for free” with advancing semiconductor processes were slowing down. Many chip makers switched to scaling the number of cores on a die, and promoted parallel … Continue reading

Posted on by Graham | 4 Comments

I’ve realised that when I read that a tool or framework is “opinionated”, I interpret that as meaning that I’m going to have to spend time on working out how to express my solution in its terms. I have enough … Continue reading

Posted on by Graham | 1 Comment