Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 2,851 posts.
Notes on Weight Initialization for Deep Neural Networks
Neural networks involve long sequence of multiplications, usually between a matrix and a vector, say \(a*x\). The result of this sequence of multiplications will either have a huge magnitude or be reduced to 0. We can divide \(a\) by a number ( scaling_factor ) to scale down its magnitude to the right level. Proper…
Discovering Novel Algorithms with AlphaTensor
In our paper, published today in Nature, we introduce AlphaTensor, the first artificial intelligence (AI) system for discovering novel, efficient, and provably correct algorithms for fundamental tasks such as matrix multiplication. This sheds light on a 50-year-old open question in mathematics about finding the…
Fast, Constant-Time Sphere Indexing
Map any 3D point on or above a triangle-subdivided sphere to a triangle index in constant time, without recursion, table lookups or complicated branching logic.
The Riemann Hypothesis (Part 2)
Note: These pages make extensive use of the latest XHTML and CSS Standards . They ought to look great in any standards-compliant modern browser. Unfortunately, they will probably look horrible in older browsers, like Netscape 4.x and IE 4.x. Moreover, many posts use MathML, which is, currently only supported in…
Native Type Theory
Note: These pages make extensive use of the latest XHTML and CSS Standards . They ought to look great in any standards-compliant modern browser. Unfortunately, they will probably look horrible in older browsers, like Netscape 4.x and IE 4.x. Moreover, many posts use MathML, which is, currently only supported in…
Difficult math is about recognizing patterns
Jeff Bezos tells a great story about the smartest guy he knew at Princeton. He and a classmate were working on a really tough partial differential equation and getting nowhere. They spent 3 hours on the problem and gave up.
Romeo and Julia, Where Romeo Is Basic Statistics
Hello there. This is an open access book entitled: “Romeo and Julia, where Romeo is Basic Statistics”. So I guess it’s gonna be about a programming language named Julia and its usage for basic statistics.
Legible Mathematics: Sketches of interactive arithmetic for programming (2014)
Sketches of an interactive arithmetic for programming by Glen Chiacchieri.
Spikey Spheres
A word of warning ... I'm presenting here something called an analogy. It's not perfect, it has problems, it's not exact, but there are ways in which it can aid your thinking. I'm giving a way of visualising high-dimensional spheres, a way that has its limitations, but which can help avoid making mistakes based on…
Higher quality random floats
Much has been written about how to generate random 64-bit integers; people might argue over which particular (CS)PRNG is best suited for a given task, but there is agreement on the general shape of the solution: keep some state around, and then extract 64 bits of randomness at a time, where each bit is equally likely…
Lossless Float Image Compression
Back in 2021 I looked at OpenEXR lossless compression options (and I think my findings led a change of the default zip compression level , as well as change of the compression library from zlib to libdeflate . Yay blogging about things!) . Then in 2023 I looked at losslessly compressing a bunch of floating point data…
Probably Approximately Correct – A Formal Theory of Learning (2014)
In tackling machine learning (and computer science in general) we face some deep philosophical questions. Questions like, “What does it mean to learn?” and, “Can a computer learn?” and, “How do you define simplicity?” and, “Why does Occam’s Razor work? (Why do simple hypotheses do well at modelling reality?)” In a…
Prospecting for Hash Functions
Update 2022 : TheIronBorn has found even better permutations using a smarter technique. That thread completely eclipses my efforts in this article.
The Fast Fourier Transform
It’s often said that the Age of Information began on August 17, 1964 with the publication of Cooley and Tukey’s paper, “An Algorithm for the Machine Calculation of Complex Fourier…
Visualizing dynamic programming
I’ve always thought dynamic programming was a pretty crummy name for the practice of storing sub-calculations to be used later. Why not call it table-filling algorithms , because indeed, thinking of a dynamic programming algorithm as one that fills in a table is a quite good way of thinking about it.
Interval Tree Clocks
Notes on Interval Tree Clocks
Graph Theory Applications in Video Games
A detailed look at Graph Theory and how it can be applied to video games.
Rotating Quine
My Quines are sometimes specialized for Japanese. But to attend RubyConf, I should write "global" Quines. v=0000;eval$s=%q~d=%!^Lcf<LK8, ...
On the Computational Complexity of MapReduce
I recently wrapped up a fun paper with my coauthors Ben Fish, Adam Lelkes, Lev Reyzin, and Gyorgy Turan in which we analyzed the computational complexity of a model of the popular MapReduce framework. Check out the preprint on the arXiv. Update: this paper is now published in the proceedings of DISC2015. As usual I’ll…
Cosmology with Geometry Nodes
Learn about the real-life scientific applications of GeoNodes in Cosmology research.