Recent Articles
![Reliably Finding Files in $PATH](../../static/img/blog/reliably-finding-files-in-path-thumb.jpg)
Reliably Finding Files in $PATH
Aug 27, 2021 · 4 min read
Most built-in commands commonly used to find files in $PATH don't always work quite as expected, or are shell-specific.
![How to Persist Docker Build Arguments as Environment Variables](../../static/img/blog/how-to-persist-docker-build-arguments-as-env-vars-thumb.jpg)
How to Persist Docker Build Arguments as Environment Variables
Aug 22, 2021 · 3 min read
Values from the Docker ARG instruction aren't persisted in built images, so here's a quick tip on how to persist them!
![Docker Shell vs. Exec Form](../../static/img/blog/docker-shell-vs.-exec-form-thumb.jpg)
Docker Shell vs. Exec Form
Mar 22, 2021 · 4 min read
The RUN, ENTRYPOINT, and CMD, instructions all have two different forms they can be written in, and those forms change how each of those instructions behaves.
![You Don't Need an Init System for Node.js in Docker](../../static/img/blog/you-don-t-need-an-init-system-for-node.js-in-docker-thumb.jpg)
You Don't Need an Init System for Node.js in Docker
Mar 20, 2021 · 5 min read
But you do need to think about how your application handles exit signals.
![Publishing Docker Images with GitHub Actions](../../static/img/blog/publishing-docker-images-with-github-actions-thumb.jpg)
Publishing Docker Images with GitHub Actions
Feb 20, 2021 · 7 min read
Publishing Docker images is a common CI/CD task, and the tight integration GitHub Actions has with GitHub repositories makes it a great tool for the job.
![Publishing Docker Images with CircleCI](../../static/img/blog/publishing-docker-images-with-circleci-thumb.jpg)
Publishing Docker Images with CircleCI
Feb 15, 2021 · 8 min read
Publishing Docker images is a common CI/CD task, and the flexibility CircleCI offers makes it a great tool for the job.
![Changing a Git Commit Message](../../static/img/blog/changing-a-git-commit-message-thumb.jpg)
Changing a Git Commit Message
Dec 5, 2020 · 6 min read
The Git commands to change a commit message are situational - here's a short guide to all of them.
![Undoing a Git Commit](../../static/img/blog/undoing-a-git-commit-thumb.jpg)
Undoing a Git Commit
Dec 3, 2020 · 5 min read
Complicated Git commands are hard to remember and are full of landmines - here's a short guide on how to undo any Git commit.
![Installing a Specific Version of Helm](../../static/img/blog/installing-a-specific-version-of-helm-thumb.jpg)
Installing a Specific Version of Helm
Nov 24, 2020 · 4 min read
Helm, the package manager for Kubernetes, can be sensitive to the version of Tiller running in cluster, and as a result may require you to install a specific version.
![Making UUIDs More Performant in MySQL](../../static/img/blog/making-uuids-more-performant-in-mysql-thumb.jpg)
Making UUIDs More Performant in MySQL
Nov 14, 2020 · 3 min read
MySQL does not have a native UUID type, so strings are often used instead, which come with large storage and performance costs.
![Generating v4 UUIDs in MySQL](../../static/img/blog/generating-v4-uuids-in-mysql-thumb.jpg)
Generating v4 UUIDs in MySQL
Nov 13, 2020 · 3 min read
MySQL's UUID() function generates v1 UUIDs, which have a time component that make them unevenly distributed over short periods of time. We can define our own function to generate v4 UUIDs, which are random and therefore more evenly distributed.
![Faking Sequences in MySQL](../../static/img/blog/faking-sequences-in-mysql-thumb.jpg)
Faking Sequences in MySQL
Nov 11, 2020 · 4 min read
MySQL doesn't have a concept of custom sequences that other databases such as PostgreSQL do, but they can be faked with a table and some clever queries.