👻 mediocregopher
Why I Don't Like Go Channels
I Made a Gigantic Toolchest
No One Can Stop You From Making a Toy VM
Panning for Tunes (May 2025 Edition)
Dragging Myself Kicking and Screaming Into the Future
busiless: A Proper Introduction
Micropelago Cross-Post: Isle Release 0.0.4 (Alpha) - Windows Support!
Terrace Workbench
CHANGELOG: Expanded Chapter 2 of How to Program Good
Introducing: How to Program Good
Micropelago Cross-Post: A Game Interface for a non-Game
Block AI Scrapers With a Caddy Plugin
Panning for Tunes (Jan 2025 Edition)
CHANGELOG: gemlog_to_feed Caddy Module
Isle Release v0.0.3 (Alpha) - Multiple networks, CLI configuration, oh my!
Torquato Tasso, and other works from Goethe (1790)
busiless: A Simple Task Tracking and Auto-Prioritization Tool
How Much Faster is Passing-by-Pointer in Go?
I Built a Table for My Record Player
CHANGELOG: Inlined Images Site-wide
New Section Added: 🫶 Donation Station - All people/orgs I have recurring donations to
Movie Review: Alien: Romulus (No Spoilers)
CHANGELOG: Random Acts of Art
A Whole New World
Serving Gemtext Files From Caddy
A Simple Script to Initialize nix-Based Projects
Mediocre Feed: My New Feed Reader
Who Needs a Whole-Ass Git Forge, Anyway?
Fumble Around! A New Gemspace Discovery Service
Book Report: Sir Gawain e il Cavaliere Verde
In Defense of Boilerplate
Serving a Website From a Git Repo Without Cloning It
Book Report: The Consolation of Philosophy
Digital Tidying: Finding and Fixing Dead Links
Micropelago in 2023
On the Shoulders of Giants
Statically Cross-Compiling Rust Projects Using Nix
Ginger 2023 Update
Code Coverage Ain't Everything
Deep Ecology
Story Time: The Hackiest Feature of Them All
DANE Will Set Us Free
The Whole World is Sleeping On Mr. Gnome
Open Offer: I Will Host Your Domain
How to Errors Good
RESP as a General Purpose Serialization Protocol
Domiply: Your Friendly Neighborhood Gateway
Good Music You Haven't Heard Of
Saying LLMs Lack "Understanding"
Copyright, but Punk
Eyeball-Minute Land
A Tour of Gemspace
How to Learn Rust
"Blog" is Such an Ugly Word
Mastodon's Biggest Problem is Its Name
Why Fight The Oaks?
Siamo Tornati!
Running ruTorrent With Nix
My TODO System
Public Release of cryptic-net
Re: The Mindless Tyranny of "What If It Changes?"
Another Small Step For Maddy
My Ideal Operating System
You Just Can't Win
Old Blog, New Bones
Why Do We Have WiFi Passwords?
Ginger: A Small VM Update
The Case for Open Infrastructure
The Cryptic Filesystem
Ginger Names
DAV is All You Need
Ginger: It's Alive!
Minting A Single NFT
Managing a Home Server With Nix
DOG! MONEY!
Building AppImages with Nix
The Syntax of Ginger
Self-Hosting a Blog Mailing List
V4 of Radix, a Golang Redis Driver
How to Secure a Webapp
Setting Up maddy On A VPS
Viz 7
Self-Hosted Email With maddy: A Naive First Attempt
Viz 6
Adventures In DeFi
Viz 5
Viz 4
New Year's Resolution Vibe Check
Ripple V3
NFTs
Loops in Ginger
Composing Processes Into a Static Binary With Nix
Ripple V2: A Better Game
Evaluation of Network Filesystems
F-Mail
A Simple Rule for Better Errors
Ripple: A Game
Conditionals in Ginger, Errata
Conditionals in Ginger
Married!
Building gomobile Using Nix
Old Code, New Ideas
Building Mobile Nebula
Goodbye, Github Pages
The Web
Ginger
New Year, New Resolution
Component-Oriented Programming
Viz 3
Denver Protests
Program Structure and Composability
Viz 2
Viz 1
Rethinking Identity
Brian Bars
Happy Trees
Go's http package by example
Rabbit Hole
Erlang Pitfalls
Diamond Square
Namecoin, A Replacement For SSL
Generations
Go+
Erlang, tcp sockets, and active true