Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 251 posts.
Stack Overflow: How We Do Deployment
This is #3 in a very long series of posts on Stack Overflow’s architecture.Previous post (#2): Stack Overflow: The Hardware - 2016 EditionWe’ve talked abou...
500 Byte Images: The Haiku Vector Icon Format
Haiku uses a custom vector image format to store icons. This is surprising both because most OSes consider bitmaps to be totally sufficient to represent icons and because there are plenty of vector graphics formats out this (e.g. SVG). The goal of the Haiku Vector Icon Format (HVIF) is to make vector icon files as…
Unix as IDE
This series has been independently translated into Chinese , Russian , Turkish , and Korean , and formatted as an ebook .
LL and LR in Context: Why Parsing Tools Are Hard (2013)
In my last blog entry LLand LR Parsing Demystified, we explored LL and LR parsers from ablack-box perspective. We arrived at a model for these parsers whereb...
Zero-Knowledge Contingent Payment
The first successful Zero-Knowledge Contingent Payment
A Rebuttal for Python 3
Zed Shaw, of Learn Python the Hard Way fame, has now written The Case Against Python 3. I’m not involved with core Python development. The only skin I have in this game is that I like Python 3. It’s a good language. And one of the big factors I’ve seen slowing its adoption is that respected people in the Python commu
LL and LR Parsing Demystified (2013)
My first adventures in parsing theory came when I was doing anindependent study of programming languages in college. When I got tothe part about algorithms s...
How undefined signed overflow enables optimizations in GCC
Signed integers are not allowed to overflow in C and C++, and this helps compilers generate better code. I was interested in how GCC is tak...
Next.js – A small framework for server-rendered universal JavaScript apps
We're very proud to open-source Next.js, a small framework for server-rendered universal JavaScript webapps.
A Quantum Leap for the Web
Over the past year, our top priority for Firefox was the Electrolysis project to deliver a multi-process browsing experience to users…
How to Safely Store Your Users' Passwords in 2016
Salted Password Hashing with Argon2, Scrypt, Bcrypt, and PBKDF2
Introducing .NET Standard
Questions? Check out the .NET Standard FAQ. You can find the latest version of the compatibility matrix here. In my last post, I talked about how we want to make porting to .NET Core easier. In this post, I’ll focus on how we’re making this plan a reality with .NET Standard. We’ll cover which APIs we […]
The 9 lines of code that Google allegedly stole from Oracle
After reading about the Oracle v. Google trial I looked up the famous 9 lines of code that Google allegedly stole from Oracle, which implement the rangeCheck method for arrays. Note that arrays and…
A practical introduction to functional programming (2013)
Many functional programming articles teach abstract functional techniques. That is, composition, pipelining, higher order functions. This one is different. I...
Easy Scalable Text Rendering on the GPU
This post describes the text rendering algorithm I used on thetamath.com, a GPU-powered 2D equation renderer I wrote for fun last December…
Robin Hood Hashing should be the default hash table implementation (2013)
There’s a neat variation on open-addressing based hash tables called Robin Hood hashing . This technique isn’t very well-known, but it makes a huge practical difference because it both improves performance and space utilization compared to other “standard” hash tables (e.g. chaining ). It also eliminates the major…
I am a puts debuggerer
Update (2023-06-28): Added “I required a file, but I want to know what files were actually loaded” I love puts debugging I am a puts debuggerer. I don’t say this to disparage people that use a Real Debugger. I think Real Debuggers are great, I’ve just never taken the time to learn one well. Every time I try to lean…
Shrink Go binaries 7x with this one weird trick
Ok, I lied, there’s no weird trick. However, you can easily reduce a Go binary size by more than 6 times with some flags and common tools.
A bug story: data alignment on x86
This sounds unusual. Who ever wants to do this in real life? Normally, we only see code like this as primary school assignments or compiler benchmarks. However, this time it happened in real life.
Falsehoods programmers believe about time and time zones
Every day has 24 hours
Ray Tracing in One Weekend
The books are now available in unprotected pdf for PAY WHAT YOU WISH, with 50% going to not for profit programming education organizations. ...