What are the Magical Clocks for?
Related
More from NULL BITMAP by Justin Jaffray
Ancestry I came across a cool algorithm recently for being able to efficiently answer ancestor queries in a tree ("is x an ancestor of y"). The trick is to assign to each node in the tree an interval [x, y] such that for any node, its children's ranges are contained within its range. It's easy to construct such ranges by doing a depth-first...
It’s a common pattern in Go to fan out I/O-bound tasks to a bunch of worker Goroutines. We have some big batch of work that has to get done, and we dole it out to workers that each do blocking I/O. There are a couple of natural ways to do this, but let's talk about a way not to do it first. I recently was shown a piece of code that implemented...
Happy new year, nothing too deep this week because I am traveling. If you read NULL BITMAP this year you have my gratitude. Peace and love. One of the transformational moments for me in "coding" specifically was when reviewing the code of one of the more effective programmers I know. We had a DAG, or something. Quick background, a DAG, or...
We are apparently continuing our series of posts borne from thinking about Amazon DSQL. Today we are talking about skew. Amy and Bill are two developers working on a shared codebase via GitHub. They use pull requests, and have a CI server that verifies that their code builds and all of their tests pass before they merge any code. This is, in...
The big three algebraic properties that show up in the distributed systems literature are associative, commutativity, and idempotency (EYE-dem-po-ten-see). Collectively these are referred to sometimes as “ACI” and these are so prevalent because those are precisely the things you need to require of distributed data structures so that they are...