Technology Solutions for Everyday Folks

Tagged with 'website'

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

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

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. This post works through some of the fine-tuning and the process of "going live" with the new site and its structure.

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. Of course, something like this often spirals into its own set of "other" things to fix for the greater good.

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. Relatively simple things like straightening out, consolidating, or consistently applying vhost configurations.

Read More

Reinstalling 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 More

Comments 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 More

My Incremental Certbot Panacea

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 More

Automating Certbot: A Recap of My Journey

Long winding road

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 More

Certbot in Manual Mode with Script Hooks

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 More

Improving Manual Certbot Domain Validation

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 More

Moving to Certbot with Let's Encrypt

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 More

Interesting Log Entries (or, Why To Patch Thy Systems)

Random text scrolling from within a terminal window

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 More

Private Content in Drupal

Glass that turns opaque with an electric current.

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 More

Low-Budget "CI/CD"

Dude with baseball bat smashes monitor off desk

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 More

Cleaning Up and Updating

Suspense while waiting (to update).

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 More

Let's Expand Encryption!

Gif of lock tumbler mechanism

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 More

Who's Font Awesome?

Puppy pointing with text "Who's Awesome? You're Awesome!"

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 More

Time for a Drupal Refresh

Old computer mainframe tape disks

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 More

Dynamically Created Anchor HREFs

Multiple Arows Crossing Paths

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 More

Hey, Let's Re-Encrypt!

HTTP vs. HTTPS

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 More

I Own You, Drupal View!

I Own You

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 More

We Have Liftoff!

Hovering Cat

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 More

"Just Reload It"

I 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.

I'm certainly glad I don't have a lot of super-customized stuff (other than some titles and custom block layout stuff to place), because I had to do it all over again.

Read More

Hey, 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 More

Speak your mind caller, we're on the air!

Better 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.

I have lots of random bits to finish tweaking, and surely several more bits to come. There are several styling issues I'd like to tweak (and simplify)--the bane of basing a template off of something else--but generally speaking things are in good working order.

Read More

A Minor Delay

What 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). And it's the only time I ever remember campus being closed for more than a day (two and a half, all told).

Read More

The Drupal Learning Curve

To 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:

If 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?

What about all that old stuff currently out of scope for the initial launch?

Read More

It'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