Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    D

    David Mazières

    scs.stanford.edu/~dm · Personal blog · on HN since 2011

    David Mazières, a Stanford computer science professor, writes about C++20 features, systems research papers and security topics.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersSystems & Performance
    What HN says

    HN links it for his C++20 coroutines tutorial, which commenters find useful despite its code overhead, and his paper on spam, "Get Me Off Your Fucking Mailing List".

    Stats for nerds
    38HN people shared it
    18linked in comments
    807story points
    May 2026last shared
    2011people per year2026

    Top posts on HN

    1. 1
      Get Me Off Your Fucking Mailing List (2005) [pdf]
      12 people · 384 points · first shared 2011 · 65 comments on HN
    2. 2
      My tutorial and take on C++20 coroutines
      6 people · 224 points · first shared 2021 · 136 comments on HN
    3. 3
      C++20 Idioms for Parameter Packs
      2 people · 74 points · first shared 2024 · 51 comments on HN
    4. 4
      Dune: Safe User-Level Access to Privileged CPU Features [pdf]
      2 people · 66 points · first shared 2016 · 6 comments on HN
    5. 5
      Recursive Macros with C++20 __VA_OPT__
      4 people · 28 points · first shared 2023 · 1 comments on HN
    6. 6
      My rant on C++'s operator new (2006)
      2 people · 13 points · first shared 2014 · 3 comments on HN
    7. 7
      IterIO (Haskell IO library providing an alternative to lazy IO)
      1 person · 13 points · first shared 2011 · Discussion on HN
    8. 8
      Riposte: An Anonymous Messaging System Handling Millions of Users [pdf]
      1 person · 2 points · first shared 2015 · Discussion on HN
    9. 9
      Simplified SCP (David Mazières et al.)
      1 person · 2 points · first shared 2019 · Discussion on HN
    10. 10
      CCFI: Cryptographically Enforced Control Flow Integrity (2015) [pdf]
      1 person · 1 points · first shared 2018 · Discussion on HN

    What HN people wrote when they linked it

    • lapinotMay 2021

      Taking away the money part you'll probably want to replace "distributed chained ledger" with "distributed database" or "state-machine replication". There's actually a nice academic literature on this topic of having distributed databases that have strong notions of "commit". This is never the case with stuff that gets called "blockchain". I've yet to encounter something that isn't a variation on "rate-limit the ingest so we have time to replicate operations world-wide" or "create internal monkey-money incentives for agents not to diverge from corretness", both of which are trivial hacks that don't advance anything from a scientific point of view. Not my field tho, so here's the few refs i know.

      https://en.wikipedia.org/wiki/Paxos_(computer_science) An old algorithm used for sharding big-data databases.

      https://en.wikipedia.org/wiki/Raft_(algorithm) A simplified version of paxos.

      http://www.scs.stanford.edu/~dm/home/papers/losa:stellar-instantiation.pdf The new paper about SCP which allows replication with subjective notions of trust (no central participant-stake list like paxos/raft).

      ps: actually i remove "chained" from the idea. If you want to keep the whole authenticated linked-list thing and do it right you'll end up somewhere near https://irmin.org/ (a generalization of git), which is very useful, but doesn't tackle the "strong decentralized commit". You'll probably want to either centrally manage the "lastest-hash(s)" (like git is usually done), or pair it with a…

    • maxtacoFeb 2014

      At the time, there was an arms race within the systems community to see who could flip a bigger bird to the organizers of the SCI spamference. David Mazieres and Eddie Kohler started it off when they submitted "Get Me Off Your Fucking Mailing List" [1] for publication. We wanted to one-up them and figured we could do so by submitting a random paper that might be accepted into the conference, allowing us to give an in-person talk. The plan worked up to a point, but when we asked the internet for $3k to send us to Orlando, the press and then the organizers of SCI caught wind and revoked the random paper they had previously accepted.

      Everything since has been gravy. We're pumped that SCIgen is still a useful weapon against charlatans the world over (this now includes you, IEEE and Springer).

      [1] http://www.scs.stanford.edu/~dm/home/papers/remove.pdf

    • IshKebabSep 2024

      Yeah there aren't many good resources on it unfortunately. One thing to note is C++20's coroutine support is really low level. It's designed for library authors so that they can build the kinds of things "normal" people want - tasks, generators, futures, promises, etc.

      This video is the best intro I've found. It actually explains what is happening in memory, which is the only way to really understand anything in C++.

      https://youtu.be/aibjUHx7vew

      Also this is decent:

      https://www.scs.stanford.edu/~dm/blog/c++-coroutines.html

      But don't try and write a coroutine library yourself. Use something like libcoro.

    • indigoabstractSep 2023

      Yes, in my (limited) use case with coroutines for a recursive descent generator I got it working by following this tutorial:
      https://www.scs.stanford.edu/~dm/blog/c++-coroutines.html
      but I was unpleasantly surprised by much extra code it required to make it run.

      The Tiny Fiber library in the article looks pretty hacky right now and the amount of x64/arm specific code might cause trouble with portability, but the concept itself is intriguing. Thank you for the details.

    • daveFNbuckOct 2018

      There are much more egregious examples in computer science publishing. A paper that just repeated the words "get me off your fucking mailing list" over and over [1] was published in a journal. I also remember there being some automatic paper generators that resulted in several publications several years back. This is 100% an issue with bogus for-profit publishing, not with any particular area of study.

      [1] http://www.scs.stanford.edu/~dm/home/papers/remove.pdf

    • downutApr 2024

      Thank you for this pointer. I have been studying coroutines off and on for a while and my google/ddg foo is weak and did not find this. Or maybe google/ddg are getting weak. Sadness. I was using David Mazières' tutorial[1] but was still puzzled about the seemingly magical promise_type/coroutine_handle conversions that are nicely explained here.

      [1] https://www.scs.stanford.edu/~dm/blog/c++-coroutines.html

    Related

    Herb Suttergotw.ca84 people

    Ritchie, Stroustrup, and Gosling interview

    Herb Sutter
    Personal · last shared 2026
    Bartek's Coding Blogbfilipek.com49 people

    Coding without Google

    Bartek's Coding Blog
    Personal · last shared 2021
    Phil Windleywindley.com35 people

    Alan Kay: "We're running on fumes technologically today."

    Phil Windley
    Personal · last shared 2026
    Chad Austinchadaustin.me53 people

    I just wanted Emacs to look nice – Using 24-bit color in terminals

    Chad Austin
    Personal · last shared 2026
    foonathanfoonathan.net35 people

    Carbon’s most exciting feature is its calling convention

    foonathan
    Personal · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Aras Pranckevičiusaras-p.info79 people

    I accidentally Blender VSE

    Aras Pranckevičius
    Personal · last shared 2026
    Karl Ruppkarlrupp.net16 people

    40 Years of Microprocessor Trend Data (2015)

    Karl Rupp
    Personal · last shared 2025