7 Minute Miles Header

I love our patio in the summer 🦩

Pic posted July 10, 2024

The birds do too (plastic and otherwise)


flourish icon

IKEA 50% Off Friday*

Pic posted July 5, 2024

* Food only, but still appreciated


flourish icon

Hello July 2024

Pic posted July 1, 2024

Looking forward to a little bit of a break this month


flourish icon

Summer 2024 Brain Dump

Posted June 26, 2024

It’s been about six months since the last one, so let’s jump right in:

  • Super fun to have a MINI again, which is a good thing because driving anywhere in the Twin Cities (at pretty much any time) seems to be taking about twice as long this summer.
  • My state parks license plate has been a great purchase and I highly recommend them. My associated quest is up to seven parks so far and it was a big reason I decided to sign up for the Afton Trail Race.
  • Our bird buddies are now eating all the seed daily (see “the before” pic above). Here is the best video so far of a mom feeding her baby.
  • Our patio also has an active hummingbird feeder and will get a heated bird bath and suet holder soon. Along with our By the Yard furniture, it’s probably my favorite part of the (not so new anymore) house.
  • Clown fries are at the top of my all-time favorite list now.
  • That said, I am trying to get back to being more active (so I can eat more clown fries, natch).
  • Waiting to see if my old Apple Watch Series 5 battery lasts until the new models come out. Not sure yet if I will want a Series 10 or move up to the Ultra line.
  • About half way through listening to the Apple Music Top 100 Albums list. A fair amount of stuff I’ve never heard before. Working on a DK 100 list.
  • Mainly been using my ancient Sony Studio headphones for this task, but my savings account to purchase the second edition of the AirPods Max has more than enough in it when they get released (hopefully) later this year.
  • Anybody know the story behind Seated, a Sofar artist service?
  • Looking forward to Las Vegas and New England visits later this year.
  • Put me officially on record as wanting nothing to do with cryptocurrencies, NFTs, Web3 and most flavors of “AI” from now until the Silicon Valley bros burn up the planet.
  • Nice to be back in the sports and entertainment industry – FOMO averted!

Looking forward to a (relatively) calm July…


flourish icon

Hello, June 2024

Pic posted June 2, 2024

No Finals, but Olympic gymnastics and lots of Lynx


flourish icon

Hello May 2024

Pic posted May 1, 2024

Still waiting on lilacs and sunshine on the patio


flourish icon

Charting tools for WordPress

Posted April 14, 2024

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…


flourish icon

Hello, April 2024

Pic posted April 1, 2024

Nice to get the madness completed


flourish icon

18 years of web publishing 🎂

Posted March 27, 2024

My little web baby is almost an adult: 7 Minute Miles turns 18 years old this Saturday. Some highlights:

  • First post: March 30, 2006
  • Domain created: November 26, 2002
  • Posts: 30,050
  • Pages: 216
  • Database: 193.4 MB
  • Directory: 62 GB
  • Server: AWS Lightsail, Ohio, Zone A, Ubuntu 20.04.6 LTS, 4 GB RAM, 2 vCPUs, 80 GB SSD
  • Tech stack: WordPress 6.4.3, PHP 8.2.17, nginx 1.18.0, MariaDB 10.3.39, Let’s Encrypt SSL/TLS
  • Costs: $17.99/year @ Hover, $25-28/month @ AWS (Lightsail and Route 53)
  • Jetpack stats (avg/mo): 96 posts, 1497 views, 540 visitors

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!


flourish icon

Have a seat

Pic posted March 11, 2024

The new entryway bench has arrived 👍


flourish icon

Instagram–WordPress integration in 2024

Posted March 9, 2024

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…


flourish icon

Let the Madness Begin!

Pic posted March 1, 2024

Hello, March 2024 – you will be a wild one


flourish icon

🫡 Page updates: about and résumé

Posted February 19, 2024

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…


flourish icon

Fixing admin email on 7 Minute Miles

Posted February 19, 2024

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:

2024/02/19 05:50:47 [error] 163214#163214: *464402 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function curl_init() in /var/www/7minutemiles.com/wp-content/plugins/gmail-smtp/class.phpmaileroauthgoogle.php:179

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…


flourish icon

One tired doge

Pic posted February 19, 2024

I feel you, Hestia – late night of coding and troubleshooting


flourish icon

🫡 Time Management

Posted February 2, 2024

All the gurus like to talk about time management, but here are my personal top seven:

  • Time is precious – use it wisely
  • Prioritize and make time for what is important
  • Sometimes you need to do nothing
  • Keep work and personal as balanced as possible
  • Acknowledge some tasks need the right environment to happen
  • You can be productive all times of the day, but remember to sleep
  • iCloud Notes are great for to do lists across devices, but I also love notepads and Flair markers

Thanks for coming to my TED Talk…


flourish icon

Hello, February 2024

Pic posted February 1, 2024

It’s felt more like April this week – also still waiting for our first bird buddies to visit the new feeder


flourish icon

🫡 Apple Watch Update

Posted January 20, 2024

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…


flourish icon

🫡 Website down alert ‼️

Posted January 13, 2024

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…


flourish icon

7 Minute Miles design standards

Posted January 9, 2024

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:

  • Colors: black (#000), white (#fff), red (#f00) and gray (#ccc)
  • Fonts: Futura, Verdana and sans-serif
  • Photo captions: italicized
  • Image width: 1000px (was 850px)
  • Image styling: 25px white borders, film frame for concerts and movies

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


flourish icon

Hello, January 2024

Pic posted January 2, 2024

Almost forgot I needed to swap out the Bryan Hansel calendars. You can get your very own here, if you are so inclined…


flourish icon

🫡 Website code for 2024 complete ✅

Posted January 2, 2024

The bike, run and golf pages are all updated and ready for 2024 data. 2023 year in review: bike miles down, run/walk miles up, golf rounds up…


flourish icon

🫡 Two Year Anniversary

Posted December 22, 2023

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…


flourish icon

It’s beginning to look a lot like…

Pic posted December 19, 2023

Love the decorating job the fam does every year 💜


flourish icon

🫡 Being social, part III

Posted December 15, 2023

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:

  • Pause regular reading of Bluesky and LinkedIn
  • Further prune my Mastodon follow list
  • Remove my concert videos from YouTube and only host here
  • Review my paid subscriptions and RSS feeds

The volume of reading has just been too much lately – need to find a better balance, with less noise…


flourish icon