squareFuck is a performance that extends the live coding act to outside of the software IDE, by integrating real time assembly and manipulation of electronic circuits to the traditional “show us your screen” code display. Two main sound sources will be utilized, both on the hardware realm.
Firstly several Arduino boards will be used to drive bare speakers. The Arduinos will be live coded, using a few small and simple algorithms, such as small delays along with loops, to directly feed quick 5V pulses from the digital pins on the board to the speaker, generating square waves. Since the loudspeakers are bare, as in “no amplifier circuit”, the amplitude of the generated sound is very low. Lavalier mics and coil inductors will be used to send sound back into the computer, in SuperCollider, for further manipulation, looping, and routing to a house mix. The second sound source will be a Texas Instrument CD4060B Integrated Circuit. Technically a “CMOS 14-Stage Ripple-Carry Binary Counter/Divider and Oscillator”, in practical terms the 4060 is a square wave generating IC, with around 10 frequency dividers, capable of subsonic/rhythmic pulses, up to ultra high pitched sounds. The 4060 has a working principle that makes it land itself very well to random patching and trial-and-error component switching on the circuit. Different electronic components can be inserted in several of the IC pins, at will, with different sounding results. Backward LEDs will create regular rhythms, capacitors will generate pitch glides, etc. With that in mind, a circuit around the IC will be constructed and modified live, and showed on the screen via a downward-facing webcam.
Besides receiving both of the sound sources, SuperCollider will also be in charge of generating the performing directives for the piece, by printing actions that the performer should follow. Those actions can be as strict as “add two resistors to the circuit”, or as broad as “make it groovy...”. Those actions will be pre-written beforehand, and selected at random at a faster and faster pace as the performance evolves, up to a point where it is physically impossible for the performer to follow all the instructions. That impossibility is to be shown via the circuit and/or code manipulation. The process unveiled to the audience, ultimately, is the process of failing.
This approach of setting up a constrain system, creating an automata, setting it in motion, and managing it during the performance, speaks to previous works I’ve done, such as the 2016 International Conference in Live Coding performance screenBashing [vimeo.com/212694246]. I'm very interested in the creation of automatas and autonomous systems where I, as a performer, am in charge only of managing those systems, up to an inevitable point to failure. squareFuck builds upon that premise.