Category Archives: Gopher

node-gopher, the White Mesa gopher server for node.js

node-gopher is a little Gopher protocol server written in node.js by Robert Cunnings, NW8L. It supports an RFC 1436 Gopher server (no Gopher+) and has CGI-like support for running scripts that return Gopher pages.

Thanks to Cameron Kaiser for running the Floodgap gopher gateway that provides web access to venerable (and new) Gopherspace resources.


Typepad on iPad, edited elsewhere

No support for rich text editing in safari, but otherwise performant. Kind of nice.

I’ll need to really learn markdown for a couple of reasons, not the least of which is that it descends from setext.

Ann Arbor

A2B3 lunch is Thursday as always.
Ann Arbor Parks did trick or treat today, Sunday, noon to 4pm on the Huron River.

Arborwiki makes a good companion as you go for errands around town.
Ann Arbor City Council elections and a millage are coming up. The Ann Arbor Chronicle has characteristically thorough coverage of the League of Women Voters forums.
Some project, not yet identified, has North Main torn up at Catherine. A second project has North Division down to a single lane. Expect delays.

No one was hurt in last week's fire on Harpst.
I'm trying a neighborhood LinkedIn group to see what kind of density I need to get enough people to make a group worthwhile; it might make sense to grab people closest first and then out by distance.

Metro Detroit

Tigers lost in the ALCS, and I’m looking forward to spring training.

Power outages from the Saturday windstorms were worst in Warren.


Occupy Chicago has had a lot of protest, via the Chicago Tribune which was on the scene.

Occupy Wall Street took over Times Square.


I am tracking steps with a pedometer again, thanks to Paul Resnick and a research group at UMSI.
Statler and Waldorf have taken over the Muppets twitter account. New movie due for Thanksgiving. Cue the Muppets.


The wind on Saturday made farmers market blustery. Squash of all sizes and varieties were there, and there’s nothing like a big old Hubbard squash to keep the corner of a table down. A farmer was doing the frost dance but said they had none at the last full moon. Traditionally, it’s said that the best way to open a Hubbard is to take an axe to it, or to throw it down into the cellar.


It’s hard to have great weird ideas when you are closing trouble tickets.
My new employer Nutshell has an office where my former employer Pure Visibility used to have it's offices.


Steve Jobs, Dennis Ritchie, Einar Steffrud.


Books moved recently include Kawabata’s, Snow Country, to be shelved on the Heikki Lunta shelf to prepare me for winter.


Pinboard now supports Gopher urls in bookmarks.


Michigan football lost to State. It was as good an excuse as any to call my aunt who went to East Lansing.


Wow, I have a lot of categories.

Pinboard now supports gopher:// URLs

from @pinboard

@Pinboard@vielmetti @doctorlinguist alright, extremely proud to announce Pinboard now supports the gopher:// scheme
To test, go to and examine what you get, following the link to its logical conclusions. To really test, get a Gopher client; I am using Overbite Chrome from Floodgap Systems.
Thanks to Cameron Kaiser for noticing, and to Maciej Ceglowski for making it happen.

For more coverage of Gopherspace, I occasionally write something at

How twitter and gopher were born, (or) why you should make it work on the worst system first

this post on "how twitter was born" is making the rounds; thanks to Prentiss Riddle for alerting me to it.   The best quote from it is the use case that involves the worst possible internet device in the world: text messages from a mobile phone.

I remember that @Jack’s first use case was city-related: telling people that the club he’s at is happening.
“I want to have a dispatch service that connects us on our phones using
text.” His idea was to make it so simple that you don’t even think
about what you’re doing, you just type something and send it. Typing
something on your phone in those days meant you were probably messing
with T9 text input, unless you were sporting a relatively rare
smartphone. Even so, everyone in our group got the idea instantly and
wanted it.

As a point of comparison, here's part of the origin story for Gopher, the early 1990s internet system:

"Full-text searching was like a new thing under the sun five years ago," notes McCahill. 

two, with assistance from the newly formed Gopher Team, fine-tuned the
prototype as music from Nirvana and Mudhoney blared in the background.

was a fun time," recalls team member Torrey. "It was a lot of late
nights and weekends and a lot of beer, pizza and speed metal."

Eventually, the team needed some files to dump into their baby Gopher so they could demonstrate its text-searching capability. 

took the Usenet (the Internet's newsgroup system) cookbook and put that
into it," says McCahill. "That was the first thing – so first the
Gopher was serving recipes up. We figured everybody ate, and it was a
good way of illustrating what full-text searching could do."

you were looking for recipes with eggplant, you simply typed in the
word and the application would locate every eggplant reference – a
dazzling capability in 1991.

nothing quite like having a real use for the system you build while building it.

The Little Brown Jug, and other Michigan – Minnesota connections

Since it's game day (Michigan at Minnesota) I thought I'd link to at least a few connections between Michigan and Minnesota.

1.  The Little Brown Jug is the trophy that goes back and forth between the two schools depending on which one wins the game.  It was originally purchased as a water jug for the Michigan team on an away game to Minnesota in 1903, it was left behind after the game (a 6-6 tie).  The Daily Gopher has an excellent roundup of the story (warning: Minnesota point of view) quoting from several Michigan football blogs.

Days later when Yost sent a letter requesting his water jug back, Cook replied saying "We have your little brown jug; if you want it, you’ll have to win it."

More on the Little Brown Jug, and on the Brown Jug (a South University campus bar and restaurant) at Arborwiki.

2.  Michigan shares a border with Minnesota along Lake Superior, and there is public transportation by ferry from Houghton, Michigan to Grand Portage, Minnesota via a stop at the Isle Royale National Park.  

Minnesota to Isle Royale ferry information:

Grand Portage Isle Royale Transportation Line began as a way for the
Sivertson family of Lake Superior's north shore to transport their catch of
freshwater fish from Isle Royale to Minnesota. It gradually expanded to include
passenger service.

Michigan to Isle Royale ferry information:

Unlike other Isle Royale ferry services, the Ranger III was designed by
the National Park Service specifically to bridge the gap between the
mainland and the Island. It was built to withstand the Lake’s fierce
storms and its ice breaking capabilities assist in opening the park in
the spring. An experienced nine-member crew take great pride in not
only maintaining the vessel, but in serving its passengers. The Ranger
III’s Captain, Bill Hanrahan, a graduate of the Great Lakes Maritime
Academy, has over 30 years of experience; the crews combined experience
is just under 200 years.

3.  Ann Arbor, MI was the site of GopherCon '92, a 50 person workshop for developers and users of the Gopher information system, a pioneering Internet publishing system that was for some brief furry moment the hot new thing on MTV and bigger than that super-complicated World Wide Web hypertext thing.  Prentiss Riddle wrote up the trip report for it, and here's his writeup on my presentation at the time:

RELATED TECHNOLOGIES: Ed Vielmetti of CICnet gave a talk on "what we would be gathering to discuss if UMinn had never developed Gopher", meaning primarily World-Wide Web (WWW). WWW was developed for the high-energy physics community and serves as a model of what Gopher could do if a discipline-oriented virtual community invested in it
heavily. WWW is based on SGML (Standard General Markup Language"), an ISO standard for marking up text which WWW uses to implement hypertext. SGML is a bear and it is a significant investment of effort to properly add a document to WWW, but the result is quite powerful (for instance, WWW handles footnotes in hypertext).

The Internet periodically notices that Gopher is not dead; here are a survey of the current Gopher infrastructure from Jason Kottke, some April development from George Hotelling, and a manifesto from Bjorn Karger

comp.infosystems.gopher new group message, 1992

Article: 19 of comp.infosystems.gopher
From: (Edward Vielmetti)
Newsgroups: alt.gopher,comp.infosystems.gopher
Subject: Welcome to comp.infosystems.gopher!
Followup-To: comp.infosystems.gopher
Date: 7 Aug 1992 01:18:35 -0400
Organization: Msen, Inc. -- Ann Arbor, Michigan
Lines: 57
Hello, and welcome to comp.infosystems.gopher.  The newgroup message went
out yesterday, and we're going to migrate traffic over from the old
alt.gopher group into the brand new "official" group.
gopher is a distributed information system.  The best phrase I've heard to
describe it is as "internet duct tape" - wrap a little bit of gopher
protocol around some files or some databases and hey presto you have an
Internet Service.  As most people know information services on the
internet are traditionally held together with spit and bailing wire, well,
duct tape is an improvement.
The newsgroup basically covers four areas of gopher development, which I'd
list as
gopher clients.  Things that users run to connect to gopher servers.
There are lots of these out there right now; most of them follow pretty
closely in spirit to the original unix and mac gopher clients, though some
radical ones ("gopher in a forest" for NeXT) push a different approach.
The issues here are design, documentation and built-in help, bug fixes and
improvements, human factors analysis, speed, robustness, and such.
gopher servers.  Systems that speak the gopher protocol.  There are rather
less server designs than client designs; most servers present essentially
a file system point of view to the user, tho some are driven from
databases.  A number of other data resources have been gatewayed into
gopher (e.g. netnews) with interesting results.  The issues here are
maintainability, shared resources access, logging and stats gathering,
index and other wayfinding aids, etc.
gopher protocol.  What clients and servers send back and forth to each
other.  The gopher protocol is a ferociously simple ASCII protocol
designed to make constructing clients and servers in an afternoon possible
and even likely.  Various extensions to the base protocol have been
proposed to handle more client feechurs, with varying degrees of
acceptance.  Issues here are staying close to the One True Gopher Way
with simple clients and servers without stopping people who want to do way
cool advanced things from interoperating.
gopherspace engineering.   This is a problem completely separate from any
sort of technical issues; it's a question of how gopherspace should be
designed, what it feels like, who has control, how easy is it to move
around, what kind of cooperative systems-building can we end up with.  The
questions here are those of groupware and computer-supported collaborative
work, human factors and information systems design, resource discovery and
current awareness tools, and so on.  Even if we end up throwing away the
protocol and all of the clients the question of systems design (for the
Internet, I suppose, and not just gopherspace) is a big one.
Thanks to all 300+ who voted for the new group.  I'm going to ask some of
the people who have built systems using gopher to speak up and say their
piece about current projects and try to figure out where we go from here.
Edward Vielmetti, vice president for research, Msen Inc.
Msen Inc., 628 Brooks, Ann Arbor MI  48103 +1 313 998 4562
"my other computers are in Minneapolis, Lansing, Cambridge, Reston, ..."