Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 3,433 posts.
DeWitt and Stonebraker's "MapReduce: A major step backwards" (2009)
In January 2008 David DeWitt and Michael Stonebraker published an article criticising MapReduce. As far as I can find, the article is no lon...
Significant features introduced for recent versions of Perl
History of Perl releases since version 5.6, each with a summary of added or changed features.
Inside an IBM/Motorola mainframe controller chip from 1981
In this article, I look inside a chip in the IBM 3274 Control Unit. 1 But before I discuss the chip, I need to give some background on main...
Rust's Sneaky Deadlock With `if let` Blocks
Rust is my favorite programming language. I've been writing Rust for about 6 years, from college to professionally, and I'm vocal about how helpful the compi...
Security Is a Useless Controls Problem
We're all a bunch of chimps in a cage
Shape typing in Python
While I was looking the other way, Python got advanced static types! Here’s matrix multiplication, describing the input shapes and its output shape:
Where does the name "algebraic data type" come from?
A blog about functional programming
Neat Parallel Output in Python
Make parallel tasks print nicely with zero dependencies.
KDE Asking for Donations
Why do we ask for donations so often? Because it’s important! As KDE becomes more successful and an increasing number of people use our software, our costs grow as well: Web and server hostin…
Goodwatch – A Ham Radio Wristwatch (2020)
The GoodWatch is my replacement circuit board for Casio’s modern calculator watches, adding support for 70cm and 33cm amateur bands while retaining three years of battery life and most of the watch’s features. It uses the CC430F6147 chip from Texas Instruments, and the watchband forms an untuned random wire antenna…
A long guide to giving a short academic talk (2022)
Giving a talk is a lot like selling a car. Take them for a test drive, don’t read them the owner’s manual.
An interactive guide to Fourier series (2022)
Drawing with the Fourier Series
Why is Common Lisp not the most popular programming language?
This question is always asked. My thoughts are a little bit different than what I've read online.
The problem with new URL(), and how URL.parse() fixes that
As someone building a browser I need to parse a lot of URLs. Partially to validate them, but also to normalize them or get specific parts out of the URL. The URL API in browsers lets you do that, but it’s ergonomics aren’t ideal. The problem with new URL() The “new” in front of new […]
The Modern CLI Renaissance
Over the past few years, it seems like the rate at which new CLI tools are being written has picked back up again, accelerating after seeing relatively little activity between ~1995 and ~2015. I’d like to talk about this trend I’ve noticed, where people are rewriting and rethinking staples of the command line…
How I got scammed on Facebook Marketplace (2023)
I bought the camera from a profile that was created in 2017. They had some other things for sale, too. The account looked legit — lots of family photos and comments from family members.
My deployment platform is a shell script
my deployment platform is a shell script 2024-04-09 like many people, i fell in love with free software because i could install it. i'd come home from work and install a bunch of software. what fun! tee hee! a playground and i'm the prince! but eventually, relentlessly, it all starts to feel more like a horror show…
Thinking about recipe formats more than anyone should
I investigated the various standards available for storing and presenting recipes on the web
There's No Such Thing as Software Productivity (2012)
Bill Caputo , through repeated conversations we've had, has convinced me of something very surprising. It was something that changed the way I think about the world, and how I do my job.
Bitten by Unicode
One product of mine takes reports that come in as a table that’s been exported to PDF, which means text extraction. For dollar figures I find a prefixed dollar symbol and convert the number following it into a float . If there’s a hyphen in addition to the dollar symbol, it’s negative.
Companies need junior devs
Junior engineers are foundational to whether a team can collaborate and innovate
On Good Software Engineers
I set out to find a simple definition that would help managers frame the fundamental things they expect from software engineers.
Code Generation in Rust vs. C++26
One of the things I like to do is compare how different languages solve the same problem — especially when they end up having very different approaches. It’s always educational. In this case, a bunch of us have been working hard on trying to get reflection — a really transformative language feature — into C++26…
The intricacies of implementing memoization in Ruby
A long time ago, I wrote a memoization library for Ruby. It was not easy, but I learned a great deal in the process. In this article, I am share these learnings and showing you how deep the memoization rabbit hole goes.
The Future That Never Was
In 1990, the strategic PC operating system of Microsoft and IBM was not DOS, not Windows, but OS/2. The first 16-bit OS/2 was initially released in 1987 with a reduced feature set, but by the end of 1989, OS/2 1.2 completed two major features: The Presentation Manager GUI (first seen in OS/2 1.1) and installable file…