Author Archives: Graham

About Graham

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

Turn and face the strange

I’ve made some changes around here, and they impact how both you and I interact with this blog. Firstly, I added asides, which are untitled posts in the main stream. I think of them as something like Daring Fireball’s Linked … Continue reading

Posted in meta-waffle | 1 Comment

Is Social Psychology Biased Against Republicans? Pretty interesting, and an often unmentioned aspect of diversity (probably because political leaning is supposed to be a secret in democratic countries, if not because it’s usually acceptable to display ingroup/outgroup bias politically). But … Continue reading

Posted on by Graham | Leave a comment

Reversing the polarity of the message flow

On receiving a message with a parameter, sometimes an object just reverses the sense of what just happened and sends another message to the parameter object with itself as the parameter of this message. That’s a pretty hard sentence to … Continue reading

Posted in OOP | Comments Off on Reversing the polarity of the message flow

The Humpty-Dumpty Guide to OOP

Everybody knows that the best way to sound intellectual and demonstrate the superiority of your approach to that thing you do is to wrap it in a fancy-schmancy noun term. This works particularly well with a term that can be … Continue reading

Posted in OOP | Leave a comment

Fuck. This. Shit.

Enough with the subtle allusions of the previous posts. What’s going on here is not right. It’s not right that I get to pass as a member of the group of people who can work in technology, while others have … Continue reading

Posted in advancement of the self, learning, Responsibility | Comments Off on Fuck. This. Shit.

More on Layers

I was told yesterday that entity-relationship diagrams can be OK as high level descriptions of database schemata, but are not appropriate for designing a database. Enough information is missing that they are not able to model the problem. Could the … Continue reading

Posted in architecture of sorts | Leave a comment

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