Nick Ang profile picture

Nick Ang

Want to see a full list instead of pages of results? Click here.

Bite Size Programming - Programming is not for everyone

Jesse Eisenberg in The Social Network I recently had a few conversations with people who are not software engineers and a surprising number of these conversations veered towards my journey into programming. Many of them remarked that what I did is amazing (I don’t agree), and almost all of them…


Bite Size Programming - How programmers are like doctors

Photo by Piron Guillaume on Unsplash Some days at work as a programmer, I feel like a doctor trying to resuscitate software. Drawing from a recent example at work, we realised that our machine learning algorithm was taking up quite a bit of memory. In fact, it was taking so much memory that there…


Bite Size Programming - A tool to prevent Mac from sleeping

Photo by elizabeth lies on Unsplash Today’s topic is a very specific problem I’d been wanting to solve but never really got around to because, well, it’s annoying but not painful. I’m talking about trying to prevent my Mac from sleeping. The reason for sometimes wanting to make sure my Mac doesn’t…


Bite Size Programming - How to start using the command line (part 1)

Photo by Thanh Tran on Unsplash Just getting started with becoming a programmer and want to start using the command line? This post is just for you. Do note that I’ll be going through command line commands for computers running macOS. If you’re using a Linux computer, the commands are very similar…


Bite Size Programming - How does the internet work?

Photo by Antonio Grosz on Unsplash Here’s a rhetorical question: Have you ever wondered how does the internet work? How is it possible that you can enter (what used to be) a cryptic string of characters and have a page full of text, images, videos and user interactions loaded just like that, like…


Users expect bug-free software

Photo by rawpixel.com on Unsplash Users don’t care how your product works. As long as it works. A user will accept one or two bugs in your product. They might be taken aback, but they’re likely to give you a chance or two. A paying user will most likely not accept any. But neither cares about why…


Bite Size Programming - Why do programmers use a Command Line Interface?

Photo by Paweł Durczok on Unsplash First of all, what is a Command Line Interface? In my own words, a command line interface (CLI) is the most lightweight program that a human can use to give commands to a computer. In the words of Wikipedia: a CLI is a “means of interacting with a computer program…


How to get started with programming (part 2)

Photo by Joshua Sortino on Unsplash Hello internet! This is the second part of How to get started with programming. If you haven’t read part 1, I highly recommend you start there as we covered some stuff that I consider pretty important to getting started. Now that you’ve found your purpose, what’s…


How to get started with programming (part 1)

Photo by Joshua Sortino on Unsplash I’ve only been a professional software engineer for about a year, but one of the questions I’m frequently asked by friends and strangers alike is, “How do I get started with programming?” To their question, I’d almost always give an answer that I think they find…


Bite Size Programming - What is programming?

Photo by Gilles Lambert on Unsplash Let’s begin this segment from the very top and ask, what is programming? I think a good starting point to answering this question is to unpack the word “program.” What is a program? As a noun, the word refers to a predefined list of things to do chronologically…


How to know you are a junior developer

Photo by Gili Benita on Unsplash Today I heard a hilarious way of benchmarking one’s noob-ness in the tech industry as a developer. It was a passing comment by my friend Terence over a beer this lovely evening when we were talking about our fledgling careers in tech. Terence said that one sure way…


How to tunnel HTTP requests into localhost

Source: https://ngrok.com/product Suppose you’re part of the engineering team of a tech company whose product is involves giving users product recommendation widgets for online stores. Since the product is already in the wild, so to speak, how do you test developmental features on live stores? One…


Encoding for programmers

Photo by Hope House Press on Unsplash I’ve been running into Unicode and ASCII and related encoding/decoding issues recently at work. We had an email that didn’t get sent out and all I got was an error message that said that some character could not be encoded in ASCII as “ordinal out of range…


The name card I used to get my first developer job

Going for a light-hearted post today. I want to share with you the ridiculously simple name card that I used to get my first developer job. Here it is! The handwritten name card that got me the job It’s really simple, right? Some have told me outright that it’s too simple… Whenever I handed one of…


A trick to catalyse progress

Photo by Mikito Tateisi on Unsplash Making progress is hard. Inertia can kill a project before it even begins. But when we finally muster the courage to set time aside, subdue all distractions and create that first piece of work, it’s hard to hide our pride. On such a day that marks the beginning of…


Generalist vs Specialist

I had an interesting conversation with my friend Rama today. We talked about many things, from management to meditation, creating music to digging shell scrapes. The most interesting topic that we explored was the idea of a generalist versus a specialist. Photo by rawpixel.com on Unsplash A…


How to completely replace git branch code with another branch's code

Photo by Leo Rivas-Micoud on Unsplash At work recently, our CTO noticed that our main repository’s branch had over 80 less commits than . That shouldn’t be the case, because our deployment pipeline has always been to go from -> -> . Code that exist on must therefore already exist in , right? No…


How to use git stash (and when not to use it)

Photo by NeONBRAND Use case: You want to switch to a different branch on the same project (say from to ), but you have uncommitted changes and git insists you commit before switching branches. Using is really straightforward for most cases. It involves to “stash away” all your uncommitted changes…


How to squash git commits

In this short post, I’ll demystify the process to squash git commits from the command line. This process is simple if you’re using a remote like GitHub, which can be done with the click of a few buttons in the Pull Request UI. This post focuses on squashing commits on the command line. Note before…


Silly useful things on my Repl.it

I love using repl.it, and I use it so often I can go up to a some else’s laptop and type the fully formed URL in the browser: https://repl.it/languages/python. You saw me type that, right? Digressions aside, repl.it has really been quite helpful in my short career as a developer. For the uninitiated…