All Articles

Good Abstractions Have Fewer Leaks

Abstraction is one of the greatest visionary tools ever invented by human beings to imagine, decipher, and depict the world. - Jerry SaltzAbstraction are all around us. We abstract ...

May 06, 2016

Software Rot, Entropy and the Broken Window Theory

“Complexity is the business we are in and complexity is what limits us.” - Fred Brooks, The Mythical Man-MonthSoftware projects go through many modifications over their lifetime. As...

May 02, 2016

Do 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, 2016

Do Not Let Technical Debt Get Out of Control

Technical debt is a useful metaphor for describing the consequences of adding new functionality to a system in a quick and dirty manner to get something out of the door faster. The pr...

Apr 27, 2016

What is HTTP/2?

There are many reasons to feel excited about HTTP/2. It is the first major update of the HTTP protocol in 16 years! It was long overdue as the web dramatically evolved over the years....

Apr 23, 2016

When 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

Git Stash - Saving Your Changes

Let’s say you are in the middle of implementing a new feature. You’re half way through your changes and the code is in a messy state. You get a message that there’s an urgent issue th...

Apr 18, 2016

What's the difference between git fetch vs git pull?

Git has two types of repositories: local and remote. The local repository is on your computer and has all the files, commit history etc. Remote repositories are usually hosted on a ce...

Apr 18, 2016

The Problem With Code Coverage Metrics

Code coverage is a valuable metric. Software developers write tests for the code they have written and run code coverage analysis which gives them an assessment of how much of their c...

Apr 16, 2016

Is it OK to make mistakes at work?

I have not failed. I have just found 10,000 ways that won’t work. -Thomas EdisonSoftware development is an activity that requires serious brain power. And it’s only natural that sof...

Apr 14, 2016