This page serves as a table of contents of all the stories I had written (also easier for me to refer to them when I need it).

Common Functions

MD5 Sum (Bash, Go/Golang, Node.js, Ruby, CSharp/C#)
SHA3 Sum (Bash, Node.js, Ruby)
CRC32 Sum (Bash, Go/Golang, Node.js, Ruby)
Random UUID (Bash, Go/Golang, Ruby)


These are the few SVN commands I use regularly.

Check out

svn checkout http://<url_or_ip>/svn/project

To check out using a different username

svn checkout http://<url_or_ip>/svn/project --username <different_username>

Once you successfully checkout, your credentials will be saved at


To clear the saved credentials, run

rm -rf ~/.subversion/

To update local codes…

Github ditching password authentication forced me to setup my own source codes versioning repository. Launch a new Ubuntu 20.04 EC2 and run the below command

sudo apt update
sudo apt upgrade

Install Apache. Service should be started post installation

sudo apt install apache2 apache2-utils

Install Subversion SVN. Module “dav” and…

My favorite mp4 metadata editor, is free for the Windows version but it is not free for the macOS version. I usually just name the filename correctly so that…

Launching an Ubuntu 20.04 EC2 in AWS is a server edition with no GUI. These days scraper faced with higher security where CDN blocks puppeteer, wget or curl. I’ve tried impersonating all the header on a real browser in wget to get the same content but with no success.


All these while I had been using AngularJS to populate dynamic rows on table from JSON array. Now that it is deprecating soon at the end of 2021. It is time I try something else, and I had chosen to try Vue.js

By running the code above you will…

The disadvantage of coding in multiple languages at the same time is that you tend to mix up which function is for which language. I had to google for the same function over and over again.

It is time start my own cheat sheet and append more into it over…

In my other articles on web scraping with Puppeteer, the code works nicely if it never encounter any errors. But once it hit an error, most likely a timeout error while waiting for page content to load like example below at line 13. …

You can now run Ubuntu in Windows 10 and access your C drive contents through SSH in Ubuntu. To install follow the steps below.

First open control panel.


Under programs and features

In my previous article “Jigsaw Search In Image”, the naming I used still sort of confusing. Lets use the famous phrase of searching for a needle in the haystack.

In the previous version, searching for a needle in the haystack took almost 11 seconds for a small 360x360 image, it…

Kevin FOO

A software engineer, a rock climbing, inline skating enthusiast, a husband, a father.

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