Jamie's Web Log

Both Sides of Everything

Calvin.jpg

I think the sentiment expressed in this strip is the single main sapper of my productivity when coding. Whenever I approach something that I haven’t yet nailed down the implementation details of, I become almost paralysed, trapped in a negotiation with myself on what the “easiest”, “best”, “cleanest” way to do it would be. There should be a term for it. “Implementation Anxiety”?

[With thanks to Sanjay Samani for the Calvin and Hobbes snap]


Unpublished Is Unpublic

John Gruber’s latest post, “Private”, calls Erica Sadun to task for her invention of a distinction between “private APIs” and “unpublished API’s”.  I completely agree.  The distinction is nonsensical.

On technical grounds, of course, it’s a valid distinction, if not a valid characterisation.  Her “unpublished” APIs are APIs that are available in public frameworks, but not documented in the headers.  Her “private” APIs are APIs in private frameworks (i.e. those with no headers, installed in the “PrivateFrameworks” directory, as opposed to the “Frameworks” directory).

There’s also a distinction from a programmer-level point of view.  It’s much easier to ...


The Application Will Not Be Verified

“The Application “Application Name” was not installed on the iPhone “iPhone Name” because it could not be verified.”

For web-posterity, a small thing I discovered: If your iPhone app beta testers are getting this error (probably along with an “ApplicationVerificationFailed” message from iTunes in the console), it’s possibly because you used command-line ‘zip’ to compress your app file, and it clobbered the symlinks within it, rendering the signature invalid.

If want to use command line zip to compress signed iPhone apps, you need to use the -y flag to get it to preserve symlinks.


Easy iPhone Application Versioning With Agvtool

In which a semi-automated system for the versioning of iPhone applications is detailed. Said system ensures that the reader’s apps are always correctly versioned, and his users’ iTunes applications are never confused by an update of his beta builds.

Versioning your iPhone applications properly ensures that your app updates go smoothly, and also that when you make a beta build testers never get into the frustrating state where iTunes refuses to accept it because of versioning conflicts, leaving them to have to delete the older version, and its settings and documents along with it.

The system presented here is largely ...


President-Elect Obama

“Change will not come if we wait for some other person or if we wait for some other time. We are the ones we've been waiting for. We are the change that we seek. We are the hope of those boys who have so little, who've been told that they cannot have what they dream, that they cannot be what they imagine. Yes, they can.”[1]

I shy away from discussing politics online. I’m aware how hard it can be to convey nuance, and I’m also naturally one of those infuriating people who can see good intentions an both sides ...