Archive for December 2010

Friday, December 31, 2010

Synalyze It! 1.0

Interesting new hex editor from Andreas Pehnack (via Joel Levin):

Synalyze It! allows you to create a grammar for binary files interactively. Unlike in regular hex editors or viewers the files are interpreted automatically for you!

Here’s an example of how it works for PNG files.

Monday, December 20, 2010


Jesper on Word Lens, the new on-the-fly video translator:

Word Lens isn’t just cool because it does so much with the technology it is able to apply; it’s cool because it seems like there’s no technology, because it seems like the device is finally not only adapting itself to you, but adapting your surroundings to you.

Thank You, Caroline Rose

Andy Lee:

You can get a PDF of the 1985 edition of Inside Macintosh here. Skimming through, I’m struck not only by the clarity and thoroughness of the writing, but its consistent tone. It’s technical but has a human touch that doesn’t feel forced or overly casual.

Folklore has more.

Azul’s Pauseless Garbage Collector

Azul CTO Gil Tene (via Lambda):

Pretty much every collector out there today will take the approach of trying to find all the efficient things to do without moving objects around, and delaying the moving of objects around—or at least the old objects around—as much as possible. If you eventually end up having to move the objects around because you've fragmented the heap and you have to compact memory, then you pause to do that.…Our collector is different. The only way it ever collects is to compact the heap. It's the only thing we ever do. As a result, we basically never have a rare event.

The key is that it can fix up pointers lazily by intercepting reads, which requires kernel support. Azul also developed the nifty lock-free hash table that I mentioned a few years ago.

Comparing Digital Video Downloads of Interlaced TV Shows

Michael Steil:

It is scary how little effort seems to be going into video conversion/encoding at major players like iTunes, Netflix and Hulu. Amazon did a kind of okay job converting the source material properly, and only Microsoft did an excellent job. The NTSC DVDs still give you the maximum quality – but of course, if you watch them on an LCD, the burden of deinterlacing is on your side. Handbrake with “detelecine” (for the bulk of it) and “decomb” (for exceptions) turned on, and with a target framerate of “same as source” will generate a rather good MP4 video similar to Amazon’s, but without the judder.

Aside from Amazon’s 1080p via TiVo, I think I’d get better quality watching a DVD than most of the (non-BitTorrent) downloadable and streaming video that’s available, even when it’s so-called HD.

And So It Begins

Apple (via e-mail):

Because we believe the Mac App Store will be the best destination for users to discover, purchase, and download your apps, we will no longer offer apps on the Mac OS X Downloads site. Instead, beginning January 6, we will be directing users to explore the range of apps available on the Mac App Store.

Not a surprise, but it’s a shame. There are lots of great applications that will not be allowed in the Mac App Store, and it hurts both developers and users for Apple to make them harder to find. Apple did keep some system modification utilities off the Mac OS X Downloads page, but that’s a smaller number of titles by an order of magnitude or two. (It remains to be seen whether Apple will continue to list non-application software on the Downloads page.) Hopefully, sites such as MacUpdate will maintain a unified directory of both App Store and non–App Store applications.

Friday, December 17, 2010

Dropbox 1.0

I’ve been critical of Dropbox in the past, but I’m pleased to report that version 1.0 adds support for resource forks, Finder labels, and extended attributes. Also, the forums are now open to the public (no login required) and indexable by Google. Bravo.

Thursday, December 16, 2010

The Best Way to Avoid Failure Is to Fail Constantly

Netflix’s John Ciancutti:

One of the first systems our engineers built in AWS is called the Chaos Monkey. The Chaos Monkey’s job is to randomly kill instances and services within our architecture. If we aren’t constantly testing our ability to succeed despite failure, then it isn’t likely to work when it matters most – in the event of an unexpected outage.

Yahoo Shuts Down Delicious

Delicious was a good service, and I’m sorry to see all the data and metadata that people have entered go away. Yahoo CEO Carol Bartz is rather cavalier about it:

First, we’ve found a lot of duplication in work between Products and the regions. Second, it’s no secret that we’re cutting investment in underperforming and non-core products so we can focus on our strengths (like email, the homepage, search, mobile, advertising, content and more).

Now that Yahoo has proven to be an unreliable steward, there’s some concern about the future of Flickr. Thomas Hawk:

You know what I don’t see in there? Flickr. Photos. I’m assuming that you consider Flickr one of those “underperforming and non-core products.”

Do you even realize what you have with Flickr? It’s the largest well organized library of images in the world. Not only that, it has a very strong social networking component. In fact, Flickr may represent (if managed correctly) your single biggest opportunity to launch a much larger and more lucrative social network (and stock photography agency as well).

There are lots of good comments on Hawk’s post. I think that Flickr is valuable enough that it’s not in any danger. There are ways for it to make money, and Yahoo could spin Flickr off or sell it if it doesn’t want to run it. Still, I think Yahoo is missing an opportunity here.

Update (2010-12-17): Yahoo (via David Heinemeier Hansson):

No, we are not shutting down Delicious. While we have determined that there is not a strategic fit at Yahoo!, we believe there is a ideal home for Delicious outside of the company where it can be resourced to the level where it can be competitive.

John Gruber:

Note that Yahoo does not dispute that the entire Delicious team has been fired, though. What kind of sense does this make? We’d like to sell the service, find it a new home, and to help, we’ve fired the entire product team, effective immediately.

Update (2010-12-31): Jason Scott:

Yahoo! actually went on the offensive and claimed they weren’t going to kill Delicious but sell it, which makes me laugh, because no such thing could be true—the most glaring reason being that Yahoo’s authentication system infests every one of their properties, and a lot of people on Delicious are using Yahoo IDs.


Yahoo! Video was the second-most used video hosting site behind YouTube. Number 2! And all of it, all video, is going to be deleted. Thousands and thousands of videos, many of which are likely hosted nowhere else, completely gone. This is awful. I am almost positive it’ll be beyond the abilities of Archive Team to get even a tiny fraction of all that video.

Monday, December 13, 2010

Derivative Parsing

Matthew Might and David Darais (via Lambda):

This work introduces parsers based on the derivative of context-free languages and upon the derivative of parser combinators. Parsers based on derivatives meet all of the aforementioned requirements: they accept arbitrary grammars, they produce parse forests efficiently (and lazily), and they are easy to implement (less than 250 lines of Scala code for the complete library). Derivative-based parsers also avoid the precompilation overhead of traditional parser generators; this cost is amortized (and memoised) across the parse itself. In addition, derivative-based parsers can be modified mid-parse, which makes it conceivable that a language could to modify its own syntax at compile- or run-time.

An interesting approach. The paper is actually called “Yacc Is Dead,” which I think is true in the sense that for a variety of pragmatic reasons most programmers today do not write their parsers using Yacc-style generators.

Update: Might has as follow-up blog post.

Please Turn Off Your Pseudocode Jokes

Jesper, on his new programming blog:

Programming jokes based on emulating code are not ever funny. They chafe at the mind of their target audience the way the question whether a conjoined twin has “bonded” with its fellow twin must be. Not only are they focused on the form instead of the meaning, they are tired and predictable and don’t bring along insights nor laughs.

Saving Documents by Proxy

Lukas Mathis:

In many cases, simply dragging an icon to save a document is much more convenient than using the «save document» file browser and searching for a directory whose window you’ve probably already opened in the Finder.

And, actually, when I do use the standard save panel I often choose the location by dragging my destination folder into the panel, rather than using the panel’s built-in file browser.

Google Maps & Label Readability

Justin O’Beirne (via Jasper Hauser):

Google uses a variety of techniques and visual tricks to help make its city labels much more readable than those of its competitors. From the use of different shadings to the decluttering of areas outside of major cities, it sure seems like Google has put a lot of thought into how it displays the labels appearing on its maps.

I also enjoyed his posts on Google Maps’s corporate logo icons and the clutter in Apple’s online store.

LittleIpsum Rejected From Mac App Store

Dustin Senos:

LittleIpsum v1.1.1 has been officially denied at the Mac App store due to not meeting the following guideline:

2.8 Apps that are not very useful or do not provide any lasting entertainment value may be rejected

It actually seems like a useful and polished little program for generating placeholder text. Fortunately, Mac software is still available outside the App Store.

Some Notes on Threading

Brent Simmons:

KVO is a trickier thing. Here’s how I handle that: anything happening in a background thread is not observable (by convention). Whatever is going on is private. When it’s time to set public stuff, stuff that could be observed, those things are set on the main thread.

Some good techniques for keeping things simple.

One Man’s Realistic Backup Strategy

Michael B. Johnson (via Daniel Jalkut):

[For] less than $300, you can have a pretty fool proof backup scheme for all but the craziest home setup. I have, I like to think, one of the crazier home Mac setups, and so I thought I’d share my current specifics.

I also recommend the Western Digital Caviar Green drives for backups. With 2 TB bare drives now at $90 and a variety of good “toaster” docks to choose from, there’s little excuse not to rotate through several hard drive clones.

Tuesday, December 7, 2010

CrashPlan 3

CrashPlan 3 adds support for Mac metadata (HFS+ extended attributes and modification dates), backup sets (different source folders going to different backup destinations, with different scheduling), and schedules that vary by the day of the week. It also sounds like it’s better about handling new computers so that you no longer have to manually change the GUID. There are also some licensing and pricing changes. I don’t have the old terms handy, but it looks like the new terms do away with the extra charge for business use but remove support for multiple computers backed up to CrashPlan Central unless you have the family plan. There’s also a new 10 GB plan for $25 (1 year).

I’m quite happy with CrashPlan. Aside from the formerly lacking support for xattrs, my main complaint is its resource use. It consistently uses more than 500 MB of private memory on my Mac, and with a regular notebook hard drive its scans would significantly slow down normal operations. Now that my Mac has 8 GB of RAM and an SSD, the performance impact is negligible.

It’s already saved me twice in the last month, once when I was traveling away from my Time Machine drive and a once while the drive was unmounted for a whole afternoon as Disk Utility repaired it. Of course, the other advantage is that CrashPlan Central will keep versions going much farther back than will fit on the Time Machine drive.

Friday, December 3, 2010

Tickets 2.1

Tickets has made a lot of progress since its initial release as a tool for creating new FogBugz cases from your Mac. Version 2.0 saved local copies of all the cases for fast viewing and searching, but it was buggy and missing too many features for me to consider using it. Version 2.1 adds two important ones: snippets (automatically imported from FogBugz) and clickable case numbers. Although I’m happy with the FogBugz Web interface for bug tracking and project management, I’m hoping to eventually switch to Tickets for replying to customer support e-mails. Doing this from Safari feels slow, and it’s awkward on smaller screens. There are still some issues blocking me from using Tickets in this way, but developer Jeff Schilling is very receptive to suggestions and seems to be making good progress.

FlickrExport 4.0 for Aperture

FlickrExport 4 has a less-crowded, tab-based interface, and it lets you update the metadata of photos that are already on Flickr. Hopefully, this ability to fix things later will encourage me to post more photos; previously, there was the incentive to wait until the headline and tags were perfect. I don’t trust Aperture’s built-in support for Flickr syncing, nifty as it is in theory, and am content with the lower-tech-but-more-control approach that FlickrExport takes.

ATPM 16.12

The December issue of ATPM is out: