ADVENT #9 — mmc

A graphic with the names of the media featured in this series

In an earlier installment, I mentioned that there was probably lots of Alice performance lying on the floor. I reached down there and found an improvement of around 10%, though not without other costs.

In the Scheme language, (begin … ) is the syntax form used wherever multiple expressions are desired in a place that only one is expected. It’s similar to block statements in other languages, though begin can be implemented in Scheme as a macro. (begin (display “hello “) (display “world”)) can be expressed as the single expression ((lambda (v) (display “world”)) (display “hello “)). This is handy, because you can quickly bootstrap a functional Scheme compiler that never allows more than a single expression and implement the rest with macros.

Regular scheme probably guarantees that the expressions listed in a (begin …) expression even happen in lexical order. Alice doesn’t. You have to use (sync …) for that. The ‘(do <n> <expr>)‘ macro I profiled earlier is very unexciting and does <n> copies of the expression in order. What in-order means exactly for copies of an expression that aren’t parameterized by their iteration number is probably subtle and terrifying. Relax that constraint and let the system perform them without the expense of needless synchronization and the performance improves by about 10 percent. This is true even in the default Alice implementation that runs only a single thread at a time.

Perhaps keeping a well-ordered mind has a synchronization cost too.

Today’s removable media is the multi-media card (MMC). Speaking of disordering, this is often described as an SD-card-sized removeable flash card, though the more popular SD card format emerged two years later. I love the idea that maybe media had held only single … media up to that point. I guess maybe people who use typed languages could believe that there are also typed removeable storage devices suitable only for audio or watercolor or census records. Problem solved! Thanks, MultimediaCard association!

It turns out that MMC introduced more problems than it solved, because it was soon eclipsed by the SD card. SD, or Secure Digital, is more of a restricted media card. You know how there’s a section of reserved books behind the librarian’s desk? The SD is not those books. It’s a librarian who has strong opinions about whether you can see the books. SD, see, was the, uhh, anyway it was going to solve the, uhh, the problem of people just reading and writing willy-nilly. Maybe the world should be more Nilly than Willy anyway was the idea. I always believed that the introduction of SD in 1999 was an overdue industry response to the 1993 release of “Free Willy”, which advocated for exactly this type of wanton sharing very legal and totally own-able things like strings of arbitrary values and Orcas.

Another movie from 1993 that probably better captured the spirit of the computing multimedia landscape was “Jurassic Park”. That was one of the first real DRM manifestos — coyly substituting carnivorous dinosaurs for people and the loveable Richard Attenborough for a sinister roll up of a Central American despot and intellectual property owner. As I recall, several people get eaten when IP villian Dennis Nedry institutes security controls on systems. Heroes trek outside to the circuit breaker (representing a JTAG port) and bring the system back under their control. To make sure the slower members of the moviegoing audience understood this point completely, the villianous Nedry himself is then eaten by adorable dinosaurs that were duplicated entirely without authorization.

Jurassic Park: A DRM story

Subscribe to Paper Tiger

Sign up now to get access to the library of members-only issues.
Jamie Larson
Subscribe