Neat Finds #06: Gopher Holes, Beige Boxes and Unix Since 1970

· 11 min read · #neat-finds · #open-source · #smallweb · #gemini · #gopher · #retro · #retrocomputing

Issue six: browsers and servers for Gemini, Gopher and Finger, an ephemeral forum, a beige DOS PC drawn from scratch, Serial Experiments Lain decompiled, PSP games in the browser, Zork's source and the whole history of Unix in one Git repo.

Contents

Issue six comes in two halves. The first is the small internet, seen from both ends: browsers for Gemini, Gopher, Finger and friends, a few servers to answer them, and a couple of odd forums. The second half goes back in time, with a beige DOS box drawn from scratch, a PlayStation game rebuilt from its own source, PSP games in a browser tab, and some code that has been sitting in archives for decades. As usual, no AI projects.

Same deal as always: I haven't tested everything here, and the last lines of each entry are what I'd be tempted to build, not promises.

01. Tocaia #

github.com/manipuladordedados/tocaia

A small Gopher client written in C89 with POSIX in mind. It has a text interface for walking around Gopherspace, with menus, text files, searches and back and forward history, and it needs nothing more than a C compiler: clone it, run make install and you're in. The name is Portuguese for an ambush. A client this light would be an easy thing to offer every user on runv.club.

02. Telescope #

github.com/telescope-browser/telescope

A browser for the small internet, inspired by Emacs and w3m, that speaks Gemini, Gopher and Finger. It has the expected things (tabs, bookmarks, history, client certificates) and a privilege-separated design, and the code follows OpenBSD's style guide. The README lists fun as the first goal and says the project is entirely handwritten, with contributions generated by LLMs not accepted. For certificates it goes beyond plain trust on first use, with three levels: untrusted, trusted and verified out of band. Out of the box, the external editor is ed.

03. Rogallo #

github.com/davep/rogallo

A terminal client in Python for six protocols: Gemini, Titan, Spartan, Gopher, Nex and Finger. Bookmarks and history both have search, there's a command palette, a source viewer and mouse support, and it renders ANSI escape sequences inside pages. On the Gemini side it handles input prompts, with an option to type them in your own editor, and it can create client certificates for you and keep one per capsule. Install it with uv tool install rogallo or pipx install rogallo. Pointing it at Soledade over Nex would be my first test.

04. Alhena #

github.com/mochaman/alhena

For people who'd rather not live in a terminal: a desktop browser for Gemini, Gopher, Spartan and Nex, built on Java 21, with dozens of themes, color emoji and any system font for text. The feature list is long. Inline images, audio and video through VLC, Titan uploads, split view, gemlog and Atom subscriptions, a Gemtext-aware editor, an HTML-to-Gemtext converter, and backups and remote sync for your settings and certificates. There are installers on the project page. It's the one I'd hand to a friend who wants to see what Gemini looks like.

05. smolserve #

github.com/davep/smolserve

From the same author as Rogallo, a lightweight server for Gemini, Gopher, Finger, Spartan and Nex at once, meant for local testing and documentation. Run it with no setup and it listens on 127.0.0.1 with Gemini on 1965, Gopher on 7070, Finger on 7979, Spartan on 3000 and Nex on 1900, creating sample content folders and self-signed certificates if they don't exist. The clever part is exec mode: smolserve exec -- pytest keeps the servers up only while that command runs, then shuts them down and returns its exit code. Not to be confused with SmolServ, without the e, as the README points out. It would be a good place to preview a capsule before it goes live.

06. fleur #

github.com/theobori/fleur

A framework in Go for building Gopher applications, plus a CLI that serves files. You map paths to functions with regular expressions, so a request for /dice can answer with a fresh gophermap holding a dice roll, and extensions can add new item types to the gophermap format itself. Gopher over TLS works on the same port as plain Gopher. The CLI can also serve personal Gopherspaces, turning /~username/ into that user's public_gopher folder, which is exactly how a pubnix likes it. The name is French for flower, and there's a NixOS module. runv.club's users could each get a gopher hole this way.

07. Gigi #

github.com/Fuwn/gigi

"An honest Finger protocol server", with few features, "the way a Finger server should be." It answers requests from static files, or dynamically by running whatever executable you put at .gigi/do, which is off by default because, as the README says, running code on request is a real risk. There's a live instance you can poke at with finger fuwn.me, or with echo | nc fuwn.me 79 if you don't have a client. It runs with Go, Nix or Docker. After the WebFinger guide, the original finger is the obvious next toy.

08. miniflux-gemini #

github.com/cljoly/miniflux-gemini

Exposes a Miniflux instance over Gemini, so you can read your feeds from a Gemini browser. Login uses client certificates: you add a row that ties your certificate's fingerprint to your Miniflux address and an API token, and the server knows who you are from then on. The README marks it as a work in progress with thin documentation, so expect to read some code. Feeds read from Telescope on an old laptop sounds like a nice quiet morning.

09. Neon Modem Overdrive #

github.com/mrusme/neonmodem

A BBS-style command-line client that puts Discourse, Lemmy, Lobsters, Hacker News and Hyperuplink behind one text interface. You can list forums, posts and replies on all of them, read without an account, and post or reply once you log in. It's written in Go with Bubble Tea. On the name, the README says it plainly: "And yes, you heard that right, I really did call it Neon Modem Overdrive." Packages exist for Arch, through the AUR, and NetBSD.

10. tmpbbs #

github.com/mmb/tmpbbs

An ephemeral, anonymous forum. Posts live in memory and disappear when the process stops, and the whole thing is one static binary that needs no internet and no disk, small enough for an old wireless router. Durability comes from linking instances: posts can replicate in one direction or both, so you can build a mesh, a tree, backups or read-only copies. Every instance serves its own binary at /self, so anyone who visits can start another one. There are tripcodes in the name#secret style and post IDs you can read aloud. A forum that only exists for the length of an event is a lovely idea.

11. term.everything #

github.com/mmulet/term.everything

Runs GUI apps inside your terminal, even over SSH. It's a Wayland compositor written from scratch in Go, with a little C, that draws windows to the terminal instead of to a monitor. Quality depends on how many rows and columns you have, so shrinking the font makes the picture sharper, and in terminals that show images, like kitty or iTerm2, windows can render at full resolution. With a small hack it runs Doom. The roadmap has three steps, and the project sits on the first: "Term some things". The HowIDidIt.md file is a good read about Wayland on its own.

12. cool-retro-term #

github.com/Swordfish90/cool-retro-term

A terminal emulator that looks like an old cathode-ray screen, with glow, curvature and scanlines, and profiles like amber, green and IBM DOS. It's built on the QML port of Konsole's terminal widget, needs Qt6 and runs on Linux and macOS. Most distributions already package it, and there are AppImage and dmg builds on the releases page. It's been around for years, and opening it before an ssh runv.club session would set the mood.

13. DOS ex Machina #

github.com/pedrocatalao/dos-ex-machina

An early 90s beige-box PC on your screen, case and CRT included, that boots a real DOS. It powers on, runs its POST and hands over to DOSBox Pure at the prompt. Nothing is a photograph: the machine is drawn procedurally at your display's resolution, and the tube has phosphor persistence, curvature, scanlines, an aperture-grille mask and light from the picture spilling onto the plastic. The sound gets the same care, with the relay and degauss thump at power on, fans, the disk spinning up, the floppy when a program loads, and a mechanical keyboard cut from recordings of real typing. C: is a folder on your computer, SETUP lets you pick processor, memory and even a 3dfx card, and CATALOG downloads freeware and shareware from where the authors published it. There are no downloads yet, so you build it from source. I'd fill that C: drive the first evening.

14. Launch! #

github.com/therenegar/launch

A command launcher for any DOS from 3.3 up, on a 286 or better with EGA or VGA. It works with MS-DOS, PC DOS, DR-DOS and FreeDOS, on real hardware or in DOSBox and 86Box. Instead of replacing the prompt with a graphical shell, it keeps you in text mode and pops a menu over whatever is on screen when you press Ctrl+Alt+\, then runs your choice by typing it for you through keyboard macros. Around that come accessories (calendar, calculator, journal), text-mode games like Snake and Solitaire, screensavers including a starry skyline and a fake disk defrag, and integration with Windows 3.x. It installs from a floppy image, or from a real floppy if you have one. It would look right at home inside DOS ex Machina.

15. Serial Experiments Lain, decompiled #

github.com/Y0oshi/lain-psx-decompiled

A decompilation of Serial Experiments Lain for the PlayStation, the 1998 Pioneer LDC game. All 321 game functions are now C that compiles with the original PsyQ toolchain into an executable byte-identical to the retail one. On top of that sits a native client for Windows, macOS and Linux that runs the game with no emulator, and it plays the whole thing, both discs and all four endings. No game data is included: you dump your own discs and the launcher checks them. It also adds mods, Lua scripting and a tab of content found on the discs that the game never uses. Issue four had lainTSX, a remake of the game's interface in the browser; this one goes all the way down to the original code.

16. PSP Web Recomp #

github.com/snuri00/psp-web-recomp

PSP games in a browser tab. The game's MIPS code is translated ahead of time into C++, compiled to WebAssembly and linked against a small reimplementation of the PSP's operating system and graphics chip, drawn with WebGL2. The first game brought up is God of War: Chains of Olympus, which the README says runs at 60 frames per second in the scenes measured so far, at up to four times the PSP's resolution, and on phones with touch controls; Ghost of Sparta followed. You bring a disc image of a game you own and the scripts turn it into a page on your own machine, about 2 GB of disk per game. The author is honest that both games share one engine, so a game from another studio will probably stop at a system call nobody has written yet. Reading the "How it works" section is worth it even without a PSP disc in the house.

17. FUZIX #

github.com/EtchedPixels/FUZIX

"Because Small Is Beautiful." A Unix-like operating system for small and old processors, made by fusing several forks of UZI and growing them from Version 7 toward System III and System V, with some POSIX on top. The kernel boots to userspace on a long list of chips: Z80, 6502, 6809, 68000, 8080, 8085, ARM32, even the ESP8266. The README calls it "an art project in computing", says the best support is code or docs, and if you'd rather spend money, suggests buying a homeless person a pizza or a coat. Some prebuilt filesystems are on fuzix.org. It's a good excuse to get a Z80 board.

18. Unix History Repository #

github.com/dspinellis/unix-history-repo

The whole history of Unix as one Git repository, from 1970, when it was a 2.5 thousand line kernel and 48 commands, to 2025, when it's a 41 million line system. It was built by stitching together 22 snapshots from Bell Labs, Berkeley, the 386BSD team and modern FreeBSD, and it holds about 850 thousand commits and some 2,700 identified contributors, the early ones found through primary research. The repository is regenerated from scratch, so contributions go to its sister project, unix-history-make. Clone it, check out the PDP-7 snapshot and read where all of this started.

19. Zork I #

github.com/historicalsource/zork1

The source code of Infocom's Zork I, the 1980 game by Marc Blank, Dave Lebling, Bruce Daniels and Tim Anderson. It's written in ZIL, the Zork Implementation Language, built on MDL, a Lisp dialect from MIT. The files are a snapshot of Infocom's development directory at the time the company shut down, including some that were discarded along the way. There's no official compiler left, but the community-made ZILF has been shown to compile them with minor issues. In November 2025 the repository got an MIT license. The parser, in gparser.zil, is the file I'd open first.

20. Farbrausch tools 2001-2011 #

github.com/farbrausch/fr_public

Ten years of tools from Farbrausch, the German demoscene group, released as they were. The README is upfront: "This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories." Inside are Werkkzeug3, used for many of their demos and intros, the V2 synthesizer behind all their intros plus kkrieger and debris, the kkrunchy executable packer, and the data files for several productions. Everything is under a BSD license or in the public domain, and the main branch builds with Visual Studio 2010. If you've ever watched debris and wondered how, the answer is in there.

Bonus tabs #

A few more I refuse to close:

ncgopher · A Gopher, Gemini and Finger client in Rust with an ncurses interface.

ange · A Gopher webring built on fleur (entry 06), with its members kept in SQLite.

IOCCC winners · Every winning entry of the International Obfuscated C Code Contest, which started in 1984.

overengineeRING · A webring of people who make things. You join with a pull request and a small YAML file.

blogtato · A command-line RSS and Atom reader inspired by Taskwarrior, with sync through git.

Gitmal · Turns a Git repository into static HTML pages with files, commits and syntax highlighting.

xxh · Takes your favorite shell with you over SSH, without installing anything on the host.

That's issue six. Half of it talks to servers most people have never heard of, and the other half boots machines nobody sells anymore.

Found a strange repository, a forgotten tool or a small piece of software I should see? Send it my way. Reader suggestions are welcome for issue seven. And if you make something with any of these, I'd like to see it.

Happy wandering!
Pablo