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
    T

    Tavian Barnes

    tavianator.com · Personal blog · on HN since 2011

    Tavian Barnes, a software engineer, writes about low-level performance, CPU quirks, Rust, and algorithms.

    Visit blogRSSHN submissions
    Systems & PerformanceHardware & ElectronicsProgramming
    What HN says

    HN commenters link his explanation of the Alder Lake SHLX anomaly and his ray-box intersection post, which relies on IEEE 754 infinity behavior.

    Stats for nerds
    27HN people shared it
    30linked in comments
    814story points
    Sep 2025last shared
    2021people per year2025

    Top posts on HN

    1. 1
      Bug hunting in Btrfs
      1 person · 243 points · first shared 2024 · 204 comments on HN
    2. 2
      The Alder Lake SHLX Anomaly
      2 people · 234 points · first shared 2025 · 74 comments on HN
    3. 3
      Parallel ./configure
      1 person · 219 points · first shared 2025 · 186 comments on HN
    4. 4
      Rounding Percentages
      1 person · 47 points · first shared 2024 · 27 comments on HN
    5. 5
      Irregular Expressions
      3 people · 12 points · first shared 2023 · 3 comments on HN
    6. 6
      The Alder Lake anomaly, explained
      2 people · 8 points · first shared 2025 · 9 comments on HN
    7. 7
      Sneaky Git Commits
      1 person · 8 points · first shared 2025 · 2 comments on HN
    8. 8
      Cracking DHCE (Diffie-Hellman color exchange)
      2 people · 7 points · first shared 2018 · Discussion on HN
    9. 9
      BFS – “find” replacement which does breadth-first search (2016)
      1 person · 5 points · first shared 2019 · 1 comments on HN
    10. 10
      Proving that 1 plus 1 equals 10 in Rust
      3 people · 4 points · first shared 2020 · Discussion on HN

    What HN people wrote when they linked it

    • ChrisLomontOct 2021

      There are algorithms that behave correctly but require intermediate Inf or NaN to work. If I recall there is one related to finding bounding box intersections in ray tracing. I know when I introduce such code into a codebase I put a large "DO NOT CHANGE THIS..." style comment with an explanation so some enterprising programmer doesn't put some if statements in to remove what they think is an error, when it is not.

      I'd suspect the same is true for NaN. These things were introduced for reasons. If you don't have a deep knowledge of why, don't assume everyone else is the same.

      Edit: I found examples using a NaN and Inf intermediates to get a large speed increase [1,2].

      [1] https://tavianator.com/2015/ray_box_nan.html

      [2] https://tavianator.com/2011/ray_box.html

    • remexreSep 2025

      > Maybe RISC-V?

      RISC-V is specified as a RISC (and allows very space-/power-efficient lower-end designs with the classic RISC design), but designed with macro-op fusion in mind, which gets you closer to a CISC decoder and EUs.

      It's a nice place to be in tooling-wise, but it seems too early to say definitively what extensions will need to be added to get 12900K/9950X/M4 -tier performance-per-core.

      In either case though, a bunch of the tricks that make modern CPUs fast are ISA-independent; stuff like branch prediction or [0] don't depend on the ISA, and can "work around" needing more instructions to do certain tasks, for one side or the other.

      [0]: https://tavianator.com/2025/shlx.html

    • magicalhippoSep 2023

      In IEEE 754, division by zero is well defined[1], and some algorithms rely on this[2].

      Not sure how it relates to frame lag, some less-than-ideally-implemented iterative routine?

      [1]: https://en.wikipedia.org/wiki/IEEE_754#Infinities

      [2]: https://tavianator.com/2011/ray_box.html

    • tavianatorJan 2025

      Wrote up the presumed explanation here: https://tavianator.com/2025/shlxplained.html

    Related

    AMD ROCm Blogsrocm.blogs.amd.com27 people

    Aiter: AI Tensor Engine for ROCm

    AMD ROCm Blogs
    Company · last shared 2026
    Small Datumsmalldatum.blogspot.com63 people

    The original LSM paper

    Small Datum
    Personal · last shared 2026
    Random ASCIIrandomascii.wordpress.com274 people

    There are only four billion floats, so test them all (2014)

    Random ASCII
    Personal · last shared 2026
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    Rachel Krollrachelbythebay.com493 people

    fork() can fail

    Rachel Kroll
    Personal · last shared 2026
    Cliff Bifflecliffle.com81 people

    Rewriting m4vgalib in Rust

    Cliff Biffle
    Personal · last shared 2026
    Alastair Reidalastairreid.github.io33 people

    Verifying ARM processors against the official ARM specification

    Alastair Reid
    Personal · last shared 2025