2017-12-27 Gopher Server

The wiki is available as a Gopher server. This is weird, but it works.

Gopher

Try it. `lynx` is a good Gopher client:

`lynx gopher://alexschroeder.ch`

or:

`lynx gopher://alexschroeder.ch/02017-12-27_Gopher_Server`

Does anybody know why I need to start the pagename with the gopher type character? (or any character at all)?

check process gopher-server with pidfile /home/alex/alexschroeder-gopher-server.pid
      start program = "/home/alex/perl5/perlbrew/perls/perl-5.24.0/bin/perl /home/alex/farm/gopher-server.pl --setsid --user=alex --group=alex --port=70 --log_level=2 --log_file=/home/alex/farm/gopher-server.log --pid_file=/home/alex/farm/gopher-server.pid --wiki=/home/alex/farm/wiki.pl --wiki_dir=/home/alex/alexschroeder --wiki_pages=SiteMap --wiki_pages=About"
    stop program = "/bin/bash -c 'kill -s SIGTERM `cat /home/alex/alexschroeder-gopher-server.pid`'"
    if failed
	host alexschroeder.ch
	port 70
	type tcp
        send "Alex\r\n"
	expect "#REDIRECT.*"
	for 5 cycles
	then restart
    if totalmem > 100 MB for 5 cycles then restart
    if 3 restarts within 15 cycles then timeout

The Net::Server is where you find stuff regarding all the command line options. `--wiki`, `--wiki_pages` and `--wiki_dir` are the ones I added.

Net::Server

“It’s actually rather nice to have a small ecosystem because no one’s running annoying ads in Gopherspace or trying to track your browsing habits,” he says. “The protocol makes the former hard and the latter almost impossible.” – Cameron Kaiser being quoted in The rise and fall of the Gopher protocol.
«The modern web is an ugly, massive, broken mess. This isn’t a secret or a new take or a controversial opinion. We stuff our webpages so full of tracking cookies and bitcoin mining advertisements and javascript apps that monitor your every move that it’s no wonder that modern web browsers are less effecient than ever.» — Gopher: Remembering the web that wasn't

The rise and fall of the Gopher protocol

Gopher: Remembering the web that wasn't

This is nothing we can’t fix using HTML and HTTPS, but Gopher *forces* us to go without JavaScript and CSS and all that.

​#Oddmuse ​#Gopher ​#Monit

Comments

(Please contact me if you want to remove your comment.)

RFC 1436 remains relevant, I guess.

RFC 1436

– Alex 2017-12-28 16:44 UTC

---

Work continues. I’ve added menus for page filtering, for search, for recent changes both major changes only and including minor changes.

Next up: page history.

Is there much else? I think soon enough the lingering question will be: how do we edit pages via gopher?

– Alex 2017-12-29 14:31 UTC

---

Writing unit tests makes me feel so much better.

– Alex 2017-12-30 04:56 UTC

---

On the Gopher web (what’s the name to use here, do we like the -verse suffix?), all the encoding problems of the early web are coming back. Latin 1 instead of UTF 8? No content negotiation? Not even encoding labeling? What are we going to do? Surely limiting ourselves to Latin 1 for menu texts is not good enough.

From RFC 1436: “It is *highly* recommended that the `User_Name` field contain only printable characters, since many different clients will be using it. However if eight bit characters are used, the characters should conform with the ISO Latin1 Character Set.”

It’s a different world out there. We need to talk about indicating encoding to clients.

Menu type m for metadata? e.g.

mEncoding\tUTF-8

I’ve been using a Gopher client on iOS for a bit and being German speaker, I soon stumbled over encoding issues. If I search Gopherpedia for „Zürich“, the client crashes. If I search for „Zurich“ and click on the first link, „Zürich“, it also crashes.

– Alex 2017-12-30 09:51 UTC