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 MoreI'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.
Read MoreInterruptions: they're everywhere.
Read MoreThis 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.
Read MoreAs 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 MoreThis past Friday, somewhat out of the blue, I was pinged by a friend about helping him work through implementing what I'd done to date with Certbot...with the additional twist of his own unique configuration challenges.
Read MoreA 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.
Read MoreAs I'd eluded in a post earlier this summer, we had some major home projects completed this year. As of the end of October, 2020, they're all functionally complete. We only await the delivery and installation of a few missing pieces of window jamb extensions and casing, and a "rainy day" for the contractor to spend a couple quick hours installing.
Read MoreOver 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 MoreIf 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
Read MoreIn 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 MoreThis 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.
Read MoreI read and consume a lot of material every day. I love it, and I love how available this material can be to everyone (God Bless the Internet).
What I have been remarkably remiss at over the last year or so, though, is regular old analog reading. The stuff of books, that is.
Read MoreRecently 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 MoreThroughout the pandemic I've tried to keep in contact with friends via different mechanisms. One of those venues is Slack, where one friend and I have gotten into this "habit" of sorts where we do some sort of video call (Slack, Zoom, etc.) that ends up lasting several hours. These come up every six weeks or so (in addition to more regular banter via Slack); not often enough to be burdensome, but often enough to be meaningful.
Read MoreOne 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 MoreAs 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.
Read MoreA 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 MoreIt's been a wild couple of weeks since I last posted anything here. I'd exhausted most of pre-written content and with a bunch of these improvement and scope creep projects on the horizon it was not feasible to get more material churned out in the short term, so a break it was!
Read MoreAs I've written about before, there have been plenty of random projects to work on during the pandemic and additional time spent around home. Due to a pretty significant hailstorm last summer, we're going to be replacing every roof on the property and also re-siding the house.
That's not where the scope creep comes into play.
Read MoreWhile 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 MoreOne of the things I've always enjoyed about our little home on the prairie is the fact we've always a selection of various critters or insects beneficial to the larger environment. Part of this is bolstered by the fact we live across the road from several hundred acres of waterfowl production area owned and managed by the US Fish and Wildlife service.
Read MoreIf 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 MoreThis is a relatively short post, but as I entered our May electric usage into my tracking spreadsheet (see the Energy Use Analysis post from a while back), I noticed something peculiar about this last few months since the pandemic really hit (and we started staying at home all the time).
Read MoreI'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.
Read MoreIt is no surprise to me that retail outlets catering to home improvement projects have been doing well during the pandemic and various iterations of stay-at-home orders. The sudden 'found' time of folks who might normally spend time on other endeavors is suddenly focused into projects around the house. To some degree this is the same here...
Read MoreOne 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 MoreOver the years I've developed a habit where a short part (~30 minutes on average) of most weekends are dedicated to entering the week's receipts, reconciling (or balancing) accounts, updating investment fund values, and so forth. Once familiar with GnuCash, this process is pretty straightforward and easy to do.
Read MoreAs 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 MoreAs I wrote about a couple months back, GnuCash is my accounting software of choice since ~2010. I wasn't exactly "sold" on it from the start, but it was a free and open-source solution that seemed robust enough to handle pretty much anything I could throw at it, from managing business finances and whatnot to a whole mess of personal accounts.
Read MoreA 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 MoreA little over a decade ago we had a ground-source heat pump installed for our home heating and cooling. Commonly called a 'geothermal' system, the basic function is that it uses the earth's relative/stable temperature (well below the frost line) to act as a heatsink for air conditioning and heating.
Read MoreA 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 MoreSo I wound up putting a bit of a pause on posting this last month or so. Certainly not for a lack of things to say...but certainly for lack of time to nuance them. I've had to schedule and reschedule the various posts I had in progress (but not fully finished) a couple of times now. Hopefully I can get to the point of starting to regularly crank out new stuff on the normal schedule.
But first, this bit of a reset.
Read MoreNot really TRIM-ming for summer, but taking the opportunity to briefly write about Rule #1 when dealing with unknown (or incoming) data.
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 MoreA couple weeks ago, I made brief mention of my financial automation account and how I've come to consider it my "free money" account. I wanted to dig into that topic just a bit more, since it's become a key component of my own regular financial well-being.
Simple: it's thoughtless, once set up.
Read MoreSo 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 MoreAs we enter the thick of tax season (I just filed ours this past week), I thought I'd write a short bit about my own take on financial literacy. This idea was originally sparked when I read an article last year about Why Financial Literacy Matters from a more education-based perspective. I suggest giving it a quick read.
Read MoreWhen 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.
Read MoreThis past Saturday ended a most marvelous run of the One-Act Play production in which my 7th grader was cast. I'm deliberately not going into any details regarding the production, because it doesn't matter what production was in scope, but how the production went.
It. Was. Fantastic.
Read MoreA 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 MoreLast summer we had a pretty gnarly hailstorm, which has ultimately resulted in the need to replace shingles and siding on the house (among several other things). As a result, this has become a launching point for getting some insulation work and window replacement on the project list. Because if we're gonna do the siding, we might as well get those other things done, too.
Read MoreWith 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 MoreI'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 MoreAs 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 19
Haven't had a more personal post for a while (hope to rectify that in the next few weeks as I've got some stuff queued up), but it seemed fitting to give a short tribute/shout out to some of our regional performance art talent.
Read MoreI 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 MoreThis 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 MoreEarlier 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 MoreSo 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 MoreAs I've noted a few times in the last few months, things have been remarkably crazy and busy. As it always does, this culminates in a late-August/early-September influx of "survival mode" where most everything centers around keeping the fires to a minimum.
Read MoreAs 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 MoreAhh, August: that "season" of all things chaotic, crazy, busy, and otherwise rushed. See also: back-to-school season.
A time when the rush of all the things that haven't yet been accomplished through the summer converge and, like it or not, must be completed before the new school year(s) begin.
Read MoreBroken Context(s). The story of my weekend project.
Due to a number of reasons, mostly well outside my direct control, I spent part of this weekend working through the application and task sequence refresh process for our multi-user workstations...which will need to be finished by August 27.
Read MoreOn Saturday, we made the short trip to [West] Fargo, ND for the Fiber Arts Festival, something we'd not previously visited before. For a small-sized gathering, at first sight I certainly didn't expect to spend half the day at the venue. But it's a good little fest, and we well might go again in the future. Saw lots of folks spinning fiber into yarns, working with said product, and using some neat little machines to do it all.
Read MoreBack 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...
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 MoreWe spent the weekend away from home taking in a production of Guys and Dolls at the Guthrie Theater in Minneapolis, along with a visit to the Science Museum of Minnesota in St. Paul.
Read MoreIn 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 MoreAs I wrote about two weeks ago (while in mid-run), we just had our early summer theatre production. It was, in my opinion, a very successful run...though bittersweet to see it end after two weekends (and six shows). We had a great and consistent audience, which speaks well to the attempt at doing a show over two weekends in June. Our next board meeting will reveal the "final" financial result of our activities.
Read MoreOne 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 MoreIf we've ever met in person, you'll likely know that I'm a theatre (yes, theatre) nerd, and I have been for a long time. I should write about my theatre history at some point in time.
Read MoreA 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 MoreThis was going to be a real post, with some real substance (or at least something).
But then it happened:
We had a reasonably nice weekend to do some outdoor work. While it's never complete, and always seems to be some sort of re-envisioning, the need to get some stuff done around the house has consumed my time these past few days.
Read MoreOver 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 MoreI have known this for many years, but I reaffirmed my assessment this past week.
I am a creative. I seriously enjoy making things.
Read MoreAs 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):
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 MoreThe 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 MoreMany of those I work and associate closely with know that I'm pretty often a routine machine. I'll be writing more about the various things I've turned into simple routines, automatic processes, and so forth.
Read MoreI'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 MoreI survived!
Yup, three (very different) presentations in as many months. All a resounding success!
Read MoreBack 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 MoreAs 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 MoreMany 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 MoreAs 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 MoreLast 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 MoreLiftoff.
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 MoreI needed to fix a library-level theme item. And since it's been a while since I last made a change like that (this was all before the original switch to the production Drupal instance), I couldn't remember if it involved uninstalling/reinstalling the theme...or simply clearing the cache.
So I chose the heavy-handed option. What could possibly go wrong, right?
WRONG.
Read MoreAs 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 MoreBetter late than never?
As of today, the new site is out of maintenance mode and fully live. Hallelujah!
I look at it and see all of its quirks and flaws...and things unfinished. And I let my "good" override my "perfect." For now.
Read MoreWhat a week it's been. Primarily holed up inside 24/7 as we reached record lows with windchill. Our lowest temp reached -33°F, and with the wind we had would've made it feel like closer to -55°F. Dangerously cold. "Historically" cold. Things (schools, businesses, etc.) wound up being more or less shut down from about Tuesday morning through Thursday afternoon. It's certainly the coldest I could remember for the better part of 25 years (it was the mid-1990's).
Read MoreTo embrace the cliché, "The best laid plans of mice and men..."
I was on track.
It was going to happen.
The new site was to be launched as expected.
But my perfectionist side jumped in and started nagging:
Read MoreIf you fix that one thing first...it'll be better.
That function needs some adjustment before you should go live.
Are you sure that style/block/node/view is the right one?
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