Author Archives: Graham

About Graham

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

Netscape won

Back when AOL was a standalone company and Sun Microsystems existed at all, Netscape said that they wanted Windows to be a buggy collection of device drivers that people used to access the web, which would be the real platform. … Continue reading

Posted in Platform | Tagged | 2 Comments

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