Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
Why Create a New Unix Shell?
This post explains the project's motivation from several perspectives. Unix shell is an old and successful technology, so there are many ways of looking at it.
Threaded Code (1999)
What is threaded code? What is it good for? What are the differences between the various threading techniques? How do I implement threaded code portably? How fast are various threading techniques?
The story of ispc: origins (part 1) (2018)
This one time, at Intel, I wrote a compiler...
The Aggregate Magic Algorithms (2015)
There are lots of people and places that create and collect algorithms of all types ( here are a few WWW sites). Unfortunately, in building systems hardware and software, we in The Aggregate often have found it necessary to do relatively obscure low-level things very efficiently. Many of the tricks we've devised or…
"HTML5" versus Flash: Animation Benchmarking
The Man in Blue showcases the writing and Web design of Cameron Adams.
Objects Have Not Failed
Here is some practical evidence: According to the most recent 2002 North American Developer Survey by Evans Data Corporation, over half the developers surveyed are using Java. About 1/7 of developers surveyed are using C#. Roughly half of those also use Java, so the fraction of surveyed developers using one or both is…
JavaScript: The World's Most Misunderstood Programming Language
JavaScript , aka Mocha, aka LiveScript, aka JScript, aka ECMAScript, is one of the world's most popular programming languages. Virtually every personal computer in the world has at least one JavaScript interpreter installed on it and in active use. JavaScript's popularity is due entirely to its role as the scripting…
The Day The Standard Library Died
In Prague, the C++ committee took a series of polls on whether to break ABI, and decided not to. There was no applause. But I’m not sure we fully understood what we did and the consequences it could have.
gorilla arm
The side-effect that destroyed touch-screens as a mainstream input technology despite a promising start in the early 1980s. It seems the designers of all those spiffy touch-menu systems failed to notice that humans aren't designed to hold their arms in front of their faces making small motions. After more than a very…
Contributor Poker and Zig's AI Ban
You should always change doors when playing Monty Hall
On Javascript Performance1. Techempower Rankings
A review of Javascript performance. Part 1 - Techempower Rankings.
Netflix Update: Try This at Home
Ok, so here's where I tell all about how I (now we) got to be tied for third place on the netflix prize . And I don't mean a sordid tale of computing in the jungle, but rather the actual math and methods. So yes, after reading this post, you too should be able to rank in the top ten or so.
Parsing expressions by precedence climbing
I've written previously about the problem recursive descent parsers have with expressions, especially when the language has multiple levels of operator precedence.
Writing down (and searching through) every UUID
I couldn't remember every UUID so I wrote them all down
Modus Themes
The Modus themes for Emacs meet the highest accessibility standard for colour contrast. This is their official manual.
How Protothreads Really Work
What goes on behind the magical macros in the C protothreads library? Why are they macros? How do the macros work? Read on for the explanation.
Mathematical Proof That the Lightning Network Cannot Be a Decentralized Bitcoin Scaling Solution
Have you heard of the Bitcoin Lightning Network? It is a proposal that claims that:
A performance comparison of Judy to hash tables
Numerous claims about Judy's performance are made in the Judy whitepaper . I don't think any of those claims are wrong. However, it does not appear that sufficient effort was put in benchmarking Judy against other data structures. Now, it is unlikely there is another data structure that is both as fast and as small as…
Final Words on Tail Calls
A lot of people remarked that in my post on Tail Recursion Elimination I confused tail self-recursion with other tail calls, which proper T...
JSMin isn't welcome on Google Code
Google’s Chris DiBona emailed me this morning to tell me that unless I removed a specific line from the license of my jsmin-php project (a PHP port of Douglas Crockford’s JSMin ), Google Code would no longer host the project.
GC support in Rust: API design
Recently we (Felix, Niko, and I) have been working on getting compiler-level GC support for Rust. The plan is to provide a base set of APIs and …
Fighting the @font-face FOUT
FOUT is what I’m calling the flash of unstyled text that you get while using @font-face in Firefox and Opera.
I Knew How To Validate An Email Address Until I Read The RFC
Raise your hand if you know how to validate an email address. For those of you with your hand in the air, put it down quickly before someone sees you. It’s an odd sight to see someone sitting alone at the keyboard raising his or her hand. I was speaking metaphorically.
The context sensitivity of C's grammar
Context free grammars (CFGs) are a valuable theoretical tool on which the modern compilation theory relies for parsing the code of programming languages. For example, the most popular tool used for parsing – YACC , generates parsers for CFGs. What most people don’t know 1 is that the vast majority of programming…
RLHF: Reinforcement Learning from Human Feedback
[LinkedIn discussion, Twitter thread]
John Resig - Simple JavaScript Inheritance
I’ve been doing a lot of work, lately, with JavaScript inheritance – namely for my work-in-progress JavaScript book – and in doing so have examined a number of different JavaScript classical-inheritance-simulating techniques. Out of all the ones that I’ve looked at I think my favorites were the implementations…
Five Questions about Language Design
(These are some notes I made for a panel discussion on programming language design at MIT on May 10, 2001.) 1. Programming Languages Are for People. Programming languages are how people talk to computers. The computer would be just as happy speaking any language that was unambiguous. The reason we have high level…
Not all AI-assisted programming is vibe coding (but vibe coding rocks)
Vibe coding is having a moment. The term was coined by Andrej Karpathy just a few weeks ago (on February 6th) and has since been featured in the New York …