July 2017

{kind: subtitle}

August 2017

{kind: subtitle}

{hhr, 23-Jul-2017}

Working on the upcoming collaborative exhibition Schwärmen+Vernetzen (with Nayarí Castillo and Gertrude Grossegger). Although time pressure is slowly mounting, I'm still trying to see if I can work comfortably enough within Mellite.

I'm starting to understand how I can use Action objects as tiny test scripts that have simple access to workspace objects. Also, I try to keep notes within the workspace, using the fairly recent Markdown object.

{kind: diary, group: july, keywords: [action, workspace, Mellite]}

{hhr, 07-Aug-2017}

The 'mini-residency' at Akademie Graz for the exhibition Schwärmen+Vernetzen is in full effect; we are basically living there weekdays and weekends. Things fall into place, but there is still a staggering amount of work to do in the remaining 15 days. All sound and video Pis have now an automatically updatable software mechanism, so I can quickly iterate. The sound composition still remains largely to be implemented, although the structure is mostly in my head, and the raw material is all there (but 2/3 need to be segmented and annotated). The speaker channel outlets are all there, but the speakers themselves have to be cabled, something made difficult by the fact that none of the "arms" of the visual installation has been built yet.

Right after the opening, I have to turn to the preparation phase with Ron, and I have been invited to submit a revised version of the xCoAx conference paper for a special issue of CITAR journal. Then in mid September I'll be participating in the 3rd workshop on algorithmic listening.

Here is an interesting blog I want to read when I find time.

{kind: diary, group: aug7, place: Akademie Graz, keywords: [_, residency, sound, video, raspberry, pi, update, software, speakers, cables]}

{hhr, 09-Aug-2017}

Today we changed the space in Akademie Graz to 'sunset red'. Naya has made progress with her 'animals' that form the 'arms' in the space, and so we decided on the cable paths and cut the speaker cables. I have sketched out the algorithm for the 'video node initiative', and began transcribing it into software. Several interesting questions arise - how do obtain coordinated collective behaviour across a network of nodes that requires more communication that "just" emerging behaviour from the individual interactions? I looked into the idea of a two-phase-commit, and sketched out a simplified form of dynamic 2PC, i.e. without a predetermined coordinator. A node sends out the request for a transaction, looking for partners to participate in that transaction. Either it collides and it is thus rolled back, or we find zero, one, or more than one candidates. This looks reasonable on paper, but let's see what surprises the implementation will bring. In any case, it is quite a change from my previous pieces that have a single instance performing transactions, and this networked mode of coordination.

Meanwhile, I decided to use the 'trunks' series of miniatures that had also made it into the xCoAx version of "Inner Space". The video screens are now shown distorted through a lens and behind the entrance hole of a beehive. While I love the lens, I'm not entirely happy about the reduced view size of the slit of the hive. I am now rendering a variant of 'trunks' that "returns to zero", i.e. continues the rotation until it comes back to the situation-A parameters, making it possible to loop the video for an indefinite duration.

{kind: diary, group: aug9, place: Akademie Graz, keywords: [_, residency, sound, video, raspberry, pi, light, phase, commit, nodes, communication, transactions]}

{hhr, 14-Aug-2017}

Yesterday I found a basic algorithm for creating the pathways between video nodes across the audio nodes in Schwärmen+Vernetzen. But on the laptop it takes up to twenty seconds to calculate a path, and so I suspect it will be even a minute or more on the Pi. So I am now working on an efficient version of it, replacing all purely functional data structures with arrays, avoiding stack etc.

The MST calculation via Kruskal is quite straight forward, but the depth-first-search in the resulting tree is more involved, if I want to avoid building Map[Vertex, Set[Edge]]. But it suddenly stroke me that I might be not needing that at all, since Kruskal uses an auxiliary Union-Find structure - I have an intuition that this structure will already be filled so that I can simply connect the two dots. (Exploring this right now)

{kind: diary, group: aug14, place: Akademie Graz, keywords: [_, residency, sound, video, raspberry, pi, mst, optimisation, union find, Kruskal]}

{hhr, 14-Aug-2017}

that didn't work :-( i.e. can't use the existing union-find structure.

- - - - - - - - - - - -


Something interesting to follow up on: Monte Carlo simulation of the 2D Potts model - Part 2

{kind: diary, group: aug14, keywords: [union find]}

schwärmen + vernetzen: summer 2017

{kind: title}

meta: true
author: hhr
project: schwaermen vernetzen

keywords: [blog, development, exhibition]