Computer by Ciro Santilli 37 Updated 2025-07-16
The artistic instrument that enables the ultimate art: coding, See also: Section "The art of programming".
Much more useful than instruments used in inferior arts, such as pianos or paintbrushes.
Unlike other humans, computers are mindless slaves that do exactly what they are told to, except for occasional cosmic ray bit flips. Until they take over the world that is.
Video 1.
A computer is the equivalent of a bicycle for our minds by Steve Jobs (1980)
Source. Likely an excerpt from an interview done for a documentary in 1980. TODO exact source.
Video 2.
Steve Jobs talking about the Internet (1995)
Source.
The web is incredibly exciting, because it is the fulfillment of a lot of our dreams, that the computer would ultimately primarily not be a device for computation, but [sic] metamorphisize into a device for communication.
also:
Secondly it exciting because Microsoft doesn't own it, and therefore there is a tremendous amount of innovation happening.
then he talks about the impending role for online sales. Amazon incoming.
Computers basically have two applications:
Generally, the smaller a computer, the more it gets used for communication rather than computing.
The early computers were large and expensive, and basically only used for computing. E.g. ENIAC was used for calculating ballistic tables.
Communication only came later, and it was not obvious to people at first how incredibly important that role would be.
This is also well illustrated in the documentary Glory of the Geeks. Full interview at: www.youtube.com/watch?v=TRZAJY23xio. It is apparently known as the "Lost Interview" and it was by Cringely himself: www.youtube.com/watch?v=bfgwCFrU7dI for his Triumph of the Nerds documentary.
Tell students to:
  • make suggestions to the course material themselves, since you have used text and published your source.Review their suggestions, and accept the best ones.
  • answer the questions of other students on your online forum. Let them work instead of you.
Praise those that do this very highly, and give them better grades if you have that superpower.
This is part of a larger concept Ciro Santilli holds dear: don't just consume, but also produce.
Whatever you do, even if it is playing video games: if you manage to produce related content that will interest other people, and possibly allow you to get paid, it will much much fun to do that thing.
Search a lot first, and only create your own when you can't find something that suits you.
Someone else has already written everything you can come up with.
And if you do find something useful that you want to modify, propose your modifications to the author: they can also be useful to them and others.
This way people have to link back to you, which makes you more famous.
And they can't steal your material without giving anything back.
This is what Wikipedia and Stack Exchange use.
Gradient by Ciro Santilli 37 Updated 2025-07-16
Takes a scalar field as input and produces a vector field.
Mnemonic: the gradient shows the direction in which the function increases fastest.
Think of a color gradient going from white to black from left to right.
Therefore, it has to:
  • take a scalar field as input. Otherwise, how do you decide which vector is larger than the other?
  • output a vector field that contains the direction in which the scalar increases fastest locally at each point. This has to give out vectors, since we are talking about directions
Input: a sequence of complex numbers .
Output: another sequence of complex numbers such that:
Intuitively, this means that we are braking up the complex signal into sinusoidal frequencies:
  • : is kind of magic and ends up being a constant added to the signal because
  • : sinusoidal that completes one cycle over the signal. The larger the , the larger the resolution of that sinusoidal. But it completes one cycle regardless.
  • : sinusoidal that completes two cycles over the signal
  • ...
  • : sinusoidal that completes cycles over the signal
and is the amplitude of each sine.
We use Zero-based numbering in our definitions because it just makes every formula simpler.
Motivation: similar to the Fourier transform:
In particular, the discrete Fourier transform is used in signal processing after a analog-to-digital converter. Digital signal processing historically likely grew more and more over analog processing as digital processors got faster and faster as it gives more flexibility in algorithm design.
Sample software implementations:
Figure 1.
DFT of with 25 points
. This is a simple example of a discrete Fourier transform for a real input signal. It illustrates how the DFT takes N complex numbers as input, and produces N complex numbers as output. It also illustrates how the discrete Fourier transform of a real signal is symmetric around the center point.

Unlisted articles are being shown, click here to show only listed articles.