Some good advice on software development, I do disagree on the TDD part:

Bugs are correlated with lines of code and TDD forces writing more code so how can it reduce bug counts? If the test code has no bugs then just write the rest of the code in the same style but this is not what happens in practice.

A great introductory tutorial on distributed systems formal verification using TLA+. Even though FV and model checking is overkill for many of web services, it is a tool that an engineer should keep in his/her toolbox : one day it might become handy!
— Permalink

A take from J. Dyson on why the Maxwell's EM theory took so much time to get traction.

Some notes that I learned from the HN thread is the importance of Oliver Heaviside on the foundation of the engineering tools we now use to deal in Electrical engineering.

One great quote in the thread:

Maxwell unified electromagnetism into a propagating wave. That was the big leap. Before that, things were disparate. Hertz proved it experimentally, and Heaviside turned it into an engineering discipline.
— Permalink

In the light of the recent 911 outage in the state of Washington and its blurred post mortem released, this article put a foot in the root cause analysis which is most of the time an oversimplification that leads to bad engineering practices.

In one of the sub paragraphs, the author has a very interesting view of the scientific method of simplification and modelisation which is engrained in our culture.
— Permalink

Great article from 2016 that goes in great depth about how locks are implemented in Webkit.

In short:

Mutex are too memory consuming and too slow, futex are too specific to Linux, and spinlocks consume too much CPU cycles for their use case: high variance in lock acquisition duration. So using atomic CAS (compare-and-swap) operation they are able to create an adaptative lock that will spin in the beginning and behave like a mutex if the lock in not acquired fast enough.

I was wondering if it was possible to do real time statistical analysis to even improve the time between two acquisition attempt. Might be too resource consuming, we could give a try one day.
— Permalink

Nice advanced course on R, useful if you are coming from another language and already know the basics or R. It covers style guidelines, functionnal and meta programming and give advices on performances.
— Permalink

Railway Oriented Programming is a paradigm inspired by Monads to help error handling in functional programming. As error handling should be a important part of development this approach is quite interesting and is more understandable and practical than the academic one derived from monoids.
— Permalink