Tom Insam

Never perfect. Perfection goal that changes. Never stops moving. Can chase cannot catch.

Basically, news readers as they are implemented today, are fundamentally broken for commercial purposes. There are a few reasons for this, both cultural and technological. Primarily, the core technology itself (polled or pushed RSS/Atom XML feeds) is brittle, bloated and bewildering, and to make matters worse, the benefits of using it are pretty unclear to just about anyone outside the most heads-down techie.

@implementation NSURL (PathHelper)
    // getting a path without the trailing slash stripped is annoying.
    NSString *pathWithPrevervedTrailingSlash = [CFBridgingRelease(CFURLCopyPath((CFURLRef)self)) stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    if (self.query) {
        return [NSString stringWithFormat:@"%@?%@", pathWithPrevervedTrailingSlash, self.query];
    } else {
        return pathWithPrevervedTrailingSlash;


Might even work…

This is the classic open-source “fuck you with a smile” response.

Since open source is free and open, it really can’t fuck you. You can however screw yourself by relying on it to do your work for you.
As you say, few people have the skills, time and desire to fix these sorts of problems, and that means you can’t rely on open source to fix them for you.

Fortunately, there is a simple solution to this called “money” which companies have and which can be given to a developer with the skills who will magically convert that money into the time and desire to fix the problem.

[Apple] holds itself above the fray. It seems to believe that such discussions of meanings and consequences do not matter, because it is in the design business, and so its primary relationship is with the user, not with the society. This may be what some parochial designers thought about themselves until the 1970s—but today the advent of design that is critical, value-sensitive, and participatory has exposed the great moral void of the rigid functionalist paradigm. But Apple, alas, remains stuck in the most conservative, outdated, and bizarre interpretation of the Bauhaus, which was, ironically, a movement that flaunted its commitment to social reform and utopian socialism.

contentEdgeInsets is pretty intuitive and will behave as you expect. You can easily add space around both the image and text to pad things out nicely. Use positive values to inset the content.


The golden rule when it comes to [imageEdgeInsets and titleEdgeInsets] is to add equal and opposite offsets to the left and right insets. So if you add 5pt to the left title inset, you must apply -5pt to the right. This means you are using these insets only to offset the image or text, not to resize them in any way.