-

Chiron Codex: helping software engineers become centaurs. OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
Support This Site
If you like what I do please support me on Ko-fi
FSF

Author Archives: Graham
I just updated Appropriate Behaviour
The new release of Appropriate Behaviour—the book about things programmers should do that aren’t programming—is now up. The most obvious, and most awesome, change in this update is a fabulous new cover, designed by Sebastian Hermida of leanpubcovers.com. Should you … Continue reading
Posted in advancement of the self, books
Comments Off on I just updated Appropriate Behaviour
Happy Birthday, Objective-C!
OK, I have to admit that I actually missed the party. Brad Cox first described his “Object-Oriented pre-compiler”, OOPC, in The January 1983 issue of ACM SIGPLAN Notices. This describes the Object Oriented Pre-Compiler, OOPC, a language and a run-time … Continue reading
Posted in AAPL, code-level, social-science
Comments Off on Happy Birthday, Objective-C!
Does the history of making software exist?
A bit of a repeated theme in the construction of APPropriate Behaviour has been that I’ve tried to position certain terms or concepts in their historical context, and found it difficult, or impossible to do so with sufficient rigour. There’s … Continue reading
Posted in advancement of the self, books, OOP, social-science, software-engineering
Comments Off on Does the history of making software exist?
An observation designed to aid the reading of books on software
Wherever a book on writing software describes the 1968 NATO conference in Garmisch on Software Engineering, consider whether the clarity of the argument can be improved by adding the following parenthetical clause: […], a straw man version of an otherwise … Continue reading
Posted in books, software-engineering
Comments Off on An observation designed to aid the reading of books on software
Anyone Can Write A Manifesto And You Can Too!™
Over a small number of years, I have helped to write some software. During this time I have come to value: Solving problems over rejecting what has passed before Solving problems over congratulating ourselves Solving problems over creating problems Solving … Continue reading
Posted in Uncategorized
Comments Off on Anyone Can Write A Manifesto And You Can Too!™
Talking about talking
I recently gave a talk to my colleagues about giving talks. Here is an annotated collection of the notes I made in preparation. – What do you want the audience to get out of the talk? As you’re constructing your … Continue reading
Posted in Talk
Comments Off on Talking about talking
Detecting overflows, undefined behaviour and other nasties
You will remember that a previous post discussed what happens when you add one to an integer, and that the answer isn’t always obvious. Indeed, the answer isn’t always defined. As it happens, there are plenty of weird cases that … Continue reading
Posted in Uncategorized
Comments Off on Detecting overflows, undefined behaviour and other nasties
An open letter to Xcode
The post below has been filed verbatim as an Apple Developer Tools bug report with ID 13051064. Dear Xcode, imagine that you had a combine harvester. Only, this combine harvester, instead of having a hopper into which the winnowed wheat … Continue reading
Posted in Uncategorized
1 Comment
Retiring the “Apple developers are insular” meme
There’s an old trope used in discussions of Mac and iOS developers, that says they’re too inward-looking. They only think about software in ways that have been “blessed” by Apple, their platform vendor. I’m pretty sure that I’ve used this … Continue reading
Posted in advancement of the self, code-level, Responsibility, software-engineering
Comments Off on Retiring the “Apple developers are insular” meme
What happens when you add one to an integer?
It depends. You saw in the previous post that there are plenty of different integer types, some with known sizes and some where the size is set by the implementation. Well for each size of integer type there are two … Continue reading
Posted in buffer-overflow, code-level
Comments Off on What happens when you add one to an integer?