Yesterday a part of me died; my server, who’s helped me greatly over the course of past 8~ish years, is gone.

Tychy, Poland

Her name was cocaine (with following servers named layla and eric, so you might get the gist of my convention), and her story begins around the year 2012.

Back then my grandparents were still alive, and my grandma decided to get me quite a costly present: my very first own laptop, a Samsung 350V5C.

350v5c
Figure 1. I don’t have photos from back then, so here’s courtesy of Samsung’s promotional materials

Core i3, 4 GB of RAM, and - if I recall correctly - 256 GB of HDD. Objectively not a computing-power monster, but nonetheless a game-changer for me.

It served me well: I’ve been doing a lot of Pascal programming, a lot of PHP (which later landed me my first job), some Arduino; I’ve also been playing Battlefield 3 (800x600 x minimum details), and lots of other games.

Since I was a tinkering kinda guy, not once have I unscrewed and screwed the entire machine - out of all the memories, I remember breaking the connector of keyboard’s ribbon cable the most vividly, mainly because it left a permanent mark on my workflow:

cocaine 3

(in case you don’t see it: there’s supposed to be a piece of plastic on top of the connector, to "catch" the cable and prevent it from drawing out)

From that point on, I’ve had to keep a piece of paper under the keyboard’s ribbon cable, ensuring it reliably pushes the cable’s pins up the connector. Not long ago after, it became a customary thing that the keyboard started malfunctioning out of the blue at least once a week (think: enter becoming backspace), making me re-do all the paper-under-the-ribbon thingie all over.

Eventually I’ve moved on to a new computer, with improved components, and Samsung landed in a box for a few months.

Kraków, Poland

In 2017, in search of work, I’ve relocated from my hometown to Kraków; I took both of my laptops with myself, although - because of my constant tinkering - the Samsung one was at that point pretty much just a motherboard with a display, unusable for a day-to-day work.

Some time after I’ve got cable internet installed, I’ve remembered about my oh-so-dear first laptop, and I realized that it doesn’t actually have to be lay away in a cardboard box: I could make it a home server!

Even though my apartment was rather small, I’ve managed to find a neat, cosy & clean space for it; it wasn’t perfect, but certainly lagom.

One of the first issues I had to solve was connecting this - at this point - server into my network. Since router was at the opposite side of the wall (in another room), the only solution was to use a wi-fi card. And so it went. Transfer rates weren’t that great (2 megabytes per second was an absolute maximum), but - once again - certainly lagom.

I remember the joy of installing an Ubuntu 16.04, doing "a professional" setup consisting of LXD and ZFS with RAID 0 on two separate HDDs.

I also remember the joy of having to choose a name for this freshly reborn machine; since I’m a humble fan of Clapton’s music, I went with cocaine rather swiftly.

One of the first applications I’ve installed, and ran 24 hours a day, was Folding@home; I’ve given it half of the resources, and I was ecstatic each time I logged in via ssh and saw it constantly working, constantly helping and, generally, being useful.

Wrocław, Poland

In 2019, because of my girlfriend’s studies, we’ve relocated from Kraków to Wrocław.

This time we’ve rented a flat in a brand-new block of flats, with top-notch 1 Gbps fiber optic internet, which opened a completely new window of opportunities for cocaine to shine - especially since here she was connected directly to the router via an ethernet cable, without having to do all sorts of funky wireless twirls.

speedtest-cli is a nice way to check your internet artificial speed, but if you want some organic readings, torrents are the way to go™.

And so I’ve installed Deluge, and became a local seeder for TempleOS, SageMath, all popular flavors of Ubuntu, and - among others - random stuff from Internet Archive that happened to catch my eye.

A bit surprisingly for me, TempleOS was the most popular torrent I had the opportunity to seed so far.

Later, among others:

  • I’ve bought a UniFi access point, and I’ve installed the AP management software on cocaine,

  • I’ve created a dedicated LXD container for a friend, where he’s been hosting a site he’s been working on,

  • One time I’ve even re-created half of the-company-im-working-at’s environment (HTTP server, database, queue, etc.), so that the frontend guys could test our latest API changes we couldn’t have deployed on our actual testing machine.

Having said that: we weren’t always getting along though.

For instance, one time cocaine refused to boot at all; I’ve been searching the internet for countless, lengthy hours until I’ve stumbled upon an answer suggesting to remove a single very specific capacitor near the CMOS battery:

cocaine 1

As I’ve begun to understand that I’ve reached cocaine 's limits - CPU-wise, memory-wise, storage-wise & reliability-wise (no hardware RAID) - I’ve decided to shrink my wallet a bit and buy a new server (a PowerEdge T620); I’ve moved most of the stuff there and, for the past few weeks, the only thing cocaine has been responsible for was running Deluge.

A few days ago I noticed that I cannot ssh into cocaine anymore - I checked all the cables, restarted everything, and eventually left a note for myself to check it thoroughly later.

later occurred to be yesterday - I dusted off an old HDMI cable and connected the motherboard into my TV.

As the screen detected the video signal coming in, I began to see a BIOS setup screen - a quick glance revealed that it wasn’t a regular BIOS setup screen though, because it was filled with lots of visual artifacts (kinda like you copy & pasted an image over itself at various, random places).

Among all the glitches I saw, I did see that BIOS correctly showed current time - it wasn’t reacting to the keyboard at all, though.

I checked "the usual stuff" (RAM, HDDs, etc.) and eventually gave up, reminding myself that she already worked long enough; certainly longer that I would ever anticipate a server scraped from a low-end motherboard, with ad-hoc USB-HDDs, and a tiny fan could endure.

I pulled the power cord out, and put her on a chair to take the last photo for my journal:

cocaine 2

FF:FF:FF:FF:FF:FF

This story is an emotional one; it’s such mainly because the entire journey has been emotional too - there was joy and rage, moments of blissful satisfaction and vexing frustration; and I’ve learned a lot on the way.

And if I were to pick a single thing I’d like for you to take from this article, I’d say: lagom.

You don’t always need a fully-fledged server-server to begin with; you don’t always need a guitar-guitar, or brush-brush - just start with what you have at hand and see how it goes.