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
    P

    purplesyringa

    purplesyringa.moe · Personal blog · on HN since 2024

    purplesyringa writes technical posts on Rust, performance optimization, compression, floating point, and low-level programming quirks.

    Visit blogRSSHN submissions
    Systems & PerformanceLanguages & CompilersProgramming
    What HN says

    HN commenters agree with her points on floats, enjoy her sense of humor, and discuss details such as the large webfont CSS file.

    Stats for nerds
    39HN people shared it
    82linked in comments
    2.6Kstory points
    Jul 2026last shared
    2024people per year2026

    Top posts on HN

    1. 1
      WebP: The WebPage Compression Format
      1 person · 552 points · first shared 2024 · 203 comments on HN
    2. 2
      “Bad Apple” in Minecraft
      1 person · 406 points · first shared 2024 · 64 comments on HN
    3. 3
      I sped up serde_json strings by 20%
      1 person · 336 points · first shared 2024 · 117 comments on HN
    4. 4
      Performance optimization is hard because it's fundamentally a brute-force task
      2 people · 303 points · first shared 2025 · 144 comments on HN
    5. 5
      JVM exceptions are weird: a decompiler perspective
      2 people · 257 points · first shared 2025 · 69 comments on HN
    6. 6
      The RAM Myth
      1 person · 196 points · first shared 2024 · 165 comments on HN
    7. 7
      A Look at Rust from 2012
      1 person · 153 points · first shared 2025 · 90 comments on HN
    8. 8
      Falsehoods programmers believe about null pointers
      2 people · 111 points · first shared 2025 · 104 comments on HN
    9. 9
      Bringing Faster Exceptions to Rust
      1 person · 103 points · first shared 2024 · 34 comments on HN
    10. 10
      The Rust Trademark Policy is still harmful
      1 person · 37 points · first shared 2024 · 28 comments on HN

    What HN people wrote when they linked it

    • purplesyringaJul 2026

      Thank you! I completely agree with this, floats are treated as a lot more magical than they actually are. I myself often rely on their exact guarantees for fun tricks (e.g. fast precise int<->float conversion: https://purplesyringa.moe/blog/fast-limited-range-conversion-between-ints-and-floats/). But while IEEE-754 is very precise, some subtleties arise when you add library functions to the mix -- many libm's and userland libraries don't guarantee 0.5 ulp precision for certain operations and don't document the guaranteed precision either, at which point you're left guessing and saying "well, I guess I should treat floats as magic in this case after all". I added "it's not imprecision" to step around this whole question.

    • mananaysiempreFeb 2026

      > Then, when it fails [...], you can either poke it in the right ways or change your program in the right ways so that it works for you again. This is a horrible way to program; it’s all alchemy and guesswork and you need to become deeply specialized about the nuances of a single [...] implementation

      In that post, the blanks reference a compiler’s autovectorizer. But you know what they could also reference? An aggresively opaque and undocumented, very complex CPU or GPU microarchitecture. (Cf. https://purplesyringa.moe/blog/why-performance-optimization-is-hard-work/.)

    • thaliaarchiOct 2024

      That feeling seems common in hindsight. Everything seems easier, once all the problems have been solved. Related, I enjoy the author's sense of humor:

      > I made a prototype and, lo and behold, it was in fact slow, as predicted. (I’m smart.)

      And in another article[0], describing an inefficient collision algorithm:

      > Mojang’s decision never crossed my mind. I guess I’m not a real programmer.

      [0]: https://purplesyringa.moe/blog/ru/minecraft-compares-arrays-in-cubic-time/

    • lxgrSep 2024

      Now I got curious, and there's also a 400 kB CSS file to go with it: https://purplesyringa.moe/fonts/webfont.css

      I'm not up to date on web/font development – does anybody know what that does?

    Related

    Sabrina Jewsonsabrinajewson.org15 people

    Async destructors, async genericity and completion futures

    Sabrina Jewson
    Personal · last shared 2025
    Henri Sivonenhsivonen.fi47 people

    String Lengths in Unicode

    Henri Sivonen
    Personal · last shared 2025
    Rust Blogblog.rust-lang.org533 people

    Announcing Rust 1.0

    Rust Blog
    Company · last shared 2026
    Niko Matsakissmallcultfollowing.com221 people

    Towards a Rust Foundation

    Niko Matsakis
    Personal · last shared 2026
    Manish Goregaokarmanishearth.github.io97 people

    Picking Apart the Crashing iOS String

    Manish Goregaokar
    Personal · last shared 2026
    fasterthanli.mefasterthanli.me236 people

    A half-hour to learn Rust

    fasterthanli.me
    Personal · last shared 2026
    I Don't Play Dartsidontplaydarts.com81 people

    Detecting the use of "curl | bash" server-side

    I Don't Play Darts
    Personal · last shared 2024
    Chad Austinchadaustin.me53 people

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

    Chad Austin
    Personal · last shared 2026