Author Archives: Graham

About Graham

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

The trouble with layers

In describing Inside-Out Apps I expressed my distrust of the “everything is MVC” school of design. […]when you get overly attached to MVC, then you look at every class you create and ask the question “is this a model, a … Continue reading

Posted in architecture of sorts | Comments Off on The trouble with layers

Yes, you may delete tests

A frequently-presented objection to the concept of writing automated tests is that it ossifies the implementation of the system under test. “If I’ve got all the tests you’re proposing,” I hear, “then I won’t be able to make any changes … Continue reading

Posted in TDD | Comments Off on Yes, you may delete tests

The laser physics of software

I’ve worked in a few different places where there have been high-powered lasers, the sort that would make short work of slicing through Sean Connery in a Bond movie. With high-powered lasers comes mandatory laser safety training. At least, it … Continue reading

Posted in whatevs | Leave a comment

Full-stack

That moment where you’re looking back through your notes to see that you’ve: modelled charge carrier behaviour in semiconductors built a processor from discrete logic components patched kernels patched operating system tools written filesystems written device drivers contributed to a … Continue reading

Posted in whatevs | Comments Off on Full-stack

More Excel-lent Adventures

I previously wrote about Excel as the most successful IDE: Now what makes a spreadsheet better as a development environment is difficult to say; I’m unaware of anyone having researched it. That research is indeed extant, and the story is … Continue reading

Posted in code-level, tool-support | Leave a comment

What it takes to “win” a discussion

You may have been to some kind of debate club at school, or at least had a debate in a class. If so, the debate you had was probably a competitive debate, and went something along these lines (causality is … Continue reading

Posted in learning | Leave a comment

APPosite Concerns

I’ve started another book project: APPosite Concerns is in the same series as, and is somehow a sequel to, APPropriate Behaviour. So now I just have one question to ask. What is going to be in the book? This question … Continue reading

Posted in books | Leave a comment

Apple’s Watch and Jony’s Compelling Beginning

There are a whole lot of constraints that go into designing something. Here are the few I could think of in a couple of minutes: what people already understand about their interactions with things what people will discover about their … Continue reading

Posted in UI | Leave a comment

Sitting on the Sidelines

Thank you, James Hague, for your article You Can’t Sit on the Sidelines and Become a Philosopher. I got a lot out of reading it, because I identified myself in it. Specifically in this paragraph: There’s another option, too: you … Continue reading

Posted in advancement of the self, philosophy after a fashion | Leave a comment

Why is programming so hard?

I have been reflecting recently on what it was like to learn to program. The problem is, I don’t clearly remember: I do remember that there was a time when I was no good at it. When I could type … Continue reading

Posted in edjercashun | 1 Comment