My name's Sequoia, and you can find out a bit about what I do here on this website!
Out of respect for your privacy I do not use google analytics or other third
party scripts that track you on my site, so if you read an
article and liked it, please tell me via the contact page or in the comment
form on posts.
I'm trying out goat counter for analytics. I still respect your privacy! Block at your discretion, and please still contact me. Thanks in advance and happy coding!
Kubernetes Resource Optimization: Just The Basics
How do you write about optimizing Kubernetes clusters without getting into the weeds? The whole thing is just weeds. Nonetheless, there are things you can do to reduce your kubernetes spend and maintain performance without an advanced degree in Kubernetology, and I'll go over some of those things in this post!
Reducing Docker Image Size (Particularly for Kubernetes Environments)
While a few hundred megabytes in an application image seems a small concern in this day and age, when you're running scores or hundreds of instances in a cluster environments such as Kuberenetes, those megabytes start to add up. This can lead to spending more than needed on infrastructure, CI builds taking longer, and performance issues during cluster scaling. Read this post for a few simple tricks to slim down your docker image.
Parsing JSON at the CLI: A Practical Introduction to `jq` (and more!)
JSON is everywhere you look these days. The `jq` tool makes it easy to slice, dice, and transform JSON from the command line. It can be hard to map the official manual to real-world applications, so let's look at some practical examples of `jq` and its cousins that handle YAML & HTML!
A Fond Farewell to My Greatest Fans
I am removing the comment forms from my website due to spam. But are spam comments all bad? Not necessarily! Some of my best comments have been spam.
ES2019 introduced a new way to access the (non-unique) description property of (unique) Symbol objects. As with any new JS feature, every developer's first question is "how can I shoot myself in the foot with this?" Read and find out!
Avoiding Ticket Scope Creep While Improving Code
We all want to "improve as we go" when writing code, but how do we do this while also getting the feature development task at hand done and keeping our PRs small?
When to Use a Programming Framework
Frameworks are good when they speed up stuff you already know how to do; if they are just magic incantations and you have no idea what they’re actually doing, that’s when you run into trouble.
The Rabbi and the Open Source Project
A rabbi, an élite open source project maintainer, and a workaday developer walk into a tech conference
Some thoughts on getting the most out of tech conferences.
Session Management with Microservices
Microservices make some tasks easier and introduce some challenges where they didn't exist before. In this post we'll look at sharing sessions across microservices on the `now` platform.
Let's Code It: Static Site Generator with Rx.js
Watching a filesystem for changes and building an input (markdown) file to output (HTML) on each change? This sounds like a job for... Observables!
Let's Code It: Static Site Generator
Markdown in, HTML out... do we really need a framework for this? I Don't Think So!!
Interactive Debugging with Node.js
The Node.js Debug Module: Advanced Usage
So you're familiar with the `debug` node module. Let's take a look at some more advanced uses and useful tricks!
Let's Code It: The `debug` Module
What if, instead of commenting out or deleting our useful log statements when we're not using them, we could turn them on when we need them and off when we don't? The `debug` module lets us do that-- but how does it work? Let's find out!
Type Hinting in JavaScipt
Techniques to Avoid Live Coding, Part 1
The demo-gods are unmerciful and typing is hard with hundreds of people looking on. Learn to write code without writing code and your presentations will go off without a hitch!
Migrating a Legacy System to a Modern API Framework
LoopBack makes it easy to develop greenfield APIs, but in real business environments, data isn’t always tidy & cooperative. In this case study we'll see what it takes to migrate a complex legacy application to LoopBack.
Higher Order Functions in ES6: Easy as a => b => c;
New language features can make an expression that was cumbersome to write in ES5 easy in ES6, enabling and encouraging the use of this type of expression. We’re going to look at one such case here: how arrow functions make it easier to write higher-order functions in ES6.
Building to Github Pages with Grunt
Wherein I document my Grunt+github-pages+bookmarklet build which required templating, switching branches, rebasing, commit, and all sorts of craziness.
Fun With Toilet
Shell feeling shabby? Spice things up with Toilet, the ASCII generator!
How do you encode animations for a 9x14 LED matrix? By building a web-app, of course!