Abe Voelker Programming stuff, mainly

Amazon removes hundreds of products referencing AK-47s and AR-15s

5 minute read

Starting in early August, Amazon seemingly began purging hundreds of listings for firearm accessories from its website that include the terms “AR-15” or “AK-47.” At the moment, many of these products still show up in Google’s search cache, however following the results render Amazon’s 404 page which displays a picture of a random employee’s dog:

I first noticed this happening last month when some products I was planning to buy disappeared, as well as products that I had already bought from Amazon that were in my order history. When I started noticing a pattern, I wrote a quick crawler to perform some Google queries and walk the results to see what exactly had been recently removed. I came up with a list of a couple hundred products, although there could be many more I’m missing.

Read more

On the death of my family's dairy farm

46 minute read

On the death of my family's dairy farm

Mar 6th, 2019

This Christmas, like every other, I traveled to northern Wisconsin to stay with my parents on the dairy farm I grew up on.

As usual I took the opportunity to help my dad and younger brother with barn chores and milk cows. The cows need to be milked twice a day, every day, roughly around 4AM and 4PM. I didn’t help out every shift but I worked more than enough to once again be humbled about the life I left behind and recalibrate my nostalgia.

Early morning walk to the barn

Speaking of which, I never had the work ethic to be a farmer. Ever since I was little and playing video games on our NES, I was enamored by electronics. By the time our family got a personal computer and dial-up internet for Christmas in 1997,1 when I was 11, I was completely and hopelessly sucked in. There followed many evenings where my dad would come flying in to the house to yell at me for being late for chores when I lost track of time on “that damn computer.”2 😅

Thankfully for all involved, my younger brother Noah inherited my dad’s insane work ethic and love of farming and took up the farm’s reins (he also picked up my slack when we were younger - thanks Brother). He loves the work and excels at it.

Sunset harvest on the farm

Barn panorama

I instead went to college and became a computer programmer, and haven’t lived in my hometown since.

I also have two older brothers; neither of them got the farming gene either. My eldest brother Jerry3 lives near Madison and also works in the software field. My second-eldest brother John lives near my folks and helps out quite often, but he also does other work and has other obligations, so most of the daily farming work falls on my youngest brother Noah and my dad, who is now into his seventies.

Sadly this year I found out that it will have been my final Christmas coming home and milking cows, because they’ll be selling off the cows over the coming spring and fall.

My dad and brother Noah getting ready to milk
  1. The computer was a Gateway 2000 with a Pentium II 233MHz CPU and 32MB RAM. My parents splurged on a gaming add-on that added a Microsoft SideWinder joystick and a few games (including Interstate ‘76, which may even be what pulled me toward computer programming, which introduced me to hex editing vehicle definition files in order to “hack” the game).

    I have to give props to my parents for going out of their way to make Christmas special every year. I’d share a sentimental pic but most of our home pictures and videos were destroyed in a house fire when I was in college. 

  2. I got good at spotting my dad walking the path between the barn and our house, and waiting until he was just kicking open the back door before I’d sprint out the front door. 😗 

  3. Not to leave brother Jerry out of the pics, 🤭 here he is with his nieces and nephews

     

Read more

Lessons learned from launching my first screencast series / training course, Kubernetes on Rails

29 minute read

Kubernetes on Rails website preview

Last month I recorded my first ever screencast series, Kubernetes on Rails. It’s a course that teaches Kubernetes by showing step-by-step how to deploy a sample Ruby on Rails application to Google Cloud’s Kubernetes Engine (GKE) (note: although “Rails” is in the title, there’s very little Rails-specific bits in the course1). In addition, since Google Cloud (GCP) is still a bit more exotic than AWS, I end up teaching some GCP basics as well so it’s not only about Kubernetes.

It’s now been two weeks since I launched it so I thought I’d share some notes on what I did and what I’ve learned from my experience so far.

  1. Maybe I should’ve titled the course differently to reflect this. But naming and marketing a thing like “Kubernetes for Web devs” seemed a bit too broad… also the course teaches Kubernetes without really even needing to focus on the Web app bits. So that wouldn’t even necessarily be more accurate. Oh well, whatever, naming is hard. 

Read more

Deploying a Ruby on Rails application to Google Kubernetes Engine: a step-by-step guide - Part 5: Conclusion, further topics and Rails extras

8 minute read

Update: I’ve now created a premium training course, Kubernetes on Rails, which takes some inspiration from this blog post series but updated with the latest changes in Kubernetes and Google Cloud and greatly simplified coursework based on feedback I got from these blog posts. All packaged up in an easy-to-follow screencast format. Please check it out! ☺️ - Abe

Neon Genesis-style congratulations

Welcome to the last post of this five-part series on deploying a Rails application to Google Kubernetes Engine. If you’ve arrived here out-of-order, you can visit the previous parts:
Part 1: Introduction and creating cloud resources
Part 2: Up and running with Kubernetes
Part 3: Cache static assets using Cloud CDN
Part 4: Enable HTTPS using Let’s Encrypt and cert-manager

Congratulations, we’ve finished deploying the application!

Conclusion

Docker was revolutionary, but it mainly gave us low-level primitives without a way to assemble them for production-ready application deployments. I hope through this tutorial I’ve shown that Kubernetes meets that need by providing the abstractions that let us express application deployments in logical terms, and that GKE is an excellent managed Kubernetes solution.

I’ll close with a great thought by Kelsey Hightower, in that Kubernetes isn’t the final word in a story that doesn’t end:

Thank you

HUGE thanks to my reviewers, Daniel Brice (@fried_brice) and Sunny R. Juneja (@sunnyrjuneja) for reviewing very rough drafts of this series of blog post and providing feedback. 😍 They stepped on a lot of rakes so that you didn’t have to - please give them a follow! 😀

Any mistakes in these posts remain of course solely my own.

Read more