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
    J

    Jez Swanson

    jezzamon.com · Personal blog · on HN since 2019

    Jez Swanson, a developer, makes interactive web explainers, most notably an introduction to Fourier transforms.

    Visit blogHN submissions
    MathData & Visualization
    What HN says

    Commenters repeatedly recommend his Fourier transform page, saying it made Fourier analysis and lossy compression like JPEG finally click.

    Stats for nerds
    28HN people shared it
    17linked in comments
    1.1Kstory points
    Aug 2026last shared
    2019people per year2026

    Top posts on HN

    1. 1
      An Interactive Introduction to Fourier Transforms
      12 people · 667 points · first shared 2019 · 52 comments on HN
    2. 2
      An Interactive Introduction to Fourier Transforms
      13 people · 421 points · first shared 2019 · 44 comments on HN
    3. 3
      An Interactive Introduction to Fourier Transforms
      2 people · 4 points · first shared 2019 · Discussion on HN
    4. 4
      Checkboxes (2021)
      1 person · 2 points · first shared 2024 · 1 comments on HN
    5. 5
      Checkboxes
      1 person · 1 points · first shared 2023 · Discussion on HN

    What HN people wrote when they linked it

    • MajimasEyepatchFeb 2025

      Having a decent intuitive notion of Fourier transforms is an incredibly useful tool in your toolbox, even if you can't derive a Fourier transform by hand or write a fast Fourier transform (FFT) algorithm.

      The basic idea is this: (almost) any (useful) signal can be represented as a sum of sine waves with different frequencies and phases. For example, an electrical signal or a sound wave is a one-dimensional signal where the x-axis is time. This might look like a really complex squiggly line that's hard to work with. Using a Fourier transform, you can separate the individual frequencies of that time-based signal. Then, you can modify the specific frequencies however you want. For example, if you have a lot of random, spiky noise in the signal, that will show up as high frequencies. To clean it up, just do a Fourier transform, throw out any data with a frequency above a certain threshold, and then run an inverse Fourier transform on the remaining data to get back a smoother version of the original signal. This is called a low-pass filter, and it's more or less equivalent to taking a moving average of the original signal.

      Where it gets really fun is that you can extend this, in a pretty straightforward way, to higher dimensions. A two-dimensional signal, where both the x- and y-axes are space, is just an image. JPEG compression is based on this concept: it removes the high-frequency signal in the image in order to store the data in a more compact form, at the expense of losing…

    • okaleniukAug 2023

      Since we're sharing links, here's my collection of interactive pages too:

      Interactive visual explanations of math and algorithms, with motivating examples from computer games.
      https://www.redblobgames.com/

      The world's first linear algebra book with fully interactive figures.
      http://immersivemath.com/ila/index.html

      The Textbook of the Future. Interactive. Personalised. Free.
      https://mathigon.org/

      Structure and Interpretation of Computer Programs. Interactive Version
      https://xuanji.appspot.com/isicp/

      An Interactive Introduction to Fourier Transforms
      http://www.jezzamon.com/fourier/index.html

      Clear, intuitive lessons about imaginary numbers, exponents, and more.
      https://betterexplained.com/

      An Interactive Introduction To Quantum Computing
      http://davidbkemp.github.io/QuantumComputingArticle/

      The website of Martin O'Leary artist, designer, teacher, researcher.
      http://mewo2.com/

      A Visual and Interactive Guide to the Basics of Neural Networks
      https://jalammar.github.io/visual-interactive-guide-basics-neural-networks/

      Interactive demos on network theory, game theory, trust etc.
      https://ncase.me/

      An interactive explanation of curves and surfaces
      https://ciechanow.ski/curves-and-surfaces/

      Introduction to geometric algebra — an invertible vector product and the implication of having one.
      https://mattferraro.dev/posts/geometric-algebra

      Interactive visualizations for different topics from physics and mathematics. Includes trigonometry, polynomial regression, and Bézier…

    • myself248May 2019

      > tends to get mirrored onto many frequencies for some reason I'm not familiar with.

      Play with this for a few minutes: http://www.jezzamon.com/fourier/index.html

      And watch any of these: https://www.youtube.com/results?search_query=vibrating+reed+frequency+meter

      Okay, so think of a radio receiver as being sensitive to a particular frequency, because it has a filter in front of it. A vibrating reed of a specific length, if you will. (This is almost exactly true for certain types of crystal and SAW filters, actually.)

      But when you flip a digital output from 0 to 1 or vice-versa, it changes state very quickly -- the output is essentially a square wave. (Physical limits mean it does have a finite slew rate...) Which means it contains components of every frequency. Think of coming up to one of those vibrating-reed meters and smacking it -- a single impulse excites ALL the reeds.

      Smack it regularly (change the pin state at a specific frequency) and the reeds that're way off frequency will just sort of bounce around but not be particularly excited. You're creating noise, but it's just noise. But the reeds that're odd multiples of the smacking frequency will vibrate too -- these are the harmonics. They'll get really excited, almost as excited as the fundamental. (The evens essentially cancel out.)

      Here's what it looks like on the radio spectrum: https://www.youtube.com/watch?v=eC36AqL5mw8

      Incidentally, this is why so many chips now boast "slew-rate limited" outputs: to…

    • stagasMay 2020

      That's cool, but it doesn't really explain _why_ the sound becomes more interesting. It has to do with how the sound is played back, in short, there are no "square" waves. Everything is a combination of sine waves. The more you have it's as if there are more instruments playing on top of each other, in music they're called "harmonics". A "squared" wave is a wave with many many additional sine waves in different frequencies that overlap with each other, if you were to plot it it wouldn't look square, rather it would be wavy. This article shows visually how this effect takes place, if you are interested: http://www.jezzamon.com/fourier/

    • montalbanoSep 2020

      I don't think this exactly what you want, but you might like it anyway. You draw and it breaks it down into the 2D fourier series, and you can control the number of fourier terms which essentially acts like a crude high pass filter:

      http://www.jezzamon.com/fourier/

    • syddOct 2021

      I loved this explanation of FFT, full with interactive examples and it makes it also easy to understand how the JPEG compression utilizes FFT https://www.jezzamon.com/fourier/ AKA how can you represent an image with Fourier transformations

    Related

    Steven Wittensacko.net287 people

    TermKit - a graphical terminal replacement

    Steven Wittens
    Personal · last shared 2026
    Red Blob Gamesredblobgames.com199 people

    Hexagonal grids for games

    Red Blob Games
    Personal · last shared 2026
    Setosasetosa.io79 people

    Markov Chains Explained Visually (2014)

    Setosa
    Personal · last shared 2026
    James Sinclairjrsinclair.com48 people

    What’s so great about functional programming anyway?

    James Sinclair
    Personal · last shared 2026
    BetterExplainedbetterexplained.com330 people

    An Intuitive Guide to Linear Algebra (2012)

    BetterExplained
    Personal · last shared 2026
    Jason Daviesjasondavies.com108 people

    World Airports Voronoi (2014)

    Jason Davies
    Personal · last shared 2026
    Douglas Crockfordcrockford.com180 people

    Tilton

    Douglas Crockford
    Personal · last shared 2026
    Josh W. Comeaujoshwcomeau.com199 people

    CSS Gradients that avoid the “gray dead zone”

    Josh W. Comeau
    Personal · last shared 2026