Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 810 posts.
Audio Fingerprinting with Python and Numpy (2013)
Personal Blog of Will Drevo
FreeBSD – a lesson in poor defaults
This page lists some of the changes I make to a vanilla install of FreeBSD for security hardening. Some changes to increase network performance or make things a bit more sane are also included. It only covers basic changes that a sysadmin can make to a running system.
Analysis of longevity of code across many popular projects
As a project evolves, does the new code just add on top of the old code? Or does it replace the old code slowly over time? In order to understand this, I built a little thing to analyze Git projects, with help from the formidable GitPython project.
Web Storage: the lesser evil for session tokens
I was recently asked whether it was safe to store session tokens using Web Storage (sessionStorage/localStorage) instead of cookies. Upon googling this I found the top results nearly all assert that w
Base-122 – A space efficient alternative to base-64
A space efficient UTF-8 binary-to-text encoding
Quick, How Might the Alien Spacecraft Work?
How Stephen Wolfram helped with the theory of interstellar travel, communication with aliens and questions from the actors in “Arrival”, the movie.
Google’s QUIC protocol: moving the web from TCP to UDP
QUIC replaces TCP with UDP for faster connections, eliminating head-of-line blocking and reducing latency. Learn how it works and why it matters.
Design and Implementation of a Win32 Text Editor (2005)
Welcome to the brand new tutorial series - “Design and Implementation of a Win32 Text Editor!” The purpose of these tutorials is to follow the development of a …
Common shell script mistakes (2008)
Portability and Robustness issues commonly found in shell scripts
Logical Induction
MIRI is releasing a paper introducing a new model of deductively limited reasoning: “Logical induction,” authored by Scott Garrabrant, Tsvi Benson-Tilsen,
Postgres Count Performance
Everybody counts, but not always quickly. This post looks into how the PostgreSQL database optimizes counting. In Postgres, there are ways to count orders of magnitude faster. We’ll look at exact counts (distinct counts) as well as estimated counts, using approximation algorithms such as HyperLogLog (HLL) in Postgres.
Combinatorial Music Theory (1991)
graph theory, music theory
Sad Trombone Exoplanet Reality Check
Some people on the internet are getting very excited at the (unconfirmed) reports of an "Earth-like" exoplanet orbiting Proxima Centauri , a mere 4.25 light-years away from Earth. If correct, the planet is orbiting in the liquid water zone around our nearest stellar neighbour and is of the same order of mass as the…
Paul Graham Is Still Asking to Be Eaten
An Obviously Critical Response to “Economic Inequality” by Paul Graham
The surprising cleverness of modern compilers
I wanted to know how a modern C compiler like clang would process the following C code: #include <stdint.h> int count(uint64_t x) { int v = 0; while(x != 0) { x &= x - 1; v++; } return v; } Can you guess? popcntq %rdi, %rax That is right. A fairly sophisticated C function, … Continue reading The surprising cleverness…
CloudFlare, SSL and unhealthy security absolutism
Let's start with a quick quiz: Take a look at haveibeenpwned.com [https://haveibeenpwned.com/] (HIBP) and tell me where the traffic is encrypted between: You see HTTPS which is good so you know it's doing crypto things in your browser, but where's the other end of
How Seattle Killed Micro-Housing
Micro-housing—dorm-room-sized apartments in desirable, walkable neighborhoods—isn’t for everyone, but it most definitely is for Anna Rogers. Anna is a recent college graduate who grew up in the suburbs of Seattle and now works a retail job while looking to start a career that harnesses her passion for politics. Thanks…
A better inliner for OCaml, and why it matters
OCaml 4.03 is branched and a first release candidate is imminent, so it seems like a good time to take stock of what’s coming.
Exponential time complexity in the Swift type checker
One of the most annoying problems in Swift is when the compiler gives an 'Expression was too complex to be solved in a reasonable time' error. I look at why this error occurs, how to avoid it and talk about how this should be solved in a future compiler update.
Giving Up on TDD
You mean the one where he says that he tried it for a few months and then gave up? Yes, I read it.
Singular Value Decomposition Part 2: Theorem, Proof, Algorithm
I’m just going to jump right into the definitions and rigor, so if you haven’t read the previous post motivating the singular value decomposition, go back and do that first. This post will be theorem, proof, algorithm, data. The data set we test on is a thousand-story CNN news data set. All of the data, code, and…
Magic Leap – Separating Magic and Reality
The Goal – Explain What is Magic Leap Doing Magic Leap has a way of talking about what they hope to do someday and not necessarily what they can do anytime soon. Their patent applications ar…
C++ Has Become More Pythonic (2014)
C++ has changed a lot in recent years. The last two revisions, C++11 and C++14, introduce so many new features that, in the words of Bjarne Stroustrup, “It feels like a new …