<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Gabe Venberg</title><link>https://gabevenberg.com/</link><description>Recent content on Gabe Venberg</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Wed, 04 Sep 2024 12:20:02 -0600</lastBuildDate><atom:link href="https://gabevenberg.com/index.xml" rel="self" type="application/rss+xml"/><item><title>The Modern CLI Renaissance</title><link>https://gabevenberg.com/posts/cli-renaissance/</link><pubDate>Wed, 04 Sep 2024 12:20:02 -0600</pubDate><guid>https://gabevenberg.com/posts/cli-renaissance/</guid><description>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&amp;rsquo;d like to talk about this trend I&amp;rsquo;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.</description></item><item><title>Nushell first impressions</title><link>https://gabevenberg.com/posts/nushell/</link><pubDate>Fri, 01 Mar 2024 11:34:04 -0600</pubDate><guid>https://gabevenberg.com/posts/nushell/</guid><description>I&amp;rsquo;ve been experimenting with the tools I use on a regular basis lately &amp;ndash; 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.</description></item><item><title>Building My New Keyboard.</title><link>https://gabevenberg.com/posts/ferris-sweep-keyboard/</link><pubDate>Tue, 06 Feb 2024 15:01:28 -0600</pubDate><guid>https://gabevenberg.com/posts/ferris-sweep-keyboard/</guid><description>I&amp;rsquo;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&amp;rsquo;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.</description></item><item><title>Rust Embedded Unit Testing</title><link>https://gabevenberg.com/posts/rust-embedded-unit-testing/</link><pubDate>Sat, 28 Oct 2023 18:41:37 -0500</pubDate><guid>https://gabevenberg.com/posts/rust-embedded-unit-testing/</guid><description>I&amp;rsquo;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.</description></item><item><title>Dotfile Management with GNU Stow</title><link>https://gabevenberg.com/posts/dotfile-management/</link><pubDate>Sat, 29 Jul 2023 16:37:34 -0500</pubDate><guid>https://gabevenberg.com/posts/dotfile-management/</guid><description>So I&amp;rsquo;ve been using git to managing my dotfiles since [checks git log]&amp;hellip; 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.</description></item><item><title>Getting the Nextcloud client to save login info on arch Linux (or any barebones Linux distro)</title><link>https://gabevenberg.com/posts/autologin-nextcloud-client-on-arch/</link><pubDate>Sun, 12 Dec 2021 14:59:31 -0500</pubDate><guid>https://gabevenberg.com/posts/autologin-nextcloud-client-on-arch/</guid><description>During the 5 or so years I&amp;rsquo;ve had Nextcloud, I&amp;rsquo;ve always been quite happy with the web client, but the device clients&amp;hellip; 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&amp;rsquo;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.</description></item><item><title>Mapping caps lock to ctrl in the TTY</title><link>https://gabevenberg.com/posts/caps-to-ctrl/</link><pubDate>Sun, 23 May 2021 04:59:28 -0500</pubDate><guid>https://gabevenberg.com/posts/caps-to-ctrl/</guid><description>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&amp;rsquo;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.</description></item><item><title>Archlinux install with btrfs, systemd-boot, full-disk encryption, and suspend-to-disk</title><link>https://gabevenberg.com/posts/arch-install/</link><pubDate>Sun, 11 Apr 2021 19:19:51 -0500</pubDate><guid>https://gabevenberg.com/posts/arch-install/</guid><description>I&amp;rsquo;ve been using Arch Linux for several years now. Of course, my first installs were&amp;hellip; blunderous, as i wanted to do full disk encryption from the get-go, and I didn&amp;rsquo;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.</description></item><item><title>About</title><link>https://gabevenberg.com/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gabevenberg.com/about/</guid><description>Hi There! I&amp;rsquo;m Gabe Venberg.
Professionally, I&amp;rsquo;m a newly minted computer scientist, with interest in embedded software, OS development (and anything backend, really), and strongly typed languages (🦀).
Unprofessionally, I&amp;rsquo;m a general nerd, ever tinkering on my 3d printer, learning embedded systems programming, building split keyboards, managing my self-hosted cloud, and reading way too many sci-fi books.
For my would-be assassins, you can generally find me in the Fargo, North Dakota area.</description></item><item><title>Resume</title><link>https://gabevenberg.com/resume/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gabevenberg.com/resume/</guid><description>Contact info Personal Git Server GitHub Email Professional Summary 2 years of experience as a software engineer 1 year of experience with embedded Linux. Bachelors of science in computer science. Contributor to Python programming language standard library. Experience working across 8+hr timezone differences. Skills Summary Programming Languages: Rust, Python, Java, Bash, C, Nix
Tools: Git, Yocto linux, LaTeX, Vim, Jenkins
Linux Administration: NGINX, Apache, Caddy, Docker, NixOS, Proxmox
Work Experience John Deere Embedded Linux Engineer</description></item></channel></rss>