Tagged with 'tech'
Exporting Full MySQL Database Tables on Ubuntu
- August 19, 2024
- 5 minutes
- inspiration, mistakes, security, tech
...or, How I Suffered Through an 'If it Can Go Wrong, it Will Go Wrong' Scenario for a One-Off Export of Database Tables
This is one of those posts I'm writing up because in the moment I was so incredibly frustrated about how unnecessarily complex this action was, and I still have the various browser tabs that ultimately provided me the necessary bits open. I write this mostly for Future Me should I need to do something like this again.
Read MoreBasic Dialog to Manually Name OSD Task Sequence Device
- July 29, 2024
- 3 minutes
- inspiration, tech
Many years ago I wrote about the way I automatically generate the OSDComputerName
value for most devices in my fleet. Much of that process remains as it did back then, but I've never written about how I handle the one-offs (such as my testing VMs or other nonstandard hardware).
Manually Pointing Windows Activation At Alternate KMS Host
![Screen snip of a successful Windows 11 Enterprise KMS Activation](/sites/default/files/2024-07/fixed.png)
If you work with a lot of disparate dev and test devices across different domains, tenants, etc., you might run into the sort of Windows activation issue I encounter. In particular, when I'm doing dev/test work using physical hardware in my lab space (for things like OSD or OSDCloud), these machines wind up managed by my dev/test tenants/environments, and thus not pointing at our production KMS server for Windows activation.
Read MoreSetting Up SSH Key Authentication: 2024 Edition
- June 10, 2024
- 3 minutes
- automation, inspiration, security, tech
A recent project I worked on required setting up more SSH key authentication, and seeing as how I'd not written about it for two years since the last iteration, it seems fitting to do another quick primer on setting that up for SSH...the 2024 edition.
Read MoreGetting Started with WSL - A Quick Installation Guide
![Snip of Ubuntu 24.04 LTS in the Microsoft Store.](/sites/default/files/2024-04/wsl-headline.png)
- April 29, 2024
- 4 minutes
- tech
I've been using the Windows Subsystem for Linux (WSL) almost as long as it's been generally available, and I use it for all sorts of things. As I prepare for my upcoming sessions at MMSMOA, specifically the "happy hour" session I'm hosting with Jeff, I am setting up some new instances of WSL on clean hardware (both physical and VM) and figured it'd be a good opportunity to note the (usually) quick steps to get a basic installation of Linux up and running.
Read MoreAutomatically Process and Send Google Form Responses on Submission
![Screen snip of a dynamically generated PDF from Google Form submission](/sites/default/files/2024-03/GeneratedMergedFormPDF.png)
- April 08, 2024
- 8 minutes
- automation, inspiration, tech
I haven't written anything up about Google stuff in a while, and since this topic came up a few times in as many weeks (including from conversations at BrainStorm K20) I figured it's time to share the solution I've used several times.
Read MoreCreating a Differential Sensor In Home Assistant
![Home Assistant Gauge Card indicating a temperature differential](/sites/default/files/2024-03/TempDifferential.png)
- March 25, 2024
- 3 minutes
- automation, home assistant, tech
If you've fiddled enough in Home Assistant over time, you might have encountered the situation in which it is useful to trigger off of, or simply display, a calculated value. There are a few different ways this can be accomplished but this post focuses on creating a specific sensor to do both: be used as a trigger value for automation, and also displayed neatly in a dashboard.
Read MoreBelated Farewell to the Twitter/X API
!["dead Twitter" bird icon: an upside down Twitter bird with an X where the eye would be.](/sites/default/files/2024-02/deadtwitter.png)
This isn't much of a "real" post, and admittedly I needed a filler for this week, but it's been on my list to write about here for a while: Last summer I shut down my three Twitter bots when the Twitter API moved to a ridiculous new access rate structure.
Read MoreExport CM Collection Member Details to CSV
- January 29, 2024
- 3 minutes
- powershell, tech
A script snippet I use all the time (and which gets a lot of search traffic) is something I wrote in 2020 about exporting AD computers to CSV with Powershell. Along those lines, another cmdlet I use all the time … usually for inventory/asset management … is to obtain collection data from the SCCM/MEMCM/MECM/CM ecosystem.
Read MoreLighting the Dark Days of Winter with Home Assistant
![Screen snip of two settings in Home Assistant for Light state and a script trigger](/sites/default/files/2024-01/fanlightsteppedup.png)
- January 15, 2024
- 7 minutes
- automation, home assistant, inspiration, tech
This fall, right after the time change, I found myself often working intensely enough to suddenly notice "it was dark outside" in the late afternoon. Good for productivity, I suppose; not so much otherwise? ¯\_(ツ)_/¯
I'd automated a whole bunch of other light situations, mostly with some combination of brightness level (obtained from my Tempest weather station) and/or time-based. But all of those solutions were "binary" (on/off). My thought here was to slowly and incrementally bring up the overhead smart lights in my home office space.
Read MoreReflections on Advent of Code 2023
![Screen snip of a portion of the AoC "map" for 2023](/sites/default/files/2023-12/aoc2023.png)
- January 01, 2024
- 7 minutes
- inspiration, php, tech
I finally gave Advent of Code a shot for 2023! In years past I'd think about/stumble across/remember it a week or two in and automatically 'nope' out of starting. This year, in large part due to the WinAdmins Discord, I was both reminded of it in advance and also had a small community of other folks taking part (and a private leaderboard to watch).
Read MoreOctoPrint Webhook for Filament Change Notifications
- December 11, 2023
- 4 minutes
- 3d printing, automation, home assistant, inspiration, tech
I've been using OctoPrint to handle nearly all of my 3D printing operations since I moved to it a little over a year ago. It's an absolutely wonderful platform and I can't recommend it enough.
Read MoreHotend Thermistor With A Silpat, Revisited
- December 04, 2023
- 3 minutes
- 3d printing, mistakes, tech
I decided to post a quick follow-up to the original fix I'd implemented about ten months ago.
The $1M question was...
Read MoreBack to a Regular Schedule?
![Gif of a "retro" television powering up to a white screen/noise.](/sites/default/files/2023-11/giphy-downsized%5B1%5D.gif)
Man, it's embarrassing to see that I haven't published anything really technical (beyond my MMS Miami Beach recap) since the end of July...and before that anything on a regular schedule since April! Despite my best intentions, some aspects of life got complicated. Fortunately in the "good" way, but it really cut into my time to think about and craft posts.
Read MoreMMS Miami Beach Recap
![Rudy (at left) and Matt take a quick picture from the speakers' angle of the "Big Room" at MMS Miami Beach as we begin our 8 a.m. session.](/sites/default/files/2023-11/Wednesday-Attendees.jpg)
- November 13, 2023
- 5 minutes
- inspiration, tech
I had the great honor and pleasure of being a speaker at MMS Miami Beach Edition at the end of October. It was the first speaking event I've had since 2019, largely due to the pandemic, and the experience was marvelous! The entire team behind MMS is outstanding, and their attention to detail really makes a difference in the experience both for attendees and speakers.
The Overall Experience
The speaker attire this edition was pretty rad: lots of flamingo gear!
Read MoreEnabling Pi-hole DNS Across Multiple VLANs
![Screenshot of the "Top Clients" dashboard box of the Pi-hole admin interface, showing six clients with their local dns addresses and activity.](/sites/default/files/2023-07/topclients.png)
- July 31, 2023
- 4 minutes
- automation, inspiration, tech
I recently (and finally) upgraded my home network to a UniFi system after years of consideration and an incorrect assumption it would cost a small fortune to enact. My existing "core" router was reaching the end of its normal life, though, and I wanted a real mesh network with better outdoor coverage instead of using the range extender during the "not winter" months and connecting to a different SSID.
Read MoreTurn off the fan already! Tales of an automation modification
![Snip of details when creating a Home Assistant helper entity for a timer object.](/sites/default/files/2023-07/bathroom-fan-max-timer.png)
- July 10, 2023
- 5 minutes
- automation, home assistant, inspiration, tech
It's been a couple months since my last post, and while I had some things in the queue I have lacked time to finish them out due to MMS in early May, being involved in a community theatre production that just wrapped up a couple weeks ago, and for random reasons building a chicken coop of all things. ¯\_(ツ)_/¯
Here's to a return of more regular posts, assuming I have adequate time to write and revise them!
Read MoreAddressing Firmware Updates for Dell Latitude 54X0 in a Task Sequence
![Screenshot of a child task sequence for updating firmware in Full OS mode, with a Run PowerShell Script step highlighted with package and script information.](/sites/default/files/2023-04/ChildTaskSequence_0.jpg)
- April 24, 2023
- 8 minutes
- automation, inspiration, mistakes, powershell, security, tech
For about two years we fought with getting firmware (BIOS) updates to install on our Dell Latitude 54X0 models during their build/rebuild using a MEMCM task sequence. No matter what random trick I tried or thing I read, I just couldn't get the update executable to successfully apply the update in our primary build/refresh task sequence. Our techs (self included) would have to apply the update manually after devices were [re]built.
Read MoreSemi-Automatically Offering Dell BIOS/Firmware Updates
![Photo of Dell firmware update in progress instructing a user not to power down the system and showing a progress bar with basic status information.](/sites/default/files/2023-04/DellFirmwareUpdateInProgress.jpg)
- April 10, 2023
- 9 minutes
- automation, inspiration, powershell, security, tech
Several years ago I implemented a mechanism in our primary [re]build [Configuration Manager/MEMCM/SCCM] task sequence to address upgrades of our fleet's firmware (BIOS). On the whole, the process has worked very well and definitely helped keep things updated. However, this process only upgraded device firmware during a [re]build cycle which works great for our multi-user devices receiving an annual refresh; for high-affinity devices a rebuild happens once every 3-5 years and is usually associated with some form of attrition or replacement.
Read MoreCreating a Reference Sensor Template in Home Assistant
![Snip of a Home Assistant Dashboard item identifying two sensor states: one for bathroom humidity at a level of 44.6% and another for bathroom humidity target at level 49.0%.](/sites/default/files/2023-03/fan-headline.png)
- March 27, 2023
- 10 minutes
- automation, home assistant, inspiration, tech
It's been a while since I wrote about any Home Assistant stuff so I figured this was as a good time to write about something I'm super happy with: custom/reference sensor templates!
Read MoreGoing Dual Camera with OctoPrint
- March 13, 2023
- 6 minutes
- 3d printing, automation, inspiration, tech
Almost as soon as I started using OctoPrint, I also set up an old webcam to let me remotely "see" things since I keep the printer in the basement. That whole process was an adventure, because I don't use a Raspberry Pi for OctoPrint like most folks; I have an old Intel NUC (also used as a local dev server) running Ubuntu on which I installed OctoPrint. To that end, I had to do some manual install/build of the mjpg-streamer, specifically I used this package to get started.
Read MoreCreating a Practical and Automatic Server and Data Backup Solution
- February 27, 2023
- 8 minutes
- automation, inspiration, personal, tech
If you had disk/storage failure (on any of your important devices/things/places), would you be "up the creek?"
For many folks, the answer to that question is "absolutely."
Read MoreUpgrading All The Things to Ubuntu 22.04
- February 13, 2023
- 5 minutes
- inspiration, mistakes, php, security, tech
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. In that process I noted the longer-term target of moving to 22.04 which brings us to the here and now!
Read MoreMister 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.](/sites/default/files/2023-01/octoprint-temperature.png)
- January 30, 2023
- 8 minutes
- 3d printing, inspiration, mistakes, personal, tech
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 MorePowershell String Manipulation - A One-Liner
- January 16, 2023
- 4 minutes
- inspiration, personal, powershell, tech
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.
The Problem
In this case, there's a relatively free-form bunch of text received from a person/process whose behavior is unlikely to change. A couple of things that are consistent in this data:
Read MoreSmart Independent Control of a Ceiling Fan & Light with Shelly 1L
![Home Assistant dashboard (dark mode) illustration for independent control of office fan and office lights, with office fan in "off" state and office lights in "on" state.](/sites/default/files/2022-10/OfficeFanLights_0.png)
- October 24, 2022
- 6 minutes
- automation, home assistant, inspiration, personal, tech
As I've noted before, my 1940's-era house has its own quirks with regard to smart home automation in large part due to 1940's wiring standards.
Read MoreSmart Control of a 1940's Three-Way Switch with Shelly 1L
![Snip of Home Assistant dashboard card for Stairwell/Stair Lights with status data](/sites/default/files/2022-09/StairwellLights.png)
- September 26, 2022
- 8 minutes
- automation, home assistant, inspiration, personal, tech
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. Some fixtures were greater offenders than others, but with a control mechanism like HA I could actually begin to address what others wouldn't.
Read MoreJumping into Home Assistant: The Installation (and Hiccup) Process
![Screenshot of Home Assistant Initialization/Setup Screen at the user account creation step](/sites/default/files/2022-09/hastart.png)
- September 12, 2022
- 6 minutes
- automation, home assistant, inspiration, personal, tech
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 MoreAdding Push Notifications to the Tempest WeatherBot
![Slack Tempest WeatherBot alert notification for a close lightning strike](/sites/default/files/2022-08/lightningdetected.png)
- August 22, 2022
- 7 minutes
- automation, bots, inspiration, php, tech, weather
This is the "final" installment of my summer 2022 blog series about the development of my Slack Tempest WeatherBot.
Read MoreAdding External Data to the Tempest WeatherBot
![Slack Tempest WeatherBot in-channel alert notification from NWS API data for a Dense Fog Advisory](/sites/default/files/2022-08/densefogalert.png)
- August 08, 2022
- 5 minutes
- automation, bots, inspiration, php, tech, weather
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 MoreExpanding Interactivity with the Tempest WeatherBot
![Slack Tempest WeatherBot App Home tab display with current conditions and daily statistics](/sites/default/files/2022-07/apphome-condensed.png)
- July 25, 2022
- 5 minutes
- automation, bots, inspiration, php, tech, weather
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 MoreCreating a Slack Bot for Tempest Weather Station
![Image of Tempest weather station with device features highlighted](/sites/default/files/2022-07/tempesthighlights.png)
- July 11, 2022
- 5 minutes
- automation, bots, inspiration, php, tech, weather
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 MoreDMARC: Moving to a Monitor-As-Necessary State
- June 27, 2022
- 3 minutes
- inspiration, security, tech
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 MoreUpgrading an Old Application to 21st Century Passwords
- June 13, 2022
- 7 minutes
- automation, inspiration, mistakes, php, security, tech
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 MoreAn MMS 2022 Recap
![Gif of 'secret' high-five handshake between characters Abed and Troy from the series Community](/sites/default/files/2022-05/giphy%5B1%5D.gif)
- May 23, 2022
- 4 minutes
- inspiration, tech
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 MoreThe MMSMOA Retweet Bot in Action
![Cartoon robot image of the @mmsmoabot with breastplate advertising MMS and the bot Twitter handle](/sites/default/files/2022-05/mmsbot-sticker-web.png)
- May 09, 2022
- 8 minutes
- automation, bots, inspiration, php, tech, website
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 MoreIn-Place Upgrade of WSL Ubuntu 18.04 to 20.04
- April 25, 2022
- 5 minutes
- inspiration, mistakes, php, security, tech
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. I run and have access to a bunch of different environments so it felt right to get environments back to a standard (or at least closer) base configuration.
Read MoreImproving DMARC Compliance: Authenticated SMTP Relay
- April 11, 2022
- 4 minutes
- automation, inspiration, php, security, tech, website
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 MoreLAMP to WAMP: Adventures in Server Migration
- March 28, 2022
- 11 minutes
- inspiration, php, tech, website
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 MoreCertbot on Windows: Automation Is Possible
- March 14, 2022
- 6 minutes
- automation, certbot, inspiration, security, tech, website
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 MoreRevisiting Key Authentication Setups
- February 28, 2022
- 6 minutes
- automation, inspiration, security, tech
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 MoreMoving an Old Website to Github Pages: Creating a Finished Product
- February 14, 2022
- 9 minutes
- inspiration, tech, website
In the last post I wrote about the process of creating the layout and the challenges through the content conversion and basic layout stages. This post works through some of the fine-tuning and the process of "going live" with the new site and its structure.
Read MoreMoving an Old Website to Github Pages: Getting Started
- January 31, 2022
- 11 minutes
- inspiration, tech, website
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 MoreDrupal Site Improvements and other Housekeeping
- January 17, 2022
- 8 minutes
- drupal, inspiration, tech, website
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. Of course, something like this often spirals into its own set of "other" things to fix for the greater good.
Read MoreMoving 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. Relatively simple things like straightening out, consolidating, or consistently applying vhost configurations.
Read MoreReconciling Disparate Datasets
- December 06, 2021
- 8 minutes
- inspiration, php, tech
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 MoreDMARC: Time to Evaluate Reports
- November 22, 2021
- 6 minutes
- inspiration, security, tech
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 MoreDate Math is Gross
- November 08, 2021
- 3 minutes
- automation, mistakes, php, tech
This year, I'm working with/mentoring a paid intern on a device monitoring project for a portion of our fleet. These sort of projects are always fun and meaningful in that we identify a problem or opportunity to improve, and then solve said problem in a way we've not done before. It works out well for everyone involved because we get an improved process or "thing," the intern gains some practical experience and skills (often with stuff they've never encountered), and the intern gets paid to boot.
Read MoreImplementing Certificate Authority Authorization
- October 25, 2021
- 4 minutes
- automation, certbot, inspiration, security, tech
During the foray into fixing up the Let's Encrypt root certificate expiration bits for my affected bot host, while using the helpful SSL Server Test tool, I discovered the "new" (not really new) Certificate Authority Authorization (CAA) DNS record.
Read MoreKeeping the Wireless On - Script the Reconnect
![Electric arc between two plasma globes](/sites/default/files/2021-10/giphy%5B1%5D.gif)
- October 11, 2021
- 4 minutes
- automation, inspiration, powershell, tech
In our classroom fleet, almost all devices are wireless-only for their network access. This as a design is great for mobility and flexibility and the user experience but presents its own set of very unique challenges on the technical side. At various times and for a wide range of reasons, we encounter the situation where devices "lose" their wireless/Wi-Fi connection. Resolution usually involves dispatching a tech to the space or walking a user through, under most circumstances, simply "reconnecting" to the proper SSID.
Read MoreBreaking the Chain: An Edge Case of Let's Encrypt Root Certificate Expiration
- September 27, 2021
- 6 minutes
- automation, inspiration, mistakes, security, tech
It's been written about and announced for some time—the forthcoming expiration of the DST Root CA X3 certificate. The good news for most folks is that it's not a big deal. And that, I thought, also included me. For the most part, this has panned out to be true.
Read MoreA DMARC Follow-Up: Nine Months In
- September 13, 2021
- 3 minutes
- inspiration, security, tech
It's been a full nine months since I first wrote about implementing DMARC controls, and over six months since I last wrote about fiddling with DMARC settings, so it's time to provide another quick update.
Read MoreUndo the Undo -- A Short Tale of a Git Mistake
![Gif with "Abort the mission" text.](/sites/default/files/2021-08/giphy%5B1%5D_0.gif)
I had one of those "Oh shit, Git!" moments this past weekend...
Mine was that I made a necessary change, and since it was pretty minor (really a typo fix of sorts) I just went ahead and did it in the main
branch. NBD. Commit
, push
, and pull
on the remote host, and all is good.
Whoops! Cleaning up Mistakes via API
![Gif with "I've made a huge mistake" as caption.](/sites/default/files/2021-08/giphy%5B1%5D.gif)
- August 09, 2021
- 5 minutes
- automation, inspiration, mistakes, php, tech
Posting again after kind of a lengthy break. It's summertime, and for lots of disparate reasons I've queued up topics but haven't had the ambition or taken the time to write them all out. So today we get a tale of automation mistakes and the subsequent cleanup.
Read MoreReinstalling reCAPTCHA
In the last post I wrote about finally cutting off the comments feature due to an abundance of spam.
For about two days, this was successful...
Read MoreComments No More
Well, the time has come...to shut down post comments. Presumably for good.
When I rebooted the site in Drupal a couple of years back, I'd waffled over whether or not to leave post comments enabled. It seemed like an okay idea, but at the same time would they just become a sea of comment spam? At the time of the site reboot, though, I chose not to maintain an active direct contact ("contact us") form due to other technical limitations at the time. So comments seemed an appropriate balance.
Read MoreCleaning Up Old Mistakes Part Deux: Leveraging Includes
- May 10, 2021
- 4 minutes
- inspiration, mistakes, security, tech
This post is the second of a two-part miniseries identifying and correcting old mistakes. Part one discusses cleaning up Git repos based on permissions faux pas.
Today's atonement for old mistakes: Using centralized/standard "includes" for path variables and eliminating passwords from committed code.
Read MoreCleaning Up Old Mistakes: Git Repos With Nested Accounts
- April 26, 2021
- 6 minutes
- inspiration, mistakes, tech
This post is the first of a two-part miniseries identifying and correcting old mistakes. Part Deux is also available.
Today's atonement for old mistakes: Git repos used in production in which nested/disparate accounts run code.
Read MoreA Twitter Bot for Dad Jokes
- April 12, 2021
- 5 minutes
- automation, bots, inspiration, php, tech
About a month ago, I discovered this gem of a tweet:
Read MoreTIL fatherhood dot gov has a dad joke API pic.twitter.com/fZi4rRSQS8
My Personal Git Cheat Sheet
- March 29, 2021
- 3 minutes
- inspiration, tech
I've used a number of various Git cheatsheets over the years, usually duing a moment of "how do I do __ again?" and sometimes during a moment of panic like "Shit! Undo that commit!"
Recently, I (finally) "removed my training wheels" and uninstalled the UI client I had for Git, for two reasons:
- I was not actually using its features anymore*; and
- It was constantly getting in the way of Git updates.
* Save for the occasional git clone action
Read MoreGit-ting the hang of Hooks
- March 15, 2021
- 8 minutes
- automation, inspiration, tech
Several months ago I made the decision to finally use Git to manage a more complex "legacy" web application project that I inherited over a decade ago and continue to maintain. Years ago when migrating the web application to a new hosting stack, I ported the development/test and production sites into their own Git repositories. Thanks to the magic of GitHub, it made the actual migration to a new host pretty simple in that the migration itself (save for the database bits) was more or less a simple git clone
action.
Signing Git Commits: Chasing the "Verified" Stamp
- March 01, 2021
- 6 minutes
- inspiration, tech
I've been working on projects lately that actually involve writing more code than I have in a while...and so I'm using Git/GitHub with greater frequency than I have in some time.
Read MoreImplementing DMARC: Adjusting SPF Records
- February 15, 2021
- 5 minutes
- inspiration, security, tech
It's been a couple of months since I last wrote about implementing DMARC and what comes next (review and adjustment). So I figured this would be a good time to document a few changes I've made based on the reporting data received so far.
Read MoreMy First Twitter Bot: A Journey into Twitter's API
![Dancing Robot](/sites/default/files/2021-01/giphy-downsized%5B1%5D.gif)
- February 01, 2021
- 7 minutes
- automation, bots, inspiration, php, tech
Sometime around Thanksgiving/November 2020, I formalized the idea that I would actually build a Twitter bot for the sake of novelty and as an experiment/learning exercise. One night at suppertime, we discussed what might be cool as a bot and those ideas are still on the list as possibilities for the future. Ultimately, I settled on a bot idea that built on some things I've used in the past (Google API) so I wouldn't have to learn All The Things in addition to building a bot and figuring out the Twitter API.
Read MoreExporting Legacy/Archival Emails with Google Apps
- January 18, 2021
- 4 minutes
- automation, inspiration, tech
At work, we've had a number of folks retire over the last 18 months, and a number of those folks are holders of some significant institutional knowledge and memories. Recently I had the opportunity to work with one of these individuals as they prepared to both hand off information to others, which led me to recall several conversations I've had with my Libraries/archives friends about preserving the "right" subsets of digital messages such as email.
Read MoreMy Incremental Certbot Panacea
- January 04, 2021
- 5 minutes
- automation, certbot, inspiration, security, tech, website
I've written about Certbot more than any other topic in the last 24 months or so, in part because it's been an interesting adventure for me both in helping to demystify SSL certificates, but also because it's been an evolving and incremental process to Make It Better. The first post I'd written in February of 2019 talked about using a web service to generate a Let's Encrypt certificate...good for 90 days...for free.
Read MoreInterruptions and Intentionality
![Snip of cartoon saying 'Hey, so I just sent you an email about that thing.'](/sites/default/files/2020-03/InterruptedSnip.png)
- December 28, 2020
- 5 minutes
- inspiration, tech
Interruptions: they're everywhere.
Read MoreImplementing DMARC for Active Domains: Policy & Review
- December 21, 2020
- 6 minutes
- inspiration, security, tech
This is the second post in a two-part series to implement DMARC controls for actively-used domains, where this post focuses on creating and reviewing/adjusting your DMARC policy and controls. Part one reviewed proper DMARC prerequisites and contains information you will need to have in place before creating your DMARC policy.
Read MoreImplementing DMARC for Active Domains: Configuring Prerequisites
- December 14, 2020
- 3 minutes
- inspiration, security, tech
As a follow-up from my previous post about implementing DMARC controls for unused/alias domains (those not used for actively sending messages), I wanted to write a bit about how to implement basic DMARC controls for those domains actively used to send emails.
Read MoreImplementing DMARC on Alias Domains
- November 30, 2020
- 6 minutes
- inspiration, security, tech
A few weeks ago I crossed a tweet with some simple instructions for securing your "unused" email domains, specifically the few bits required to implement DMARC controls to prevent Bad Folks from using your domains to send spam emails. The short thread led to an awesome reference by the UK Government on the same process.
Read MoreAutomating Certbot: A Recap of My Journey
![Long winding road](/sites/default/files/2020-11/WindingRoad.jpg)
- November 16, 2020
- 3 minutes
- automation, certbot, inspiration, security, tech, website
Over the last two months, I've shared what amounts to a four-part "series" of posts walking through my journey of using Certbot for SSL certificate management, with the primary challenge being not having the traditional root-level access on the web server. Those posts are, in order:
Read MoreCertbot in Manual Mode with Script Hooks
- November 02, 2020
- 4 minutes
- automation, certbot, inspiration, security, tech, website
If you've been following along in the mini series, I've gone over the details of using Certbot in manual mode, then bolting some simple scripts together to improve the process of generating and managing certs, all done with a bit of magic thanks to our old friend key authenti
Read MoreImproving Manual Certbot Domain Validation
- October 19, 2020
- 6 minutes
- automation, certbot, inspiration, security, tech, website
In my second post about using Certbot in manual mode, I address some of the 'pain points' from the first post: namely the process of scripting together some of the bits to create/renew a certificate and otherwise requiring fewer individual commands be entered (or remembered).
Read MoreMoving to Certbot with Let's Encrypt
- October 05, 2020
- 6 minutes
- automation, certbot, inspiration, security, tech, website
This is the first post in a short series of posts about automating what one can in an environment that might not support full-automation with Certbot and Let's Encrypt. Technically it's the second post as the first was geared toward setting up key authentication between systems, something that's leveraged significantly in this series.
Read MoreQuick Tests of WQL Queries
- September 21, 2020
- 3 minutes
- automation, inspiration, powershell, tech
Recently I was working on a clean-up/improvement project in the MEMCM (SCCM) console which required some WQL query work and updates. In particular, I was fiddling with some collection queries to segment some areas for a process improvement project coming up. That's intentionally vague, because the 'why' in this case doesn't really matter. What does matter is that I needed WQL to give me proper results.
Read MoreQuickly Extracting Icons with Powershell
- September 08, 2020
- 2 minutes
- inspiration, powershell, tech
One of the things I both love and loathe is adding the little icon to an advertised deployment in the Software Center console of SCCM/MEMCM. As many have said it in the past, "Pretty Counts" and I wholeheartedly agree.
Read MoreAuto-Power On Dell Workstation
![Cartoon characters join together with "Let's Power Up!" as a caption.](/sites/default/files/2020-08/giphy%5B1%5D.gif)
- August 24, 2020
- 3 minutes
- automation, inspiration, powershell, tech
As we begin another academic year, this time in a pandemic, we're providing more virtual/remote desktop access to computer lab and public-access workstations for those in need. We're starting by using the machines taken out of general service due to physical distancing requirements. These workstations are still powered on, but we've removed their keyboards, mice, and fiddled with their monitor configurations (along with basic signage) indicating they are not in service (at the console/in person).
Read MoreFormulas in CSV Files
![Bad Magic Trick with a ladle for cooking](/sites/default/files/2021-01/giphy-downsized%5B1%5D_1.gif)
- August 10, 2020
- 4 minutes
- automation, inspiration, tech
A while back I received a call for assistance in helping to streamline an inherited process. In this particular case, an individual had created a complex (but necessary) process to essentially transform and move data between disparate systems. The employee(s) responsible for creating this process had since left, but the process remained and needed to be manually done often enough that it was painful enough for the person now responsible for the process to ask for assistance.
Read MoreSetting Up Key Authentication
![Hands playing with a set of keys on a ring.](/sites/default/files/2020-06/giphy-downsized%5B1%5D.gif)
- July 06, 2020
- 4 minutes
- automation, inspiration, security, tech
While I was preparing to write an upcoming post about moving directly to certbot from SSLForFree now that they've merged with ZeroSSL, I realized that I'd not actually ever written a post about one of the components I use all the time, including for my new certbot process: public key authentication.
Read MorePushing Data Into Google Sheets Sheets (Yes, Multiples)
![Screenshot of basic sheet including multiple tabs/sheets (Excel)](/sites/default/files/2020-06/TestDataCSVSheetsSnip.png)
- June 22, 2020
- 4 minutes
- automation, inspiration, php, tech
If you recall from the last tech post about pushing data directly into Google Sheets, I promised a follow-up regarding the process of adding multiple sheets worth of data to a given parent sheet.
Read MoreProgrammatically Push Data to Google Sheets
![Screenshot of a very basic CSV file of gibberish test data](/sites/default/files/2020-06/TestDataCSVSnip.png)
- June 08, 2020
- 3 minutes
- automation, inspiration, php, tech
I've written in the past about the ability to ship files to Google Drive via its REST API and PHP, which is a super-cool process in and of itself. In the last few months, I've been moving more and more of our internal data shipping processes to Google Shared Drives for ease of end user access. As folks started working remotely, moving data to Google has solved several support burdens regarding access and such.
Read MoreCharacter-Perfect Fixed Width Import Files
![Flintstones Cartoon Sewing Machine](/sites/default/files/2020-05/giphy%5B1%5D.gif)
- May 25, 2020
- 4 minutes
- automation, php, tech
One of my springtime projects at work was to button up a recently-refreshed process to transmit some billing data between systems. By 'recently-refreshed,' I mean 'finally made a process whereby a human doesn't have to manually generate a file which had been the de-facto process for the better part of twelve years. Due to the cascading effects of some staff turnover in the unit in question, IT was brought into the loop to help find a better way to work this process.
Read MoreSimple, Yet Powerful Excel/Sheets Functions
![Cartoon about functional programming](/sites/default/files/2020-05/1_Uqm22oIfuUKYuG4qovigNw.png)
- May 11, 2020
- 3 minutes
- inspiration, tech
As a reflection exercise for a project I wrapped up a bit ago, combined as an exercise to make Future Me's life a Better Place, I pulled together a simple Google Sheets workbook to make a quick 'calculator' and balancing mechanism to help keep track of a couple datasets. And in so doing, I again befriended a couple of super simple, and super powerful functions:
Read MoreCount of AD Groups Ranked by Members
![A cartoon/drawn group of random people](/sites/default/files/2021-01/GroupMembers.jpg)
- April 27, 2020
- 3 minutes
- inspiration, powershell, tech
A week ago, someone on one of our more generalized Slack channels asked if anyone knew how to make AD Users and Computers (ADUC) filter mechanism rank output based on a group membership count. Now, I don't necessarily understand (or honestly, care) about the particular use case, but I knew the answer was going to be 'no, that can't be done by way of the GUI.' Which was the first part of my answer.
Read MorePowershell Exports AD Computers to CSV
![Road sign reading "Export"](/sites/default/files/2020-04/export-970x650%5B1%5D.jpg)
- April 13, 2020
- 2 minutes
- powershell, tech
A couple months ago I wrote about using Powershell to find and export AD records for the purposes of our Windows 7 End-of-Life project. This post is effectively a second in a series of 'exporting computer records from AD with Powershell' if you will.
Read MoreTRIM-ming up for Summer
![Trimming a hedge with lawnmower attached to tractor loader](/sites/default/files/2021-01/giphy-downsized%5B1%5D_0.gif)
- March 09, 2020
- 3 minutes
- automation, inspiration, php, tech
Not really TRIM-ming for summer, but taking the opportunity to briefly write about Rule #1 when dealing with unknown (or incoming) data.
Sanitize. Thy. Inputs.
Without going into great detail (as it doesn't matter at the end of the day), last week I encountered a vendor that apparently doesn't know how to do this very well. Or at all. What ultimately transpired is the complete failure of a reasonably-routine change process to capture a critical failure in production.
Read MoreInteresting Log Entries (or, Why To Patch Thy Systems)
![Random text scrolling from within a terminal window](/sites/default/files/2020-02/source%5B1%5D_1.gif)
- February 24, 2020
- 3 minutes
- tech, website, drupal, inspiration
So far in 2020, I've been keeping a closer eye on the logs of this Drupal site. Back in the day, I used to pore over logs in a sort of 'bender' fashion, presumably as I was bored or something similar. Rarely was something particularly interesting, but it was a good way to figure out and correct some random things. Still is...but it's 2020 and nobody manually looks at logs anymore.
Read MorePrivate Content in Drupal
![Glass that turns opaque with an electric current.](/sites/default/files/2020-01/source%5B1%5D_2.gif)
When I started going down the Drupal road a year ago, with minor delay after delay after delay, one of the many 'dorky' things I wanted to do was port my old "Start Page" to a real platform. See, I've had this flat HTML "Start Page" on my desktop for well over a decade, and it's set as my primary browser homepage.
Read MoreLow-Budget "CI/CD"
![Dude with baseball bat smashes monitor off desk](/sites/default/files/2020-01/source%5B1%5D_1.gif)
A client project had a database server upgrade in early December, and as I eluded to in a different post from around that time, Git was the shit when it came to making my angle of that migration go smoothly. Past Me made Current Me's life a lot simpler.
Read MorePowershell to Find and Export AD Records
![Frantically searching through report data](/sites/default/files/2020-01/source%5B1%5D.gif)
- January 13, 2020
- 3 minutes
- tech, powershell
With the very near end of life for Windows 7, as we work through the last bit of known and managed machines to upgrade or replace I find myself needing to do more frequent "searches" of AD computer object records for analysis.
Read MoreCleaning Up and Updating
![Suspense while waiting (to update).](/sites/default/files/2019-12/source%5B1%5D.gif)
I've been a bit remiss in the posting cadence lately (well, since Thanksgiving). Much has been happening in all realms of life (as they are want to be during the "holiday season"). That being said, I don't return to work, proper, until January 6. And so it's time to do some cleaning up and other updates. With any luck, I'll have some material queued up to help buffer the situations when I'm out of time (or random ideas).
Read MoreVisual Customizations for Windows 10 in OSD
![Windows logo](/sites/default/files/2019-11/source%5B1%5D_1.gif)
- November 25, 2019
- 3 minutes
- tech, powershell, automation, inspiration
As we work through the tail-end of our Windows 7 fleet (January 14, 2020 is coming if you haven't heard...), I've found myself rolling a different type of hammer process for the last of the "upgrades." This past week as I was tweaking what amounts to an in-place update (by way of wipe and load) for Windows 7 to Windows 10, I was reminded of how Past Me was indeed awesome (and inspired) since this simple script with all the various background and image sizes still works in Windows 10 19XX deployments.
Tales From The 'Duh!' Archive: Command Syntax
![Cartoon character pushes zombie back into grave](/sites/default/files/2019-11/source%5B1%5D.gif)
- November 11, 2019
- 2 minutes
- tech, powershell, mistakes
I had a very long week, which means I'm writing a short post this time around.
Among several seemingly disparate things I accomplished in the last week or so, I spent some time deploying applications via SCCM (soon to be called Microsoft Endpoint Manager/Configuation Manager/#MEMCM per the announcement at Ignite this week).
Read MoreLet's Expand Encryption!
![Gif of lock tumbler mechanism](/sites/default/files/2019-10/source%5B1%5D.gif)
This weekend I performed the quarterly actions to update my various letsencrypt certificates, which I've not written about since early May when I'd performed the first set of renewals. Let's Encrypt and SSL For Free are still outstanding services, and I'm super happy with them!
Read MoreWho's Font Awesome?
![Puppy pointing with text "Who's Awesome? You're Awesome!"](/sites/default/files/2019-10/awesome.jpg)
Earlier this year while working on a client project revision, I decided to spruce up the old and dated icon set. This set had been cobbled together from various sources over time (the way you did these things back in the day), and overall lacked a consistent use and/or feel. Some actions had no associated icon, so educated guesses were made to find a matching icon from the existing set...and so forth.
Ultimately, it was time. But where to start?!
Read MoreTime for a Drupal Refresh
![Old computer mainframe tape disks](/sites/default/files/2019-09/giphy%5B1%5D.gif)
So here we are...just over six months into the new Drupal adventure driving the site. Overall I'm much happier with the transition than I'd originally expected, because the general maintenance and upkeep has been pretty much automatic. Scheduled publishing has been a lifesaver, too, because it's a 'set and forget' thing...unless I cross a month's boundary between create and publish dates (more about that in a bit).
Read MoreCollection Variables in SCCM Task Sequences
![Hello my name is {X} tag](/sites/default/files/2019-08/variable.png)
- August 26, 2019
- 4 minutes
- powershell, automation, tech
As I've mentioned a number of times in previous posts, on our campus we perform a roughly-annual refresh of multi-user workstations across the institution. This 'multi-user' scope includes machines in classrooms, computer labs, open learning spaces, conference rooms, and so forth.
Read MoreDynamically Created Anchor HREFs
![Multiple Arows Crossing Paths](/sites/default/files/2019-07/arrows.png)
- July 29, 2019
- 3 minutes
- tech, website, automation, inspiration
Back in the day, namely before Javascript and jQuery were really a thing, the idea of dynamically creating an anchor's HREF attribute required some serious magic and behind-the-scenes wizardry. Or something like Flash. Those were not the days...
A Bit of Background
Several years ago, during a client's web app rebuild/refresh, I decided to clean up some of the gnarly baggage behind their reporting mechanism.
Read MoreWhat's That Join Again?
![Visualization of SQL Joins](/sites/default/files/2019-07/Visual_SQL_JOINS_orig.jpg)
In the interest of hopefully saving Future Me some time, I'm writing this little bit so as not to have to stumble to remember a simple premise:
How do I LEFT JOIN the same table more than once in a query?
For as many times as I've had to join a table more than once (effectively as a certain type of generic lookup table), you'd think I'd have this memorized. But I always get caught forgetting to proper alias both joins.
Read MoreAuto-Determine Primary IP Address
- June 30, 2019
- 3 minutes
- automation, tech, powershell
One of the things I've baked into our production task sequence for "multi-user devices" is a secondary way to automatically determine a device's use case while in the WinPE stage. The primary, preferred way to determine use case is by the use of SCCM collection variables, but those require a known object (in the proper collection) to function as designed. Thus, for all rebuilds of known devices, the use case is figured out by collection variable.
Read MoreBatch Ship Data to Google Team Drive
![Moving Data](/sites/default/files/2019-06/movedata.png)
- June 17, 2019
- 5 minutes
- automation, inspiration, php, tech
A few weeks ago, I wrote a brief bit about capturing webcam images. This post expands on the initial process: specifically, what to do with the images once procured.
Read MoreCapturing Your Internet-Connected Webcam Images
![Puppet bird with binoculars](/sites/default/files/2019-06/giphy%5B1%5D.gif)
- June 02, 2019
- 3 minutes
- automation, inspiration, php, tech
Over the years, we've had a few public Internet-connected cameras pointing at various places around campus. We've used them for publicity and other purposes since the mid-1990's, and starting in around 2010 would sometimes be called upon to create a sort of time-lapse video of activity from one of said cameras.
Read MoreWindows Scheduled Tasks with Powershell
![Mechanical Mathematical Calculator](/sites/default/files/2019-05/3410901387_786f1ec846_o.jpg)
- May 20, 2019
- 5 minutes
- automation, inspiration, powershell, tech
As I struggled to find looked for inspiration for this week's post, I wound up looking within...oddly enough as I was reconfiguring my email out of office response (the below is what I had for my time at MMS):
MMS: Drinking From the Fire Hose
![Drinking from the fire hose](/sites/default/files/2019-05/firehose.jpg)
- May 13, 2019
- 7 minutes
- tech, automation, inspiration, security, powershell
I spent last week at MMSMOA, a conference I cannot recommend enough for anyone working in the Microsoft/Windows/Systems Management space. The main event, held at the Radisson Blu Mall of America, is a solid four-and-a-half days of deep technical material, networking, sharing, and more!
Read MoreHey, Let's Re-Encrypt!
![HTTP vs. HTTPS](/sites/default/files/2019-05/httpvshttps.png)
The time has come...to renew some Let's Encrypt SSL certificates! Doesn't seem like 90 days has passed since I originally wrote about trying out Let's Encrypt as a service to generate free, trusted SSL certificates with a limited lifespan (90 days versus the more commercially-focused 1-3 years).
Read MorePerformance Can Matter
![Performance Measure](/sites/default/files/2019-04/performance.jpg)
- April 15, 2019
- 5 minutes
- tech, automation, inspiration
I've had this written down as a topic suggestion for some time, and to balance/counter my post a couple weeks ago regarding performance, there's absolutely another side to that coin.
Read MoreDoes the Performance Matter?
![Does it matter?](/sites/default/files/2019-03/giphy%5B1%5D_2.gif)
- April 01, 2019
- 4 minutes
- powershell, tech, automation, mistakes, inspiration
Back around 2015 or so, I wrote a simple Powershell script which basically re-populates Active Directory (AD) group membership based on data procured from our central systems. Two primary AD groups in particular are synchronized to our print management system, PaperCut, which pre-provisions accounts and access so folks handling monetary transactions don't have to create accounts, etc.
Read MoreIt's Presentation Season!
![Wizardry](/sites/default/files/2019-03/giphy%5B1%5D_1.gif)
- March 25, 2019
- 4 minutes
- tech, inspiration, automation
As I mentioned a month ago, I've taken the opportunity to commit to more speaking/presentation engagements than ever before, in an attempt to better inspire folks and do more technical evangelism. It just happens to be that I have three things lined up in as many months!
Read MoreAuto-Transpose Data
![Geeks and Repetitive Tasks Graph](/sites/default/files/2019-03/automate.png)
- March 18, 2019
- 4 minutes
- tech, php, automation
Many years ago, an individual in our office retired and the position was not replaced. For several reasons, this was an appropriate decision: the landscape of IT and our localized service portfolio had, for lack of a better phrase, stabilized. Our team was more often innovating in ways involving or prioritizing partnerships over custom builds or infrastructure requirements. We were appropriately consuming centralized services made available as a commodity.
Read MoreI Own You, Drupal View!
![I Own You](/sites/default/files/2019-03/giphy%5B1%5D_0.gif)
As I tweeted about in victory a week ago, I managed to finally get my Drupal taxonomy term view(s) to do what I wanted:
Read MoreI _finally_ managed to get that Drupal taxonomy term view to generate what I want, the way I want it (TL;DR: term value, content filter, and a complex relationship). Only took a few weeks of casual/off-and-on attempts to figure it out! pic.twitter.com/ks7qqZfc73
Auto-Generate OSD Computer Name
![Typos Happen](/sites/default/files/2019-03/giphy%5B1%5D.gif)
- March 04, 2019
- 5 minutes
- tech, powershell, automation
Last summer while re-designing and upgrading our primary task sequence for the "multi-user devices" in our fleet (computer labs, learning spaces, etc.), I decided to tackle what had become a bit of a perennial problem: device naming.
Read MoreWe Have Liftoff!
![Hovering Cat](/sites/default/files/2019-02/houston-we-have-lift-off-151840%5B1%5D.gif)
Liftoff.
Finally.
Aside from some style tweaks likely to come around, the underlying technical bits I've been ignoring or had on the list to address (looking at you, tag views) are now in place and working as I'd expect. There's a pesky bit I've ended up handling in a more manual sense, at least for the short term: content view by tags.
Read MoreHey, Let's Encrypt!
As I'd mentioned in the past, one of the key reasons for changing up my personal hosting plan was to support Let's Encrypt, the free and open Certificate Authority. In 2019, there is absolutely no need for a regular old website or service to pay some exorbitant rate for an SSL certificate. The premium options (extended validation and such) are an entirely different arena--think banking and other services--but those are out of scope for everyday Joe.
Read MoreIt's [Well Past] Transition Time
As the last full refresh of mzonline.com was fully thirteen years (!?!) ago, ca. 2006, one can say it was time for something new.
I'm super glad I had built the old site out with a tableless and (for its time) clean and well-structured design. While it's been a bit dated for several years, with the exception of the site itself not being terribly responsive (for mobile and alternate screen sizes) it's had a good run.
Read More