This morning, Boss Ross read my blog entry explaining the whole Verisign / Site Finder fiasco. He came up to me and said, “Hey, I was going to suggest that you write a blog entry on that topic. You know, why don’t you write an entry for The Farm [the developers’ blog run by Tucows] that provides examples of how this could break certain types of software?”
The funny thing is that I already had a little example program that I wrote when I first started noodling with networking in Python. The only problem is that it’s a little too tasteless for an official Tucows site (although changing a little text fixes all that). However, here at The Adventures of Accordion Guy in the 21st Century, we believe in the maxim that avant-garde typographer Harley Parker put in McLuhan’s book, Counterblast: “Good taste is the first resort of the witless.”
So here you have it: the unaltered, if somewhat tasteless, example program…
So what do I mean by “The internet is over”?
In this case, when I say “over”, I don’t mean “not functioning”; the very fact that you’re reading this blog proves otherwise. What I mean is “over” as in “no longer relevant”, the way the word is used in lines like “grunge is over”.
Back when I worked at OpenCola, my friend and co-worker Chris Cummer worked some pretty late hours trying to get an application ready in time for the DefCon 8 hacker conference. During the very end of one of those all-nighters, Chris, in a sleep-derpived fit of giddiness checked and found that the domain name drinkyourownpee.com was still available. I remarked that when that domain name got taken, the internet would, in my humble opinion, be officially “over”.
I wrote a little Python script that I could run every now and again to see if the internet was over. You’ll need to get your paws on Timothy O’Malley’s timeoutsocket.py
script (a very handy thing that once imported makes every TCP connection support a timeout).
import timeoutsocket
import urllib
timeoutsocket.setDefaultSocketTimeout(30)
print "Checking to see if the internet is over..."
try:
theURL = urllib.urlopen("http://drinkyourownpee.com")
print "The internet is over."
except IOError:
# (Of course, I'm assuming that the user's
# net connection is working properly.)
print "It's still good."
except timeoutsocket.Timeout:
print "Ask again later."
Until yesterday, this Python script, when run, would output the line It’s still good.
However, as a result of Verisign’s re-directing all non-existing .com and .net URLs to their Site Finder site, all domain names now resolve, including drinkyourownpee.com. When you run it, it outputs either The internet is over or occasionally Ask again later.
So there you have it: the internet is over. The program said so.
I think we should make Verisign drink their own pee.