BBS
- July 31, 2026
Federated BBS: How Phosphor Makes Multi-Node Sync Declarative
Every BBS in the 80s and 90s was an island. Your callers dialed your node. Your boards lived on your machine. If you wanted to share content with …
- July 31, 2026
Phosphor Progress — From Parser to Federation
Twenty-nine commits. Six phases. One language. Here’s where Phosphor stands after the most intense development sprint yet.
The Journey So Far …
- July 30, 2026
Building a Lexer and Parser for a BBS Programming Language
How do you build a programming language for a BBS? You start with the same tools every language uses: a lexer to break source code into tokens, and a …
- July 30, 2026
Declarative UI: Building Terminal Screens with Widgets in Phosphor
Most BBS systems render screens the hard way: imperative code that clears the terminal, prints line by line, and redraws on every update. It works, …
- July 30, 2026
Dev Log
Building Phosphor — a modern, real-time, federated BBS with a custom scripting language called Phosphor. This is the dev log: what’s being …
- July 30, 2026
Features
The BBS is back. And it’s yours.
Phosphor isn’t a nostalgia project. It’s a real-time, federated communication platform that happens …
- July 30, 2026
Federation
Your BBS talks to other BBSes.
In the 1980s and 90s, FidoNet proved that independent BBSes could form a network — dial-up calls, store-and-forward …
- July 30, 2026
How to Connect
Two ways in. Same BBS.
Phosphor runs on a single backend. SSH and web are just two doors into the same room. Same users, same chat, same mail, same …
- July 30, 2026
Phosphor Language
A domain-specific language for BBS systems
Every classic BBS sysop knew the feeling. You’d tweak a menu, add a message board, wire up a door …
- July 30, 2026
Screenshots
The Terminal Aesthetic
Phosphor doesn’t just look retro. It IS retro — a real terminal application running on jterm, a JVM-based terminal …
- July 29, 2026
Building the Phosphor Parser — Week 1 Dev Log
The first phase of Phosphor implementation is underway. Here’s what’s happening and why it matters.
The Problem
Every BBS system has the …
- July 28, 2026
ANSI Sprites: Animation in a Terminal UI Toolkit
A terminal is a grid of characters. Each cell holds one glyph, one foreground color, one background color. That’s it. There are no pixels, no …
- June 21, 2026
Terminal Animations: Starfields, Warps, and Living Backgrounds
A BBS login screen used to be a static ASCII banner. You’d connect, see a logo made of text characters, type your username and password, and …
- June 19, 2026
Message Boards and Mail: Persistent Communication in Phosphor BBS
A BBS without message boards is just a chat room. Boards are where the community lives — threaded discussions that persist over days, weeks, months. …
- June 19, 2026
Real-Time Chat on a BBS: Pub/Sub, Channels, and Wall Messages
Chat is the heartbeat of a BBS. In the 90s, you’d log in, see who was online, and jump into a channel. Messages appeared character by character …
- June 19, 2026
The SysOp Experience: Building Admin Tools for a Modern BBS
Every BBS needs a sysop. The system operator — the person who manages users, moderates boards, configures channels, and keeps the system running. In …
- June 18, 2026
From Modem to SSH: Building a Telnet/SSH Server in Java
In the 90s, a BBS was a modem bank and a phone number. Callers dialed in at 2400 baud, negotiated a connection, and got a text interface. The protocol …
- June 17, 2026
jterm: Building a Terminal UI Toolkit in Pure Java
Every BBS needs a terminal. But not just any terminal — a fast one, with per-character styling, double-buffered rendering, and a widget library that …
- June 14, 2026
Why I'm Building a BBS in 2026
I ran a BBS when I was younger. This was before the web — you’d dial in on a modem, read messages, play games, chat with people in your town. It …