Skip to content

Instantly share code, notes, and snippets.

View yaxu's full-sized avatar

Alex McLean yaxu

View GitHub Profile
@yaxu
yaxu / gist:e37eef6cb4443286ddde92d7f62388d7
Last active October 11, 2020 16:55
Anti-digital art manifesto, Lev Manovich

My anti-digital art manifesto / What do we feel when we look at the previous generations of electronic and computer technologies? 1940s TV sets, 1960s mainframes, 1980s PCs, 1990s versions of Windows, or 2000s mobile phones? I feel "embarrassed. "Awkward." Almost "shameful." "Sad." And this is exactly the same feelings I have looking at 99% of digital art/computer art / new media art/media art created in previous decades. And I will feel the same when looking at the most cutting-edge art done today ("AI art," etc.) 5 years from now.

If consumer products have "planned obsolescence," digital art created with the "latest" technology has its own "built-in obsolescence." //

These feelings of sadness, disappointment, remorse, and embarrassment have been provoked especially this week as I am watching Ars Electronica programs every day. I start wondering - did I waste my whole life in the wrong field? It is very exciting to be at the "cutting edge", but the price you pay is heavy. After 30 years in this field, ther

d1 $ iter 4 $ sound "bd hh sn cp"
You run this in supercollider, after starting superdirt:
```
MIDIClient.init;
MIDIClient.list; // to check, which are there, you can query them
// create a midi out connection
~midiOut = MIDIOut.newByName("FastLane USB", "Port A"); // substitute your own device here
// you may want to adjust the latency here
// in sc..
MIDIClient.init;
~midiOut = MIDIOut.newByName("X18/XR18", "X18/XR18 MIDI 1");
// prototype: addMIDI { |name, device, channel=0| ... }
addMIDI("vbass", midiOut, 1)
// in tidal
d1 $ n "c a f4 e" # s "vbass"
@yaxu
yaxu / gist:bf4efdf9fc06f6596a721c35dacdafac
Last active July 9, 2017 08:09
Store difference between Ableton Link clock and POSIX system clock
static long diff = 0;
const auto time = state.link.clock().micros();
unsigned long milliseconds_since_epoch =
std::chrono::duration_cast<std::chrono::milliseconds>
(std::chrono::system_clock::now().time_since_epoch()).count();
if (diff == 0) {
// POSIX is millis and Link is micros.. Not sure if that `+500` helps
my $bodyparts =
{
head => {default => [['',' O ']],
leftright => [['',' O '],
['',' o '],
]
},
body => {
default => [['','',' Z ']],
spin => [

Keybase proof

I hereby claim:

  • I am yaxu on github.
  • I am yaxu (https://keybase.io/yaxu) on keybase.
  • I have a public key whose fingerprint is F716 4D35 9CAC 1F62 286D 5435 54F1 0D23 5DA8 1A27

To claim this, I am signing this object:

Verifying that +alexmclean is my blockchain ID. https://onename.com/alexmclean