“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. )
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.
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.