Discrete Fourier transform Updated 2025-07-16
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.
Display manager Updated 2025-07-16
Check which you you have:
systemctl status display-manager.service
Tested on Ubuntu 23.10 I see:
● gdm.service - GNOME Display Manager
     Loaded: loaded (/lib/systemd/system/gdm.service; static)
     Active: active (running) since Sun 2023-12-24 10:34:50 GMT; 23min ago
    Process: 1827 ExecStartPre=/usr/share/gdm/generate-config (code=exited, status=0/SUCCESS)
   Main PID: 1850 (gdm3)
      Tasks: 4 (limit: 71817)
     Memory: 6.8M
        CPU: 119ms
     CGroup: /system.slice/gdm.service
             └─1850 /usr/sbin/gdm3
which means I have GNOME Display Manager.
DNA detection Updated 2025-07-16
DNA detection means determining if a specific DNA sequence is present in a sample.
This can be used to detect if a given species of microorganism is present in a sample, and is therefore a widely used diagnostics technique to see if someone is infected with a virus.
You could of course do full DNA Sequencing to see everything that is there, but since it is as a more generic procedure, sequencing is more expensive and slow.
The alternative is to use a DNA amplification technique.
DNA microarray Updated 2025-07-16
Can be seen as a cheap form of DNA sequencing that only test for a few hits. Some major applications:
DNA repair Updated 2025-07-16
DNA sequencing milestone Updated 2025-07-16
Most of these are going to be Whole-genome sequencing of some model organism:
en.wikipedia.org/wiki/Whole_genome_sequencing#History lists them all. Basically th big "firsts" all happened in the 1990s and early 2000s.
AKA how this GitHub page gets served under the domain: cirosantilli.com
Ciro only touches this very rarely, and always forgets and go into great pain whenever a change needs to done, so it is important to document it.
The last change was of 2019-07-07, when Ciro moved from the www subdomain www.cirosantilli.com to the APEX cirosantilli.com. A redirect is setup from the www subdomain to APEX.
GoDaddy DNS entries:
Type    Name    Value                   TTL
A       @       185.199.108.153         1 Hour
A       @       185.199.109.153         1 Hour
A       @       185.199.110.153         1 Hour
A       @       185.199.111.153         1 Hour
CNAME   www     cirosantilli.github.io  1 Hour
Moved cirosantilli.com to Porkbun 2022-02, unfortunatly records were not automatically updated and domain went down for a bit, upadded to new entries for IPv6 as well which are not documented by GitHub:
TYPE 	HOST	ANSWER	TTL	PRIORITY	OPTIONS
A	cirosantilli.com	185.199.108.153	600
A	cirosantilli.com	185.199.109.153	600
A	cirosantilli.com	185.199.110.153	600
A	cirosantilli.com	185.199.111.153	600
AAAA	cirosantilli.com	2606:50c0:8000::153	600
AAAA	cirosantilli.com	2606:50c0:8001::153	600
AAAA	cirosantilli.com	2606:50c0:8002::153	600
AAAA	cirosantilli.com	2606:50c0:8003::153	600
CNAME	www.cirosantilli.com	cirosantilli.github.io	600
  • Custom domain: cirosantilli.com
  • Enforce HTTPS: checked
And the CNAME file is tracked in this repository: CNAME.
A group of Chinese researchers have just published a paper claiming that they can—although they have not yet done so—break 2048-bit RSA. This is something to take seriously. It might not be correct, but it’s not obviously wrong.
We have long known from Shor’s algorithm that factoring with a quantum computer is easy. But it takes a big quantum computer, on the orders of millions of qbits, to factor anything resembling the key sizes we use today. What the researchers have done is combine classical lattice reduction factoring techniques with a quantum approximate optimization algorithm. This means that they only need a quantum computer with 372 qbits, which is well within what’s possible today. (The IBM Osprey is a 433-qbit quantum computer, for example. Others are on their way as well.)
Found through Google with no direct relation known to Ciro Santilli:
Possibly related variants:
This post-quantum cryptography competition by NIST is a huge milestone of the field.
It was mind blowing when in 2022, after several years of selection, one of the 7 finalists was broken on a classical computer, not even in a quantum computer! news.ycombinator.com/item?id=30466063 | eprint.iacr.org/2022/214 Breaking Rainbow Takes a Weekend on a Laptop by Ward Beullens. Dude announced he had a break a few days before submission: twitter.com/WardBeullens/status/1492780462028300290 On Twitter. He's so young. Epic.
Edit: and then, after the third round, things were a bit unclear, so they made a fourth round with 4 choices out of the 7 from round 3, and in August 2022 one of the four was broken again on a classic CPU!!! OMG: arstechnica.com/information-technology/2022/08/sike-once-a-post-quantum-encryption-contender-is-koed-in-nist-smackdown/
OpenShot Updated 2025-07-16
Ubuntu 20.10 crash...:
  exceptions:ERROR Unhandled Exception
Traceback (most recent call last):
  File "/usr/bin/openshot-qt", line 11, in <module>
    load_entry_point('openshot-qt==2.5.1', 'gui_scripts', 'openshot-qt')()
  File "/usr/lib/python3/dist-packages/openshot_qt/launch.py", line 97, in main
    app = OpenShotApp(argv)
  File "/usr/lib/python3/dist-packages/openshot_qt/classes/app.py", line 218, in __init__
    from windows.main_window import MainWindow
  File "/usr/lib/python3/dist-packages/openshot_qt/windows/main_window.py", line 45, in <module>
    from windows.views.timeline_webview import TimelineWebView
  File "/usr/lib/python3/dist-packages/openshot_qt/windows/views/timeline_webview.py", line 42, in <module>
    from PyQt5.QtWebKitWidgets import QWebView
ImportError: /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5: undefined symbol: _ZN4QRhi10newSamplerEN11QRhiSampler6FilterES1_S1_NS0_11AddressModeES2_, version Qt_5_PRIVATE_API
Optical fiber Updated 2025-07-16
Video 1.
The Story of Light by Bell Labs (2015)
Source. Gives some ideas of the history of fiber optics. Features: Herwig Kogelnik.
Video 2.
Fiber optic cables by EngineerGuy
. Source.
Video 3.
Fiber optics fundamentals by Shaoul Ezekiel
. Source. 2008 at MIT. Theory and demonstration.
Optics Updated 2025-07-16
When dealing more specifically with individual photons, we usually call it photonics.
Ordered pair Updated 2025-07-16
Sets are unordered, but we can use them to create ordered objects, which are of fundamental importance. Notably, they are used in the definition of functions.

There are unlisted articles, also show them or only show them.