Archive for March 2010

Wednesday, March 31, 2010

AppleScriptKit and -objectSpecifier

Daniel Jalkut:

If a Cocoa application links to some framework, e.g. Automator, that in turn brings in AppleScriptKit.framework, it can have nasty effects on the scriptability of an application.

In particular, AppleScriptKit defines its own category methods for “objectSpecifier” on a number of standard classes such as NSWindow.

Tuesday, March 30, 2010

Pages Table Tips

Pierre Igot:

The bottom line here is that inline tables seem to be somewhat weird “objects” in Pages ’09 which obey their own rules and rely on an underlying text flow architecture that is only accessible through the cut-and-paste hack.

He also has a post about adding keyboard shortcuts.

Thursday, March 25, 2010

AT&T Offers a Cell Tower for Your Home

Glenn Fleishman:

The unit is a femtocell, a short-range cellular base station designed to augment coverage in a home or small office, with traffic—both voice packets and pure data—handled over subscriber-provided broadband.

Sounds great, although it requires a 3G phone.

Monday, March 22, 2010

Robin Milner, RIP

Robin Milner, one of the greats of computer science, died on March 20 (via Lambda).

RIP Palm: It’s Over, and Here’s Why

Jon Stokes:

The power of the long tail for app stores is that everyone can find and share a handful of quirky little apps that really excite them for whatever reason. And when they share those apps, they're essentially shilling for the platform, not the specific apps.

Saturday, March 20, 2010

Debugging Asynchronous performSelector: Calls

Dave Dribin:

In our swizzled implementations, we’d like to capture the backtrace at time they are called. Later, we can dump out the backtrace for debugging, if we want to. To do this, we’ll create an intermediate object to hold the backtrace: DDPerformDebugger.

Thursday, March 18, 2010

Kindle for Mac 1.0

Amazon has released the Mac version of the Kindle software. It’s built using Qt and has a weird looking interface. On the other hand, Apple’s iBooks e-reader looks like it will debut as iPad-only.

Update: John Gruber has screenshots.

Wednesday, March 17, 2010

Variants of CompareAndSwap

Drew Thaler:

But for what I was doing, I needed to go the other way around. Mac OS X provides BoolCAS functions in <libkern/OSAtomic.h>, and I needed to convert those to ValueCAS functions.

Monday, March 15, 2010

An Ode to DiskWarrior, SuperDuper, and Dropbox

John Gruber:

Three weeks ago the hard drive in my MacBook Pro went bad. So far as I can tell, I didn’t lose a single byte of data. Here’s how.

DiskWarrior and SuperDuper are indeed fantastic. Dropbox is in many ways very well done. Why can’t iDisk work like that? Still, I wish there were an option to operate Dropbox in non-haxie mode, where it didn’t load its code into the Finder. And I think that the company has been irresponsible with their users’ resource forks and metadata (and also with disclosing which parts of the files they sync). However, there is now a beta version that addresses these issues, so hopefully they’ll soon be a thing of the past.

Gruber potentially had a problem because his SuperDuper clone was over 10 days old, since he had been out of town. His solution: back up important files constantly to Dropbox. My solution: travel with a portable clone drive and back up important files to CrashPlan.

Friday, March 12, 2010


RE2, from Google, “is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.” A paper by Russ Cox explains how it works.

Wednesday, March 10, 2010

Web Standards for E-books

Joe Clark (via Cathy Shive):

The electronic book is the latest example of how HTML continues to win out over competing, often nonstandardized, formats. E-books aren’t websites, but E-books are distributed electronically. Now the dominant E-book format is XHTML. Web standards take on a new flavor when rendering literature on the screen, and classic assumptions about typography (or “formatting”) have to be adjusted.

Tuesday, March 9, 2010

RealNetworks’s DVD Copying Settlement

Glenn Fleishman (via John Gruber):

The post-RealDVD world means that unless there’s a major change to the law surrounding copy protection, there will never be a legal way to perform legal acts of copying or shifting protected movies, music, and games.

Software Patents

Lukas Mathis makes some good points:

This trade-off does not apply to many software patents. I only need to spend five minutes on Amazon’s site to figure out how one-click shopping works. There is nothing useful I can learn from reading the patent. Likewise, I only need to turn on an iPhone once to figure out how to unlock it. This means that Amazon or Apple don’t give up anything when they patent these ideas.

Jonathan Schwartz (via John Gruber):

My response was simple. “Steve, I was just watching your last presentation, and Keynote looks identical to Concurrence – do you own that IP?” Concurrence was a presentation product built by Lighthouse Design, a company I’d help to found and which Sun acquired in 1996. Lighthouse built applications for NeXTSTEP, the Unix based operating system whose core would become the foundation for all Mac products after Apple acquired NeXT in 1996.

iPhone Developer Program License Agreement

The Elecronic Frontier Foundation has obtained and published the iPhone Developer Program License Agreement. Jonathan Rentzsch:

Diabolical. Apple’s developer tools license mandates use of their distribution channel.

Appropriate iTunes Window Sizes

Jakob Nielsen (via Adam Engst):

As an aside, why is the iTunes window so large in my screenshot, when it contains only a few icons? Because the same application manages both the phone’s apps and its music collection. When you work with several hundred sound tracks, you need a big space. It’s not always good to try to support highly distinct tasks within a single GUI.

Nielsen’s main point is about button proximity and is well taken. However, I found his example about updating iPhone applications confusing because my understanding is that the “Check for Updates” button always applies to all applications, and that nothing much happens when you select individual applications in iTunes.

Wednesday, March 3, 2010

What Your iPhone Apps Know About You

Andy Greenberg (via Nicolas Seriot):

There’s no doubt, Shields says, that phones are still much safer from spying software than PCs, which allow software to be installed from any source, often invisibly, as in the case of “drive-by downloads” by infected Web pages or booby-trapped e-mail attachments. But the wide privileges given to phone apps still create exploitable vulnerabilities in devices, says Shields.

I’m more worried about software from the App Store. I don’t believe Apple’s screening process can offer significant protection, and the phone is so locked down that users can’t easily audit what the apps are doing.

Apple Suing HTC

Nilay Patel (via John Gruber) has a breakdown of the patents in question. Wil Shipley to Steve Jobs:

But when you sue someone for doing something you do yourself, you become one of the bad guys. Can you name a company you admire that spends its time enforcing patents, instead of innovating?

Update: Great post from John Gruber.

Visio 2010 and Transmit

Neven Mrgan:

The new version of Microsoft Visio—which, in case you’re not cursed with a sucky office job, is a very popular diagramming application—includes a rip-off of Panic’s Transmit truck.

A high-profile addition to the Rip-Off Express.

Tuesday, March 2, 2010

ATPM 16.03

The March issue of ATPM is out:

What I Miss From Java

Dave Dribin:

Before settling in on Objective-C, I was a Java guy for about six years or so. Overall, I much, much prefer coding in Objective-C to Java, and have no intentions of going back to Java. But that doesn’t mean there’s some things I miss. Here’s a quick list…

A good list, although I’ve come to like NSError.

Monday, March 1, 2010

Windows Phone 7

John Gruber:

A new non-Windows name would have let Microsoft use a 1.0 version number. I think the “7” in “Windows Phone 7 Series” is a detriment to their message that this is a clean break from Windows Mobile 6 and earlier. The 7 implies “new version of the old thing”, which isn’t what they want at all because the old thing is unloved and unpopular. A new 1.0 thing would have also dampened uncomfortable questions about why phones available today won’t be upgradeable to the new system when it ships.