Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 378 posts.
Whatever Happened to the Semantic Web?
In 2001, Tim Berners-Lee, inventor of the World Wide Web, published an article in Scientific American.
“Modern” C++ Lamentations
“ Standard Ranges ” blog post by Eric Niebler – about C++20 ranges feature – was doing rounds in the game development twitterverse lately, with many expressing something like a “dislike” (mildly said) about the state of modern C++.
Introduction to A* (1997)
Movement for a single object seems easy. Pathfinding is complex. Why bother with pathfinding? Consider the following situation:
Using Java 9 Modularization to Ship Zero-Dependency Apps
When Java was first introduced, mainstream programming languages mostly either compiled to standalone executables (e.g. C/C++, COBOL), or else ran in an interpreter (e.g. Perl, Tcl). For many programmers, Java’s need for both a bytecode compiler and a runtime interpreter was a shift in thought. The compilation model…
The Wavefunction Collapse Algorithm Explained
The Wavefunction Collapse Algorithm teaches your computer how to riff. The algorithm takes in an archetypical input, and produces procedurally-generated outputs that look like it.
Systems built on trust, norms, and institutions function better than blockchain
Blockchain is not only crappy technology but a bad vision for the future. Its failure to achieve adoption to date is because systems built…
LLVM for Grad Students (2015)
LLVM is a godsend of a research tool. Here are some detailed notes on what LLVM is, why you would want to use it for research, and how to get started as a compiler hacker.
Bpftrace for Linux 2018
bpftrace (DTrace 2.0) for Linux 2018: the bpftrace front-end
“It’s Easier To Ask Forgiveness Than To Get Permission”
Grace Hopper? Cardinal Barberini? Earl of Peterborough? David Hernandez? Helen Pajama? St. Benedict? Anonymous?
What does Stack Overflow want to be when it grows up?
I sometimes get asked by regular people in the actual real world what it is that I do for a living, and here’s my 15 second answer: We built a sort of Wikipedia website for computer programmers to post questions and answers. It’s called Stack Overflow. As of
A study of musical scales (2017)
PREFACE. This essay was written in 2009. Since then, a few errata have been corrected and I embedded the youtube videos, but there have been no substantial additions. I think it still holds up fairly well, but if I were to rewrite it today, I would change some things. My main regret is using the criteria of maximum…
Dissolving the Fermi Paradox
I’m late to posting this, but it’s important enough to be worth sharing anyway: Sandberg, Drexler, and Ord on Dissolving the Fermi Paradox. The Fermi Paradox asks: given the immense num…
Norris Numbers – Walls you hit in program size (2014)
My friend Clift Norris has identified a fundamental constant that I call Norris’ number, the average amount of code an untrained programmer can write before he or she hits a wall. Clift estimates this as 1,500 lines. Beyond that the code becomes so tangled that the author cannot debug or modify it without herculean…
Extended Validation Certificates Are Dead
That's it - I'm calling it - extended validation certificates are dead. Sure, you can still buy them (and there are companies out there that would just love to sell them to you!), but their usefulness has now descended from "barely there" to "as good as non-existent". This change
Learning Programming with Nim
Nim is a relatively new programming language which allows users to write easy-to-read high-performance code. But if you are reading this Nim tutorial, the chances are that you already know about Nim.
How Generative Music Works
For his 1965 composition “It's Gonna Rain”, Steve Reich designed a generative mechanical system.
Can functional programming be liberated from the von Neumann paradigm? (2010)
Inspirations & experiments, mainly about denotative/functional programming in Haskell
Open source confronts its midlife crisis
Midlife is tough: the idealism of youth has faded, as has inevitably some of its fitness and vigor. At the same time, the responsibilities of adulthood have grown: the kids that were such a fresh adventure when they were infants and toddlers are now grappling with their own transition into adulthood – and you try to…
Audio Adversarial Examples
Figure from our paper: given any waveform, we can modify it slightly to produce another (similar) waveform that transcribes as any different target phrase.
The Shirky Principle (2010)
[Translations: Japanese] “Institutions will try to preserve the problem to which they are the solution.” — Clay Shirky I think this observation is brilliant. It reminds me of the clarity of the Peter Principle, which says that a person in … Continue reading →
Mtime comparison considered harmful
tl;dr: Rebuilding a target because its mtime is older than the mtimes of its dependencies, like `make` does, is very error prone. redo does...
Implementing and Understanding Type Classes (2014)
Describing three strategies of implementing type classes, aiming to clarify their behavior