If I'm measuring it correctly, ActivityPub is a fourth-order abstraction

Note that even second-order abstractions are almost always a bad idea

I wonder if I should write a blog post about nth-order abstractions, or if anyone else is talking about them

@lanodan Plan 9: PCM goes into /dev/audio to play sound, read PCM back from /dev/audio to record from the microphone, edit /dev/volume to adjust the volume, and edit /dev/audioctl to adjust the controller settings (e.g. edit the graph)

If you want multiple producers/consumers then run dsp and it shadows all of these files with an identical interface.

Audio over the network? Export the audio device to the remote host and use the /dev files normally.

@lanodan That is why I do not use PulseAudio. (*゚▽゚)ノ

@wzqtparor If it would be just me I would send ALSA to hell as well (I literally have aplay /dev/full running in the background to prevent sound card takeover) and move to OSSv4.

Sadly OSSv4 is a bit of a pain to compile and my distro (gentoo) doesn’t provides a package for it.

Wtf this image is wrong, where's an arrow from JACK to ALSA and from ALSA to soundcard? Also, how the fuck does anything in userspace access soundcard without going through ALSA kernelspace?

@wolf480pl @sir Note: This thing isn't complete yet took a fucking afternoon.

And everything basically goes through ALSA other than with using OSSv4 (not included here yet) or bluetooth or the network.

Ok, but how the fuck is JACK using PipeWire as a backend? I thought JACK needed to sync directly with soundcard's clock...

@wolf480pl @sir PipeWire has something for JACK I didn't dig much further.
@wolf480pl @sir The arrows here only indicate known routes, sometimes backed by code, mostly backed by homepages and documentation.

I'll probably stash it into my blog with an article at some point.
@sir If you’ve got something to add to “Keep it simple, stupid”, I’d read.

@sir I’ve written about n-th order perception here: I’d love to read your thoughts on n-th order abstractions.

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!