Test Automation

Dynamically generating mocha tests

Antonio Bebiano wrote “My first project at OW Labs was the development of World Energy Council’s trilemma index tool. This tool’s main purpose is to enable users to see how worldwide countries rank against three variables: energy security, energy equity and environmental sustainability. If you would like to know more about these variables go ahead and check the…”

Companionate: sharing logins with QR codes

Tom Parker wrote “I’ve run into a problem a few times recently, which is that having done all the right things with passwords i.e. using a password manager and having them be unique strings of basically random garbage, I now need to enter them in somewhere I haven’t got my password manager running on. I’m typically sitting in…”

Sturmfront auf Doppler-Radar-Schirm, public domain, von www.noaa.gov

Adventures in TCP latency measurement

Ceri Storey wrote “Re­cently, Google have pub­lished an art­icle on BRR, an al­gorithm that ex­pli­citly meas­ures the round-trip latency and band­width ca­pa­city of the link between two ma­chines (be it in a data­center, or a mo­bile phone) to avoid sending more traffic than is use­ful, causing queues to build up in the net­work that need­lessly in­crease latency. So…”

Cross-grading for fun and profit

Tom Parker wrote “First thing you’re probably wondering: What’s cross-grading? Well, it’s a bit like upgrading, except more sidewise than definitely upwards. It involves the changing of the architecture of a system, most typically from 32-bit to 64-bit, and most typically from x86 to x86-64 (although similar options are apparently doable for other architecture families, including ARM, MIPS and…”

Electric railway journal (1914) By Internet Archive Book Images [No restrictions], via Wikimedia Commons

Testing with Traces?

Matthew Sackman wrote “Most APIs and type signatures are hopelessly inadequate for capturing and describing a model. For example, consider a map and the signatures for put and get. Even if you have pure functional type signatures, the signatures on their own convey no information about what they do with a key and value during put. For this…”

Pigtail: task queues with Potboiler

Tom Parker wrote “Last month, I wrote about Potboiler, my AP Event Sourcing system. At the time I’d built a K/V store on top of Potboiler, mostly just as a test application. Potboiler isn’t really intended to be talked to directly by most clients, but will have some other form of service or store that sits on top…”

By User:Salimfadhley (Own work) [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons

4-way TCP handshake and firewalls

Jarek Siembida wrote “This is one of those pieces that you keep in your head for ages but never get around to write up. Tcpdumping I was doing of late brought it back so here it is. We all know the 3-way handshake in TCP: SYN + SYN/ACK + ACK and voila! But this is not the end…”


Tom Parker wrote “Over the last couple of years I’ve been reading and talking about a lot of things related to distributed systems. This is a common train of thought around here, and after working on this on and off for the past 18 months or so (the version you’re seeing here is in fact version 3 having repeatedly changed…”

By British Post Office (Scan of original(s)) [Public domain], via Wikimedia Commons

RabbitMQ and transactions

David Ireland wrote “RabbitMQ can’t (in general) participate in two phase commit. From a practical point of view, RabbitMQ can only make a message durable by adding it to a queue. This makes quite a few optimisations possible. Transaction participation would require RabbitMQ to spool messages temporarily on disk before adding them to a queue on transaction commit,…”

By John Ficara (This image is from the FEMA Photo Library.) [Public domain], via Wikimedia Commons

Testing as question asking or Hypothesis Driven Development

Ceri Storey wrote “So, my co-worker Ian asks the question “Why bother testing?”. I think that an under-considered question is how we think about testing. I would wager, that a sizable majority of programmers (myself included) will usually learn one or two techniques for testing, and then gravitated towards those same set of answers for most problems. As…”