A Charming Algorithm for Count-Distinct
- Justin Jaffray tl;dr: "The count-distinct problem is to estimate the number of distinct elements appearing in a stream. That is, given some enumeration of “objects,” which you can think of as any data type you like, we want to know approximately how many unique objects there are."featured in #385
Diagram Layout Engines: Minimizing Hierarchical Edge Crossings
- Júlio César Batista tl;dr: TALA is a new layout engine designed specifically for software architecture. At its core, it combines many different graph visualization algorithms to produce aesthetic diagrams. This article is a part of a series where we dive into the inner workings of TALA. Today's topic is on minimizing edge crossings in hierarchical layouts.featured in #385
Twintrees, Baxter Permutations, and Floorplans
- Donald Knuth tl;dr: Video of Donald Knuth's annual lecture covering "three fascinating concepts, which seem at first to be entirely unrelated to each other, are in fact in one-to-one correspondence, via three beautiful algorithms."featured in #377
Challenging Algorithms And Data Structures Every Programmer Should Try
- Austin Henley tl;dr: "Not only have they come up during job interviews, but learning them changed how I think about problems." Austin's explains the following algorithms and data structures: (1) Topological sort. (2) Recursive descent parsing. (3) Myers string difference. (4) Bloom filter. (5) Piece table. (6) Splay tree.featured in #376
The Wavefunction Collapse Algorithm Explained Very Clearly
- Robert Heaton tl;dr: "Wavefunction Collapse is a very independent-minded algorithm, and needs almost no outside help or instruction. You feed it an example of the vibe you’re going for, and it figures everything else out for itself. Despite this self-sufficiency, it is surprisingly simple. It doesn’t use any neural networks, random forests, or anything else that sounds like machine learning. This makes it very clean and intuitive once you get the idea."featured in #376
Cracking A Compression Algorithm!
tl;dr: "The first thing I did was to create a sort of “assembly simulator” – I ported the assembly steps line-by-line out of the disassembly and into a C# program. Why do this? At the time, I was a beginner with assembly, so this exercise served two purposes: firstly, it helped me become more familiar with the disassembly; secondly, it gave me a program I could run that I knew for a fact would match what the assembly code was doing."featured in #361
Lessons Learned from Algorithmic Impact Assessments in Practice
tl;dr: "Understanding algorithmic impact is critical to building a platform that serves hundreds of millions of listeners and creators every day. Our approach includes a combination of centralized and distributed efforts, which drives adoption of best practices across the entire organization — from researchers and data scientists to the engineer pushing the code."featured in #358
How Do One-Time Passwords Work?
- Serge Zaitsev tl;dr: "That’s just 16 lines of code! If you call totp() function passing it your secret key – you should get a 6-digit number that matches the one in the Google Authenticator"featured in #344
featured in #342
featured in #340