Posts
New and Improved Development Environment Opinions ✨
May 01, 2025
An opinionated list of software I like enough to recommend.
It's been a few years since I wrote my previous post, Development Environment Opinions, and I've found new things, refined my tastes, etc. So here are my new and improved development environment opinions!
Practical Kubernetes, Helm, and Helmfile
December 06, 2022
A guided tour of the basics of Kubernetes, Helm, and Helmfile.
As I was learning the basics of Kubernetes, Helm, and Helmfile, I was disappointed in the resources available for learning. All the technical information was available out there but it was spread across dozens of documentation pages in three projects and I didn't find any good summaries of the basic concepts.
This article will walk you through the process of deploying a simple Node application in Kubernetes, packaging that Kubernetes configuration as a Helm Chart, and then orchestrating Helm Chart installations for local development environments with Helmfile. As we go along I will define all the relevant terms and concepts, quoting from documentation sources where possible, while linking back to the official documentation for those terms and concepts so you can explore those topics further on your own. When we're done you should have a working example and many threads to pull on for future learning.
All the code in this article can be found on my GitHub at keawade/kube-helm-helmfile-demo.
Development Environment Opinions
December 11, 2019
An opinionated list of software I like enough to recommend.
This is a collection of software I've used that I have found useful or neat. I've included install instructions for macOS but if you're on linux, finding other ways to install this software shouldn't be difficult.
PokéData Vue
January 22, 2017
Learning Vue + Vuex with Pokémon.
The latest technology in my serial of Pokedex's with different JavaScript frameworks is Vue! I've been working with Vue off and on for the last few months with garden-vue and w-os. Now I've finally gotten around to building my recurring PokeData with Vue as well.
PokéData Improved
September 06, 2016
Building a more sane Pokémon app with React.
I took another look at the PokéData app, this time with an eye towards what technologies would work best rather than trying to cram some odd things in for the development experience. What I've come up with is a new version of PokéData built using React without Redux or PokeAPI.
PokéData
July 12, 2016
Learning React + Redux with Pokémon.
Over the last month I developed a small project called PokéData. I built it initially to experiment and learn with React and Redux but with the recent release of Pokémon Go, it has become slightly more useful.
Cuddly Weasel
January 21, 2016
A calculated adventure in DOM manipulation.
Last fall I had a bit of fun building a calculator app, cuddly-weasel, using only DOM manipulation and CSS. I thought I would take some time here to highlight some of the more interesting things I ran into in the course of this project.
Advent of Code: I Was Told There Would Be No Math
December 28, 2015
Advent of Code 2015 day 2 writeup.
The elves have run out of wrapping paper and ribbon! For this puzzle we are given the dimensions of a bunch of presents as a list of strings and are asked to compute how much wrapping paper and ribbon should be ordered to wrap the remaining presents.
Advent of Code: Not Quite Lisp
December 27, 2015
Advent of Code 2015 day 1 writeup.
Eric Wastl has created a series of holiday themed programming exercises over at Advent of Code and I thought it would be fun to post my solutions to these exercises now that they have all been released. I'll be posting more of my solutions as I have time to write up my methodologies (and complete some of them).
Configuring a Hyper-V Cluster
July 04, 2015
A step by step guide to configuring a basic Hyper-V Cluster on Windows Server 2012.
Hyper-V can be a particularly useful tool for consolidating computing resources. However, while consolidating machines into VMs can lower your hardware overhead costs, this introduces a single failure point for all your machines. If the Hyper-V server goes down, all your VMs will go down as well.
To overcome this issue, we can use Hyper-V's Failover and Load-balancing tools to build a Hyper-V cluster. These tools will provide failover for our machines so that, in the event of a critical failure on one of our Hyper-V nodes, the VMs running on that node will come back up on another node within seconds.
NTP Configuration
August 04, 2014
A brief guide to the Network Time Protocol and its configuration.
Network Time Protocol (NTP) is used to synchronize computers around the world to allow for better communications on networks with changing latency such as the internet. This is done with a tiered infrastructure of timing devices.
The top tier, stratum zero, consists of high precision time devices like atomic clocks or global positioning system clocks that keep extremely precise time. Below this tier is stratum one which consists of servers with their system clocks closely synchronized with an attached stratum zero device. Next are the stratum two servers with synchronization to stratum one servers and so on.
To avoid overloading stratum one servers with time requests from clients most stratum one servers are not available for public time requests. Instead, many stratum two servers are maintained specifically for the purpose of providing time synchronization to any client machine. These servers are often managed by businesses for their internal networks but many are managed by organizations like universities or the National Institute of Standards and Technology (NIST) for general use.