Topics /

Math & Algorithms

The most popular blog posts about math & algorithms on Hacker News. 189 posts.

2023
152

Four Kinds of Optimisation

Premature optimisation might be the root of all evil, but overdue optimisation is the root of all frustration. No matter how fast hardware becomes, we find it easy to write programs which run too slow. Often this is not immediately apparent. Users can go for years without considering a program’s performance to be an…

153

Algebraic graph calculus (2021)

We describe a graph-theoretic analogue of vector calculus. The linear operators of vector calculus (gradient, divergence, laplacian) correspond to the matrices naturally associated to graphs (incidence matrix, adjacency matrix). This analogy is useful for formalizing the discretization of some problems in image and…

154

Painting with math: A gentle study of raymarching

A compilation of my Raymarching and Signed Distance Field learnings and work. In it, I teach you how to leverage those techniques along with lighting models, smoothmin, soft shadows, and some math to create beautiful 3D raymarched scenes ranging from abstract shapes to infinite realistic-looking landscapes.

158

Embeddings, vectors, and arithmetic

An embedding is the representation of a piece of text like a word, sentence, or paragraph. Traditionally this value is in the form of a mathematical vector - a point in space. You can think of it as analogous to coordinates on a map that just happens to have many, many dimensions.

159

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…

160

NP-complete isn't always hard

A common assumption I see on the ‘net is that NP-complete problems are impossible to solve. I recently read that dependency management in Python is hard because package resolution is NP-complete. This is true in principle, but the reality is more complicated. When we say “NP-complete is hard” we’re talking about…

161

Solving “Two Sum” in C with a tiny hash table

I came across a question: How does one efficiently solve Two Sum in C? There’s a naive quadratic time solution, but also an amortized linear time solution using a hash table. Without a built-in or standard library hash table, the latter sounds onerous. However, a mask-step-index table , a hash table construction…

163

A Bayesian view of Amazon resellers (2011)

I was buying a used book through Amazon this evening. Three resellers offered the book at essentially the same price. Here were their ratings: 94% positive out of 85,193 reviews 98% positive out of 20,785 reviews 99% positive out of 840 reviews Which reseller is likely to give the best service? Before you assume it's

170

Tag Systems

I've tried to write a blog post on tag systems for years now. Literally years, I think I first started drafting it out in 2018 or so? The problem is that...

171

How Correlated Are You?

This post is an offshoot from Chapter 1 of Probably Overthinking It, which is available for pre-order now! Suppose you measure the arm and leg lengths of 4082 people. You would expect those measurements to be correlated, and you would be right. In the ANSUR-II dataset, among male members of the armed forces, this…

173

How to keep lambda calculus simple

Once upon a time, my curiosity of dependent types transitioned into an endeavour to learn how they work under the bonnet. Then I found the paper called “A Tutorial Implementation of a Dependently Typed Lambda Calculus” or just “Simply Easy” – and began reading it. However, the affairs happening there were so complex…