Paul Richeson

Electrical engineer · www.paulricheson.com · github.com/vonglurt

Systems, silicon, signals and software — and the things I build with them.

Summary

Paul Richeson is an electrical engineer whose working life began at a refinery and a power company and has since run through the data center: the deployment and lifecycle management of software applications, from first install to retirement. From there the work reaches outward into software architecture, CPU architecture and FPGA design, and down to the physics underneath — high-frequency radio communication, the propagation of electromagnetic signals, and digital signal processing. This site collects what he builds on his own time: an operating system and its tools, instruments that read the physical world, and games, both new and very old.

Areas of work

AreaWhat it coversOn this site
Data centersOperations of production computing; keeping a fleet observable and recoverableCopal fleet tooling, Orrery, copal-tm
Software lifecycleDeployment, packaging, release and retirement of applicationsThe Copal installer; releases on crates.io
Software architectureLayered, source-pluggable systems with one read modelOrrery, Static Stream, TrendCatcher
CPU architectureInstruction sets and machines, down to 8-bitASCITTY and UR FINKEL on the Commodore Plus/4
FPGA designDigital logic in programmable hardware—
RF and propagationHigh-frequency radio communication; how electromagnetic signals travel—
Signal processingMeasurement, spectra, and error-correcting codesRadBeeper's spectrogram; Static Stream's Reed–Solomon codes

Projects

Systems

Copal Linux Operating system

One Alpine installer. Many targets. An SD card for a Raspberry Pi, a UEFI disk for a PC, or a virtual machine under UTM on an Apple Silicon Mac — the same eighteen stages, whichever medium you point them at.

Language POSIX shell, QML, Python · Platform Alpine Linux — Raspberry Pi, x86-64 UEFI, UTM on Apple Silicon · License MIT · copallinux.github.io/copal · github.com/copallinux/copal

copal-tm Task manager

An instrument panel and a process browser, in one terminal window. The task manager for Copal Linux's full install. One Rust crate, zero dependencies.

Language Rust · Platform Linux terminal · Version 0.1.3 · License MIT · crates.io/crates/copal-tm · github.com/vonglurt/copal-tm

Orrery Fleet console

The Copal fleet's console: the wall, the seat, and the verbs. A web console, a full-screen terminal seat, and a native museum interface — three faces on one read model, served by the warden. Zero dependencies, Rust.

Language Rust · Platform Linux · Version 0.1.0 · License MIT · github.com/vonglurt/orrery

Static Stream File format

A stream stopped in a file, and let go again. A stream written into a .sstr file with its order, its pace and its tolerance for damage intact — protected by Reed–Solomon codes and parity, checkpoints signed with your SSH key.

Language Rust · Platform Linux, macOS · Version 0.2.0 · License MIT · crates.io/crates/staticstream · github.com/vonglurt/staticstream

Linux Antiquity for Copal Desktop theme

Art nouveau and old star charts, put on a keyboard. diinki's Linux Antiquity theme, distilled for Copal Linux: no systemd, no GPU required, and every part reachable without a mouse.

Based on diinki/linux-antiquity · Platform Copal Linux, Hyprland · License MIT · github.com/vonglurt/linux-antiquity

Instruments

RadBeeper Radiation monitor

See what your Geiger counter is counting. Keep a record of it, and put it on a web page. For the GQ GMC-320 Plus, on Linux.

Language Rust, Python · Hardware GQ GMC-320 Plus Geiger counter · Platform Linux · Version 0.5.0 · License MIT · vonglurt.github.io/radbeeper · github.com/vonglurt/radbeeper

birdshot Camera software

Bird and sky capture for the Raspberry Pi HQ Camera. An IMX477 on a Compute Module 4, driven properly: metered auto-exposure that holds through a changing sky, quality gates, and a storage cascade that runs until the last disk fills.

Language Python, C++17 · Hardware Raspberry Pi CM4 + HQ Camera (IMX477) · Version 1.0.0-rc1 · License MIT · birdshot.org · github.com/vonglurt/birdshot

Games

Crabminer Browser game

It's a crab mining game. Run a crew of robot crabs on the sea floor: scout for metal, drill it, smelt it in lava, and sell it up to the surface for crab profit. The sea behind this page comes from it.

Language JavaScript, HTML, CSS · Platform Any modern browser · License MIT · crabminer.com · github.com/crabminer/crabminer

ASCITTY Real-time raytracer

A raytraced city, made of typeable characters. Rendered in real time on a colour terminal and on a Commodore Plus/4 — and a taxi game inside it.

Language Rust · Platform Colour terminals; Commodore Plus/4 · Version 0.9.0 · License MIT · github.com/vonglurt/ascitty

Yodacon Space trading, since 1997

The ship got built. Team Yodacon revives ConEx, the 1997 Escape Velocity plugin, and expands it into a commodity-trading game with a landing sequence driven by real reentry-heating physics.

Language Go, Python · Platform macOS, Linux, Windows · License MIT · yodacon.org · github.com/yodacon/yodacon

UR FINKEL Retro game

The Royal Game of Ur, for the Commodore Plus/4. The oldest playable board game, on an 8-bit computer. Play it in your browser: a Plus/4 boots inside the page and runs the game.

Language C · Platform Commodore Plus/4; browser · License MIT · vonglurt.github.io/urfinkel · github.com/vonglurt/urfinkel

Gonex Space combat

The third generation of the same little space war. A Go and Ebitengine port of konex — itself a 2005 C++/OpenGL remake of ConEx, the 1997 Escape Velocity plugin. Team deathmatch with twelve ships, plus one recovered from 1997.

Language Go (Ebitengine) · Platform macOS, Linux, Windows · License GPL · github.com/yodacon/gonex

konex Space combat, 2005

ConEx, ported to the PC. Joshua Bussdieker's 2005 C++/OpenGL remake of ConEx, the 1997 Escape Velocity plugin — the middle generation between ConEx and Gonex.

Language C++, OpenGL · Platform X11, Win32 · github.com/yodacon/konex

Tools

TrendCatcher Market research engine

The meme stock zeitgeist engine. A layered Node.js engine that aggregates r/wallstreetbets attention and congressional-trade disclosures into a ranked, terminal-styled pick list. Source-pluggable, and brutally honest.

Language JavaScript (Node.js) · Version 0.6.0 · License MIT · Source Private

Retrocomputing

PDP-11 Minicomputer

A PDP-11, soldered together. A simulator of DEC’s 16-bit minicomputer, the machine Unix and C grew up on, built by hand on the bench.

Machine DEC PDP-11 (simulated) · Build Hand-soldered

Commodore Plus/4 repair Repair

A 1984 Commodore, back on the bench. Repairing a Commodore Plus/4, the 8-bit machine that ASCITTY and UR FINKEL are written for.

Machine Commodore Plus/4 (1984) · Processor MOS 7501, a 6502 derivative · Video and sound TED

6502 Game Log Game log

What’s worth playing on a 6502. A running log of games played on Commodore machines, the Commander X16 and other 6502 computers: the game, the machine, and a short review of each.

Machines Commodore 8-bit computers, Commander X16, other 6502 systems

Websites

Elsewhere

github.com/vonglurt (Personal projects) · github.com/copallinux (Copal Linux) · github.com/yodacon (Team Yodacon) · github.com/crabminer (Crabminer)

This is the text-only version of www.paulricheson.com, laid out for printing. Every project has a page of its own there, with pictures.