RSSAmplifier

Blog

seth's website

Recent content on seth's website

sethops1.netRSS feed ↗20 posts

Latest posts

treehouse.net alternative to old.reddit.com

Join treehouse . Once upon a time there was a website called digg.com. It was a fun website to visit, one with news stories, technology updates, and lots and lots of comments from other users. It felt like a small but growing community. And one day, digg changed its whole vibe. It went through a sitewide overhaul, changing the frontend and backend all at once. Long story short, the changes were…

some old irc quotes

Came across this small collection of saved IRC quotes while clearing out old GitHub gists of mine. Figured I may as well post them here. IIRC most of these are from #proggit on FreeNode probably from 2010-2015. <eck> QOTW, "Rob, I'm sure you're focused on recovering things at the comment. When the dust settles, you might want to ask your team how "PHP", "personal www dir" and "business critical…

nandland go board linux toolchain

I picked up a nandland Go Board to start learning about FPGAs. Just for fun, nothing too serious. I got the &ldquo;Getting Started with FPGAs&rdquo; book along with the development board, for just over $100. Good deal. The only snag is that book suggests using the iCEcube2 toolchain directly from Lattice Semiconductor. Although that official toolchain is free if you request a license for personal…

making a new website

Since early January I have been working on something - a new website. It&rsquo;s a stock discussion forum called TickerFeed. https://tickerfeed.net The past few months have been a waterfall of changes and new beginnings. After a fulfilling chapter at HashiCorp, the news of the IBM acquisition served as a clear signal for me to pivot and embark on a new adventure. It felt like it was time to step…

use adguard dns

AdGuard offers DNS ad-blocking but they make it difficult to find the IP addresses. They are 94.140.14.14 94.140.15.15 and for IPv6 2a10:50c0::ad1:ff 2a10:50c0::ad2:ff These are listed at the bottom of https://adguard-dns.io/en/public-dns.html

vlans on mikrotik

Introduction I purchased a MikroTik Hex-S a few years ago to handle routing for my house. It sits between my cable modem and 4 ethernet cables that bring internet to other rooms. Homelab In my real example I wanted to enable a VLAN on the Hex-S to isolate two pairs of the physical network interfaces (ports). In my case these are two computers I use for work. I want them to be isolated from other…

setup tailscale on freebsd

This blog post describes how to install and setup the tailscale agent on a FreeBSD machine. Luckily a tailscale port is already packaged and contains the necessary daemon and CLI components. sudo pkg install tailscale From here though we need to edit /etc/rc.conf to enable the tailscaled agent daemon. Add the following line to the file. tailscaled_enable="YES" With this, we can activate the…

build freebsd image using packer

Last time we covered booting a FreeBSD VM image using QEMU. This is great for setting up a VM by hand or just logging in to play around and experiment with the system. For production use though we want to automate configuration of the FreeBSD VM image so that we are not manually running install commands and editing configuration files, etc. For this we use Packer from HashiCorp. Once again these…

run freebsd in qemu on linux

This blog post serves as a basic guide on how to run a FreeBSD 14 virtual machine in QEMU using a headless Ubuntu 22.04 linux host. The assumption here is both the host and guest operating systems are amd64 (a.k.a. x86_64). Install QEMU packages Install the qemu-system-x86 package. Do not install recommended packages as those will include a huge number of graphics packages we are not interested in…

minimal consul acl connect setup

Often I need a simple Consul agent with ACLs and Connect enabled for a simple reproduction or demonstration. Although there is a &ldquo;dev mode&rdquo; Consul really does not make things easy for getting setup beyond a trivial, insecure agent. This post is a step-by-step guide on how I start from nothing and end up with a single-node Consul cluster usable with ACLs and Connect enabled. This guide…

retro on a generic Go test assertions library

[Introduction] About six months ago shoenig/test was created as a modern, generics based alternative to the popular stretchr/testify testing assertions library for Go. As a developer of Hashicorp&rsquo;s Nomad project, I am lucky to work with a team willing to endure my experiments. This blog-post is a look back on how well Go generics have (and haven&rsquo;t) served us in using the library on a…

go generics for the busy gopher

What is this? Go 1.18 introduces generics to the language Some may just want to skim Go generics by example in a blog post This is that blog post (!) caution : Language pedants may find the content triggering new terms generics : The idea that type information can be determined not during implementation, but later type parameter : The thing that represents potential types during implementation…

attempts to make python fast

Posted on Hacker News there was an Implementation Plan for making CPython (the official Python implementation) faster. The author claims a 5x speedup is possible for the low cost of $2 million USD. The four step plan includes creating an adaptive interpreter improvements to internal types creating a JIT compiler extending the JIT compiler We have witnessed other attempts at making Python fast,…

app-indicator output devices

With multiple sound output devices (headphones, speaker, etc.), selecting which one to use on Ubuntu 20.04 is kinda clumsy. Doing so involves opening Settings, navigating to Sound, selecting the Output device. Windows and macOS make it easy by having a selector on the taskbar. With a gnome extension Ubuntu can also have a sound output device selector on the task bar. The best I&rsquo;ve found is…

disable mitigations on ubuntu

By default, most Linux distributions will now enable kernel level mitigations for CPU bugs such as the infamous meltdown and spectre. These mitigations are extremely important for the use of running untrusted code (e.g. cloud VMs), but are less relevant for personal computers, who generally control what is being executed. The mitigations will impact performance, especially for workloads that incur…

hclfmt as a service

As a developer working on Nomad , there is frequent need for copying and pasting snippets of HCL to and from GitHub issues, documentation, example files, etc. While the normal hclfmt command works great on files, it is not so convenient for web mediums. Pasted HCL snippets into issues and comments tend to be malformed. Not anymore! sethops1.net/hclfmt is a simple HCL formatter for conveniently…

extract columns with fields

About a month ago there was an article on Hacker News, &ldquo;Why Learn Awk? (2016)&rdquo;. In the comments of that article was a thread started by jerf , which spoke directly to my own sentiments. Parsing columns of text should be simpler! There are of course the timeless tools like awk and cut - which when combined with other arcane shell-isms can accomplish literally anything. But I wanted…

rename pulseaudio sinks

One might notice the names of output devices (called &ldquo;sinks&rdquo;) that pulseaudio uses are not very pretty. Unless you&rsquo;re a robot, something like pci-0000_0b_00.1.hdmi-stereo just doesn&rsquo;t roll off the tongue quite like, Headphones . Fortunately, there is a way to reconfigure the names to whatever we want them to be. First, get a list of the sinks pulseaudio is aware of &hellip;…

goroutine closure rule

One of the most insidious gotcha&rsquo;s when coding in Go is the behavior of variable scoping in the context of goroutine closures. By now this foot-gun is well established. Consider the snippet &hellip; for i := 0; i < 10; i++ { go func() { fmt.Println(i) }() } On first glance this should print the values [0,10) , though perhaps in random order since the print statements are being launched in…

Seth Hoenig

History of employment CattleCloud (2025 - present) &ndash; Founder HashiCorp (2019 - 2025) &ndash; SWE Indeed (2014 - 2019) &ndash; SWE IBM (2013 - 2014) &ndash; SWE History of education University of Texas at Austin (2009-2012) B.S.C.S Facial recognition For fun Coding in Go Building things Reading; top picks Cat&rsquo;s Cradle by Kurt Vonnegut Apple In China by Patrick McGee Masters of Doom by…