#computerscience #programming #Clanguage #c11 #wg14
Pluralistic: Disenshittification Nation (29 Jan 2026)
https://fed.brid.gy/r/https://pluralistic.net/2026/01/29/post-american-canada/
Pluralistic: It's not normal (14 Jan 2026)
https://fed.brid.gy/r/https://pluralistic.net/2026/01/14/sole-and-despotic/
#DecemberAdventure 3rd evening + 4th morning
got #clive audio engine working on #Bela with clive (cross-)compiler running on desktop in a Debian Stretch chroot (matching the version of the Bela base system). very long setup instructions now in the README.md at
git clone https : / / code.mathr.co.uk / clive-core.git
compilation on desktop is much quicker than compilation on Bela (even with sshfs transfer overhead), allowing for lower #latency response to code changes.
no #OpenSoundControl #OSC server yet, because no #C11 <threads.h> support - switching to pthreads would probably be more portable...
clive is my thing for #LliveCoding #audiio #DSP in the #C programming language
idea: put the Bela context and audio block index n into the state struct, so that clive audio callback code can access Bela I/O other than stereo audio in + out.
this would be a backwards incompatible change, need to see how to minimize disruption... possibly it would be a good time to also expose the underlying block-based processing to the clive.c code, so that it can be inlined/loop-unrolled/etc for better runtime efficiency.
Коробка багов (взрывается): кроссплатформенное коварство
В сентябре мы рассматривали релиз 86Box v5.0, приуроченный к тридцати годам со дня выхода в розничную продажу Windows 95, и пообещали показать ещё кое-что. О чём мы сознательно умолчали, и почему оставили находку для отдельной статьи? Что осталось в "коробке"?
https://habr.com/ru/companies/pvs-studio/articles/963286/
#pvsstudio #86box #libc #glibc #freebsd #c11 #эмуляция #совершенный_код #стандарты_кодирования
BYD、電動バス世界初の1000V高圧システム開発…航続400km以上の『C11』発表
https://news.kakaku.com/prdnews/cd=kuruma/ctcd=7010/id=151555/
The #lockfree command #queue in #poser (for #swad) is finally fixed!
The original algorithm from [MS96] works fine *only* if the "free" function has some "magic" in place to defer freeing the object until no thread holds a reference any more ... and that magic is, well, left as an exercise to the reader. 🙈
Doing more research, I found a few suggestions how to do that "magic", including for example #hazardpointers ... but they're known to cause quite some runtime overhead, so not really an option. I decided to implement some "shared object manager" based on the ideas from [WICBS18], which is kind of a "manually triggered garbage collector" in the end. And hey, it works! 🥳
https://github.com/Zirias/poser/blob/master/src/lib/core/sharedobj.c
[MS96] https://dl.acm.org/doi/10.1145/248052.248106
[WICBS18] https://www.cs.rochester.edu/u/scott/papers/2018_PPoPP_IBR.pdf