- linux 31
- sysadmin 26
- gopher 26
- haskell 19
- my_warez 13
- debian 12
- my_servs 10
- nix 7
- showcase 7
- nginx 7
- archival 6
- letsencrypt 6
- irc 5
- gaming 5
- ai 4
- server 4
- code 4
- backup_archive 3
- games 3
- bash 3
- events 3
- xmpp 3
- security 3
- my_interviews 3
- smallnet 3
- sdl 2
- game 2
- webdev 2
- media 2
- whisper-radio 2
- someodd-irc 2
- someodd-cs16 2
- window_maker 2
- networking 2
- lto 2
- hardware 2
- crypto 2
- selfhosted 2
- news 2
- announcements 2
- zpaq 1
- someodd-xmpp 1
- retro_tech 1
- server, 1
- gopher, 1
- irc, 1
- znc 1
- halloween 1
- retro tech 1
- retro 1
- development 1
- git 1
- cs16 1
- mumble 1
- libraries 1
- san francisco 1
- prosody 1
- audio 1
- radio 1
- someodd 1
- career 1
- community 1
- indieweb 1
- bestofsmallnet 1
- http 1
- art 1
- scripts 1
- tls 1
- debugging 1
linux
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.
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.
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?
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.
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.
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.
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.
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.
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.
Set up an IRC server
My journey setting up a little IRC server, with SSL support and services, on Debian 12.
Archive using LTO Tape
Archive using LTO Tape
Archive using LTO Tape + zpaq
Archive using LTO Tape
sysadmin
Windows ME Museum
Introducing the ME Museum. Play around with Windows ME from The Internet Gopher Protocol (you can also use my gopher proxy).
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.
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?
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.
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…
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.
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.
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.
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.
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.
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.
Set up an IRC server
My journey setting up a little IRC server, with SSL support and services, on Debian 12.
Archive using LTO Tape
Archive using LTO Tape
Archive using LTO Tape + zpaq
Archive using LTO Tape
gopher
4-ch over Gopher
I wrote a tiny open source 4-ch.net viewer that runs over Gopher.
ChatGopherPT: talking to LLMs over Gopher
I’m the bastard who brought Chinese AI to the pre-web Internet.
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
An MMORPG where the game world is literally live gopherspace itself. Find treasure where people haven’t been before, so the more gopherspace pioneering you do, the better your stats can be. You can leave your words in gopherspace, but also kill people and steal their loot.
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:
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.
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:
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 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.
Subscribing to feeds in gopherspace
Liferea allows you to use a command as a feed source!
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.
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?
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?).
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?
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).
gopherdashboard: Sysadmin via Gopher
gopherdashboard: Sysadmin via Gopher
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?).
haskell
4-ch over Gopher
I wrote a tiny open source 4-ch.net viewer that runs over Gopher.
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):
I Made a Multiplayer RPG Where You Explore Gopherspace With Others
An MMORPG where the game world is literally live gopherspace itself. Find treasure where people haven’t been before, so the more gopherspace pioneering you do, the better your stats can be. You can leave your words in gopherspace, but also kill people and steal their loot.
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.
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:
Setup Haskell verification with LiquidHaskell and Stack
This article helps you get started with LiquidHaskell, which I found confusing.
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.
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?
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).
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?
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).
gopherdashboard: Sysadmin via Gopher
gopherdashboard: Sysadmin via Gopher
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.
my_warez
4-ch over Gopher
I wrote a tiny open source 4-ch.net viewer that runs over Gopher.
ChatGopherPT: talking to LLMs over Gopher
I’m the bastard who brought Chinese AI to the pre-web Internet.
gasm: 1.5 KB Gopher server that runs on 24 KB of RAM
I wanted to find the absolute floor.
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
An MMORPG where the game world is literally live gopherspace itself. Find treasure where people haven’t been before, so the more gopherspace pioneering you do, the better your stats can be. You can leave your words in gopherspace, but also kill people and steal their loot.
My entry for Bitreich’s “Haunted Hosts” Halloween Event
For Bitreich’s “Haunted Hosts” Hallowe’en event I made this, try a trick:
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
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).
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?
gopherdashboard: Sysadmin via Gopher
debian
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).
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.
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?
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.
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.
Restic on LTFS
Archiving to tape with restic: how I processed 414980 files, roughtly 60 GiB in about 10 minutes, with incremental updates too.
Dynamic DNS in Linux (Debian)
I used to use DuckDNS, but then I started using afraid.org.
Productivity in Window Maker
I use the old school, lightweight Window Maker window manager on Debian Unstable.
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?).
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?).
my_servs
4-ch over Gopher
I wrote a tiny open source 4-ch.net viewer that runs over Gopher.
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).
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
An MMORPG where the game world is literally live gopherspace itself. Find treasure where people haven’t been before, so the more gopherspace pioneering you do, the better your stats can be. You can leave your words in gopherspace, but also kill people and steal their loot.
Counter-Strike 1.6 Server + Weekly Event
Counter-Strike 1.6 @ cs16.someodd.zip!
Someodd XMPP
Modern, encrypted communication owned by everyone, not big tech giants.
Someodd IRC
Place for people to talk using a text-based chat system from 1988 (IRC). Some people may find IRC dated and counter-intuitive (partially for them, I have something in the works). Think of it like an old Discord, where people can create their own channels (and sort of be the boss of them).
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
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).
nix
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?).
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).
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).
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?).
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.
showcase
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
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).
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?
gopherdashboard: Sysadmin via Gopher
nginx
The Missing Link in My TLS Chain
I lost a few hours today to what looked like a cursed, haunted networking bug.
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.
someodd CS 1.6
Good ol’ head shots
Someodd IRC
The skinny
Someodd IRC
Place for people to talk using a text-based chat system from 1988 (IRC). Some people may find IRC dated and counter-intuitive (partially for them, I have something in the works). Think of it like an old Discord, where people can create their own channels (and sort of be the boss of them).
Whisper Radio
Look ma, no human DJ!
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
archival
Windows ME Museum
Introducing the ME Museum. Play around with Windows ME from The Internet Gopher Protocol (you can also use my gopher proxy).
Use ii to log IRC (for scripting purposes)
I wanted to show the user the latest irc message via gopher so…
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.
Joining The MADE: Retro Tech Museum
I have donated and am starting to volunteer at The Made, primarily remotely.
Torrents for data longevity
Creating torrents for data longevity, a distributed way to archive data.
Archive using LTO Tape
Archive using LTO Tape
letsencrypt
The Missing Link in My TLS Chain
I lost a few hours today to what looked like a cursed, haunted networking bug.
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.
Someodd IRC
The skinny
Someodd IRC
Place for people to talk using a text-based chat system from 1988 (IRC). Some people may find IRC dated and counter-intuitive (partially for them, I have something in the works). Think of it like an old Discord, where people can create their own channels (and sort of be the boss of them).
Whisper Radio
Look ma, no human DJ!
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
irc
Use ii to log IRC (for scripting purposes)
I wanted to show the user the latest irc message via gopher so…
Someodd XMPP
Chat, kinda everywhere and everyone
Someodd XMPP
Modern, encrypted communication owned by everyone, not big tech giants.
Someodd IRC
The skinny
Someodd IRC
Place for people to talk using a text-based chat system from 1988 (IRC). Some people may find IRC dated and counter-intuitive (partially for them, I have something in the works). Think of it like an old Discord, where people can create their own channels (and sort of be the boss of them).
gaming
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.
Counter-Strike 1.6 Server + Weekly Event
Counter-Strike 1.6 @ cs16.someodd.zip!
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.
someodd Counter-Strike 1.6 Online Party #01
The first someodd Counter-Strike 1.6 online party, to celebrate the launch of my CS1.6 server.
someodd CS 1.6
Good ol’ head shots
ai
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.
Server upgrade! 4x RAM + GPU! Including CUDA+ollama!
This is both a server announcement and a guide!
Whisper Radio
Look ma, no human DJ!
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
server
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?
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.
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.
Planned Server Downtime on June 3, 2024 (GPU & RAM Upgrades)
My server will be down on Monday, June 3, 2024 (USA). Basically all of my services will be affected (XMPP, IRC, Whisper Radio, CS1.6, more).
code
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.
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.
Setup Haskell verification with LiquidHaskell and Stack
This article helps you get started with LiquidHaskell, which I found confusing.
backup_archive
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:
Archive using LTO Tape + zpaq
Archive using LTO Tape
games
I Made a Multiplayer RPG Where You Explore Gopherspace With Others
An MMORPG where the game world is literally live gopherspace itself. Find treasure where people haven’t been before, so the more gopherspace pioneering you do, the better your stats can be. You can leave your words in gopherspace, but also kill people and steal their loot.
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.
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.
bash
Use ii to log IRC (for scripting purposes)
I wanted to show the user the latest irc message via gopher so…
Whisper Radio
Look ma, no human DJ!
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
events
Counter-Strike 1.6 Server + Weekly Event
Counter-Strike 1.6 @ cs16.someodd.zip!
My entry for Bitreich’s “Haunted Hosts” Halloween Event
For Bitreich’s “Haunted Hosts” Hallowe’en event I made this, try a trick:
someodd Counter-Strike 1.6 Online Party #01
The first someodd Counter-Strike 1.6 online party, to celebrate the launch of my CS1.6 server.
xmpp
XMPP: audio/video call support (prosody)
Some sloppy notes for you about how to enable audio/video calling for a prosody server in debian.
Someodd XMPP
Chat, kinda everywhere and everyone
Someodd XMPP
Modern, encrypted communication owned by everyone, not big tech giants.
security
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).
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.
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.
my_interviews
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):
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.
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.
smallnet
4-ch over Gopher
I wrote a tiny open source 4-ch.net viewer that runs over Gopher.
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.
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:
sdl
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.
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.
game
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.
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.
webdev
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.
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.
media
Whisper Radio
Look ma, no human DJ!
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
whisper-radio
Whisper Radio
Look ma, no human DJ!
Whisper Radio
Whisper Radio is a (hopefully) 24/7 Internet radio station “hosted by a bot.”
someodd-irc
Someodd XMPP
Chat, kinda everywhere and everyone
Someodd IRC
The skinny
someodd-cs16
someodd Counter-Strike 1.6 Online Party #01
The first someodd Counter-Strike 1.6 online party, to celebrate the launch of my CS1.6 server.
someodd CS 1.6
Good ol’ head shots
window_maker
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).
Productivity in Window Maker
I use the old school, lightweight Window Maker window manager on Debian Unstable.
networking
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.
Dynamic DNS in Linux (Debian)
I used to use DuckDNS, but then I started using afraid.org.
lto
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:
hardware
Server upgrade! 4x RAM + GPU! Including CUDA+ollama!
This is both a server announcement and a guide!
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.
crypto
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.
selfhosted
My Gopher Host That Clones Your Repo
I started a service which aims to make starting a gopherhole easier.
Counter-Strike 1.6 Server + Weekly Event
Counter-Strike 1.6 @ cs16.someodd.zip!
news
My Gopher Host That Clones Your Repo
I started a service which aims to make starting a gopherhole easier.
Counter-Strike 1.6 Server + Weekly Event
Counter-Strike 1.6 @ cs16.someodd.zip!
announcements
My Gopher Host That Clones Your Repo
I started a service which aims to make starting a gopherhole easier.
Counter-Strike 1.6 Server + Weekly Event
Counter-Strike 1.6 @ cs16.someodd.zip!
zpaq
Archive using LTO Tape + zpaq
Archive using LTO Tape
someodd-xmpp
Someodd XMPP
Chat, kinda everywhere and everyone
retro_tech
Productivity in Window Maker
I use the old school, lightweight Window Maker window manager on Debian Unstable.
server,
Important Announcements! Service Availability & Changes!
Some important news about my services.
gopher,
Important Announcements! Service Availability & Changes!
Some important news about my services.
irc,
Important Announcements! Service Availability & Changes!
Some important news about my services.
znc
Important Announcements! Service Availability & Changes!
Some important news about my services.
halloween
My entry for Bitreich’s “Haunted Hosts” Halloween Event
For Bitreich’s “Haunted Hosts” Hallowe’en event I made this, try a trick:
retro tech
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.
retro
Joining The MADE: Retro Tech Museum
I have donated and am starting to volunteer at The Made, primarily remotely.
development
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.
git
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.
cs16
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.
mumble
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.
libraries
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.
san francisco
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.
prosody
XMPP: audio/video call support (prosody)
Some sloppy notes for you about how to enable audio/video calling for a prosody server in debian.
audio
Music server with Music Player Daemon
I had some requirements:
radio
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.
someodd
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.
career
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.
community
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.
indieweb
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:
bestofsmallnet
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:
http
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?
art
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.
scripts
Use ii to log IRC (for scripting purposes)
I wanted to show the user the latest irc message via gopher so…
tls
The Missing Link in My TLS Chain
I lost a few hours today to what looked like a cursed, haunted networking bug.
debugging
The Missing Link in My TLS Chain
I lost a few hours today to what looked like a cursed, haunted networking bug.