Matthew Ernisse

April 21, 2022 @12:21

I've been going over the various things that have crept into my day-to-day computing and evaluating them. In some cases I've found things that needed maintenance (perhaps a future post about refactoring my mutt configuration is called for), and in others I've taken the opportunity to evaluate alternatives.

More (4%) …

April 09, 2022 @20:45

Mutt, running inside tmux, somewhere on the Internet I can't imagine it will surprise any regular reader that my preferred MUA is mutt(1), and has been for close to 20 years now. I only switched to using Outlook at my current job a few years ago when they decommissioned the IMAP bridge and forced everyone into it. One of the things I've found myself having to deal with more lately is unsubscribing from marketing e-mails. Typically this was a trivial matter of finding the unsubscribe link and visiting it; however, it seems that lately all links in those e-mails come wrapped in click trackers that are blocked by one or more of my proxy server, DNS configuration, or content filter extensions, making unsubscribing difficult. Luckily RFC 2369 seems very well adhered to by even illegitimate e-mail marketing campaigns so I set out to try to solve the problem in the usual way. Angrily writing software.

More (35%) …

Original: March 30, 2022 @21:58
Edited: April 01, 2022 @23:20

Many years ago I starting building out an extended layer 3 network using IPSec tunnels with GRE tunnels on top of them. As technology moved on I transitioned these from Linux to OpenBSD using isakmpd(8) and then eventually iked(8). I automated the various configuration steps using Puppet and all in all I have been very well served by this over the years. I use IPSec to terminate all of my road warrior client connections as well so it means that the complexity serves several needs. I happened to be upgrading some Mikrotik routers from RouterOS 6 to 7 and noticed they added Wireguard support. I had been hoping Ubiquiti would add Wireguard to the UniFi USG so I could try it out since the version of strongSwan they ship is embarrassingly out of date, but it seems like they have mostly abandoned that product. Armed with an excuse I set out to see what it would take to start up a tunnel.

More (25%) …

March 25, 2022 @19:35

I browse the web a little differently than most. I vastly prefer the experience of reading feeds instead of relying on some algorithm and a pile of notifications to direct my attention. To facilitate this I funnel quite a lot of 'modern' content into an ever-growing pile of rage-written software to turn it into various RSS feeds that I can then plug into my reader ecosystem and enjoy at my leisure. Recently I found a RSS to news gateway from the creator of gmane called Gwene. I spent an evening looking at the list of groups, adding a few of the RSS feeds into my reader but there is no way I can take the time to look at all of them so that brings me to the ask! Below is a list of feeds I'm subscribed to, minus my bespoke Instagram, Twitter, Patreon, Tumblr, and YouTube feeds. If you think you know of some that I might like or that I'm just not subscribed to that you think I should be please let me know.

More (18%) …

March 09, 2022 @13:07

For some reason every single time I go to do any work on my colocated server that requires remote console access I end up having to remember how the silly console redirection works. Presented here in the vain hope that I will find this next time I need it and perhaps that it may help someone else.

More (52%) …

January 12, 2022 @12:20

Background

Starting just before the holidays I found myself back on the kick of working with LEDs. About 7 years ago I started making a little microcontroller based controller to drive LED strips and generate some interesting effects. I've used this in a bunch of situations with WS2812, WS2811 and APA102C based LED strips (Adafruit tends to call these NeoPixel or DotStars) over the years and recently decided to reorganize the code into more generic building blocks. In doing so I moved a bunch of the heavy lifting to a little library which allowed me to step back and do some thinking about how I might want to build up larger effects in the future. Since I do all my microcontroller development in C the natural fit seemed to be to create a sequence of actions as an array of structs. The structs could contain some conditions and a function pointer to be executed. It is also possible to have the condition be a function pointer, enabling the triggerable events so the controller can respond to stimulus or use the random number generator to change up patterns. With this in mind I designed the sequencer. It takes two arrays of structs, one for the sequence and one for the optional events. It turns out that not only was this easy to implement, but there wasn't a tremendous amount of special work needed to support the split memory architecture of the AVR platform. At the time of writing the whole file is right around 100 lines of code.

More (38%) …

January 01, 2022 @22:00

In keeping with last year, here are the 10 most visited posts as tracked by the metric collection system that I wrote in 2018.

More (12%) …

November 03, 2021 @16:53

About 11 months ago I upgraded the main server in my home network and I figured it would be a good time to take a look at look back and gauge if it has been a success. The new system is comprised of the following components.

More (6%) …

October 08, 2021 @14:15

If you follow my thoughts microblog you may have noticed that I finally had to replace my router. The new to me motherboard is a SUPERMICRO X11SDV. I was finishing setup on it and discovered that I do not have the IPMI password. Turns out that getting it may be tricky, especially if you have one of the motherboards that didn't ship with their BMC Unique Password Security Feature, but got it via a firmware update. This means you may not have the default password on a label on your board.

More (37%) …

September 26, 2021 @14:15

When I originally installed the UniFi Video system at the house I was pretty happy with it. While rudimentary it was remarkable in that it was a prosumer grade system that was able to run entirely on premises. I installed the controller application on the same VM that runs the UniFi controller for the networking system and was reasonably happy.

More (27%) …

September 06, 2021 @12:00

Today marks five years since I re-launched this site, built on the software that I wrote to generate the site from a collection of markdown files. The development started 4 days prior with this rather innocuous commit.

More (23%) …

August 30, 2021 @11:50

Previously I got passff working on Windows 10 using a bit of a convoluted process that involved manually editing a bunch of the shims and replacing the pass binary with gopass. This has worked OK but I recently downgraded Firefox to the ESR release (the new UI in 90+ is an absolute abomination and I'm going to avoid it for as long as I can) and that wiped out my profile and deleted all the installed extensions. I figured it was time to do the update dance anyway and while doing that I decided to look into other solutions to see if there were less fragile options.

More (43%) …

July 14, 2021 @10:30

I had previously bemoaned the inability to figure out why my automounts were being so stupid in Catalina and after periodically searching and giving up I finally found a bread crumb that showed me the way.

More (19%) …

July 02, 2021 @11:15

I have a pair of galleries on the website that are generated by my simple-gallery Python program. I created it back in 2010 and in 2016 I added lazy loading of thumbnails using jQuery.lazyload. This seemed reasonable to me at the time. These days I prefer to not use any external JavaScript libraries unless I have to and then I try to only use ones that are reasonably self-contained (because let us not forget that the JS ecosystem has a history of being a Zork-like maze of twisty passages all alike.) So while making some other much needed updates (a lot of Python 2 to Python 3 refactoring) I set about taking some JavaScript I wrote for a different project and bashing it into something more generic.

More (18%) …

June 29, 2021 @13:45

irssi in tmux I don't understand the desire to shove everything into a web browser. Other than the fact that it is how tech startups extract money from venture capitalists, spy on your user base, and lock out interoperability I don't see why a web browser is a better place to implement most things and yet, here we are. I have resisted participating in the new real time chat services because they don't really offer much over IRC, however I finally gave in and joined a group of friends on Discord.

More (14%) …

Subscribe via RSS. Send me a comment.