Morsecode entschlüsseln mit Micropython

Bei mir in der Nähe gibt es einen Mystery Cache GC6CYF1 mit dem Namen Komische Töne 1. Es dauerte nicht lang und die Vermutung lag nahe dass es sich hierbei um Morsecodes handeln könnte. Nur wie entschlüssle ich diesen am besten? Vorallem, wie würde ich das machen wenn ich bei einem Cache unterwegs Morsecodes entschlüsseln muss? Einfach eine App installieren? Viel zu einfach! Als Bastler kann man da doch sicher was basteln…

“Morsecode entschlüsseln mit Micropython” weiterlesen

Weltweit flexibles VPN dank OpenVPN und DigitalOcean

Neulich im Urlaub gab es -selbstverständlich- ein gutes WLAN im Hotel. ABER: Meine Lieblingsseite (bestehend hauptsächlich aus Cat Content) war in diesem Wlan gesperrt. Da ein Leben ohne Katzen aus dem Internet natürlich nicht lebenswert ist, musste eine Lösung her die sowohl auf meinem Laptop als auch auf meinem (iOS) Handy funktioniert…

“Weltweit flexibles VPN dank OpenVPN und DigitalOcean” weiterlesen

Mit ESP8266, Micropython und dem BME280 einen Datenlogger basteln

Nachdem wir in Teil 1 ja schon die Daten eines BME280 Sensors (Temperatur, Luftdruck, Luftfeuchte) von einem Raspberry Pi aus ins Internet übertragen und schön bunt auswerten, folgt nun Teil 2: Diesmal nehmen wir einen sehr günstigen ESP8266 Microcontroller (~3 Euro) mit Micropython!

“Mit ESP8266, Micropython und dem BME280 einen Datenlogger basteln” weiterlesen

Mit dem BME280 Sensor Luftdruck, Temperatur und Feuchtigkeit ins Internet bringen

Eines der grundlegenen Prinzipien von Big Data ist bekanntlich dass man die Daten erstmal sammelt. Auch wenn man sie nicht braucht.

Wozu ich also nun minütlich wissen will welche Temperatur, Luftfeuchte und Luftdruck in meinem Wohnzimmer herscht? Das weiß ich noch nicht, aber wir sammeln halt erstmal 🙂

“Mit dem BME280 Sensor Luftdruck, Temperatur und Feuchtigkeit ins Internet bringen” weiterlesen

Spiel und Spaß mit den Benzinpreisen in Deutschland – Teil 2: Grafiken mit Gnuplot!

Nachdem es in Teil 1 drum ging wie wir an die Daten rankommen, probieren wir in Teil 2 mal etwas sinnvolles zu tun – vorallem natürlich Benzingeld zu sparen 🙂

“Spiel und Spaß mit den Benzinpreisen in Deutschland – Teil 2: Grafiken mit Gnuplot!” weiterlesen

Spiel und Spaß mit den Benzinpreisen in Deutschland

Seit Ende 2013 gibt es in Deutschland die “Markttransparenzstelle für Kraftstoffe” an die jede Tankstelle jederzeit aktuell ihre Preise melden muss. Nur bis auf unzählige Spritspar-Apps hat man als Nerd davon noch nicht viel gesehen.
Zum Glück gibt es aber schon seit einiger Zeit Tankerkönig!
Eine Website die sich die Mühe gemacht hat sich offiziell bei der MTS-K als Verbraucher Informationsdienst anzumelden (wäre auch zu einfach wenn jeder die Daten einfach so bekommen würde!) und sie unter einer CC-Lizenz für jeden weiterzugeben…

“Spiel und Spaß mit den Benzinpreisen in Deutschland” weiterlesen

Eine “selbstgebaute” WiFi-Steckdose

Ein Bekannter hatte neulich das Problem dass sein (Windows) Computer sich manchmal komplett aufhängt. Die einzige Möglichkeit ihn wieder zum Leben zu erwecken ist ihn hart auszuschalten. Das passiert meistens über Nacht und ist besonders ärgerlich wenn er den Computer übers Wochenende per Remote nutzen will da er dann nicht zu erreichen ist. “Eine “selbstgebaute” WiFi-Steckdose” weiterlesen

Reparatur von meinem Funkgerät Stabo Freecomm 650

Fürs klettern besitze ich seit einigen Jahren vier Funkgeräte der Marke “Freecomm 650” von der Firma Stabo. Nachdem wir im diesjährigen Garadasee-Urlaub (jedes Jahr an Ostern) mit einer Dreier-Seilschaft unterwegs waren wurde ein bislang ungenutztes Funkgerät eingeweiht. Mit dem Erfolg dass es nach kurzer Zeit kaputt war…

“Reparatur von meinem Funkgerät Stabo Freecomm 650” weiterlesen

Kurzprogrammiertipp: Zahl mit führenden Nullen formatieren

Eine (unbekannt lange) Zahl zum Beispiel fünfstellig mit führenden Nullen zu formatieren kann kompliziert sein, denn die naheliegende Lösung: „Schauen wieviele Stellen die Zahl hat und dann die entsprechende Anzahl Nullen davorsetzen“ bedeutet einiges an kompliziertem If-Gebastel.

Hier also die einzeilen Lösung in Javascript die quasi in jeder modernen Programmiersprache ähnlich geht:

> zahl = 123
> ("00000" + zahl).slice(-5);
'00123'

> zahl = 1
> ("00000" + zahl).slice(-5);
'00001'

> zahl = 12345
> ("00000" + zahl).slice(-5);
'12345'

Einfach mal die maximale Anzahl an Nullen vorne dran setzen und dann die gewünschte Länge des endgültigen Wertes von rechts her abscheiden. Simpel und einfach lesbar!

Einen Server auf HTTP2 umziehen – eine IT Story!

HTTP/2 ist geil, das durfte ich neulich in der ix 02/2018 lesen. Und ich war überzeugt: Jetzt muss ich das ganze auch mal auf ein Produktivsystem ausrollen!
… was dann folgte war natürlich wie immer: Es hat nicht geklappt und es wollte einfach nicht klappen. Hier also eine Kurzgeschichte zu: “So läufts nunmal in der IT”.

“Einen Server auf HTTP2 umziehen – eine IT Story!” weiterlesen

Performance Vergleich zwischen verschiedenen Programmiersprachen und Systemen?

Vor einiger Zeit habe ich von der sogenannten Leibniz-Reihe erfahren. Mit diesem Verfahren kann man Pi errechnen. Und wenn man schon dabei ist einen Benchmark durchführen 🙂

“Performance Vergleich zwischen verschiedenen Programmiersprachen und Systemen?” weiterlesen

Meltdown: Eine Erklärung für den Laien (oder lesefaulen!)

Intel traf vor kurzem ein sehr bösartiger Bug: MELTDOWN.

Das ganze führte zum Absturz der Intel Aktie von 7%, und wahrscheinlich dazu dass das Internet nicht nur komplett neu gestartet werden muss, sondern auch um 5% langsamer wird…

Aber mal von vorne mit einer Erklärung “Meltdown für Dummies”:

“Meltdown: Eine Erklärung für den Laien (oder lesefaulen!)” weiterlesen

Global Game Jam 2018

Auch dieses Jahr werden wieder Programmierer, Designer und Künstler auf der ganzen Welt gemeinsam neue Spiele entwickeln – beim Global Game Jam 2018.

Auch für nicht-Programmierer besteht hier die Möglichkeit sich auszutauschen und mal etwas in die Spieleprogrammierung reinzuschnuppern. Wenn ihr also noch nichts vorhabt: Anmelden!
(Der Spaß kostet natürlich nichts. Im Gegenteil, es gibt sogar kostenlose Möglichkeiten zum Essen und Übernachten.)

Uptime bei Netcup

Bekanntlich hoste ich fast alle meine virtuellen Systeme bei dem eher kleinen vServer-Hoster netcup. Heute habe ich mal kurz nachgeschaut wie es bei meinen aktuellen vier produktiven netcup-Systemen denn mit der Uptime aussieht. Netcup garantiert 99.9% Uptime im Jahresmittel. Aber halten die das auch?

“Uptime bei Netcup” weiterlesen

Eine Datenbank mit meinen Kontobewegungen und eine Mail bei jeder Kontobewegung?

Manchmal habe ich eine Idee und suche nach der Lösung. Manchmal sehe ich aber auch zuerst die Lösung und habe dann die Idee. So auch als ich aus irgendeinem Grund über das Python Modul FinTS gestolpert bin.

“Eine Datenbank mit meinen Kontobewegungen und eine Mail bei jeder Kontobewegung?” weiterlesen

Oktober ist: Hacktober

Diesen Oktober haben GitHub und Digital Ocean zum Hacktoberfest 2017 gerufen. Das ganze ist auch schnell erklärt: Wer sich anmeldet und im Oktober vier oder mehr Pull Requests auf Github erstellt (dabei ist es erstmal egal ob diese angenommen werden oder für welches Repository diese sind) der gewinnt ein T-Shirt. Und Sticker gibt es für jeden der sich anmeldet.

Man muss halt wissen ob man seine persönlichen Daten für ein paar (eventuell ganz coole) Sticker und ein T-Shirt hergeben möchte. Lustig ist die Idee aber trotzdem, sie fördert den OpenSource Geist und vielleicht will ja der eine oder andere meiner Leser jetzt mit Github und git mal anfangen. Hier habe ich dafür schon eine Anleitung geschrieben: https://www.thomaschristlieb.de/mitarbeit-an-einem-github-projekt/

Reverse Engineering einer IBM DS3400 Storage Batterie

Heute wurde mal wieder die Batterie unseres Storage-Systems hier in der Arbeit leer… eine neue kostet mindestens 250 € dafür bietet sie eine Willkommene Gelegenheit die alte mal etwas auseinanderzunehmen und vorallem nachzusehen ob man die 250 € nicht durch Eigen-Reparatur etwas verringern kann…

“Reverse Engineering einer IBM DS3400 Storage Batterie” weiterlesen

Mikrowelle reparieren

Heute meinte plötzlich unsere Mikrowelle dass es Zeit wäre nicht mehr zu funktionieren.
Heißt: Sie funktionierte zwar, nur trotz des Brummens und drehendem Tellers wurde halt das Essen nicht warm.
Da das so nicht bleiben konnte, und ich sowieso vor nichts zurückschrecke, schaut man halt mal rein:

“Mikrowelle reparieren” weiterlesen

Ein Mallorca Urlaub

Im beginnenden Frühjahr, wenn so langsam die Sonne rauskommt, ist es immer sehr verlockend einen kurzen (und recht günstigen) Urlaub auf Mallorca einzulegen. Diesmal waren es zwar nur 5 Tage, aber es gab ein paar spannende Geocaches und Wanderungen, von denen ich kurz erzählen will…

“Ein Mallorca Urlaub” weiterlesen

Plesk Onyx sichert Postgres Datenbanken nicht

Wie im Netcup Kundenforum berichtet, sichert das aktuellste Plesk Onyx keine Postgres-Datenbanken. Die Fehlermeldung hierzu lautet:

/usr/lib/postgresql/9.5/bin/pg_dump: invalid option -- 'i' Try "pg_dump --help" for more information.

Das Problem ist zum Glück einfach zu beheben, eine kurze rekursive Suche mittels

grep -R pq_dump *

im Ordner ‘/usr/local/psa/’ führte schnell zur Datei ‘/usr/local/psa/PMM/agents/shared/Db/PostgresqlShellBackend.pm’. In dieser Datei muss einfach ca. Zeile 64 auskommentiert und durch die gleiche Zeile ohne ‘-i’ ersetzt werden:

  #$self->_setDumpCmdline($self->_getCmd(AgentConfig::pgdumpBin(), "-Fc -b -i"));
  $self->_setDumpCmdline($self->_getCmd(AgentConfig::pgdumpBin(), "-Fc -b"));

‘-i’ ist eine veraltete Option von pq_dump und wird schon lange nicht mehr verwendet.

Wenn ein Tor im Fußball fällt -> Telegram Nachricht

Nachdem ich schon in einigen Beiträgen beschrieben habe wie einfach man den Kurzmessenger Telegram mit Python ansteuern kann (hier, hier) wollte nun jemand den Programmcode meines Programmes haben welches automatisch mit einem Bot eine Telegram Nachricht schickt wenn ein Tor im Fußball fällt. Na dann…

“Wenn ein Tor im Fußball fällt -> Telegram Nachricht” weiterlesen