Most short stories about technology are about it's role in society. Take a look at any of the winning or short-listed short stories from any reputable sci-fi award (like the Nebula or Locus) and you'll find them by the dozen.
I like stories by Asimov and Bradbury. If you're looking for something contemporary, take a gander at Ted Chiang.
Yeah, the trick to writing science fiction is that it's almost never about the grandeur of the setting, it's using that setting and its technology as a tool to lay bare the inherent problems with society and humanity. One of the things I've been struggling with is that AI tools are effectively cheap low-quality knowledge labour. How could this go wrong? Many fucking ways it turns out.
I do not agree. Commits in my patch series have no link whatsoever with the chronology of my work. I wouldn't call it "Git history" as long as it is the branch I'm working on. It becomes history once it is merged inside a more persistent branch.
This is usually called container_of in C projects. It is compile-time safe as well, though the error won't be pretty. Linux, Qemu, musl, U-Boot, iproute2 & uclibc-ng each have a copy from the few project I've looked at. Two interesting implementations:
I'm using reaper for the mixing / routing portion, along with EQ and FX, though I'm going to take a look at using ardour this week instead. I imagine you could use pipewire by itself to achieve this, but if you're looking at more complicated routing and mixing, a DAW would be helpful.
I see two use cases for a "big" swiotlb buffer: (1) many devices concurrently, as you said, or (2) ring buffers for devices that write continuously. Combine both and you require even more space; knowing the usecase and doing testing becomes required at this point.
I've worked on a project that required a bigger swiotlb as well, I don't remember the exact details though. I guess it's not that uncommon, but indeed the default value looks good.