A few weeks ago I started wondering about 'the test that occasionally and randomly breaks' in a large test suite at my job. The test, called 'overloaded origin', tests a situation where a web server becomes overwhelmed with requests and a proxy server (the code being tested) has to handle the situation gracefully.
The test works by having a dummy web server that could randomly decide to (a) return a normal web page for a request (b) read the HTTP headers and then do nothing for 30 seconds and (c) read the HTTP headers, wait 30 seconds and then send a valid response. The proxy server is hit by 5,000 clients simultaneously requesting the same URL.
And sometimes, every now and again, this test failed.
And like many engineers I'd ignored it for a long time. But it kept worrying me because it must have meant something: computers are deterministic, after all. I was spurred to action by a colleague suggesting that the test be disabled because it was 'flaky'.
Over the years I've become more and more verbose in commit messages. For example, here's a recent commit message for something I'm working on at CloudFlare (I've obscured some details). This is actually a one line change to a Makefile but gives a good example of what I'm aiming for.
Author: John Graham-Cumming
Date: Mon Jul 1 13:04:05 2013 -0700
Sort the output of $(wildcard) as it is unsorted in GNU Make 3.82+
The Makefile was relying on the output of $(wildcard) to be sorted. This is
important because the XXXXXXXXXXXX rules have files that are numbered and
must be handled in order. The XXXXXXX relies on this order to build the rules
in the correct order (and set the order attributes in the JSON files). This
worked with GNU Make 3.81
In GNU Make 3.82 the code that globs has been changed to add the GLOB_NOSORT
option and so the output of $(wildcard) is no longer ordered and the bu…
Due to revelations about access to private email (and other electronic communication) by the NSA and GCHQ some people have been suggesting that we all need to start using encrypted email. I've had PGP/GPG keys since about 1995 and I have only ever received a handful of encrypted mails.
So, how do you make people send you encrypted mail? I think an 'economic' incentive is necessary.
If you send me an unencrypted email it will be delayed by 12 hours before it is delivered. Encrypted email will be delivered immediately.
This is actually pretty easy to accomplish. An SMTP server can examine the contents of an incoming email and determine if it is encrypted or not. If it's not encrypted it can be placed in a delay queue and delivered after the appropriate delay; at the same time the server can send a message warning the sender of the delay and perhaps educating them about how to send encrypted mail.
This scheme could be called the Plain Text Tarpit (PTT) or perhaps the Plai…