Developing with Please

I recently started learning about Go to find out what’s all the hype about. So I figured what’s a better way than to build a project out of it? As I was setting up my machine and going through tutorials step-by-step, I was slightly annoyed by the fact that the development of Go projects are limited to inside the $GOPATH.

Personally, I have all my side projects stored at the top level of the computer. It might not be the best way to do it but I’m liking that I can see all my projects at one glance. I guess…

Photo by Sai Kiran Anagani on Unsplash

Shell scripts vs python or Perl

It's 2019 now, who writes shell scripts anymore? Am I right? Well, apparently I do. ¯\_(ツ)_/¯

There are some good arguments for that here and here which mainly revolve around 2 things:

  1. Shell exists in all Unix systems and makes use of system default features.
  2. Shell is an “interactive command function” designed to get user inputs during the process of running them.

Also, here’s an additional relevant reading about the differences between sh and bash.


In some occasions, you will need to pass an argument (or expect one) into the script like how you might pass a param into a…

Photo by Andres Urena on Unsplash

Quick guide to building and unit testing an Alexa Skill

What is Test Driven Development?

According to Wikipedia, it means “Requirements are turned into very specific test cases, then the software is improved to pass the new tests, only.” Basically, you would first have to write the test of the software/feature you are developing before you start working on the developing the software/feature itself.

Here are a few more articles on the benefits and why you should apply TDD:
- Test Driven Development by Jan Olbrich
- Isn’t TDD twice the work? Why should you care? by Navdeep Singh


Here are a few thing you might want to have set up or installed before getting…

NGINX is one magical tool

Photo by imgix on Unsplash

I own multiple domain names, and each one hosts a different side project. For the longest time, everything that required ‘hosting’ was hosted on Heroku. But their free tier can be quite limited, it can also get costly quickly if you are paying for each separate project. So instead, I decided to explore putting all of them together using NGINX (recommended to me by Jane Manchun Wong).

Required Resources

Virtual Private Server (VPS)

You’ll need a virtual server such as DigitalOcean or EC2 by AWS. Personally I uses Vultr (here’s the non-referral link) which costs me about $2.50 / month.

Domain Names

You will need to register a…

Homepage of Gitea

Having additional backups are never a bad idea

Most people (including myself) host their personal projects on a third-party free Git hosting websites like GitHub, GitLab, Bitbucket etc. While that is sufficient for most people, it is also pretty fun to have your own Git service hosted on your own domain name of choice. While I trust my fellow engineers at these companies, I am using this as a personally backup to those services if anything goes wrong (like GitLab. Though to their credit, they were able to recover most of it).


There really isn’t much requirements except for a working machine and a proper working network. Preferably…

“A minimally decorated room with a computer desk, a graphics tablet and a guitar against an orange wall” by Norbert Levajsics on Unsplash

Basically a solo hackathon

Few months ago during my job search, I decided that I want to add some new skills to my arsenal (resume) so I went ahead to build a bill splitting webapp (and the month before, an Alexa skill). Granted, the backend was built weeks before during a hackathon (shoutout to HackISU), I’m just focusing on building the UI that makes post requests to the backend. In the process, I also ended up fixing some inherent flaws I left behind in the backend.


Be realistic. You don’t want to end your weekend with an unfinished product that would cause you to…

Sample look of the Travis-CI test log from here

Add that fancy badge onto your GitHub repository README

What is CI and why should I care about it?

CI stands for Continuous Integration which as the name suggests, is an integrated tests that runs continuously on every time when someone pushes a commit (or mostly when opening a Pull Request).

As for why is it important, it automates the whole testing modules. Ideally, you would still want to test your changes locally before pushing them to remote but in some occasion where you forgot or the program requires a lot more resources than your current machine can handle, CI comes in very handy. …

Photo by Stephanie McCabe on Unsplash

The not-so-mainstream way of building an API

When speaking of building a backend API, the most common tools is either Spring Boot for Java or ExpressJS for JavaScript. Even for Kotlin, Spring Boot and JetBrain’s own ktor is the usual option to go with. But today I’ll explore into the less popular option of spark-kotlin.

Disclaimer : I am not in anyway affiliated nor do I work at the project. I just simply stumbled upon it and started using it when working on a side project. (coming soon)

Understanding REST

If you already know or built a RESTful API, you can skip this part. There are already quite a…

“A group of graduates at sunset throwing up their caps in Malacca” by Baim Hanif on Unsplash

Getting an engineering job as an international student

Ah, you’ve graduated. Now what? Oh right, still no job offer! *panics*

As an international student, I have come across hundreds of guides on “how to land an interview”, “how to get a job”, “how to solve DSA questions” etc but almost none of them were specifically written with an international student in mind. I’m not here to dismiss the quality of such guides but rather, to be an add-on (or plugin if you will), to help international students understand their challenges better.

You’ve got a lot more to prove

Let’s face it, with all the hassle for potential visa sponsorship or even losing you due to…

Because I have your IC number, your house address and phone number


I lied, but maybe someone else could. If you didn’t know already, Malaysia just suffered possibly its largest data breach ever with personal data of millions of Malaysians (including your full name, IC number, phone number and home address) up for grabs as long as the price is right. If you are not freaked out yet, you should be and I’ll tell you why. I don’t think many people understand how dangerous these data can be. I’m also honestly mildly infuriated about this. No, not about the creator of (hereafter referred as Keith) but rather how this whole thing…

BinHong Lee

Just some guy randomly bashing the keyboard.

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