1. The Philosophy of Computational Complexity

    Tyler Cowen asks: Has there been progress in philosophy? He cheats a bit, pointing mainly to progress in science in his 16 answers. Perhaps that is the point....

  2. The "PostgreSQL" in CockroachDB — Why?

    CockroachDB happens to be somewhat compatible with PostgreSQL, meaning that software written to use PostgreSQL can sometimes (often!) be used with CockroachDB without changes....

  3. The "Open Source" in CockroachDB

    When I started contributing to CockroachDB, I was foremost excited to contribute to an open source project with a strong "free as in freedom" component, which makes CockroachDB agreeably FOSS in my eyes....

  4. The "Wow" effect in CockroachDB

    A few months ago, I was invited to present CockroachDB to a tech consulting office in Amsterdam. The audience was welcoming and receptive. They understood, appreciated, and lauded the "flagship" features of CockroachDB: distribution, scalability, high availability, operating simplicity....

  5. A Mild Generalization of Linearizability

    CockroachDB (the product I work on) isn’t linearizable in the colloquial sense. Spencer Kimball gives a good outline of this in Living Without Atomic Clocks. Despite this, its guarantees with respect to real-time ordering are slightly stronger than “nothing”. Transactions obey a timestamp ordering, it’s just that the order in which timestamps are allocated in a distributed system such as Cockroach don’t necessarily respect what we would think of as “real-time ordering”. Or do they?...

  6. Good blockchain governance is at least a decade away.

    Elaine Ou writes that a blockchain’s lack of a centralized governance mechanism is its main feature. Nobody controls Bitcoin, its core governance decisions were locked-in since v0.1, and that’s a plus. Other cryptocurrencies that experiment with more centralized decision making authorities miss the point: it’s the anarchy after the initial rules are set that’s the true feature. The post hit upon something I’ve been thinking about for a while, and I wish to push back on this view....

  7. Silicon Valley is about scaling organizations, not software

    Tyler Cowen asks whether tech companies should run everything. Trolling title aside, you should read his post, as he presents three competing worldviews that each try to explain silicon valley’s core value. I have a fourth contender: the core competency of silicon valley is avoiding organizational complacency....

  8. A Brief History of Log Structured Merge Trees

    LSMs have been around for the past two decades, popularized by their usage inside Google infrastructure. As Google infrastructure has been cloned outside Google, the usage of LSMs to store sorted data has as well. I’ve been searching for a history of log-structured merge trees, for a while. Not finding one, this is my best shot at writing a start. While I asked people at my workplace for their personal recollections from their time at Google, all errors are solely my own. I welcome any and all input you might have, and will make an effort to keep this updated....

  9. A History of Transaction Histories

    I’ve been trying to understand database transactions for a long time, and recently spent some time researching this with Justin Jaffray. Here’s an attempt to summarize what we’ve learned....

  10. Harberger Taxation has an elegant application that has been overlooked: Taxing Intellectual Property

    Too much of the conversation around IP laws has been focused on copyright term extension fights. This is blinkered....

  11. International treaties bake in policies for generations. Fewer policies should be set by treaty.

    When the TPP was still a matter of active debate, there was one downside to the process that didn’t seem to come up in the various policy debates. Some of the critiques were that it was “undemocratic”, but I think that’s basically wrong. If you need 12 democratic parties to agree on a single document, at some point you’re going to have to go through reconciliation. Each party doesn’t get to make changes (because then that amended draft has to get re-approved by all other 11 parties). So everyone signs off on some preliminary thing - that part goes through the normal democratic processes of democratically elected appointees negotiating. Then that goes through reconciliation. Then all 12 parties simply do up-or-down votes on the final document. Now you have a single document that 12 parties agree to....

  12. About: Arjun Narayan

    Ristret is an experimental blog platform that I wrote, partly to learn about CMSes, partly to get more experience writing database queries in an actual production setting, and partly because I needed to fulfill my urge to write more. I combined all those desires in one long project, hence this blogging platform/blog....