Author Archives: Graham

About Graham

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

On twitter [or otherwise]

As occasionally happens, I’ve been reevaluating my relationships with social media. The last time I did this I received emails asking whether I was dead, so let me assure you that such rumours are greatly exaggerated. Long time readers will … Continue reading →

Posted in Twitter | 1 Comment

On null

I’ve had an interesting conversation on the topic of null over the last few days, spurred by the logical disaster of null. I disagreed with the statement in the post that: Logically-speaking, there is no such thing as Null This … Continue reading →

Posted in code-level | Tagged | Leave a comment

“Brand”: you win some, you lose some

The 20th anniversary of the iMac reminded me that while many people capitalises the word “iMac” as Apple would like, including John “I never capitalise trademarks the way companies like” Gruber, nobody uses the article-less form that Apple does: So … Continue reading →

Posted in AAPL | Leave a comment

Let’s talk about self-documenting code

You think your code is self-documenting. That it doesn’t need comments or Doxygen or little diagrams, because it’s clear from the code what it does. I do not think that that is true. Even if your reader has at least … Continue reading →

Posted in advancement of the self, architecture of sorts, documentation | 8 Comments

Rethinking Object-Oriented Design figures

My iPad-drawn graphics in Rethinking OOD at App Builders 2018 were not very good, so here are the ink-and-paper versions. Please have them to hand when viewing the talk (which is the first of a two-parter, though I haven’t pitched … Continue reading →

Posted in OOP, Talk | Leave a comment

Inheritance still doesn’t make any sense

Some ideas based on feedback to the Why inheritance never made any sense: Feedback: Subtypes are necessary The only one of these that is practically workable is behaviour inheritance <=> subtype inheritance: I’m sorry that you were exposed to Java … Continue reading →

Posted in OOP | Leave a comment

Subatomic Chocolate

This started out as a toot thread, but “threaded tooting is tedious for everybody involved” so here’s the single post that thread should have been. The “Electron vs. native” debate doesn’t make much sense. I feel like I’ve been here … Continue reading →

Posted in UI | Leave a comment

What’s better than semver?

Many software libraries are released with version “numbers” that follow a scheme called Semantic Versioning. A semantic version is three numbers separated by dots, of the form x.y.z, where: if x is zero, all bets are off. Otherwise; z increments … Continue reading →

Posted in software-engineering | 4 Comments

What Lenin taught me about software movements

In What is to be done?: Burning Questions of our Movement, Lenin lists four roles who contribute to fomenting revolution – the theoreticians, the propagandists, the agitators, and the organisers: The theoreticians write research works on tariff policy, with the … Continue reading →

Posted in whatevs | Leave a comment

Why inheritance never made any sense

There are three different types of inheritance going on. Ontological inheritance is about specialisation: this thing is a specific variety of that thing (a football is a sphere and it has this radius) Abstract data type inheritance is about substitution: … Continue reading →

Posted in OOP | Tagged | 22 Comments