The Modern CLI Renaissance

Over the past few years, it seems like the rate at which new CLI tools are being written has picked back up again, accelerating after seeing relatively little activity between ~1995 and ~2015. I’d like to talk about this trend I’ve noticed, where people are rewriting and rethinking staples of the command line interface, why I think this trend might be happening, and why I think this trend is a good thing....

2024-9-4 · Gabe Venberg

Nushell first impressions

I’ve been experimenting with the tools I use on a regular basis lately – switching up my shell, terminal multiplexer, and even trying out other editors. Today, Id like to focus on my experiments with my shell. My old setup Before this, I had been using a minimal zsh setup for a long time, with only built in features and a handmade prompt. Zsh is a good shell, probably one of the best POSIX shells out there, and I still use it when a POSIX shell is needed....

2024-3-1 · Gabe Venberg

Building My New Keyboard.

I’ve been using a split keyboard at home now for several years (specifically, the UHKv2, though nowadays I probably would have gone for something ortholinear) and I’ve always wanted one for the office. The problem was, if I was going to get a new keyboard, I wanted it to be for both the office and travel, and most prebuilts around are not that portable. I also was not confident enough in my soldering skills to solder the SMT diodes found on many handbuilt designs out there....

2024-2-6 · Gabe Venberg

Rust Embedded Unit Testing

I’ve been messing around with embedded rust recently, using the BBC micro:bit as a learning platform. Its really cool to see a high level language achieving the same results as low level c. However, one of my favorite features of rust, the ease of unit testing, is a bit less straightforward to do in cross-compiled, no-std projects. Obviously we cant run tests on our local machine that rely on hardware only found on the target board, but most of a project is going to be logic independent of the hardware its running on....

2023-10-28 · Gabe Venberg

Dotfile Management with GNU Stow

So I’ve been using git to managing my dotfiles since [checks git log]… 2018. At first, I was going to write some inevitably brittle shell script to handle symlinking from the dotfile repo to where each file should be, but before I got about to implementing it, I discovered stow. Now, after using stow for dotfile management for over 5 years, I figure I should really document exactly how I go about managing my dotfiles, with an aim to help other people who want to have an easy to manage dotfiles repo that can be quickly deployed on new machines....

2023-7-29 · Gabe Venberg

Getting the Nextcloud client to save login info on arch Linux (or any barebones Linux distro)

During the 5 or so years I’ve had Nextcloud, I’ve always been quite happy with the web client, but the device clients… need some work. I recently figured out how to resolve one of my biggest pain points on the Linux desktop client, and am recording it here, mostly so I don’t forget next time I setup a new computer, and to save others with the same problem from endless forum post and GitHub issue crawling....

2021-12-12 · Gabe Venberg

Mapping caps lock to ctrl in the TTY

In the past 2 years or so, I have been using my caps lock key as a separate ctrl key on my desktop keyboard. This is very easy to do in X11 with a setxkmap command. However, with my laptop, I try to run without X as much as possible. (I’ve found it make a nice, distraction free environment, and it seems to be pretty good for battery life) Obviously, without X, we cannot use setxkmap....

2021-5-23 · Gabe Venberg

Archlinux install with btrfs, systemd-boot, full-disk encryption, and suspend-to-disk

I’ve been using Arch Linux for several years now. Of course, my first installs were… blunderous, as i wanted to do full disk encryption from the get-go, and I didn’t know what I was doing. After those first one or two installs, I generally settled on LVM on LUKS with a GRUB bootloader and my swap on an LVM volume, mostly because it makes it much easier to setup hibernation/suspend to disk vs, say, a swap file....

2021-4-11 · Gabe Venberg