Photo by Nathan Anderson on Unsplash

We’re closing in on 2019 and on quite a wild decade. I’d imagine that with developments across the political, business, and technological aspects, the next decade will be even wilder. Of course, we can’t really control trends in the world, but we can control our habits and lifestyles.

Now, reflect for a minute. Ask yourselves the following questions:

  • What did you accomplish this decade?
  • What didn’t you accomplish this decade?
  • Are you currently working on any goals?

For me, I achieved the following for this decade:

  • I got my degree in Computer Science.
  • I started my career as a software…


ŠJů (cs:ŠJů) [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)]

This year, US citizens will be having Thanksgiving at the very end of the month (November 28th). It’ll be a time to be grateful of the things you have and seeing the whole family, even though you might despise a good amount of them. It’ll also be time to start Christmas shopping and set up the decorations. In 1989, despite not being alive at the time, I could image similar things happening in the US.

At the same time, however, Eastern Europe was going through massive political change. The Union of Soviet Socialist Republics (USSR), better known as the Soviet…


With the explosion of AI across all industries, Deep Learning has been responsible for many of the major breakthroughs. But for people in non-tech, what exactly is Deep Learning?

Deep Learning is a series of machine learning models based on artificial neural networks.

Okay, we just described what is Deep Learning. However, the definition doesn’t define what exactly is an artificial neural network (ANN).

An Analogy

Before going into what exactly is an ANN, it would be best to first go into how the human brain functions.

Image by holdentrils from Pixabay

Our brain is a very powerful machine. It enables for movement and processes information from…


Earlier this week, I attended the O’Reilly AI Conference up in San Jose, CA. Wednesday and Thursday started off with keynotes showcasing what companies were currently researching in the field of AI. While I’m no expert in the field, I found four key takeaways from the keynotes.

Beyond Fully Supervised/Unsupervised Learning

For those new to machine learning, the two most common categories of algorithms are supervised and unsupervised learning. In supervised learning, data contain labels that can be used in training. For example, given the gender and the height of a student, we can use linear regression to determine the weight of a student…


In part 1, I used OpenCV and Python to load our game and get to the board data. In part 2, I built the basic mechanics for our AI to make moves.

In this post, I’ll be going over more advanced mechanisms used to allow our AI to make better moves.

Revisiting Detecting Pieces

After allowing our AI agent to detect valid moves and making moves, the issue with getting our game board information for the first move becomes obvious. Take a look at the photo below.

Due to the color ranges used to detect blue and white pieces, it’ll confuse our algorithm…


Photo by Clément H on Unsplash

When I was about 5–6 years old, I remembered the family getting a Nintendo 64. My favorite game on the system was Super Smash Brothers. I liked the game so much that my young mind visualized myself in the game. It was at that point when I wanted to become a developer. Specifically a video game developer.

Of course, life is never that straightforward. Here’s how I went to become a software engineer.

Grade School Struggle


In my previous post, I was able to get our code to get past the loading screen and get the board information. However, a program that can only grab the board without acting on the information does no good. In this post, we’ll be adding the basic mechanisms for our AI to act on the board information. Please note that more intelligent behavior won’t be added in this post.

Analyze Potential Moves

Now that our program can return us the board information, we need to figure out where our AI can make a move.

We represented our board as an 8×8 array. Using…


When I was a kid, I loved to play the original Bejeweled (Diamond Mine). While the game is much simpler than the later releases, I found the music to be the best. Since I just installed Windows 10 on my MacBook, why not try to create an AI playing bot for Bejeweled 1.

Why An AI Playing Bejeweled 1 Bot?

There’s no doubt that you can search on Youtube and find examples of AI playing Bejeweled. Many of the bots play Bejeweled Blitz and Bejeweled 3. So, what’s the point?

The point isn’t to make a groundbreaking proof of concept. …


With machine learning and AI being very popular and hyped, it’s not surprising that cloud providers such as Azure, Google Cloud, and AWS offer services for doing machine learning. These services often don’t require the user to delve into mathematically complex topics such as convolutional neural networks and back propagation.

Currently, I’m doing training on AWS for the Associate Developer Certification as part of company training. While the likelihood of hitting machine learning services on the exam is low, I find it to be a good idea to cover an overview in general. …


With the rise of Siri, Google Home, Alexa, and Cortana, it’s obvious that there’s a demand for chatbots. In the past, chatbots were more of a niche technology due to limited functionality. With recent advancements in computer technology, chatbots have now become practical for everyday use.

What is a Chatbot?

First, let’s define the term “chatbot.” What exactly is a chatbot?

Think of it like a customer support representative. You contact support, they ask about the problem, you describe them the problem you’re having, they ask further questions to pinpoint the problem, and eventually you get a solution.

Joseph Woolf

I’m a Software Engineer interested in doing AI. | www.josephwoolf.com

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