sudo mknod /dev/netcat c 245 0; cat /dev/netcat | ogg123 -
April 22, 2014 7:12 PM   Subscribe

netcat are a Seattle based free improvisation group that have released their album, Cycles Per Instruction as a Linux kernel module.

... also available on bandcamp.
posted by Poldo (17 comments total) 26 users marked this as a favorite
 
The sound is much warmer with the kernel modules on my analog computer.
posted by RobotVoodooPower at 7:51 PM on April 22, 2014 [8 favorites]


See that's nerdcore. Take note, MC Frontalot and friends.
posted by pulposus at 7:52 PM on April 22, 2014 [8 favorites]


This is pretty fantastic.

If you don't support cat abuse you can use the following command to play out of your kernel module

ogg123 - < /dev/netcat

Also, can confirm, does work on CentOS 6.5
posted by grandsham at 7:57 PM on April 22, 2014 [1 favorite]


Wow. This is real good music, for listening. Means of production zany (see-also substack's baudio and _why's bloopsaphone), but that aside, good tunes.
posted by tmcw at 8:01 PM on April 22, 2014


Actually quite a simple, yet clever approach.

if you download the repo, it looks like you could just
cat trk1data.h > ogg123 -
and get the same result.

If you like really, really out there music, I suggest trying this out for size:
cat /dev/sda1 | ogg123 -
posted by Freen at 8:25 PM on April 22, 2014 [5 favorites]


Pretty sure this is buggy under Linux kernels released in the last few years; there is no locking for multi-core processors (e.g. all modern processors) or pre-emption.
posted by ianbanks at 8:27 PM on April 22, 2014 [1 favorite]


When I first tried to compile it I ran out of ram. So I added another swapfile and tried again, this time while listening to the album on bandcamp (because yes I am impatient). As things started getting swappy, the behaviour of the kernel moving processes into and out of active memory introduced loops and pauses in the music which were surprisingly good. It almost seemed intentional even though there is no possible way it could have been.
posted by Poldo at 8:32 PM on April 22, 2014 [3 favorites]


It's wonderful to hear good things coming from Cafe Racer.
posted by Mei's lost sandal at 9:01 PM on April 22, 2014


This operating systems engineer is quite impressed. Thanks for the link, I'm looking forward to trying this out on my Raspberry Pi when I can.
posted by all the versus at 9:09 PM on April 22, 2014 [1 favorite]


Works on Ubuntu 14.04 (I had been looking for an excuse to try the new version...) though I had to bump my VMs memory up to 4GB - the compile step is very memory-intensive as noted in the README. all the versus, you might need to cross-compile it for the Raspberry Pi.
posted by bbuda at 9:18 PM on April 22, 2014


So at first I thought this would be in the vein of 1-bit symphony, in which the data contains instructions which make the music. but this is actually just using standard audio files (encoded as an .ogg file) and the linux code acts as a standard audio playback program. This is somehow more interesting when it happens in the kernel? I imagine it would be fairly easy to write a program which accepts a filename as an argument and then plays the file as an audio file - why is this more interesting than that?
posted by ianhattwick at 9:52 PM on April 22, 2014 [2 favorites]


Hobbit should sue for infringement or royalties or something. He won't but he should.
posted by scalefree at 10:02 PM on April 22, 2014 [1 favorite]


Do you get extra points if you pipe Netcat through Netcat?
posted by inflatablekiwi at 10:06 PM on April 22, 2014 [3 favorites]


At least it plays on your analog computer, my Setun won't even let it play!
posted by symbioid at 11:00 PM on April 22, 2014


This is somehow more interesting when it happens in the kernel? I imagine it would be fairly easy to write a program which accepts a filename as an argument and then plays the file as an audio file - why is this more interesting than that?

You're correct in that it can more easily done as a user-level program, it's even better done that way because this not useful at all to the rest of the kernel in any way. It's just a bemusing novelty. I suspect it was put together by someone who was learning to program with the Linux kernel and wanted to play around with the device driver interfaces. For folks like me who work in operating systems engineering full-time, this is like finding one of our first 'print hello world' kernel modules.
posted by all the versus at 12:01 AM on April 23, 2014


For folks who don't want to read the code... All the kernel module does is create a new sort of filesystem, one that has hard-coded into it the music files for the album in OGG format. It's not doing anything kernely at all. Clever gimmick though.

I kind of like the song on Bandcamp.
posted by Nelson at 7:35 AM on April 23, 2014


let me know if/when busybox incorporates it as well..
posted by k5.user at 8:10 AM on April 23, 2014


« Older former plantations that have been turned into...   |   A penny for your thoughts? OK, make it a nickle... Newer »


This thread has been archived and is closed to new comments