Archive for February 2008

Thursday, February 28, 2008

Finding the OS X Turbo Button

Firefox developer Vladimir Vukićević:

All these WK* methods are undocumented, and they appear in binary blobs shipped along with the WebKit source (see the WebKitLibraries directory). There are now over 100 private “OS-secrets-only-WebKit-knows” in the library, many of which are referred to in a mostly comment-free header file. Reading the WebKit code is pretty interesting; there are all sorts of potentially useful Cocoa internals bits you can pick up, more easily on the Objective C side (e.g. search for “AppKitSecretsIKnow” in the code), but also in other areas as a pile of these WK* methods used in quite a few places.

David Hyatt writes in the comments:

The programmatic disabling of coalesced updates should not be public API. It’s actually a very dangerous thing to do. We aren’t really happy with that code in WebKit, but we had to do it to avoid performance regressions in apps that embedded WebKit. Technically it’s wrong though, since we turn off the coalesced updates for any app that uses WebKit! This includes drawing they do that doesn’t even use WebKit.

Saturday, February 23, 2008

Design Snowball

Rainer Brockerhoff:

Any change in the Air’s design immediately snowballs into a larger, heavier, hotter and (probably) less solid-feeling machine. Jobs obviously thought it was worthwhile to concentrate on those aspects, and it’s rather shortsighted to conclude that “Apple is not paying much attention to … workmanship.”

Friday, February 22, 2008

Your Screen, via Airfoil

Guy English, on how Airfoil shows your Mac’s desktop, superimposed onto a picture of your Mac, as the icon to identify it on Apple TV. I wonder why Apple’s icons for the different Mac models use the old blue desktop instead of the black and purple Leopard one.


Matt Gemmell:

MGTwitterEngine is a Objective-C class which lets you integrate Twitter support into your Cocoa application, by making use of the Twitter API. The entire API is covered, and appropriate data is returned as simple native Cocoa objects (NSArrays, NSDictionarys, NSStrings, NSDates and so on), for very easy integration into your own application. MGTwitterEngine is designed for Leopard, but should be just fine on Tiger too.

Thursday, February 21, 2008

Cold Boot Attacks on Disk Encryption

Ed Felten (via Drew Thaler):

Our results show that an attacker can cut power to the computer, then power it back up and boot a malicious operating system (from, say, a thumb drive) that copies the contents of memory. Having done that, the attacker can search through the captured memory contents, find any crypto keys that might be there, and use them to start decrypting hard disk contents.

Seems like the OS should secure-erase the RAM when the user isn’t around.

Wednesday, February 20, 2008

Anchored Row Selection in NSTableView

John Gruber:

Ideally, it would be better—both in terms of consistency and usability—if Apple had changed this behavior in the Carbon Data Browser, too. The overwhelming majority of Mac users have no idea what Cocoa and Carbon are, so the different behavior in the Finder and iTunes is, to them, seemingly arbitrary. But if there’s one single thing I hoped to see Apple do regarding this issue in Leopard, it’s exactly what they did: change it in NSTableView.

Tuesday, February 19, 2008

Microsoft Office’s Binary File Formats

Joel Spolsky:

The only possible conclusion is this. It’s very helpful of Microsoft to release the file formats for Microsoft and Office, but it’s not really going to make it any easier to import or save to the Office file formats.

Friday, February 15, 2008

Acorn 1.1b1

Gus Mueller has released a new beta of his elegant Acorn image editor that includes my most-wanted new features: a Levels window and a Web export window that lets you preview the image quality and file size.

Thursday, February 14, 2008

Internet Software Patents

Philip Greenspun:

It is tough to imagine how anyone could run a parts and supplies department without having done something similar, once they had made the observation that not all parts fit all models. But how to use this as prior art in a court case? You’d want to find a publication explaining this process in detail, but why would an employer do that since one would expect to be able to hire a temp worker and walk him or her through the process in 10 minutes. You can’t find an academic publication on how to answer a telephone, open a filing cabinet, and put some documents into a fax machine. Cookbooks don’t say “make sure to set the table with plates before serving this food; you don’t want to place the steak directly on the table or tablecloth.” Paradoxically, the more trivial the process the harder it will be to find prior art in a publication.

Saturday, February 9, 2008

Scripting With JavaScript in Cocoa

Will Thimbleby:

JavaScript is a nice simple language, used in almost all web browsers. And it is not limited to your browser, it is also ideal for scripting apps. The benefits of using JavaScript as a scripting language are many. JavaScript has a large base of people who have come into contact with it and are used to using it. It is a simple an nice clean language (when separated from browser issues and DOM inconsistencies). And it is very simple to integrate.

Tuesday, February 5, 2008

SuperDuper Tuesday

SuperDuper 2.5 includes full Leopard compatibility and can store its backups on the same volume as a Time Machine backup.

MacBook Air Review

Jacqui Cheng:

There is no FireWire on the MacBook Air, so Apple had to redo Migration Assistant to get around that limitation. “Great, Apple finally fixed Migration Assistant to work over USB 2.0!”

Bzzt! Thank you for playing. That would be too easy, my Apple-faithful friends. Instead, Air users who want to use Migration Assistant must do so either over WiFi (the default setting) or a USB Ethernet adapter.

…Don’t waste even a single minute of your time on WiFi. If you really must transfer your settings, buy a $29 Ethernet adapter.

Friday, February 1, 2008

ATPM 14.02

The February issue of ATPM is out: