week 130

– Stephanie Shirley on women and programming.  Another amazing woman that I didn’t know about.

– More places doing the self-hosting thing:  Known and Sandstorm.

– Went by Control today, and saw some gear by Mutable Instruments, and instantly fell in love.  What’s not to like about a ‘Topographic Sequencer’?

– At the well-named Neocities, some neat words about IPFS and the “permanent web” – which is what I would call the distributed web, but a rose by any other name would be as much of a git / bitorrent backed filesystem.

week 129

XENOFEMINISM.  I mean, that’s an instant click, right?

– Some clever bunnies can do really scary good things with synthesizing photos from sketches.

– Twenty women who shaped electronic music.  There will be a quiz.

– Wurrly is a bad name, but a machine that makes cover songs  is…more compelling that you might think.  There’s a future sneaking around here, somewhere, around hyperpersonalized music, edit culture, etc.

– If you’re the kind of person who is not instantly excited by a book called ABOUT TREES, well, I can’t help you.

week 128

Powers of two.

– I went to a PS1 Saturday show, and was really impressed by Rabit and JLin, who you can get hammered by here.  PS1 also has the strangest, most awkward dancefloor setup of all time, for better or for worse.

– Libraries are running Tor nodes.  Cue comments about tactical urbanism, etc

– James Holden famously made a patch for generating human timings from sequencers, which is black magic, but it got me thinking about the wow and flutter of real turntables.  Do they have a similar impact on how rigidly sequenced music was heard?

– There are mics that can capture electromagnetic fields.  Yessssss.

week 127

Polish, polish, hustle, hustle.

– Great articles on the current zeit by good people:  https://medium.com/hand-brain

– The Pico-8 is a fantasy console that saves things in .PNG.  It might be the best thing I’ve seen all year.

Omenana is a magazine for African science and speculative fiction.

week 126

Busy times in New York City.

– My friends Peter Sobot and Matt Ogle made a dreamer.  Is it just me, or is it somewhat creepy that a “dreaming” neural network produces images straight out of Lovecraft?

– “In his house in a Google datacenter, dead Cthulhu lies dreaming.”

Lightyear.fm is keeping track of all of our radio emissions.

Persistent Surveillance is just that, and was tested in Ohio, but thankfully not adopted, because some people don’t like living in a police state.  Remember , “keeping us safe is a never-ending task.”

– Some of the wizards at Spotify mapped the world’s music.  An amazing, amazing thing.

The End Of Capitalism, question mark?

week 122 / postmodern internet music

Went to a Monthly Music Hack Day, reinstalled Ubuntu, worked on The Future of Music.  Also learned about Hip Hop Transcriptions, which made my day.

I’ve been thinking about music on the internet, which is sort of the area where I’ve made my living.  It feel like the high wave that began in 1999 when Napster became the killer app for the internet has finally* broken and rolled back.  We still, in 2015, have record labels.  Everyone thought that they were dead – and then they invested in Spotify, and Jimmy Iovine is fronting Apple Music, and somehow nothing has changed.

In music, the workers have long since controlled the means of production.  But distribution on The Internet requires that you own your hosting**, which is a pain even for nerds.

Is there a way to elide the hosting process (maybe through AWS?), allow people to upload their music, give them a gorgeous player, and make it embedable?  If I am paying for my hosting, no one can tell me to take it down….and AWS offers a year free, as I recall.

* Yes, I am fully aware that I’m an old and nostalgic person.

** Bandcamp may save us all. Or Drip, for that matter.

 

the semiotics of error

What’s a bug?  And is it a glitch?  Or an error?  Well.

It was Grace Hopper, who, before inventing the compiler, popularized the term “bug” (though Edison may have coined it).

When I was a callow youth testing video games for money, a “bug” was defined as something contrary to design, and we were instructed to never use the word “glitch” to refer to something going wrong with the software in question.  “Error”, as a term, never came up, and “Exception” has its own meaning.

We don’t have “bug” art, though, or “error art” – we have glitch art.  Glitch is a good German/Yiddish word, from “glitschen”  and” gletshn” – which mean “slip”, in those two fine languages.  It was, apparently, used in the US space program:  John Glenn said that  “Literally, a glitch is a spike or change in voltage in an electrical current.”

You can recover from a spike, or from a slip – whereas you may or may not recover from a bug, either in software or in your immune system.  An error, on the other hand, is generally thought of as a permanent thing, whereas a glitch comes and goes, often seemingly of its own volition.

Glitch, for whatever reason, has come to indicate a visual or sonic error:  the results of a glitch are apprehendable by the senses, and instantly recognizable as glitches.  It would be rare to refer to, say, a subtle mistake made by a video game’s AI as a “glitch”, rather than a bug.

Bugs, of course, are legion.  “There’s a bug in the system”, not “we introduced a bug into the system”, and almost never “There’s an error in our code”.  The definition I was given of a bug as being contrary to design meant that the superclass of “bug” included both critical programming errors like memory leaks, and typos that caused a character’s hat to be the wrong colour.

Neither of those problems are a glitch, perhaps because they’re both easy to repeat.  Both glitches and bugs, however, allow the programmers in question to sidestep responsibility for the errors that they introduced into the code.  I’ve put lots of things out into the world, and seen them fail in some way, and waved it off by saying “oh, there are still some bugs”, when what I am actually saying is “I didn’t write good software”.  If I see a glitch, I’ll probably be excited:  “I didn’t know it could do that!”, for example.

Finally, “bug” may exist because “error” refers to an error in user input:  sending in a credit card number that is only 12 digits, say.  That will cause an exception in the code, which will hopefully be caught.  It is thus by design that the code does something erroneous.  So, rather than say “there was an error in my error-catching code”, it’s clearer to say that there was a bug.

week 121

jazz.computer is a favorite thing.

– In the terrible world of humans that we live in, remember that there are whales, and that they’re beautiful.

– Google keep knocking things out of the park:  Soli appears to be the answer to many an interface designer’s wildest dreams.

– Started Warren Ellis’s INJECTION, and am excited to keep up with it.

– Read and finished Octavia E. Butler’s KINDRED, which is heartrending and amazing.

week nine billion

Lots to catch up on.

– The US Navy once built a research boat that is designed to rotate 90 degrees into the water.

Enclaves within enclaves, between Belgium and The Netherlands.

– Fuck the NSA – and this is funny.

– Sony hate music, may prevent Beyonce from being on Tidal.

– I’ve been a fan of Luisa Pereira for a while, but seeing her talk at a Monthly Music Hackathon only made me like her work more.

– Super nice conductive thread / wearable interfaces via Project Jacquard.

Ableton Push Hero, via my friend / black magician Nathan.

– Saw FURY ROAD – it deserves every bit of praise it is getting.

Destroying objects as soundscapes.

– The Segulharp is maybe a bit pat, but really nice.  As someone who knows a lot about digital interfaces for making music,  real acoustics thing are pretty good.

– Along those lines, this monster is neat:  the interface is willfully bad, which makes the performance even more impressive – look at 2:02 or so, where he rotates the pad just because he can.

A Twine “interactive fiction” thing is finally blowing up – on the Apple Watch, no less.

Typedrummer is the most basic thing, but works really well.  It’s a drum machine with the drum machine elided away, which is something that has been on my mind for a minute.

co.re.echo.es

I have a sort of casual fascination with infrastructure – factories, power stations, spillways, and so on.  This extends to the internet:  data centres, underwater cables, and core routers.

“Core router” is not just a perfectly Gibsonian term – they’re the routers that most data runs through when going from place to place and network to network.  And seeing this is not hard, though it is picky:  the traceroute command will tell you where you went to get to a place.

You can thus, if you really want to, trace from your computer to all (actually only most) 4,294,967,296 address, from 0.0.0.0 to 255.255.255.255.  This will mean that your computer will go through those core routers over and over and over again.

So, I made a thing that does this, and then turns those traceroutes into music, as one does.  It is called CORE ECHOES, after those routers,  and it is both pretty mellow and suspiciously good, if I do say so myself.  It will also play for something like eight thousand years.  (And!  There’s now a recorded version here.  )

In order to make a thing play for longer than the human race has had writing, I’m relying very much on AWS and Heroku, which will for sure both be around for another few thousand years.  Specifically, I have a process on AWS that is slowly sending out traces, and then logging them to a Redis queue on Heroku.  Heroku then acts as web server, returning the current trace to the JavaScript client.

There’s a timing concern, too:  there’s a second process on AWS that keeps track of how long each trace should play for, and then turns the page of the piece by removing the current trace from the queue.

This has about a million race conditions – but they’re very slow race conditions, so things will probably be OK.  In theory, a series of very short traces could run the queue out of data before a next very long trace can log…but that is a risk I am prepared to take.

core-echoes-0

All the mapping and synthesis is handled in JavaScript – really, the mapping should happen on the server side, and the client should only do the synthesis, but c’est la vie.  The synthesis is all in WebAudio – there are three sine waves, each with their own pretty-simple signal chain.  I was trying to both do something simple and backgroundy, and get a sense of bleeps and bits and ones and zeroes moving around.

Each IP generates a single pitch, a duration that it runs for, a time between notes, and the length of each note.  This gives an ever-changing minimalist sort of pulse, as the three IPs build up and vary.

The duration is deterministic:  take the sum of the digits of the first three parts of the IP, then divide by four to get a nice sort of time.  The other parameters work in the same manner.  The pitch is taken mod 24, and so on.

The mapping was initially much more complex, but it turns out that there are a lot of IPs, so making them deterministic is probably OK.  An obvious mapping improvements would be to relate the time for each IP to match the time that the trace takes – but that gets into tricky regex issues.  I’m happy with the synthesis, though I am sure that I will regret not making the server more robust.