Author Archives: Graham

About Graham

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

Build systems are a huge annoyance

Take Smalltalk. Do I have an object in my image? Yes? Well I can use it. Does it need to do some compilation or something? I have no idea, it just runs my Smalltalk. Take Python. Do I have the … Continue reading

Posted in code-level | Leave a comment

Tsundoku

I only have the word of the internet to tell me that Tsundoku is the condition of acquiring new books without reading them. My metric for this condition is my list of books I own but have yet to read: … Continue reading

Posted in advancement of the self | Leave a comment

A full-stack software engineer is someone who is comfortable working at any layer, from code and systems through team members to customers.

Posted on by Graham | Leave a comment

FOSDEM

My current record of FOSDEM attendance sees me there once per decade: my first visit was in 2007 and I’m having breakfast in my hotel at the end of my second trip. I should probably get here more often. Unlike … Continue reading

Posted in Uncategorized | Leave a comment

Coercion over configuration.

Posted on by Graham | Leave a comment

The package management paradox

There was no need to build a package management system since CPAN, and yet npm is the best. Wait, what? Every time a new programming language or framework is released, people seem to decide that: It needs its own package … Continue reading

Posted in architecture of sorts, code-level, javascript, OOP, software-engineering | Leave a comment

In which the quantity 1/”booleans per module” is proposed as a software quality metric, and readers are left hanging.

Posted on by Graham | Leave a comment

New project: the GNUstep developer guide

I discovered by searching the interwebs that a significant number of people who try out GNUstep get stuck at the “I wanted to do Objective-C on my Linux so I installed GNUstep…now what?” stage. There are some tutorials for GNUstep … Continue reading

Posted in gnustep | Leave a comment

This post on semantic versioning reminded me that we’re making a future in which Ubuntu 01.04 will be newer than Ubuntu 99.10. This is fine.

Posted on by Graham | 1 Comment

The reality is not the abstraction

Remember that the abstractions you built to help you think about problems are there to help. They are not reality, and when you think of them as such they stop helping you, and they hold you back. You see this … Continue reading

Posted in Business | Leave a comment