Algorithms
The first entry on this page should be a link to Nick's damn cool algorithms. Because algorithms can be damn cool. The rest of links on this page come in no specific order (for now).

CORDIC efficient calculation of trigonometric functions. Easy to implement on hardware as it only requires shift and add operations and is way simpler than for example Taylor Series. Some scientific calculators still implement this algorithm today. (mentioned in Analogrechnen) Comparison of different implementations of Cosine, including CORDIC and Taylor Series

Zsh and Fish’s simple but clever trick for highlighting missing linefeeds Terminals do not provide a lot of options to work with missing linefeeds. One reason is that shells do not read processe's output

Conflictfree replicated data type for example for Etherpad. I read someone suggesting Firebase but for conflictfree data, which makes sense considering syncing between mobile apps and the web. In addition a practical guide for data syncing on iOS

Normalizing Unicode If strings look the same, they do not necessarily have the same byte representation, so normalization is required

How random can you be? Game to predict user inputs, because human behaviour is (usually) not random. The algorithm behind is rather simple. Every possible sequence of five user choices is in a database. Under each sequence, there are two counters, one for "user choice 1", the other for "user choice 2". Whenever the user chooses between two options, the software takes the last five entries, looks that sequence up in the database, and updates the counter according to the user's choice. Before the next user input, the algorithm can look up the sequence of the last five button presses, check which counter is higher, and based on the higher counter, predict which choice the user is likely to make.

JMAP (is not IMAP) new email protocol

Negative base number system without the (positive/negative) sign, but with increased complexity for calculations

Fallacies of distributed computing false assumptions programmers have, collected by Sun Microsystems

Magnetic ink character recognition is still a thing when it comes to automatic character recognition, for example my amateur radio club uses it for paper mail processing

QRCodes explained step by step and because you will need it: Explanation of ReedSolomon

Book Review: A Philosophy of Software Design contains a good summary, which is good, because I never found time to read the book

The Illustrated TLS Connection Step by step walkthrough the protocol

Let’s talk about PAKE which stands for Password Authenticated Key Exchange. Could be a handy way of web authentication, as people agree on a preshared key with almost every authenticated web service. Sharing the secret is not required for this protocol, so phishing would get a lot harder

High Density WiFi Deployments almost complete guide for an industrial wifi network and another article on the same topic

Functional programming with the most popular functional programming language: JavaScript

Image Discovery on Netflix How Netflix automatically generates preview images for movies

Eller's Algorithm for perfect mazes

Thinking for programmers talk by Leslie Lamport

Choosing random points inside a sphere is harder than you think, as spheres are hardly linear

How Not To Sort By Average Rating Websites like to present public user inputs in some sort of rating. The best solution I know is explained here.

HyperLogLog — A probabilistic data structure Count distinct elements in a set in an efficient (but not exact) way

Mann–Whitney U test Check if two samples are from the same distribution

Zero knowledge proofs link collection

Rendezvous hashing for agreeing from a set of options

Heap's algorithm for all permutations of a set

Statistics about billionaires and how to become one

Sussman anomaly and the quirks of planning in artificial intelligence

Union find data structure how social networks solve "You and your friend both know person X"

Traveling Salesman solved not really of course, but a selforganizing map helps

Bresenham's Algorithm explained. Drawing straight lines on pixelated displays

The tricky nature of formatting a programmer's jouney on a seemingly simple task

FloydWarshall Algorithm to find the shortest path between two nodes in a graph

Zooko's Triangle the law that came across my programming journeys most often I think. For names in a network, you can only pick two: HumanMeaningful; Secure; Decentralized

Observed Failures by NASA. All of them in the category "that can't happen". All of them could have been found by formal analysis

Detection and handling of state flapping, a common problem mainly in monitoring

Exactly once approach Doing things exactly once in a distributed system is easy and sometimes inevitable, for example when billing customers

Surprising statistical effect when sharing money randomly in a group

Allen's interval algebra event start times and their relations

Closest pair of points problem one of the first problems treated in computational complexity

FisherYates Shuffle or, how to efficiently shuffle a playlist