Author Archives: Graham

About Graham

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

Where am I going with this?

I recently asked how people would describe this Secure Mac Programming blog were they trying to tell someone else they should read it. Of all the answers, the one that most succinctly sums up the trouble with the old name … Continue reading

Posted in advancement of the self, meta-waffle, whatevs | Comments Off on Where am I going with this?

My use of Latin: a glossary

i.e.: I Explain e.g.: Example Given et al.: Extremely Tedious Author List op. cit.: Other Page Cited It Too ibid.: In Book I Described etc.: Evermore To Continue a.m.: Argh! Morning! p.m.: Past Morning ca.: Close Approximation sic.: See Inexcusable … Continue reading

Posted in whatevs | Comments Off on My use of Latin: a glossary

Depending on the self-interest of strangers

The title is borrowed from an economics article by Art Carden, which is of no further relevance to this post. Interesting read though, yes? I’m enjoying the discussion in the iOS Developer Community™ about dependency of app makers on third-party … Continue reading

Posted in Uncategorized | Comments Off on Depending on the self-interest of strangers

Software, Science?

Is there any science in software making? Does it make sense to think of software making as scientific? Would it help if we could? Hold on, just what is science anyway? Good question. The medieval French philosopher-monk Buridan said that … Continue reading

Posted in advancement of the self, learning, social-science, software-engineering | Comments Off on Software, Science?

Inside-Out Apps

This article is based on a talk I gave at mdevcon 2014. The talk also included a specific example to demonstrate the approach, but was otherwise a presentation of the following argument. You probably read this blog because you write … Continue reading

Posted in architecture of sorts, MVC, OOP, ruby, software-engineering | Comments Off on Inside-Out Apps

Principled Lizards

Sixty-five million years ago, there were many huge lizards. Most of them were really happy being lizards, and would spend all of the time they could doing lizardy things. Some wanted to be the biggest lizards, and grew so large … Continue reading

Posted in advancement of the self | Leave a comment

Messily Veneered C

A recap: we saw that Model-View-Controller started life as Thing-Model-View-Editor, a way of approaching problems to design Smalltalk user interfaces. As Smalltalk-80 drifted off from its ivory tower, many Smalltalkers were using and talking about MVC, although any kind of … Continue reading

Posted in MVC, OOP | Comments Off on Messily Veneered C

The Objective-C protocol naming trifecta

Objective-C protocol names throughout history seem to fall into three distinct conventions: some are named after what a conforming object provides. Thus we have DBProperties, DBEntities, DBTypes and the like in Database Kit. others are named after what the object … Continue reading

Posted in OOP | Comments Off on The Objective-C protocol naming trifecta

ClassBrowser’s public face

I made a couple of things: ClassBrowser discussion list The project website‘s source is now visible and MIT licensed I should’ve done both of these things at the beginning of the project. I believe that the fact I opened the … Continue reading

Posted in Responsibility, software-engineering | Comments Off on ClassBrowser’s public face

Replacing the language

Over the last few years, people have used the ObjC frameworks from TCL, Python, Perl and WebScript, Perl again, Perl, more Python, Ruby, Ruby, Ruby, Ruby, Java, Java, AppleScript, Smalltalk, C++, Pascal, Object Pascal, CLIPS, Common LISP, Nu, Eero, Modula-2, … Continue reading

Posted in code-level | Comments Off on Replacing the language