Articles archived/mirrored from gopher://gopher.someodd.zip/1/phlog, using my gopherhole software bore.
Please look at the “gopher” tag for more information.
ChatGopherPT: talking to LLMs over Gopher
I’m the bastard who brought Chinese AI to the pre-web Internet.
Windows ME Museum
Introducing the ME Museum. Play around with Windows ME from The Internet Gopher Protocol (you can also use my gopher proxy).
gasm: 1.5 KB Gopher server that runs on 24 KB of RAM
I wanted to find the absolute floor.
I was interviewed on screwtape 2025-11-04 about Gopher, Haskell, Category Theory
I was interviewed again on Screwtape (an AnonrRadio program powered by SDF):
My Gopher Host That Clones Your Repo
I started a service which aims to make starting a gopherhole easier.
I Made a Multiplayer RPG Where You Explore Gopherspace With Others
In this multi-player RPG, explore gopherspace with friends and strangers (work with them, kill them to steal from them) as you spelunk for hidden stat-boosting treasures hidden in the far recesses of unexplored gopherholes.
KeepassXC as Key Ring Manager for Minimal DEs & WMs
Use KeePassXC as your Key Ring Manager in non-GNOME/KDE big DE setups. For example, I use it with Window Maker (see my post).
Use ii to log IRC (for scripting purposes)
I wanted to show the user the latest irc message via gopher so…
Fixing a Full /boot in an apt Error Loop
You ran apt upgrade, but /boot was full. Now apt is broken and stuck in an error loop, complaining about a package it can’t configure.
Scepter of Goth
I had the pleasant experience of playing the first MMORPG with one of the people involved, who also happens to be a co-author of The Internet Gopher Protocol: Bob Alberti. I met him because I interviewed him for a documentary.
Presenting smallnet documentary at brcon2025
If you haven’t noticed, I am a member of Bitreich, which is one of the forerunners in not just preserving The Internet Gopher Protocol, but propelling it forward. The Gopher Protocol is a very simple barebones protocol from the early 90s which predated the web. Think of a different way of navigating information than a web browser, kinda.
Providing an HTTP interface for your gopherhole
It’s hard to convince people to use the Gopher protocol. So, why not host your own HTTP interface so people can browse your gopherhole via a website?
Best of Smallnet Zine #0: April 2025
This is the 0th edition of Smallnet Zine (April Edition). The point of this is to just blab about the state of the smallnet, indieweb, and self-hosting. Originally I had this idea to start something called netring.cafe, which was a cool idea, but I really already have too much on my plate at-the-moment. So now I’m just going to use a tag on my phlog to act as a zine:
Counter-Strike 1.6 Server + Weekly Event
Counter-Strike 1.6 @ cs16.someodd.zip!
Becoming a Hackage uploader
I was working on Venusia because I keep writing Gopher servers. I realized I wanted to just create a library/dependency. So I wanted to actually put this on Hackage, which is Haskell’s package repository.
I’m now a member of Bitreich!
I am now officially a member of Bitreich! I’ll talk a bit about my membership and about Bitreich itself.
Applying to Avantos AI (job)
I saw a job listing on Ask HN: Who is hiring (March 2025). Seemed to be one of those fancy new cryptic challenge-based interviews.
My radio interview (Lispy Gopher Climate/screwtape)
On March 19, 2025, I did a radio interview with screwtape, on his “Lispy Gopher Climate” segment on aNONradio (hosted by SDF), about Gopher, a little bit about smallnet, Gemini, Bitreich, programming philosophy, and The MADE (a museum I am making a documentary for). Screwtape has a segment on SDF’s aNONradio.
What I learned writing Haskell code for a 33 year old pre-web Internet protocol (Gopher)
If you take a look at my GitHub you’ll notice two things:
Music server with Music Player Daemon
I had some requirements:
XMPP: audio/video call support (prosody)
Some sloppy notes for you about how to enable audio/video calling for a prosody server in debian.
Exploring San Francisco’s Libraries: Richmond/Senator Milton Marks Branch
This is part of my series on branches of the San Francisco Public Library system, which I explore through their “explorer map” program.
How to set up a Mumble server
Mumble is an old-school, low-latency voice chat app, perfect for games like Counter-Strike 1.6. It’s a bit tricky to set up but offers strong encryption and full control. My server provides a lightweight, private alternative for high-performance voice chat.
LetsEncrypt renewal hooks: I was doing it all wrong!
I kept saying deploy_hook and post_hook, but no it’s renew_hook, and if
there’s unrecognized entry it’ll just remove it! I have no idea how I made this mistake…
Counter-Strike 1.6 Server (Linux)
How to run a Counter-Strike 1.6 server in Linux (namely Debian). I even go into some bonus materials, like making bonus assets (maps, sounds, etc.) download quickly, making statistics accessible as JSON via HTTPS.
Routing gopher requests (reverse proxy) + Tor
I host different Gopher Protocol services which use different ports on one box. So I kind of need a reverse proxy of sorts. I wanted to make sure I could access all of them using port 70.
Lagrange & ASCII-art-heavy gopherholes
Making Lagrange display ASCII-art heavy gopherholes in a (hopefully) nicer way.
Using GPG to encrypt messages (like email)
I wanted to email phrack, but their contact info specifies the use of a public key/GPG. So I wanted to send them a GPG-encrypted/signed email message! Here’s a guide on encrypting/signing arbitrary text content with GPG.
Simple, quick VPN server using WireGuard
Why do I use a VPN? I personally use it because I think exposing a VPN service with which to connect to all my services like SSH is a lot safer than just exposing SSH to the wild, wild Internet.
Server upgrade! 4x RAM + GPU! Including CUDA+ollama!
This is both a server announcement and a guide!
Out of disk space!
I’m out of disk space and need to figure out how to free up space.
git, GitHub and multiple accounts/profiles
If you use more than one GitHub account you may want a nice set up to make it easy to assign a specific user to a specific repo with ease. Here are some instructions for that, plus signing commits with GPG key.
Joining The MADE: Retro Tech Museum
I have donated and am starting to volunteer at The Made, primarily remotely.
Cashing out Monero in Debian
I was trying to get all of my XMR (Monero) sold, but this took some work on my Debian server, as I hand’t touched it in a while.
Running Bitcoin on my server
Actually own your BTC by running bitcoind on your (Debian, Linux) server.
Making my server quieter
Entered BIOS and looked for acoustic/power/performance settings which led me to some way to reduce fan intensity in BIOS.
Restic on LTFS
Archiving to tape with restic: how I processed 414980 files, roughtly 60 GiB in about 10 minutes, with incremental updates too.
Simpler Encrypted LTO Tape Archives
Simple setup for encrypted backups using LTO6 on Debian. I have an older, very similar article:
Dynamic DNS in Linux (Debian)
I used to use DuckDNS, but then I started using afraid.org.
Using old terminals (like the VT320) with Linux
I have a VT320 with a unix-style LK401 (?) keyboard. I connected it via serial to my Debian server. Here’s how.
Setup Haskell verification with LiquidHaskell and Stack
This article helps you get started with LiquidHaskell, which I found confusing.
My entry for Bitreich’s “Haunted Hosts” Halloween Event
For Bitreich’s “Haunted Hosts” Hallowe’en event I made this, try a trick:
Restic Backup Entire Server
Let’s make a backup of the entire server.
Torrents for data longevity
Creating torrents for data longevity, a distributed way to archive data.
Subscribing to feeds in gopherspace
Liferea allows you to use a command as a feed source!
Using GNU screen
I love GNU screen. It allows me to keep various sessions open regardless if my
SSH connection terminates or not. It’s also very nice for my VT320 terminal,
because I can easily switch between windows and divide up the screen. I’m told
tmux is better and more useful (I think for old terminals, too?), so I’ll
look into that, too, at some point.
Productivity in Window Maker
I use the old school, lightweight Window Maker window manager on Debian Unstable.
Set up an XMPP Server
XMPP allows you to host your own encrypted communication server, where you can talk to other people on their own servers. Think of email, but for instant messaging.
Dillo Browser
Dillo is a very lightweight browser. I personally enjoy it because I feel it suits Window Maker and it has Gemini and Gopher plugins.
Set up an IRC server
My journey setting up a little IRC server, with SSL support and services, on Debian 12.
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
Nix Flake a Haskell Project
I wrote these notes because I wante to reduce the friction for myself and others to getting a Nix Flake working for their Haskell Project.
Waffle: Gopher Client
I made a Gopher client called waffle. Basically, a web browser, but for the Gopher Protocol. I started it about 4 years ago now (2020?).
Intramaze: Chat encounters in collab-built maze
Intramaze is web software which can serve a website allowing users to collaboratively build a maze together, by creating rooms which then can be linked together by defining polygons that act as links to other rooms. Users can chat together if they’re in the same room.
haskellcard: hypercard-like game engine
haskellcard an SDL2 game engine based around the idea of exploring different scenes. Ended up being similar to HyperCard. Kind of a point-and-click type thing, but I wanted to have a lot of real-time support, since I think feel like point-and-clicks are kind of boring or not very fun.
gopherden: Forum via Gopher Protocol
gopherden is forum software for the Gopher Protocol. View the official gopherden server via the web or via the Gopher Protocol (as intended) (you may want to read my post about the Gopher Protocol).
Using the Gopher Protocol
The point of this article is to get you browsing gopherspace quickly and to share some of my favorite gopherholes…
burrow: Static Gopherhole Generator
You may have heard of static site generators. You may even have heard of the Gopher Protocol. But have you heard of a static gopherhole generator?