Implementing a Key-value Store, Part 1
In this series of posts, I want to walk you through how to build a simple, persistent key-value store. We will be using an on-disk hashtable(also called external hashtable) to store the key-value mappings. In this post, I will explain hashtables briefly and an algorithm called linear hashing. In the next post, we'll look at an implemen...
Links
Computers can be understood Explains a mindset to understand systems by looking under the layers of abstraction. [Systems that defy detailed understanding](https://blog.nelhage.com/post/systems-that-defy-understanding/): Follow-up to the above, listing some types of systems where it's either impossible or just not worth it...
Book reviews- "Shoe Dog" and "Superforecasting
Grr. I really need to write blog posts other than book reviews. But until then, here are some notes on two books I read recently:
Book review- "Spin" series by Robert Charles Wilson
Spin is a sci-fi trilogy comprising of the books Spin, Axis and Vortex.
Book (mini)review- "Amusing Ourselves to Death
Just finished reading "Amusing Ourselves to Death" by Neil Postman. I think I put the book in my to-read list after Alan Kay recommended in a talk of his(I don't remember which one).
Some recent reads
I haven't posted here in quite a while, and I'd like to re-boot the site with something easy. So I wrote up "mini book reviews" of some books that I read recently and liked quite a lot.
First impressions on nand2tetris
I recently started reading a very interesting book called The Elements of Computing Systems by Noam Nisan and Shimon Schocken. The book is nicknamed "nand2tetris", so called because the reader starts off with a NAND gate and using it as a building block for more complex systems builds a modern computer(on which he or she implements the...
Arithmetic with Instaparse
Last week I started playing around with the Instaparse library, which makes writing parsers really easy in Clojure. What Instaparse does is take the formal definition of a language and give you a parser for that language. You can then use that parser on a string, possibly containing something in that language. You need to write the gra...
Parts-of-speech tagging with Clojure
One of the classical problems in Natural Language Processing is parts-of-speech tagging i.e. given a sentence of length n, find the sequence of part-of-speech tags for each word in the sentence. For example,