Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 1,981 posts.
If You Can Read This, You're SNIing
When TLS was defined, it didn’t allow more than one hostname to be available on a single IP address / port pair, leading to “virtual hosting” issues; each Web site (for example) now requires a dedicated IP address.
AM – Attribute Modules for CSS
A few months ago, I read an article by Harry Roberts where he introduced an interesting concept for working with related classes in CSS. In his article, he describes the use of the [] characters in class attributes to help understand their purpose at a quick glance. He presents this example, arguing that it makes the…
A Path to Full-time Open Source
Two years ago today I released Sidekiq Pro, my commercial extension to Sidekiq, as an experiment to see if I could make OSS development financially viable for individual developers. I had no idea if anyone would trust me and buy it. Can you think of anyone else selling a Rubygem?
Waitin' (on Leiningen)
UPDATE: This post now contains obsolete information. Please read the new ClojureScript Quick Start instead
YouTube's joke of a fair-use appeal process
Remember last month, when I was working on a screen saver and I reviewed all nine Hellraiser movies and made a supercut of every on-screen appearance of the Lament Configuration? As soon as I posted it, it was immediately blocked with seven content-ID matches. So I filed a DMCA fair-use counter-claim, because this…
The myth of the fall
I was a historian before I was an activist, and I’ve been reminded recently that a lot of younger hackers have a simplified and somewhat mythologized view of how our culture evolved, one which tends to back-project today’s conditions onto the past.
Allocators in Rust
There has been a lot of discussion lately about Rust’s allocator story, and in particular our relationship to jemalloc. I’ve been trying to catch up, and I wanted to try and summarize my understanding and explain for others what is going on. I am trying to be as factually precise in this post as possible. If you see a…
Things from Python I'd miss in Go
Let's assume Go has one killer feature – cheap concurrency – not present in any other language with similar serial performance (ruling out say Erlang). And let's agree that it gives Go its perfect niche – and we're only discussing uses of Go outside that niche from now on. So we won't come back to concurrency till the…
Ten Years of World of Warcraft
WoW has always been a contradiction of sorts: not the pioneer, but the one that solidified the pattern. Not the experimenter, but the one that reaped the rewards. Not the innovator, but the one that was well-designed, built solidly, and made appealing. It was the MMO that took what has always been there, and delivered…
Coanda Effect: Understanding Why Wings Work
"In aerodynamics, theory is what makes the invisible plain. Trying to fly an airplane without theory is like getting into a fistfight with a poltergeist." --David Thornburg [1992].
Losing 58.3 Lbs for Science
This morning was my final data collection for a randomized diet experiment I have been participating in for the last year. Here is a graph of my near-daily weigh-ins on Withings: ...
Mistakes Programmers Make when Starting in Machine Learning
There is no right way to get into machine learning. We all learn slightly different ways and have different objectives of what we want to do with or for machine learning. A common goal is to get productive with machine learning quickly. If that is your goal then this post highlights five common mistakes programmers […]
Counting bytes fast
An apparently trivial and uninteresting task nonetheless received some special optimization care within FSE : counting the bytes (or 2-...
A Quick Intro to Rust Macros
Note : This article is for an obsolete version of Rust, and has been superceded by the slightly less misleadingly named "A Practical Intro to Macros in Rust 1.0" .
An age-old question
Back to: Let's put the future behind us | Forward to: On the lack of cultural estrangement in SF
The Art of Unix Usability (2004)
This book and its on-line version are distributed under the terms of the Creative Commons Attribution-NoDerivs 1.0 license, with the additional proviso that the right to publish it on paper for sale or other for-profit use is reserved to Pearson Education, Inc. A reference copy of this license may be found at…
Using Freenet
I've been following the Freenet project for many years, occasionally firing it up and seeing if I can do anything useful with it. I've been using it regularly over the last month and it has come a long way since I first tried it. It's much faster than what it was in the past. This post describes a bit of...
A shallow survey of formal methods for C code
Two interesting things in formally verified software happened recently. The big one was the release of SeL4 - a formally verified L4 microkernel. The second was much smaller, but closer to my usual scope: a paper which showed the correctness of sections of a couple of the assembly implementations of Curve25519.
Where have you gone, Peter Norton?
Recently on Facebook, my friend, nerd extraordinaire Esther Schindler, shared a photograph of herself wearing an old T-shirt and challenged her followers to identify it: Either you have no idea what that image means, or you know exactly what it is. It's the torso, rolled-up sleeves and fol
Why Lisp is a Big Hack and Haskell is Doomed to Succeed (2011)
2013 Update: I was young and stupid when I wrote this. I fear that Haskell is doomed to succeed. — Tony Hoare I ♥ Lisp. I think it's t...
Cheap FPGA Development Boards: What to look for
I bought Avnet's $49 Spartan 3A development board but it was discontinued not long afterward - right about the time when I decided I needed a few dozen more. I've since done some extensive research (thanks, Google!) to find a comparable thrifty thrill.
Please Stop Asking Me to Speak About Women in Technology
I was recently recommended as a pinch-hitter keynote speaker for a Linux conference by a friend who wasn’t going to be able to present due to a scheduling conflict. She put me in touch with the conference organizers, and they reached out to me with the exciting email subject “We want YOU to keynote [conference…