Dynamic Automatic Proxies

On of the advantages of working in computer programming is that I can work from anywhere I have a computer and an internet connection. One of the disadvantages is that many of the resources that I need to do my job are locked to only be accessible within a specific network (albeit with a bastion host).

I long ago set up my SSH config to create an SSH tunnel and I can proxy many applications through that just by setting the HTTP_PROXY and/or HTTPS_PROXY environment variables. The downside of this though is that if I’m actually on a ‘safe’ network, there’s no reason to use the bastion host and I would actually be putting extra load on it.

My goal: write something that would let me automatically proxy applications when I need to but not when I don’t.

Deterministic Shuffling Using Hashes

Whenever I create my yearly reading list, I need a way to order the books. Sure, I could just shuffle them normally, but that leads me to the temptation of cheating and re-shuffling them so that the books I want to read most are first. What I really need is a shuffle that will shuffle the same way every time.

Enter: hashsort

Migrating to Hugo

A long time ago1, in a galaxy far, far away2, I moved my blog from WordPress to a custom written static blog generator in Racket. And for a while, all was well.

Boundary Crossed

The third time I died was early on a Monday morning, a week after Labor Day.

That’s one heck of a first line.

Hungry Ghosts

(language warning)

“Damn right I don’t deserve it. Nobody fucking deserves it. I’m in the middle of a cosmic threesome I didn’t want to have and I’m the one getting fucked.”

Broken Souls

I’ve been lied to a lot, lately. And some of it’s been with the truth.

Broken Souls follows up the craziness that was Dead Things and turns the dial up yet again. We get some fascinating worldbuilding, expanding both the series’ view of necromancy and the dead and the Aztec side of Santa Muerte.

Dead Things

Mages are born with a knack. Illusions, transformations, divinations. Some people are just better at some things than others. I got dead things. Yay me.


Babylon's Ashes

Babylon’s Ashes doesn’t really have much new to say.

One one hand, the interplanetary and interpersonal conflicts we say growing through the last book or two come to a head here, with space battles large and small, culminating in a lot of destruction and a fascinating yet completely mysterious final battle.

Clock drift in Docker containers

I was working on a docker container which uses the aws cli to mess around with some autoscaling groups when I got a somewhat strange error:

A client error (SignatureDoesNotMatch) occurred when calling the DescribeAutoScalingGroups operation: Signature not yet current: 20171115T012426Z is still later than 20171115T012420Z (20171115T011920Z + 5 min.)


Are the clocks off?