I’m now a member of Bitreich!
I am now officially a member of Bitreich!
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.
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.
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.
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.
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.
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.
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.
Lagrange & ASCII-art-heavy gopherholes
Making Lagrange display ASCII-art heavy gopherholes in a (hopefully) nicer way.
Out of disk space!
I’m out of disk space and need to figure out how to free up space.
Server upgrade! 4x RAM + GPU! Including CUDA+ollama!
This is both a server announcement and a guide!
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.
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.
Running Bitcoin on my server
Actually own your BTC by running bitcoind
on your (Debian, Linux) server.
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.
Archive using LTO Tape
A new guide to archving with LTO5 and Debian.
Restic on LTFS
Archiving to tape with restic: how I processed 414980 files, roughtly 60 GiB in about 10 minutes, with incremental updates too.
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.
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.
My entry for Bitreich’s “Haunted Hosts” Halloween Event
For Bitreich’s “Haunted Hosts” Hallowe’en event I made this, try a trick
:
Setup Haskell verification with LiquidHaskell and Stack
This article helps you get started with LiquidHaskell, which I found confusing.
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!
Important Announcements! Service Availability & Changes!
Some important news about my services.
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.
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).
Someodd XMPP

Chat, kinda everywhere and everyone
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.
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
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.
Someodd IRC

The skinny
Set up an IRC server
My journey setting up a little IRC server, with SSL support and services, on Debian 12.
Whisper Radio

Look ma, no human DJ!
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.
Using the Gopher Protocol

The point of this article is to get you browsing gopherspace quickly and to share some of my favorite gopherholes…
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).
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.
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?).
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

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.
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.
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?).