Categories

Tags

All Articles

Show hidden files with tree

The tree command is one of my favorites. As the name of the command suggests, it simply lists the contents of a directory in a tree-like format. Think of it like ls *, which outputs the contents of each directory, but instead of a flat list, the files are shown […]

Convert a buffer to a string in Node.js

Buffers are powerful stuff. They make it easy to work with raw binary data, and streaming data can leverage them. Many third-party Node.js dependencies leverage buffers in one way or another, especially libraries dealing with data transport. So what the heck are we supposed to do with a Buffer when […]

Generating UUIDs with MySQL

Universally unique identifiers (UUID) are one of my favorite things. They are easy to generate, without collision, and they make it easy to expose an identifier to end users without it being so obviously guessable, like an automatically incrementing integer value. While they are fantastic, the ability to generate one […]

Reinstalling packages on Debian and Ubuntu

My recent migration from Arch Linux to Debian (testing) has been an extremely smooth one, but not without it’s issues. A small issue I ran into early on was a problem with totem, the video app, crapping out. While I’m not sure exactly what the heck went wrong, the quick […]

No sound from iOS games without headphones connected

While I’ve had iPhones and iPads in the past, and have been back on iOS from Android for the last year, there are still some things that I’m ignorant to. One of those things, is why most of the games I played on my iPhone only played sounds when I […]

Like query operator in Jira's JQL

Jira’s query language (JQL) is a query language similar to SQL. That being said, the syntax for doing something similar to SQL’s LIKE statement is nothing like how you’d do it in SQL. While deviating from the syntax that was used for inspiration isn’t uncommon, it’s quite peculiar that the […]

How to install Node.js 19 on Ubuntu 20.04 LTS

Periodically, I check my site analytics to see which posts are getting the most traffic. It never ceases to amaze me at how many posts documenting older versions of Ubuntu, as far back as 16.04 LTS, still receive regular traffic. While they may not be evergreen forever, there’s something to […]

Apple TV remote volume not working

We love the Apple TV, but ever since upgrading to the Apple TV Siri Remote, we’ve run into situations where the volume controls just decide they are done working. The speculation is that it has something to do with the hand off to and from Apple AirPods somehow messing things […]

A month after switching to Debian, I know I made the right call

A bit more than a month ago, I wrote about switching from my beloved Arch Linux to my other beloved, Debian. After taking the month of September to settle in and figured out if I had made a horrible mistake, I’m happy to report that I feel like I made […]

Using variables in MySQL queries

Variables. One of the cornerstones of most, if not all, programming languages. They save you time by not having to type the same crap over and over. They can be manipulated for your own gain. They can even be used in your MySQL queries. The declaration syntax for variables in […]

Incrementing and decrementing numbers in Vim

I live on the command-line, and a huge chunk of that time is spent in Vim. Well, Neovim, actually. I do everything from writing code, to writing for my blog, as well as other prose that I have in the works. One thing that comes up pretty regularly, thanks to […]

Generating lowercase UUIDs with uuidgen on macOS

The implementation of uuidgen on Linux returns all lowercase letters by default. The implementation of uuidgen on macOS returns all uppercase letters by default. This triggers the hell out of me, by default. Usually when I approach consistency between macOS and Linux, both of which I use daily, I will […]

How to search for installable packages on Debian

The thing that I miss most of all since moving from Arch Linux back over to Debian is the Arch User Repository (AUR). Every package I ever needed was there, sometimes multiple times based on different forks that folks were maintaining. Even without the AUR, Debian has a massive number […]

Using multiple profiles with aws-cli

One of the best aspects of Amazon Web Services (AWS) is that a full featured command-line utility exists for it. If you’ve ever spent a decent amount of time in the AWS Console (their web interface) then you understand why this is a good thing. As you venture into better […]

Switching from Arch Linux back to Debian

After the better part of the last decade running Arch Linux as my primary distro of choice on my laptops, I’ve decided to hang it up and move back to Debian. That’s not to say that there’s anything wrong with Arch Linux. In fact, it’s been one of my favorite […]

Screenshots are not documentation

Repeat after me, “screenshots are NOT documentation”. Neither are videos, looms, or animated GIFs. Links to Google Docs or random websites, better, but not best. The aforementioned media types are often confused with real, honest to glob, documentation. When you’re asked to document something, you’re being asked to describe it. […]

Showing differences of staged files with git

Something I don’t like about git, primarily because it doesn’t fit into my personal development workflow, is how git diff only applies to files that have not been staged to commit. Sure, it makes sense if you are the type to stage files locally on a regular basis without pushing […]

Fixing missing cycle area in Logic Pro

We’ve been spending a ton of time over the last year in Logic Pro. With 50+ songs put together, and the end goal of finally, formally releasing some material, we’ve gotten very familiar with Logic Pro and some of it’s quirks. One of my least favorite of these quirks, is […]

SSH into server with broken or missing shell

I did the unthinkable the other day. I attempted to upgrade my Debian home server (sherver) from Debian 10 to 11. In doing so, I fat fingered something in /etc/apt/sources.list. I then proceeded to run the usual update and upgrade commands, not paying any attention to any output. Then I […]

Using paths to create hierarchies in Parameter Store

Parameter Store only supports a limited number of character for the parameter name. As per the error message you’re presented with, Only a mix of letters, numbers and the following 3 symbols .-_ are allowed. What that error fails to mention is that you can actually use a fourth symbol, […]

Getting String and SecureString Parameter Store parameters with Node.js

Parameter Store has slowly become one of my favorite things about AWS. It makes it easy to share things between ECS tasks and services, and Lambdas. The parameters can be references inside of a CodeBuild buildspec file, and it’s all language agnostic, which is handy if you are running different […]

husky: command not found with npm install --production

Recently, while attempting to build a Docker container, I ran into a bit of a dilemma. Upon running npm install --production I was greeted with this less than ideal error message: > @company/[email protected] prepare > husky install sh: husky: command not found Well of course husky isn’t installed, as it’s […]

Decrypting SecureString Parameter Store parameters with Node.js

Parameter Store, part of AWS Systems Manager gives you a quick and easy way to store parameters that you’d like to use in your applications. By selecting the SecureString type, you get the added bonus of encryption for you most secret parameters. By default, when you fetch a SecureString type […]

How to use an SSH tunnel to forward ports

Security is important. Bastion hosts (or jump servers) are an easy way to wall off your private servers from the outside world. Improved security is always a good thing, but it isn’t always convenient. With a bastion host in place, you shouldn’t be able to connect directly to a private […]

Add column after another column in MySQL

By default, new columns are added to the end of a table in MySQL. This works well most of the time, but sometimes when you’re retrofitting a column into a table, you may want it to be adjacent columns closer to the start of the table. The ALTER statement makes […]