The Asynchronous Computability Theorem
In this post I describe the Asynchronous Computability Theorem, which uses tools from Algebraic Topology to show whether a task is solvable…
The latest blog posts to take off on Hacker News. 2,851 posts.
In this post I describe the Asynchronous Computability Theorem, which uses tools from Algebraic Topology to show whether a task is solvable…
This week I took a crack at writing a branchless UTF-8 decoder: a function that decodes a single UTF-8 code point from a byte stream without any if statements, loops, short-circuit operators, or other sorts of conditional jumps. You can find the source code here along with a test suite and benchmark:
The Latest News from Research at Kudelski Security
Sieve of Eratosthenes animation Source: Wikipedia[0] One of the things we need to do when finding Perrin Pseudo-Primes is to recognise prime numbers so we can see if the numbers predicted by the Perrin test to be prime, are. So we need to generate primes. For small primes (for some definition of "small") this can be…
Let’s say you are trying to find the distance between two points in 2D, but that these points are in a universe that “wraps around” like old video games – leaving the screen…
The Institute for Advanced Study is deeply saddened by the passing of Vladimir Voevodsky, Professor in the School of Mathematics.Voevodsky, a truly extraordinary and original mathematician, made many contributions to the field of mathematics, earning him numerous honors and awards, including the Fields Medal.
Stay up to speed on the rapid advancement of AI technology and the benefits it offers to humanity.
While I was writing the Wolfenstein 3D book [1] , I wanted to demonstrate how much of a handicap it was to work without floating points. My attempts at understanding floating points using canonical [2] articles [3] were met with resistance from my brain. I tried to find a different way. Something far from $(-1)^S *…
Solving systems of linear equations is a staple food of linear algebra. It can be applied as a part of many machine learning tasks, although it is not always...
How many board configurations are there in the game of 2048? Let's estimate using combinatorics.
Edward Tufte’s The Visual Display of Quantitative Information (1998, 2nd edition 2001) is a classic book, arguably his best, and certainly a key text in the field of information graphics (whi…
Consider the following pseudocode: x <- 32; y <- 0; while(true){ x <- x – floor((1/8) * y); y <- y + floor((1/8) * x); plotPointAt(x, y); } x and y are always integers. This draws…
Divide and conquer has been a core strategy in software engineering. We decompose our systems into smaller modules with focused, simple…
Monoids are a pretty interesting concept in software development. Monoids are everywhere. Monoids are simple yet powerful. And Monoids have a lot to teach us about software, in particular about com…
During my internship at Jane Street 1 , one of my projects was a config editing tool that at first sounded straightforward but culminated in me designing a custom tree diffing algorithm using dynamic programming, relentlessly optimizing it and then transforming it into an A* accelerated path finding algorithm. This…
Exploring the relationship between singular value decomposition and principal component analysis.
From the highly eclectic blog of Mark Dominus
In software, we generate random numbers by calling a function called a "random number generator". Such functions have hidden states, so that repeated calls to the function generate new numbers that appear random. If you know this state, you can predict all future outcomes of the random number generators. O'Neill, a…
Anyone who has taken even a cursory glance at the vast menagerie of programming languages should have at least heard the phrase "Hindley-Milner". F#, one of the most promising languages ever to emerge from the forbidding depths of Microsoft Research, makes use of this mysterious algorithm, as do Haskell, OCaml and ML…
Edited 8/16 to correct attributions to Alon and Boppana and to Tardos, thanks to an anonymous commenter for the correction Yesterday, Norbert Blum posted a preprint with a claimed proof that $latex…
This post is about the magic constant 0x5f3759df and an extremely neat hack, fast inverse square root, which is where the constant comes from.