Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,826 posts.
Neural Networks, Types, and Functional Programming
Deep learning, despite its remarkable successes, is a young field. While models called artificial neural networks have been studied for decades, much of that work seems only tenuously connected to modern results.
The Folders Programming Language
Created 2015 | Updated 2026 | One of Forty-Four Esolangs , by the creator of Rivulet and Velato
A rabbit hole full of Lisp
Profiling Emacs and writing some Lisp to work with a 70000-file monorepo.
Extramaze: Using Racket, PostgreSQL, AWS, but no ads or JavaScript (2018)
Update: Due to lack of interest/use, in June 2021 this site was shut down and user data (emails, names, search alerts) deleted from all systems and backups. For Extramaze LLC I'm using Racket in a commercial project -- a search engine with email alerts fo...
An Introduction to Cache-Oblivious Data Structures
If you read my recent post about Postgres you may have noted that Postgres operates primarily with fixed-size blocks of memory called “pages.” By default, Postgres pages are 8KB. This number is tuned to match operating system page sizes which are tuned to match hardware cache sizes. If you were to run Postgres on…
Epanet-JS
Celebrating a little bit of legacy from Placemark and a new product for hydraulic simulation
Cache Oblivious Algorithms
Cache-Oblivious Algorithms Cache-oblivious algorithms seemed incredible to me when I first heard about it in 6.854 (Advanced Algorithms). It’s relatively straightforward to imagine algorithms that utilizes information about page size $B$ and cache size $M$ to create efficient data structures. However, cache-oblivious…
Understanding Git Filter-Branch and the Git Storage Model
The other day Steve wanted git alchemy done on the Rust repo. Specifically, he wanted the reference and nomicon moved out into their own repositories …
The case against a C alternative
Like several others I am writing an alternative to the C language (if you read this blog before th…
“It works on my machine” turns to “it works in my container” (2019)
You had things running with occasional glitches and there was always an excuse “It works in my machine” as there is rarely identical…
In Defense of the Modern Web
I expect I'll annoy everyone with this post: the anti-JavaScript crusaders, justly aghast at how much...
How Do You Know a Developer Is Doing a Good Job?
There are many ways to evaluate a developer. Should we use quantitative metrics or stick to qualitative ones?
The Beauty of Clojure
Owen Rees-Hayward - Data Engineer, Software Developer, Certified Spark Developer
Go modules have a v2+ problem
Go has a problem. Go modules place a strange naming requirement on modules version 2 or greater. Module names on modules v2+ must end in the major version ala …/v2 , and communication of this rule has been weak. It's non-obvious, and the community at large does not understand it.
Lowercase letters save data
Lowercase letters and uppercase letters use the same amout of data — 1 byte each.
Emojis paved the way for UTF-8 everywhere
Web developers rarely need to think to think about character sets in the modern world thanks to UTF-8. I made the journey from character hell to emoji nirvan...
Baby's First Garbage Collector
When I get stressed out and have too much to do, I have this paradoxical reaction where I escape from that by coming up with another thing to do. Usually it’s a tiny self-contained program that I can write and finish.
What I've learned from jj
How Jujutsu's flexibility and safety changed my approach to version control.
Node.js 15.0
This blog was written by Bethany Griggs, with additional contributions from the Node.js Technical Steering Committee.
GitHub Actions limitations and gotchas
I’ve been leading a team at my dayjob to migrate every engineering team to GitHub Actions (GHA)
Tests that sometimes fail
Over the years one of the most complex issues we have had to deal with at Discourse was flaky tests, in this post I would like to talk a bit about the various patterns we have come across and ways we tackle this issue.
Miguel de Icaza: Learning Unix
Miguel de Icaza's Blog