What Twitter Could Learn from the Telephone System

I used to read a magazine called 2600, which was billed as a “Hacker’s Quarterly”. The title refers to the audio frequency, in hertz, used as a control tone in early analog telephone systems. Enterprising hackers discovered that a free promotional whistle in boxes of Cap’n Crunch cereal could be used to generate this tone. A whole class of phone hacking — or “phreaking” — was born. (Trivia: Apple co-founders Steve Jobs and Steve Wozniak were phreakers; Woz’s "blue box" or DTMF frequency generator, is preserved at the Computer History Museum in Mountain View, CA.)

This is an example of a system using “in-band signalling”. Both the control and data signals (audio) on early phone systems were transmitted on the same channel, thereby making the system open to compromise. Today’s modern phone networks have a completely isolated signalling system known as SS7.

Twitter is also a system with in-band signalling. I’ve always been bothered by the fact that Twitter commands — DM, FOLLOW, LEAVE, etc. — are transmitted by the user as part of the data signal (your tweet). This leads to all kinds of mistakes. For example, users have publicly tweeted when they think they have DM‘d, because they forgot to prefix their DM with “DM “. Other users accidentally expose their intent to FOLLOW or LEAVE users, due to misspelling commands (e.g. “FOLOW”).

The “@” reply prefix is also problematic. Tweets beginning with “@[username]” are only seen by the receiver’s followers, and not the sender’s. If the sender wants a wider distribution, hacks like “.@[username]” are used.

In-band signalling on Twitter clearly originated from the fact that it was intended to be used via SMS. Traditional mobile devices have no way to send signalling data out-of-band. What you see in 140 characters is what you get. As Twitter migrates to the desktop (or at least to rich mobile devices like the iPhone), we begin to see Twitter addressing this long-standing flaw. For example, the retweet identifier (RT) is no longer considered as part of the actual tweet, as long as one is using the Twitter API. Other metadata like geolocation and user agent are already transmitted as signalling data through the API.

Eventually, I believe that even the remaining in-band commands will transition out of the data stream. It’s only a matter of time before a celebrity’s mistweet makes the news and forces Twitter to clearly separate control from data. (Could you imagine something like President Obama accidentally tweeting “DM tonyhayward You are a first-class douchebag”?) Fortunately, they already have an API on which to build the control system. Shall we call it Twittering System Seven?

A new look, a new purpose

Regular visitors to this site will notice that I’ve substantially changed the look and feel here. As my wife says, anything with a dark burgundy background looks dated and I definitely felt that way about the old theme I was using.

The changes are more than just cosmetic. I’m going charting a different course: one that veers away from purely IT topics. There will, of course, still be some in-depth articles on technology. But I’m shifting the focus to using the other side of my brain — the creative side. Continue reading

why the CBC doesn’t use “open” codecs

Every so often I hear criticism from CBC’s audience that we choose "proprietary codecs" for the distribution of our audio and video material. The arguments usually go something along the lines of:

  1. CBC is a publicly-funded organization
  2. CBC shouldn’t be beholden to proprietary technologies as it limits accessibility
  3. Therefore CBC should stream audio and video in completely open formats (e.g. Ogg Vorbis, Ogg Theora, etc.)

Nobody wants to be accused of limiting accessibility, and CBC certainly doesn’t start with a position like, "hey, we should be jerks and just lock out anyone who’s using FreeBSD/Linux/OpenSolaris/HP-UX/etc. from watching/listening to our material!" But many moving parts in the encoding and distribution ecosystem prevent us from being completely open, as I’ll explain in this article. Continue reading

Review of Clay Shirky’s book, Here Comes Everybody: The Power of Organizing Without Organizations

Before Clay Shirky was courting controversy by claiming that women don’t get ahead because they aren’t arrogant, self-aggrandizing jerks, he wrote a book called Here Comes Everybody: The Power of Organizing Without Organizations. In this book, he performs an eloquent and well-thought-out analysis of social organization in the 21st century, leading to the unsurprising conclusion that the dramatically lower costs for self-organizing are bound to have a serious, disruptive effect on our society and the power structures that govern it. Continue reading

Making a Hackintosh from a Dell Mini 10v

My Christmas break project was to build a Hackintosh out of a Dell Mini 10v. The Mini 10v is a $299 NetBook that, I swear, is deliberately manufactured with on-board parts suitable for creating a Hackintosh.

There are tons of guides out there with conflicting instructions on how to create a Hackintosh on a Mini 10v. I’ll just share with you what worked for me, in a really brief way, because I know you’re busy and want to get working on your new Hackintosh! Continue reading

How to get Groupwise Messenger for Linux to install on Fedora Core 11

Novell ships Groupwise Messenger for Linux clients only for SUSE Linux Enterprise Desktop. If you apply this diff to the binary nvlmsgr.bin, it will permit it to be installed on Fedora Core 11 too:

— nvlsmgr.bin.head 2009-11-12 15:29:05.000000000 -0500
+++ nvlsmgr.bin.fc11.head 2009-11-12 15:29:13.000000000 -0500
@@ -18,7 +18,7 @@
# Extract the tarball
echo -n “Extracting files, please wait…”
mkdir -p $TMP_DIR
-tail +$SKIP $0 | tar xz -C $TMP_DIR
+tail –lines=+$SKIP $0 | tar xz -C $TMP_DIR

# Run the install
if [ -d ${TMP_DIR}/nmclient ] ; then

My Novell Groupwise complaint list

I apologize for the lack of updates on the journal recently; things have been quite busy at $WORK and I’m also trying to kick off some extracurricular creative projects.

Our corporate e-mail system is Novell Groupwise and I am continually amazed at all its unnecessary features, while lamenting the fact that really useful features are nonexistent. This feature imbalance makes me think that the entire system was designed by senior marketing executives at Novell and targeted solely at C-level executives who have secretaries and don’t actually know how to use computers. Continue reading

where have all the province-level subdomains gone

(with apologies to Pete Seeger for the headline)

It used to be that back in the day, Canadian websites under the .ca umbrella had to be further categorized by a provincial subdomain. For example, the City of Toronto’s website used to be at city.toronto.on.ca, the Toronto Public Library at tpl.toronto.on.ca, and so on.

If I recall correctly, these registration rules (associating the geographic scope of the organization with the domain hierarchy they were allowed to register in) were abandoned in about 1995, at least in Canada. I remember this because my Internet Service Provider at the time was Intranet Technologies of Ottawa, which went from being intranet.on.ca to intranet.ca. (Only later did I reflect on the stupidity of naming an Internet service provider “Intranet”.)

It’s a curious footnote to history, I guess, that most of these province-and-city level sub-domains have fallen by the wayside and most organizations do not use them any more for their canonical website address. However, they reflect a time when the Internet was more rigid and organized according to some sort of taxonomy, and for that, I’m somewhat wistful.