Common strategies to improve the quality of your Python software

Image for post
Image for post
Token photo of a Python for an article about [the other kind of] Python. Photo by Tyler B on Unsplash

A snake is a snake and that’s that


A practical guide to writing a RL application which trains Mario to beat levels.

Image for post
Image for post
Photo by Cláudio Luiz Castro on Unsplash

Can you teach an old dog new tricks?

Throughout the past year, I’ve written various projects from scratch which aim to beat levels in…


Taking the mystery and confusion out of containers and why you should be using them today

Image for post
Image for post
Photo by Todd Cravens on Unsplash

Ah, containers, the Lebron James of the technology world. If you follow American sports in any capacity, you likely know enough about Lebron James to hold a meaningful conversation with someone about him. If you don’t keep up with any sports, however, you still likely know his name at the very least given his ever-present image on entertainment and news media, but might find yourself in an uncomfortable situation where someone mentions “The King” and expects you to simply jump in and know what’s the latest and how many points he dropped last night.

The same can be said about…


How I went from a reinforcement learning novice to writing an AI from scratch that beat World 1–1 in New Super Mario Bros. in the span of two weeks.

Image for post
Image for post
Can computers learn to control the famous Italian plumber?

You can’t spell Mario without I/O


Data Science in the Real World

With Python 2.7 going end-of-life soon, it’s vital to run this command to see how you will be impacted

Image for post
Image for post
The end is near! Photo by NASA on Unsplash.

The end of the world as we know it

Jumping back to reality, it’s time we talk about the impending apocalypse of the software world — the death of Python 2.7. For those that are unaware, the most popular version of Python will reach its end-of-life date on January 1…


Using a Linear Programming model to predict a winning MLS Fantasy lineup for game week 5

Image for post
Image for post
Is my algorithm ready for prime time? Photo by Willian Justen de Vasconcellos on Unsplash

How’d we get here?

With another week behind us, I took time to make several improvements to my algorithm in the hope that they will further increase my point returns. Starting from my base Linear Programming maximize…


Writing a python script to automatically choose an optimal MLS Fantasy lineup

Image for post
Image for post
Can algorithms really help when selecting a MLS Fantasy lineup?

Hello old friend

Note to all of my non-US readers, please forgive me for referring to this sport as “soccer” and not “football”. Enjoy!

Growing up in Kansas City, I cherish many fond memories of attending KC Wizards (now Sporting Kansas City) games with my family. Being a soccer player myself (not a very good one, mind you), I loved watching my favorite athletes duke it out on the field in an endless pursuit of finding the back of the net. To bide time between games, I often found myself reading promotional information for the rosters, learning everything I could about my idols.


Using sports analysis to find correlations between The Heisman winners each year

Image for post
Image for post
Photo by Chris Chow on Unsplash

Barry Sanders. Tim Tebow. Cam Newton. Desmond Howard. All of these household names had an exceptional college football career, and they all have something in common — each of them hold the honor of receiving the most prestigious trophy an individual can achieve in collegiate football, the Heisman Trophy.

By definition, the Heisman Trophy is awarded to the most outstanding player in all of NCAA football regardless of their position, team, record, or division. Though all athletes have a chance at winning the trophy, analysis of the previous winners identify several key patterns that can be used to determine the…


In-Depth Analysis

Create a machine learning algorithm to predict college basketball scores in less than 30 lines of Python

Image for post
Image for post
Don’t worry, we’ve all been beaten by a Very Good Boy at least once. Photo by Jenny Marvin on Unsplash

Finish last in your office’s March Madness pool again? Did a Golden Retriever or your neighbor’s daughter’s pet rock choose a better bracket than you? Creating a winning bracket is hard and even trips up college basketball’s expert analysts. Instead of leaving the guess-work to fate or watching thousands of hours of basketball each season (I guess I do that anyway, but that’s beside the point), why not train a computer to make predictions for you?

With the help of Python and a few awesome libraries, you can build your own machine learning algorithm that predicts the final scores of…


Are preseason rankings accurate predictors of future success in the NCAA tournament?

Image for post
Image for post

Mirror, mirror on the wall, which team will win it all?

As March approaches each year, every college basketball radio station, TV broadcast, and news article is deep into making strong cases for particular teams that have a chance at winning the national title. One argument that is often heard goes something along the lines of “XYZ team has all of the momentum right now and is the hottest team in college basketball. They are the LAST team I’d want to face in the tournament.” With such a strong emphasis on how a team finishes a season as opposed to what they accomplished in the beginning, early predictions and rankings are…

Robert Clark

Software engineer passionate about sports and artificial intelligence and, apparently, a blogger by night.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store