Monads in JavaScript
Monad is a design pattern used to describe computations as a series of steps. They manage side effects in pure functional languages but can also be used in other languages to control complexity.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,843 posts.
Monad is a design pattern used to describe computations as a series of steps. They manage side effects in pure functional languages but can also be used in other languages to control complexity.
Recently I’ve been thinking a lot about infrastructure complexity, and the current state of infrastructure as code. This is problem space that many talented people are tackling.
WebAssembly (Wasm) has many applications in the cloud-native world today – WASI, edge cloud computing, Proxy-Wasm, and cloud-native runtime for server
My dad started teaching me Basic when I was about 7 years old, and since about that age I knew that I wanted to build software for a living. It was obviously a fun and useful thing to do, and something that I could do well. But there is a big — and I mean Grand Canyon-scale BIG — difference between “programming” and…
I’ve recently started a new job as a documentation engineer. While my work is largely the same as that of a technical writer, …
Iterators in Go are a neat way to write “lazy loops”, where we never generate more results than we actually use. Let’s see what that would look like in Go programs, and what new facilities it gives us in the standard library.
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
After spending some weeks playing with Rust, I felt ready to test my skills and try some programming challenges in the [Advent Of Code](https://adventofcode.com/). My approach to tackle some of those challenges was to solve them using Javascript (I use it in my day to day) first and then port the code to Rust. While…
Are cross-project changes in a single atomic commit the key advantage of monorepos? I do not think so.
In 2001, Microsoft's former CEO— Steve Ballmer— was quoted by the online tech news publication, The Register, saying: Linux is a
The behavior of the Windows scheduler changed significantly in Windows 10 2004 (aka, the April 2020 version of Windows), in a way that will break a few applications, and there appears to have been …
Here are some techniques to avoid the pain of having brittleness from legacy code.
Nightmare scenario with the Javascript ecosystem mess
When I got my brand-new MacBook Pro (late 2016), I was interested in testing out the phenomenal SSD performance I had been reading about, r...
Define a simple, standard API for parsing and generating JSON documents so that doing so does not require an external library. Enable many JSON processing tasks to be accomplished with little coding. This is an incubating API .
The problem is that the last param to xhr.open is whether the xhr is async . Ouch.
T-Minus 15.193792102158E+9 years until the universe closes!
The very same week we signed our first ever angel investor for Plastic SCM, in early summer of 2005, Linus Torvalds announced Git. I had spent more than a year pitching investors to build a new version control, and suddenly the creator of Linux was building one himself. That week I understood the road ahead was going…
Learn how to make your TypeScript npm packages accessible and usable by a wider audience in our easy-to-follow tutorial.
Definition: The Fibonacci sequence is defined as \(F(0) = 0\), \(F(1) = 1\), and \(F(n) = F(n-1) + F(n-2)\) for \(n ≥ 2\). So the sequence (starting with \(F(0)\)) is 0, 1, 1, 2, 3, 5, 8, 13, 21, ….
Originally published May 20, 2015.
An edge case has convinced me it's the 'last' return that always wins…