one particularly dumb thing you can do with a network is arrange two nodes to bounce messages back and fourth as fast as they possibly can, like a game of ping pong. while activity this is fun in and of itself (at least perhaps for some), the more interesting things occur when we tie the act of sending and receiving to something we can experience directly. the first thing i tried was to have either node count the number of times it caught a message and threw it back. this was interesting for about three seconds, which is just about how long it took for a packet collision to stop the whole process anyway. then i had a particularly stupid idea: why not use a network as an oscillator? here's what happened:
so most simple square-wave oscillators work by outputting a 'hi' or in our case a '1', feeding that back into the input, inverting it to a 'low' (-1), and starting the process over again. using various methods of 'slowing down' this feedback process, we get differences in what we perceive as pitch (or rate, if it's lower than ~20hz). unfortunately, i decided this would be fun to accomplish over a udp network.
in the above tastefully coloured ascii diagram, you will notice a main feedback loop between two nodes whose names are in Pali: Dukkha, translating to 'suffering', and Sunnata, or 'emptiness'. Don't worry about my mental state-- Dukkha is the first of the four Noble Truths of Buddhism (aka the Cattri) and the concept of 'emptiness' given this context is actually much more complex than it is angsty. in addition to these names are assignment operations taking place on variable 'i': i=-1*i, and i=i, respectively. this is an abstraction of the process that takes place inside of a schmitt trigger or some similar square oscillator. however, in this implementation, the rate at which the system feeds back is directly related to the conditions of the network, which is being utterly flooded with messages at a rate that is limited only by the language that is sending those messages, in my case SuperCollider. since, as i said before, packet collisions generally stop this game before longer than a few seconds, every once in a while one of the nodes sends out a message that isn't contingent on the other node, just to keep things rolling.