lock flags page mask spin key queue table head map ring address frame path root atomic trace clocks raw stream handler tail
self pipe unlikely pool owner flush filter dirty journal trees slave callback thread magic loop leaf family chain cookie 
window walk dummy stack watchdog vortex quirk mailbox diva bat bail ether voice fabric dig scratch bucket job prism words 
fence tunnel dead hook dropped ...


gohai / gottfried.haider@gmail.com

These words stem from a 2012 linguistic analysis of the Linux kernel ../bibliotecha/source_contents_booklet.pdf,
which attempted to get a glimpse at the mental models and conceptualizations underlying the fabric of this very OS.
Whereas the syntax of a programming language is a fixed convention (e.g. keywords such as "for", "switch", "break"), 
the naming of the built architecture is generally up to the programmer to decide. As such ambitious projects are rarely 
developed by a single person alone, the naming becomes a critical part of the code's legibility.

The 2012 analysis focused on variable names, function names and the naming of custom (variable) types. More general 
prose, as found in string literals or comments interleaved with code were purposely not part of this effort.



As part of our collaborative investigation of pipelines, promiscuity, QueerOS etc I worked on a new piece of software 
that would give a similar insight into various (user-space) programs while they were running - e.g. while they were 
busy piping some sort of data from one into the other.


../sewermuseum/word_tempest_sketch.jpg


Usage:
    sudo ./word_tempest.py "command to run"
    - this will periodically send a JSON encoded dictionary of words observed over the network
    - makes use of perf for sampling



Static Dumps:

sudo ./word_tempest.py "top"
../sewermuseum/20150905/top.json

../sewermuseum/20150905/top_screenshot.png


sudo ./word_tempest.py "gimp"
../sewermuseum/20150905/gimp.json

../sewermuseum/20150905/gimp_screenshot.png


sudo ./word_tempest.py "dd if=/dev/random of=/foo bs=1m count=1024"
../sewermuseum/20150905/dd.json