Using global state in software programs, is handy for development, but evil to maintain. It can easily become source of bugs that are triggered by edge cases which are hard to track down. Let’s see why, and how we can mitigate the problem.
We collect gems used on the apps we monitor at Scout to assist with debugging issues and to prioritize libraries we want to instrument. This data set, which is across thousands of apps, should be enough to grab general usage trends.
Good software is uncommon because writing it is hard. In the abstract, we all know that it is hard. We talk incessantly about how it’s hard. And yet, we also collectively seem shocked — just shocked! — when the expectable happens and the software we’re exposed to or is working on turns out poor.
Coati is a developer tool for fast and efficient source code navigation and exploration. This is the story of how an internship at Google inspired me to start working on a tool for reading source code.
As software developers, we're great at communicating with computers. But we're typically not so great at communicating with other people. Esther Schindler's recent interview with Steve McConnell illustrates how this aspect of our personality tends to work against us.