December 25, 2019

Setting up a Raspberry Pi 4 as an development machine for your iPad Pro

[Update: I have moved my blog to – please visit my new blog, thanks!] Years ago when I was just starting out in my career, a couple of friends and I came together with a new startup idea. The plan was to take a few days off from work, get a hotel room somewhere (co-working spaces were almost non-existent then) and start hacking out our new exciting prototype. However, we were a bit stuck because of our computers. Read more

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

© Chang Sau Sheong 2018