-

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
Using GNUstep libraries with Xcode
I was recently asked about building projects that use GNUstep from Xcode. The fact is, it’s incredibly easy. By default, GNUstep on Mac OS X installs its libraries to /usr/local/lib and its frameworks to /Library/Frameworks. Therefore if you want to … Continue reading
Posted in code-level, gnustep, tool-support
1 Comment
Building a unit test target with GNUstep make
Just a quick note on how I build my test tools (they run separately, either by manual invocation or via CI) when I’m working in GNUstep. Firstly, you’ll need Catch. Then given test files that look like this: test_class.mm #define … Continue reading
Posted in TDD
Comments Off on Building a unit test target with GNUstep make
So you’re off to WWDC
Jeff has updated his excellent WWDC first-timer’s guide, and I thought I’d augment that with some things I’ve noticed. The easiest and cheapest way to get from SFO to San Francisco is via BART. Once you get to the arrivals … Continue reading
Posted in WWDC
Comments Off on So you’re off to WWDC
Metacognition-driven development
To find out what techniques work for you in a field of practice, you often need to think about how you think. To decide what it is that drives your learning processes, and then adapt your practices to suit that. … Continue reading
Posted in advancement of the self, software-engineering, TDD
Comments Off on Metacognition-driven development
Messing about with Clang
I’ve been reading the Smalltalk-80 blue book (pdf) recently, and started to wonder what a Smalltalk style object browser for Objective-C would look like. Not just from the perspective of presenting the information that makes up Objective-C classes in novel … Continue reading
Posted in code-level, Mac, software-engineering, tool-support
5 Comments
Classes are globals, too
Software engineers are used to the notion that global variables are a bad idea. Globals are usually accessed by asking, not by telling. They introduce tight coupling between any module that uses the global and the one that declares it, … Continue reading
Posted in code-level, software-engineering, TDD
Comments Off on Classes are globals, too
Software-ICs and a component marketplace
In the previous post, I was talking about Object-Oriented Programming, an Evolutionary Approach. What follows is a thought experiment based on that. Chapter 6 of Brad Cox’s book, once he’s finished explaining how ObjC works (and who to buy it … Continue reading
Posted in Business, code-level, OOP
Comments Off on Software-ICs and a component marketplace
Comparing Objective-C and Objective-C with Objective-C
A while back, I wrote an object-oriented dispatch system for Objective-C. It defines only three things: an object type (the BlockObject), a way to create new objects (the BlockConstructor), and a way to message objects (the dispatch mechanism). That’s all … Continue reading
Posted in code-level, OOP, software-engineering
Comments Off on Comparing Objective-C and Objective-C with Objective-C
The debugger of royalty
We’ve all got little libraries of code or scripts that help us with debugging. Often these are for logging information in a particular way, or wrapping logs/tests such that they’re only invoked in Debug builds but not in production. Or … Continue reading
Posted in code-level, iPad, iPhone, Mac, TDiOSD
11 Comments
TDD and crypto in one place
Well, I suppose if I’ve written two books, it’s about time I wrote a contorted blog post that references both of the worlds. I recently wrote an encryption module for an app, and thought it’d be useful to share something … Continue reading
Posted in code-level, Crypto, TDD
Comments Off on TDD and crypto in one place