Top all-time · #1098
Marek's idea of the day
Personal blog · idea.popcount.org · on HN as majkeprogrammingsystems
Marek's idea of the day is a personal blog at idea.popcount.org about programming and systems. Since 2012, 61 different Hacker News readers have linked it 114 times, most often “Epoll is fundamentally broken”. The last post was in 2023, but the archive is still widely read.
Too few sampled comments (25) to say how often HN recommends it.?
Why HN links it
HN readers link Marek Majkowski's blog for deep Linux and BSD networking and I/O posts, especially on epoll pitfalls, epoll versus kqueue, port binding, and SYN-flood filtering with BPF.
- Recommended for · 8 comments
- Called a convincing epoll critique, a better port-binding explainer, and a favourite epoll vs kqueue comparison.
Summarised by Claude from a sample of 25 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Epoll is fundamentally broken13 people · 14 mentions · first linked 2017-02-21
- LLVM Intermediate Representation is better than assembly7 people · 7 mentions · first linked 2013-07-24
- Epoll is broken – part 2/25 people · 5 mentions · first linked 2017-03-20
- Untrusted Code Sandbox Landscape5 people · 5 mentions · first linked 2017-04-07
- Bind before connect (2014)4 people · 4 mentions · first linked 2014-08-06
- BSD Sockets Addressing3 people · 5 mentions · first linked 2019-11-30
- How to sleep a million years (2013)3 people · 4 mentions · first linked 2013-07-24
- A brief history of select(2)3 people · 4 mentions · first linked 2016-11-11
- IP Spoofing3 people · 4 mentions · first linked 2016-10-04
- Creating Sockets3 people · 4 mentions · first linked 2019-11-07
What Hacker News says?
I attempted to write something for more advanced audience. Not sure if it's a successful attempt though... https://idea.popcount.org/2019-11-06-creating-sockets/ https://idea.popcount.org/2019-12-06-addressing/
Comment linking /2019-12-06-addressing/
on “Beej's Guide to Network Programming (1994-2020)”Submitted IP Spoofing as a story · 513 points
HN discussionNice idea. Shameless plug: this reminds me a ptrace hack I did a couple years back: fluxcapacitor https://github.com/majek/fluxcapacitor#fluxcapacitor https://idea.popcount.org/2013-07-19-how-to-sleep-a-million-...
Comment linking /2013-07-19-how-to-sleep-a-million-years/
on “Maybe: run a command, see what it does to your files without actually doing it”Submitted LLVM Intermediate Representation is better than assembly as a story · 312 points
HN discussionI consider myself pretty technically savvy... Developer and DevOps. However, when I see tricks like in this talk using iptables with BPF bytecode[1] to block SYN packet floods, I get completely humbled. I know that I know nothing. [1] https://idea.popcount.org/2016-09-20-strange-loop---ip-spoof...
Comment linking /2016-09-20-strange-loop---ip-spoofing/strange-loop3-iwi-09-09.045.jpg
on “IP Spoofing”Submitted When TCP sockets refuse to die as a story · 243 points
HN discussionIR is better than assembly It's a bit of a thought experiment but it's not totally insane. Let's just say that humanoids writing in IR makes more sense than humanoids writing in asm.js Ultimately, IR is an assembly language. By contrast, web assembly is not an assembly language. https://idea.popcount.org/2013-07-24-ir-is-better-than-assem...
Comment linking /2013-07-24-ir-is-better-than-assembly/
on “LLVM 4.0.0”Submitted How to sleep a million years (2013) as a story · 208 points
HN discussionActually most SSL based browsers will transmit the domain cleartext as part of SSL handshaking. This was added so virtual hosting webservers can all have independent certs on the same IP See the following link for the specifics ... but needless to say its easy to block SSL access with a transparent proxy or layer 7 firewall. (which based on the error page looks like a Palo Alto device which definitely can do this...…
Comment linking /2012-06-16-dissecting-ssl-handshake/
on “The Great Firewall of Yale”Submitted Epoll is fundamentally broken as a story · 160 points
HN discussionIt's possible that wasn't the default setting on Macs back then. I don't know that cgo would be a good choice either, if you're resolving a ton of domains at once. Early versions of Go would create new threads if a goroutine made a cgo call, and an existing thread was not available. I remember this required us to throttle concurrent dial calls, otherwise we'd end up with thousands of threads, and eventually bring th…
Comment linking /2013-11-28-how-to-resolve-a-million-domains/
on “Applebot”Submitted IR is better than assembly (2013) as a story · 153 points
HN discussionYou commented on two points: A) ip spoofing B) netflow On IP spoofing I said plenty already https://idea.popcount.org/2016-09-20-strange-loop---ip-spoof... . There are two major points: - We will always have DDoS vulnerable UDP protocols. In past we had DNS. Then we had NTP. Now we have SSDP. The next one is going to be some gaming protocol. We should fix them as we go, but a more comprehensive solution it to actual…
Comment linking /2016-09-20-strange-loop---ip-spoofing/
on “Stupidly Simple DDoS Protocol (SSDP) Generates 100 Gbps DDoS”Submitted It ain't about the callbacks, it's about the flow control as a story · 128 points
HN discussionI'm working on DDoS protection at Cloudflare. AMA We try to publish most of what we do, the more obvious links: https://blog.cloudflare.com/how-cloudflares-architecture-all... https://blog.cloudflare.com/meet-gatebot-a-bot-that-allows-u... https://blog.cloudflare.com/the-root-cause-of-large-ddos-ip-... https://blog.cloudflare.com/memcrashed-major-amplification-a... https://blog.cloudflare.com/syn-packet-handling-in-…
Comment linking /2015-11-16-black-hat-eu---defending-the-indefensible/
on “Ask HN: How is DDoS protection implemented?”Submitted Select(2) is fundamentally broken as a story · 117 points
HN discussionI feel this should really mention the epoll pitfalls (cf. https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-... ) - though "fundamentally broken" is excessive hyperbole. Also this specific article is kinda hazy on pointing out epoll's improvements over previous APIs. One half is that event subscriptions are registered/submitted for a period longer than one syscall (which the article kinda-sorta says.) But…
Comment linking /2017-02-20-epoll-is-fundamentally-broken-12/
on “epoll: The API that powers the modern internet (2022)”Submitted Epoll is broken – part 2/2 as a story · 108 points
HN discussionWorth reading some critique about epoll as well: https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-... Not to negate all the goodies that has given us
Comment linking /2017-02-20-epoll-is-fundamentally-broken-12/
on “epoll: The API that powers the modern internet (2022)”Submitted Am I a cyborg now? as a story · 86 points
HN discussionA quick plug: A brief history of select() syscall https://idea.popcount.org/2016-11-01-a-brief-history-of-sele... (for example: did you know early BSD had a limit of 20(!) file descriptors?)
Comment linking /2016-11-01-a-brief-history-of-select2/
on “File Descriptor Limits”Submitted Epoll is fundamentally broken (2017) as a story · 81 points
HN discussionTo play the devil's advocate: > In other words, back in the 90's "how do you reverse a linked list" isn't about "algorithmic thinking" or "data structures", it's _have you coded in C_. If you have, the question is trivial. If you haven't, the question was (ideally) impossible. It is still an interesting excercise to see if someone can code reversing a string (array) and a linked-list, because they form the basic bui…
Comment linking /2012-07-25-introduction-to-hamt/
on “Why Linked Lists Are an Interview Staple”Submitted Dissecting the SSL handshake as a story · 77 points
HN discussionI don't believe this Mirai IoT attack is using spoofing. But on the topic of spoofing: if an ISP doesn't follow BCP38 and allows spoofed packets to leave their network, then there is truly no traceability in where a packet came from. See this talk from Strangeloop about how spoofed packets are a problem [0] [0]: https://idea.popcount.org/2016-09-20-strange-loop---ip-spoof...
Comment linking /2016-09-20-strange-loop---ip-spoofing/
on “Hackers say Friday's massive DDoS attacks were just a dry run”Submitted BSD Sockets Addressing as a story · 75 points
HN discussionAnother guy evaluating similar stuff: https://idea.popcount.org/2017-03-28-sandboxing-landscape/
Comment linking /2017-03-28-sandboxing-landscape/
on “Cervus: A WebAssembly subsystem for Linux”Submitted Sandboxing Landscape as a story · 69 points
HN discussionOr read this: https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-...
Comment linking /2017-02-20-epoll-is-fundamentally-broken-12/
on “Using select(2) the right way”Submitted Improving Go's 'container/list' as a story · 53 points
HN discussion