Howdy!

Welcome to my blog where I write about software development, cycling, and other random nonsense. This is not the only place I write, you can find more words I typed on the Buoyant Data blog, Scribd tech blog, and GitHub.

Accessing Handlebars variables in an outer scope

This weekend I learned some unfamiliar behaviors with the way Handlebars handles nested variable scopes. I typically use Handlebars via the handlebars-rust implementation which aims to maintain nearly one to one compatibility with the JavaScript implementation. They have block scope helpers such as #each and #with, both of which create an inner scope for variable resolution. Unfortunately, the syntax can be quite unintuitive for accessing outer scope once in those nested scopes.

Read more →

Finally figured out those inline Rust errors

Vim can be used as an IDE of sorts for Rust by using a variety of plugins, that don’t always play nicely together. A few weeks ago while I was hacking on some Rust and these errors started showing up inline. Blaring red text basically as soon as I was done typing half-finished thoughts.

Read more →

Remember FastCGI?

“Serverless” is sometimes referred to as “cgi-bin” which isn’t entirely fair as it’s somewhere between cgi-bin and FastCGI. Somewhere along the way both faded from memory. While goofing off last weekend wondered to myself: is FastCGI still useful? Unlike the classic cgi-bin approach where a script or program was executed for each individual request, FastCGI is a binary protocol which allows for longer lived processes serving multiple requests. It continues to be used in the PHP community but seems to have largely fallen out of favor. Nonetheless I decided to tinker a little bit with FastCGI in Rust.

Read more →

Increasing the density of the home lab with FreeBSD Jails

Investing the time to learn FreeBSD jails has led to a dramatic increase in the number of services I run in my “home lab.” Jails, which I have written about before, are effectively a lightweight quasi-virtualization technique which I use to create multiple software-defined networks to segment workloads. Jails have allowed me to change my “home lab” dramatically, allowing me to reduce the number of machines and increase hardware utilization. For now, the days of stacking machines, dangling Raspberry Pis, or hiding laptops on the shelf are all gone. Almost all my needs have been consolidated into a single FreeBSD machine running on a 4 year old used workstation.

Read more →

Ransomware is coming to a cloud near you

Ransomware is the most significant and dangerous evolution of computer-based crime I have seen, and it’s going to get worse. Ransomware attacks have compromised oil pipelines, hospitals, and beef. While they’re nothing new over the past two years, targets have become increasingly high-profile and the adverse impacts of ransomware have similarly become more dire. Based on my read of the reports and incident reviews, these attacks seem to largely be affecting physical infrastructure assets: workstations, servers sitting in closets, and small-scale data center operations. Given this trend, it might be easy conclude that running in AWS, Azure, or Google Cloud offers some level of protection. I strongly doubt it, and I think ransomware is about to get worse.

Read more →

Vaccinated

Everything went fine. Social media is awash with anecdotes about getting vaccinated, side effects, and opinions about other people becoming vaccinated. I recently crossed the waiting threshold after my last dose and felt I should share my experiences as well.

Read more →

The kind of smart appliances I want

I want smart appliances, not the current commonly understood “smart” Internet-of-Things (IoT) appliances, but smart in actually useful ways. A couple years ago I had solar panels installed. The “smart” I want is pretty simple: I want devices that know about surplus energy. Devices which have lower power idle modes that can kick into more productive usage when solar power is bountiful. Generally IoT devices seem to be almost everything I don’t want. I don’t need devices that listen in on my conversations, track my data, and open up security holes in my home network. In this post I want to outline what I do want from “smart” appliances in my home.

Read more →

Ein Gespräch mit Dieter Nuhr

Deutsch ist nicht meine Muttersprache. Trotzdem höre ich seit Jahren deutschsprachige Podcasts. In den letzten paar Monaten habe ich Jung und Naiv gefunden und kann es euch nur empfehlen. Der Podcast-Feed ist eine Mischung aus Bundespressekonferenzen, der Hans Jessen Show, und Interviews mit verschiedenen Leute in der oder aus der Politik. Viele von diesen Interviews sind wahnsinnig lang und ich habe selten ein paar Stunden Zeit, wo ich die Kopfhörer rein stecken kann um ein einziges Gespräch am Stück zu hören. Deswegen habe ich mir in den vergangenen Wochen in kleinen Teilen dieses Interview mit Dieter Nuhr angehört.

Read more →