Visual Analysis of Binary Files
binvis.io
binvis.io
I had two modes, monochrome (the bits) and grayscale (the bytes).
Anyway funny thing happened, I had a buffer overflow and my program ended up visualizing its own memory.
Actually I had the same error another time, I was trying to make a simple Terraria clone (like 2D Minecraft) and the terrain ended up rendering my mouse coordinates interpreted as booleans or something.
C is fun!
There was an episode of Cowboy Bebop, where a mechanic held a wrench against an engine cowling to see how much it vibrated (likely a real thing people do with real engines?) and, of course, the computer sounds in the Enterprise-D, along with blinkenlights.
All this seems like the same kind of "translate data into a form humans can perceive." I'm not sure what immediate value this utility has, but I like it.
I also heard stories of professors who would know a program had a bug based on the sounds the computer was making. (Back when they were slightly slower!)
You’d sit in the office with your back to it and the clicky clacky sounds would be going every so often when the content updated. but people would know the specific clicky clacky sound that required them to turn around and read the sign based on their job function.
I’ve also heard of day traders mapping stock tickers or other data into sound and having headphones on all day with it
I was watching a documentary about dirt track racing and they showed one of the mechanics on the team who was blind.
He would put a long screwdriver on the engine and hold the handle to his ear. He could debug timing issues by hearing the vibrations.
There is also the case of the water leak detectors in the UK who use basically a long stick with one end on the ground and the other in their ear. e.g. https://www.youtube.com/watch?v=gVeEoWTsiiw
“All I see is blonde, brunette, redhead…”
I don't know the name of the tool that did entropy visualization you're remembering, but this was my cue to mention that vizbin does that using the colorizer of your choosing.
https://github.com/scottvr/vizbin/blob/main/docs/GALLERY.md#...
It can also show you a binary diff with colorization (and unlike cmp, an insertion does not make everything after it a "change", which I find useful.) https://github.com/scottvr/vizbin/blob/main/docs/GALLERY.md#...
Another comment mentions using such a tool on source code; the binary strings example shows just that, with the source embedded in a tarball. Text is rendered as an 8x8 glyph font so you can immediately eyeball both.
https://github.com/scottvr/vizbin/blob/main/docs/GALLERY.md#...
Rendering known pure text as 8x8 bitmap fonts via the tool might be a bit ludicrous, but you can force a different byteclass and see only the colors and not the actual ASCII characters, which I think might be what they are getting atwanting to do. https://github.com/scottvr/vizbin/tree/main#profile-structur...
Another useful things falls out from combining these concepts, which is that you could run `vizbin` on an entire repo. The example from the README (which assumes binaries) is given:
# which files stand out? cluster by their region composition
vizbin profile corpus/\*.bin --json | \
jq -r '[(.regions|map(.kind)|unique|join("+")), .source] | @tsv'
The github repo has been linked a handful of times above, but you can also just install it from PyPi with `pip install vizbin`