Using SQL to Look Through All of Your iMessage Text Messages

iMessage is one of my favorite things about having an iPhone and a Mac. It’s also one of my least favorite things. I love being able to send messages from my computer, and the integration between the two devices is seamless. What frustrates me is the inability to efficiently search through old messages. iOS 13 […]

Three Reasons to Use Yarn in 2020 (and Beyond)

When Yarn was first released, it was a huge step forward for the JavaScript and NPM community. At the time, NPM did not support deterministic sub-dependency resolution. And Yarn was considerably faster, primarily due to the introduction of an offline cache. These days, however, the gap between Yarn and NPM is much closer. NPM 5 […]

Achieve Project-Wide Type Checking with TypeScript and Visual Studio Code

Visual Studio is an excellent integrated development environment (IDE), but sometimes it needs a little hand-holding. Throughout my experience with VS Code, it has never delivered on project-wide type checking and linting. Rather than getting instant feedback from my IDE, I’ve had to rely on my build process as a type checker. Type errors only […]

Interactively Pipe Commands Together with the Ultimate Plumber

Recently, I discovered a new tool that quickly became an integral part of my daily development workflow. It’s called up – the Ultimate Plumber. It allows for interactive chaining of pipe outputs. This is a good choice for anyone who frequently pipes the output of awk, sed, grep, and other command line utilities together.