Author Archives: Graham

About Graham

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

In which things are not known

In the last episode—Is software engineering a thing?—I (apparently controversially) suggested that software is the reification of thought, and that software engineering is thus the art of reifying thought, and that thus there can’t be any single one-size-fits-all software engineering … Continue reading

Posted in software-engineering | Leave a comment

Is software engineering a thing?

In the title I’m kindof punning on the word “a” (it’s my blog, and I get to do what I want). Is there a single thing, software engineering, that all people making software should (or could, or would find to … Continue reading

Posted in software-engineering | 12 Comments

Resolutions

Although I didn’t make any resolutions this new year, it’s still a time for change. That’s because I finally submit my D.Phil. thesis (if I’m on time, that will be before January 18th), so I’ve already been putting things in … Continue reading

Posted in whatevs | Leave a comment

On the Consolation of Software Engineering

I’m currently reading Boethius’s writing on the consolation of philosophy. Imprisoned awaiting the death penalty in 523 (for treason against King Theodoric), Boethius imagined a conversation with the personification of Philosophy herself, a woman of variable height whose fine dress … Continue reading

Posted in book | Leave a comment

In which a life re-emerges

While it’s far from finished, my PhD thesis is now complete: there are no to-do items left, no empty sections, no placeholders. Now the proof-reading, editing and corrections continue in earnest. I look forward to poking my head out of … Continue reading

Posted in academia | Leave a comment

The Cataract of Software Delivery

There’s this paper from August 1970, called Managing the Development of Large Software Systems, that’s considered something of a classic (either for good or for bad, depending on your worldview). The discussion often goes something like this: Let’s say I … Continue reading

Posted in whatevs | 1 Comment

Non-standard components

Another day, another exercise from Software: A Technical History… A software engineering project might include both standard and nonstandard engineering components. Give an example of a software engineering project where this would be appropriate. Kim W. Tracy, Software: A Technical History (p. … Continue reading

Posted in history | Tagged | Leave a comment

Specific physical phenomena

Continuing the theme of exploring the exercises in Software: A Technical History: Give an example of a specific physical phenomenon that software dependson in order to run. Can a different physical phenomenon be used? If so, giveanother example phenomenon. If … Continue reading

Posted in history | Tagged | Leave a comment

Related methods and tools

The book Software: A Technical History has plenty of exercises and projects at the end of each chapter, to get readers thinking about software and its history and to motivate additional research. For example, here’s exercise 1 (of 27 exercises … Continue reading

Posted in books, history | Tagged | 2 Comments

YX problem

Software people are always all up in the XY problem: someone asks about how to do X when what they’re really trying to solve is Y. I find the YX problem much more frustrating: where software people decide that they … Continue reading

Posted in learning | 2 Comments