optar: paper-based archiving

I’ve spent most of the day messing around with Twibright Optar, a way of creating printed archives of binary data that can be scanned back in and restored.  It looks like it was written as a proof-of-concept, as the only way to change options is to modify the code and recompile. Eppur si muove.

To compile the code on OS X, I found I had to change this line in the Makefile from:

LDFLAGS=-lm

to

LDFLAGS=-lm  `libpng-config --L_opts`

After trying to print some samples at the default resolution, I had no luck, so for reliability I halved the data density settings in the file optar.h:

#define XCROSSES 33 /* Number of crosses horizontally */
#define YCROSSES 43 /* Number of crosses vertically */

It’s quite important that your image prints and scans with a whole number of printer dots to image pixels. This used to be quite easy to do, before the advent of PDF’s “Scale to fit” misfeature, and also printer drivers that do a tonne of work in the background to “improve” the image. Add the mismatch between laser printer resolutions (300, 600, 1200 dpi …) and inkjets (360, 720, 1440 dpi …), and you’ve got lots of ways that this can go wrong.

Thankfully, there’s one common resolution that works across both types of printers. If you output the image at 120 dpi, that’s 5 laser printer dots at 600 dpi, or six inkjet dots at 720 dpi. And there was peace in the kingdom.

Here’s a demo, based on this:

So I took this track (which I used to have as a 7″, got at a jumble sale in the mid-70s) and converted it to a really low quality MPEG-2.5: MichelinJingle8kbit — that’s 175KB for just shy of three minutes of music (which, at this bitrate, sounds like it’s played through a layer of socks at the bottom of the Marianas Trench, but still).

Passing it through optar (which I wish wouldn’t produce PGM files; its output is mono) and bundling the pages into a PDF, I get this: optar_mj.pdf (760KB). Scanning that printout at 600dpi and running the pages through unoptar, I got this: optar1_mj.mp3. It’s the same as the input file, except padded with zeros at the end.

Sometimes, the scanning and conversion doesn’t do so well:

  • mjoptar300dpi.mp3 — this is what happens when you scan at too low a resolution.
  • mjx.mp3 — I have no idea what went wrong here, but: glitchtastic!

Robyn Hitchcock Live at The Mod Club on 2007-11-14

Internet Archive: Details: Robyn Hitchcock Live at The Mod Club on 2007-11-14

Set 1: 81′ 28″

Balloon Man
Autumn Is Your Last Chance
Uncorrected Personality Traits
Olé! Tarantula
Only The Stones Remain
I’m Only You
I Something You
Glass Hotel
Cynthia Mask
No, I Don’t Remember Guildford
Alright, Yeah
Full Moon In My Soul
Swirling
Creeped Out
Queen Of Eyes
Are You Experienced?
You & Oblivion

Set 2: 21′ 24″

Visions of Johanna
(A Man’s Gotta Know His Limitations) Briggs
Adventure Rocket Ship

Casper and The Cookies – Lee’s Palace, Toronto – 20 February 2007

Casper and The Cookies – Lee’s Palace, Toronto – 20 February 2007
It was Jason‘s birthday …

  1. Sid from Central Park
  2. Kiss a Friend
  3. Barking in the Garden of Ill Repute
  4. Neo Dada Hey Day
  5. Sea Fingers
  6. Kroetenwanderung
  7. The Optimist’s Credo
  8. My Heart is in my Head
  9. Learn How to Disappear
  10. Hey Mr. Superstar
  11. Sweet Pea

If you must stream these, here are the playlists: m3u | xspf.

Update: this show is now available on the Internet Archive: Details: Casper and the Cookies Live at Lee’s Palace on 2007-02-20.

Dexit® INSTEAD? No, Dexit is dead

dexit tag

I see that the number of Dexit terminals has reduced to almost nothing, and now they’re offering refunds of outstanding balance. Looks like it’s dead.

I’ve had a love/hate relationship with Dexit. It was almost a great idea, but offered no significant advantage over cash from the bank machine. I wonder how long it will be before you can buy the old terminals in Active Surplus?

very, very old school

Mac OS 7.5.5 Notepad

As I appear to have broken Catherine‘s ability to play Crystal Quest by upgrading her eMac to 10.3.9, I need to find an alternative way to run it. I remember running Basilisk II years ago on a very old Linux box — indeed, my ancient instructions are still here: archive.org :: Installing Mac OS 7.5.3 under Basilisk II on Linux, and quite amazingly, are still useful.

I found the following helpful to get it going under OS X:

mame is lame

I suddenly got a retrogaming jones on, and had a strong need to play Robotron. So I downloaded MAME and some ROMs, but no dice — every archive was missing files. Seems that to get the few games I need, I have to download a 16GB torrent of ever game that MAME supports.

My arcade game sensors withered about 18 years ago, so nothing past about 1988 registers with me. You could probably fit every pre-’88 ROM onto a couple of floppies. And it’s not like I’m not allowed to play the ancient Williams games; I have the Arcade Classics CD somewhere which has the games in licensed (but MAME-incompatible) form.

Crappy Lanes: spread the love

Further to Matt Seaton’s article in the Guardian about atrocious cycle facilities, and highlighting Warrington Cycle Campaign’s Facility of the Month, can I just say that Pete Owens of WCC got the idea for the web page from my Crappy Lanes (archive.org copy) site?

I (heart) languagehat

languagehat, on begging the question:

This is one of those issues that is catnip to the adolescent language-lover but which a sensible person grows out of. I too used to enjoy tormenting people with the “truth” about the phrase, but I eventually realized that, whatever its origins … I had never seen or heard the phrase used “correctly” except by people making a point of doing so (cf. “hoi polloi”); in current English usage, “beg the question” means ‘raise the question,’ and that’s that. I got over it …
[T]his … is a sign that the language has sailed on, leaving wistful archaists treading water and clutching at the stern.

blog entry for dad

My folks have been visiting for the last couple of weeks (we’re just about to leave for the airport), and Dad asked for some links we discussed. The following will probably make little or no sense to other readers: