Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 2,391 posts.
Exploring the design space of binary search trees
Open-source research project that explores the design space of binary search trees to implement persistent and concurrent linear list data structures.
The Shape of Inequalities
…symmetry isn’t just a preference for “pretty” shapes. Contents Introduction The HM-GM-AM-QM Inequality The two circles The Semicircle The Container The 3D container The Sum of Squares Inequality Nesbitt’s Inequality Conclusion Introduction While I was randomly browsing the web, I came across this nice picture: Roland…
Bounty to Recover NIST's Elliptic Curve Seeds
This is a fun challenge: The NIST elliptic curves that power much of modern cryptography were generated in the late ’90s by hashing seeds provided by the NSA. How were the seeds generated? Rumor has it that they are in turn hashes of English sentences, but the person who picked them, Dr. Jerry Solinas, passed away in…
Hacking physics from the back of a napkin (2020)
February 24, 2020. The computational power of a humble napkin is awesome. I discuss three napkin algorithms — dimensional analysis, Fermi estimates, and random walks — and use them to figure out why rain falls, the length of the E. coli genome, and the mass of a proton, among other things. These examples suggest a…
Visualizing Diffs: The Myers difference algorithm (2020)
In 1986, Eugene Myers published An O(ND) Difference Algorithm and Its Variations , which unified the problems of finding the longest common subsequence of two sequences (the LCS of "driftwood" and "artwork" is "two") and finding the shortest edit script for transforming one sequence into another. Myers showed that…
Deep Learning, NLP, and Representations
neural networks , deep learning , representations , NLP , recursive neural networks
Juris Hartmanis 1928–2022
A sure foundation for Computational Complexity source—wonderful 2015 CACM interview Juris Hartmanis passed away this morning. He was a professor in Cornell’s computer science department…
Against Bayesianism – David Deutsch
Bayesianism, the doctrine that it's always rational to represent our beliefs in terms of probabilities, dominates the intellectual world, from decision theory to the philosophy of science. But does it make sense to quantify our beliefs about such ineffable things as scientific theories or the future? And what separates
The largest number representable in 64 bits
This post is a rewrite of my earlier blog post from Nov 2023 with new insights and updates.
How many dimensions is this?
A degree in mathematics might not save you from stacking boxes for a living.
The Buenos Aires Constant
Generating primes using the Buenos Aires constant.
Quicksort with Jenkins for fun and no profit
I first encountered Jenkins in 2007 while contributing to the Apache Nutch project. It was called Hudson back then. The nightly builds for the project ran on Hudson at that time. I remember sifting through my emails and reviewing build result notifications to keep an eye on the patches that got merged into the trunk…
Square roots and maxima
A brief numerical and graphical check on a 3Blue1Brown video.
Principles of TLA+
TLA+ is a formal specification and verification language intended to help engineers specify, design and reason about complex, real-life algorithms and software or hardware systems. We explore its motivation, application and principles of design.
Mathematical marketing: a piece of calculus to change the way you advertise
If you make $10 profit each time you sell a product, what cost per conversion should you aim for? Answering this question isn't easy, but it can teach us a…
Low-level x86 code compression for 64k intros
This is about the “secret ingredient” in my EXE packer kkrunchy, which was used in our (Farbrausch) 64k intros starting from “fr-030: Candytron”, and also in a lot of other …
Héctor Garcia-Molina, 1953–2019
We all lost a great person Cropped from Mexican NotiCyTI obit Héctor Garcia-Molina died just before Thanksgiving. He was a computer scientist and Professor in both the Departments of Computer Scien…
Floating-Point Printing and Parsing Can Be Simple and Fast
A floating point number f has the form f = m · 2 e where m is called the mantissa and e is a signed integer exponent . We like to read numbers scaled by powers of ten, not two, so computers need algorithms to convert binary floating-point to and from decimal text. My 2011 post “ Floating Point to Decimal Conversion is…
An Overview of Bayesian Inference (2019)
A few weeks ago I wrote about Kuhn’s theory of paradigm shifts and how it relates to Bayesian inference. In this post I want to back up a little bit and explain what Bayesian inference is, and eventually rediscover the idea of a paradigm shift just from understanding how Bayesian inference works.
Verifying GCC optimizations using an SMT solver
This post describes the implementation of pysmtgcc. See “GCC Translation Validation” for background information.
How Many People? Ancient Demography
One of the first questions anyone asks about past societies is, ‘how many people were there?’ It is one of those basic bits of information and generally speaking those of us who teach t…
Is π the Same in Every Universe?
Mathematician: That depends on what you mean by “universe.” Here’s a framing: A circle of radius R centered at a point P is the set of all points in the plane with distance R fro…
Division by zero in type theory: a FAQ
How can a theorem prover use the convention that 1/0=0 and still be consistent?