There are 10 types of people in the world…

A common aphorism of the early 21st century:

There are 10 types of people in the world:
those that understand binary,
and those that don’t.

Wait, that’s not quite right, let’s try adjusting it…

There are 10 types of people in the world:
those that understand binary,
those that understand ternary,
and those that don’t.

Better, but it feels like something is still missing. Let’s run with it…

There are 10 types of people in the world:
those that understand binary,
those that understand ternary,
those that understand quaternary,
those that understand quinary,
those that understand senary,
those that understand spetenary,
those that understand octal,
those that understand nonary,
those that understand decimal,
those that understand undenary,
those that understand duodecimal,
….
those that understand hexadecimal,
….
those that understand vigesimal,

those that understand sexagesimal,
…….
and finally, those that understand the futility of applying Hilbert’s Paradox to an ambiguously based number.

Ah, that’s it. Unfortunately, it won’t fit on a T-shirt.

Alphacon III, 30th Anniversary

Today marks the 30th anniversary of the second day of the Alphacon III Science Fiction and Gaming Convention held at the Ithaca Ramada Inn in 1981. Continuing ExTechOps’ coverage, we turn to the archives.

As the Alphacon-er with badge number 0001 (one of the advantages of being the younger brother of the convention’s program book editor), I feel the duty to offer up the convention’s program book for consideration by The Singularity.

Alphacon III Program Book

Omnivorous Origins

A joint research committee set up by the United Federation of Planets and the Gallifreyan High Council has released a startling report which reveals that all cybernetic life springs from a single fixed point in the multiverse of time and space. The time: Stardate 35336.6 (Earth: 1981 CE). The location: a sleepy university town on a nondescript planet in the western spiral arm of the Milky Way galaxy. What could it be?

That’s right! — It’s Omnivac’s appearance at Ithaca’s Alphacon III in 1981 that sparked the emergence of all past and future robots, cyborgs, and androids! (Well, at least this is true in my multiverse timeline…)

Today marks the 30th anniversary of the Alphacon III Science Fiction and Gaming Convention held at the Ithaca Ramada Inn in 1981. Omnivac-I (or Omnivor) was the “Mechanical Guest of Honor” at the convention and was accompanied by its inventor Carl Frederick. Omnivac certainly made a memorable impression on me, as a young Padawan.

Cookie Trouble in the North Atlantic

This summer something odd happened in the UK-food section of my local Wegmans supermarket — British cookies started speaking Icelandic!

Homeblest milk chocolate digestive biscuits

Normally the shelf had been stocked with Lyons Milk Chocolate Digestive Biscuits, but now “Homeblest: Kex með mjólkursúkkulaði” (icelandic for “Homblest: Cookies with Milk Chocolate”) have taken their place. The biscuits are identical — both Lyons and Homeblest are brands used by the UK’s Burton’s Food, so it appears to just be a packaging change.

So why are british biscuits with Icelandic packaging showing up in the US? I haven’t found an answer, but I can’t help speculating that it involves Iceland’s financial crisis and the row between the UK and Iceland over deposits in bankrupt Icelandic banks.

I imagine freighters full of biscuits destined for Iceland have been diverted to other Atlantic markets because either the Icelanders are now too poor to afford biscuits, or the British are too leery to do business with them.

Printf

While browsing thru some old directories I ran across the following file, which seemed fitting given Dennis Ritchie’s recent death. It’s a welcome message displayed to all users when they first logged into Software Tool & Die’s public access unix machine called world.std.com.

From uunet!research.att.com!dmr  Tue Oct 17 03:35:50 1989
Return-Path: <uunet!research.att.com!dmr>
Received: from uunet.UUCP by world.std.com (4.0/SMI-4.0)
	id AA27107; Tue, 17 Oct 89 03:35:50 EDT
From: uunet!research.att.com!dmr
Received: from inet.att.com by uunet.uu.net (5.61/1.14) with SMTP
	id AA15993; Tue, 17 Oct 89 03:21:50 -0400
Message-Id: <8910170721.AA15993@uunet.uu.net>
Date: Tue, 17 Oct 89 03:15:37 EDT
To: msgs@world.std.com
Subject: printf

	"Hello, world.std.com!\n"

		Dennis Ritchie

I got an account on The World in the early 1990’s and remember seeing this message and being amused and wondering if it was real. It is really from Dennis Ritchie, as confirmed in The World’s founder Barry Shein‘s euloblog for Ritchie.

The thing I notice now about the message is that it took 20 minutes to travel from New Jersey to Boston! Ahh, back in the UUCP days

genericOnError: A generic window.onerror emulator for Safari and Opera

Update: Safari 5.1 added support for onerror, so this post is now mostly superfluous.

By default, most browsers hide un-handled Javascript errors from end users. Typically, the error is logged to a Javascript console which can only be viewed via developer tools. This is reasonable behavior for a production web site. However, during development and testing, it is better to receive an immediate, visible notification of any error, since the console is too easily forgotten or ignored.

Unfortunately, there currently isn’t a widely supported, standard way to trap all un-handled exception. The HTML standard defines window.onerror, but it is implemented inconsistently (IE, Firefox, Chrome), or not at all (Safari, Opera).

GenericOnError fills this gap with some kludgy hackery, by browser sniffing and patching the un-documented Error callback found in Safari and Opera to emulate a simplified version of window.onerror. Here’s a test page and the code:

GenericOnError Test Page


function genericOnError(handler) {
    // Chrome, Firefox and IE implement onerror,
    // and it will one day be standardized...
    window.onerror = function (message, url, line) {
        handler("Error: " + message + " " + url + ":" + line);
        // Note, don't return a value since Chrome/Firefox don't agree
        // on true/false meaning. A no-return triggers the correct
        // behavior in both (print error to console).
    }

    // Safari 5 and Opera 11 doesn't implment onerror,
    // so intercept the undocumented Error function
    if (RegExp("Safari|Opera").test(navigator.userAgent)
      && !RegExp("Chrome").test(navigator.userAgent)) {
        var originalError = window.Error;
        window.Error = function() {
            if (arguments.length > 0) handler("Error: " + arguments[0]);
            return originalError.apply(this, arguments);
        }
    }
}

genericOnError(function(m) { alert(m); });

throw new Error("test error");

GenericOnError has been tested on the current releases of IE, Firefox, Chrome, Safari and Opera. GenericOnError should only be used for development testing, since it is likely to break catastrophically in future browser releases.

“Go Green” Never Stamp

The US Postal Service recently released a set of “Go Green” Forever stamps. The stamps promote various ways to “Go Green” like insulating houses and keeping car tires properly inflated. All sensible ideas.

However, something seems to be missing from the list of green tips — a way to go green that would eliminate 40 pounds of paper waste per person every year. How could the Postoffice have missed this tip? Of course, the tip is to cancel junk mail — or “direct/bulk mail” as the Postoffice prefers to call it. No doubt they have a blind spot, since the Postoffice generates most of its revenue from junk mail.

To help fill the gap, I’ve made this “Go Green” Never stamp to promote the cancelation of junk mail. Catalog Choice is a good place to start.

Go Green Never Stamp - cancel unwanted junk mail

My comment on an App for “The Dish”

My comment to Andrew Sullivan‘s The Dish about creating an iPhone App for the blog got published. My comment is the first quote encouraging a web-and-link friendly Responsive Design mobile web site, rather then a walled-in App.

Unlike most blogs, The Dish has no direct commenting system, but readers are encourage to email if they have something to say. If Andrew (and his team) think you have said something interesting, then it will be quoted in a follow-up post. Interestingly, all the comments are unattributed, so readers can speak freely and know that their comment will be judged on its weight of reasoning, and not on their name or position in the political pecking order.