Transparency of process. coding at the commandline
0) pure:dyne (customised to include data radio, osctrans/dump and devdisplay)
see: https://devel.goto10.org/puredyne
and for our own module/iso: http://1010.co.uk/tech_notes2.html#4
Basic use (nesting?) and testing. Hardware recognitioan
Opening the terminal (xterm):
The classic: cat /dev/hda1 > /dev/dsp
and cat /dev/dsp
and use of devdisplay. cat whatever | devdisplay |
1) UNIX and commandline use - using the terminal - finding one's way around:
the shell: BASH, zsh
kernel and user-space (OS and hardware)
files and processes - exposure
documentation: man, --usage
filesystem (ls, ls -R, cd)
init and processes - ps, pstree, proc filesystem, file handlers
devices as files - read and write (ls -laR /dev) eg. /dev/dsp /dev/urandom
STDIN and STDOUT
dangers...
2) Pipes and redirection. devices. /dev/dsp. /dev/urandom - piping to and from
Operators:
%%> | %% |
cat /dev/dsp > recorder
cat recorder > /dev/dsp
more advanced:
tee: cat /dev/dsp | tee /dev/dsp > /dev/tty |
listenpipe: http://www.vanheusden.com/listenpipe/
3) basic commands - tac:
tac - concatenate and print files in reverse
dd - dd if=source of=dest
at - echo "mail -s 'go directly to jail' m@1010.com < /dev/null" | at 15:25 (not in pure:dyne mail/at) |
kill
yes - rhythmic
split and csplit
strings
diff
grep
3.5) ap0202 and pipes
cells --usage
cell -m10000 -f / -o /dev/dsp -c piper
(also how to use to output to terminal:
cells -m1000 -i /dev/urandom -o /dev/tty
and:
xterm -e sh -c "/usr/bin/cells -m 10000 -f -o /dev/tty -s > /dev/null" )
4) xxxxx commandline tools: jekyll, i_am, devdisplay, osctrans, oscdump
jekyll: cat whatever | jekyll step samplesize > /dev/dsp |
i_am: cat whatever | i_am no_of_neurons inputs outputs > /dev/dsp |
OSC, osctrans and oscdump: the entry into networking
osctrans: pipe to OSC (hardwired to /test namespace):: example usage
cat whatever | osctrans 127.0.0.1 9999 (addr, port) and will send piped data as 8 bit values. |
oscdump: pipes from OSC (no namespace):: example usage
oscdump 5252 > ~/pdfifo
5) promiscuOS introduction: a leaking OS
6) networking - (wireless - iwconfig, ifconfig, ports, UDP/TCP, netcat (nc) examples:
netcat:
chat (TCP):
nc -l -p 3333
nc 192.168.1.22 3333
pipe over network:
nc -l -p 3333 > /dev/dsp
cat /dev/dsp > nc 192.168.1.22 3333
or - for remote execution:
nc -l -p 3333 > zsh
7) interface to PD - piperead~/write externals. netcat, OSC
mkfifo first
ext13/piperead:
open /blah/blah <1< and <0< for start and stop
piperead~ num_of channels
see documentation patch: pipeio~.pd (though currently crashed pure:dyne pd)
Netsend and netreceive objects (pdsend executable also):
This input can be any stream of Pd messages separated by semicolons.
use: nc 192.168.1.22 9999
OSC examples:
and partner sendOSC with connect IP PORT and send messages - see plenum examples
8) networked play
Further possibilities: shell scripting, Chicken Scheme, C code - forking
and ptrace, GNU Emacs