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
    N

    Nathan Reed

    reedbeta.com · Personal blog · on HN since 2013

    Nathan Reed writes about computer graphics, GPU programming, texture compression, hashing, and Unicode.

    Visit blogHN submissions
    ProgrammingSystems & Performance
    What HN says

    HN links it for GPU hash functions, quadrilateral interpolation, and Unicode; a commenter also includes him in a list of blogs worth reading.

    Stats for nerds
    23HN people shared it
    20linked in comments
    624story points
    Jan 2026last shared
    2013people per year2026

    Top posts on HN

    1. 1
      A Programmer’s Introduction to Unicode
      2 people · 299 points · first shared 2017 · 60 comments on HN
    2. 2
      Antialiasing: To Splat or Not
      1 person · 79 points · first shared 2014 · 9 comments on HN
    3. 3
      Data-Oriented Hash Table
      1 person · 76 points · first shared 2015 · 9 comments on HN
    4. 4
      Making Your Own Container Compatible with C++20 Ranges
      1 person · 74 points · first shared 2021 · 10 comments on HN
    5. 5
      Hash Functions for GPU Rendering
      3 people · 43 points · first shared 2021 · 8 comments on HN
    6. 6
      Depth Precision Visualized
      2 people · 33 points · first shared 2015 · 1 comments on HN
    7. 7
      Why Do Quaternions Double-Cover?
      1 person · 5 points · first shared 2025 · Discussion on HN
    8. 8
      Quick and easy GPU random numbers
      2 people · 3 points · first shared 2026 · Discussion on HN
    9. 9
      Python-Like enumerate() in C++17
      1 person · 2 points · first shared 2018 · Discussion on HN
    10. 10
      Mesh Shader Possibilities
      1 person · 2 points · first shared 2018 · Discussion on HN

    What HN people wrote when they linked it

    • panicJul 2017

      Here are a bunch of blogs from my RSS reader that I think are worth reading. Some of them haven't updated in a while, but the archives may be worth a look anyway.

      * Blogs with a math focus:

      http://blog.sigfpe.com

      http://bit-player.org

      http://mathr.co.uk/blog/

      https://www.johndcook.com/blog/

      * Blogs with a programming languages focus:

      https://existentialtype.wordpress.com

      https://bluishcoder.co.nz

      http://blog.ezyang.com

      http://akkartik.name

      http://lambda-the-ultimate.org

      http://mrale.ph

      * Blogs with a UI design focus:

      http://www.brandonwalkin.com/blog/

      http://ignorethecode.net/blog/

      http://interuserface.net

      * Blogs with a graphics / 3D rendering focus:

      http://c0de517e.blogspot.com

      http://diaryofagraphicsprogrammer.blogspot.com

      https://directtovideo.wordpress.com

      http://graphicrants.blogspot.com

      http://www.reedbeta.com

      http://www.realtimerendering.com/blog/

      https://blog.demofox.org

      http://eelpi.gotdns.org/blog.wiki.html

      * Other interesting / more general programming blogs (many of these have a "systems" focus):

      http://danluu.com

      http://ewontfix.com

      http://chneukirchen.org/blog/

      http://neverworkintheory.org

      http://apenwarr.ca/log/

      https://www.snellman.net/blog/

      https://www.pvk.ca

      http://psy-lob-saw.blogspot.com

      https://randomascii.wordpress.com

      http://fastcompression.blogspot.com

      https://fgiesen.wordpress.com

      http://blog.plover.com

      http://chneukirchen.org/trivium/

      http://rachelbythebay.com/w/

    • FrotagJan 2026

      > Quaternions are the same idea just in 3 dimensions (so with 3 imaginary units i j k, not just i, one per plane).

      I justify quaternions to myself with the intuition from [1]. In essence quaternions represent rotations in 4D, where multiplying by a "unit" (i,j,k), rotates two distinct planes by 90 degrees. The reason introducing a single unit j doesn't work is the same reason this rotation-is-multiplication trick doesn't work in 1D (or really any odd-number of dimensions). Anyways if we call this 4th axis w and pick a simple rule like ij = k then we get some nice properties like

      - multiplying by i rotates xy + zw planes by 90 degrees
      - j rotates xz + yw
      - k rotates xw + yz
      - 1 rotates nothing

      Notably this definition covers all 6 unique planes. But if we want to rotate only a single plane, we have to make up a new property, something that lets us rotate say xz by 90 and yw by -90. So we make up another rule that multiplying by a unit on the right does this, which algebraically looks like ij = -ji. This is incidentally why the rotation formulas have 1/2 everywhere, because if we want to rotate xy by 90, we multiply on the left by i/2 then on the right by -i/2.

      [1] https://www.reedbeta.com/blog/why-quaternions-double-cover/

    • masklinnMar 2017

      > Unicode is fucked. All these bullshit emojis

      Ah yes, all those bloody emoji taking the place of better worthier characters, those dastardly pictures taking up all of one half of one 16th of one Unicode plane (which has only 16 of those, and only 14 public).

      And the gall they have, actually being used and lighting up their section of plane 1 like a christmas tree while the rest of the plane lies in the darkness: http://reedbeta.com/blog/programmers-intro-to-unicode/heatmap-wiki+tweets.png what a disgrace, not only existing but being found useful, what has the world come to.

      And then of course there's the technical side of things: emoji actually forced western developers — and especially anglo ones — to stop fucking up non-ASCII let alone non-BMP codepoints. I don't think it's a coincidence that MySQL finally added support for astral characters once emoji started getting prominent.

      In fact, I have a pet theory that the rash of combining emoji in the latest revisions is in part a vehicle to teach developers to finally stop fucking up text segmentation and stop assuming every codepoint is a grapheme cluster.

    • Jasper_Oct 2018

      The DS "GPU" is indeed very bizarre and shares more in common with the GBA 2D rasterizer than a modern 3D GPU architecture. That it's a scanline renderer that can handle quads directly should be a pretty big tell :)

      I implemented a cheap subset of it used in Super Mario 64 DS for my online model viewer ( https://noclip.website/#sm64ds/44;-517.89,899.85,1300.08,0.37,-0.34,0.86,0.93,0.14,-0.34 ), but implementing all of the quirks and the weird featuresets might be nearly impossible to do in a modern graphics API. 2D rasterizers don't have to be slow (as SwiftShader and ryg show), and you can get the bizarre conditions exactly correct. I'm not sure what a GPU-based implementation would even add.

      EDIT: The math to be able to handle the bilinear quad interpolation on a GPU was worked out by reedbeta last year: http://reedbeta.com/blog/quadrilateral-interpolation-part-2/ . That's a big roadblock gone, but there's still a lot of other questionable things.

    • inoSep 2017

      Recently I came across http://iquilezles.org/www/articles/ibilinear/ibilinear.htm when researching how to draw textured non-parallelogram quadrilaterals, without affine texture mapping, with WebGL / OpenGL ES 2.

      I was disappointed to learn that OpenGL wouldn't do it and we have to calculate it on our own and send in a 3rd texture coordinate to each vertex for extra calculation on the shader.

      Sadly, there isn't much useful info on this subject on the internet (I'm not talking about projective mapping, but bilinear interpolation).
      I've found this: http://www.reedbeta.com/blog/quadrilateral-interpolation-part-2/ that I think will work for my case.

      My problem is that I also use normals to do "fake" parallel lighting on quads and it accentuates even more the affine errors on non parallelogram quadrilaterals. It's easier to just subdivide the quad to minimize the affine artifacts.

      If anyone knows a better way to solve it, I'd love to learn.

    • mattnewportJun 2018

      There are some efforts underway to standardize using SIMD but this is really a separate problem to providing a short vector math library suitable for the kind of linear algebra useful for 3D graphics and physics.

      Making your vec4f type a SIMD register type is not a good way to make use of SIMD hardware. The best approach is generally an SoA (Struct of Arrays) rather than an AoS (Array of Structs) and the best CPU programming model for that is something like ispc[1].

      Nathan Reed has a good summary of why "naïve" SIMD libraries after not the way to go for short vector math: http://www.reedbeta.com/blog/on-vector-math-libraries/#how-to-simd-and-how-not-to

      On some platforms alignment issues become a big problem for naïve vector math libraries too, though this is less of an issue on current generation x64 hardware.

      [1] https://ispc.github.io/ispc.html

    Related

    Fabian Giesenfgiesen.wordpress.com200 people

    Why do CPUs have multiple cache levels?

    Fabian Giesen
    Personal · last shared 2026
    Interplay of Lightinterplayoflight.wordpress.com17 people

    How Unreal Renders a Frame

    Interplay of Light
    Personal · last shared 2026
    Useless Factoruseless-factor.blogspot.com16 people

    Why not mmap?

    Useless Factor
    Personal · last shared 2015
    Josh Barczakjoshbarczak.com18 people

    OpenGL Is Broken

    Josh Barczak
    Personal · last shared 2025
    Greg Parkersealiesoftware.com31 people

    An Illustrated History of objc_msgSend

    Greg Parker
    Personal · last shared 2026
    Yann Colletfastcompression.blogspot.com59 people

    XXH3 – a new speed-optimized hash algorithm

    Yann Collet
    Personal · last shared 2025
    Directtovideodirecttovideo.wordpress.com21 people

    A thoroughly modern particle system (2009)

    Directtovideo
    Personal · last shared 2020
    Some Random Dudesomerandomdude.com19 people

    Web Designers should all be using this idea by now: Font Icons.

    Some Random Dude
    Personal · last shared 2014