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

    Pomax

    pomax.github.io · Personal blog · on HN since 2013

    Pomax is a developer who writes interactive guides on Bézier curves, fonts, and graphics, and builds JavaScript tools around them.

    Visit blogRSSHN submissions
    MathProgrammingDesign & UX
    What HN says

    HN commenters call his Bézier primer one of the best resources for anyone implementing Bézier curves.

    Stats for nerds
    70HN people shared it
    57linked in comments
    2.4Kstory points
    Mar 2026last shared
    2013people per year2026

    Top posts on HN

    1. 1
      A Primer on Bézier Curves
      53 people · 1.4K points · first shared 2013 · 61 comments on HN
    2. 2
      An introduction to Japanese
      5 people · 373 points · first shared 2016 · 122 comments on HN
    3. 3
      Flying planes in Microsoft Flight Simulator with a JavaScript autopilot (2023)
      3 people · 290 points · first shared 2023 · 64 comments on HN
    4. 4
      Implementing strict three-point perspective
      2 people · 136 points · first shared 2021 · 51 comments on HN
    5. 5
      Digital colours and digital photography
      2 people · 92 points · first shared 2015 · 43 comments on HN
    6. 6
      A bit of font generation: a brief excursion into OpenType
      3 people · 42 points · first shared 2014 · 9 comments on HN
    7. 7
      Creating a MIDI pass-through recorder
      1 person · 13 points · first shared 2020 · 8 comments on HN
    8. 8
      I built a spice rack to fit our 72 mason jars of spices and herbs
      1 person · 12 points · first shared 2020 · Discussion on HN
    9. 9
      Playing a MIDI-controlled drawbar synth organ. In the browser
      1 person · 5 points · first shared 2018 · 1 comments on HN
    10. 10
      Bezier.js, for doing bezier curve things
      3 people · 3 points · first shared 2014 · Discussion on HN

    What HN people wrote when they linked it

    • jtolmarMay 2018

      For #1, try to explain it to a friend, preferably in person, possibly via a chat app, but definitely not via email. Then base your writing on the way you explained that. (But like, with complete sentences.) This is the best method I know for shaking off the instinct to sound like other people's writing (i.e: like technical papers) instead of just explaining things.

      Here's three examples of excellent explanations via very different techniques:

      [1] https://pomax.github.io/bezierinfo/ - Bezier curves, exhaustively technical but well-indexed and just really well explained

      [2] https://directtovideo.wordpress.com/2011/02/25/ceasefire-all-falls-down/ - Advanced and unorthodox rendering techniques, narrative format, basically the opposite priorities of a paper (assumes you can fill in the gaps on how, details more what worked and why it's being used)

      [3] http://archive.is/XjbUy (supposed to be at qntm.org/gay, but apparently being rewritten) Database normalization principles via the lens of making a database handle gay marriage, humorous

      Also, if you're explaining sequential bayesian filtering by any chance (my specialty), I'd really like it if someone actually wrote down the awful formal version with the point-wise Bayes Theorem and the giant integral convolving over your state transition function, then explained how particle filters / kalman filters / hidden markov models get around how awful that is. It's how I introduce the topic at work but I don't have my slides handy out…

    • quagAug 2025

      It sounds like you've got something specific in mind when you say, "modeling". The term modeling is used in a lot of different situations to mean different things. For example, it could mean to make a 3d model in Blender, it could mean to pose for someone to paint you or to take a photo, with databases it's used to mean modeling the data, with statistics it's used to mean finding a way to simply represent and reason about the data (create a model of it).

      The things you've listed out make me guess you want to write 2d or 3d image rendering software. Is that right?

      If that's the case, there's no substitute for trying to recreate certain algorithms or curves using a language or tool that you're comfortable with. It'll help you build an intuition about how the mathematical object behaves and what problems it solves (and doesn't). All of these approaches were created to solve problems, understanding the theory of it doesn't quite get you there. If you don't have a good place to try out functions, I recommend https://thebookofshaders.com/05/ , https://www.desmos.com/calculator , or https://www.geogebra.org/calculator .

      A good place to start is linear interpolation (lerp). It seems dead simple, but it's used extensively to blend two things together (say positions or colors) and the other things you listed are mostly fancier things built on top of linear interpolation.

      https://en.wikipedia.org/wiki/Linear_interpolation

      For bezier curves and surfaces here are some links I've…

    • delhantyAug 2019

      >I just added a weirdly missing short section on plain rational beziers

      That's great! Thanks for writing and maintaining this document over the years!

      Coincidentally, I was referencing the section on offsetting [0] just last week and read the following,

      >There is a small class of polynomials where the square root is also a polynomial, but they're utterly useless to us: any polynomial with unweighted binomial coefficients has a square root that is also a polynomial. ...We can already create offset curves for points, we call them circles, and they have much simpler functions than Bézier curves.

      and thought, something like: "That's correct because Bézier curves in the context of this document, SVG, HTML canvas and fonts means polynomial (i.e non-rational) Bézier curves."

      But if you're now considering rational Bézier curves as in-scope for the document that changes things doesn't it ? E.g Circles represented as rational Bézier quadratics, and Pythagorean Hodographs [1].

      [0] https://pomax.github.io/bezierinfo/#offsetting

      [1] http://demonstrations.wolfram.com/G1HermiteInterpolationWithPythagoreanHodographCubicCurves/

    • amitpOct 2023

      Thanks! I celebrate weird hobby web sites. Here are some of my favorites:

      * 59828 different definitions of "triangle center" https://faculty.evansville.edu/ck6/encyclopedia/ETC.html

      * Amazing reference on bezier curves https://pomax.github.io/bezierinfo/

      * Sunbeam radiant toaster http://automaticbeyondbelief.org/

      * How to pack geometric shapes inside other shapes https://erich-friedman.github.io/packing/

      * Pictures of library cards https://librarycards.tripod.com/id1.html

      * All about pc fans https://nick-black.com/dankwiki/index.php?title=PC_Fans

      * Cross sections of candy bars https://scandybars.tumblr.com/

      * All kinds of info about bicycles https://www.sheldonbrown.com/

      * Every type of plastic used by lego https://bricknerd.com/home/every-type-of-plastic-used-by-lego-5-20-22

      * Ian's Shoelace Site https://www.fieggen.com/shoelace/

    • jacobolusMay 2016

      For anyone with enough formal mathematics background to follow the argument, Lyle Ramshaw’s monograph, On multiplying points: the paired algebras of forms and sites, supplies the clearest formalism for understanding and working with Bézier curves and various CAGD surface primitives. http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-169.html (Note: ~150 page math book, takes some work to follow.)

      Also check out the pomax bezier curve primer, which is filled with interactive diagrams and nice explanations of algorithms for doing anything you might like with Bézier curves, http://pomax.github.io/bezierinfo/ (previous discussions, https://news.ycombinator.com/item?id=11402656 https://news.ycombinator.com/item?id=8804691)

    • dahartMar 2026

      Here’s an interactive picture of how the splitting with lerps works: https://pomax.github.io/bezierinfo/#splitting

      Did you ever doodle parabolas on graph paper by drawing straight lines? That’s one way to see why you can form nonlinear curves using only lerps. (For example https://mathcraft.wonderhowto.com/how-to/create-parabolic-curves-using-straight-lines-0131301/)

      Your thought is correct - this does (in a sense) move along the curve to produce new control points, and the subset does match the curve exactly. And the new control points are non-linear too! (The inner ones, anyway.) Pay attention to how the new control points are chosen - to split you take one control point from each level of the lerp tree.

    Related

    Red Blob Gamesredblobgames.com199 people

    Hexagonal grids for games

    Red Blob Games
    Personal · last shared 2026
    Extreme Learningextremelearning.com.au35 people

    The Unreasonable Effectiveness of Quasirandom Sequences

    Extreme Learning
    Personal · last shared 2026
    Clément Bœschblog.pkh.me39 people

    Investigating why Steam started picking a random font

    Clément Bœsch
    Personal · last shared 2025
    Vadoswarevadosware.io22 people

    Self-hosted email is the hardest it's ever been, but also the easiest

    Vadosware
    Personal · last shared 2025
    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026
    Oliver Steeleosteele.com55 people

    Functional javascript in one page

    Oliver Steele
    Personal · last shared 2022
    Ben Golusbgolus.medium.com18 people

    The best darn grid shader yet (2023)

    Ben Golus
    Personal · last shared 2026
    Jamie Wongjamie-wong.com67 people

    Color: From Hex codes to Eyeballs

    Jamie Wong
    Personal · last shared 2026