Probabilistic Programming - Gordon et al 2014 Let's jump straight into some code - what is the meaning of this program in the PROB programming language? On lines 2 and 3, c1 and c2 are assigned to the result of a Fair Coin Toss. We then constrain the allowed outcomes (line 4) to be those … Continue reading Probabilistic Programming
One VM to Rule Them All
One VM to rule them all - Wuerthinger et al. 2013 Building high-performance virtual machines is hard , and a number of widely used languages only have lower-performance implementations. Wuerthinger et al. want to make it easier for you to create high-performance VMs without needing to create highly complex implementations. According to the paper: Java … Continue reading One VM to Rule Them All
RAPPOR: Randomized Aggregatable Privacy-Preserving Ordinal Response
RAPPOR: Randomized Aggregatable Privacy-Preserving Ordinal Response - Erlingsson et al. 2014 The RAPPOR paper made a brief appearance on HN a few weeks ago, and addresses the question of privacy preservation while collecting data - for example, in order to improve a service offering. Crowdsourcing data to make better, more informed decisions is becoming increasingly … Continue reading RAPPOR: Randomized Aggregatable Privacy-Preserving Ordinal Response
End-to-End Arguments in System Design
End-to-end arguments in system design - Saltzer, Reed, & Clark 1984. A true classic from 30 years ago. From the abstract: This paper presents a design principle that helps guide placement of functions among the modules of a distributed computer system. The principle, called the end-to-end argument, suggests that functions placed at low levels of … Continue reading End-to-End Arguments in System Design
The Declarative Imperative: Experiences and Conjectures in Distributed Logic
The Declarative Imperative: Experiences and Conjectures in Distributed Logic - Hellerstein 2010. This paper is an extended version of an invited talk that Joe Hellerstein gave to the ACM PODS conference in 2010. The primary audience is therefore database researchers, but there's some good food for thought for the rest of us in there too. … Continue reading The Declarative Imperative: Experiences and Conjectures in Distributed Logic
An Evaluation of Amazon S3’s Consistency Behavior
Eventual Consistency: How soon is eventual? An Evaluation of Amazon S3's Consistency Behavior - Bermbach and Tai, 2011 In honour of AWS re:Invent this week, and since we've already covered the excellent Dynamo paper at #31 in this series, here's a paper looking at eventual consistency and the behaviour of S3. In this work we … Continue reading An Evaluation of Amazon S3’s Consistency Behavior
The Power of Interoperability: why objects are inevitable
The power of interoperability: why objects are inevitable - Aldrich 2013 This is a thought-provoking essay from 2013 in defence of objects and OOP. To many, the reason for objects' success is not obvious. Indeed, objects have been strongly criticised. ... While there has unquestionably been some hype about objects over the years, I have … Continue reading The Power of Interoperability: why objects are inevitable
Monads for functional programming
Monads for functional programming - Wadler, 1992 There's something about the word 'monad', and about the concept of monads, that people find off-putting. If this was a paper coming from an OO (e.g. Java) perspective it might have been titled something like "A principled approach for wrapper types" which doesn't sound nearly so daunting does … Continue reading Monads for functional programming
Highly Available Transactions: Virtues and Limitations
Highly Available Transactions: Virtues and Limitations - Bailis et. al 2014. Since yesterday we looked at the Boom Hierarchy, it seemed fitting today to take a selection from the BOOM project (no relation). Thus earning me the Basil Brush award ;) What a great paper this is, I have so many highlights and annotations on … Continue reading Highly Available Transactions: Virtues and Limitations
The Boom Hierarchy
The Boom Hierarchy - Bunkenberg In honour of the CodeMesh conference this week, and as recommended in a recent tweet by Eric Meijer, today's paper gives insight on some of our most fundamental data structures and the operations on them. The Boom Hierarchy is the family of data structures tree, list, bag, and set, to … Continue reading The Boom Hierarchy