Author Archives: Graham

About Graham

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

Anti-lock brakes

Chances are, if you bought a new car or even a new motorcycle within the last few years, you didn’t even get an option on ABS. It came as standard, and in your car was legally mandated. Anti-lock brakes work … Continue reading

Posted in tool-support, user-error | Leave a comment

Another non-year of Desktop Linux

Let’s look at other software on the desktop, to understand why there isn’t (as a broad, popular platform) Linux on the desktop, then how there could be. Over on De Programmatica Ipsum I discussed the difference between the platform business … Continue reading

Posted in whatevs | Leave a comment

SICPers podcast episode 10

This episode is all about build systems! Mostly about the problems associated with the venerable ./configure; make; make install process. This expands on a section I wrote in APPropriate Behaviour. The history of UNIX make Why Johnny Can’t Build [portable … Continue reading

Posted in podcast | Tagged | Leave a comment

Where We Ditched Chipzilla

WWDC2020 was the first WWDC I’ve been to in, what, five years? Whenever I last went, it was in San Francisco. There’s no way I could’ve got my employer to expense it this year had I needed to go to … Continue reading

Posted in AAPL | 2 Comments

SICPers podcast episode 9

In this episode I talk about Design by Contract. Episode RSS feed – also available in Apple and Google Podcasts. A Discipline of Programming Go to statement considered harmful Z Notation, and Object-Z CocoaByContract, and JavaByContract CLU Programming Language

Posted in code-level, design, podcast | Tagged | Leave a comment

It protects. It also promotes and prevents.

I sometimes get asked to review, or “comment on”, the architecture for an app. Often the app already exists, and the architecture documentation consists of nothing more than the source code and the folder structure. Sometimes the app doesn’t exist, … Continue reading

Posted in architecture of sorts | Leave a comment

Forearmed

In researching my piece for the upcoming de Programmatica Ipsum issue on cloud computing, I had thoughts about Apple, arm, and any upcoming transition that didn’t fit in the context of that article. So here’s a different post, about that. … Continue reading

Posted in AAPL, arm, Business | Leave a comment

Continuous Integration for Amiga

Amiga-Smalltalk now has continuous integration, I don’t know if it’s the first Amiga program ever to have CI but definitely the first I know of. Let me tell you about it. I’ve long been using AROS, the AROS Research Operating … Continue reading

Posted in Amiga | Leave a comment

Mature Optimization

This comment on why NetNewsWire is fast brings up one of the famous tropes of computer science: The line between [performance considerations pervading software design] and premature optimization isn’t clearly defined. If only someone had written a whole paper about … Continue reading

Posted in performance | Tagged | 1 Comment

Video podcast: Hisoft C for the ZX Spectrum

Episode 6 of the SICPers podcast is over on Youtube. I introduce a C compiler for the Sinclair ZX Spectrum. For American readers, that’s the Timex Sinclair TS2068.

Posted in podcast | Leave a comment