Hard to believe we’re at the end of March already! The Morning Paper is taking a two week break for the end of term. Paper summaries will resume again on Monday 18th April.
I’ll be using the time to top up my paper backlogs, and brush up on my linear algebra. Computer Science has a much broader reliance on mathematics than it did when I studied it way back when. Discrete mathematics was pretty much all you needed then. To keep pace with many of the more exciting developments today you also need a firm grasp of linear algebra, calculus, probability, and statistics.
This two week break will also give you a chance to catch up on any of this term’s papers that you missed. You can see the full list using these links:
- January papers
- February papers
- March papers
- Oh, and this one paper from April just sneaked in at the end too.
That’s 68 posts in total. So much great research! It’s hard to single out just a few from that list. But here’s my recommended short list if you’re tight on reading time:
- ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks. It’s a classic paper, and it serves as a good reminder of just how much effort is needed to build systems that can recover from failure.
- No Compromises: Distributed Transactions with Consistency, Availability, and Performance. Turning conventional wisdom on its head with some stunning tps numbers.
- All Change Please. My summary of forthcoming hardware changes in modern data centers and the research that shows us what it might mean for the systems we build on top.
- Petuum: A New Platform for Distributed Machine Learning on Big Data. ML with billions of parameters over petabytes of data…
- How Complex Systems Fail. A short classic packed with good advice, and a reminder that humans are part of the system too.
- All File Systems are Not Created Equal: On the Complexity of Crafting Crash Consistent Applications. A real eye opener when it comes to building or operating anything that runs on top of a file system.
- Not-quite-so-broken TLS: lessons in re-engineering a security protocol specification and implementation. Is there a better way to build systems software?
- Graying the Black Box: Understanding DQNs. A fascinating look at what’s going on inside the “brain”; of a deep neural network.
- HyperLogLog in Practice: Algorithmic Engineering of a State of the Art Cardinality Estimation Algorithm. A great example of blending computer science and engineering to make pragmatic improvements to a classic algorithm.
- Diplomat: Using Delegations to Protect Community Repositories. Because the issue of vulnerabilities in community repositories such as npm, RubyGems, PyPI, Docker Hub, etc. is something everyone should be aware of.