SyncPad switched its webclient from JS to CoffeeScript.
In terms of human-readable code, we reduced the lines of code by ~30%. It's cleaner and more concise. I feel our code is more managable because of CoffeeScript.
In terms of the generated JS, I really appreciate that CoffeeScript creates an abstraction that will implement JS best practices and consistency
At this point, any JS work I do is done with CoffeeScript
I wouldn't call it "related" or even "similar"… it's similar in that they're both key value stores, but there's no durability and Ramcloud stores both keys & values in memory; whereas bitcask only stores keys in memory as an "index" to the value on disk.
Your operating includes a page cache (in some cases it may have even more e.g., ZFS on Solaris with ARC). It can very effectively load these indexed values into memory. Of course your own cache and direct I/O may be more efficient if you're building a search index or a relational database, but for a key/value store the page cache should be very effective.
I think this is the first time I've actually updated a gist I cloned. It all makes sense now.
However, I can't figure out how to run this. I have your toyserver.js (and redis) running, and I have client.html making requests to the server, but the server always returns an empty response. My redis db is empty, is there something I need to do to populate it?