Best of CodeAhoy
== vs === in Javascript and Which Should be Used When
In Javascript, we have couple of options for checking equality: == (Double equals operator): Known as the equality or abstract comparison operator === (Triple equals operator): Know...
Oct 12, 2019YAGNI, Cargo Cult and Overengineering - the Planes Won't Land Just Because You Built a Runway in Your Backyard
It was April. Year was probably was 2010. The cold, snowy winter was finally coming to an end and the spring was almost in the air. I was preparing for my final exams. The review lect...
Aug 19, 2017Basics of Java Garbage Collection
Knock, knock. Who’s there? …long GC pause… Java. It’s an old joke from the time when Java was new and slow compared to other languages. Over time, Java became a lot fa...
Aug 06, 2017Cluster Analysis Using K-means Explained
Clustering or cluster analysis is the process of dividing data into groups (clusters) in such a way that objects in the same cluster are more similar to each other than those in other...
Feb 19, 2017Testers Make Software Teams Highly Productive
To put it mildly, developers are not great at testing their own products. Bias, pride, wrong assumptions, lack of time, switching contexts, all play a role in making developers ineffe...
Feb 17, 2017htop Explained Visually
htop is an interactive process viewer and system monitor. It’s one of my favorite linux tools that I use regularly to monitor system resources. If you take top and put it on steroids,...
Jan 20, 2017Blameless Postmortems - Examining Failure Without Blame
Let’s face it: failure is inevitable in complex systems. It cares not for the number of tests you ran, code reviews or your monitoring tools. It just happens. And how is failure usual...
Jun 20, 2016Remote Software Development - Lessons Learned
Previously, I talked about the ill-fated rewrite of our core product. The ‘second system’, although better and faster than its predecessor, was rejected by the customer. But the story...
Jun 12, 2016Write Less Code
Not too long ago, I sat down to ‘clean up’ a project that I inherited. I was given the reins of the refactoring efforts because the project has had several bugs in production. It was ...
Jun 03, 2016The char Type in Java is Broken?
If I may be so brash, it is my opinion that the char type in Java is dangerous and should be avoided if you are going to use Unicode characters. char is used for representing characte...
May 08, 2016Do Experienced Programmers Use Google Frequently?
Software developers, especially those who are new to the field, often ask this question or at least wonder whether they are good developers or just good at googling up solutions.“Do e...
Apr 30, 2016When to Rewrite from Scratch - Autopsy of a Failed Software
It was winter of 2012. I was working as a software developer in a small team at a start-up. We had just released the first version of our software to a real corporate customer. The de...
Apr 21, 2016