I wrote a tiny open source 4-ch.net viewer that runs over Gopher.
The interesting part is the format.
It uses my gopher applet style: a README that is also a literate Haskell script. You run it directly:
./4_ch.md
No build system. No framework. Just runghc.
Writing it this way felt like a strange inversion of TDD. Instead of tests, the README comes first. The code exists to obey the explanation.
“README-driven design.”
This works especially well for:
- small scripts
- teaching Haskell
- self-documenting infrastructure
It breaks down for large systems. That is a feature.
The applet plugs straight into Venusia, speaks RFC 1436 natively, and keeps dependencies close to zero.
A 2000s textboard, viewed like its the 90s, implemented like a literate essay.
Live here: gopher://gopher.someodd.zip:70/1/gateway/4_ch
Source: https://github.com/someodd/small-gopher-applets/blob/master/4_ch.md
Original content in gopherspace: gopher://gopher.someodd.zip:70/0/phlog/4_ch.gopher.txt