ActivityPub is the next big thing in social networks by David Pierce (The Verge)
Mozilla, Meta, Medium, Flipboard, Tumblr, and so many other companies are betting that the future of social networks looks more like email than it does Elon Musk’s Twitter. And they’re betting on a little-known protocol to make it happen.

🔖 https://www.theverge.com/2023/4/20/23689570/activitypub-protocol-standard-social-network

IndieWeb by Astrid GĂŒntherAstrid GĂŒnther (blog.astrid-guenther.de)
The IndieWeb[^indieweb.org/] is about taking control of your content, sharing your thoughts and ideas in one place and then spreading them on other social platforms. What if a social network becomes so that you don't feel comfortable there anymore? Or it gets shut down altogether? In that case, what...

Apparently can be |ified too: https://blog.astrid-guenther.de/en/cassiopeia-joomla-indieweb/ đŸ€”

I mean Joomla (and especially it’s UI) gives me the creeps but good to know I guess.

Thanks to Google Maps I know now that one of my neighbours has a website, because it picked it up as “business”.

The website was last changed in 2012 and aired in 1999 and was written in HTML 3.2 with StarOffice (on Win32).

I’m humbled.

VĂ€ter und Vorbilder by Nils Nils (ÜbermĂŒdet)
Beim Durchklicken der „Woher kommen meine Besucher“ Spalte in WordPress hab ich ĂŒber Umwege einen neuen Post auf DasNuf gefunden ĂŒber VĂ€ter und Vorbilder – ein Thema dass mir...

Achja, das Buch von DasNuf habe ich auch gelesen. Sollte ich auch direkt nochmals lesen. Der Witz? Ich habe es meiner Partnerin empfohlen, nicht umgekehrt. Listen machen “wir” auch, nur anders. Und wo sie sich halt mit ihren Listen im Detail verlĂ€uft reicht mir oft die grobe Userstory. Zugegeben, bei Terminen habe ich auch ein Defizit. DafĂŒr inzwischen ~12 abonnierte Kalender o0

Was ich viel interessanter fand ist die Ansage dass man sich in allen Bereichen abwechseln soll, damit beide in allen Themen fit sind und Bescheid wissen. Gerade die Kinder-Geschichten sind bei uns kaum ein Problem. Jeder hier kann wickeln, FlÀschchen machen und so weiter und sofort. Der Rest allerdings? Da hat uns der Alltag schön eingeholt. Schönes Beispiel mit dem Wisch-Wasser am Auto. Warum sollte das bitte auf Richards Liste sein? Das bleibt nÀmlich auch hier stets an mir kleben und erfordert genau so wenig Know-How wie das Auswechseln einer Rolle Klopapier wenn diese alle ist.

Was mir am Besten gefallen hat ist die Idee diese Listen _sichtbar_ zu machen. Insbesondere die regelmĂ€ĂŸigen Arbeiten im Haus. Und da haben wir direkt die Kinder mit eingebunden, denn die rollten schon mit den Augen wenn nur mal die SpĂŒlmaschine ausgerĂ€umt werden sollte. Die hatten halt auch nicht auf dem Radar was stĂ€ndig zu tun ist. Warum auch. Heizung ist warm, Leuchtmittel leuchten, Wasser lĂ€uft und Strom kommt bekanntlich eh aus der Steckdose.

Did some space pew pew like it’s 1999. This is X: Beyond The Frontier. One of the very first space games using a “so called” 3D card. Haha, those crazy peeps at Egosoft updated it in 2021 to make it compatible with Win11 which means it’s basically running on Linux PC out of the box as well. Mapped my joystick and dived into it once more. Doubt I’ll play it much but that was a nice excursion down memory lane

I still have the original CD-Rom but when I noticed that it’s on a Steam sale for -,99ct I didn’t even bother to look for a CD reader. What a surprise that this runs at all.

I also have some short video footage. I’ll never forget that glorious intro. “Here is how the ship navigates
 and action. Bam. Here are 1000Cr, the most basic shield and no weapons. Go! Trade! ‘Maps’? ‘Earth’? What’s that? Oh and you have to pay those Cr back. With interest.”

X: Beyond The Frontier (on Linux PC)

I want more control over what my microphone picks up on screen share in video conferences or during streaming but I don’t want to buy a hardware mixer. I also want to be able to disable the microphone with a hotkey but it doesn’t have any physical switch. So achieve all this I utilise PipeWire to run a bunch of virtual devices that I can control via pavucontrol and obs later. Video conferences get this as “default device” so they don’t get a chance to mess up my audio setup (looking at you Teams). The steps are the same for PulseAudio if you don’t have PipeWire (yet).

#!/bin/sh
# setup virtual device intended for monitoring
pactl load-module module-null-sink sink_name="BekoBlaster" device.icon_name="audio-card-analog" node.nick="BekoBlaster" node.description="BekoBlaster-16" sink_properties=device.description="BekoBlaster-16"
# setup virtual MIC so intended monitoring device can be recorded from as MIC
pactl load-module module-remap-source master="BekoBlaster.monitor" node.nick="BekoMic" device.icon_name="audio-input-microphone" source_name="BekoMic-16" source_properties=device.description="BekoMic-16"
# IMPORTANT:
# RUN `pavucontrol` => Select Tab Record => Set BekoMic-16 input to "Monitor of BekoBlaster-16"

The 16 is not important. It’s just my kind of humour as my first Linux PC had a SoundBlaster16 😛 It also is a pattern sufficient enough so I don’t mix this up with the zoo of real microphones or audio sinks attached to my computer.

This is already sufficient enough so that everything played on the device BekoBlaster-16 can be recorded on the BekoMic-16 again, that I select as input microphone for Browser (video conferences) or Discord at this point. This can be done with pavucontrol – or later in obs.

This isn’t enough, of course. In case of e.g. playing music (or streaming a game) I’d also want to hear the sound myself too. For this I create an additional null sink and a combined sink. With this approach I can later fine tune in obs what gets recorded to which audio track (where audio track 1 is the one used for streaming) and what ends up on the BekoBlaster-16, that acts as my monitor and due to the remapped source also as virtual mic.

# setup virtual device for games (or whatever OBS should record)
pactl load-module module-null-sink sink_name="OBS-Blaster" device.icon_name="audio-card-analog" node.nick="OBS-Blaster" node.description="OBS-Blaster" sink_properties=device.description="OBS-Blaster"
# OPTIONAL setup a combined sink so I can enjoy game sound while OBS gets a copy
pactl load-module module-combine-sink slaves="OBS-Blaster,bluez_output.10_4F_A8_84_18_01.a2dp-sink" node.nick="OBS-Blaster-AND-Headphones" node.description="OBS-Blaster-AND-Headphones" sink_properties=device.description="OBS-Blaster-AND-Headphones"
# Important tools to manipulate: `pw-cli list-objects`, `pw-cli destroy $id`, `pactl list short | grep module`, `pactl unload-module $id`

With this (and my headset connected) it starts to get crowded in my device list.

As you can hear err
 hopefully see: The sink OBS-Blaster-AND-Headphones is now selected for playing music which results in the music being played on the next virtual sink OBS-Blaster and my h.ear (MDR-100ABN) headphones. The same could be done with the BekoBlaster-16, of course, but bear with me. We still don’t have any real microphone added to the mix and while this can be done with PipeWire or PulseAudio alone too I need this usually with video included too so obs it is.

Here the most important setting is the monitoring device, which is the BekoBlaster-16 from the beginning, that can be used as microphone in e.g. Discord later again.

Next is the set-up of the mixer where I’m interested in 4 devices only:

  • The BekoMic-16 without monitor (it is the monitor so this would result in an echo chamber) and optional track 5 for recording (so I’ll know later how the mix sounded – but this is never used for video editing later).
  • The desktop audio without monitor, so random system sounds (or other Discord voices!) don’t make it to any stream. It can be recorded on it’s own track tho in case I fcked up or need a reference later on during editing.
  • The Mic/Aux, which represents the real microphone used. It is echoed on the monitor microphone and on track 1 (send to my streaming server) and on track 2 so I have a separate microphone track later to work with in post edit.
  • The OBS-Blaster, which usually represents the game I’m playing. It is echoed on the monitor microphone and on track 1 (send to my streaming server) and on track 4 so I have a separate game/music track later to work with in post edit.

This way I can control in great detail what ends up on the Discord / a video conference / game streaming, while I get the full power of obs scenes (where I also do my greenscreen mixing), mute microphones as I see fit and have some material to work with later when I decide to make a video on stuff. Here I did set up Discord to read from the virtual BekoMic-16 and output to my headphones only (where no recording in OBS is done) – so perfect for most Discord / video conference sessions.

Don’t mind the flipped video preview. That’s perfectly fine and will look right for the viewers later. This is by the way the virtual camera sink feature of obs and the v4l2loopback kernel driver that I also read from in video conferences instead of the real webcam. This way I can also control exactly what the webcam shows – zoom / crop included.

The whole mess looks like this visualised in helvum, a patchbay for PipeWire.

Most of this explains itself. The WEBRTC VoiceEngine is the recording of Discord. Other devices may float around but are not used at the moment of this snapshot.

More on this and proper documentation: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices