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
Category Archives: software-engineering
Representativeness in Software Engineering Research
The first paragraph describes the context of this post in relation to the blog on which it originally appeared, not blog.securemacprogramming.com. For this post, I wanted to go a little bit meta. One focus of this blog will be on … Continue reading
Posted in academia, software-engineering
Leave a comment
At the old/new interface: jQuery in WebObjects
It turns out to be really easy to incorporate jQuery into an Objective-C WebObjects app (targeting GNUstep Web). In fact, it doesn’t really touch the Objective-C source at all. I defined a WOJavascript object that loads jQuery itself from the … Continue reading
Posted in architecture of sorts, javascript, software-engineering, tool-support, WebObjects
Comments Off on At the old/new interface: jQuery in WebObjects
The code you wrote six months ago
We have this trope in programming that you should hate the code you wrote six months ago. This is a figurative way of saying that you should be constantly learning and assimilating new ideas, so that you can look at … Continue reading
Posted in advancement of the self, books, code-level, learning, Responsibility, software-engineering, Talk
Comments Off on The code you wrote six months ago
Lighter UIViewControllers
The first issue of Objective-C periodical objc.io has just been announced: Issue #1 is about lighter view controllers. The introduction tells you a bit more about this issue and us. First, Chris writes about lighter view controllers. Florian expands on … Continue reading
APPropriate Behaviour is complete!
APPropriate Behaviour, the book on things programmers do that aren’t programming, is now complete! The final chapter – a philosophy of software making – has been added, concluding the book. Just because it’s complete, doesn’t mean it’s finished: as my … Continue reading
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
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
On rewriting your application
I’m really far behind on podcasts. I have a long commute, and listen to one audiobook every month, filling the slack time with a selection of podcasts. It happens that between two really long books (Cryptonomicon by Neal Stephenson and … Continue reading
Posted in Business, software-engineering
Leave a comment
A two-dimensional dictionary
What? A thing I made has just been open-sourced by my employers at Agant: the AGTTwoDimensionalDictionary works a bit like a normal dictionary, except that the keys are CGPoints meaning we can find all the objects within a given rectangle. … Continue reading
Posted in code-level, iPad, iPhone, Mac, OOP, performance, software-engineering
Comments Off on A two-dimensional dictionary
The Liskov Citation Principle
In her keynote speech at QCon London 2013 on The Power of Abstraction, Barbara Liskov referred to several papers contemporary with her work on abstract data types. I’ve collected these references and found links to free copies of the articles … Continue reading
Posted in code-level, documentation, OOP, software-engineering, Talk
2 Comments