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.
Wednesday, March 31, 2010
Tuesday, March 30, 2010
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
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
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
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:
Thursday, March 18, 2010
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.
Wednesday, March 17, 2010
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
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
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
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.
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.
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.
Diabolical. Apple’s developer tools license mandates use of their distribution channel.
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
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.
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.
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
The March issue of ATPM is out:
- Bloggable: Burn Down the Mission
- MacMuser: iPad mini
- MacMuser: He, the Usurper, Must Choose
- How To: Making Your Mac as Smart as Its Owner
- Desktop Pictures: New England
- Out at Five
- Software Review: BusyCal 1.2
- Software Review: Flickit Pro 2.0
- Accessory Review: P-Flip
- Accessory Review: U-Pouch
- FAQ: Frequently Asked Questions
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
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.