August 12, 2018

Create a simple cross-platform desktop game with Go

A few months ago I fiddled around with writing Space Invaders using Go. I had a lot of fun writing it but the output only worked on iTerm2 because it used a specific feature of that terminal. In order to play the game you’d really have to download iTerm2 and run it on the command line. I thought it’d be fun to muck around it a bit more to see if I can bring it out as a proper desktop game. Read more

May 29, 2018

Sentiment analysis with a simple naive Bayes classifier in Go

I was reading the Master Algorithm by Pedro Domingos recently. It’s a fascinating read, with some interesting ideas. In the book, Domingos proposed that machine learning algorithms can be placed into one of 5 tribes – symbolists, connectionists, evolutionaries, Bayesians and analogizers. Each one of these tribes has a master algorithm of its own. The symbolists’ is the inverse deduction (decision tree), the connectionists’ is the backpropagation (neural network), the evolutionaries is genetic programming (genetic algorithms), the Bayesians is Bayes’ theorem and the analogizers’ is the support vector machine (SVM). Read more

May 1, 2018

Building simple artificial neural networks with TensorFlow, Keras, PyTorch and MXNet/Gluon

A few weeks ago I went through the steps of building a very simple neural network and implemented it from scratch in Go. However there are many deep learning frameworks that are already available, so doing it from scratch isn’t normally what you’ll do if you want to use deep learning as a tool to solve problems. The question is with the many that deep learning frameworks, which one should I use? Read more

March 24, 2018

How to build a simple artificial neural network with Go

I have written a lot of computer programs in my career, most of the time to solve various problems or perform some tasks (or sometimes just for fun). For most part, other than bugs, as long as I tell the computer what to do very clearly (in whichever the programming language I use) it will obediently follow my instructions. This is because computer programs are really good at executing algorithms – instructions that follow defined steps and patterns that are precise and often repetitious. Read more

February 1, 2018

Writing Space Invaders with Go

The earliest memory I had of arcade video games was watching my older brother and cousins going at the video game machines at Genting Highlands. While our parents were at the other types of games Genting Highlands was more popularly known for, we were generally let loose to play arcade games to our hearts’ content. Those were the magical days of Pac-Man, Space Invaders, Galaxian, Donkey Kong, Frogger, Centipede and many, many more. Read more

© Chang Sau Sheong 2018