Category Archives: software-engineering

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

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

Test-Driven iOS Development

Here it is, after more than a year in the making, the book that they really did want you to read! Test-driven IOS Development (Developer’s Library) (affiliate link) has finally hit the stores[*]. I wrote this book for the simple … Continue reading

Posted in books, PCAS, software-engineering, TDD, TDiOSD | 6 Comments

On my newer competence

This time last year, I evaluated myself against the programmer competency matrix. So where am I one turn around the daystar later? I have to admit that this was mainly because I was jet lagged in a hotel room in … Continue reading

Posted in Business, software-engineering | Comments Off on On my newer competence

UX is snake-oil bullshit

There, I said it. I feel better already. There are people in the world who’ll tell you that the most important thing in the world is UX, that if your software isn’t UX-compliant it isn’t worth shit. Here’s why that’s … Continue reading

Posted in software-engineering, user-error | 6 Comments

Adding components to a GNUstep web / WebObjects app

In WebObjects, Components take the role of a view controller in what passes for Cocoa’s version of MVC. Each is responsible for calculating the data that the view objects are bound to: you saw an example of this in the … Continue reading

Posted in code-level, software-engineering, tool-support, WebObjects | Comments Off on Adding components to a GNUstep web / WebObjects app

Using Objective-C on the server

My talk at NSConf was about cross-platform Objective-C. Those people who I talked to after the session will know that my goal is clear. There are plenty of people out there who have learned Objective-C to get onto the iOS … Continue reading

Posted in NSConf, software-engineering, tool-support, WebObjects | 19 Comments

Confine ALL the things!

I was talking with Saul Mora at lunchtime about NSManagedObjectContext thread confinement. We launched into an interesting thought experiment: what if every object ran on its own thread? This would be interesting. You can never use a method that returns … Continue reading

Posted in code-level, software-engineering | 4 Comments