Stopping ng-click from being fired in Angular (1.x) directive


In the project I'm working on right now, we needed a way to disable some input fields based on a condition which is pretty common. I ended up writing a directive to reduce the amount of duplicated code and keeping it clean and simple. However, there was one problem, we didn't use the default checkboxes. Instead, we ended up using the icons from fonts-awesome library (Checked Icon, Unchecked Icon).

Use brain or password manager


I struggled with this question for a long time. It is contradictory in a way that using a password manager should make everything more secure, but using a master password introduces a single point of failure. So is it more or less secure? Given the number of accounts I have created over the years, I would say going with a password manager is the better choice and stop repeating same passwords on different sites. This way hackers can only hack into one of your accounts if they hack into a site.

Hidden skills of a good developer


Programming is a skill like any other, it is easy to get something done but difficult to do it well. Everyone can learn to code, there are so many resources teaching anyone to write their mobile app or website. So what defines a good developer from the crowed? Here's what I believe.

The trend of 'clever' software


There are plenty of companies researching into Artificial Intelligence (AI) and Machine Learning. Products such as Google Now, Siri and Cortana are all examples of combinations these. Apart from these big players, the trend is moving toward "vague" software usages, where the user specify something without being very exact. From these non-deterministic instructions, the software will be able to understand and execute and product the correct results. The following are just two examples I came across recently, both are pretty cool.

How to make Zsh shell look nice on Mac Terminal


I have already blogged about bash alternatives, Fish shell and Zsh in my previous blog here. I have only started using Zsh recently due to recommendations from a colleague, so thought I'd give it a try. This blog is mainly focusing on how to make Zsh look nice, so no tutorial on installing it.

Why testing isn't enough


A lot of people talks about the benefits of Test-Driven Development, how great it is when you compare it with non-test driven development. People would give a massive list of advantages of using TDD. For me these are the core reasons: