Top posts

Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,549 posts.

Software Engineering
Any year
14463

mikeash.com: NSBlog

accessors (2) advertisement (11) advice (4) apple (7) apress arc (6) arduino assembly (11) assert (2) atomic (3) audio (4) autorelease (3) blocks (14) bolo (3) book (4) books (2) braaaiiiinnnssss (2) bridging bug (3) c (19) c++ (4) c99 casestudy chemicalburn (4) clang (5) classic (2) cocoa (42) code (4) codeinjection…

14468

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…

14469

How To Become A Hacker

As editor of the Jargon File and author of a few other well-known documents of similar nature, I often get email requests from enthusiastic network newbies asking (in effect) "how can I learn to be a wizardly hacker?". Back in 1996 I noticed that there didn't seem to be any other FAQs or web documents that addressed…

14471

Revisiting a 'smaller Rust'

A bit over a year ago, I wrote some notes on a “smaller Rust” - a higher level language that would take inspiration from some of Rust’s type system innovations, but would be simpler by virtue of targeting a domain with less stringent requirements for user control and performance. During my time of unemployment this…

14472

Ideology

Some people claim that unit tests make type systems unnecessary: "types are just simple unit tests written for you, and simple unit tests aren't the important ones". Other people claim that type systems make unit tests unnecessary: "dynamic languages only need unit tests because they don't have type systems." What's…

14479

A Plan for Spam

August 2002 (This article describes the spam-filtering techniques used in the spamproof web-based mail reader we built to exercise Arc . An improved algorithm is described in Better Bayesian Filtering .) I think it's possible to stop spam, and that content-based filters are the way to do it. The Achilles heel of the…

14480

What science can tell us about C and C++'s security

There are not a lot of very strong empirical results in the field of programming languages . This is probably because there’s a huge amount of variables to control for, and most of the subjects available to researchers are CS undergraduates. However, I have recently found a result replicated across numerous codebases…

14481

Performance is a Feature

We’ve always put a heavy emphasis on performance at Stack Overflow and Stack Exchange. Not just because we’re performance wonks (guilty!), but because we think speed is a competitive advantage. There’s plenty of experimental data proving that the slower your website loads and displays, the less people

14486

The protocol-relative URL

Update 2014.12.17: Now that SSL is encouraged for everyone and doesn’t have performance concerns , this technique is now an anti-pattern . If the asset you need is available on SSL, then always use the https:// asset.

14488

The Ten Commandments of Egoless Programming

The Ten Commandments of Egoless Programming, as originally established in Jerry Weinberg’s book The Psychology of Computer Programming: 1. Understand and accept that you will make mistakes. The point is to find them early, before they make it into production. Fortunately, except for the few of us developing rocket

14490

Chapter 5. Hacker Writing Style

We've already seen that hackers often coin jargon by overgeneralizing grammatical rules. This is one aspect of a more general fondness for form-versus-content language jokes that shows up particularly in hackish writing. One correspondent reports that he consistently misspells ‘wrong’ as ‘worng’. Others have been…