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
FSF
Author Archives: Graham
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?
How big is an integer?
In the beginning, when all was without form and void, Kernighan and Ritchie created char. And they said, “let it be of a size chosen by the compiler, guaranteed to be large enough to hold one character from the execution … Continue reading
Posted in Uncategorized
Comments Off on How big is an integer?
Server-side Objective-C
Recently, Kevin Lawler posted an “Informal Technical Note” saying that Apple could clean up on licence sales if only they’d support web backend development. There are only two problems with this argument: it’s flawed, and the precondition probably won’t be … Continue reading
Posted in code-level, OOP, server, software-engineering, WebObjects
Comments Off on Server-side Objective-C
Can code be “readable”?
Did Isaac Asimov write good stories? Different people will answer that question in different ways. People who don’t read English and don’t have access to a translation will probably be unable to answer. People who don’t like science fiction on … Continue reading
Posted in code-level, software-engineering
Comments Off on Can code be “readable”?
I published a new book!
Executive summary: it’s called APPropriate Behaviour, head over to the LeanPub site to check it out. For quite a while, I’ve noticed that posts here are moving away from nuts and bolts code towards questions about evaluating my own performance, … Continue reading
Posted in advancement of the self, books, Business, code-level, Responsibility, software-engineering
Comments Off on I published a new book!
Surprising ARC performance characteristics
The project I’m working on at the moment has quite tight performance constraints. It needs to start up quickly, do its work at a particular rate and, being an iOS app, there’s a hard limit on how much RAM can … Continue reading
Posted in code-level, performance, software-engineering
Comments Off on Surprising ARC performance characteristics