User:Vitrinekast

From XPUB & Lens-Based wiki
Revision as of 09:54, 2 April 2024 by Vitrinekast (talk | contribs)
pandoc --from markdown --to mediawiki -o ~/Desktop/{{file_name}} {{file_path:absolute}}

Overall, i think i can reduce the things im working with to the following verbs (or ’ings):

  • HTML’ing
  • Repair’ing (Or break’ing)
  • Sound’ing
  • Radio’ing
  • Solder’ing
  • Workshop’ing
  • developing the interest in Permacomput’ing
  • Server’ing

XPUB Changelog

September

  • Start XPUB with a read-tru of the manual
  • SI22 is about radio, transmission

(not to be confused with my best experience of the summer, Touki Delphine’s transmission(reference). Their work, a 20 minute audio/light experience performed by car parts was mesmerising and super inspiring, as I am still trying to figure out ways of performance without actually being there. )

  • Prototyping: making graphs with graphviz, blast from the past with installing chiplotle.

I’ve used the thermal printer/plotter tru chiplotle to be able to create my letter for joining XPUB. At the time, installing chiplotle was such a drag that I wasn’t very motivated to redo it on this new machine. But, it turns out it was way easier then I remember it being the first time!

The topics discussed by Ola Bonati were very recognisable, and something i’d love to explore further. The future of software is nintendo DS! (Reference)Not very interested in the demoscene in all honesty. Their response to the question “How is this related to permacomputing”, was “small file sizes”, and this contest of creating the most efficient line of code is not that appealing to me.

October


  • Zine camp

Earlier I made a node based representation of the worm archive, of which Manetta gave the very good feedback of asking what it was other then a fancy visual (not exactly those words!), and she was very right about this. I just wanted to play around with the file structure. But the basis of this was (going to be) used during the presentation at Zine Camp. The screenshot below shows the updated version, which includes loads of metadata extracted from the files at the archive. Unfortunately due to some personal things, I wasn’t able to join the presentation.

Transcluded wiki page of Granularchive

The Granularchive is a proposal to use as a tool during the presentation & radio broadcast of Zine Camp 2023, part of the Radio Worm: Protocols for an Active Archive Special Issue. Currently, the Granularchive can be visited via ChopChop.

The Granularachive previews all contents of an archive, by making use of exiftool (which is already installed on ChopChop). The content is displayed by translating a JSON file into the interactive SVG graph using D3.js. D3.js is an open-source javascript library.

Updating the Granularachive

  1. Upload new contents to the Granularchive folder on ChopChop via /var/www/html/archive_non-tree → name to be updated
  2. Within this folder, run exiftool -json -r . > exiftool.json, which will generate exiftool.json
  3. Make sure this exiftool.json is placed at the root of `/var/www/archive_non-tree', and overwrite the existing one. Now the tool is updated!


An extra step will be needed to also include all of the wordhole content into the granularchive

Example of exiftool.json

The data displayed below can be used to change the way the Granularchive is presented.

{
    "SourceFile": "./hoi/Folder1/Radio_Show_2008_3.mp3",
    "ExifToolVersion": 12.5,
    "FileName": "Radio_Show_2008_3.mp3",
    "Directory": "./hoi/Folder1",
    "FileSize": "0 bytes",
    "FileModifyDate": "2023:10:28 23:16:26+02:00",
    "FileAccessDate": "2023:10:30 08:39:14+01:00",
    "FileInodeChangeDate": "2023:10:28 23:17:20+02:00",
    "FilePermissions": "-rw-r--r--",
    "Error": "File is empty"
  },

Control the audio by moving the cursor. The snippet can be pasted into the console of a browser. I really enjoy this method of circuit bending existing webpages.

Transcluded wiki page of Mixercloud

Copy-paste this into your console! (Right click -> inspect elements > console)

Remix Mixcloud

(copy paste it into the console of your browser when visiting mixcloud.com)

var remixCloud = function () {
  var audio = document.querySelector("audio");
  var svgs = document.querySelectorAll("svg");
  var h1s = document.querySelectorAll("h1, h2, h3,button,img");
  var as = document.querySelectorAll("a");
  var timeout;
  document.addEventListener("mousemove", function (e) {
    if (!timeout) {
      timeout = window.setTimeout(function () {
        timeout = false;
        var r = 3 * (e.clientY / window.innerWidth) + 0.25;
        audio.playbackRate = r;
audio.currentTime = audio.duration * (e.clientX / window.innerWidth);

        svgs.forEach((el) => {
          el.style.transform = `scale(${(r, r)})`;
        });

        as.forEach((el) => {
          el.style.transform = `rotate(${r * 20}deg)`;
        });

        document.body.style.transform = `rotate(${r * -4}deg)`;

        h1s.forEach((el) => {
          el.style.transform = `rotate(${r * 10}deg)`;
        });
        
      }, 100);
    }
  });
};

remixCloud();

Adding audio elements to index files

// select all links
document.querySelectorAll("a").forEach((link) => {
    // if it includes your audio format (regex)
    if(link.href.match(/\.(?:wav|mp3)$/i)) {
        // create an audio element and set its source to yourlink
        var audioEl = document.createElement("audio");
        audioEl.src = link.href;
        audioEl.controls = true;
        audioEl.style.display = "block";
        link.insertAdjacentElement("afterend", audioEl)
    };

    // or an image
    if(link.href.match(/\.(?:jpg|png)$/i)) {
        var imgEl = document.createElement("img");
        imgEl.src = link;
        imgEl.style.display = "block";
        link.insertAdjacentElement("afterend", imgEl)
    }
});