Platt

Bei Brittas E-Kick 20 ist hinten der Reifen platt und schon die Demontage desselben war eher unlustig. Denn: mensch hätte wissen sollen, dass die Plastikabdeckungen über den Muttern geschraubt sind – und nicht geklebt. Ich hätte auch hier gucken können – ja. Ist jetzt blöd gelaufen: eine Abdeckung ist mir beim Versuch diese zu entfernen zerbröselt und bei Thingiverse finde ich dazu nix.

Im Prinzip ganz einfach: Den Aufkleber abziehen:

Abdeckkappe mit Aufkleber nach Demontage

dann die Kreuzschlitzschrauben lösen. Für die Muttern wird ein 18er benötigt.

Radmuttern mit 18er Schlüssel lösen

Den Halter für das Kennzeichen („Schwinge“) ist im Bild oben noch mit einer Kreuzschlitzschraube befestigt.

Ist die kleine Schraube mal gelöst fummelt sich die Schwinge etwas hakelig von der Nabe, weil sie sich immer wieder verkantet.

Demontiertes Hinterrad

Das Rad selbst geht dann einfach raus.

Jetzt mal gucken, ob ich jemanden finde, der mir den Reifen repariert. In den Scooter-Foren klingt das mehr nach „kauf Dir ein neues Hinterrad“. Schön. Könnte ich ja machen – im Prinzip. Das ist aber gerade nicht lieferbar.

OMD versus Canonical

OMD / Check_MK konnte nicht mehr apt auslesen. Ursächlich war, dass Canonical auf die tolle Idee kam, bei jedem Aufruf von apt update Werbebotschaften einzublenden. Der Output von apt update verwirrt dann den Filter. Der meldet im OMD nur noch:

UNKN - Item not found in agent output

Lösungsansatz: Auf dem Server die Templates für Canonicals Werbemüll weglöschen:

rm /var/lib/ubuntu-advantage/messages/apt-pre-invoke-*

Reicht aber nicht. Canonical stellt die Dateien wieder her. Da musste noch mehr weg:

systemctl stop ua-timer.service ua-timer.timer
systemctl mask ua-timer.service ua-timer.timer

Und das da auch gleich mit in den Eimer:

rm /etc/apt/apt.conf.d/20apt-esm-hook.conf

Immer mehr Gründe, die für Debian oder Arch sprechen.

Elden Runes

https://www.elden-runes.de/

ELDEN RUNES is an action roguelike boss rush. Explore the ruins of the ancient temple in a 2.5D pixel art style, where each animation, mechanic and sound is lovingly made by hand. Each guardian has their individual fighting style, utilizing the elements of light and darkness. Use the powers of Vex and Lux to defeat them and get out of the temple!

Elden Runes [ C ] via ER

Ein Projekt, das IMHO einen Blick wert ist. Allein schon deswegen, weil es mit Liebe und auch viel Freude und Einsatz von Faik Dogar, Tim Scholl, Marc Seelmann, Aydeniz Sözbilir und Janis Weller erstellt wurde – und nun gemeinsam betüttelt wird. Die Quellenauszeichnung ist hier ebenso durchdacht wie die Datenschutzseite – und unterscheidet sich somit (leider!) heftig von vielen andern Projektseiten aus diesem Seminar. Ich tippe mal, die Profs merken das nicht einmal.

CODE und docker-compose

Wer docker-compose für Collabora CODE nutzt und gerade feststellt, dass der Container von einem restart in den nächsten rutscht:

docker logs --tail 50 --follow --timestamps code-container-name

Findet darin

2022-04-09T05:19:00.304230963Z -e ERR: Use of domain variable is not supported. First host/domain who tries to connect to COOL is always allowed. 
2022-04-09T05:19:00.304248902Z To allow multiple host and its aliases use something like this and pass it as env variable: 
2022-04-09T05:19:00.304251820Z aliasgroup1=https://domain1:443,https://its-alias|its-second-alias:443  
2022-04-09T05:19:00.304254556Z aliasgroup2=https://domain2:443,https://its-alias:443  
2022-04-09T05:19:00.304256886Z For more info: https://sdk.collaboraonline.com/docs/installation/CODE_Docker_image.html

und darf die .env sowie die docker-compose.yml anpassen. Zuerst zur .env:

COLLABORA_USERNAME=admin 
COLLABORA_PASSWORD=supergeheim 
COLLABORA_ALIASGROUP1=https://www.domain1.tld:443,https://domain2\\.tld:443|https://www\\.domain3\\.tld:443

und somit die docker-compose.yml:

version: '3' 
services: 
 code: 
   image: collabora/code:latest 
   restart: unless-stopped 
   environment: 
     - password=${COLLABORA_PASSWORD} 
     - username=${COLLABORA_USERNAME} 
     - aliasgroup1=${COLLABORA_ALIASGROUP1} 
     - extra_params=--o:ssl.enable=true 
   ports: 
     - 9980:9980

Dann flutscht es wieder. Mehr dazu findet mensch hier.

Shrink VM

Was tut man nicht alles? Ich hab hier eine VM mit W10Edu 20H2, die gelegentlich gestartet wird, um damit z.B. Wireshark zu testen, Updates zu installieren, eine einzelne Datei in MSO anzusehen oder mit W10 Privacy nachzusehen, was ich alles unter Arch nicht erdulden muss.

Trotzdem wuchert das Ding über die Zeit vor sich hin und will gelegentlich geschrumpft werden. Das geschieht hier so:

Erst einmal aus W10 heraus mit sdelete Platz schaffen:

sdelete -z "C:"

Dann die VM runterfahren und mit VBoxManage die VDI komprimieren:

vboxmanage list hdds
vboxmanage modifymedium disk /pfad/zur/vm/w10edu.vdi --compact

Am Schluss nach Geschmack wegsichern mit tar – oder auch nicht.

webm2mp3

Falls ich es erneut vergesse: Die Konvertierung von webm Dateien im aktuellen Verzeichnis nach mp3 mit ffmpeg:

for i in $(ls *.webm) ; do ffmpeg -i "$i" -vn -ab 192k -ar 44100 -y "${i%.*}.mp3"; done

DSGVO Youtube Video Embed in Moodle

Leider ist eine Funktion wie diese hier nicht Bestandteil des Moodle-Cores:

https://github.com/a-v-l/dsgvo-video-embed

Also darf mensch sich entscheiden: iFrames erlauben und damit Same-Origin-Policy aufweichen – oder nicht-DSGVO-konforme Einbettungen von Youtube und Vimeo Videos zulassen.

Damit es in Moodle so wie im folgenden Bild aussieht – hier eine Beschreibung:

A) Die Scriptlösung von oben aus dem Git herunter laden und auf dem eigenen Server bereitstellen (im Folgenden dann unter domain.tld/dsgvo)

B) In Moodle als Admin:

Webseite > Administration > Darstellung > Zusätzliches HTML > additionalhtmlhead

<link rel="stylesheet" href="https://www.domain.tld/dsgvo/css/dsgvo-video-embed.css">
<script src="https://www.domain.tld/dsgvo/js/dsgvo-video-embed.js"></script>

Speichern.

Das Funktioniert dann für iFrames, die in der Quellcodeanzeige von Atto direkt angelegt werden:

Den Einbettungscode dazu von YT kopieren.

C) Sollen zusätzlich die Automatismen von Moodle überrumpelt werden, dann muss

media_videojs | youtube OFF

sein. Das ist hier zu finden: Webseite > Administration > Plugins > VideoJS Player und blendet dann auch über den per Link oder per Video-Button in Atto eingebundenen Videos das Overlay ein.

Der faule Mittelweg geht bis B.

Multicam BBB

BBB mit 2 Kameras

Mensch kann in BBB zwei Kameras direkt von einem einzelnen Rechner und aus einem einzelnen Login heraus einbinden und diese dann teilen.

Das macht z.B. Sinn um a) sich selbst und b) die eigenen Aufschriebe sehr einfach ins Bild zu bekommen.

BBB mit drei Kameras

Mensch kann aber auch drei Kameras direkt von einem einzelnen Rechner und aus einem einzelnen Login heraus einbinden und diese dann teilen.

Das macht z.B. Sinn, um a) sich selbst b) die eigenen Aufschriebe und c) einen Versuchsaufbau ins Bild zu bekommen.

Da geht bestimmt noch mehr – nur sind meine Webcams alle. Außerdem fehlt mir gerade die Phantasie, was ich auf der vierten Webcam zeigen will 🙂

Mehr zu BBB 2.4.x dann demnächst hier.

WiFi Heatmap

Ich war auf der Suche nach einer schnellen Möglichkeit, die Wifi Qualität hier im Haus (und später evtl. auch mal an der Schule) zu erfassen.

Geht via CLI mit den folgenden Methoden:

# nmcli
nmcli d wifi

# iw
sudo iw dev wlan0 link

# wpa_cli
sudo wpa_cli -i wlan0 scan_results

# wavemon
wavemon

mit den jeweiligen Vor- und Nachteilen bei der Interpretation und Darstellung. Für den Alltag reicht mir hier nmcli.

Eine Heatmap zu erstellen wäre dann die nächste Idee, jedoch will mensch die Ergebnisse ja in hübsch – und möglichst automatisiert. Dazu fand ich die folgenden Projekte:

https://github.com/jantman/python-wifi-survey-heatmap ist schon ein wenig älter und sah mir komplexer aus, als ich es haben wollte.

Das hier https://github.com/Nischay-Pro/wifi-heat-mapper schien der einfachere kleine Bruder zu sein – also getestet.

Die Installation geht mit pip auf einem Arch flott über die Bühne. Auf einem hausinternen Serverchen dann iperf3 gestartet, damit wir einen Endpoint für die Messungen haben. Es folgt die Erstellung einer groben Skizze des zu erfassenden Stockwerkes (z.B. mit Libreoffice Draw). Dieses als PNG oder JPG wegspeichern / exportieren. Die dann folgenden Schritte (die eigentliche Messung) sind auf der Seite bei Github ausführlich beschrieben und gehen einfach von der Hand.

Die Ergebnisse sind dann … nunja … abhängig von der eigenen Geduld, die an zwei Stellen hart auf die Probe gestellt wird: Erstens dauert eine Messung gefühlte Ewigkeiten – und zweitens stürzt whm öfter mal ab. Es speichert aber alle bisherigen Messergebnisse, so dass der Verlust vor allem deswegen nervt, weil die Messung wiederholt werden muss.

Im Ergebnis tauchen dann so Sonderbarkeiten wie im Bild oben auf: Der UDP Scan zeigt ein Loch an einem Messpunkt. Macht nicht wirklich Sinn für mich.

Aber nett anzusehen sind die Bildchen und manchmal bringen sie einen ja schon zum Nachdenken:

Signalstärke

Den AP hinter der Glotze zu verstauen ist selbstverständlich doof und das oben zu sehende Resultat auch zu erwarten. Aber! Die „Heatmap“, die ich erhalte, wenn der dauerblinkende, schwarze, hässliche AP nicht hinterm TV versteckt ist, will ich mir nicht zeichnen lassen. Das Programm erfasst halt nicht den WAF.