HN Hall of Fame Weekly email

Asmttpd: Web server for Linux written in amd64 assembly (2017)

github.com Software & code Software projects Software engineering Candidate
Screenshot of github.com captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 3 calendar years, with breakout response in 3 of them.

submissions
3
submitters
3
observed span
2014–2018
peak thread · 104 comments
166 pts
latest 20+ return · 2018-07-13
166 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

Isn't this basically a web server for Linux written in C, except with absolutely no standard library optimizations? Yes, it's assembly, but it's basically a thin script over a set of string library functions which are themselves just naive versions of what's already in libc. Most of this is just strcpy/strcat/strchr/strstr; the only reason it's not one giant stack overflow is that it doesn't actually implement most of HTTP (for instance: nothing reads Content-length, and everything works off a static…

tptacek·166-point thread·

I'll try and get this building for OSX. For the uninitiated, might I recommend my: http://nickdesaulniers.github.io/blog/2014/04/18/lets-write-... Though, this is written in yasm syntax, which is slightly different. Also, keep an eye out for a blog post on Interpreters, Compilers, and JITs I'm working on (cleaning it up and getting it peer reviewed this or next week)! update 1 Actually, would the syscall's be different between Linux and OSX? Let's find out, once this builds! hammers away update 2 Got it…

Pretty neat! It's awesome how assembly these days is reasonably high level: https://github.com/nemasu/asmttpd/blob/master/http.asm It dawns on me why we couldn't have shortcuts for several patterns that show up everywhere: - mov, mov, mov then call/syscall could just be written as call(arg, arg, arg) since it's not that difficult to figure out which argument needs to go to which register if there was a defined order of arguments. - push push push push <function body> pop pop pop pop <ret> could…

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
3

100+ points or 50+ comments

Total points
447

reference only — not used in Hall rules or ranking

Total comments
256

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2014-02-03Web server for Linux written in amd64 assemblyFirst breakoutnkurz12257
2015-05-19Asmttpd – Web server for Linux written in amd64 assemblypykello15995
2018-07-13Asmttpd: Web server for Linux written in amd64 assembly (2017)Best thread · Latest 20+ point returnjxub166104