Author Archives: Graham

About Graham

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

Missing Vital Content

After reading Moderately Valuable Cliché, reader Nicholas Levin got in touch to recommend that I look at the back of my Smalltalk-80 books. Here’s the blue one. The first book mentioned in “Other books in the … Series” is the … Continue reading

Posted in MVC, OOP | Comments Off on Missing Vital Content

Moderately Valuable Cliché

In part 1 of the MVC story, I examined “Thing-Model-View-Editor”, a pattern[*] extracted by Trygve Reenskaug’s work in Smalltalk-76. By the time Smalltalk-80’s hot air balloon set sail from the ivory tower, there was already a structure called Model-View-Controller. Part … Continue reading

Posted in MVC, OOP | Comments Off on Moderately Valuable Cliché

Set the settings set

The worst method naming convention Object-Oriented programming is set{Thing}(). And no, C# doesn’t escape my ire for calling it Set{Thing}(), nor does Smalltalk for calling it {thing}:, though that does handily demonstrate how meaningless set is. OK, so set isn’t … Continue reading

Posted in OOP | Comments Off on Set the settings set

Meaningless Vapid Catchphrase

On the 4th December 2013, I said: Urge to search the archives for papers on Model-View-Controller and write an essay on its ever-changing meaning in programmer discourse. Do you have any idea how much work that is? I do, now. … Continue reading

Posted in MVC, OOP | 2 Comments

The First Flaw

As she left her desk at the grandiosely-named United States Robotics, Susan reflected on her relationship with the engineering team she was about to meet. Many of its members were juvenile and frivolous in her opinion, and she refused to … Continue reading

Posted in Fiction, Responsibility, social-science | Leave a comment

It’s about solving problems

As ever, there’s a touchstone issue on the programmers’ corner of the intarwebs (the programmers’ corner is actually the same intarwebs everyone else is using, just we model it with geometry so it can have a corner). Here it is: … Continue reading

Posted in learning, Responsibility, TDD | Leave a comment

Programming as a societal roadblock

Introduction People who make software are instigators of and obstacles to social interactions. We are secondarily technologists, in that we apply technology to enable and block these transactions. This article explores the results. Programmers as arbiters of death I would … Continue reading

Posted in Responsibility | Comments Off on Programming as a societal roadblock

ClassBrowser: warts and all

I previously gave a sneak peak of ClassBrowser, a dynamic execution environment for Objective-C. It’s not anything like ready for general use (in fact it can’t really do ObjC very well at all), but it’s at the point where you … Continue reading

Posted in C++, code-level, Mac, OOP, software-engineering, TDD, tool-support | Leave a comment

Standing at the Crossroads

A while back I wrote Conflicts in my Mental Model of Objective-C, in which I listed a few small scale dichotomies or cognitive dissonances that plagued my notion of my work. I just worked out what the overall picture is, … Continue reading

Posted in AAPL, iPad, OOP, Responsibility | Leave a comment

A sneaky preview of ClassBrowser

Let me start with a few admissions. Firstly, I have been computering for a good long time now, and I still don’t really understand compilers. Secondly, work on my GNUstep Web side-project has tailed off for a while, because I … Continue reading

Posted in advancement of the self, C++, code-level, learning, OOP, software-engineering, tool-support | Comments Off on A sneaky preview of ClassBrowser