I get technical itches.
They are not business requirements. They do not emerge from a needs assessment, a productivity study, or a careful comparison of available products. Nobody asks me to solve them. In many cases, no normal person would recognize the underlying condition as a problem.
The itch arrives first. The use case has to catch up later.
A while ago, I bought a cheap purple Meshtastic device from somebody on Etsy. I wasn’t a prepper, I wasn’t a ham radio operator, and I didn’t have anyone nearby I particularly needed to contact over LoRa. I just wanted a tiny radio node. I put it in my eighth-floor apartment window, gave it a clear view across Arlington, named it Abracadabra, and left it running. Eventually it stopped being a gadget and became infrastructure: a permanent router participating quietly in a local mesh whether I was looking at it or not.
That became Leaving a Purple Meshtastic Node in the Window, an entire essay about how infrastructure begins when you stop checking whether a thing is entertaining and simply allow it to remain present.
Then there are my Tachikoma ThinkPads. I own a Lenovo W520 and an unnecessary number of X220s, all from the brief historical window when ThinkPad keyboards were still correct. They all run Linux Mint. Different machines live in different bags, but I want whichever one I open to contain the same current working mind.
So I built a little Syncthing network around another DigitalOcean Droplet. The Droplet holds the canonical copy of my Documents directory. Each ThinkPad wakes up, synchronizes with the cloud brain, becomes the current body for a while, then returns its new memories before shutting down. The next ThinkPad wakes up knowing everything the last one knew.
That one became My Tachikoma ThinkPads: A Self-Hosted Sync Network for One Human and Many Terminals.
Dropbox would have been easier. One modern laptop would have been easier. None of that is the point.
The point is the itch.
This one started with PINE
My first computer was an IBM PC 5150 with two 5.25-inch floppy drives, no hard drive, and a green monochrome monitor. I got it when I was thirteen, in 1983. My father had an Osborne 1. I used WordStar. Later, WordPerfect felt like the name of a product and a statement of fact. A dot-matrix printer chattered on fanfold paper nearby.
By the early 1990s, email meant terminals, university systems, command lines, and PINE. Email was somewhere you went to read messages. It was not a full-screen behavioral environment with animated sidebars, suggested replies, chat bubbles, calendars, documents, artificial intelligence, twelve account switchers, and a red badge announcing that civilization had failed because 14,382 messages remained unread.
I still spend most of my working life in text. I write. I edit. I answer people. I move between terminals. Most of my email replies do not require a browser rendering engine capable of playing 4K video while simultaneously consuming the electrical output of a small hydroelectric dam.
I began fantasizing about a dedicated computer that existed only to hold my email sessions. Not a physical computer, exactly. More like a room on the internet.
From any of my ThinkPads, I would open a Linux Mint terminal and SSH into that room. Inside, Alpine, the modern descendant of PINE, would already be running. The session would persist even if the laptop closed or the Wi-Fi disappeared. I could enter through another ThinkPad later and find everything exactly where I left it.
Eventually I would have three Alpine sessions:
chris@gerriscorp.commy Stainless Communications account
my Meritus Media account
Each mailbox would live in its own tmux window. I could move among them without logging in and out of web interfaces, hunting for tabs, or wondering which Google profile currently owned the browser. Three identities, three text cockpits, one persistent server.
It would use almost no resources. It would be quick. It would be quiet. It would be mine.
This is an absurd amount of infrastructure to avoid opening Gmail.
I wanted it desperately.
Building pineBox
The project had to be called pineBox, always with camel caps when referring to the idea. The actual Linux hostname is lowercase pinebox, because hostnames are not where one expresses typographic individuality.
A pine box is also a coffin, which made the name perfect. PINE is dead. Alpine is fine. Everything old would live again inside pineBox.
I created the smallest useful DigitalOcean Droplet I could buy:
Debian 13
one shared virtual CPU
512 MB of RAM
10 GB of SSD storage
$4 per month
a public IPv4 address in New York
This is not a powerful computer by modern standards. It is also ludicrously more powerful than any computer on which I used email in 1993.
I added a one-gigabyte swap file because 512 MB is charming until Debian briefly remembers that it was born in the twenty-first century. I created my own chris account, gave it carefully limited administrative privileges, installed my SSH key, disabled root login, and disabled password authentication. I installed UFW and configured the firewall to deny everything coming in except SSH. Automated security updates are enabled.
There is no website on pineBox. There is no database. There are no public users, forms, containers, dashboards, mailing lists, or applications. It is one small locked room containing one human’s email client.
On my W520, named Menta, I added an SSH configuration entry so I do not have to remember the server’s numerical address. Now I type:
ssh pineboxThat is the door.
Inside, I installed Alpine and tmux. Tmux is what allows a terminal session to survive the terminal itself. I can disconnect, close the laptop, turn it off, open another ThinkPad three days later, reconnect, and reattach to the same running session. Alpine never knows I left.
That persistence is the real itch. The laptops become interchangeable terminals. The state lives somewhere else.
The architecture is almost offensively simple:
ThinkPad X220 ─┐
ThinkPad X220 ─┤
ThinkPad W520 ─┼── SSH ──> pineBox ──> tmux ──> Alpine
ThinkPad X220 ─┤
ThinkPad X220 ─┘Only one body needs to be awake. The cockpit remains.
Then Google required the future
Reading Gmail from a 1990s-style terminal client in 2026 involves an amusing amount of modern identity machinery.
Google no longer permits an email client to stroll in with a username and ordinary password. Correctly, to be fair. My Google Workspace account requires OAuth 2.0. Alpine 2.26 supports XOAUTH2, but that meant creating a Google Cloud project, configuring the Google Auth Platform, defining the audience, creating a desktop OAuth client, supplying Alpine with the client ID and secret, and completing Google’s browser-based authorization flow.
The final result is wonderfully anachronistic. A text-mode email client running on a tiny Debian server launches an OAuth authorization process through Google’s global identity infrastructure, after which it returns to looking almost exactly like PINE did when I was in college.
Once authorized, the inbox appeared.
There it was: live Gmail inside Alpine. Plain text. Sender, subject, date, size. No promotional cards. No hovering interface. No algorithm trying to be helpful. Just email behaving like email.
The first itch was gone immediately.
I could SSH into pineBox from Menta, enter the persistent tmux session, and read my real Google Workspace inbox in Alpine. If I disconnected and returned later, the green tmux status bar and my mailbox were still there waiting.
This was objectively unnecessary and spiritually exact.
Reading worked. Sending waited at zero percent.
The first outbound test message sat at:
Sending mail | 0%Nothing happened.
This looked at first like an Alpine or OAuth problem, but the diagnosis was simpler. DigitalOcean blocks outbound SMTP traffic on ports 25, 465, and 587 by default. This is an understandable anti-abuse policy. Tiny, instantly deployable cloud servers with fresh public IP addresses are enormously useful to legitimate customers and equally attractive to people who would like to send several million exciting investment opportunities before breakfast.
DigitalOcean already hosts my excellent Syncbox, the canonical brain behind my Tachikoma ThinkPads, and it has been excellent for that job. I am not angry at DigitalOcean for treating outbound SMTP carefully. The company has to protect its network and address reputation from people whose technical itch is “crime.”
My own use case is almost comically harmless. I am not running a mail server. I am not sending newsletters or transactional messages. There is no automation. I am one person writing ordinary replies through an authenticated Google Workspace account, probably a handful per day.
So I opened a support ticket and explained the entire strange little project honestly. DigitalOcean asked for more context before forwarding the request to its Security team. I replied that pineBox is a private, single-user email workstation running Alpine inside tmux, reachable only by SSH, with no public application or mail daemon. Gmail requires the standard authenticated submission ports and does not offer an alternate port such as 2525.
I even confessed the actual reason:
In short, this is one person using a terminal email client for normal correspondence, partly because it is fast and partly because I miss how pleasantly simple email was in 1993.
That request is now with DigitalOcean.
If the ports are opened, I will retest the connection, send the poor message still waiting at zero percent, verify replies and Gmail’s Sent folder, and finish wiring the Gerris cockpit for sound. Then I will add Stainless Communications and Meritus Media as separate Alpine configurations and tmux windows.
If the request is declined, there are other options. I could move pineBox to a provider that permits authenticated SMTP submission. I could route outbound messages through an alternate service. I could even build a local sendmail-compatible helper that accepts Alpine’s finished MIME message and sends it through Gmail’s HTTPS API, bypassing SMTP entirely.
That last option is unnecessarily elaborate, faintly deranged, and very Unix.
I am trying not to hope DigitalOcean says no.
Why not just use Gmail?
Because I already do.
This is not a boycott of webmail. I am not claiming Alpine is objectively superior for every person or every message. Attachments, rich formatting, calendars, searches across years of mail, and administrative work will still sometimes send me back to a browser.
The mistake is assuming that because one tool can do everything, every interaction must happen inside it.
Most of my daily email work is text. Someone writes something. I read it. I write something back. For that small, ancient transaction, Alpine is extraordinarily good. It uses the whole terminal without filling it with interface. It responds immediately. It does not care which ThinkPad I am holding. Tmux preserves the exact state of the session between visits.
The browser treats each laptop as a separate place where I must reconstruct my working context. PineBox treats the laptops as windows into one place that already exists.
That is the same itch behind the Tachikoma network. My Documents do not belong to whichever computer happens to be open. They live in a continuous shared mind, and each ThinkPad temporarily embodies them. Now my active email environments can work the same way.
The Meshtastic node follows the same pattern from another direction. It became meaningful only when it stopped depending on my attention. It remains in the window, powered and present, doing its quiet job.
I keep building small systems that continue to exist when I am not looking at them.
The pleasure of exact overkill
Most consumer technology is designed around an imaginary average person. That is reasonable. Products need markets. Interfaces need conventions. Companies cannot build a bespoke metaphysical operating environment for every middle-aged man with seven ThinkPads and unresolved feelings about green monochrome displays.
Fortunately, Linux will.
My technical itches are rarely about acquiring capabilities I could not otherwise obtain. Dropbox can synchronize files. Gmail can display email. A phone can send messages over several globally maintained networks without a purple LoRa box in my window.
The itch is usually about arrangement.
I want to decide where state lives. I want one continuous environment available through many bodies. I want small machines performing narrow jobs well. I want systems that become boring because they are stable, not because I lost interest. I want to understand the pieces well enough that the result feels inhabited rather than rented.
PineBox costs four dollars per month. It runs on half a gigabyte of RAM. It solves a problem almost nobody has, using software whose interface would be familiar to a university student from thirty years ago, authenticated through security infrastructure that would have sounded like cyberpunk at the time.
It has already succeeded.
I can sit at a W520 built in 2011, open a Linux Mint terminal, type ssh pinebox, and enter an email cockpit that persists somewhere in New York whether that ThinkPad is awake or not.
Soon, Inshallah, it will send.
Until then, I can read six messages very efficiently.
That is too much fun.
It is also extremely stupid.
These are not opposing qualities.



