Author Archives: Graham

About Graham

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

Ch-ch-ch-ch-changes

It’s been almost a year since my first day at Facebook, sitting in an overcrowded meeting room with my bootcamp class because 42 Earlham Street was full and it’d be another week before we moved to 10 Brock Street, with … Continue reading

Posted in Uncategorized | Leave a comment

A kata above

The code kata is a method software craftspeople use to practice their craft. The idea is that you take a problem you understand, like FizzBuzz or Conway’s Life, and build an application that implements it. Then build another one. And … Continue reading

Posted in advancement of the self | Leave a comment

In The Design of Design, Fred Brooks makes an interesting point about ESR’s description of the Bazaar model of Linux (and, by extension, “Open Source”) development. Linux was actually designed in a cathedral. The design was supplied by Unix, where … Continue reading

Posted on by Graham | Leave a comment

An acceptable tool It’s easy to forget that adequacy is, well, adequate. It’s easy to go all-in on making some code structure perfect, when good enough would be good enough.

Posted on by Graham | Leave a comment

Beware the IDEs

I recently had the opportunity to talk with a couple of software project managers from IBM. That company is of a kind that I have never worked at, and many of the companies I have worked at are of kinds … Continue reading

Posted in tool-support | 2 Comments

Hiding behind messages

A problem I think about every so often is how to combine the software design practice of hiding implementations behind interfaces with the engineering practice of parallel execution. What are the trade-offs between making parallelism explicit and information hiding? Where … Continue reading

Posted in architecture of sorts, code-level, OOP | 4 Comments

It depends? It depends.

Sometimes you ask a question which has a small collection of actionable answers: yes or no. You ask someone who should be able to give that yes or no answer, and they go for the third: it depends. Maybe they … Continue reading

Posted in learning | Leave a comment

GNU Terry Pratchett

(post-hoc prescript: I admit to being in two minds about sharing this post. Name-dropping can be the ultimate in reflected vanity: I have worth because I knew this worthy person. I title it about them, but we both know it’s … Continue reading

Posted in whatevs | Leave a comment

Linus’s Bystanders

For some reason, when Eric S. Raymond wanted to make a point about the “bazaar” model of open source software development, he named it after someone else. Thus we have Linus’s Law: Linus was directly aiming to maximize the number … Continue reading

Posted in social-science | Leave a comment

Inspired by Swift

Gulliver meets the Oopers Lemuel Gulliver’s world was black. No light, no sound, infinite darkness and solitude. Am I dead?, he asked himself. No, surely not. He opened his eyes. Still, everything remained black. My God, I am dead! Lemuel … Continue reading

Posted in Uncategorized | Leave a comment