An Interactive Introduction to Fourier Transforms
Fourier transforms are a tool used in a whole bunch of different things. This is a explanation of what a Fourier transform does, and some different ways it can be useful.
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 417 posts.
Fourier transforms are a tool used in a whole bunch of different things. This is a explanation of what a Fourier transform does, and some different ways it can be useful.
I recently came across Paul Heckbert's business card raytracer. For those that have never heard of it: It is a very famous challenge in the Computer Graphics field that started on May 4th, 1984 via a post on comp.graphics by Paul Heckbert ( More about this in his article " A Minimal Ray Tracer " from the book Graphics…
neural networks , deep learning , representations , NLP , recursive neural networks
How can a theorem prover use the convention that 1/0=0 and still be consistent?
Correlations are oft interpreted as evidence for causation; this is oft falsified; do causal graphs explain why this is so common, because the number of possible indirect paths greatly exceeds the direct paths necessary for useful manipulation?
When you first read about "torsors", they're bound to seem a bit too darn sophisticated for their own good. Mostly this is because nobody explains them very well. So, I want to convince you that they're actually very simple and natural. I'll do this by giving you three examples from physics:
C:\TEMP> md5sum hello.exe cdc47d670159eef60916ca03a9d4a007 C:\TEMP> .\hello.exe Hello, world! (press enter to quit) C:\TEMP>
Craig Gidney's computer science blog
Explaining how quaternions, a four-dimensional number system, describe 3d rotation.
Euler's identity seems baffling: It emerges from a more general formula: Yowza -- we're relating an imaginary exponent to sine and cosine! And somehow…
StarCraft pathfinding looked impossible to fix until one ugly hack changed everything. Here's the trick that shipped.
This paper appeared in Communications of the ACM in April 1960. It is the original paper on Lisp.
Almost exactly a year ago, Google made one of the most remarkable press releases in the Web 2.0 era. Of course, by "press release", I actually mean keynote at their own conference, and by "remarkable" I mean potentially-transformative and groundbreaking. I am referring of course to the announcement of Google Wave , a…
A “ quine ” (or “ selfrep ”) is a computer program which prints its own listing. This may sound either impossible, or trivial, or completely uninteresting, depending on your temper and your knowledge of computer science. Actually, it is possible, and there are some interesting ideas involved (in particular, writing a…
This post is to announce the start of a new mathematics journal, to be called Discrete Analysis. While in most respects it will be just like any other journal, it will be unusual in one important w…
Bayes’ theorem was the subject of a detailed article. The essay is good, but over 15,000 words long — here’s the condensed version for Bayesian newcomers like…
A catalogue of software constructs, languages, or APIs which are unexpectedly Turing-complete; implications for security and reliability.
Update (Dec. 16): If you’re still following this, please check out an important comment by Alex Selby, the discoverer of Selby’s algorithm, which I discussed in the post. Selby querie…
I’ve been talking a lot recently about how quantum algorithms don’t work. But last week JR Minkel, an editor at Scientific American, asked me to write a brief essay about how quantum al…
There has been a sudden resurgence of interest in my "donut" code from 2006 , and I've had a couple requests to explain this one. It's been five years now, so it's not exactly fresh in my memory, so I will reconstruct it from scratch, in great detail, and hopefully get approximately the same result.
Andrej has invited me to write about certain surprising functional programs. The first program, due to Ulrich Berger (1990), performs exhaustive search over the “ Cantor space ” of infinite sequences of binary digits. I have included references at the end. A weak form of exhaustive search amounts to checking whether…
One of the best things about modern cryptography is the beautiful terminology. You could start any number of punk bands (or Tumblrs) named after cryptography terms like ‘hard-core predicate&#…
I'm assuming you're familiar with the basic idea of what a Turing machine is . There are a few parts to building one in Magic: a tape extending in two directions storing cells of a few different "colours"; a processing head that can read the current cell's colour, write a new colour and change its state if necessary…
Years ago, while working on an explanation of the Fourier Transform, I found this diagram: Most ideas aren't inherently confusing, but their technical…
(You probably already have realized this.) The reason the compiler produced code that terminated was based upon the fact that the values being altered (i.e., a, b and c) within the “while” loop are never referenced again after the loop. But, once you added code which printed the resulting values it was forced to…
There are lots of people and places that create and collect algorithms of all types ( here are a few WWW sites). Unfortunately, in building systems hardware and software, we in The Aggregate often have found it necessary to do relatively obscure low-level things very efficiently. Many of the tricks we've devised or…
In science fiction, it is pretty standard fare to introduce some form of faster-than-light communication or travel. After all, space is big, and you can't write your swashbuckling Hornblower-in-space novel if you have to wait for a generation ship to crawl painfully slowly between the nearest stars,