Ordentlich

Ordentlich

Ich hatte ja schon von der Handykonsole geschrieben die ich mir für mein neues altes Auto (VW Passat 3BG) gebastelt habe. Die hat mir ein Arbeitskollege gedruckt, den eigentlichen Handyhalter hatte ich damals aus Holz gebastelt. Jetzt habe ich ein neues Telefon, da habe ich einen neuen Halter auch direkt aus — mittlerweile meinem eigenen — 3D-Drucker gezogen.

Was ich gerne noch in der Nähe gehabt hätte ist eine USB-Steckdose, damit ich direkt auch aufladen kann. Das geht natürlich über den Zigarettenanzünder, aber wie man so schön sagt: Wenn man erstmal einen Hammer in der Hand hat sieht alles aus wie ein Nagel. :-D

Ich habe also den Hammer in Form meines Druckers, in Kombination mit FreeCAD konnte ich damit einen Blindstopfen aus dem Armaturenbrett nachbauen.

Aus einem billigen Autoladegerät habe ich die Elektronik rausgepult, Kabel angelötet und die grell-blaue durch eine schwächere rote — passend zur Instrumentenbeleuchtung — ersetzt. Mit etwas Schrumpfschlauch und einem Tropfen Heißkleber passt die kleine Platine sauber in den Ausschnitt in meinem Stopfen.

Das Ergebnis kann sich wirklich sehen lassen, finde ich. Die Oberfläche die das Druckbett dem Stopfen verpasst hat entspricht zwar nicht exakt den benachbarten Schaltern, ich bin mir aber sicher dass das erst beim zweiten Hinsehen auffällt.

Ich bin zufrieden. :-)

 

Nachtrag vom 28.01.2022: Ich dachte dass ich die Datei damals schon hier angehängt hätte. War wohl nicht so. Hier ist sie:

English English preferred? This way, please.

Heute habe ich einen coolen neuen Trick gelernt, in dem ich das Item Preprocessing benutzen kann das Zabbix seit der Version 3.4 anbietet. Dies ist kein Zabbix-Blog, aber ich betrachte das als so nützlich — und nicht gerade intuitiv — dass ich das mal eben aufschreiben möchte.

Für alle die es nicht kennen: Zabbix ist ein quelloffenes Monitoring System, der Hersteller nennt es nicht ganz zu unrecht „Enterprise Class“. Ich nutze das nicht nur bei der Arbeit sondern auch zu Hause — nicht nur um das Fleisch in meinem Smoker zu monitoren. :-)

Meiner Meinung nach ist Zabbix wirklich stark bei allem was in Zahlen ausgedrückt werden kann. Es kann auch mit textuellen Informationen umgehen, aber nachdem ich damit ein paar kleinere Schwierigkeiten hatte versuche ich das nach Möglichkeit zu vermeiden. Zustände können in Zabbix auch numerisch dargestellt und als Ganzzahl gespeichert werden, mit dem Value Mapping kann man trotzdem gut lesbare Ausgaben erzeugen.

Heute bin ich an ein Problem gekommen das ich mit meinen üblichen Methoden erst nicht umsetzen konnte. Ein Webservice gibt mir den Status einer Applikation, die ist entweder RUNNING, STOPPING oder STOPPED. Es ist nicht schwer das in einem String-Item zu speichern, und einen Trigger anzulegen der reagiert wenn die Applikation STOPPED ist. In diesem speziellen Fall sollte ich aber einen Trigger bauen der meldet wenn der Dienst länger als eine gewisse Zeit im Status STOPPING ist, daran ist zu erkennen dass es ein Problem beim regulären Anhalten der Applikation gibt. Das war nicht trivial, da die Triggerfunktion str("STOPPING",15m) auch schon zuschlägt wenn mindestens einer der Werte in den letzten 15 Minuten „STOPPING“ war.

Item Preprocessing to the rescue!

Drei Schritte

Drei Schritte

Mit Version 3.4 hat ein Feature namens Item Preprocessing in Zabbix Einzug gehalten. Damit kann ein gemessener Wert auf verschiedene Arten weiterbehandelt werden bevor er gesichert wird. Eine der Methoden ist, durch reguläre Ausdrücke eine Art „Suchen und Ersetzen“ vorzunehmen.

Wie sich rausstellt brauchte ich dazu einen halbwegs komplexen regulären Ausdruck, aber am Ende konnte ich die Zustände des Webservices in einfache Ganzzahlen umwandeln. Bei einer Websuche habe ich etwas über „conditional replacement“ gefunden, und mit diesem großartigen Tester für reguläre Ausdrücke konnte ich diese Schönheit bauen:

Damit kann ich den String den ich mittels JSON Path aus der Ausgabe des Webservices ziehe in zwei weiteren Schritten umwandeln:

  • Erst hänge ich eine Art „Wörterbuch“ an meinen Wert: ich ersetze den kompletten Wert (.*) durch sich selbst, gefolgt von den Ersetzungswerten: \1:STOPPED=0:STOPPING=1:RUNNING=2.
  • Dann ersetze ich den regulären Ausdruck (STOPPED|STOPPING|RUNNING)(?=.*:\1=(\d)) durch den Wert der zweiten Capturing Group \2.

Auf die Weise kann ich mein Item als vorzeichenlose Ganzzahl konfigurieren, da hier nur noch die Zahlen 0, 1 oder 2 abgelegt werden müssen. Und ich kann die übliche Trigger-Funktions-Magie anwenden um zu melden wenn der Wert länger als eine gewisse Zeit bei 1 verbleibt. Ein weiterer Bonus: ich kann im Graphen des Items sehen wann der Webservice nicht im Zustand RUNNING gewesen ist, und wie lange das angehalten hat.

Vorschläge?

Ich bin ziemlich angetan davon, Werte auf diese Weise für die Weiterverarbeitung vorzubereiten. Aber ich bin auch an Meinungen interessiert: gibt es bessere Wege mit diesem Problem umzugehen? Irgendwas offensichtliches das ich übersehen habe?

Wenn man lange genug in der Wikipedia surft kommt man auf echt merkwürdige Artikel. Mein Fundstück des Tages: Die Melassekatastrophe von Boston.

Bei der Melassekatastrophe von Boston am 15. Januar 1919 barst ein mit Melasse gefüllter Tank, worauf sich sein Inhalt als bis zu neun Meter hoher Schwall über die Bostoner Innenstadt ergoss. 21 Menschen verloren ihr Leben.

Dass das noch nicht verfilmt worden ist… :-D

Über kurze Umwege kommt man von dem Artikel übrigens zur Londoner Bier-Überschwemmung. Und ich lasse jetzt besser die Finger vom Browser…

Nach langer zuverlässiger Tätigkeit musste ich leider meinen alten Passat aus dem Rennen nehmen. Der wäre dieses Jahr 22 Jahre alt geworden, somit hat der seinen Dienst mehr als geleistet.

Als Ersatz habe ich mir einen neuen alten Passat besorgt. Der ist erst 14, hat also — hoffentlich — noch ein paar Jahre vor sich. :-)

Sockel am Armaturenbrett

Sockel am Armaturenbrett

Der neue ist also aus 2003, und somit ein sogenannter „Volkswagen Passat B5 GP (Typ 3BG)„. Als der klein war hatte er eine ziemlich umfangreiche Ausstattung. Unter anderem war da ab Werk eine Vorrichtung für ein Handy drin. Davon war jetzt nur noch der Sockel übrig.

Für den alten Passat hatte ich im Laufe der Zeit mehrere Handykonsolen gebastelt. Erst gefräst, später gelasert. Im neuen wollte ich auch wieder eine haben, allerdings fehlte da so eine praktische Fläche an der man was festschrauben kann. Der Sockel — sowie die damalige Handyvorrichtung — wurde von VW verbaut, stammt aber offenbar vom Hersteller Cullmann. Man findet passende Gegenstücke auf eBay, komischerweise werden die aber zu Preisen gehandelt die an 100 Euro ran reichen — insbesondere komisch da man daran dann die Handygeneration „Nokia 6210“ unterbringen kann, keine modernen Smartphones.

Der 3D-Druck auf einem Dummy

Der 3D-Druck auf einem Dummy

Also habe ich mich mal als Designer betätigt und mir ein Teil aus einem freundlichen 3D-Drucker gezogen. Die Masse habe ich vom Sockel abgenommen, und nach etwas Beschäftigung mit FreeCAD hatte ich das Modell das ich als STL exportieren konnte.

Den vorderen Teil habe ich mir dann nochmal mit passenden Löchern aus Sperrholz gelasert und schwarz lackiert. Das Ergebnis ist gewohnt kantig, tut aber genau was es soll. Das Telefon ist sicher untergebracht und im Blickfeld, unten am Halter ist Platz für ein Ladekabel. Und vor allem fällt der Blick jetzt nicht mehr auf den unbestückten Sockel.

Das endet bis jetzt noch an einem einfachen Zigarettenanzünder-Adapter, aber da habe ich schon eine Idee zu… ;-)

Da ich gefragt wurde: hier sind die Dateien nach denen ich gedruckt habe. Viel Spass damit.

The following morning the weather was so foul it hardly deserved the name, and Dirk decided to call it Stanley instead.
Stanley wasn’t a good downpour. Nothing wrong with a good downpour for clearing the air. Stanley was the sort of thing you needed a good downpour to clear the air of. Stanley was muggy, close, and oppressive, like someone large and sweaty pressed up against you in a tube train. Stanley didn’t rain, but every so often he dribbled on you.
Dirk stood outside in the Stanley.
(Douglas Adams in The Salmon of Doubt)

Diesen Monat hatte ich zum ersten Mal die Gelegenheit mir London anzusehen. Ich war beruflich dort, tagsüber also beschäftigt. Abends bin ich ziemlich viel rumgelaufen und habe mir Dinge angesehen. Eine ziemliche Nerd-Tour war das: Drehorte von Sherlock, The IT-Crowd, James Bond… und nebenbei natürlich eine Menge beeindruckende Gebäude.

Auf dem Flug dorthin habe ich gelesen und mich über den oben zitierten Teil aus The Salmon of Doubt (Lachs im Zweifel) amüsiert. Als großer Hitchhiker-Fan lag es also nah, im Rahmen der Nerd-Tour das Grab von Douglas Adams zu besuchen. Ich hätte damit gerechnet dass der an seinem letzten Wohnort in Amerika bestattet wurde, aber er liegt auf dem Highgate Cemetary im Norden Londons.

Nur durch den Zaun gelinst

Nur durch den Zaun gelinst

Ich nahm also die U-Bahn und stieg an der Station Archway aus. Von da bin ich — da ich nicht wusste wo der Eingang war mit einem Umweg — durch ein Wetter gelaufen das exakt… Stanley war. :-D

Am Tor angekommen traf ich den Friedhofswärter, der gerade dabei war abzuschließen. Am nächsten Tag könnte ich wiederkommen, ab 10:00 Uhr hätte der Friedhof geöffnet. Ich musste mittags am Flughafen sein, also würde da nichts raus werden. Er hat seine Triumph warmlaufen lassen, sich dabei noch mit jemandem unterhalten. Dabei ist ihm wohl aufgefallen dass ich wie ein begossener Pudel da stand und nicht wusste was ich stattdessen tun sollte. „Ey, Mate!“ Wenn ich durch den Park gehen würde könnte ich durch den Zaun das Grab von Karl Marx sehen. Ich habe ihm gesagt dass das nicht meine Art von Autor ist, und dass ich eher auf die Bücher von Douglas Adams stehe. „Yeah, me too.“ Er stieg auf seine Maschine und war weg.

Ich lief also durch Stanley zurück zur U-Bahn und fuhr unverrichteter Dinge wieder in die Innenstadt.

Abends im Hotel hatte ich dann noch eine weitere Gelegenheit mich zu ärgern: etwa 300 Meter vom Eingang des Friedhofs entfernt hätte ich — im Rahmen meiner Nerd-Tour — vermutlich die Möglichkeit gehabt meinen Frust mit einem Glas Cider runterzuspülen. Da wäre das Angel Inn gewesen, seinerzeit die Stammkneipe von Graham Chapman:-(