Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 26 posts.
Kill Math
The power to understand and predict the quantities of the world should not be restricted to those with a freakish knack for manipulating abstract symbols.
Fibonacci Flim-Flam.
physics, history of science, pseudoscience, hoaxes, writing, education, skepticisism, humor, quotes, illusions, 3d stereo photography.
Complex numbers have never been so intuitive to me
Imaginary numbers always confused me. Like understanding e, most explanations fell into one of two categories: Gee, what a great way to encourage math in…
Quake's Fast Inverse Square Root
I'm no graphics expert, but appreciate why square roots are useful. The Pythagorean theorem computes distance between points, and dividing by distance helps…
Maze-generation algorithms, with JS demos
Algorithms, circle mazes, hex grids, masking, weaving, braiding, 3D and 4D grids, spheres, and more!
Crit-bit Trees: the best way to store sets
A crit-bit tree can be used as a high-speed associative array. For example, an array mapping 54 to 1, 19 to 2, 99 to 3, 85 to 4, and 88 to 5 can be stored as a crit-bit tree containing 54=1, 19=2, 99=3, 85=4, and 88=5. The smallest string in the crit-bit tree larger than 85= is 85=4.
Recursive Functions of Symbolic Expressions and Their Computation by Machine
This paper appeared in Communications of the ACM in April 1960. It is the original paper on Lisp.
Donut math - How donut.c works
There has been a sudden resurgence of interest in my "donut" code from 2006 , and I've had a couple requests to explain this one. It's been five years now, so it's not exactly fresh in my memory, so I will reconstruct it from scratch, in great detail, and hopefully get approximately the same result.
Algorithmic symphonies from one line of code
Lately, there has been a lot of experimentation with very short programs that synthesize something that sounds like music. I now want to sha...
Darts, Dice, and Coins: A beautiful article on a beautiful algorithm
Earlier this year, I asked a question on Stack Overflow about a data structure for loaded dice . Specifically, I was interested in answering this question:
Java Hangs When Converting 2.2250738585072012e-308
Konstantin Preißer made an interesting discovery , after reading my article “ PHP Hangs On Numeric Value 2.2250738585072011e-308 ”: Java — both its runtime and compiler — go into an infinite loop when converting the decimal number 2.2250738585072012e-308 to double-precision binary floating-point. This number is…
Smaller than Bloom filters
I've been looking at what would be needed in order to have a global view of CRLs in browsers. At the moment revocation has three problems: privacy (by asking the CA about the status of a certificate you're revealing to them what you're looking at), performance (OCSP checks take hundreds of milliseconds which adds up…
PHP 5.3.3 hangs on numeric value 2.2250738585072011e-308
I stumbled upon a very strange bug in PHP; this statement sends it into an infinite loop:
Succinct Data Structures: Cramming 80,000 words into a Javascript file
<img src="http://zwibbler.com/shared/1024.png"/> jQuery creator John Resig needs a little help storing lists of words in his side project. Let's go overkill and explore a little known branch of computer science called Succinct Data Structures.
A Stick Figure Guide to the Advanced Encryption Standard (AES)
(A play in 4 acts. Please feel free to exit along with the stage character that best represents you. Take intermissions as you see fit. Click on the stage if...
Patent 5,893,120 reduced to mathematical formulae
I have previously argued that the Bilski ruling renders all software unpatentable in the US because any method of manipulating information ...
The Prime That Wasn’t
Life, technology, and other good things
Lovelace's Leap
There's a great deal said about Ada, Countess of Lovelace that I find misguided. And, worse, the real intellectual triumph of Lovelace is ...
Finding Love Optimally
Like many in operations research, my research interests often creep over into my everyday life. Since I work on scheduling issues, I get particularly concerned with everyday scheduling, to the consternation of my friends and family (“We should have left six minutes ago: transportation is now on the critical path!”)…
Compiling to λ-calculus
Though it contains forms only for function applications, variable references and anonymous functions, it is equivalent to a Turing machine.