Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,540 posts.
Why I don't use web components
For my first post on dev.to I thought I'd write about a nice, safe topic that's free of controversy:...
Parser Combinators
Better than regex!
Fridge 0.1
Imagine something really cool, like a fridge connected to a powerwall, powered entirely by solar panels. What could be cooler than that?
My teen years: The transputer operating system
History of the evolution of my C compiler and operating system for transputer when I was age 16.
Linux Kernel Module written in Scratch (a visual programming language for kids)
Seriously. Someone did this. Because... why not?
What async promised and what it delivered
The async/await saga is a story where each chapter solves the previous chapter's worst problem while introducing new structural costs. The sequential syntax that made async code readable also obscures the thing that matters: which operations actually depend on each other.
The Unreasonable Effectiveness of Makefiles
Few tools walk the right line between declarative and imperative like make.
Brendan Eich: The infernal semicolon
Most of the comments in this semicolons in JS exchange make me sad. The code in question:
Zig Quirks
Little things you'll notice and need to learn when learning Zig
There’s more than one way to write an IP address (2019)
There's more than one way to write an IP address: decimal, hex, octal, overflowed octets and omitted zeroes all resolve to the same host. A fun trick to mess …
Ada's dependent types, and its types as a whole
So I like to joke occasionally on the Fediverse that when looking at Wikipedia's list of programming languages supporting dependent types :
From VS Code to Helix
I want less Big Tech in my life. After years of dismissing Helix as too fringe and complicated, I've tried (and loved) it.
It Is Never a Compiler Bug Until It Is
Last week I was trying to add some testing code to libsecp256k1 and I was pulling out my hair trying to get it to work. No amount of printf was working to illuminate what I was doing wrong. Finally, out of desperation, I thought I would do a quick check to see if there are any compiler bugs related to memcmp , and lo…
Your tech stack is not the product
Early stage technology decisions must be, uncomfortably, a means to an end.
Apps for which macOS applies compatibillity fixes
What do Photoshop, Matlab, Panic Transmit, and Eclipse have in common? They are among the 299 apps for which macOS applies compatibillity fixes.
Proper use of Git tags
Dan Aloni
Base64 Encoding, Explained
Base64 is an elegant way to convert binary data to text, making it easy to store and transport. This article covers the basics of Base64 encoding, including what it is, how it works and why it's important. It also shows how to encode and decode Base64 data in various programming languages.
Technical Debt Is Like a Tetris Game
Expressive code in C++
SQLite as a Document Database (2020)
However recently it added a killer feature: generated columns . (This was added in 3.31.0, released 2020-01-22.)
Traps to Developers
HTML and CSS
The many JavaScript runtimes of the last decade
This last decade has seen an inundation of new JavaScript runtimes (and engines in equal measure), enabling us to run JavaScript in all manner of contexts...
Why Aren't We Sieve-Ing?
Long-time readers of this blog will know that I have mixed feelings about caches. One on hand, caching is critical to the performance of systems at every layer, from CPUs to storage to whole distributed architectures. On the other hand, caching being this critical means that designers need to carefully consider what…
Reflections on Rusting Trust
The Rust compiler is written in Rust. This is overall a pretty common practice in compiler development. This usually means that the process of …