Nick Ang profile picture

Nick Ang

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

Fastest way to bulk delete in Django

Was faced with an optimisation problem today at work. Our product analyses large datasets every day and as our number of user grew over the last few months, we’ve had to optimise our algorithm that generates and saves recommendations to our database. Poking around a bit, I noticed the step that…


Uber feature request: An emergency red button

Hello imaginary Uber product manager, if I may, I have a feature requests as a frequent user of your product. This is related to safety. Photo by Juan Di Nella on Unsplash Emergency red button My request is to have an emergency red button added to your app. To illustrate why I think this would…


Marketing in Aesop

When the first few Aesop stores started appearing in Singapore, being a generally skeptical consumer, I thought they were another gimmicky company that is all about packaging. Their products were all in brown bottles as though they were an iodine company, and products were all always neatly…


Thoughts on Airbnb

One of the things I find myself enjoying more about travelling is the accommodation. No it is not about being able to afford to live in nicer hotels now that Charlane and I are both working adults. Money has little to do with the joy we are getting from staying in people’s homes through Airbnb…


Consumers are not stupid

Startups and established companies should not think for a moment that their users can be easily fooled. Users in 2017 are usually astute consumers who notice every detail about your product and brand. If Airbnb asks me to input my base price and explains to me that that is the amount I am charging…


Training users to do the right thing

I was in Perth, Australia this weekend with Mei and we drove around in a small blue Mitsubishi Mirage hatchback. It had a manual transmission, which did take a day to get used to… but as we drove from cafe to restaurant (food was the one of the main reasons for the trip), I noticed the green eco…


Make iframe hyperlinks redirect correctly in main document

At work recently we had to figure a way to redirect a user to another webpage when she clicks on a URL. This is obviously a trivial task for 99 percent of cases - just use . But within an , URL redirects can act strangely. Let’s say you’re building a HTML/CSS/JS recommendation widget that is…


Naming variables well

Let’s talk about naming variables. Today I saw something like this in the code base at work. No I’m not sharing the actual code but it’s a good enough representation: So the code does something like this, in order: Get Store object with name “spiderman_photos” using QuerySet (Django’s built-in…


How to add prefix or suffix to image urls in Python

To add a suffix to an image url string in Python, you’ll need to use the (regular expression) module. We can use regex to identify the file format (eg .jpg or .png) and insert some text just before it. Adding a suffix to image urls (eg. from ) can be useful for getting smaller or larger images from…


Path of least resistance

When you have a lot to think about, problems unresolved, what do you tend to do? Tonight, like so many nights of surrender, I take the path of least resistance. I’ll tune out of this world and into another with Game of Thrones. Tomorrow with a rested mind, I’ll do the hard work of contemplating.


Same product, different brands

In Singapore, as it probably is in other countries, we have more than one company fighting for ride-sharing dominance. We have Uber, which everybody knows by now, and then we have Grab - a brand that is less of a household name to most people living outside of Southeast Asia. These two companies…


What it's like building app features in 2017

First of all let me admit, I wasn’t there to witness what it was like to build web/mobile app features before 2016, since I only became a web developer last year. That said, seeing that the open source movement really only picked up amazing momentum in the past couple of years, I can imagine that it…


How to appear to have high energy all the time

I’m inspired by how driven some people can be. It’s not everyday that you get genuinely impressed by someone’s energy, particularly not through social media. But I did today and after the inspiration surged through my veins, I find myself just sitting here and wondering two things. Why the hell am I…


The better way to approach a new programming language at work

Since joining the Metisa team at Altitude Labs, I’ve had to learn a new programming language: Python. Before this I’d only known JavaScript and Ruby. When I learned that I’d be joining as a software engineer, I started doing coding challenges on Codewars. Was that enough? Nope. A software engineer…


The family photo effect

Everyone takes photos with their family, but only those who have their priorities straightened pin them up in their cubicles at work. And with that act comes a family photo effect. Earlier today I visited a car workshop. I was there to get my vehicle fixed and make an insurance claim after a minor…



General Assembly Singapore Review - Web Development Immersive

Hey there. If you’re searching for an honest review of some of the programming courses currently available in Singapore, you’ve come to the right place. I will lay out in this post what I think about General Assembly Singapore, and specifically, its Web Development Immersive (WDI) full-time course…


Dying and the value of our work

Bit by bit, we’re inching closer to our deathbeds. While this isn’t meant to bring anyone down, I am trying to elicit an emotional response. Why? Because without evoking emotions, we tend to forget that we all eventually move on. This way of thinking has many implications, not least for our work…


Mind the always tired folly

As an adult, I often hang out with friends after work for drinks or a munch. As an adult, I’ve also noticed that it takes time for other adults to be vulnerable in a social setting, before we talk about The Real Stuff, and sometimes just when things start to get interesting someone would announce…


Go from good to amazing with storytelling

Today marks the end of the first project for WDI7, the 7th web development course to run at General Assembly Singapore, and boy is my mind dizzy. These guys are amazing. The strong ones delivered breathtaking games. Those who struggled pulled themselves together and levelled up, and presented…