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.
What HN saysCommenters repeatedly recommend his Fourier transform page, saying it made Fourier analysis and lossy compression like JPEG finally click.
28HN people shared it
12linked it in comments
17stories submitted
1.1Kstory points
3 months agolast shared
2019people per year2026
Most-shared posts
- 1An Interactive Introduction to Fourier Transforms13 people · 421 points · first shared 2019 · 44 comments on HN
- 2An Interactive Introduction to Fourier Transforms12 people · 667 points · first shared 2019 · 52 comments on HN
- 3An Interactive Introduction to Fourier Transforms2 people · 4 points · first shared 2019 · discussion on HN
- 4Checkboxes (2021)1 people · 2 points · first shared 2024 · 1 comments on HN
- 5Checkboxes1 people · 1 points · first shared 2023 · discussion on HN
What HN people wrote when they linked it
stared · 2025-09-05
Speaking of the Fourier transform, I recommend these visual explorable explanations: https://injuly.in/blog/fourier-series/index.html and https://www.jezzamon.com/fourier/
sydd · 2021-10-21
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
Waterluvian · 2026-08-14
https://www.jezzamon.com/fourier/
This one really made Fourier analysis click for me. Beyond that it made the idea of lossy compression (not just JPEGs) click for me.
rstuart4133 · 2026-02-18
If you liked that explanation of Fourier transforms, you'll probably like this one: https://www.jezzamon.com/fourier/index.html
1-6 · 2023-05-17
This is a bit out of context but nonetheless, it's inspiring: https://www.jezzamon.com/fourier/
Spectrograms and fourier transforms can also be applied to making music through diffuse AI. https://www.riffusion.com/about
montalbano · 2020-09-30
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/
stagas · 2020-05-19
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/
amitp · 2020-04-26
It's magic. But here's a fun interactive explanation: http://www.jezzamon.com/fourier/
MajimasEyepatch · 2025-02-26
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…
booboofixer · 2023-01-11
You might also like:
https://www.jezzamon.com/fourier/
myself248 · 2019-05-05
> 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+…
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…
okaleniuk · 2023-08-29
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-netw…
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…