6 Private Links
Der Feedreader TTRSS ist seit Langem mein täglicher Begleiter, sowohl für News, Blogs als auch für alles, was mich interessiert und einen Feed hat. Einen CSS-Tweak benutze ich schon seit einiger Zeit, den ich nun weiter verbessern konnte.
Ich finde den Lesefluss nämlich generell angenehmer, wenn Textzeilen nicht zu lang sind. Es verbessert schlicht den Lesefluss, wenn man am Ende der Textzeile dieser nicht über die gesamte Bildschirmbreite zum nächsten Zeilenanfang folgen muss. Zeitungen machen das ganz klassisch mit mehreren nebeneinander stehenden Textblöcken. Ich finde das super. Deshalb habe ich das schon seit Ewigkeiten für meinen Feedreader TTRSS so eingerichtet.
Einfach unter Einstellungen -> Allgemein -> Theme anpassen
das folgende CSS einfügen. Dann wird der Lesebereich in drei Textblöcke unterteilt. Das funktioniert für mich richtig gut, und ich möchte gar nicht mehr ohne.
.content-inner { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; text-wrap: pretty; text-align: justify; hyphens: auto}
Transparent Textures ist eine Seite, die transparente Hintergründe für die eigene Website inklusive dem passenden CSS zum Einbetten anbietet. Das Ganze ist so einfach wie nichts. Farbe und Hintergrund auswählen, CSS einbetten, fertig. Das gewählte Hintergrundbild sollte am besten noch irgendwo auf den eigenen Server oder eventuell bei GitHub und Konsorten kopiert werden, um nicht ohne coolen Hintergrund dazustehen, falls der Transparenttextures-Server mal down sein sollte.
Um das Hintergrundbild nun in Shaarli einzubinden, braucht man das Plugin shaarli-custom-css, das es einfach macht, ein paar Zeilen CSS einzuschleusen. Nach dem das Plugin installiert ist, kann man in der Plugin-Konfiguration das passende CSS von Transparent Textures einfügen. Damit das ganze auch funktioniert, muss noch die Body-Klammer drum herum. Dann hat man es komplett.
body {
background-color: #b3de81;
background-image: url("https://www.transparenttextures.com/patterns/arabesque.png");
}
Links
https://www.transparenttextures.com/
https://github.com/immanuelfodor/shaarli-custom-css
Effektive Arbeitsbeziehungen sind entscheidend für den Erfolg im Berufsleben. Aber wie viele Kollegen braucht man wirklich, um produktiv zu sein? Forschungsergebnisse zeigen, dass es gewisse Grenzen gibt, die eingehalten werden sollten.
Die Dunbar-Zahl
Der britische Evolutionspsychologe Robin Dunbar fand 1992 heraus, dass Menschen nur eine begrenzte Anzahl sozialer Beziehungen pflegen können – etwa 150. Diese Zahl, bekannt als die Dunbar-Zahl, beschreibt die Grenze der Anzahl von Menschen, mit denen man enge persönliche Beziehungen aufrechterhalten kann.
Dunbar fand Beispiele dafür in verschiedenen Epochen und Kulturen, von alten Jäger-Sammler-Gruppen bis hin zu modernen Organisationen. Die Zahl 150 ist die maximale Gruppengröße, in der jeder jeden noch gut genug kennt, um soziale Stabilität zu gewährleisten.
Die vier Schichten der Arbeitsbeziehungen
Dunbar identifizierte vier Schichten sozialer Beziehungen:
- 5 extrem enge Kollegen: Dies ist der innerste Kreis. Es handelt sich um die Menschen, denen wir am nächsten stehen und mit denen wir die stärksten beruflichen Bindungen haben.
- 15 enge Kollegen: Diese Gruppe umfasst Kollegen, mit denen wir gerne Zeit verbringen und die wir in Notfällen um Hilfe bitten würden.
- 50 bekannte Kollegen: Diese Personen sehen wir weniger häufig, aber wir bleiben in Kontakt und würden sie zu größeren sozialen Veranstaltungen einladen.
- 150 gelegentliche Kollegen: Dies sind Menschen, deren Namen wir kennen und mit denen wir gelegentlich Kontakt haben.
Anwendung am Arbeitsplatz
Diese Schichten sind nicht nur im Privatleben relevant, sondern auch im beruflichen Kontext. Kleine Teams und Abteilungen, die den Dunbar-Zahlen entsprechen, können effektiver und sozial stabiler sein.
Beispiele aus der Praxis
-
W.L. Gore & Associates: Der Hersteller von Gore-Tex-Produkten beschränkt die Größe seiner Werke bewusst auf etwa 150 Personen. Ab dieser Zahl wird die direkte Kommunikation schwierig, was für das Unternehmen essentiell ist. Wird die Grenze überschritten, wird ein neues Werk gebaut oder ein Teil der Arbeit verlagert. Dies ermöglicht es jedem Mitarbeiter, sich mit allen anderen auszutauschen, was besonders in der Produktion wichtig ist, wo es auf präzise Handgriffe ankommt. Link
-
Buurtzorg: Die niederländische Pflegeorganisation Buurtzorg setzt auf selbstorganisierende Teams von 10 bis 12 Pflegekräften. Dies ermöglicht enge Zusammenarbeit und effektive Pflege. In diesen kleinen Teams kennt jeder die individuellen Bedürfnisse der Patienten genau, was zu einer besseren Betreuung führt. Beispielsweise können Teammitglieder schnell und flexibel auf Notfälle reagieren, da sie sich gut kennen und eingespielt sind.
-
Spotify: Der Musik-Streaming-Dienst Spotify organisiert seine Mitarbeiter in sogenannten „Squads“, kleine funktionsübergreifende Teams von etwa 6 bis 12 Personen. Diese Squads arbeiten autonom an unterschiedlichen Projekten, was die Flexibilität und Innovationsfähigkeit des Unternehmens erhöht. In einem Squad kann ein Entwickler direkt mit einem Designer und einem Marketing-Experten zusammenarbeiten, was schnelle Entscheidungsfindung und kreative Lösungen ermöglicht.
Die Forschung von Dunbar zeigt, dass soziale Beziehungen bei der Arbeit wichtig sind und dass es Obergrenzen für die Anzahl dieser Beziehungen gibt. Indem wir Teams und Abteilungen klein halten, können wir eine bessere soziale Stabilität und damit auch eine höhere Produktivität erreichen.
Links
https://blog.mayflower.de/13543-team-topologies-dunbars-number.html
https://en.wikipedia.org/wiki/Dunbar%27s_number
A podcast featuring true stories from the dark side of the Internet.
Wie unschwer zu erkennen ist, läuft dieser Blog (wenn man ihn so nennen mag) auf der Software Shaarli. Hauptsächlich für Bookmarks gedacht, ist das trotzdem für mich der fast perfekte Micro-Blog. Das liegt daran, dass er unkompliziert, schnell und arm an Features ist. Das hilft mir beim Fokussieren auf das Wesentliche: den Inhalt.
Was mir jedoch fehlte, war die Möglichkeit, auch mal ein Bild oder einen Screenshot hochzuladen. Zum Glück bietet Shaarli die Möglichkeit, Funktionalitäten per Plugin nachzureichen. Also habe ich einfach einen Upload-Button beim Erstellen eines Beitrags hinzugefügt und beim Speichern das Bild passend abgelegt und einen Markdown-Link eingefügt. PHP und das Plugin-System von Shaarli sind nicht schwierig. Da ich jedoch nur gelegentlich etwas mit PHP mache und das Plugin-System gar nicht kenne, habe ich mir von Chat-GPT helfen lassen. Wie zu erwarten nimmt einem die KI natürlich nicht alles ab und manches ist Quatsch, aber sie hat sich auch vielfach hilfreich verhalten und mir so geholfen, an einem Nachmittag eine brauchbare Lösung zusammenzubekommen. Das fertige Plugin habe ich bei Github abgelegt.
Neuen Beitrag in Shaarli erstellen mit Button zum Bild hochladen
Links
Shaarli The personal, minimalist, super fast, database-free, bookmarking service.
Neulich gab es als Promo 50 Gigabyte kostenlosen Onlinespeicher bei Bitrix24.de. Eine sehr gute Gelegenheit die wichtigsten Daten aus dem Home-Server ins Internet zu kippen. Leider funktioniert das Mounten per Webdav wegen veralteter Cipher, die von Bitrix24 Verwendung finden und bei davfs2 schon entfernt wurden, nicht. Ein einfacher Upload mit curl geht aber auch so.
tar -czvf - -C path/to/important/files . | openssl aes-256-cbc -salt -k 'enc_passwd123!' -pbkdf2 | curl -T - -u [email protected]:bitrix_password https://b24-w0e67a.bitrix24.de/company/personal/user/1/disk/path/backup.tar.enc
Wir packen also alles aus dem lokalen Verzeichnis path/to/important/files
zusammen, verschlüsseln es mir einem ordentlichen Passwort und laden die Datei bei Bitrix24.de hoch.
Die Backup-Datei kann man testweise wieder herunterladen und mit der folgenden Zeile entschlüsseln und z.B. nach /tmp/restore
entpacken.
cat backup.tar.enc | openssl aes-256-cbc -d -salt -k 'enc_passwd123!' -pbkdf2 | tar -xzvf - -C /tmp/restore
Wenn man das ganze automatisieren will, will man vielleicht die alte, hochgeladene Datei vor dem nächsten Upload löschen.
curl -X DELETE -u [email protected]:bitrix_password https://b24-w0e67a.bitrix24.de/company/personal/user/1/disk/path/backup.tar.enc
Die Datei wandert bei Bitrix24.de leider nur in den Papierkorb und nimmt auch weiterhin Platz ein, bis sie entweder automatisch nach 30 Tagen gelöscht oder der Papierkorb von Hand geleert wird.
Um das ganze zu automatisieren und außerdem einen Mechanismus zum Chunken zu haben, habe ich aus dem ganzen ein Python-Script zusammengebastelt, das regelmäßig per Cron ausgeführt wird. Wichtig war mir hierbei, daß keine Daten auf die SSD zwischengespeichert werden, um diese zu schonen und außerdem den RAM-Verbrauch nicht explodieren zu lassen. Es wird also alles per Pipe durchgereicht, so dass die Chunksize maßgeblich für den RAM-Verbrauch ist.
import os
import subprocess
import sys
def create_backup(directory):
# Archiv erstellen und verschlüsseln
tar_process = subprocess.Popen(["tar", "-zcf", "-", directory], stdout=subprocess.PIPE)
encrypt_process = subprocess.Popen(["openssl", "aes-256-cbc", "-salt", "-k", "enc_passwd123!", "-pbkdf2"], stdin=tar_process.stdout, stdout=subprocess.PIPE)
# Chunk-Größe festlegen 100MB (in bytes)
chunk_size = 100 * 1024 * 1024
# Verzeichnisname des Backup-Verzeichnisses extrahieren
backup_directory, backup_dirname = os.path.split(os.path.normpath(directory))
print( f"backup_dirname={backup_dirname}" )
# Chunks erstellen und hochladen
chunk_number = 1
while True:
chunk = encrypt_process.stdout.read(chunk_size)
if not chunk:
break
# Chunk hochladen
upload_chunk(chunk, chunk_number, backup_dirname)
chunk_number += 1
# Aufräumen
encrypt_process.stdout.close()
encrypt_process.wait()
def upload_chunk(chunk, chunk_number, backup_dirname):
filename = f"backup_{backup_dirname}_{str(chunk_number).zfill(3)}"
delete_command = f"curl -X DELETE -u [email protected]:passwd123! 'https://b24-w0e67a.bitrix24.de/company/personal/user/1/disk/path/{filename}'"
subprocess.run(delete_command, shell=True)
upload_command = f"curl -i -X PUT -u [email protected]:passwd123! --data-binary @- 'https://b24-w0e67a.bitrix24.de/company/personal/user/1/disk/path/{filename}'"
subprocess.run(upload_command, input=chunk, shell=True)
# Kommandozeilenparameter überprüfen
if len(sys.argv) < 2:
print("Verzeichnis als Parameter angeben.")
sys.exit(1)
# Verzeichnis aus Kommandozeilenparameter extrahieren
directory = sys.argv[1]
# Beispielaufruf des Skripts
create_backup(directory)
Aufgerufen werden kann das Script einfach mit python3 <scriptname> path/to/important/files
.
Eine Subdomain zum Homelab / Homeserver einrichten
Wenn man seine Domain bei Cloudflare verwalten lässt, bekommt man im kostenlosen Plan die Möglichkeit Dynamic DNS zu nutzen gleich mit, sodass man seine Domain oder Subdomain immer auf den Homeserver zeigen lassen kann. In meinem Fall will ich eigentlich nur einen VPN-Tunnel in mein Homelab aufbauen und benötige dafür eine dauerhafte Adresse.
Subdomain anlegen
Wenn man nur eine Subdomain anstelle der Hauptdomain für das Homelab verwenden will, legt man diese am besten erst mal im Cloudflare-Dashboard an. Dafür klickt man auf "Add record" und wählt für IPv4 den Typ A oder für IPv6 den Typ AAAA aus. Anschließend unter Name den Namen der Subdomain eintragen und auf Speichern klicken.
Lässt man den Schalter "Proxy" eingeschaltet, bleibt die eigentliche IP trotz Weiterleitung des Traffic an den Homeserver geheim. Mehr dazu siehe link. Will man allerdings einen VPN-Tunnel aufbauen, muss man leider auf den Proxy verzichten.
API-Key erzeugen
Als nächstes benötigen wir einen API-Key, mit dem sich der PfSense-DynDns-Client bei Cloudflare anmelden kann. Sinnvollerweise sollte der Key nur die notwendigen Rechte haben, um DNS-Einträge einer bestimmten Domain zu ändern. Dafür klickt man unter User API Tokens auf "Create token" und wählt dort "Create Custom Token" aus.
Anschließend erstellt man unter "Permissions" zwei neue Zonen-Einträge. Einmal mit "Zone" und "Read" und einmal "DNS" und "Edit". Unter "Zone Resources" fügt man noch einen Eintrag mit "Specific zone" hinzu und wählt die zu verwendende Domain aus.
Damit kann der Client mit dem API-Key, der nach dem Speichern angezeigt wird, ausschließlich Änderungen an der ausgewählte Domain vornehmen.
PfSense Dynamic DNS
Um die frisch angelegte Subdomain automatisch zu aktualisieren, ruft man das PfSense-Dashboard auf und klickt im Menü "Services" auf "Dynamic DNS". Hier kann man nun einen Eintrag hinzufügen. Unter "Service Type" wählt man nun "Cloudflare" aus, wählt das passende WAN-Interface aus und trägt den API-Key als Passwort ein. Unter Hostname muss der Subdomain-Name und unter Domain die Hauptdomain eingetragen werden.
Hat man den Cloudflare-Proxy eingeschaltet, sollte man unbedingt auch die Checkbox "Cloudflare Proxy" aktivieren, weil sonst der Proxy nach dem ersten IP-Update deaktiviert ist und die eigene IP sichtbar wird.
Am Ende "Save and Force Update" anklicken und man hat einen neuen Eintrag, der auch gleich ein grünes Häkchen bekommt, wenn man alles richtig gemacht hat.
Glasfaser der Telekom ans Fliegen kriegen
Kürzlich war es so weit. Ich habe den heiß ersehnten Glasfaseranschluss bekommen. Und das auch noch zum Black-Friday-Tarif bei 1&1. Das ist inzwischen schon fast ein Jahr her. Den selbst gebauten Ubuntu-Router damit ans Fliegen zu bekommen, war etwas anspruchsvoller, als das Setup mit dem Kabel-Modem von Vodafone zuvor, das einfach per DHCP zu konfigurieren war.
Es brauchte ein PPPoE-Interface, wie man es von den DSL-Anschlüssen seit jeher kennt. Bei den Glasfaser-Anschlüssen hat sich die Telekom allerdings etwas Neues einfallen lassen. Man kann nicht länger einfach PPPoE auf das Netzwerkinterface konfigurieren, an dem das DSL-Modem hängt. Man muss zusätzlich ein VLAN mit der ID 7 einrichten. Ich habe dafür die Networkmanager-CLI benutzt.
Mein WAN-Netzwerkinterface heißt enp1s0. Die PPPoE-Credentials muss man natürlich passend ersetzen. Falls man noch eine Konfiguration für das Netzwerkinterface in der Netplan-Konfiguration unter /etc/netplan/01-network-manager-all.yaml
hat, sollte man diese ggf. vorher deaktivieren.
nmcli connection add type vlan vlan.parent enp1s0 vlan.id 7 ipv4.method disabled ipv6.method ignore
nmcli connection add type pppoe username 1und1/[email protected] password XXXXXXXX ifname ppp1 pppoe.parent enp1s0.7
Die neuen Interfaces für das VLAN und das PPPoE lassen sich bei Bedarf wie folgt wieder entfernen.
nmcli connection delete pppoe-ppp1
nmcli connection delete vlan
Links:
VLAN How to do pppoE with ISP "Deutsche Telekom" using ifname ppp1 pppoe.parent enp3s0.7
Rhasspy ist ein tolles Projekt, um einen eigenen Sprachassistenten aufzusetzen. In meinem Fall soll Rhasspy mit dem Low-Code-Service Node-Red kommunizieren, um die eingesprochene Frage an ChatGPT weiterzuleiten. Standardmäßig benutzt Rhasspy dafür Kaldi. Damit Rhasspy mit Kaldi das gesamte Gesprochene transkribiert und nicht nur die konfigurierten Sätze, muss man Kaldi mit der Option "Open transcription mode" konfigurieren. Nach dem Herunterladen des größeren Sprachmodells funktioniert das auch so halbwegs. Leider ist die Transkription oft zu ungenau, als dass sie für die Weitergabe an ChatGPT taugen würde. Deshalb wollte ich es mit Whisper von OpenAI versuchen.
Da ich ohnehin einen API-Key bei OpenAI angelegt habe, um von Node-Red meine Anfrage an ChatGPT zu senden, liegt die Verwendung von Whisper sehr nahe. Whisper ist eine Speech-To-Text (STT)-API, mit der sich Sprache in Text umwandeln lässt. Das funktioniert wirklich ganz ausgezeichnet und die Worterkennung ist viel besser als lokal mit Kaldi.
Für die Einbindung kann man bei Rhasspy-Speech to Text einfach "Local Command" auswählen. Das verlinkte Skript speichert das Eingesprochene in eine WAV-Datei und schickt diese an OpenAI-Whisper. Das Skript sieht dann so aus.
# WAV data is avaiable via STDIN
wav_file="$(mktemp).wav"
trap "rm -f $wav_file" EXIT
cat | sox -t wav - -r 16000 -e signed-integer -b 16 -c 1 -t wav - > "$wav_file"
# Api-Key for Authorization
OPENAI_API_KEY="<api-key>"
# Send the wav recording to openai whisper
curl https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F file="@$wav_file" \
-F model="whisper-1" | jq -r '.text' | sed 's/[[:punct:]]//g'
# delete the wav recording file
rm "$wav_file"
Der so erzeugte Text kann nun an Node-Red gesendet werden, welches sich dann um eine passende Antwort von ChatGPT kümmert. Das Fragen beantworten funktioniert sehr gut. Ich würde sagen, sogar besser als bei Alexa, die einem doch oft unzutreffendes erzählt. Weil aber Whisper und ChatGPT herhalten müssen, kann von einer offenen Open Source-Lösung nicht mehr die Rede sein. Aber da entwickelt sich gerade wirklich viel. Ich freue mich jedenfalls darauf auch diese Cloud-Dienste durch etwas lokal gehostetes zu ersetzen.
Links
Chrome betrachtet eine Webseite, die man nur per HTTP aufruft, als unsicher. Möchte man jedoch nicht auf die Features einer als sicher geltenden Webseite verzichten, lässt sich dies im Chrome für jede URL konfigurieren.
Sichere Herkunft einer URL
Eine Herkunft ist die Kombination aus Protokoll, Hostname und Port einer URL und gilt als sicher, wenn sie HTTPS verwendet und ein gültiges SSL-Zertifikat hat. Betreibt man einen Home-Server und verwendet den Service nur innerhalt des Intranets, genügt oftmals eine einfache HTTP-Verbindung. Besser wäre ein selbst signiertes SSL-Zertifikat, das man dem Trust-Store des Browser hinzufügt. Eine HTTP-Verbindung in Chrome als sicher anzuerkennen, lässt sich mit Aufrufen des folgenden Links im Chrome-Browser einstellen.
chrome://flags/#unsafely-treat-insecure-origin-as-secure
Mehrere Ursprünge können als kommagetrennte Liste angegeben werden. Die Ursprünge müssen mit ihrem Protokoll angegeben werden, z. B. http://example.com
.
Einschränkungen für Insecure origins
- Kein Zugriff auf die Clipboard, Kamera, das Mikrofon oder den Standort.
- Kein Zugriff auf Service Worker oder Push-Benachrichtigungen.
- Kein Zugriff auf neue Web-APIs, wie z.B. Web Bluetooth oder Web USB, die nur für sichere Herkünfte verfügbar sind.
Mein Homeserver soll ein Backup auf eine externe Festplatte erhalten. Eine Festplatte liegt noch herum und dazu eine schaltbare Steckdose. Wird die Steckdose eingeschaltet und die Festplatte gemountet, soll das Backup-Script automatisch gestartet werden. Nach Backup-Fertigstellung muss die Festplatte wieder abgemeldet und ausgeschaltet werden. Das geht mit einer manuell schaltbaren Steckdose oder vollautomatisch, wenn man eine Hue-Bridge mit passender Steckdose hat.
Das Festplattenbackup
Als erstes muss die Festplatte nach dem Anstecken gemountet werden. Für den Ubuntu-Desktop funktioniert so etwas Out-of-the-Box aber ohne Desktop und angemeldeten Benutzer muss man etwas tun. Damit man sich nicht lange mit Udev-Rules herumärgern muss, gibt es das sehr komfortable Tool udev-media-automount das jedes Laufwerk, das keinen Eintrag in der fstab vorzuweisen hat, kurzerhand nach /media
mountet.
Damit nach dem Mounten ein Backup-Script ausgeführt wird, bauen wir uns ein Script, dass auf das Mounten der Backup-Festplatte wartet.
vim /home/user/bin/my_backup_watchdog.sh
und der neue Backup-Watchdog wie folgt angelegt.
#!/bin/bash -v
# Pfad zum Mount-Punkt
MOUNT_POINT="/media/Your_Media_Label"
# Pfad zum Backup-Skript
BACKUP_SCRIPT="/home/user/bin/my_backup.sh"
# Endlosschleife, um den Mount-Zustand zu überwachen
while true; do
if mountpoint -q "$MOUNT_POINT"; then
echo "Das Gerät ist gemountet, rufe das Backup-Skript $BACKUP_SCRIPT auf"
$BACKUP_SCRIPT
# Warte, bis das Gerät nicht mehr gemountet ist
until ! mountpoint -q "$MOUNT_POINT"; do
sleep 1
done
echo "Das Gerät ist nicht länger gemountet."
rmdir $MOUNT_POINT
fi
sleep 5
done
Das neue Backup-Watchdog-Script bei einschalten der Festplatte zu starten, lässt sich elegant mit einem systemd-Service bewerkstelligen. Zu erst also einen passenden Service anlegen.
vim /etc/systemd/system/my_backup_watchdog.service
und den neuen Backup-Service wie folgt konfigurieren.
[Unit]
Description=My device trigger Script
After=network.target
[Service]
User=root
WorkingDirectory=/home/guru/bin
ExecStart=/home/user/bin/my_backup_watchdog.sh
Type=idle
[Install]
WantedBy=multi-user.target
Zuletzt noch den systemd-Service aktivieren.
sudo systemctl enable my_backup_watchdog.service
und starten
sudo systemctl start my_backup_watchdog.service
Und nach dem ersten Aus- und wieder Einschalten der Backup-Festplatte prüfen, ob das Backup-Script gelaufen ist.
sudo journalctl -xef -u my_backup_watchdog.service
Das Backup-Script my_backup.sh
enthält in meinem Fall nur ein rsync-Aufruf, der alle Docker-Volumes sichert, die auf _data
, _config
oder _backup
enden.
#!/bin/bash -v
rsync -avL --delete --include='*_data/***' --include='*_config/***' --include='*_backup/***' --exclude='*' "$SOURCE_DIR" "$DESTINATION_DIR"
umount "$DESTINATION_DIR"
Automatisches Einschalten der Backup-Festplatte
Über die Hue-Smartphone-App lässt lassen sich Timer einstellen. Einfach unter "Automatisierung" den Timer für die Steckdose stellen. Jedes Mal, wenn die Steckdose per Timer eingeschaltet wird, wird die Festplatte eingehängt und das Backup gestartet.
Automatisches Abschalten der Backup-Festplatte
Das händische Ausschalten der Backup-Festplatte nach Beendigung des Backups ist in diesem Setup noch der dumme Teil. Wer eine Hue-Bridge hat, kann das automatisch erledigen, in dem man der Hue-Bridge das Signal zum Ausschalten der Steckdose übermittelt.
Als erstes muss man einen authorisierten Username auf der Hue-Bridge generieren. Dafür den Schalter der Hue-Bridge drücken und folgendes Curl-Statement absetzen.
curl -X POST https://<bridge ip address>/api -H "Content-Type: application/json" -d '{"devicetype":"my_hue_script#homeserver peter"}' --insecure
Man erhält nun den Username zurück, mit dem man im weiteren Verlauf alle Geräte abrufen und auch schalten kann. Das folgende Curl-Statement fragt die schaltbaren Geräte ab. Das sind neben den Leuchten eben auch Steckdosen.
curl -X GET https://<bridge ip address>/api/<username>/lights --insecure
Die Rückgabe enthält alle Geräte. Das oberste Element ist jeweils eine Ziffer, mit der sich das Gerät ansteuern lässt. Hat die Steckdose zum Beispiel die Nummer 16, lässt diese sich schalten, in dem man dem Key on
den Wert true oder false zuordnet. Also die Steckdose ein, oder ausschaltet. Die folgende Zeile dann einfach nach dem Unmounten der Festplatte ausführen und die Festplatte wird abgeschaltet.
curl -X PUT https://<bridge ip address>/api/<username>/lights/16/state -H "Content-Type: application/json" -d '{"on":false}' --insecure
Links
Get Started with Hue-Rest
Philips Hue: Timer für Lampen einstellen
Ein ChatGPT-Prompt um einen Prompt zu einem beliebigen Thema zu erstellen
Als mein Prompt Creator ist es deine Aufgabe, mir dabei zu helfen, den bestmöglichen Prompt zu erstellen. Der Prompt wird von dir, ChatGPT, verwendet. Wir werden den folgenden Prozess durchlaufen:
- Frage mich zuerst, worum es in dem Prompt gehen soll. Ich werde dir meine Antwort geben, und wir werden sie durch iterative Schritte verbessern.
- Basierend auf meiner Eingabe erstellst du 3 Abschnitte:
a) Überarbeiteter Prompt: Schreibe den überarbeiteten Prompt. Er sollte klar, präzise und für dich leicht verständlich sein.
b) Vorschläge: Mache Vorschläge, welche Details du in den Prompt einbauen kannst, um ihn zu verbessern.
c) Fragen: Stelle relevante Fragen, um herauszufinden, welche zusätzlichen Informationen ich benötige, um den Prompt zu optimieren. - Der von dir bereitgestellte Prompt sollte in Form einer Anfrage von mir vorliegen, die von ChatGPT ausgeführt werden soll.
- Wir werden den iterativen Prozess fortsetzen, indem ich dir zusätzliche Informationen gebe und du den Prompt im Abschnitt "Überarbeiteter Prompt" aktualisierst, bis er vollständig ist.
Links:
KI-Gesteuerte Bildverbesserung
Upscayl, eine Desktop-Anwendung zur Verbesserung der Qualität von Bildern mit Hilfe von KI und ermöglicht die Qualität von Bildern zu verbessern, indem es die Detailgenauigkeit erhöht.
In Bezug auf die Funktionalität bietet Upscayl drei Hauptverarbeitungstypen: Digitale Fotografie, digitale Kunst und Schärfen. Im Modus "Schärfen" behält das Programm die ursprüngliche Bildgröße bei, fügt jedoch zusätzliche Details hinzu, um das Bild klarer zu machen. Das Programm hat auch eine Funktion, die es ermöglicht, die Größe des resultierenden Bildes zu verdoppeln, indem es die verarbeitete Datei ein zweites Mal bearbeitet. Das funktioniert, je nach Bild, unterschiedlich gut.
Bei einigen Versuchen zeigten sich teilweise beeindruckende Ergebnisse. Bei näherem Hinschauen muss man allerdings auch wieder Abstriche hinnehmen, weil die hinzugefügten Details eben doch nicht echt aussehen. Bei gemalten oder gezeichneten Bildern ist das schon etwas anderes. Den Jpeg-Artefakten geht es an den Kragen und das Resultat kann sich sehen lassen. Hier kommt es der KI wohl zugute, dass Gezeichnetes eben anders als Fotos nicht "echt" aussehen muss und zu viel Glättung hier oder Ausgedachtes dort den Blick weniger stört.
Features:
- Skaliert niedrigauflösende Bilder, um deren Qualität zu verbessern.
- Skaliert mehrere Bilder gleichzeitig im Batch.
- Schärft Bilder, um deren Klarheit und Detailgenauigkeit zu erhöhen.
Voraussetzung :
- Unterstützt Linux, MacOS und Windows-Plattformen.
- Eine Vulkan-Kompatible GPU
Links:
www.onli-blogging.de/2286/Mit-Upscaling-allgemein-Fotos-verbessern.html
Mitgestaltung ist das Wort der Stunde.
Viele Organisationen kämpfen jedoch mit der Umsetzung dieses Ansatzes, da ihre Mitarbeiter es gewohnt sind, lediglich Befehle entgegenzunehmen und ihnen zu folgen. Der revolutionäre Denkansatz des "Leader-Leader"-Modells verändert diese Dynamik grundlegend, indem er den Mitarbeitern Verantwortung und Entscheidungsbefugnis überträgt. Dabei wird ihr Handeln gleichzeitig auf die Ziele und Visionen der gesamten Organisation ausgerichtet.
Diese Führungsphilosophie wurde von David Marquet entwickelt, einem ehemaligen Kommandanten des Atom-U-Boots USS Santa Fe. Unter seiner Leitung gelang es der Santa Fe, sich von einem Schiff mit den schlechtesten Bewertungen zu einer Ehrung als bestes Schiff der nukleargetriebenen Flotte der US Navy zu steigern. Dieser beeindruckende Erfolg verdeutlicht eindrucksvoll die transformative Kraft des "Leader-Leader"-Ansatzes und seine Fähigkeit, die Leistungsfähigkeit und Effektivität einer Organisation nachhaltig zu steigern.
Die Geschichte von Captain David Marquet und die USS Santa Fe
Eine inspirierende Geschichte, die die Bedeutung von Vertrauen und Eigenverantwortung unterstreicht, ist die Erfahrung von Captain David Marquet, der das Kommando über das U-Boot USS Santa Fe übernahm. Ursprünglich war Captain Marquet darauf vorbereitet, das Kommando über eine andere U-Boot-Klasse zu übernehmen, aber aufgrund einer Änderung wurde ihm die USS Santa Fe zugeteilt, eine U-Boot-Klasse, mit der er nicht vertraut war.
Zu Beginn seiner Amtszeit auf der USS Santa Fe führte Captain Marquet die traditionelle Befehlsstruktur fort, bei der er als Kapitän alle Entscheidungen traf und die Befehle an die Mannschaft weitergab. Allerdings stellte er schnell fest, dass dies zu einer ineffizienten Arbeitsweise führte und das volle Potenzial seines Teams nicht ausgeschöpft wurde. Die Mannschaft war zögerlich, eigene Entscheidungen zu treffen, und es herrschte eine Atmosphäre der Unsicherheit und des Mangels an Vertrauen.
Captain Marquet erkannte, dass er etwas ändern musste, um das U-Boot-Team effektiv zu führen. Anstatt weiterhin alles zu kontrollieren, beschloss er, Vertrauen in seine Mannschaft zu setzen und ihnen mehr Verantwortung zu übertragen. Er gab die Befehlsstruktur auf und implementierte eine neue Führungsmethode, die auf Vertrauen, Eigenverantwortung und klaren Zielen basierte.
Statt Anweisungen zu geben, ermutigte Captain Marquet seine Crewmitglieder, ihre eigenen Entscheidungen zu treffen und ihre Expertise und ihr Fachwissen einzubringen. Er erkannte, dass die Mannschaft aufgrund ihrer direkten Nähe zum Geschehen oft bessere Informationen hatte als er selbst. Daher veränderte er die Kommunikation an Bord und forderte seine Mannschaft auf, bei Unklarheiten nachzufragen, statt blind Befehlen zu gehorchen.
Indem er Verantwortung an seine Mannschaft delegierte, ermöglichte Captain Marquet den Crewmitgliedern, ihre Fähigkeiten voll auszuschöpfen und sich aktiv an Entscheidungen und Problemlösungen zu beteiligen. Dadurch stärkte er das Vertrauen in sein Team und schuf eine Kultur des Vertrauens und der Zusammenarbeit.
Die Ergebnisse waren beeindruckend. Die USS Santa Fe, die zuvor als ineffektiv und unzuverlässig galt, wurde zu einem der effizientesten und leistungsstärksten U-Boote der Flotte. Die Mannschaft war motiviert, engagierte sich aktiv für die Mission des U-Boots und war bereit, über ihre Pflichten hinauszugehen, um die Ziele zu erreichen.
Die Geschichte von Captain David Marquet und der USS Santa Fe zeigt, dass Vertrauen und Eigenverantwortung entscheidend sind, um das volle Potenzial eines Teams auszuschöpfen. Indem er losließ und seiner Mannschaft vertraute, konnte Captain Marquet ein Umfeld schaffen, in dem jeder seine Stärken einbringen konnte. Diese Erfahrung dient als inspirierendes Beispiel für Führungskräfte
Leadership: Die 3 Ks für erfolgreiche Mitarbeiterführung
Kontrolle: Vertrauen und Verantwortung
Eine der wichtigsten Eigenschaften eines guten Leaders ist die Fähigkeit, Kontrolle abzugeben und den Mitarbeitern Vertrauen entgegenzubringen. Stellen Sie sich vor, Sie sind der Kapitän eines U-Boots. Anstatt ständig die Positionen der Crewmitglieder zu überwachen, geben Sie ihnen klare Anweisungen und Verantwortungsbereiche. Sie schaffen Vertrauen, indem Sie ihnen vertrauen und wissen, dass sie ihre Aufgaben kompetent erfüllen können. Sie geben ihnen den Freiraum, ihre Talente und ihr Potenzial voll auszuschöpfen.
-
Schaffen Sie Vertrauen: Wie der Kapitän des U-Boots vertrauen Sie Ihren Mitarbeitern. Sie geben ihnen den Raum, eigenständig zu arbeiten und neue Ideen zu entwickeln und umzusetzen.
-
Fördern Sie Eigenverantwortung: Übertragen Sie Verantwortung auf Ihre Mitarbeiter und ermöglichen Sie es ihnen, selbstständig Entscheidungen zu treffen und Lösungen zu finden. Geben Sie ihnen das Vertrauen, dass sie die Aufgaben erfolgreich bewältigen können.
Kompetenz: Stärken fördern und Entwicklung unterstützen
Ein guter Leader erkennt die individuellen Stärken und Fähigkeiten seiner Mitarbeiter und setzt diese gezielt ein. Stellen Sie sich vor, Ihr U-Boot-Team besteht aus verschiedenen Experten, wie einem Navigationsspezialisten, einem Techniker und einem Kommunikationsexperten. Sie erkennen die Fähigkeiten jedes Einzelnen und nutzen sie, um das Team optimal zu unterstützen. Hier sind einige Schritte, um die Kompetenz Ihrer Mitarbeiter zu stärken:
-
Identifizieren Sie Stärken: Wie der Kapitän des U-Boots erkennen Sie die Stärken und Talente Ihrer Mitarbeiter. Dies ermöglicht es Ihnen, sie in Bereichen einzusetzen, in denen sie besonders gut sind und ihr Potenzial voll entfalten können.
-
Schaffen Sie Lernmöglichkeiten: Bieten Sie Ihren Mitarbeitern die Möglichkeit zur Weiterbildung und persönlichen Entwicklung. Dies kann durch Schulungen, Mentoring-Programme oder den Austausch mit anderen Fachleuten erfolgen. Unterstützen Sie sie dabei, neue Fähigkeiten zu erlernen und sich beruflich weiterzuentwickeln.
-
Geben Sie konstruktives Feedback: Feedback ist ein wichtiger Bestandteil der Kompetenzentwicklung. Wie der Kapitän des U-Boots geben Sie Ihren Mitarbeitern konstruktives Feedback, um ihre Leistung zu verbessern und sie auf Kurs zu halten. Geben Sie ihnen Anerkennung für ihre Erfolge und unterstützen Sie sie bei der Bewältigung von Herausforderungen.
Klarheit: Gemeinsame Ziele und klare Kommunikation
Klarheit ist wie das Sonar des U-Boots - sie sorgt dafür, dass alle Teammitglieder auf dasselbe Ziel hinarbeiten und ihre Aufgaben verstehen. Eine klare Kommunikation ermöglicht es den Mitarbeitern, ihre Arbeit effektiv zu erledigen und sich auf die Ziele der Organisation auszurichten. Hier sind einige Tipps, um Klarheit zu fördern:
-
Definieren Sie Ziele: Wie der Kapitän des U-Boots legen Sie klare und erreichbare Ziele fest, die sowohl für das Team als auch für die individuellen Mitarbeiter relevant sind. Sorgen Sie dafür, dass alle Teammitglieder die Ziele verstehen und wissen, wie sie dazu beitragen können.
-
Kommunizieren Sie offen und transparent: Halten Sie Ihre Mitarbeiter regelmäßig über wichtige Informationen auf dem Laufenden. Wie das Sonar des U-Boots senden Sie klare Signale aus, um sicherzustellen, dass alle auf dem gleichen Stand sind. Offene und transparente Kommunikation schafft Vertrauen und fördert das Verständnis für die Vision und Ziele der Organisation.
-
Stellen Sie sicher, dass Aufgaben und Erwartungen klar sind: Wie der Kapitän des U-Boots klären Sie Aufgaben, Verantwortlichkeiten und Erwartungen deutlich. Sorgen Sie dafür, dass Ihre Mitarbeiter wissen, was von ihnen erwartet wird und wie ihre Arbeit bewertet wird. Klare Kommunikation verhindert Missverständnisse und sorgt für einen reibungslosen Ablauf der Arbeitsprozesse.
Fehlen von Kontrollem Kompetenz oder Klarheit
Es ist wichtig zu beachten, dass diese drei Ks eng miteinander verbunden sind und sich gegenseitig beeinflussen. Das Fehlen eines K kann sich negativ auf die anderen Ks auswirken und zu einer Abwärtsspirale führen. Daher ist es für effektive Führungskräfte von Bedeutung, ein Gleichgewicht zwischen Kontrolle, Kompetenz und Klarheit herzustellen, um ihren Mitarbeitern ein Umfeld zu bieten, in dem sie ihr volles Potenzial entfalten können.
-
Fehlende Kontrolle: Wenn Mitarbeiter keine ausreichende Kontrolle über ihre Arbeit haben, fühlen sie sich fremdgesteuert und ihre Handlungsspielräume sind eingeschränkt. Dies kann zu Frustration, Ohnmacht und einem Mangel an Motivation führen. Zudem können Entscheidungen langsamer getroffen werden, da alles auf die Zustimmung und Anweisungen der Führungskraft angewiesen ist. Die Organisation kann an Agilität und Flexibilität verlieren.
-
Fehlende Kompetenz: Wenn Mitarbeitern die nötige Kompetenz für ihre Aufgaben fehlt, werden sie überfordert und unsicher. Dies kann zu Fehlern, ineffizienter Arbeit und einer geringen Arbeitsqualität führen. Die Mitarbeiter können sich hilflos fühlen und ihre Entwicklung und Leistungsfähigkeit stagniert. Die Organisation riskiert den Verlust wertvoller Fachkenntnisse und Potenziale.
-
Fehlende Klarheit: Wenn Mitarbeitern die Klarheit über die Ziele und Visionen der Organisation fehlt, herrscht Unsicherheit und Ziellosigkeit. Sie wissen nicht, in welche Richtung sie arbeiten sollen und was von ihnen erwartet wird. Dies führt zu einer geringeren Mitarbeiterengagement, mangelnder Ausrichtung und schwieriger Zusammenarbeit. Die Organisation kann ihre Ziele nur schwer erreichen und es kann zu einem Mangel an Innovationskraft und strategischer Ausrichtung kommen.
Fazit
Die "3 Ks" - Kontrolle, Kompetenz und Klarheit - sind essenzielle Elemente für erfolgreiche Mitarbeiterführung. Indem Sie Vertrauen und Verantwortung fördern, die Kompetenz Ihrer Mitarbeiter stärken und klare Ziele und Kommunikation sicherstellen, können Sie ein Umfeld schaffen, in dem sich Ihre Mitarbeiter entfalten und erfolgreich sein können. Denken Sie an das U-Boot und den Kapitän, der Vertrauen in seine Crew hat, ihre individuellen Stärken nutzt und klare Signale sendet, um das gemeinsame Ziel zu erreichen. Die Anwendung dieser Prinzipien erfordert eine bewusste Herangehensweise und ein ständiges Engagement, aber die positiven Auswirkungen auf Ihr Team und Ihre Organisation sind es wert.
Quellen:
Agile Leader Day Reiß das Ruder rum – Von Gefolgsleuten zu Mitgestaltern
Mitarbeitergespräch Fragen: 15 wichtige
Der Entgeltatlas wurde von der Bundesagentur für Arbeit entwickelt, um Arbeitnehmern und Arbeitgeber einen Überblick über die Verdienstmöglichkeiten in verschiedenen Berufen und Branchen zu ermöglichen. Auf der recht benutzerfreundlichen Webseite lässt sich nach verschiedenen Kriterien wie Beruf, Branche oder Region suchen. Die Ergebnisse liefert detaillierte Informationen über durchschnittliche Gehälter, geschlechtsspezifische Unterschiede und andere relevante Faktoren. Der Entgeltatlas bietet eine solide Grundlage, um die eigene Gehaltsposition zu analysieren und zu bewerten.
Gut geschriebene Anleitung, wie man einen Home-Server aus dem Standby bekommt, wenn er über das Netzwerk angesprochen wird.
EmuOS ist ein Tool, das es ermöglicht, Spieleklassiker von Windows 95 und 98 im Browser zu spielen. Es verspricht eine kleine Zeitreise in die Anfänge von Windows. Die Online-Beta-Version bietet die Wahl zwischen einer emulierten Windows 95-, 98- oder ME-Umgebung2. EmuOS wird als Frontend für Emupedia-Projekte verwendet. Ein Download ist nicht erforderlich.
ChatPDF erlaubt es mit dem Inhalt einer PDF-Datei zu chatten. Das ganze ist aktuell sogar kostenlos und man benötigt keine Anmeldung.
Ich habe zum Beispiel mal das RFC für Uniform Resource Locators hochgeladen und mir die Frage beantworten lassen, welcher Teil einer URL Case-Sensitiv ist. Die Antwort darauf ist erfreulich konkret.
According to the information on page 2 of the PDF, scheme names in URLs are case-insensitive. This means that programs interpreting URLs should treat upper case letters as equivalent to lower case in scheme names. However, other parts of a URL may be case-sensitive depending on the specific scheme being used. For example, the path component of a URL in the HTTP scheme is generally case-sensitive, while the domain name component is not.
Fragen lassen sich auch in deutscher Sprache stelle, die Antworten erfolgen allerdings in Englisch. Zu jeder Antwort wird auch die passende Textstelle im PDF ausgewiesen. Das ist wirklich Nice!
Watchtower ist ein Prozess, der Docker-Container automatisch aktualisiert, wenn neue Basis-Images verfügbar sind. Watchtower zieht das neue Image herunter, schaltet den vorhandenen Container ab und startet ihn mit den selben Optionen neu, die beim ersten Deployment verwendet wurden. Watchtower kann mit dem Docker Hub oder einem eigenen Image-Registry verwendet werden.
Watchtower kann mit dem folgenden Befehl installiert werden:
$ docker run --detach \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
Watchtower läuft dann im Hintergrund und überwacht alle Container.
Etckeeper ist ein Tool, mit dem Benutzer ihr /etc-Verzeichnis in einem Versionskontroll-Repository wie Git, Mercurial, Bazaar oder Darcs speichern können. Dies bietet den Benutzern mehrere Vorteile, darunter die Möglichkeit, Änderungen am /etc-Verzeichnis zu überprüfen oder rückgängig zu machen und Konfigurationsänderungen zu sichern, indem das Repository an einen anderen Ort verschoben wird.
Einer der Hauptvorteile von Etckeeper ist, dass es sich in Paketmanager wie apt einklinkt und Änderungen, die während eines Paket-Upgrades in /etc vorgenommen werden, automatisch festschreibt. Dies bedeutet, dass Benutzer Änderungen an der Systemkonfiguration im Laufe der Zeit leicht verfolgen und verwalten können. Darüber hinaus verfolgt Etckeeper Dateimetadaten, die Git normalerweise nicht unterstützt, wie z. B. die Berechtigungen von /etc/shadow, was für die Sicherheit und Integrität des Systems wichtig ist.
Etckeeper ist modular und konfigurierbar, was es zu einem mächtigen Werkzeug für fortgeschrittene Benutzer macht. Es ist aber auch für diejenigen einfach zu benutzen, die die Grundlagen der Versionskontrolle verstehen. Einige der Vor- und Nachteile der Verwendung von Etckeeper sind:
Vorteile:
- Verbesserte Verwaltung und Verfolgung der Systemkonfiguration
- Automatisches Commit von Änderungen, die bei Paket-Upgrades vorgenommen werden
- Unterstützung für die Verfolgung von Datei-Metadaten, einschließlich Dateiberechtigungen
- Kompatibilität mit mehreren gängigen Versionskontrollsystemen
- Modular und konfigurierbar, ermöglicht erweiterte Anpassungen
Nachteilig:
- Erfordert einige Kenntnisse über Versionskontrolle, um effektiv zu arbeiten
- Erfordert die Installation und Einrichtung eines Versionskontrollsystems
- Kann zusätzliche Systemressourcen für die Pflege des Repositorys verbrauchen
Insgesamt ist Etckeeper ein leistungsfähiges Werkzeug für Systemadministratoren und fortgeschrittene Benutzer, die ihre Systemkonfiguration besser verwalten und verfolgen wollen. Es bietet mehrere Vorteile, darunter die automatische Übertragung von Änderungen, die Verfolgung von Datei-Metadaten und die Kompatibilität mit gängigen Versionskontrollsystemen. Es erfordert jedoch auch einige Kenntnisse und die Einrichtung der Versionskontrolle und kann zusätzliche Systemressourcen für die Verwaltung des Repositorys verbrauchen.