Live äußerst korrekt

Völlig überraschend ist aufgefallen, dass die vor-Covid-gebuchte Veranstaltung nun doch tatsächlich stattfand und damit waren wir vergangenen Freitag abend im Theaterhaus in Stuttgart bei Methodisch Inkorrekt!

Was ist das? Das sind zwei Physiker, die einen äußerst unterhaltsamen Podcast betreiben, in dem (außer dem üblichen Geplänkel zur aktuellen Lage, Privatem und nicht-so privatem, dem Schwurbel der Woche, etc.) im wesentlichen 4 aktuelle wissenschaftliche Publikationen vorgestellt werden. Natürlich in einer äußerst reduzierten, populärwissenschaftlichen Form und eine sehr unterhaltsame Art des Vortrags.

Wie muss man sich Podcast live vorstellen? Ich hatte so meine Befürchtungen, dass eine Veranstaltung dieser Art nicht an die Vorstellung herankommt, die man nach monate.. nein.. jahrelangem Hören des Podcast für sich entwickelt hat. Aber das war völlig unbegründet. Auch live schaffen es Reinhard Remford und Nicolas Wöhrl, sich schlagfertig die verbalen Bälle zuzuwerfen. Es gibt natürlich auch was zu sehen, eine ganze Reihe netter Experimente, die ich hier aber nicht wegspoilern möchte. Und das Intro! Unbeschreiblich.

Wir und ich glaube auch alle anderen im Saal waren begeistert. Ganz großes Kino.

https://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gif

Zeichen auf Bäumen

Jeder kennt sie: Die bunten Markierungen auf den Bäumen. Doch was bedeuten sie eigentlich? Ist auf einem Baum mit einem roten Schrägstrich gekennzeichnet, so wird er gefällt. Steht eine Zahl auf dem Baum, handelt es sich um hochwertiges, fehlerfreies Holz, welches bei einer Submission versteigert wird und beispielsweise für Böden und Möbel genutzt oder in Klanginstrumenten verbaut wird. Damit der jeweilige Baum schnell wiedergefunden werden kann, wird er mittels GPS erfasst und der genaue Standort kartiert. Durch äußere Merkmale, zum Beispiel sogenannte „Chinesenbärte“ an Buchen kann auf das Bauminnere und somit auf die Qualität des Holzes geschlossen werden. Zwei horizontale, gelbe Linien kennzeichnen die „Rückegassen“. Die Holzfäller wissen durch diese Markierung, welche Wege sie nutzen dürfen um das gefällte Holz abzutransportieren. Die gelben Wellenlinien an den Bäumen markieren Habitatbäume oder ganze Habitatbaumgruppen. Das sind Einzelbäume oder Baumgruppen, die durch Besonderheiten (Großhöhlen, Spalten, Horst, Alter) Tieren und Pflanzen einen Lebensraum bieten und nicht gefällt werden.

(schamlos hier wiedergegeben aber gut zu wissen! )

Versuche mit FHEM

Seit ich beruflich in der Smart Home Welt mitmische kaufe ich mir hin und wieder privat das eine oder andere Produkt. Allerdings nicht, um das Haus hier smarter zu machen.. ich glaube das wird dadurch eher dümmer. Aber es gibt so viele unterschiedliche Standards und Technologien, da verliert man sonst den Überblick. Man muss schon hin und wieder etwas in die Finger nehmen.

Bei mir ist das Zentrum des Chaos das Herz der Automation ein Raspberry Pi (Model B, das gute Gerät ist knatteralt gemessen an Raspberry Lebenszeiten) mit aufgestecktem TCM 310 Modul für Enocean Sensoren. Der Pi ist hier im WLAN und hat außerdem einen Conbee2 Stick für ZigBee Telegramme.

Anbei einige im Netz zusammengesammelte Tips, die ich frecherweise ohne Nennung der Quelle zusammenfasse, für mich und weitere Interessierte.

Conbee Gateway koppeln

define deCONZ HUEBridge 192.168.188.X (your GW IP)
attr deCONZ httpUtils 1
set deCONZ active

Damit ist das Pairing aktiv. Den Namen "deCONZ" kann man natürlich beliebig ändern. Das wird hier nur verwendet, da man vorher den Conbee2 mit deconz auf dem Raspberry in Betrieb genommen hat. Wie das geht steht auf der dresden-elektronik Github Seite.

Dann geht man in der Phoscon Webanwendung auf "Gateway" und rechts unten hinter "Erweitert" klickt man "App verbinden". Alle bereits in Phoscon eingelernten Lampen werden durch die Bridge automatisch in FHEM angelegt, auch die Gruppen. Die Sensoren kann man folgendermaßen hinzufügen:

get deCONZ sensors

Dabei geht ein Fenster auf, von dem man sich am besten einen Screenshot macht. Denn die dort angezeigten Nummern braucht man gleich um die Sensoren über die Konsole anzulegen.

In meiner Bridge eingelernte Sensoren
define Sensor1.Humidity HUEDevice sensor 4

So kann man z.B. den Feuchtigkeitssensor hinzufügen. Der letzte Parameter ist dabei die oben angezeigte Id. Jetzt kann man noch ein paar Attribute hinzufügen, z.B. den Anzeigenamen per alias verschönern oder icon und stateFormat anpassen.

Um mit den Sensoren eine nette Historie aufzuzeichnen, folgt man einfach dieser Anleitung. Spätestens jetzt müsste man etwas mit dem archaischen UI angewärmt sein. Es ist nur was für Fans. Die iPad Fraktion hat natürlich was anderes. Aber schon mal ganz nett.

Windows network printing trouble

Mit dem Windows-Update vom Oktober funkionierte hier mein Netzwerk-Drucker nicht mehr. Der Druckdialog öffnete sich erst nach einer gefühlten Ewigkeit. Beim Erstellen des Druckauftrags erschien dieser dann auch in der Drucker-Warteschlange, allerdings wurde dieser dann nie abgearbeitet. Ich vermute, dass das eine Nebenwirkung der Patches ist, die aktuell unter "Windows Printing Nightmare" durch die Presse gehen.

Ich benutze einen alten Kyocera Laserdrucker, der bei mir als Netzwerkdrucker an einem Raspberry Pi hängt. Als ich den Drucker direkt an den PC gesteckt hatte, funktionierte alles wieder. Mein Laptop, der mit den Updates immer etwas hinterherhängt (wegen seltener Nutzung), funktionierte eine Weile noch, bis er letzte Woche ebenfalls das Windows Update abkriegte. Zu dem Zeitpunkt war ich mir dann sicher, dass es an dem Windows Patch lag.

Das Problem konnte ich am Ende damit lösen, dass ich einfach den Netzwerkdrucker entfernt und neu hinzugefügt habe. Vermutlich hilft das nur in meinem Einzelfall, aber vielleicht verschont es euch vor den wütenden Flüchen, die ich heute schon ausgestoßen habe..

Thunderbird Kalender Termine

Ich habe endlich den Fix für ein jahrelanges Ärgernis gefunden. Ich verwende schon immer Mozilla Thunderbird und den darin eingebauten Kalender Lightning. Durch die vorhandenen Plugins kann man gleichzeitig lokales, Google- und Office365 Kalender hinzufügen, dann ist alles übersichtlich an einem Platz.

Eine Sache funktionierte allerdings bisher nicht vernünftig: Die Terminbestätigungen. Diese werden immer per Default von der *ersten* E-Mail Adresse in der Kontenliste versendet und nicht etwa von der E-Mail Adresse aus, an die die Einladung ging (wie man vermutet hätte). Lustigerweise merkt man das erst, wenn man vom Kunden auf einmal Termin-Updates und sonstige Mails an die private Mailadresse bekommt, obwohl man sie nie wissentlich bekannt gegeben hat.

Ich habe überall in Thunderbird nach einer Einstellungsmöglichkeit gesucht und endlich in den Kalendereinstellungen selbst gefunden: Dort gibt es einen E-Mail Eintrag:

wer hett au dees denkt

Dieser wird bei Anlage eines Kalenders ungefragt auf den ersten Listeneintrag gesetzt.

SVN to Git (Part III)

Keine weiteren Details, nur ein kleines Addendum. Eine Info, die ich immer wieder vergesse und hier (auch für euch) aufbewahre. Hin und wieder kommt es vor, dass man ein neues Repository anlegen möchte. Ja, sogar bei mir gibt es gelegentlich neue Projekte ;-) Diese entstehen nun normalerweise nicht auf dem Server sondern auf der Arbeitsstation oder dem Laptop, den man unterwegs dabei hat. Um so ein Projekt remote zu tracken (und vor allem zu sichern) legt man ein remote repository auf dem Server an. Ich habe dazu ein Wurzelverzeichnis für alle serverseitigen Git-Repositories. Das ist praktisch, weil man diese so einer einfachen Datensicherung zuführen kann. Man kann dann folgendermaßen vorgehen:

cd /usr/local/git_root
mkdir git_newProject
git init git_newProject
cd git_newProject
git config --bool core.bare true

Nach "git init" muss man ggf noch (rekursiv) die Berechtigungen des Folders anpassen. Wenn man (wie ich) git mit ssh verwendet, sollten alle Anwender die auf das Verzeichnis zugreifen Schreibberechtigungen haben.

Jetzt kann man das lokale Repository in das eben angelegte leere Repository pushen:

git push --set-upstream origin master

Da noch keine Tracking-Informationen vorhanden sind müssen diese per upstream Option gesetzt werden. Jetzt sind beide Repositories in Sync und man kann mit dem bekannten push/pull Verfahren Änderungen übertragen.

SVN to Git (Part II)

Das SVN Repository nach Git zu überführen ist schon nicht schlecht, nur reicht das in vielen Fällen nicht ganz aus. In "klassischen" VCS Systemen sind häufig mehrere Projekte enthalten, wie auch in meinem SVN Repository. In Git empfiehlt es sich jedoch, für jedes Projekt ein eigenes Repository anzulegen. Der Hintergrund ist, dass es nicht möglich ist, Branches und Merges nur auf einem Teil des Repositories auszuführen. Wenn z.B. in einer Struktur "Projekte" Unterverzeichnisse mit den Projekten "A", "B" und "C" existieren, kann in git nicht z.B. "C" master nach "C" v. 1.0 gebrancht werden. Durch die "leichte" Bauart der Repositories ist es aber kein Problem, für die Unterprojekte jeweils eigene Repositories anzulegen. Ein weiterer Vorteil ist, dass damit auch Abhängigkeiten offensichtlicher werden, was zu sauberem Arbeiten verleitet.

Was kann man also machen? Die Vorgehensweise ist grob die: Das von SVN im ersten Teil erzeugte "große" Repository wird zunächst noch einmal geklont. Dann werden die unerwünschten Teilprojekte herausgetrennt, so dass nur noch das relevante Projekt übrig bleibt. Dieses Repository wird dann noch einmal sauber in ein neues, endgültiges Repository geklont.
Zu meinem Beispiel soll ein Repo erzeugt werden, dass nur das Projekt "C" enthält.

Das von SVN erzeugte Repository in ein temporäres Repository klonen und in das Verzeichnis wechseln

 git clone git_svn/ git_svn.tmp/
 cd git_svm.tmp

Abtrennen der Projekte A und B

git filter-branch --prune-empty --index-filter 'git rm --cached --ignore-unmatch A/* B/*' HEAD

Der jetzt entstandene "Rest" wird zu einem neuen Repository. Das Zwischen-Repository kann danach gelöscht werden. Bitte beachten: Ab jetzt ist ein Update per git svn fetch nicht mehr möglich, da die remote Beziehung nicht mehr besteht.

cd ..
git clone git_svn.tmp/ new/path/to/C
rm -rf git_svn.tmp/

In diesem Zusammenhang möchte ich auf das neue schöne Syntax-Highlighting ab diesem Post aufmerksam machen, das durch das Plugin Syntax Highlighter Evolved erzeugt wird. Das klappte erst durch die Umstellung auf den neuen WordPress-Editor, mit dem ich bis heute nicht zurecht kam. Grund war, dass der Schalter für das Hinzufügen von Blocks immer ausgegraut war. Ärger! Die Lösung ist einfach wie idiotisch: In den User Einstellungen " Disable the visual editor when writing " erst deaktivieren, speichern und dann wieder anhaken und speichern. Dann funktioniert es. Das liegt vermutlich an einem etwas defekten zurückliegenden WordPress-Update.

Schneebälle

Ich habe vor einiger Zeit einmal an einem "Lass uns ein cooles Blockchain-Projekt starten" Meeting teilgenommen. Das Ganze ist aufgrund der Inaktivität des Organisators gleich wieder im Sande verlaufen. Die Technologie dazu habe ich mir aber angeschaut, vor allem die Libraries, auf der das aktuelle Bitcoin Mining basiert. Mein Fazit damals: Komplizierte Sache. Also nicht die Technologie an sich, sondern der Aufbau eines greifbaren Geschäftsmodells auf Basis dessen. Nachdem heute die Sau wieder einmal durch das Dorf galoppierte, bin ich über einen kurzen Umweg an diesen sehr schönen Vortrag geraten, der euch in kürzester Zeit die Problematik näher bringt. Hervorragende Präsentation, schaut's euch mal an.

Da Mondn!

Mondfinsternis_I

Nachdem gestern abend (bei dem Wetter!) vermutlich niemand die Mondfinsternis verpasst hat, schreibe ich trotzdem dazu :P Nach dem Training entspannt auf der Dachterrasse das Spektakel verfolgen. Doch was ist das? Es ist diesig über dem Horizont, kein Mond zu sehen. Das war schade und ich hatte auch schon fast aufgegeben, als er dann doch noch sichtbar wurde. Ein Foto! Dabei habe ich mich rechtzeitig an den Tip meiner lieben Kollegin Annett erinnert: Der Mond muss schnell fotografiert werden! Da er selbst in Bewegung ist und es Störungen in der Atmosphäre gibt, werden Langzeitbelichtungen zwangsläufig unscharf. Meine Bilder sind mit 1/80, ISO 1600 und (auf dem Knie) aufgelegter Kamera entstanden. Nicht ganz optimal, aber mir gefallen sie.

Mondfinsternis_II

Besonders interessant war der Moment, als er dann doch relativ schnell wieder aus dem Erdschatten herauskam und die Nacht rapide heller wurde :)

Mondfinsternis_III

Kennt ihr den noch? Ein heiteres One-Trick-Pony, über das wir so gelacht haben:

An error occurred in the upload. Please try again later.

Moin!
Heute hat mich meine WordPress Installation kurz etwas in den Wahnsinn getrieben. Eigentlich wollte ich nur ein Bild hochladen, bekam in der Media Library aber immer den Fehler "An error occurred in the upload. Please try again later." angezeigt. Das ist so eine Art Catch-All Meldung, die alle möglichen Ursachen haben kann. z.B. ist der Webspace erschöpft, oder man hat die Installation umgezogen und vergessen, die URLs in der Konfiguration zu ändern. Das war hier alles nicht der Fall. Hier die kurze Beschreibung, wie ich den Fehler gefunden und behoben habe, vielleicht hilft es auch jemand anderem:

  • In der Media-Library mit F-12 die Developer Tools öffnen (funktioniert z.B. in Chrome oder Firefox). Dort den Reiter "Netzwerkanalyse" wählen und die Seite mit F5 neu laden. Hier ist mir aufgefallen, dass einige Bilder 404 (=nicht gefunden) liefern. Es reicht, wenn es nur ein Bild ist, hier müsst ihr ggf. alle Seiten durchklicken bzw. suchen, ob irgendetwas nicht angezeigt wird.
  • Bei einem nicht-dargestellten Bild bin ich in die Detailansicht gegangen. Oben auf der rechten Seite gibt es eine Textbox, in der die "File URL" angezeigt wird. Bei einem dieser Bilder stand dort z.B. diese URL drin: "https://www.puls200.de/wp-content//mnt/web3/21/79/51055279/htdocs/wp-content/kubrickheader.jpg". Das ist natürlich Unfug, hier ist die Erzeugung des Pfads schiefgegangen, da die Domain mit dem absoluten Dateipfad zusammengesetzt wird.
  • Jetzt wird es etwas zäh, denn diese File-Url lässt sich nicht direkt ändern. Ich habe im Webspace PHYMyAdmin aufgerufen, um die falschen Daten direkt in der Datenbank zu reparieren. Man kann sich der Sache nähern, indem man sich z.B. alle Metadaten anzeigen lässt, in denen der o.g. Pfad verwendet wird: SELECT * FROM `wp_postmeta` WHERE meta_value like '%/mnt/web3/21 /79/51055279/htdocs/wp-content/%'. Das waren bei mir immerhin 60 Einträge!
  • Bewaffnet mit dieser Information war die Reparatur nicht schwierig: UPDATE wp_postmeta SET meta_value = replace(meta_value, '/mnt/web3/21/79/51055279/htdocs/wp-content/', '')

Damit funktionierte der Upload wieder, wie man an dem wunderhübschen Banner über diesem Post erkennen kann. Allerdings werden jetzt in der Media Library manchmal nicht die verkleinerten Bilder in der Übersicht angezeigt. Ich vermute, dass diese Bilder aus einer Zeit stammen, in der eine Vorversion von WordPress verwendet wurde, die beim Upload die entsprechenden Thumbnails nicht automatisch generiert hat. Die Fehlerursache war dann vermutlich ein fehlerhaftes Update. Nachdem das geklärt ist, kann ich euch wieder mit doofen Bildern nerven ;-)

Nachtrag:

  • Um Vorschaubilder in allen (eventuell geänderten) Auflösungen korrekt darzustellen, kann man das "Regenerate Thumbnails - Plugin verwenden. Dann sieht alles wieder "ordentlich" aus.
  • Habt ihr euer Blog auf Strato gehostet und beim Upload erscheint manchmal oder immer der Fehler 503 (Service not available) kann es eventuell an der Strato "ServerSide Security" liegen. Diese kann in den Paket-Einstellungen bei Strato deaktiviert werden. Ob das jetzt so eine geile Sache ist weiß ich auch nicht, da damit auch allerlei andere Dinge wie Spam-Schutz für E-Mails deaktiviert wird.