Best of 2019

The blog posts Hacker News loved most in 2019. 184 posts.

Math & Algorithms
125

A Grimoire of Functions

I'm the kind of person who reads encyclopedias front to back just for fun, and I've been fascinated by mathematical special functions at least since my first encounter with the gamma function as a teenager. My work implementing numerical and symbolic algorithms in mpmath , Arb and other software projects during the…

126

A Molecular Near Miss

I’m thrilled to report that I’m a co-author of the article “ An ultra-stable gold-coordinated protein cage displaying reversible assembly “, which was recently published in Nature . This work is the result of an exciting collaboration between biochemists, physicists, structural biologists, mathematicians, and others…

130

Principal Component Analysis

In the previous article in this series we distinguished between two kinds of unsupervised learning (cluster analysis and dimensionality reduction) and discussed the former in some detail. In this installment we turn our attention to the later. In dimensionality reduction we seek a function $f : \mathbb{R}^n \mapsto…

131

Fast Perfect Hashing

A perfect hash function is one that is collision-free. By implication, the hash must be at least as many bytes as the key and the function is theoretically reversible, though not always tractably so. In other words, perfect hashing is a special case of encryption. Because the hash is no smaller than the key, the…

133

Shenanigans With Hash Tables

One reason to know how your data structures work is so that when your problem has unusual constraints you can tweak how they work to fit the problem better or work faster. In this article I’ll talk about four different fun tweaks to the concept of a hash table that I made in the process of using hash tables to…

139

A Fairly Fast Fibonacci Function

A common example of recursion is the function to calculate the $n$-th Fibonacci number: def naive_fib(n): if n < 2: return n else: return naive_fib(n-1) + naive_fib(n-2) This follows the mathematical definition very closely but it’s performance is terrible: roughly $\mathcal{O}(2^n)$. This is commonly patched up with…

143

Commit Graph Drawing Algorithms

This article is one chapter of my master thesis entitled “Design and implementation of a graphical user interface for git”. It describes the algorithm I designed to draw the commit graph in my own prototype git client called gitamine. I have adapted the content so that it fits better with this blog. Drawing graphs is…

148

Homology

Xoilac TV trực tiếp bóng đá HD hàng đầu Việt Nam, đường truyền ổn định, đa dạng link trực tuyến, đa dạng giải đấu, BLV chuyên môn cao và hoàn toàn miễn phí.

149

Adventure Games and Eigenvalues (2017)

Do adventure games have dead ends? The author of The Teeny Tiny Mansion proves the absence of dead ends in that game via formal verification (in particular, with the help of the cbmc model-checking program ). Here I’ll demonstrate how to prove the same thing via Markov theory. The Markov approach requires more…