Issue #112 · May 27, 2019

F14 - Facebook's memory-efficient hash tables

“Imagination is the Discovering Faculty, pre-eminently. It is that which penetrates into the unseen worlds around us, the worlds of Science”

Best 7 links of week #21, 2019

F14 - Facebook's memory-efficient hash tables

F14 - Facebook's memory-efficient hash tables

Hash tables provide a fast way to maintain a set of keys or map keys to values, even if the keys are objects, like strings. To simplify the process of selecting the right hash table, Facebook Engineering built F14, part of Folly, our open source library of C++ components.

Articles

Virtual DOM is pure overhead

An interesting point of view on why the Virtual DOM is overrated and not the fastest possible option for DOM rendering.

Creating Graphs With JavaScript

Graphs are a data structure comprised of a collection of nodes with edges. They are a very fundamental data structure in many computer science problems. In this article, you will learn how to create graph data structures in JavaScript.

Error handling with the JavaScript Either Monad

JavaScript gives us a built-in language feature for handling exceptions: try…catch statements. And they're better than littering our code with if-statements. But they can be problematic. And they are not the only way to handle errors. In this article, we’ll take a look at using the ‘Either monad’ as a convenient alternative for error handling.

Book of the week

You Don't Know JS: ES6 & Beyond

You Don't Know JS: ES6 & Beyond

by Kyle Simpson

As part of the "You Don’t Know JS" series, this compact guide focuses on new features available in ECMAScript 6 (ES6), the latest version of the standard upon which JavaScript is built. Learn new ES6 syntax that eases the pain points of common programming idioms. Organize code with iterators, generators, modules, and classes. Express async flow control with Promises combined with generators. Use collections to work more efficiently with data in structured waysLeverage new API helpers, including Array, Object, Math, Number, and String. Extend your program’s capabilities through meta programming.