Archive for April 30, 2012

Monday, April 30, 2012

Navigating a Tightrope With Amazon

David Carr (via MacNN):

But the plan hit a pothole after Apple, which had been looking to get into shorter works in a digital format, decided to include e-books in a promotion that it does with Starbucks. It selected Mr. Bissinger’s digital sequel as a Pick of the Week, giving customers a code they could redeem online for the book. (Mr. Bissinger said he still received a royalty of $1.50 for each copy sold.)

Amazon interpreted the promotion as a price drop and lowered its price for “After Friday Night Lights” to exactly zero. Byliner withdrew the book from Amazon’s shelves, saying it did so to “protect our authors’ interest.”

The automatic price drop was because Amazon requires that publishers let them sell e-books for the lowest available price.

How to Make Xcode’s UI Work for You

Brian Webster:

Now, with most applications that support a tabbed interface, each tab is typically used to hold a single document, so that you can switch easily between them. I tried this with Xcode 4, but quickly found that the set of files I’m working with at any given time is usually too large for tabs to really be an effective way of managing them. The number of tabs would quickly grow to where I couldn’t find anything, and didn’t end up saving me any time. The key realization I had was that, rather than having one tab per file, I should instead have one tab for each type of task, such as editing, building, debugging, and so forth.

I liked certain aspects of Xcode 3’s user interface better, and there are some surprising omissions, but overall I don’t have a problem with the changes in Xcode 4. In many ways, it’s an improvement. Rather, the problem with Xcode 4 is that it’s been shipping as a non-beta version for over a year now, and yet it still has the reliability of beta software. Aside from later versions of Xcode 3, Xcode was pretty much always more crashy and error-prone than Apple’s non-developer apps. So was Project Builder. (The older ProjectBuilder, sans space, seemed solid to me, and it had some nice features that still haven’t made it into Xcode.) And on the classic Mac OS, Metrowerks CodeWarrior suffered from similar problems at times. (As I recall, THINK C was stable, but I didn’t do much Mac development in those days.)

Developers are people, too. If the quality isn’t good enough for iTunes or Safari, it shouldn’t be acceptable for the tools used to developer those applications. Or, for that matter, the third-party applications that we rely on.

sort -h

Aristotle Pagaltzis:

I recently discovered the -h switch of GNU sort, added in the coreutils 7.5 release from Aug 20, 2009. With this switch, sort will do a numeric sort of human-readable size numbers, i.e. it will accept “42M” and “1.3G” as numbers and put them in the right order.

Alas, Mac OS X ships with the 5.93 version of sort from 2005.

Twitter’s URL Changes

Dave Winer:

Now they display my stories with the full URLs, even though they still route through my URL shortener, so I get the click counts. But I can see them changing that again, and replacing my URL-shortener with theirs. They now use theirs and mine. So there are three URLs in the mix: 1. The original URL. 2. My shortened URL. 3. Their shortened URL. What a contortion of TBL’s invention. And I’m sure there are more twists and turns coming.

Great NBA Playoffs RSS Feed

Andrew Hanelly (on Dave Winer’s site):

I think you just sparked the idea for a hell of a service that could be applied to any topic, especially event-based ones where you don’t want stale content from search engines, and too-thin, real-time content from Twitter. A curated feed that grabs essentials from all sources—sort of like a concierge for a timely topic.

UTF-8 Everywhere

Pavel Radzivilovsky, Yakov Galka, and Slava Novgorodov (via Hacker News):

UTF-16 is the worst of both worlds—variable length and too wide. It exists for historical reasons, adds a lot of confusion and will hopefully die out.

Portability, cross-platform interoperability and simplicity are more important than interoperability with existing platform APIs. So, the best approach is to use UTF-8 narrow strings everywhere and convert them back and forth on Windows before calling APIs that accept strings.

If you’re a Cocoa programmer, be sure you’re familiar with -[NSString rangeOfComposedCharacterSequenceAtIndex:].