Skip to main content
  1. Dispatches/

New year, new nerdery

·1217 words·6 mins
Articles Aws Assorted Geekery Personal Vps Linux Gentoo Funtoo
Daniel Andrlik
Author
Daniel Andrlik lives in the suburbs of Philadelphia. By day he manages product teams. The rest of the time he is a podcast host and producer, writer of speculative fiction, a rabid reader, and a programmer.

It’s the January of 2018, and the sickness is upon me again. Sometimes you can feel it coming, like that first head fog that warns of a coming cold, or the klaxon of a stomach churn that alerts you to an impending flu. Other times, it comes out of nowhere, and it’s like your world is completely upended by some viral agent that you can’t even see.

In hindsight, all the warnings were there. The text based email client, the open source distributed social network, and the ported Markov bot. I should have known it was on its way, but that’s the way of it with me. The open source and Linux nerdery begins small, but incubates quickly.

The first sniffle>

The first sniffle #

It started with a simple question. I had moved most of my fiction writing from my computer to my iPad Pro, which when paired with the Apple Smart Keyboard and Ulysses becomes an amazing workspace for writing. I soon found that with the exception of documents for work, everything that involved writing was becoming mobile for me. Which is what led me to question that started it all: [What else could I move from my computer to the iPad?

It was about this same time, that I came across this article about a backend engineer who had successfully moved to an iPad Pro as his main computer, by leveraging a mosh connection to his development VPS box. Ultimately, his goal was to have the same environment on his computer as what he could access via his iPad on the server. To achieve this, he chose to use Docker to ensure that his setup would be easily portable to any location.

At the time, I thought to myself, “this is kind of neat,” and then moved on. But, a week later, I couldn’t get the idea out of my mind. For giggles, I started by mimicking his Docker setup on my home computer, and then using the resulting image on my Linode VPS. After all, its resources were being underutilized hosting a static website, so [why not run a Docker server behind the firewall?

That turned out to be less fun than I expected. Don’t get me wrong; it was a neat trick, and got me really interested in Linux Containers, but for the kinds of hobby development I do it was overkill. I bounce around between hobby projects and I ended up making so many rapid changes to the shell container that it grew impractical. Risking losing those changes in the container— since they didn’t lend themselves to a volume —was unpleasant, and attempting to preserve them by updating the Docker image proved to create a lot of busy work. I quickly realized that while I wouldn’t hesitate to use Docker containers to deploy a project, it wasn’t a great way to set up my hobbyist playground.

Turn back? Now? Pshaw!>

Turn back? Now? Pshaw! #

So what now? Drop the whole thing or just configure the host directly to meet my needs? Come on, the answer to that is obvious. Though if I was going to take that approach, I didn’t particularly want to do that on the same box as my production web server. After all, personal site or no, I’m not totally insane. So I spun up another Linode VPS, and because the sickness was well and truly in me by this point, I used it as an opportunity to try out Funtoo. Mostly out of nostalgia from the old days when I used Gentoo as my primary OS.

Compiling a kernel and setting up my virtualenvs in tmux
Compiling a kernel and setting up my virtualenvs in
tmux windows.

Ok, so let me tell you something that will make some people roll their eyes at me. Yeah, I mean that guy in the corner. Ignore him. Here’s the secret: building your OS from source is cool. 😎

Nerdy? Sure. Time consuming? I’ll give you that. But it’s a hell of a lot of fun. It can be overwhelming the first time, but as I mentioned above, I’d done several Gentoo installs from scratch in my past, so even being rusty the procedure came back to me fast.

So what have I got now? A dev box with all my preferred tooling, configured top to bottom exactly as I want it, with NeoMutt for mail, and NeoVim for code editing with syntax aware code completion. Plus, I have a L2TP over IPSec VPN I can use in order to connect to any number of services behind the firewall from my iPad or any other machine.

Well that was fun. What else can I get away with?>

Well that was fun. What else can I get away with? #

Reader, I did not stop there. Of course I didn’t. Once you have the bug, it’s like walking pneumonia; it takes forever to kick it.

I reasoned with myself. Ok, now you have two VPS instances, but one is still only being used as a web server, and the only reason you’re using a Linode for that one is that you wanted to be able to do scheduled posts. But now you have a dev box that could handle your automated site deployments.

Well… since all the sites that were being hosted on that Linode are static, why not throw each one in an S3 bucket and serve it up over Cloudfront on AWS?

Yeah, so that happened.

It’s not as seamless as some people would have you believe. Cloudfront has an annoying practice of not serving up the index.html in subdirectories unless it’s explicitly requested, so you end up having to use a Lambda function to get that to work. With the exception of solving that issue, I was able to get things migrated over relatively quickly. As an added plus, based on my billing projections, I’m probably going to end up saving a couple bucks per month with this setup than I was paying before.1

Feeding a fever>

Feeding a fever #

I honestly doubt I’m kicking this thing anytime soon, so I’m resolved to enjoy it as much as I can. The jury is still out for me on Funtoo vs Gentoo, which is probably worth a post of its own sometime in the future, but for now, I’m having fun, and I’m going to roll with it.

FYI, this thing is going around. I reached out to one of my friends to share this madness and he laughed and said he was already planning to set up another Linux box of his own as well.

One of us
One of us
One of us, One of us, Gooble, Gobble

So watch yourselves out there people. This thing is highly communicable, and if you catch it, you will be condemned to these nerdy delights. If you do, I’d love to hear about it.


  1. The web server used Linode’s backup services, which is a great tool for the price. I can’t use Linode’s backup service for my dev box because I’m running full disk encryption. Instead, I use Duplicity to back up the server to S3 in the form of encrypted and compressed archives.

    My AWS bill is likely going to be around $1/mo, which combined with a $10 Linode is still about $1.50 cheaper than the $12.50 I was paying before. ↩︎

Related

I Am In Fact Alive
·471 words·3 mins
Articles Announcements Assorted Geekery Linux Personal Tech
Wow, where the hell have I been?! It’s two days shy of a month since I last posted, which is an eternity online. As is probably obvious, I’ve been really busy with work and all the other interesting things that life can throw at you.
The Things We Do For Love
·781 words·4 mins
Articles Assorted Geekery Linux Personal Reviews Tech
I haven’t posted in a few days, in part because I’ve been pretty busy, and partly because I’ve been overhauling my system with a brand new Linux distribution. I’m now running Gentoo and I absolutely love it.
I Cancelled My Mad Max Audition
·89 words·1 min
Articles Assorted Geekery Linux Personal
Well, I am finally starting to understand the way Linux works, and I am getting better and better at using and navigating it every day. This is really good, because although my friends and coworkers have this image of me as some kind of computer guru, I have secretly known that I am really just a retarded man-child among computer geeks.