![](https://7minutemiles.com/wp-content/uploads/2024/07/IMG_0773-850x850.jpg)
The birds do too (plastic and otherwise)
![flourish icon](https://7minutemiles.com/wp-content/themes/7MM2023/images/WhiteFlourish2.png)
It’s been about six months since the last one, so let’s jump right in:
Looking forward to a (relatively) calm July…
This website has included charts on several pages for quite some time: the run log, the bike log and the golf score database have all had various graphs that were created using the Easy Chart Builder plugin by dyerware. It used the original Google Chart API to create a PNG graphic from the information in a shortcode that I updated manually after each new event.
Google deprecated that API in 2012 and according to the Wikipedia page, turned it off on March 18, 2019. For some reason, however, the plugin still worked after that (most of the time). Last week, though, it didn’t work at all. When I went to the Easy Chart Builder support page, I discovered the plugin hadn’t been updated in 11 years. Time to find a replacement, eh?
Google still has a free charting tool called Google Charts and most current WordPress charting plugins use that. I didn’t want to get stuck again with Google deprecating a service in the future, though, so I started looking for alternatives. I found an awesome looking open source graphing library called Chart.js and skimmed through the documentation for that.
Turns out there is a great free plugin that uses Chart.js from Jamie Poitra called M Chart that does everything I want. Jamie has nice documentation here and I was up and running with replacement graphs on all three pages in about an hour. Still need to read up on themes, but I like the default styles and might just leave it the way it is. The Highcharts stuff is interesting – hadn’t heard of that library (or the Norwegian company) before.
M Chart also uses shortcodes, but creates a chart object for each one that is updated like a post or page. Each chart has a spreadsheet-like interface for updating data, so I’ll have to see how I like that workflow. Ideally, I’d like to have the charts update automatically when I enter events into the database, but that is beyond the scope of this plugin. I currently use phpMyAdmin to enter events, so maybe I can tackle that whenever I get around to creating custom data entry screens…
My little web baby is almost an adult: 7 Minute Miles turns 18 years old this Saturday. Some highlights:
I’ve tweaked the font sizes a little since the launch of the new theme last year, but overall remain happy with how things are now. I recently simplified the navigation menu, which now just has home, about, lists and search links. The new about page was completely re-written and I updated my résumé page (and PDF) to reflect my move to Target Center last September.
Not sure what comes next. I’ve re-established the automation between 7 Minute Miles and Instagram via the excellent Intagrate plugin and continue to automatically capture any posts to Mastodon via the TootPress plugin. This site also technically federates content via the ActivityPub plugin (you can follow dmk@7minutemiles.com in your favorite Mastodon client), but I don’t see many people reading posts that way.
I removed all of my concert videos from YouTube, hibernated my channel, then posted them all here using the HTML5 Video Player plugin. I also tried to clean up the photo galleries a little, but both of these media types will likely require an increase in server storage in the next year to be expanded/enhanced.
Long live the weird web – thanks for visiting!
Now that my temporary five-minute ban from Instagram appears to be over, I started looking at ways to re-integrate those posts with this website. Back in the @kingsbury days, I used a plugin to do this, but saw a few recent stories that mentioned trying IFTTT automations.
I signed up for a free account and created an applet that would trigger when a new photo was uploaded to Instagram, then create a WordPress photo post. This worked, but the results were not really what I wanted. It created a post, but didn’t download the image to my local media library (it just linked to the Instagram image URL). It also seemed to grab smaller 640×640 images and not the larger originals.
So I went back to see what plugin I used before and was excited to see that Iain Poulson is still publishing and supporting his excellent Intagrate code. There is a free lite version and a paid pro version, but I was worried by his 2018 blog post about Meta messing with the API for image sizes.
Submitted a question to him about that, but also just reinstalled the lite version to test it out. It seems to work great so far, but image size varies from post to post. Thankfully, my new theme handles smaller images much better than the old one, so it may be a moot point. Excited to have this back in place…
A few more things off the to do list: the about page has been re-written, added Target Center to the résumé page (and uploaded a new PDF version) and consolidated the navigation menu to Home, About, Lists and Search.
Also hibernated my LinkedIn account for now…
Finally spent some time to remove a blog-related item that’s been on my personal to do list for a long, long time. WordPress websites have the ability to send out emails for various tasks, but the web server needs to support sending mail. I’ve been using a plugin from Noor Alam called Gmail SMTP that uses Google’s email infrastructure to send messages and that worked great when I was hosting 7minutemiles.com email using Google Apps for Domains. When that service was no longer free, I moved my email over to Apple and knew that broke the plugin and I would need to find another solution.
Fast forward two years (oops). Had an idea of signing up for a free general Gmail account and tying that address to the old plugin. Headed over to the gmail.com signup page and found that 7minutemiles@gmail.com was available, so I grabbed that. Next, I needed to go to the Google Developers Console and follow the instructions on the plugin howto page. That was mostly straightforward and I was able to get a green SMTP connected icon on the plugin settings page. The Test Email tab, however, gave me the following error:
There has been a critical error on this website. Please check your site admin email inbox for instructions.
Since admin emails were not being sent, there was nothing in the site admin email inbox. The comments on the howto page had a great suggestion, though – check the logs. Looking at /var/log/nginx/error.log, I saw this reference to curl:
Checking on my PHP config page, sure enough, curl was not installed. That was quickly fixed with this:
sudo apt install php8.2-curl
All is right in the Gmail SMTP world again: Google SMTP server + OAuth 2.0 protocol + TLS encryption…
All the gurus like to talk about time management, but here are my personal top seven:
Thanks for coming to my TED Talk…
It’s felt more like April this week – also still waiting for our first bird buddies to visit the new feeder
It’s been three weeks now since I stopped wearing my Apple Watch daily. My physical health is holding steady, as I still try to get on the treadmill to walk semi-regularly in this cold weather. My mental health, however, is vastly improved without the stress and anxiety of closing the damn rings. I still use the watch during workouts, but otherwise happy to leave it on the charger for the time being…
Not that it was noticed by anyone but me, but I got caught tonight with a server outage after a system update that I decided to run after the game ended (and I was waiting for traffic in the ramp to clear). Since moving to AWS, my server updates are usually quick and painless, with a few quick Ubuntu commands (and sometimes a restart):
sudo apt update
sudo apt list --upgradable
sudo apt upgrade -y
Tonight, an upgrade to PHP 8.2 removed my MySQL database extension. Googling things like this (and many other things, unfortunately) has gotten pretty bad these days, so it took me a little longer than normal to get back up and running. Thankfully I had some saved notes that helped lead me to the command that fixed it:
sudo apt install php8.2-mysql
It was nice to see my two monitoring tools send me alerts immediately (old standby Uptime Robot and newcomer Jetpack Monitor). Total downtime was just under 20 minutes…
It’s been almost a year already since I launched the latest design of this website. I wanted a dark, responsive design with larger fonts and for the most part, I’ve been very happy with the result. This week I made a few more tweaks to the font sizes and padding, as I thought the headlines on mobile devices were a little too big. I’m also not sure my viewport settings are 100% correct, so I need to spend a little more time on the mobile validation sites.
One of the things that I love about personal web publishing is that you can generally code pages to the exact standard you want. I’m not a professional designer by any stretch, but I generally know what I like (and there are a million examples online of what not to do). I also love reading brand guidelines from big companies that aim to preserve their look and feel. Here are some of mine:
I still support five primary post types on this site: standard, image, link, quote and status. Each of these have their own sections in my style sheet and the home page template has if/then loops to lay each one out differently. Made a few tweaks this week to the quote and link styles (and don’t really use status now).
Comments have been off here for a long time now and I still feel that most public websites are better without them (hope the Star Tribune will eventually turn them off, along with their annoying auto-refresh tag). I do wish there was a better way for people to communicate with me here – perhaps there are some creative plugins I’ve yet to discover. A few other editorial choices at 7 Minute Miles: no ads of any kind and (starting this week) no more jumps on longer posts (i.e. – “click to read more” links).
At some point, I may go back and try to re-style some of the images for the current design standard. When I used to have a white background, I’d often use black drop shadows in Photoshop and now those images just don’t work right. My CSS file still has a bunch of entries that I could probably remove without breaking anything. Also thinking about adding back an RSS icon (with a link to the feed) and creating some personal business cards with the site design elements.
The annual site anniversary post isn’t scheduled until March, but I did take a look at the WordPress Jetpack stats for this site in 2023: 6,406 visitors, 19,074 views and 822 likes. Two very old golf posts still are the most popular: past champion “Reflections on Spring Hill Golf Club” with 238 views and the new #1, “Somerby Golf Club Notes” with 326 views.
Thanks for visiting!
Edit (2/2/24): changed the image styling standard to a 10px white border
Almost forgot I needed to swap out the Bryan Hansel calendars. You can get your very own here, if you are so inclined…
Yesterday marked two years in the “new” house and I can’t believe how many walls still don’t have any pictures on them (and how many other items remain on the house to do list). No pressure, though – love the place…
Just went back and re-read my Art of Being Social post from July and the September update post after thinking about the changes I’m now pondering:
The volume of reading has just been too much lately – need to find a better balance, with less noise…