Archive for August 3, 2003

Sunday, August 3, 2003

BitTorrent Design

Stephen Figgins discusses the design of BitTorrent and has some good links. Now if only Apple would use it to distribute its seeds…we’d get them faster, and they wouldn’t have to pay for the bandwidth.


MetaFilter has a great thread about optical illusions (via Matt Deatherage).

Types and Model Checking

Mayur Naik and Jens Palsberg:

Type systems and model checking are two approaches to finding bugs in software. Are they equally powerful? On the surface, they are quite different: type checking works on the program itself, often in a modular fashion, while model checking works on a model of the program. Type soundness ensures that all reachable program states satisfy a certain property provided the program is well typed, while model-checking soundness guarantees the same without any assumptions about types. Thus, model checking seems to be more powerful than type checking: Type soundness essentially says that type checking implies model checking, but there are not many cases where the converse holds.…In this paper, we present a type system that is equivalent to model checking.

More Internet

Monkey Food’s More Internet lets you set Internet protocol handlers via drag and drop.


Long-time Eudora user Matt Neuburg has switched to Mailsmith. Contrary to what he says, Mailsmith can display images, just not inline.


IdleWeb is a screen saver that uses Web Kit to do exactly what you’d expect. I’ve set it to, which makes me really wish there were a way to click the links that it displays. It’s a neat idea and a good freebie, though I’ve got to take points off for a rounded text field faux pas.


Dan Hon links to a page listing codenames for Macintosh products.


TidBITS mentions Disclabel, a Discus alternative from the makers of well regarded Page Sender.


Tim O’Reilly joins the crowd praising Michael Lewis’s Moneyball, a book about statistics, baseball, and business.

Tokenizing in Cocoa

I don’t have numbers, but I was somewhat surprised to discover that, for my use, it’s faster to convert a string to a UTF-8 buffer and feed it to PCRE than it is to use NSScanner and NSCharacterSet. If you do end up using NSScanner, be sure to use -scanUpToCharactersFromSet:intoString: rather than -scanCharactersFromSet:intoString:. The latter spends a lot of time inverting the character set.

WebDAV @ DreamHost

I’ve been very happy with DreamHost’s services, support, and prices. The only bad surprise so far is that the usernames for your mailboxes have to be server-unique strings like m1290123 rather than the names of the addresses they correspond to. Now DreamHost has added support for WebDAV, meaning that you can mount your server in the Finder.

If you’ll be opening an account with DreamHost, I’d appreciate your mentioning my referral id: mjtsai. By the way, I also recommend Pair, particularly for sites with lots of traffic.

ATPM 9.08

The August issue of ATPM is out.

Keychain Framework

Keychain Framework is an Objective C Foundation-based framework for accessing Keychain and Security services under MacOS X. It provides convenience wrappers around the CDSA library included with MacOS X, facilities for manipulating keychains, and more.”