This post may look like re-inventing the wheel, but when it was initially published in company’s intranet to aid junior programmers. That’s why :) Every tech specialist divides his time into two categories: time when he looks for solutions to his unique and special problems time when