New
The latest blog posts to take off on Hacker News. 213 posts.
Demystifying Floating Point Precision
Floating point numbers have limited precision. If you are a game programmer, you have likely encountered bugs where things start breaking after too much time has elapsed, or after something has mov…
Think Bayes: Bayesian Statistics Made Simple (2012)
This HTML version of Think Bayes is provided for convenience, but it is not the best format for the book. In particular, some of the math symbols are not rendered correctly.
The Coin Flip: A Fundamentally Unfair Proposition? (2009)
Douglas G. Steigerwald joined the faculty of the Department of Economics at the University of California, Santa Barbara after completing an M.A. in Statistics and a Ph.D. in Economics at the University of California, Berkeley. His research and teaching focus on frontier econometric methods at the intersection of…
The Hungarian Approach and How It Fits the American Educational Landscape (2015)
By Ryota Matsuura , Assistant Professor of Mathematics at St. Olaf College and North American Director of Budapest Semesters in Mathematics Education .
A Universe in One Line of Code with 10 PRINT
Generating a Universe with One Line of Code
Gaussian Distributions Are Soap Bubbles
This post is just a quick note on some of the pitfalls we encounter when dealing with high-dimensional problems, even when working with something as simple as a Gaussian distribution. Last week I wrote about mixup [https://www.inference.vc/mixup-data-dependent-data-augmentation/] a new data-augmentation...
Playing with Wolfram Playing Cards
A few weeks ago, I knocked my favorite mug off the counter and it shattered. RIP:
The Scientific Case for P≠NP
Out there in the wider world—OK, OK, among Luboš Motl, and a few others who comment on this blog—there appears to be a widespread opinion that P≠NP is just “a fashionable dogma of…
Learning a hierarchy
Stay up to speed on the rapid advancement of AI technology and the benefits it offers to humanity.
Dynamic Progamming: First Principles
Many problems of todays world require multiple decisions made throughout the lifetime of the problem. Choices are made based upon information, including previous decisions made in the problem. This article looks at how Dynamic Programming can be applied to help solve these problems in an efficient manner.
A reasonably speedy Python ray tracer
Cyrille Rossant's small ray-tracer is an nice self-contained Python program (using NumPy) that renders this 400×300 image in about 15 seconds on a fast PC:
Perceptually uniform color spaces
Programming Design Systems is a free digital book that teaches a practical introduction to the new foundations of graphic design.
The Mathematical Genius of Auto-Tune
Auto-Tune — one of modern history’s most reviled inventions — was an act of mathematical genius.
Singular Value Decomposition for Programmers
Today's article is a short one. Not because Singular Value Decomposition (SVD) is not important, but because it is so ubiquitous that we'll touch it in other...
Elliptic Curve Cryptography for Beginners
A description of ECC without using advanced math
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…
A Branchless UTF-8 Decoder
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:
How to defeat Ed25519 and EdDSA using faults
The Latest News from Research at Kudelski Security
Sieve of Eratosthenes in Python (2015)
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…