Blog

2024-06-09
Configuring a YubiKey for use with OpenSSH

YubiKey's are a convenient way to introduce a physical form of two factor authentication into ones workflow. They support a variety of protocols, but in this guide we will walk through how to configure a YubiKey for use with OpenSSH via the "new" ed25519-sk key type that supports FIDO compliant hardware keys.

2024-05-11
Using pinentry-mac to sign commits from vim-fugitive

In order to sign git commits from within Vim using a plugin like tpope/vim-fugitive, it is necessary to configure the gpg-agent to use a GUI based pinentry-program.

2024-01-08
Easily Transcribe Podcasts with Whisper.cpp

If you've ever had the need to transcribe a podcast, lecture, or some other audio recording, it turns out it's surprisingly easy with the extremely impressive whisper.cpp project. This high-performance fork of OpenAI's Whisper can run on all sorts of hardware -- including my M1 Mac Mini. Let's walk through an example from start-to-finish of transcribing an episode of the Alter Everything podcast.

2024-01-06
How To Add an RSS Feed to a Nuxt Website

If you are a user of Nuxt Content and you wish to configure an RSS feed for your website, it's a surprisingly straight forward process! In this article, we will walk through the code changes required to host an RSS feed for both a statically generated, and Universal Nuxt application.

2023-10-22
Impressions of Fennel with Hammerspoon

A while back I read an introductory book on Lisp programming titled, "The Little Schemer". This book opened my mind to new (to me) programming paradigms, and left me with a strong desire to find a way to incorporate Lisp programming into my every day life. It took some time, but I believe I've found what I've been looking for: Fennel.

2023-01-01
Exploring the Digital Ocean `doctl` Utility

I recently had the need to spool up a small ephemeral Linux instance, and wanted to try something new by exploring the Digital Ocean doctl command line utility. This proved to be an extremely easy way to configure, create, connect, and destroy a Linux box, and I foresee myself using this service even more in the future.

2022-12-31
This Website Has Been Migrated to Nuxt 3 🎉

This website has been migrated to the latest version of the Nuxt web framework, and with it comes all of the exciting goodies that the Vue and Nuxt teams have been concocting over the past few years. Not to mention, all of the great plugins in the Vue ecosystem!

2021-12-28
Migrate to TrueNAS Scale from TrueNAS Core

TrueNAS Scale offers a variety of interesting features that are not supported in its TrueNAS Core counterpart. Most notably, because the base operating system is Debian Linux, opposed to FreeBSD, there is native support for Linux containers via Docker, and Kubernetes Pods! This post walks through the steps required to upgrade from TrueNAS Core to TrueNAS Scale.

2021-12-27
Reset IPMI Credentials from the Host OS

If you ever find yourself locked out of the Intelligent Platform Management Interface (IPMI) of a server, these instructions will guide your through the process of resetting the credentials to their default values from the host operating system.

2021-09-22
Tip: Re-running Bash Commands

Do you ever find yourself having to re-run a Bash command? I often find this happening to myself when I neglect to use sudo for a command that requires root privileges.

2020-02-07
Unit Testing in MicroPython with Mocks

Unit testing code for embedded systems can be challenging. While it's possible to leverage emulators, write side-effect free code, or run tests on the hardware itself, it's often easiest to unit test the code on your personal computer with mocked hardware functionality.

2020-01-09
Create a Persistent Arch Linux Bootable USB with Vagrant

When installing a linux distribution, it is common for the instructions to have the user create a bootable USB, boot from the device, and proceed with the installation procedure from that live medium. However, this blog post will outline an alternative approach where a virtual machine created with Vagrant will be used in favor of the live medium.

2019-12-26
Docker Volume Permissions with SELinux

Unfamiliar with running Docker on a SELinux enabled system, I found myself running into a bunch of file permission errors while creating volumes.

2019-12-21
Upgrading the Firmware on the PCEngines APU2

I've had a PCEngines APU2 gathering dust for a few years, and have recently decided to dust it off.

Since the last time the device has been powered on, there have been many great improvements to the firmware, and it was very-much due for an upgrade. The following steps outline how the firmware was upgraded on the APU from the already-installed operating system -- CentOS.

Categories

embedded
homelab
linux
lisp
programming
python
tips
tooling
web

Tags

apu
archlinux
bash
configurations
digital-ocean
docker
fennel
hammerspoon
homelab
linux
lisp
micropython
ml
mocks
nuxt
pcengine
rss
selinux
supermicro
testing
tip
truenas
tutorial
unix
vagrant
vim
whisper.cpp