Always Remember: Chop Wood, Carry Water

Note: I originally wrote this on Medium, but I'll also add to my main site in the event that something happens over there.

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.

Read more


Layman Explanation of Artificial Neural Networks

For a more technical explanation on neural networks, refer to one of my older posts.

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).

Read more


What I Learned from the O'Reilly AI Conference Keynotes

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.

Read more


Bejeweled 1 AI (Part 3): Creating a Smarter AI

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.

Read more


Bejeweled 1 AI (Part 2): Enabling AI to Make Moves

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.

Read more


Bejeweled 1 AI (Part 1): Getting Board Information With OpenCV

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.

Read more


Rundown on Machine Learning Services in AWS

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.  I won't go over every services, but hopefully you would be able to distinguish the major ones.

Read more


An Introduction to Chatbots

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.

Read more


A Follow-Up on AutoWeber: The Mistakes I Made In Design

In my previous post, I talked about a proof of concept on developing a self-adapting web scraper.  As I was adding onto the project, I was having difficulty adding constraints for improving structure accuracy.  After some time, I came to one conclusion: My Initial Design Was Flawed!

Read more


A Proof of Concept on a Self-Adapting Web Scraper

Last year, I created the IssueHunt-Statistics website project on tracking repository, issues, and funding for open source projects.  Shortly after, however, the website changed and my project breaks down.  I did change the scraping code to bring back functionality, only for it to break down again a little while later.

I now have a problem.  I don't want to always spend time constantly reworking the scraping code to make it functional.  I wonder if I could automate this task?

Read more