Writing on software engineering, developer tools, and other curiosities.

All of my thoughts on programming, projects, architecture, and more, collected in chronological order.

Lightweight templating with envsubst

Sometimes you need to substitute values in a structured text file and envsubst might just be the utility you need.

Auth0 `loginWithPopup` error and workaround

When `crossOriginIsolated` is enabled, the Auth0 `loginWithPopup` method fails with an error. This article explains the error and suggests a workaround.

Lute Search Refinements

Improved lute music search allowing the user to filter by composer, type of piece, and key, in addition to using date and difficulty ranges besides general search.

CodeCrafters: Build your own Redis

My experience building my own in toy Redis implementation in Rust, following the CodeCrafters course.

Deploying MeiliSearch on AWS

MeiliSearch is a superb solution for search, rivalling Elastic Search and Algolia. This post outlines one way of deploying your own instance to AWS.

Improving spotify-tui: going async

In previous versions of spotify-tui, there was a major issue that caused the UI to freeze and not respond to user key events. The solution? Don't block the main event loop 😅.