-

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
When single responsibility isn’t possible
This posted was motivated by Rob Rix’s bug report on NSObject, “Split NSObject protocol into logical sub-protocols”. He notes that NSObject provides multiple responsibilities[*]: hashing, equality checking, sending messages, introspecting and so on. What that bug report didn’t look at … Continue reading
Posted in Foundation, Java, ruby
Leave a comment
More security processes go wrong
I just signed a piece of card so that I could take a picture of it, clean it up and attach it to a document, pretending that I’d printed the document out, signed it, and scanned it back in. I … Continue reading
Posted in Authentication, Vulnerability
Comments Off on More security processes go wrong
Could effortless lecturers make everything seem too easy?
From the British Psychological Society blog: Engaging lecturers can breed overconfidence. The students who’d seen the smooth lecturer thought they would do much better than did the students who saw the awkward lecturer, consistent with the idea that a fluent … Continue reading
Posted in psychology, Talk
Comments Off on Could effortless lecturers make everything seem too easy?
Objective-C, dependencies, linking
In the most recent episode of Edge Cases, Wolf and Andrew discuss dependency management, specifically as it pertains to Objective-C applications that import libraries using the Cocoapods tool. In one app I worked on a few years ago, two different … Continue reading
Posted in code-level, tool-support
Leave a comment
When security procedures go bad
My password with my bank may as well be “I can’t remember, can we go through the security questions please?” That’s my answer so many times when they ask, and every time it gets me in via a slightly tedious … Continue reading
Posted in Uncategorized
Comments Off on When security procedures go bad
Specifications for interchanging objects
One of the interesting aspects of Smalltalk and similar languages including Objective-C and Ruby is that while the object model exposes a hierarchy of classes, consumers of objects in these environments are free to ignore the position of the object … Continue reading
Posted in documentation, OOP, software-engineering, TDD, tool-support
1 Comment
Can Objective-C be given safe categories?
That was the subject of this lunchtime’s vague thinking out loud. The problems with categories are well-known: you can override the methods already declared on a class, or the methods provided in another category (and therefore another category can replace … Continue reading
Posted in code-level, OOP
Comments Off on Can Objective-C be given safe categories?
APPropriate Behaviour is almost done
I just pushed another update to APPropriate Behaviour, my work on the things programmers do that aren’t programming. There’s some refinement to the existing material to be done, and a couple of short extra chapters to finish and add. But … Continue reading
Posted in advancement of the self, books
Leave a comment
As the Kaiser Chiefs might say: Ruby ruby ruby n00bie
Imagine someone took the training wheels off of Objective-C. That’s how I currently feel. I’ve actually had a long—erm, not quite “love-hate”, more “‘sup?-meh”—relationship with Ruby. I’ve long wanted to tinker but never really had a project where I could … Continue reading
On designing collections
Introduction This post explores the pros and the cons of following the design rule “Objects responsible for collections of other objects should expose an interface to the collection, not the collection itself”. Examples and other technical discussion is in Objective-C, … Continue reading
Posted in Foundation, OOP, software-engineering
Comments Off on On designing collections