Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 526 posts.
Python Application Deployment with Native Packages
Speed, reproducibility, easy rollbacks, and predictability is what we strive for when deploying our diverse Python applications. And that’s what we achieved by leveraging virtual environments and Linux system packages.
Don't use bcrypt
(Edit: Some numbers for you people who like numbers) If you're already using bcrypt, relax, you're fine, probably. However, if you're ...
Sexual Harassment at DefCon (and Other Hacker Cons)
Excellent blog post by Valerie Aurora about sexual harassment at the DefCon hackers conference. Aside from the fact that this is utterly reprehensible behavior by the perpetrators involved, this is a real problem for our community. The response of “this is just what hacker culture is, and changing it will destroy…
Malthusianisms
(See also: Umeshisms, Anthropicisms) Why, in real life, do we ever encounter hard instances of NP-complete problems? Because if it’s too easy to find a 10,000-mile TSP tour, we ask for a 9,0…
Memory Reordering Caught in the Act
When writing lock-free code in C or C++, one must often take special care to enforce correct memory ordering. Otherwise, surprising things can happen. Intel lists several such …
Avoiding game crashes related to linked lists
Linked lists look harmless until they start detonating your game at runtime. This is the bug pattern far too many programmers miss.
Dangling by a Trivial Feature
It's not about technology for its own sake. It's about being able to implement your ideas.
Why Crunch Mode Doesn't Work
The International Game Developers Association (IGDA) is the world’s largest nonprofit membership organization serving all individuals who create games. We advance the careers and enhance the lives of game developers by connecting members with their peers, promoting professional development, and advocating for the…
Vim Koans
These koans have been independently translated into Chinese (archived) , thanks to Wanzhang Sheng, and into Spanish (archived) , thanks to Daniel Campoverde Carrión.
Haskell as fast as C: working at a high altitude for low level performance
After the last post about high performance, high level programming, Slava Pestov, of Factor fame, wondered whether it was generally true that “if you want good performance you have to write C…
How ZFS continues to be better than Btrfs.
ZFS keeps winning over btrfs on many fronts. Here's a short list that explains exactly how.
Lean into the pain
When you first begin to exercise, it’s somewhat painful. Not wildly painful, like touching a hot stove, but enough that if your only goal was to avoid pain, you certainly would stop doing it. But if you keep exercising… well, it just keeps getting more painful. When you’re done, if you’ve really pushed yourself, you…
CWI cryptanalist discovers new cryptographic attack in Flame spy malware
Cryptanalyst Marc Stevens from the Centrum Wiskunde & Informatica (CWI) in Amsterdam, known for breaking the https security in 2008 using a cryptanalytic attack on MD5, analyzed the recent Flame virus this week.
Writing A Lisp Interpreter In Haskell
An article describing the experience of writing a Lisp interpreter in Haskell.
How Copyright Industries Con Congress
I’ve yet to encounter a technically clueful person who believes the Stop Online Piracy Act will actually do anything to meaningfully reduce—let alone “stop”—online piracy, and so I haven’t bothered writing much about the absurd numbers the bill’s supporters routinely bandy about in hopes of persuading lawmakers that…
Sortfolio: Going once, going twice...
A year ago we put Sortfolio up for sale. We entertained a variety of offers, met with a few potential suitors in person, and negotiated numbers. Ultimately nothing came together. Then we shelved the process so we could focus all of our efforts on designing and building the new Basecamp. Sort…
ZeroMQ - Disconnects are Good for You
The hidden disconnects of ZeroMQ can be dangerous if you don’t write your application to work around them.
Why You Should Be Excited About Garbage Collection in Ruby 2.0
You may have heard last week how Innokenty Mihailov’s great Enumerable::Lazy feature was accepted into the Ruby 2.0 code base. But you may not have heard about an even more significant change that was merged into Ruby 2.0 in January: a new algorithm for garbage collection called “Bitmap Marking.” The developer behind…
Stanford researcher: Google Circumvents iOS Privacy protection in AdSense ads
Earlier today, the Wall Street Journal published evidence that Google has been circumventing the privacy settings of Safari and iPhone users, tracking them on non-Google sites despite Apple's default settings, which were intended to prevent such tracking. This tracking, discovered by Stanford...
Adding a new statement to Python
This article is an attempt to better understand how the front-end of Python works. Just reading documentation and source code may be a bit boring, so I'm taking a hands-on approach here: I'm going to add an until statement to Python.
Why Google Went Offline Today and a Bit about How the Internet Works
Today, Google's services experienced a limited outage for about 27 minutes over some portions of the Internet. The reason this happened dives into the deep, dark corners of networking.
Give it five minutes
A few years ago I used to be a hothead. Whenever anyone said anything, I’d think of a way to disagree. I’d push back hard if something didn’t fit my world-view. It’s like I had to be first with an opinion – as if being first meant something. But what it really meant…