Technology Solutions for Everyday Folks

Matt Zaske Online Blog

Upgrading All The Things to Ubuntu 22.04

One of my "winter break" projects this year was to get all of my disparate Ubuntu server instances upgraded and into parity. Last year I wrote about my adventure moving WSL Ubuntu from 18.04 to 20.04, which happened before 22.04 was officially released.

Read More

Mister Thermistor, Fixed With a Silpat

Screenshot of OctoPrint's temperature graph illustrating a consistent hotend and heated bed temperature with only minor +/- 0.5 degree variations over the course of the previous 30 minutes.

I got hooked into 3D printing late last summer. A problem that cropped up after the first couple months of tinkering and relatively error-less printing was an issue with thermal runaway. Something I could correct for short periods of time, but never make totally go away...

Read More

Powershell String Manipulation - A One-Liner

See also: asking a friend for help can save oodles of time and effort.

Around Thanksgiving 2022, an friend of mine asked to talk through a problem he thought might be solvable with Powershell, but he'd been stuck on the design. Naturally, I agreed to help out if/where I could and it provided an opportunity to chat via Zoom which I am not one to turn down.

Read More

Smart Control of a 1940's Three-Way Switch with Shelly 1L

Snip of Home Assistant dashboard card for Stairwell/Stair Lights with status data

Once I settled on jumping into home automation and Home Assistant (HA), the first "practical" thing I wanted to address was the issue of lights being left on at random throughout the house.

Read More

Jumping into Home Assistant: The Installation (and Hiccup) Process

Screenshot of Home Assistant Initialization/Setup Screen at the user account creation step

About a month ago, I took the plunge.

After considering it for a long time and hearing about some cool stuff folks were doing with home automation, I decided it was time to start my own dabbling adventure. A warning to folks: home automation is a little bit like owning horses. There can be a bunch of expense in the process for little obvious reward.

Read More

Adding Push Notifications to the Tempest WeatherBot

Slack Tempest WeatherBot alert notification for a close lightning strike

This is the "final" installment of my summer 2022 blog series about the development of my Slack Tempest WeatherBot.

Read More

Adding External Data to the Tempest WeatherBot

Slack Tempest WeatherBot in-channel alert notification from NWS API data for a Dense Fog Advisory

This is the third in the short series of my journey building the Slack Tempest WeatherBot. In this post I'm walking through the steps to incorporate external data from the National Weather Service (NWS) API for alerts and forecast options.

Read More

Expanding Interactivity with the Tempest WeatherBot

Slack Tempest WeatherBot App Home tab display with current conditions and daily statistics

In the last post I wrote about the basics of building the Slack Tempest WeatherBot and its basic set of command arguments. This post builds on those commands with an overview of expanding the Slack interactivity by adding a bot app home tab.

Read More

Creating a Slack Bot for Tempest Weather Station

Image of Tempest weather station with device features highlighted

In summer 2020, I picked up a WeatherFlow Tempest station...a purchase I'd been considering for the better part of a year. It's an awesome and compact little thing, and on the whole I've been super happy with it. In my location it tends to over-report rainfall as the haptic rain sensor is also sensitive to vibrations on the mounting point (a pole in my yard).

Read More

DMARC: Moving to a Monitor-As-Necessary State

After a year-and-a-half of implementation (mostly monitoring), it is time to switch to a 'steady' or 'monitor-as-necessary state' for all of my things DMARC. I've written about this journey before, with the last major summary in November, 2021.

Read More

Upgrading an Old Application to 21st Century Passwords

I have a confession to make: I've ignored a Really Bad Password Form on an inherited web application for about at least a decade too long.

I'm not proud, but every time I considered changing the password mechanism to something more modern (and more secure), decision paralysis would set in...in great part due to the design challenges I anticipated in quietly upgrading this for users of the app in question.

Read More

An MMS 2022 Recap

Gif of 'secret' high-five handshake between characters Abed and Troy from the series Community

Two weeks out from the last MMSMOA and the technical overload hangover lingers on...but in a Good Way. This post isn't terribly original, but it's my own highlights/recap/pitch of MMS.

Read More

The MMSMOA Retweet Bot in Action

Cartoon robot image of the @mmsmoabot with breastplate advertising MMS and the bot Twitter handle

Hot on the heels of last week's triumphant return of the "MOA" edition of MMS, I'm writing up a post-conference review of my somewhat-accidental creation: the MMSMOA Retweet Bot.

I shared the bot's story with a number of folks during the conference, often while peddling the bot's stickers, but several folks also encouraged me to share the details via blog post as well so here it is!

Read More

In-Place Upgrade of WSL Ubuntu 18.04 to 20.04

About two months back (early March to be exact), I had the opportunity to finally deprecate some old versions of applications and packages due to planned retirements and upgrades. Most specifically a full-on move to PHP 7.4 was in sight, though there were other bits.

Read More

Improving DMARC Compliance: Authenticated SMTP Relay

I've done a lot of server migrations for very unrelated reasons over the last six months or so. Many of these host applications that send emails, and I've implemented the basics to get them sending DMARC-compliant messages. This has generally been limited to DNS SPF records for each host configuration. Generally speaking, having SPF or DKIM compliance is 'enough' to get your messages not flagged as spam, though it can depend on the DMARC policy configuration.

Read More

LAMP to WAMP: Adventures in Server Migration

Server migrations are an inevitable task, but I found myself in a different than normal circumstance recently. A planned server stack retirement, combined with the server "owner's" technical capacity and expertise required a change in platform. Specifically, this shift meant moving from Linux to Windows.

Read More

Certbot on Windows: Automation Is Possible

A recent project gave me an opportunity to try out Certbot on Windows. As I've written about before, I've had an extensive journey with Certbot, at times in fairly 'non-standard' configurations, and Certbot on Windows is no different.

Read More

Revisiting Key Authentication Setups

Nearly 18 months ago I wrote about setting up and using key authentication to connect between hosts. I use it all the time and it's a major timesaver on all sorts of levels.

Read More

Moving an Old Website to Github Pages: Creating a Finished Product

 In the last post I wrote about the process of creating the layout and the challenges through the content conversion and basic layout stages.

Read More

Moving an Old Website to Github Pages: Getting Started

Nearly 25 years ago I spun up a website featuring transcriptions of Monty Python material collected from college students in the 1980s. I don't remember how I came across the archive of these text files, but I still have the originals in part of my personal digital archive. Around the year 2000 I moved the website (and subsequently added more content) into a Wiki system (TWiki, to be exact).

Read More

Drupal Site Improvements and other Housekeeping

On the heels of (and riding the wave following) my recent migration of Drupal to a new server host, I decided it was well past time to finally address some things with my Drupal instance that were been bugging me for a long time.

Read More

Moving a Legacy Drupal Stack to a New Server Host

One of my "end of 2021 break" projects was a planned "lift and shift" of my primary Drupal instance to a fresh, sparkly new web host stack. The stack on which it resided was reaching end of life and for a few other reasons it was time to make the change. In preparation, over the last year or so I've been de-coupling and untangling some of the baggage that had accumulated on the old server and its structure over time.

Read More

Reconciling Disparate Datasets

A few weeks ago I was asked to help update a centralized inventory dataset, which to us is definitely a "tertiary" system. Several hundred device records were associated with our part of the organization, and every time I opened the list I quickly "noped" out of doing anything with it. But the time came when I needed to actually do something with it lest I wind up on someone's naughty list.

Read More

DMARC: Time to Evaluate Reports

Almost exactly a year ago, I wrote about my first foray into implementing DMARC controls. Specific to domains through which email was not intended to be sent, it was the beginning of my DMARC adventure and expansion into some 35-ish domains.

This became its own series of posts with time:

Read More