Category Archives: code-level

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

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?

Coupling in a Cocoa[ Touch] App

This is one of my occasional “problem looking for a solution” posts. It’d be great to discuss this over on App.net or G+ or somewhere. I don’t think, at the outset of writing this post, that the last sentence is … Continue reading

Posted in AAPL, code-level, OOP | Comments Off on Coupling in a Cocoa[ Touch] App

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

How to handle Xcode in your meta-build system’s iOS or Mac app target

OK, I’ve said before in APPropriate Behaviour that I dislike build systems that build other build systems: Some build procedures get so complicated that they spawn another build system that configures the build environment for the target system before building. … Continue reading

Posted in code-level, tool-support | Comments Off on How to handle Xcode in your meta-build system’s iOS or Mac app target

Happy Birthday, Objective-C!

OK, I have to admit that I actually missed the party. Brad Cox first described his “Object-Oriented pre-compiler”, OOPC, in The January 1983 issue of ACM SIGPLAN Notices. This describes the Object Oriented Pre-Compiler, OOPC, a language and a run-time … Continue reading

Posted in AAPL, code-level, social-science | Comments Off on Happy Birthday, Objective-C!

Retiring the “Apple developers are insular” meme

There’s an old trope used in discussions of Mac and iOS developers, that says they’re too inward-looking. They only think about software in ways that have been “blessed” by Apple, their platform vendor. I’m pretty sure that I’ve used this … Continue reading

Posted in advancement of the self, code-level, Responsibility, software-engineering | Comments Off on Retiring the “Apple developers are insular” meme

What happens when you add one to an integer?

It depends. You saw in the previous post that there are plenty of different integer types, some with known sizes and some where the size is set by the implementation. Well for each size of integer type there are two … Continue reading

Posted in buffer-overflow, code-level | Comments Off on What happens when you add one to an integer?

Server-side Objective-C

Recently, Kevin Lawler posted an “Informal Technical Note” saying that Apple could clean up on licence sales if only they’d support web backend development. There are only two problems with this argument: it’s flawed, and the precondition probably won’t be … Continue reading

Posted in code-level, OOP, server, software-engineering, WebObjects | Comments Off on Server-side Objective-C