Papers (and other things) of the LargeSpanOfTime II
OK, the title is getting fuzzier and fuzzier, but I decided to condense some things I've been reading here.
Papers:
Bringing the Web up to Speed with WebAssembly:
I like compilers, and their implementations, so I've been following WebAssembly, this is a good place to look at.
Spanner, TrueTime & The CAP Theorem:
A blog post by google made the rounds lately with people saying that google was saying that they beat the CAP Theorem, so I went to the source. The conclusion is interesting:
Spanner reasonably claims to be an “effectively CA” system despite operating over a wide area, as it is always consistent and achieves greater than 5 9s availability. As with Chubby, this combination is possible in practice if you control the whole network, which is rare over the wide area. Even then, it requires significant redundancy of network paths, architectural planning to manage correlated failures, and very careful operations, especially for upgrades. Even then outages will occur, in which case Spanner chooses consistency over availability. Spanner uses two-phase commit to achieve serializability, but it uses TrueTime for external consistency, consistent reads without locking, and consistent snapshots.
Bitcoin: A Peer-to-Peer Electronic Cash System:
Again, many people ranting and raving about bitcoin, blockchain and cryptocurrencies, what's better than go to the source, really readable paper.
CAP Twelve Years Later: How the “Rules” Have Changed:
I have a deja vu that I already read this paper, but just to be sure I read it again, interesting summary of the concepts and how they evolved over time.
LSM-trie: An LSM-tree-based Ultra-Large Key-Value Store for Small Data:
I wanted to read the LSM-tree paper and it seems I didn't look what I was clicking so instead I ended up reading the LSM-trie paper, which is really interesting and has an overview of the LSM-tree one, now I have to go and read that one too.
A prettier printer Philip Wadler:
In a previous post I mentioned that I read "The Design of a Pretty-printing Library" and I was expecting something else, well, this paper is a something else that I liked more.
Metaobject protocols: Why we want them and what else they can do:
Being an aspiring Smug Lisp Weenie I had to read this one, it's a nice paper and puts a name on some "patterns" that I've observed but couldn't describe clearly.
I've been thinking lately about the relation between Pivot Tables, Data Cubes and the things mentioned in the paper A Layered Grammar of Graphics so I started reading more about Data Cubes, I skimmed a couple papers that I forgot to register somewhere but this one was one I actually registered.
End-to-End Arguments in System Design:
Someone somewhere mentioned this paper so I went to look, it's a really good one, like the Metaobject protocol paper and other's I've read, this one is like a condensation of years of knowledge and experiences that are really interesting to read.
Books:
Object-Oriented Programming in the Beta Programming Language:
Interesting book about a really interesting (and different) object oriented programming language by the creators of Simula (aka the creators of object orientation), it explains an abstraction called "patterns" in which all other abstractions are expressed.
Project Oberon The Design of an Operating System and Compiler:
Another interesting book by Niklaus Wirth, creator of between others, Pascal, Modula and Oberon describing how to basically create computing from scratch.
I will note that I skimmed over the dense specification parts of those books since I wasn't trying to implement nor use them.
Reading:
Your wish is My Command Giving Users the Power to Instruct their Software
Mindstorms: Children, Computers And Powerful Ideas: All About Logo, How It Was Invented And How It Works by Seymour Papert
Papers this looong week: 11 (count books as papers because why not)
Papers so far: 54
Papers in queue: don't know