How bugs per line of code is similar to traffic deaths per car
blog.vivekhaldar.com
blog.vivekhaldar.com
"some of the things that one might think have an impact on traffic fatalities that according to Smeed’s law do not: better traffic signage, traffic rules, more stringent enforcement of such rules, mass adoption of safety equipment etc."
You can NOT draw that conclusion from these data alone. For this, you need a sample that has the same N/P but differ among the factors above. It is entirely plausible that this graph comes about from the adoptation of such measures, which are only done by societies as the number of vehicles increases.
If you want these data to be explained by homeostasis, you need to show that the risk of dying is the same in all these countries. When judged by D/N, it sure looks like the acceptable risk is not the same, but it's probably not a good measure. Is "fraction of the population dying in vehicle accidents" really constant among these countries? In that case, I'd agree that it looks like homeostasis.
I have a hunch that the number of iPads per citizen also correlates with fewer traffic deaths per car.
You're right, but there is a lot of other data, and a whole new design philosophy that follows from it (http://www.wired.com/wired/archive/12.12/traffic.html), which I suspect the blogger is aware of but which he has chosen not to introduce here.
His subject isn't actually traffic, after all, but his conjecture about computer code.
2. Assumption that when a large project with lots of coders involved grows (and matures) the number of bugs (per line of code) decreases, is very naive one. (see pp 1)
3. Of course, all those useless layers and piles of poorly-designed abstractions we used to see in a typical Java projects are the results of automated memory management and Moore's law. ^_^
If one neglects what is under the hood one will eventually run into a trouble. Memory and its management are still here, like another processes, flows of data and other dynamics. Not thinking about them does not eliminate them from existence. JVM is a user-level process, one of many.
So, it is not a risk homeostasis it is a mere ignorance. ^_^
Studies have shown that, all else being equal, there's a linear relation between code size and bug count. I can't find the source right now, though.
I think it's the same with programming, the size of your program doesn't matter but the culture does. If don't use any system to develop, test,.. and don't really care about good code you will have bugs. On the other hand, with a good system you will have less bugs.
If the argument of the blog post was true, then you would have more bugs if you use more libraries? Or the bigger the libraries you use the more bugs? Doesn't make any sense.
Productivity should strictly be number of hours between problem and solution.
Note that the different countries on that graph also have legal blood alcohol limits differing by factors of at least 4. Yet that is not reflected in the death rates.
While I do not feel safe driving at the U.S. legal limit, I do feel safe driving over the Swedish legal limit (which is 1/4 the U.S. one). While I wouldn't do it in the US, I would in Sweden.
The argument is that if drunk driving became common (because it was legal) then other drivers and pedestrians would adjust their behavior according to the increased risk.
Based on that, you would expect a spurt of additional deaths early on, as we adjusted to the new risk, and then the numbers would drop again.
That sounds pretty reasonable to me, certainly if I knew that every third driver was drunk, I would behave differently on the roads (ie, would never go near them).
It's the same when gunloon rednecks argue that if it wasn't guns, it would be knifes, all the way down to a paperclip.
You are making the common mistake of changing a variable in isolation, without taking into account all the things that flow from your change.
These data should not be used to make the claim that attempting to increase safety is useless. Improved vehicle safety features, for example, has been compensated for by faster driving. That means the safety features didn't help lower deaths, but they did help everyone get around faster.
It's counterintuitive - changes in perception of reality are more useful than changes in reality.
Which is precisely what is being researched and done in various areas, e.g by making the road appear narrower through various visual tricks.
And it works.
Until people learn. I don't mean by that that they necessarily know they're being tricked and consciously "undo" the trick, but they are then trained to handle a tougher constraint, and thus are able to routinely do something they could not before, out of pure training. The whole danger/constraint/learning system is actually very elastic. The net result is that not only they end up driving at the same speed as before in the modified area, they actually drive faster than before in the other non-modified areas.