Best Practice: Stabilize tests before adding them to a test suite

One common mistake to make when adding a new test to an existing test suite is to accidentally add a test which fails in a non-deterministic manner.  Tests which spuriously fail waste developers time and degrade their trust in the test suite as a whole.  To avoid this, before adding a new test to the …

Continue reading ‘Best Practice: Stabilize tests before adding them to a test suite’ »

Feature latency

The primary purpose of this post is to share one of the most insightful articles on engineering management and productivity that I’ve seen in a while. Speeding Up Your Engineering Org, Part I: Beyond the Cost Center Mentality by Edmund Jorgensen of Hut 8 Labs Edmund makes a very important, but entirely non-obvious until someone says …

Continue reading ‘Feature latency’ »

Semantics of 2’s completement integer division

As part of a recent discussion on llvmdev, I had reason to go digging through a couple of language specs examining how they handle edge cases in integer division.  This post is just a summary, mostly so I don’t forget. As a reminder of the basic problem, division (a/b) on N bit 2’s complement integers …

Continue reading ‘Semantics of 2’s completement integer division’ »