Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 426 posts.
How to Learn JavaScript Properly
Learn JavaScript Properly (For Beginners and Experienced Programmers) This study guide, which I also refer to as a course outline and a road map, gives you a structured and instructive...
The Anti-Reactionary FAQ
[Edit 3/2014: I no longer endorse all the statements in this document. I think many of the conclusions are still correct, but especially section 1 is weaker than it should be, and many reactionarie…
Watts Backlist
A part of new Peter Watts' novel.
Getting Rich: from Zero to Hero in One Blog Post
Hi there. If we haven’t met, my name is Mr. Money Mustache. I’m the freaky financial magician who retired along with a lovely wife at age 30 in order to start a family, as well as start…
Fingerprints are Usernames, not Passwords
As one of the maintainers of eCryptfs , and a long time Thinkpad owner, I have been asked many times to add support to eCryptfs for Th...
Lifetimes of cryptographic hash functions
Quick summary of my recommendations on compare-by-hash: If you are using compare-by-hash to generate addresses for data that can be supplied by malicious users, you should have a plan to migrate to a new hash every few years. For example, BitTorrent falls into this category, but rsync doesn't. Keep in mind that new…
How I Cured my RSI Pain (2010)
For two years I suffered from severe hand, wrist, and forearm pain while typing. After spending a lot of money on world-class medical professionals and ergonomic products but seeing poor results, I was ultimately able to cure all my pain by reading The Mindbody Prescription (TMP). Now I can type for as long as I want…
The Original Hacker's Dictionary (1988)
[This file, jargon.txt, was maintained on MIT-AI for many years, before being published by Guy Steele and others as the Hacker's Dictionary. Many years after the original book went out of print, Eric Raymond picked it up, updated it and republished it as the New Hacker's Dictionary. Unfortunately, in the process, he…
Jepsen: Postgres
Previously on Jepsen , we introduced the problem of network partitions . Here, we demonstrate that a few transactions which “fail” during the start of a partition may have actually succeeded.
Don't use Hadoop when your data isn't that big
"So, how much experience do you have with Big Data and Hadoop?" they asked me. I told them that I use Hadoop all the time, but rarely for jobs larger than a few TB. I'm basically a big data neophite - I know the concepts, I've written code, but never at scale.
How to Raise Money
September 2013 Most startups that raise money do it more than once. A typical trajectory might be (1) to get started with a few tens of thousands from something like Y Combinator or individual angels, then (2) raise a few hundred thousand to a few million to build the company, and then (3) once the company is clearly…
How I Turned Down $300,000 from Microsoft to go Full-Time on GitHub (2008)
2008 is a leap year. That means that three hundred and sixty six days ago, almost to the minute, I was sitting alone in a booth at Zeke’s Sports Bar and Grill on 3rd Street in San Francisco. I wouldn’t normally hang out at a sports bar, let alone a sports bar in SOMA, but back then Thursday was “I Can Has Ruby” night…
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.
LSD microdosing: a randomized, blind self-experiment
Self-experiment with sub-psychedelic doses of LSD; no benefit
The Ethics of Unpaid Labor and the OSS Community
Disclaimer: This post is critical of open source software in the context of unpaid labor and the hiring requirements we've set up around it. It is not a criticism of open source software itself or the people who participate in it, both of which I and anyone who uses software benefits from. This is work that I - and…
HTTP Archive: jQuery
A recent thread on Github for html5-boilerplate discusses whether there’s a benefit from loading jQuery from Google Hosted Libraries , as opposed to serving it from your local server. They referenced the great article Caching and the Google AJAX Libraries by Steve Webster.
A Practical Guide to Sous Vide Cooking
My book, Sous Vide for the Home Cook , came out in 2010. You can order the second edition directly from the US publisher. My book has over 200 delicious recipes for beef, pork, lamb, game, chicken, turkey, duck, fish, shellfish, vegetables, fruits, legumes, ice cream bases, sauces, and yogurt. I first cover the basics…
Reversing Sinclair's amazing 1974 calculator hack - half the ROM of the HP-35
Register-level simulator of the Sinclair Scientific calculator
The Strange Story of Dual_EC_DRBG – suspected NSA backdoor (2007)
Random numbers are critical for cryptography: for encryption keys, random authentication challenges, initialization vectors, nonces, key-agreement schemes, generating prime numbers and so on. Break the random-number generator, and most of the time you break the entire security system. Which is why you should worry…
Message threading (1997-2002)
In this document, I describe what is, in my humble but correct opinion, the best known algorithm for threading messages (that is, grouping messages together in parent/child relationships based on which messages are replies to which others.) This is the threading algorithm that was used in Netscape Mail and News 2.0…
Feynman vs. The Abacus
A Japanese man came into the restaurant. I had seen him before, wandering around; he was trying to sell abacuses. He started to talk to the waiters, and challenged them: He said he could add numbers faster than any of them could do.
Emacs Rocks! Episode 13: multiple-cursors
Find and mark the next part of the buffer matching the currently active region, while also keeping the current region. Get it here .
Designing a Pragmatic RESTful API
An API is a user interface for a developer. Learn the best practices to make an API that is easy to adopt and pleasant to use.