I, unfortunately, cannot find an online copy currently.
Knuth's TAOCP's latest published part, Volume 4 Fascicle 6, on Satisfiability contains a number of visualizations that really are amazing and worth just buying a copy of the book for, just to ponder over these images.
The satisfiability problem of whether there exists an assignment of boolean values that makes a given boolean formula evaluate to TRUE is, IMO, truly a fundamental problem in computer science.
Any piece of code with some inputs and outputs can be transformed into a boolean formula (albeit a huge one). This process feels akin to expressing molecules, from simple ones like H2O, to the highly complex proteins that make up much of our Cells, in their constituent atoms and more importantly the atom interactions.
Knuth (EDIT: Actually, Carsten Sinz) takes this concept one step further and produces visualizations of non-trivial boolean formulas that clearly show the regular, both symmetrical and asymmetrical, sometimes fractal-like nature of these formulas.
In my mind, these visualizations are quite powerful and strikingly show the fundamental building blocks of (digital) computation.
> Knuth takes this concept one step further and produces visualizations of non-trivial boolean formulas that clearly show the regular, both symmetrical and asymmetrical, sometimes fractal-like nature of these formulas.
The visualizations were done by Carsten Sinz.
This is his paper describing the technique:
Carsten Sinz. Visualizing SAT Instances and Runs of the DPLL Algorithm. J. Automated Reasoning, 39(2):219-243, 2007.
I am lucky to be paid to work on SAT. I wouldn't yet say I am an expert, yet, but it is really a pleasure to do so. Trying to improve on algorithms to solve these problems is truly humbling.
What I found particularly striking about them was how much they reminded me of both neurons and larger brain structures, as well as some of those newer, ML-assisted FMRI imagery.
Probably just coincidence and wishful thinking, but it instills a sense of daydream-like wonder all the same.
I grew up after that sound, but I can mentally play back a dialup sound purely because it is used in every second show, podcast, documentary on computers.
It kept the speaker on at first so you could hear if a human answered the phone, or got some network message like "all circuits are busy". It muted once it had a confirmed modem on the other end.
It used to be useful to me back when my ISP had 28800 bps and 33600 bps capable modems in their pool, and I had a 33600 -- I learned to hear from the handshake when I hit one of the slower modems and would then immediately hang up and try again until I got one of the fast ones ;)
It was pretty useful in my experience because sometimes the line you called was busy, sometimes a human answered instead of a computer, and sometimes a computer modem just didn’t pick up for whatever reason. Hearing the dial & handshake was a way to know what exactly went wrong when you weren’t able to connect. BBSs didn’t have this problem so much, but it happened often enough when modeming with friends or with small businesses that didn’t have a large modem bank and a lot of lines. Typing the wrong number was common. I also remember experimenting with robo-dialing with my childhood friends, calling through a list of numbers, like in War Games, looking for unknown computers to connect to.
You could turn it on by sending the correct Hayes command before connecting. It's really annoying! And it can't be turned back off again until you disconnect.
Is it just me or... does the modem audibly say "Hi" when the connection is successful? Probably just me projecting from my imagination, but listen to the part after the handshaking and before the white-noise dataflow. There's a very clear 'boing-boing' sound and then a bunch of static that sort-of sounds like someone whispering the word "Hi". It's not just on the linked recording above, I remember being conscious of this back in the day when dial-up was "normal". Just curious to know if anyone else encountered this trick of perception...
Anyway, hearing those tones again did bring back all the feels, the joy of hearing that "boing-boing-Hi" greeting as I stepped once again onto the "Information Superhighway".
This makes me wonder: 1) Does Wikipedia / Wiki* not have a JS pan & zoom tool for graphics like these and 2) Has no one else made something like that just for this graphic?
Asking because the graphical linux genealogy concept / this illustration have been around for a while, as have JS pan & zoom plugins, and it's totally worth having something like this in that format.[1]
Edit: OK, there is Gadget-ZoomViewer (below), but maybe it doesn't work for SVGs? I don't see the option to open ZoomViewer from the Commons image page for this image.
I would like to see a lot more of them in the world, as interactive tools as well as simply diagrams. I think they would make a great basis for a UI to design multi-step async processes where things can fail at any point and you want to handle different failures differently.
Not sure if it fits in scope, but I find this classic to be an ingenious intro to where to start from in terms of visualisation:
https://bost.ocks.org/mike/algorithms/
I often cite this diagram: https://upload.wikimedia.org/wikipedia/commons/3/37/Netfilte... as my favorite picture. It shows the logical flow of packets through Linux. I'm pretty sure my career would be on a very different trajectory had I not discovered an earlier version of it back in ~2006.
Sadly I have not. I've been on the lookout though. I've also considered adding annotations for ebpf hooks to this one, but that turns out to be rather difficult to keep up with too.
Not as academic as some of the other replies, and certainly not all of them are CS-related, but Bartosz Ciechanowski's interactive web illustrations are fantastic examples of modern visuals.
It's the sort of interactive educational content that I always imagined computers and the internet would be amazing for, it just never panned out at a large scale.
Maybe not easy enough to create, maybe not profitable enough, who knows.
So unplanned interruptions affect programmers less than planned ones ? Next time I need to talk to a dev, I'll be sure to pop to their desk unannounced rather than trying to find a suitable time beforehand then ! /s
Knuth's TAOCP's latest published part, Volume 4 Fascicle 6, on Satisfiability contains a number of visualizations that really are amazing and worth just buying a copy of the book for, just to ponder over these images.
The satisfiability problem of whether there exists an assignment of boolean values that makes a given boolean formula evaluate to TRUE is, IMO, truly a fundamental problem in computer science.
Any piece of code with some inputs and outputs can be transformed into a boolean formula (albeit a huge one). This process feels akin to expressing molecules, from simple ones like H2O, to the highly complex proteins that make up much of our Cells, in their constituent atoms and more importantly the atom interactions.
Knuth (EDIT: Actually, Carsten Sinz) takes this concept one step further and produces visualizations of non-trivial boolean formulas that clearly show the regular, both symmetrical and asymmetrical, sometimes fractal-like nature of these formulas.
In my mind, these visualizations are quite powerful and strikingly show the fundamental building blocks of (digital) computation.
The visualizations were done by Carsten Sinz.
This is his paper describing the technique:
Carsten Sinz. Visualizing SAT Instances and Runs of the DPLL Algorithm. J. Automated Reasoning, 39(2):219-243, 2007.
https://www.carstensinz.de/papers/JAR-2007-Visualization.pdf
https://doi.org/10.1007/s10817-007-9074-1
https://imgur.com/a/lPPpT3L
Physical pages 116-117; PDF pages 126-127.
ProTip: Order the 5 vol set directly from Addison-Wesley, it's much cheaper than anywhere else.
Edit: Fixed a typo.
What I found particularly striking about them was how much they reminded me of both neurons and larger brain structures, as well as some of those newer, ML-assisted FMRI imagery.
Probably just coincidence and wishful thinking, but it instills a sense of daydream-like wonder all the same.
https://oona.windytan.com/posters/dialup-final.png
from https://www.windytan.com/2012/11/the-sound-of-dialup-picture...
https://twitter.com/worrydream/status/977058412990152704
Anyway, hearing those tones again did bring back all the feels, the joy of hearing that "boing-boing-Hi" greeting as I stepped once again onto the "Information Superhighway".
I'm actually surprised the link, company, and poster are all still valid/working 10 years later.
Asking because the graphical linux genealogy concept / this illustration have been around for a while, as have JS pan & zoom plugins, and it's totally worth having something like this in that format.[1]
Edit: OK, there is Gadget-ZoomViewer (below), but maybe it doesn't work for SVGs? I don't see the option to open ZoomViewer from the Commons image page for this image.
https://zoomviewer.toolforge.org/index.php?f=Quaternary_Geol...
https://commons.wikimedia.org/wiki/Help:Gadget-ZoomViewer
1. See "Expand" tool here: https://digitalcollections.lib.washington.edu/digital/collec...
[1] https://upload.wikimedia.org/wikipedia/commons/7/74/Timeline...
https://en.wikipedia.org/wiki/Syntax_diagram
They're used at https://json.org/, for example.
https://inst.eecs.berkeley.edu/~cs61a/sp21/assets/slides/33-...
They're used in the SQLite docs as well, where I think they're really well suited.
https://pikchr.org/home/doc/trunk/doc/sqlitesyntax.md
https://github.com/GuntherRademacher/rr
Bit of a discussion on how they're created here: https://wiki.tcl-lang.org/page/Generating+Syntax+Diagrams+Us...
[1] https://www.sqlite.org/lang_select.html
https://www.json.org/json-en.html
SQLITE uses them now as well: https://www.sqlite.org/lang_aggfunc.html
Things like:
GPS: https://ciechanow.ski/gps/
Alpha Compositing: https://ciechanow.ski/alpha-compositing/
Floating Point numbers: https://ciechanow.ski/exposing-floating-point/
It's the sort of interactive educational content that I always imagined computers and the internet would be amazing for, it just never panned out at a large scale.
Maybe not easy enough to create, maybe not profitable enough, who knows.
https://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt...
(mirror) https://i.pinimg.com/originals/23/b0/75/23b075bebdcea554929b...
(direct) https://i.redd.it/e7ltreiv98j71.png