An introduction to higher order functions in JavaScript

The problem When programming for the web, a big part of what we do is marshalling data around our systems. We transform it in places to shape this data in ways that are compatible with both our user interface components and data storage structures. When transforming data, developers will often…

Making asynchronous code look synchronous in JavaScript

Why go asynchronous Asynchronous programming is a great paradigm which offers a key benefit over its synchronous counterpart - non blocking I/O within a single threaded environment. This is achieved by allowing I/O operations such as network requests and reading files from disk to run outside of the…

Getting functional in JS with Ramda

Introduction Lately, I've begun programming in JS using an increasingly functional style, with the help of Ramda (a functional programming library). What does this mean? At its core, this means writing predominantly pure functions, handling side effects and making use of techniques such as currying, partial application and functional composition.…