Author Archives: Graham

About Graham

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

Introducing the SICPers Newsletter

I write a lot about software engineering. I talk a lot about software engineering. And I read a lot about software engineering. And that stuff is scattered all over the interwebs. Well, some of it isn’t even there, it’s in … Continue reading

Posted in writing | Leave a comment

[objc retain]; continues apace

I just finished recording episode 35 of [objc retain]; the stream on Objective-C programming with Free Software that I co-host with Steven Baker. It is available on Twitch and you can subscribe there to get notified about new episodes. It … Continue reading

Posted in FLOSS, freesoftware, gnustep, objc | Leave a comment

On Apple’s swings and misses

There’s a trope in the Apple-using technologist world that when an Apple innovation doesn’t immediately succeed, they abandon it. It’s not entirely true, let’s see what actually happens. The quote in the above-linked item that supports the claim: “Apple has … Continue reading

Posted in AAPL, UI | 2 Comments

Licenses aren’t sufficient

Another recent issue in the world of “centralised open source dependency repositories were a bad idea” initiated by the central contradiction of free software. People want to both give everything away without limitation on who uses it or how, and … Continue reading

Posted in FLOSS | Leave a comment

On the glorification of ignorance

When I wrote I have some small idea of what I’m doing, it was on the basis that DHH was engaging in some exaggeration. Surely software engineers, whose job depends on what they know and what they can learn, would … Continue reading

Posted in whatevs | Leave a comment

Explicitly considering subtyping in inheritance

By far the post on this blog that gains the most long-term interest and attention is why inheritance never made any sense. In this post, I explain that there are three different ways to think about inheritance—ontological inheritance (this sort … Continue reading

Posted in OOP | Tagged | Leave a comment

I have some small idea of what I’m doing

I feel partly to blame for the current minor internet shitstorm. But first, some scene-setting. There have long been associations between the programmer community and particular subcultures, some of which have become—not monocultural—at least dominant cultures within the world of … Continue reading

Posted in advancement of the self, edjercashun | Tagged | Leave a comment

An Imagined History of Agile Software Development

Having benefited from the imagined history of Object-Oriented Programming, it’s time to turn our flawed retelling toolset to Agile. This history is as inaccurate and biased as it is illuminating. In the beginning, there was no software. This was considered … Continue reading

Posted in agile | Tagged | 1 Comment

Second Brain

The idea of a second brain really hit home. Steven and I were doing some refactoring of some code in our Amiga podcast last night, and every time we moved something between files we had to remember which header files … Continue reading

Posted in advancement of the self, tool-support, whatevs | Leave a comment

Scripting confusion

LaTeX (and TeX, for that matter), syntax is relatively consistent, and uses a lot of backslashes. Bourne shell syntax is somewhat inconsistent, and also uses backslashes. Regular expression syntax I seem almost perversely disinclined to remember, and definitely sometimes often … Continue reading

Posted in LaTeX | Leave a comment