Kick not used RAW-Files

Problemstellung

Ich Photographiere nebenbei mit einer Spiegelreflex und lasse mir dabei immer JPG’s in einer überschaubaren Qualli, aber auch die RAW’s auf die Karte schreiben. Das hat den Vorteil, dass ich schon mal schnell die ersten Bilder rausgeben kann, aber für hochauflösende, nachbearbeitete Bilder noch das RAW habe. Allerdings kommt nun auch der große Nachteil: Bei mal schnell einigen hundert Bildern muss ich diese auch aussortieren. Dabei lösche ich die JPG’s raus, die ich nicht brauche (meist zwei bis drei loops, bis ich dann nur noch die wenigen schönen Bilder habe) und gehe dann nochmal durch und lösche die entsprechenden RAW’s. Der zweite Schritt kostet Zeit und ist manuell auch fehleranfällig.

Problemlösung

Das das nicht sein muss, zeige ich nun hier: Es soll ein einfaches Script werden, welchem man n Ordner übergeben kann, in denen dann:

  • Wechsel in den Unterordner
  • Ein „alt“-Ordner angelegt wird, wenn nicht schon vorhanden
  • Für jeden RAW-File ein JPG gesucht wird
  • Jedes RAW, was kein gleichnamiges JPG wird in den „alt“-Ordner verschoben
  • Das ganze auch nochmal Rückwärts: Alle JPG’s ohne RAW (wurde vlt. aus versehen gelöscht) sollen aufgelistet werden

Also Step by Step: Zuerstmal die Übergabe von Parametern innerhalb des Aufrufes mit einem Loop über alle übergebenen Ordner. Beim Aufruf wird dabei mit bash Scriptname Ordner1/ Ordner2/ … Ordnern/ alle zu bereinigenden Ordner übergeben. Wichtig! Bei dieser Lösung MUSS das „/“ den Pfad/Ordner abschließen!

Weiterlesen

Surfen mit Spamblock und privater

Mit dem Thema werde ich keine überragende Neuigkeiten vermitteln. Es geht immerhin um das Projekt Pi-Hole, was bei den meisten bekannt sein dürfte. An dieser Stelle hilft eigentlich schon die Installationsanleitung auf der Projektseite weiter und alles ist gut. Ja und nein, denn hier soll es auch etwas um die Hardware gehen.

Ein DNwas?

Kurz zur Klärung: Was macht ein DNS? Ein DNS (Domain Name Server) wandelt eine Adresse im Netzwerk(die wir Menschen uns am besten merken können) in die (aktuell gültige) IP-Adresse (quasi die Telefonnummer des Zielrechners, mit dem ein PC besser arbeiten kann) um. Kleines Beispiel: Die Domain google.de wird im Hintergrund in die IP 142.250.181.195 aufgelöst.

Was macht nun der PiHole so tolles? Zum einen geht nicht jede Anfrage an einen externen Server -> nur über den DNS-Server lässt sich dann schlechter tracken, was sich gerade wer ansieht. Zum anderen kann man PiHole mit sog. Blocklisten füttern, quasi schwarze Listen von Webadressen, die für Spam bekannt sind, mal korrumpiert wurden, oder anderweitig aufgefallen sind. Zudem kann man auch den Zugriff von (einzelnen) Geräten im Netzwerk nach draußen einschränken. Aus persönlicher Erfahrung: Kann hilfreich sein, zB. bei billigen Soundbars etc. die ständig nach China telefonieren wollen.

Weiterlesen

Visualisierung von Adresslisten @PowerShell

Problemstellung

Basis ist der Artikel Visualisierung von Adresslisten. Die Problemstellung ist die Selbe, nur „aber ich hab doch kein Linux“ kommt nun hinzu. Und weil es schon interessant ist, das selbe Problem auch mal anders zu lösen, nun nochmal in der PowerShell, die unter Windows schon wirklich viel nutzbares mit bringt, was doch eher unter Unix allgemein als Bordmittel bekannt ist. Also gleich ans Eingemachte:

Denken wir Groß – nun in der PowerShell

Als Basis dient wieder die selbe *.csv mit folgendem Inhalt

Gruppe;Name;Beschreibung;Adresse
Macs;Mac1;Nikolaiort;Nikolaiort 1-2 49074 Osnabrück-Innenstadt
Macs;Mac2;Theodor-Heuss-Platz;Theodor-Heuss-Platz 1 49074 Osnabrück-Innenstadt
Macs;Mac3;Pagenstecher;Pagenstecherstr. 72 49090 Osnabrück-Hafen
Macs;Mac4;Hannoversche;Hannoversche Str. 45 49084 Osnabrück-Fledder
Macs;Mac5;Hauptstrasse;Hauptstr. 105 49205 Hasbergen-Gaste
BKing;BKay1;Moserstrasse;Moserserstr. 51 49074 Osnabrück
BKing;BKay2;Pagenstecher;Pagenstecherstr. 50 A 49090 Osnabrück
BKing;BKay2;Hannoversche;Hannoversche Str. 74 49084 Osnabrück

Parse the Line

Auch hier geht es erstmal mit dem Einlesen und dem Parsen los. Hier aber direkt incl. der Sortierung:

Weiterlesen

Visualisierung von Adresslisten

Problemstellung

„Ach, was machst du denn hier?!“ hieß es letztens von einem Kita-Papa meines Kindes, als er mich nahe unseres Zuhauses ebenfalls auf dem Weg zur Kita traf. Bis dahin wusste ich allerdings auch nicht, dass sie bei uns ums Eck wohnt.
Daher die Idee: Alle Adressen zu visualisieren, da wir Bilder eben einfacher begreifen. Wichtig für mich dabei:

  • Es sollte dem Datenschutz genügen -> Als Visualisierung nicht gerade GoogleMaps o.ä. nutzen, die Speicherung der Daten idealerweise offline
  • Für spätere Erweiterungen per Script aus einer Liste erstellbar (*.csv, *.xlsx,..)
  • Gruppen differenzierbar durch unterschiedliche Farben und/oder Icons

Lösungsansatz manuell

Adressen in Geopunkte/Koordianten

Am Anfang steht, nach der Bereinigung der Daten geht’s an die Abfrage der Koordinaten. Man könnte nun jede einzelne bei GoogleMaps suchen und sich aus der Adresszeile die Koordinaten heraus nehmen(wäre blöd wegen des Datenschutzes). Das selbe geht auch mit OpenStreetMap über den Perma-Link. Aber es geht auch noch schöner und sauberer:

Weiterlesen

Vinyl geos on Air

Problemstellung

Die alten Boxen waren langsam auf, der eigene Nachwuchs gab ihnen dann den Todesstoß, oder eher den Todes-Finger-Dipp. Der große Verstärker und das CD-Deck waren eh schon immer irgendwie fehlt am Platz. Einzig und alleine der Plattenspieler war noch schick, weil dieses Knistern der Platten einfach einen gewissen Flair haben (und auch das drehen nach drei bis fünf Songs 😉 ). Zudem hat man vielleicht auch die eine oder andere Platte, die bei den großen Streaming-Anbietern so nicht zu haben sind.

Bei uns kam dann die Lösung auch von meiner Frau: Hey, die Sonos-Boxen sehen doch nett aus, kann man überall platzieren, spielen auch gewisse Streaming-Dienste ab und die Boxen im schwedischen Möbelhaus sind preislich völlig in Ordnung (teils auch günstiger gebraucht zu haben). Ok, erstmal den Plattenspieler an die Seite gepackt, zu der Zeit hatte ich eh wenig Ruhe mal eine Platte aufzulegen. Und es gibt ja auch noch die tollen Lösungen von Sonos: Box hinstellen, Stecker rein, in der App auswählen und los geht’s. Vielleicht etwas naiv gedacht und nicht zu ende überlegt, denn die Kostet gerne um 200€+, oder ist in der gebrauchten Variante teilweise nicht mit der aktuellen Sonos-App kompatibel.

Problemlösung

Aber Lösung naht: Ich bin damals auf diesen Blog-Artikel gestoßen: Add Aux to Sonos. Das lässt sich auch noch immer nach der Anleitung zusammenstellen. Dennoch hier mal meine Erfahrungen und Beschreibung:

Grundlage ist die Hardware. In diesem Falle mindestens ein Raspberry Pi 2 (der aktuell auch schon echt schwer zu bekommen ist). Meine Versuche mit einem 1b waren leider alle etwas dürftig. Diverse Aussetzer, Übertragungen waren ruckelig, Qualitativ unschön, auch für nicht audiophile Menschen.
Dazu kommt eine USB-Soundkarte, bei mir eine Behringer U-PHONE UFO202, die mit um 25€ (Stand März 2023) recht erschwinglich ist. Mit dem eingebauten Phono-Vorverstärker erspart man sich das weitere adaptieren. Dazu noch eine Stromversorgung, MicroUSB-Kabel, Netzwerkkabel, eine MicroSD (8Gig reichen hier völlig aus) und schon ist die Einkaufsliste fertig.

Weiterlesen

Serverdaten und MQTT

Problemstellung

Innerhalb des Smarthome-Systems sollen auch Daten der internen Server dargestellt werden, beispielsweise um Aktionen auszulösen, die Werte auf dem zentralen Dashboard darzustellen bzw. längerfristig vorrätig zu halten, oder um bei Problemfällen vom Smarthome über diese informiert zu werden.

Lösungsansatz

Da wäre es doch super, wenn Daten via MQTT versendet werden würden, wie:

  • CPU-Auslastung
  • Speicher-Auslastung
  • Hardwaredaten
  • Uptimes
  • Temperaturen

Ja, MQTT ist nun nicht zwingend die sicherste Variante um sensible Daten zu versenden, erst recht nicht dann, wenn diese nicht verschlüsselt übertragen werden. Und doch, ist das aus meiner Sicht für ein kleines Netzwerk durchaus eine akzeptable Lösung. Immerhin sind ja Sender um Empfänger im gleichen Netz und es wird nicht durchs Netz rund um den Globus geschickt. In der Regel hängt dann auch noch alles an einem Switch, Idealerweise smart Managed oder besser, wird damit auch nur vom Sender-Port zum Empfänger-Port versandt.

Aber zurück zur Lösung, denn die heißt RPi-MQTT-Monitor und liefert eben eine Menge Daten via MQTT und ist damit für alle möglichen Systeme kompatible. Für mich sehr praktikable, denn damit kann ich mir relativ einfach Warnungen bei Grenzwertüberschreitungen melden oder anzeigen lassen. Langfristig volllaufende Speicher werden ebenso gut erkannt, wie havarierte Prozesse (stark steigende, oder konstant hohe CPU-Lasten).