Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #1082

A

Arthur O’Dwyer

Personal blog · quuxplusone.github.ioprogramming

Arthur O’Dwyer is a personal blog at quuxplusone.github.io about programming. Since 2018, 65 different Hacker News readers have linked it 221 times, most often “Clang++ `[[trivial_abi]]` 101”. It is still writing: the last post was on 2026-10-17, and you can follow it by feed.

Visit the blog
221mentions?
65HN people?
2018–2026first – last linked?
Links on Hacker News per year · peak 38 in 2021

Most-linked posts?

  1. Clang++ `[[trivial_abi]]` 101
    4 people · 5 mentions · first linked 2018-05-03
  2. When can the C++ compiler devirtualize a call?
    4 people · 4 mentions · first linked 2021-02-15
  3. Castlequest exhumed “Lost game” Castlequest (1980) has been found
    4 people · 4 mentions · first linked 2021-04-08
  4. The best engineering interview question I've ever gotten
    4 people · 4 mentions · first linked 2022-01-29
  5. Don’t put -Weverything in your build flags
    4 people · 4 mentions · first linked 2018-12-06
  6. C++2a Coroutines and Dangling References
    3 people · 3 mentions · first linked 2019-07-18
  7. Nash equilibria in Ballmer's binary-search interview game
    3 people · 3 mentions · first linked 2024-09-04
  8. Reasons to pass std:string_view by value
    3 people · 3 mentions · first linked 2021-11-09
  9. Thoughts on “The C++ Rvalue Lifetime Disaster”
    2 people · 4 mentions · first linked 2020-03-06
  10. What Is the “Vector Pessimization”?
    2 people · 3 mentions · first linked 2022-08-27

What Hacker News says?

  1. I do appreciate the effort you went to for this, but you make a lot of very strong claims that depend on very obscure minutia and unfortunately they end up being false under careful scrutiny. >But who says my fancy pointers will even necessarily map 1:1 to a linear (and contiguous!) pointer space? The standard as of C++11 does. std::vector<T> provides the member function T* data() which is required to return a point…

    Comment linking /draft/fancy-pointers.html

    on ““ISO obstructs adoption of standards by paywalling them””
  2. Submitted Slack’s new WYSIWYG input box is terrible as a story · 2776 points

    HN discussion
  3. What this comes down to is can the candidate: figure out how to build the project, grep to existing implementation and copy, paste, change a plus to an asterisk. And also, can they articulate the work-to-be-done this simply. While that’s the gist of it, it hardly seems that’s quite enough from the author’s solution, nor should it be enough for an interviewer. The question isn’t how to write, or copy paste a function…

    Comment linking /blog/2022/01/07/memcached-interview-solution/

    on “The best engineering interview question I've ever gotten”
  4. Submitted The best engineering interview question I've ever gotten as a story · 893 points

    HN discussion
  5. > I hate coding interviews but I am sympathetic to people who want to do them because I've met people who are such good bullshitters that they could fool most people. If you're talking about someone with no working experience and who claims to be self-taught, you really have to make them write code. The choice is not limited to made up toy problems vs not testing coding skills at all. You can give them real problems…

    Comment linking /blog/2022/01/06/memcached-interview/

    on “The FizzBuzz that did not get me the job”
  6. Submitted The use of `class` for things that should be simple free functions as a story · 408 points

    HN discussion
  7. keep in mind though that -Weverything is not intended to be used in production: https://quuxplusone.github.io/blog/2018/12/06/dont-use-wever...

    Comment linking /blog/2018/12/06/dont-use-weverything/

    on “size_t-to-int vulnerability in Linux’s filesystem layer”
  8. Submitted Phrase origin: Why do we "call" functions? as a story · 305 points

    HN discussion
  9. Indeed, RAII is a zero-cost abstraction compared to running the same destructors manually. On the other hand, C++ makes it really easy to write programs that copy and destroy things when it isn't necessary. For example, if a function takes a `std::string` as an argument (by value), any string you pass in will be copied into a new allocation, which will then have to be deallocated. That's fine if the function really…

    Comment linking /blog/2018/05/02/trivial-abi-101/

    on “Why is Rust slightly slower than C?”
  10. Submitted Best engineering interview question I've gotten as a story · 186 points

    HN discussion
  11. Seems like you don't need an LLM, you just need a human who (1) likes reading Stoker and (2) touch-types. :) I'd volunteer, if I didn't think I'd be duplicating effort at this point. (I've transcribed various things over the years, including Sonia Greene's Alcestis [1] and Holtzman & Kershenblatt's "Castlequest" source code [2], so I know it doesn't take much except quick fingers and sufficient motivation. :)) [1] h…

    Comment linking /blog/2021/03/09/castlequest/

    on “An amateur historian has discovered a long-lost short story by Bram Stoker”
  12. Submitted Don’t blindly prefer emplace_back to push_back as a story · 178 points

    HN discussion
  13. Scott Kim also did ambigrammatic poster designs for "Martin Gardner's Celebration of Mind" for art least four years running: https://quuxplusone.github.io/blog/2020/10/18/scott-kim-gard...

    Comment linking /blog/2020/10/18/scott-kim-gardner-ambigrams/

    on “Ambigr.am”
  14. Submitted Don't blindly prefer `emplace_back` to `push_back` (2021) as a story · 150 points

    HN discussion
  15. The advice to use -Weverything is very bad advice. See, e.g., https://quuxplusone.github.io/blog/2018/12/06/dont-use-wever... Using -Weverything other than for a one-off, manual build, is a sure fire way to result in one or several of 1) hacky code that works around some compiler author's style preferences, 2) less safe code because of the workaround hacks, or 3) coworkers quickly learning to ignore or disable (e.g.…

    Comment linking /blog/2018/12/06/dont-use-weverything/

    on “The State of Software Security in 2019”
  16. Submitted Nash equilibria in Ballmer's binary-search interview game as a story · 145 points

    HN discussion
  17. Might be your lucky day. Just further down the thread Jabl posted: > Recently an old text adventure game 'Castlequest' from 1980 was recovered ( https://quuxplusone.github.io/blog/2021/03/09/castlequest/ ), and there are even some efforts to modernize it ( https://gitlab.com/apthorpe/Castlequest ).

    Comment linking /blog/2021/03/09/castlequest/

    on “1970s mainframe RPGs we can no longer play”
  18. Submitted Const all the things? as a story · 129 points

    HN discussion
  19. Recently an old text adventure game 'Castlequest' from 1980 was recovered ( https://quuxplusone.github.io/blog/2021/03/09/castlequest/ ), and there are even some efforts to modernize it ( https://gitlab.com/apthorpe/Castlequest ).

    Comment linking /blog/2021/03/09/castlequest/

    on “1970s mainframe RPGs we can no longer play”
  20. Submitted The use of ‘class’ for things that should be simple free functions (2020) as a story · 106 points

    HN discussion
  21. I've taken a stab at analyzing the game for 3, 4, and 5 numbers here: https://quuxplusone.github.io/blog/2024/09/04/the-game-is-fl... There's obviously a huge gap between the 5-number game and the 100-number game; it's possible that the best mixed strategies settle down as the number of choices gets larger, or (for all I know) it's possible that the best mixed strategies get crazier and crazier. I'd love a ping if a…

    Comment linking /blog/2024/09/04/the-game-is-flawed/

    on “Steve Ballmer's incorrect binary search interview question”
  22. Submitted Bit Patterns of Float as a story · 103 points

    HN discussion
  23. Jumping on the footgun bandwagon, one I had always known, but never realized how bad of a design decision it was was "the c++ rvalue lifetime disaster" [0]. The talk linked in [0] has a different conclusion, but describes the problem well. Basically, the lifetime aspects of r/l-values are improperly coupled to the "can I scavenge the internals?" aspect (via const). R-values should not have been promoted to const-ref…

    Comment linking /blog/2020/03/04/rvalue-lifetime-disaster/

    on “My favourite C++ footgun”
  24. Submitted What =delete means as a story · 99 points

    HN discussion
  25. That's pretty much what the original poster does in Part 2, although inevitably the actual source code is a little more complicated than that. https://quuxplusone.github.io/blog/2022/01/07/memcached-inte...

    Comment linking /blog/2022/01/07/memcached-interview-solution/

    on “Best engineering interview question I've gotten”
  26. Submitted Noexcept affects libstdc++’s unordered_set as a story · 95 points

    HN discussion
  27. > My kids are all on Linux computers That is great to hear. My kids are both on pi 4s, but we customized the Debian distribution quite a bit to optimize its hardware acceleration capabilities and to overclock the hardware as much as possible. The pi boots from a fast nvme usb drive and i/o peripherals are connected via a fast usb hub. They are cooled by the ice tower [1]. They are both using exwm [2] and do not requ…

    Comment linking /Advent/play.html

    on “Sugar: An activity-focused, open-source software learning platform for children”
  28. Submitted Covariance and contravariance in C++ as a story · 94 points

    HN discussion
  29. Rust's ABI needs a lot of work before it's frozen. They're leaving performance on the table. Consider this code: https://rust.godbolt.org/z/jN2AA_ pub fn square(num: i64) -> i64 { return num * num; } // mov rax, rdi // imul rax, rdi // ret pub fn square2(num: i64) -> Result<i64, Box<dyn std::error::Error>> { Ok(num * num) } // mov rax, rdi // imul rsi, rsi // mov qword ptr [rdi + 8], rsi // mov qword ptr [rdi], 0 //…

    Comment linking /blog/2018/05/02/trivial-abi-101/

    on “Notes on Type Layouts and ABIs in Rust”
  30. Submitted The algebraic structure of Infinite Craft as a story · 93 points

    HN discussion

Search all of HN for quuxplusone.github.io

Linked by the same people?