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: code-level
Can code be “readable”?
Did Isaac Asimov write good stories? Different people will answer that question in different ways. People who don’t read English and don’t have access to a translation will probably be unable to answer. People who don’t like science fiction on … Continue reading
Posted in code-level, software-engineering
Comments Off on Can code be “readable”?
I published a new book!
Executive summary: it’s called APPropriate Behaviour, head over to the LeanPub site to check it out. For quite a while, I’ve noticed that posts here are moving away from nuts and bolts code towards questions about evaluating my own performance, … Continue reading
Posted in advancement of the self, books, Business, code-level, Responsibility, software-engineering
Comments Off on I published a new book!
Surprising ARC performance characteristics
The project I’m working on at the moment has quite tight performance constraints. It needs to start up quickly, do its work at a particular rate and, being an iOS app, there’s a hard limit on how much RAM can … Continue reading
Posted in code-level, performance, software-engineering
Comments Off on Surprising ARC performance characteristics
Object-Oriented callback design
One of the early promises of object-oriented programming, encapsulated in the design of the Smalltalk APIs, was a reduction – or really an encapsulation – of the complexity of code. Many programmers believe that the more complex a method or … Continue reading
Posted in code-level, OOP, software-engineering
Comments Off on Object-Oriented callback design
I made a web!
That is, I made a C program using the literate programming tool, CWEB. The product it outputs is, almost by definition, self-documenting, so find out about the algorithm and how I built it by reading the PDF. This post is … Continue reading
Posted in code-level, documentation, tool-support
Comments Off on I made a web!
Inheritance is old and busted
Back when I started reading about Object-Oriented Programming (which was when Java was new, I was using Delphi and maybe the ArcGIS scripting language, which also had OO features) the entire hotness was inheritance. Class hierarchies as complicated as biological … Continue reading
Posted in code-level, OOP, software-engineering
Comments Off on Inheritance is old and busted
On Null Objects
I’ve said before, NSNull is an anti-pattern. It’s nice that we have the nil object, which allows us to have a stand-in for any object that doesn’t do anything. Unfortunately, it’s not a universal stand-in. You can’t add nil to … Continue reading
Posted in code-level, OOP, software-engineering
3 Comments
Illuminative-C
In addition to being a mildly accomplished software engineer, I’ve done some studying and armchair research in the field of ancient languages and palaeography. What happens if we smoosh those fields together? In a very slight way, art historian and … Continue reading
Posted in advancement of the self, books, code-level, documentation, PCAS, software-engineering, UI
Comments Off on Illuminative-C
Password checking with CommonCrypto
I previously described a system for storing and checking credentials on Mac OS and iOS based on using many rounds of a hashing function to generate a key from the password. Time has moved on, and Apple has extended the … Continue reading
Posted in Authentication, code-level, Crypto, password
1 Comment
Coding. Standards.
I just realised that this month marks the 10th anniversary of my first payment for writing software (on, of all the weird things to be writing software on in 2002, a NeXTstation)! What have I learned from those ten years? … Continue reading
Posted in advancement of the self, Business, code-level, OOP, software-engineering
2 Comments