Pinboard (jm)
https://pinboard.in/u:jm/public/
recent bookmarks from jmGitHub now supports "squash on merge"2016-04-04T10:27:23+00:00
https://github.com/blog/2141-squash-your-commits
jmgithub code-reviews squashing merges git codinghttps://pinboard.in/https://pinboard.in/u:jm/b:3121861d13a4/Coders performing code reviews of scientific projects: pilot study2014-01-27T17:43:40+00:00
http://arxiv.org/ftp/arxiv/papers/1311/1311.2412.pdf
jmplos mozilla code-reviews coding science computational-biology biology studieshttps://pinboard.in/https://pinboard.in/u:jm/b:93e2c28d8494/Toyota's killer firmware: Bad design and its consequences2013-10-30T10:55:21+00:00
http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences
jm
The Camry electronic throttle control system code was found to have 11,000 global variables. Barr described the code as “spaghetti.” Using the Cyclomatic Complexity metric, 67 functions were rated untestable (meaning they scored more than 50). The throttle angle function scored more than 100 (unmaintainable).
Toyota loosely followed the widely adopted MISRA-C coding rules but Barr’s group found 80,000 rule violations. Toyota's own internal standards make use of only 11 MISRA-C rules, and five of those were violated in the actual code. MISRA-C:1998, in effect when the code was originally written, has 93 required and 34 advisory rules. Toyota nailed six of them. Barr also discovered inadequate and untracked peer code reviews and the absence of any bug-tracking system at Toyota.
On top of this, there was no error-correcting RAM in use; stack-killing recursive code; a quoted 94% stack usage; risks of unintentional RTOS task shutdown; buffer overflows; unsafe casting; race conditions; unchecked error code return values; and a trivial watchdog timer check. Crappy, unsafe coding.]]>firmware horror embedded-systems toyota camry safety acceleration misra-c coding code-verification spaghetti-code cyclomatic-complexity realtime rtos c code-reviews bug-tracking qualityhttps://pinboard.in/https://pinboard.in/u:jm/b:acba21cb4f78/Rusty's API Design Manifesto2013-05-15T09:06:28+00:00
http://sweng.the-davies.net/Home/rustys-api-design-manifesto
jm
In the Linux Kernel community Rusty Russell came up with a API rating scheme to help us determine if our API is sensible, or not. It's a rating from -10 to 10, where 10 is perfect is -10 is hell. Unfortunately there are too many examples at the wrong end of the scale.
]]>rusty-russell quality coding kernel linux apis design code-reviews codehttps://pinboard.in/https://pinboard.in/u:jm/b:af2d8a163fb9/