SwiftCloud: Fault-tolerant geo-replication integrated all the way to the client

SwiftCloud: Fault-tolerant geo-replication integrated all the way to the client machine - Zawirski et al. 2013 Data is stored in the cloud, presentation is on mobile devices, and application processing is increasingly split between the two. As mobile devices get more and more capable, we would like to exploit more and more of that capability. … Continue reading SwiftCloud: Fault-tolerant geo-replication integrated all the way to the client

The Log-Structured Merge-Tree (LSM Tree)

The Log-Structured Merge-Tree (LSM Tree) - O'Neil et al. '96. Log-Structured Merge is an important technique used in many modern data stores (for example, BigTable, Cassandra, HBase, Riak, ...). Suppose you have a hierarchy of storage options for data - for example, RAM, SSDs, Spinning disks, with different price/performance characteristics. Furthermore, you have a large … Continue reading The Log-Structured Merge-Tree (LSM Tree)

Church’s Thesis and Functional Programming

Church's Thesis and Functional Programming - Turner 2006 One of a collection of papers celebrating the 70th anniversary of Church's thesis in 2006, as recently recommended by Erik Meijer on twitter. Both the thesis and the lambda calculus have been of seminal influence on the development of Computing Science. There were three independently developed definitions … Continue reading Church’s Thesis and Functional Programming

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