-
How to Configure a Schlage Encode Plus for Home Assistant, HomeKit, Apple Home, and Apple Wallet Keys
A comprehensive guide to setting up your Schlage Encode Plus lock with Home Assistant, HomeKit, and Apple Wallet for seamless smart home integration.
-
git squashit squash-it squa-shit
A bash helper function for squashing the last number of commits
-
Install Google Fonts in Github Workflow
An example workflow showing how to install Google Fonts into a Github Workflow
-
Mode 65
Mode 65 mechanical keyboard build-out
-
Darknet Diaries
Every episode of Darknet Diaries is worth listening to. These are a few of my favorites.
-
Fix the error `Binary not found for version` when installing Node.js using asdf on an M1 Mac
If you are running into the error `Binary not found for version X.X.X` when trying to install Node.js version 14 (or earlier) on your M1 Mac, give this a try.
-
How to use `npm version` to create prerelease tags
A short and quick guide with examples on how to use the npm version command to semantically version your node project with prereleases
-
LocalStorage and SessionStorage helpers
Local storage and session storage helpers for the window. Prefixes keys while handling json encoding/decoding as well as null values.
-
Semantic Commit Messages
Semantic commit messages
-
Encrypting ZFS Filesystem
Encrypt your zfs filesystems with an encryption key
-
Terraform configuration for S3 static site with CloudFront for https and Cloudflare DNS
In this example, I am using Cloudflare as my DNS provider, Amazon s3 for the static site hosting, and Cloudfront for https.
-
How to create a bootable Ubuntu install USB from Mac OS.
A reminder on how to create a bootable usb from a Mac
-
Add location data to a jpg that is missing it
When you take photos with a camera without a GPS, like say, a DSLR, the photos don't include location data. Follow this guide to bulk add location data to images using `exiftool`
-
Add server side rendered async api calls to your Next.js application that resolve before the initial page load
Add api calls to your application that can all be resolved before the initial render, giving the user (or bot) a fully loaded page right from the get-go.
-
Secure a Next.js application with JWT, and a private route higher order component
Authenticating and securing a Next.js application