Der Bundestrojaner - ein super Investment
Das war meine Prophezeiung aus dem Jahr 2016. Mit Millionnen entwickelt liegt er jetzt in der Schublade und wird nicht oder kaum genutzt.
Man ist zwar immer noch der Auffassung das man nicht mit dem Einsatz auf ein Urteil des Bundesverfassungsgerichts warten kann:
Instrumente der Quellen-TKÜ sind aus Sicht der Bundesregierung grundsätzlich erforderlich, um die Handlungsfähigkeit bei der Abwehr erheblicher Gefahren für herausragende Rechtsgüter und bei der Strafverfolgung im jeweiligen Aufgabenbereich zu erhalten
Aber das scheint dann nicht der Realität zu entsprechen
So musste man unter anderem eingestehen, dass das BKA zwischen 2017 und 2020 in keinem einzigen (!) abgeschlossenen Ermittlungsverfahren oder Gefahrenabwehrvorgang die unter erheblichem Einsatz öffentlicher Mittel gecodeten Staatstrojaner eingesetzt hat.
Was soll man dazu sagen?

FreeNAS Systemänderungen dauerhaft verankern
Auf Freenas kann und muss man die Änderungen über die Weboberfläche durchführen. Änderungen die man über die Kommandozeile in den Tiefen von FreeBSD durchführt gehen nach einem Neustart / Update verloren.
Meistens ist das auch kein Problem. Aus bestimmten Gründen möchte ich allerdings den Mitgliedern eine Gruppe (also mir) das Recht geben Befehle über sudo ohne Kennwort auszuführen. Das geht leider über die Oberfläche nicht. Über diesen Hinweis bin ich darauf hingewiesen worden das man auch Befehle beim Starten einrichten kann. Also wird jetzt nach jedem Start die Konfiguration wür sudoers wieder “richtig” gemacht :-)

Ups: ich lebe in einem Erdbebengebiet
Der Bundestag hat im letzten Jahr einen Bericht zur Risikoanalyse im Bevölkerungsschutz 2019 herausgegeben. Dort wurde die Folgen eines Erdbebens in der sogenannten Niederreihnischen Bucht untersucht.
Zum einen war mir bisher nicht klar das ich am Rande einen erbebengefährdeten Gebietes lebe, zum anderen ist die dargestellte mangelnde Vorsorge schon erschütternd.
Eine für Deutschland hohe Bebenaktivität weist die Seismizitätszone entlang des Niederrheins auf. Diese erstreckt sich im Norden bis in die Niederlande, umfasst die gesamte Niederrheinische Bucht und reicht bis in die Region Köln/Bonn im Süden und Düren/Aachen/Maastricht im Westen und von dort in die Region Limburg.
Eine ähnliche Studie hat es vom Bundestag übringens auch zu einem “mutierten SARS-V2” gegeben. Da auch in diesem Fall nicht damit zu rechnen ist, das die Verantwortlichen die dort aufgeführten Handlungsempfehlungen ernst nehmen bleibt es wohl jedem selber überlassen sich mit den Folgen eines Erdbebens zu beschäftigen und individuell vorzubereiten.
Vor allem diese Passage sollte man beachten
In der Folge kommt es im Epizentralgebiet und dem angrenzenden Umland zu einem mehrere Tage anhaltenden Stromausfall. Insgesamtsind ca. 3 Millionen Menschen von diesem Stromausfall betroffen. Erst nach Überprüfung der Stromnetzinfra-struktur können Teile des betroffenen Gebietes nach ca. 3 bis 4 Tagen wieder zugeschaltet werden. Aufgrund von möglichen Nachbeben ist der Wiederaufbau des Stromnetzes erschwert, und es kommt auch noch wenige Wochen nach dem Hauptbeben immer wieder zu lokalen Stromausfällen im Epizentralgebiet und dem angrenzenden Umland
Wenn ich so zurückblicke ist das ganze auch nicht richtig unrealistisch. Es gab hier immer wieder kleinere Erdbeben. Ich habe in deren Zusammenhang aber noch nie von dem dahinter liegenden Gesamtrisiko erfahren.

Hackback - die feuchten Träume für den deutschen Sandkastenpolitiker
Das Thema Hackback kommt ja immer mal wieder in der deutschen politischen Diskussion auf wenn ein strammer R(r)echtspolitiker den starken Mann markieren möchte.
Wenn uns jemand die Schaufel wegnimmt dann müssen wir zurückschlagen
Mir kommt das immer so vor wenn die Bande der Krokodile vom Sandkasten im Wohnblock 10 Pläne für einen Kampf gegen die Hells Angel schmiedet.
Zu so einem Schluss kann man nämlich kommen wenn man dieser juristischen Betrachtung des Themas folgt.
Dabei könnte man den Hackern auf der Welt das Leben durch politische Maßnahmen recht einfach vermiesen. Follow the money. An irgendeinem Ort dieser Welt müssen doch die Bitcoins aus Erpressungen in reales Geld umgewandelt werden. Entgegen der weitläufigen Meinung ist das nicht anonym. Und bei den Summen die hier weltweit gefordert werden sind auf jeden Fall Banken und Staaten involviert.
Aber das wäre ja richtig Arbeit. Da ist es einfacher über einen möglichen Hackback am Stammtisch zu fabulieren.
Datenschutzhinweis - Dieser Link startet einen externen Abruf des Videos bei Youtube
Automatische zfs snapshots mit sanoid
Einer der Gründe für mich auf FreeBSD zu wechseln war das integrierte Dateisystem zfs mit den Möglichkeiten Snapshots zu erstellen. Um diese Snapshots bequem per Konfiguration zu steuern gibt es sanoid.

Unter FreeBSD ist das schnell installiert.
sudo pkg install sanoid
Um den Namen seiner Dateisysteme zu sehen kann man einfach
sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 51,0G 395G 96K /zroot
zroot/ROOT 4,91G 395G 96K none
zroot/ROOT/default 4,91G 395G 4,90G /
zroot/tmp 13,3M 395G 12,0M /tmp
zroot/usr 46,1G 395G 96K /usr
zroot/usr/home 44,1G 395G 44,0G /usr/home
Die Konfiguration ist recht simple. Ich möchte alle 5 Minuten einen Snapshot und davon 5 vorhalten. Dann 36 stündliche und 7 tägliche. Einmal pro Woche mache ich noch ein externes Backup mit restic.
vi /usr/local/etc/sanoid/sanoid.conf
[zroot/usr/home]
use_template = production
### templates below this line ###
[template_production]
frequent_period = 5
frequently = 5
hourly = 36
daily = 7
autosnap = yes
autoprune = yes
Das ganze einmal manuell starten und das Ergebnis betrachten.
sudo /usr/local/bin/sanoid --cron
zfs list -t snapshot | grep auto
zroot/usr/home@autosnap_2021-02-14_08:05:39_daily 0 - 44,0G -
zroot/usr/home@autosnap_2021-02-14_08:05:39_hourly 0 - 44,0G -
zroot/usr/home@autosnap_2021-02-14_10:07:08_hourly 0 - 44,0G -
zroot/usr/home@autosnap_2021-02-14_10:07:08_frequently 0 - 44,0G -
Zum Testen mal ein Testfile das wir gleich löschen und restaurieren wollen
cd tmp
~/tmp]$ touch test2be-deleted
Nach einem schönen Sontagsspaziergang sah es dann so aus:
zroot/usr/home@autosnap_2021-02-14_08:05:39_daily 0 - 44,0G -
zroot/usr/home@autosnap_2021-02-14_08:05:39_hourly 0 - 44,0G -
zroot/usr/home@autosnap_2021-02-14_10:07:08_hourly 26,4M - 44,0G -
zroot/usr/home@autosnap_2021-02-14_11:00:00_hourly 22,6M - 44,0G -
zroot/usr/home@autosnap_2021-02-14_11:30:00_frequently 1,67M - 44,0G -
zroot/usr/home@autosnap_2021-02-14_11:35:00_frequently 1,41M - 44,0G -
zroot/usr/home@autosnap_2021-02-14_11:40:00_frequently 1,59M - 44,0G -
zroot/usr/home@autosnap_2021-02-14_11:45:00_frequently 1,43M - 44,0G -
zroot/usr/home@autosnap_2021-02-14_11:50:00_frequently 1,34M - 44,0G -
zroot/usr/home@autosnap_2021-02-14_11:55:00_frequently 1,28M - 44,0G -
Jetzt das Testfile löschen und aus einem älteren Snapshot restaurieren. Über ein .zfs Verzeichnis kann man einfach auf seine Snapshots zugreifen
rm test2be-deleted
ls /usr/home/.zfs/snapshot
total 14
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_08:05:39_daily
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_08:05:39_hourly
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_10:07:08_hourly
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_11:00:00_hourly
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_11:35:00_frequently
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_11:40:00_frequently
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_11:45:00_frequently
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_11:50:00_frequently
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_11:55:00_frequently
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_12:00:00_frequently
1 drwxr-xr-x 3 root wheel 3 5 Jan. 19:20 autosnap_2021-02-14_12:00:00_hourly
ls /usr/home/.zfs/snapshot/autosnap_2021-02-14_12:00:00_frequently/hbauer/tmp
total 1
1 -rw-r--r-- 1 hbauer hbauer 0 14 Feb. 10:14 test2be-deleted
Man kann diese Snapshots dann auch noch mit Syncoid automatisch an andere zfs Server über ssh versenden. Eine Aufgabe für einen der nächsten Sonntage.
Spülmaschine an Matrix: Bin fertig
Bisher verwende ich die einfachen Schalter zum Steuern einiger Lichter. Jetzt allerdings gibt es einen Anwendungsfall für die “grössere” Variante mit Stromverbrauchsmessung.
Ich möchte ein Nachricht über Matrix bekommen um verschiedene Personen im Haushalt zu beauftragen die Wäsche von der Waschmaschine in den Trockner zu räumen oder die Spülmaschine auszuräumen. Die Anbindung von Homeassinstant an meinen Matrixserver habe ich hier beschrieben
Als erstes richte ich einen Status ein der automastisch gesetzt wird
vi /home/homeassistant/homeassistant/configuration.yaml
input_select:
spuelmaschine_status:
name: Spuelmaschine Status
options:
- aus
- arbeitet
- fertig
initial: aus
Mit diesem Statusschalter und der Notification an meinen Matrixserver können wir jetzt die Automatisierung definieren. Mit den Werten muss man ein wenig ausprobieren. Bei der Waschmaschine hat es einfacher und schneller funktioniert als bei der Spülmaschine.
vi /home/homeassistant/homeassistant/automations.yaml
- id: '1122334455020'
alias: Spuelmaschine arbeitet
description: Wenn die Steckdose über 10 Watt Verbrauch meldet, wird Zustand des Sensors Spülmaschine auf "arbeitet" gesetzt.
trigger:
- above: '10'
entity_id: sensor.spueler_energy_power
platform: numeric_state
condition: []
action:
- alias: ''
data:
option: arbeitet
entity_id: input_select.spuelmaschine_status
service: input_select.select_option
- id: '1122334455021'
alias: Spuelmaschine ist fertig
description: 'Wenn der Verbrauch unter 7 Watt ist und der Status aktuell auf arbeited steht dann ist sie wohl fertig'
trigger:
- below: '7'
entity_id: sensor.spueler_energy_power
for: 00:01:30
platform: numeric_state
condition:
- condition: state
entity_id: input_select.spuelmaschine_status
state: arbeitet
action:
- data:
option: fertig
entity_id: input_select.spuelmachine_status
service: input_select.select_option
- data:
message: Die Spuelmaschine ist fertig und möchte ausgeräumt werden!
service: notify.matrix_notify
Unsere Kinder haben sich beklagt das sie ja garnicht wüssten wann sie im Haushalt helfen könnten :-)

Sehr gutes Video von MaiLab zu Corona Impfungen
Videos von MaiLab kann man sich eigentlich immer ansehen aber dieses Video ist von besonderer Qualität.
Es lohnt sich auf jeden Fall und ist auch aus meiner Sicht gut geeignet um unsicheren Verwandten die Sorgen zu nehmen.
Datenschutzhinweis - Dieser Link startet einen externen Abruf des Videos bei Youtube
Homeassistant Benachrichtigungen an Matrix versenden
Für bestimmte Anwendungsfälle möchte ich von der Hausautomatisierung Homeassistant ein Nachricht über Matrix bekommen. Für den Versand von Nachrichten an den eigenen Matrix Server brauchen wir erst einmal einen Benutzeraccount. Also auf dem Matrixserver einloggen. Der gewünschte Raum muss über eine lokale Adresse verfügen.
source /var/matrix/venv/bin/activate
cd /var/matrix/venv
register_new_matrix_user -c homeserver.yaml http://localhost:8008
New user localpart [root]: butler
Password:
Confirm password:
Make admin [no]:
Sending registration request...
Success!
Dann gemäß oben verlinkter Dokumentation die Konfiguration für Homeassitant anpassen. (Achtung die Pfade sind für eine FreeBSD Installation. Die sind bei Linux anders.)
vi /home/homeassistant/homeassistant/configuration.yaml
matrix:
homeserver: https://matrixserver.yourdomain.de
username: "@homeassistant_user:yourdomain.de"
password: secret
rooms:
- "#family:yourdomain.de"
notify:
- name: matrix_notify
platform: matrix
default_room: "#family:yourdomain.de"
service homeassistant restart
Für einen ersten Test kann man dann im HA Dashboard prüfen ob die Kommunikation mit dem Matrixserver läuft
Weniger Perfektionismus in der Erziehung für Mädchen
Im Rahmen meiner beruflichen Arbeit als Trainer für technische Nachwuchskräfte konnte ich in meinen Workshops immer wieder erleben das sich Frauen “dezent” zurückhalten wenn es um exponierte Rollen in Teams geht. Man könnte auch sagen vielen Frauen haben sich trotz einer angemessenen Motivation durch mich und andere Trainer gedrückt.
Dieser Vortrag gibt eine der vielen möglichen Ursache dafür. Wir erziehen Jungen in die Richtung von Mut und Risiko und Mädchen werden eher auf eine Art Perfektionismus erzogen. Ob bewusst oder unbewusst ist dabei eigentlich egal. Wir müssen es auf jeden Fall ändern.
Datenschutzhinweis - Dieser Link startet einen externen Abruf des Videos bei Youtube
Subventionen für die Tonne
Mir ist schon klar das man in einer Pandemie mit staatlicher Unterstützung schon mal daneben liegen kann.
Aber staatliche Subventionen für zwei Bereiche die schon vor der Pandemie die Zeichen der Zeit verpennt haben sind nun wirklich für die Tonne.
Im Staatshaushalt werden 200 Millionen Euro dafür eingeplant, Zeitungs- und Zeitschriftenverlage bei der Digitalisierung zu unterstützen
Die Digitalisierungn ist ja nun wirklich nicht etwas was vollkommen überraschend kam und bei der man unschuldig in Not geratene Unternehmen aus der Patsche helfen muss.
500 Millionen “Kredit” für Kaufhof
Mit fast einer halben Milliarde Euro kommt die Bundesregierung dem angeschlagenen Warenhauskonzern Galeria Karstadt Kaufhof zu Hilfe. Ob die Steuerzahler das Geld je wiedersehen, ist zweifelhaft.
Ja die Kaufhäuser haben eine wichtige Bedeutung für viele Innenstädte. Aber dieser Gaul ist tot und wird nicht wieder lebendig durch Parfum auf dem Kadaver.
Wenn man Qualität in der freien Presse oder attraktive Innenstädte fördern möchte dann doch aber bitte nicht durch so einen Quatsch.

Unknown author, Public domain, via Wikimedia Commons
PHP-GD Bibliotheken in Docker Umgebungen
Ich verwende für die Entwicklung einer PHP Anwendung Docker Container auf Basis von Apache/PHP Standardcontainer.
Im Prinzip funktioniert das auch super für die Entwicklung. Leider scheint es Probleme mit der Bibliothek gd zu geben. Obwohl diese installiert ist funktioniert sie nicht mit Bilder vom Typ jpg (Es könnte auch andere Bildtypen betreffen aber da ist es mir noch nicht aufgefallen). Da ich beim programmieren der Anwendung immer auf die vorhandenen Bilder zurückgreife ist das bisher nicht aufgefallen. Jetzt musste ich eine neue Komponente installieren welche Bilder manipuliert. Beim Testen habe ich festgestellt das diese nicht wie gewünscht arbeitet.
In den tiefen der Logs konnte ich folgende Zeile finden.
Call to undefined function imagecreatefromjpeg()
Die klassischen Antworten nach Google lauten immer:
sudo apt-get install php7.x-gd
Aber die habe ich doch in meinem Docker Container installiert :-(
RUN docker-php-ext-install pdo pdo_mysql mysqli gd
Es scheint aber so zu sein das die Bibliothek für den Docker Container eine spezielle Massage braucht wenn man auch die JPG Bilder mit bearbeiten möchte (Wahrscheinlich muss man für weitere Bildtypen die Parameter im ext-configure Befehl erweitern.
sudo docker exec -it modified-docker-container_web_1 /bin/bash
apt-get update && apt-get install -y zlib1g-dev libpng-dev libjpeg-dev
docker-php-ext-configure gd --with-jpeg-dir
docker-php-ext-install gd
Dann verschwindet die Fehlermeldung und noch wichtiger die gewünschte Komponente funktioniert.