With 2020, one of my big goals is to be more of a maker. Of which, this blog is a big part of it for me. But also, I want to do more physical stuff. Adam Savage is one of my major sources of motivation and his one day builds series on YouTube is a constant source of enjoyment for me. Here’s the newest video which is much more of a how-to than his normal videos, which are as he puts it more of a “here’s what I did” sort of video.


Happy Public Domain Day – With the start of the new year, a whole host of new items enter the public domain.


IRS Reforms Free File Program, Drops Agreement Not to Compete With TurboTax ( – “The IRS announced significant changes Monday to its deal with the tax prep software industry. Now companies are barred from hiding their free products from search engines such as Google, and a years-old prohibition on the IRS creating its own online filing system has been scrapped.”


In Your Inbox

So I’m diving deep into this blog in 2020. That’s the plan at least. Various daily updates, new features, interviews, maybe even a podcast. Part of this is a bi-weekly email newsletter. I started this idea five years ago, simply called “Interesting Stuff.” On that first try, I put out four emails over six months and then in March 2013, I stopped.

Well, I’m bringing the idea back. And in fact, issue #5 went out on the 29th. You can see what was in it here.

No Bullshit. No Spam. No selling email addresses. It’s just another way for people to get updates on what I write and for me to share cool things from around the web. The most commercial thing I might do is include affiliate product links, but when I do I’ll openly disclose the affiliate nature of the link.

Want to get this in your inbox? Sign up for it. Next issue will be in two weeks.


Two fascinating links I came across nearly simultaneously.

Center for Policing Equity – A new organization I was introduced to by Adam Savage, via his YouTube video of favorite things for 2019. This is an organization dedicated to partnering with police organizations to remove bias from them. The organization’s tagline is “Data Science for Justice.” I need to do more research before I officially recommend them for donations, but definitely interesting.

Second, a video by Tom Scott, who is among my favorite ‘infotainment’ channels on YouTube. I find his videos highly informative and entertaining. This video is no exception. As a coder I had seen the ISO date functions, but I didn’t know what it was and had never used them. Now I know.


WordPress: Post Types vs. Post Formats

I am far from a WordPress expert, as this post will highlight. However, I am a hobbyist and an out of practice one at that. This past week I’ve been messing around with the template here on the site.

In doing so, I ran into a problem and it took me a while to google properly and figure out the issue.

The issue was that I use custom post formats for various things on the site. I have a format for the movie/book/tv reviews, a format for links, the format for normal posts, etc. But I was really struggling to figure out how to get WordPress to change display information for the different things.

The core of my problem was I kept trying to use get_post_type(). Like the definition of insanity, I tried it over and over expecting something to change somewhere.

I did this because in my mind these are different post types. To avoid confusion, I’ve properly referred to them above as formats but in my mind those are different types of posts. However, every time I would try to use get_post_type(), it always only returned ‘post,’ regardless of if I had set it as ‘link’ or something else. So I kept banging my head on my metaphorical desk.

Well, it took until Sunday morning (watching Manchester City vs. Sheffield United) for me to properly Google fu my way to an answer. WordPress parlance is that the above are post formats and not types, and the correct command is get_post_format() (reference link.)

Returns the post format of a post. This will usually be called in the the loop, but can be used anywhere if a post ID is provided.

I wanted to share about this here because the first several answers when Googling don’t highlight this difference well enough or at all. If I lost hours trying to solve this issue, then I’m sure there are others doing the same thing and hopefully I can save someone else a few hours of their time.

Film Media


My Netflix binge continues as I churn through this over just two days. It’s one part Zombieland, one part Mad Max, one part Adventureland, and one part Ferris Buehler’s Day Off.

3/5 Sunflowers.


52 things I learned in 2019 – Tom Whitwell shared some interested tidbits from the year. I’d seen a number of these, but others were completely new to me.

Media TV

Lost in Space (S2)

Netflix dropped season 2 of their Lost in Space series on Christmas and last night I finished it. I think I’d honestly prefer if the series was a monster of the week, more close to what the original had been. But, that said, I have really enjoyed the show and was engaged all through the second season. 4/5 space robots.


My Fixture Picker

As is well known, I am an avid soccer fan. I love watching it and watch games from around the world. On average, I will watch 20+ hours of soccer a week. Admittedly, that time is not focused solely on soccer. I am usually having it on in the background while I do other things.

For example, this morning I watched Arsenal vs. Chelsea, two teams I am not a big fan of, face off. While watching them, hoping for a meteor to strike the stadium, I did a major revamp to a little tool I built that helps me identify games to watch.

Simply titled, “Fixture Picker”, it looks at upcoming matches in a number of leagues and identifies ones which I will likely enjoy watching. It does this in a few ways:

First, I’ve built a database of the teams in each of the leagues and assigned each team two values: My interest in the team and their relative place in the league’s standings. The latter of these is one I hope to automate in the near future, but I haven’t found a data source I can pull this from. So, for the time being, every few weeks I go in and spend 15 minutes updating the various league standings.

The system first combines the ratings of the two teams, and then combines that with looking at the difference between the teams. The idea being I want games featuring higher ranked teams and ones which are closer ranked.

Secondly I have assigned various leagues a modifier. There are certain leagues I am more eager to watch than others.

Next, it looks at if I’m interested the teams (are they my chosen teams in various leagues or do they feature players I am keen on?)

And then out of that there are four classifications which it comes back with:

  • Must Watch – Two top teams in a league where I’m interested in at least one of them.
  • Should Watch – Involves at least one team I’m interested in, or is two evenly matched teams in the top half of the league
  • Can Watch – The vast majority of games
  • Should Avoid – The system sees no reason for me to watch this game

Prior to today, I had imported the calendars of various leagues, and relied on the database of games for looking at the schedule. But this was a manual process and required me to review schedule changes or accept a certain amount of misscheduled games.

This morning’s update was to begin making use of a data source where I could abandon the manually built match database and instead pull from the data source. Needless to say, this is a very exciting update to the system.

Future updates I want to make to my fixture picker:

  • Automate pulling the team’s place in the standings
  • Refine the algorithm for identifying matches
    • Use data from previous meetings
    • Betting data?
    • Flag teams with notable injuries, etc.
  • Improve the looks, it’s very ugly right now
  • Expand the tool to cover more leagues (Mexico, NWSL being the primary two)
  • Add email updates to make sure I don’t miss must watch games

But why?

This isn’t a critical tool. I could easily look at the matches for a day and pick them on my own. This was just a fun side project to give me something to fiddle with and work on.

In many ways I see programming as a hobby and like a carpenter or artist, I just want something to work on and play with. If it ends up being something I can use, then all the better.