Year in Review - 2023

Last year, I posted my first “Year in Review” and it was a great way for me to reflect and document some of my new experiences and projects I completed.

I had fun learning how to optimize apps and sites I created and customize templates & themes others built. I also had my first ever pull request approved for an open source project! Here are some of the highlights from my last year.

Swimming and Tracking

I started lap swimming in November of 2022 right after the Thanksgiving holiday. I’ve enjoyed swimming since I took lessons as a kid at the YMCA, and getting back in the pool has been a fun journey. Being a “data person”, I couldn’t resist tracking data from my swims and started with a simple spreadsheet on Google Sheets.

Google Sheets swim tracking

My wife gifted me an Apple Watch for my birthday last February which helped me track swimming workouts in more detail. I’ve enjoyed the watch generally and especially for swimming. It’s eased the cognitive load of my workouts by tracking my laps and time for me, and stores the data for me to reference later.

With this improved source of data, I wanted to build a more advanced way to analyze my metrics. I started looking for a way to build something that would report my results and allow me to enter data on the same page. Around the same time, Metabase introduced a new feature called Actions which allows a user to enter data from a dashboard via a button. It was the perfect fit for me since I already had a Metabase server up and running. I got to work transferring my data from Google Sheets to a MySQL database. Luckily, I had only recorded a dozen or so swims at that point so the manual work was minimal.

Since setting up my Metabase dashboard, I enter my workouts directly in my dashboard and they are stored in the database for use in future projects. I wrote a post about Metabase Actions and a tutorial on how I use them in my swimming dashboard earlier this year.

In 2023, I swam 73 times for just over 58 miles! Given that I missed swimming for a couple months recovering from COVID early in the year, I’m pretty proud of these stats!

2023 Swim Results

My goal for 2024 is to swim 100 miles, and of course I’m tracking my progress with data!

2023 Swim Results


Personal Website - johnthompson.io

I launched my personal website in December of 2022 and have spent 2023 making updates, adding content, and customizing the styles and navigation.

My goal with the site is to have a single place to reference my interests, accomplishments, and background rather than distributed across many social media platforms and sites. I wanted something where my content was owned and presented by me. Plus, building is fun, and I wanted to build it myself.

I chose Hugo as the framework for the site. It was technical enough to be a challenge while being easy to work with and get setup. With lots of great themes to choose from, I ended up going with the Anatole theme. It’s nice and minimal while still being actively maintained, and has a portfolio included which I wanted.

Once I got the site up and running, I took time to customize the theme to fit what I wanted the site to look like. I added some style changes learning CSS & SCSS along the way, which was new for me. In addition to learning the code, I also learned how SCSS interacts with variables, gets incorporated into the Hugo templates, and flows into the final HTML that builds the site.

SCSS files

I made another change to split my portfolio page into separate pages for projects and speaking, and added a formatted resume section as well. All of these pages pull from YAML files that contain the configuration and data to fill in the content. Understanding how the data in these files made it to the published website was a rewarding piece of detective work.

Yaml files

I’m happy with the website today, and there’s still more I still want to with it. Adding sections to cover some of my non-tech hobbies like bird watching, music, and reading are next up, and I’d like to make some video content as well.


Finnstructions - MkDocs & Markdown

I caught the Markdown bug in 2022, and continued learning more in 2023.

MkDocs came on my radar again at my day job, and I wanted hands-on experience to prepare for some documentation I was looking to write in the near future. Building on my prior static site generation experience with Hugo, MkDocs was fairly straight forward to get up and running. I needed a topic to write about to use as content for my project, so I decided to write some (tongue in cheek) documentation around caring for my dog, Finn.

My experience with MkDocs was positive, and I’ll probably use it for documentation cases when one comes up. The integrated search, easy to set up menus, and simple navigation are great features. Writing content in Markdown is excellent and I’ve found it to be a great compliment to my other data skills. I’ve used Markdown everywhere from GitHub Issues, SharePoint, and I take my daily notes in Markdown. If you want to get started with Markdown, my advice is to get a good linter extension for your IDE of choice to help you learn the proper syntax. I use Markdown All in One in VS Code.

While my goal was to practice and learn MkDocs, I decided to publish the project to the web and Finn-structions was born! Now when Finn needs to spend a weekend with a family member or friend, all his care instructions are available online for them to reference.

Check out Finn-structions!

Screenshot of Finnstructions web page


Podcasts

I’ve been a podcast fan ever since I started listening to them during my frequent 10-hour drives between Wichita, KS to my hometown of Minneapolis, MN. Last year, my Spotify Wrapped informed me I’d listened to over 14,000 minutes of Podcasts! My favorite shows have changed over the years with some staples like Freakonomics Radio, the Analytics Power Hour, and the APM family of news & economics shows remaining constant and others rotating in and out.

This year, my favorite new (to me) podcast has been Hanselminutes with Scott Hanselman. I caught on to this one a bit late, which is great since there are over 900 episodes in the backlog to listen to! Scott covers tech topics and I appreciate his diverse guest lineup and approach to exploring data topics from a position of empathy and kindness.

A screenshot of the Hanselminutes Podcast Homepage


Reading

In 2022, I rediscovered my love of fiction which carried over in 2023. I found it restorative to have an analog hobby when so much of my day is spent with a keyboard and screen. I finished 17 novels in 2023 for a grand total of 4,213,373 words!

Growing up, I read several fantasy series like The Lord of the Rings, The Hobbit, and The Belgariad. After watching the Amazon adaptation of The Wheel of Time, I decided to read the books knowing they are one of the most popular and well regarded fantasy series of all time. I started reading the first book, The Eye of the World, in February of 2022 and 14 months later I finished the series.

I loved The Wheel of Time and couldn’t put it down. I found the world engaging, the characters fascinating, and the magic system fun and unique. After finishing, I wished I could use the Neuralyzer from Men in Black to erase my memory so I could experience the story again for the first time again!

Wheel of Time Books on a shelf

After finishing The Wheel of Time, I dove in to some other fantasy series. I focused on books by author Brandon Sanderson, who helped finish The Wheel of Time after the original author, Robert Jordan, passed away. I worked through the Sanderson catalog finishing the Mistborn series, The Stormlight Archive series, and three other books from the Cosmere universe.

I’m going to keep reading in 2024, with two Michael Lewis books, The Premonition and The New New Thing, up next.


These posts help to improve my writing and crystallize my thoughts on topics relating to data, analytics, and product! Thanks for reading!