We translate problems from real life into mathematical expressions, following mathematical theorems that cannot be altered for no reason, if one is then everything those. Those mathematical expressions are then translated into a source code that can be compiled as a software useable by humans or computers. But the rules are slightly different between mathematical problem solving and software based problem solving, the difference is gravity and other physical laws can be modified or even altered in terms of software development, making your own tools is something you always do, even though there are a lot of tools out there, sometimes as a hacker you have no choice than to write your's. The need always arise to develop a tool, after day of going through the net searching and nothing turns up, this days it is bit difficult to not find tools suitable for your problem, also there might be a tool out there that is close but small modifications need to be done in order to make them compatible with your platform or language.