Musings of a Mildly Misanthropic Technologist.

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%) …

June 03, 2021 @19:00

One of the more popular things that I have written in recent times is a small Python tool that gets statistics from an Arris SB8200 DOCSIS cable modem and sends them to InfluxDB. I then visualize this data in Grafana to keep an eye on the physical status of my cable Internet connection. This setup has happily chugged along since sometime in 2019, but sadly its time to put it all to bed.

More (44%) …

May 07, 2021 @11:53

I'm a feckless curmudgeon, so of course I believe that software that provides security infrastructure -- especially physical security infrastructure shouldn't be trying to chase the upgrade dragon like a heroin addict, but I digress. My UniFi Video installation stopped working last night and I was a bit distressed. Yes I know it isn't supported anymore and Ubiquiti would REALLY LIKE ME TO UPGRADE TO PROTECT NOW PLEASE. But never the less. Turns out, dear lazyweb that a Java update screwed me.

More (60%) …

January 17, 2021 @20:00

ur-tardis

Back in 2013 I was able to cram an Ivy Bridge i5 and 6 3TB hard drives into a Mini-ITX Lian Li case. I called the system tardis as it was intended to be both a NAS and a hypervisor and it has served me well since. The only drawback with the system was the limited memory support. Intel's Ivy Bridge processors support 32GB of RAM but the Intel H61 Express chipset used on the ECS H61H2-MV motherboard I chose only supports 16GB and that turns out to have been the main limiting factor as that was the first resource I ran out of.

More (3%) …

January 02, 2021 @20:37

It seems like top N lists are popular at the begining of the year so here are the 10 most visited posts as tracked by the metric collection system that I wrote in 2018.

More (14%) …

October 14, 2020 @17:10

Now that iOS 14 is almost a month old, I can't help but feeling that the text messages that I sent to a friend at launch feels more like wishful thinking than tongue in cheek snark.

More (3%) …

Subscribe via RSS. Send me a comment.