A tool that says “this page contacted five sites” is only worth something if the page really contacted five sites. Watchkeeper’s main promise is that nothing a page does gets missed, and that the page…
A web page isn’t one thing from one place. The article comes from the news site, but the fonts may come from a font service, the ads from an ad network, the share button from a social network and the…
BXM 0.1.0 is out. It’s two small command-line tools in one repository, open source under the Apache License 2.0, with builds for Linux, macOS and Windows. They share one idea. Same input, same bytes…
Here’s a bug that shows up in almost every system that signs or hashes structured data. Service A builds a record, serializes it as JSON, hashes it and signs the hash. Service B receives the record…
Watch a CI log for a week and count the steps that produced exactly the same output as last time. Code generation from schemas that didn’t change. Image resizing for assets nobody touched. Test…
Here’s a familiar review. The config for a checkout service comes back from someone’s editor and the diff is a wall of red and green. The editor saved with four spaces instead of two, sorted the keys…
Later on the route through the Imperial Armoury, the steel knights give way to blue cases full of curved sabres, pointed helmets, gilded pistols and jewelled harness. This is the section the museum…
At first glance it looks like a joke. A knight in full armour, wearing a flared, pleated skirt down to his knees, every pleat beaten out of steel, and on his head a helmet with a grimacing face and a…
About five kilometres north-east of central Kashgar, in the village of Haohan, stands the finest Islamic building in Xinjiang. A green-and-blue tiled tomb with a 17-metre dome and four corner…
Since 2016, more than a million Chinese officials have been assigned a Uyghur family each. They're called relatives. They arrive with gifts, stay for days, eat at the table, sleep in the house, and…