Kategorien
Geocachen Klettern Linux Programmierung Webentwicklung

Mein Vortrag über Openstreetmap

Bekanntlich bin ich relativ regelmäßig auf der /dev/night bei Tradebyte in Ansbach.

Gestern habe ich einen Vortrag über Openstreetmap gehalten. Die Präsentation gibt es hier!

Kategorien
Linux OpenSource

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…

Kategorien
Allgemein Elektronik Linux OpenSource Programmierung Webentwicklung

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!

Kategorien
Linux OpenSource Programmierung Webentwicklung

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 🙂

Kategorien
Linux OpenSource Programmierung Webentwicklung

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…

Kategorien
Linux OpenSource Programmierung

Gemeiner Fehler in einem Bash Script

Dieses wirklich einfache Script sollte simpel bei ungeraden Wochen abbrechen – nur an genau zwei Wochen des Jahres funktioniert das nicht. Findest du heraus warum?

Kategorien
Linux OpenSource Webentwicklung

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“.

Kategorien
Linux OpenSource Programmierung

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 🙂

Kategorien
Linux OpenSource Programmierung Security

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“:

Kategorien
Linux OpenSource Webentwicklung

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?

Kategorien
Linux OpenSource Programmierung Webentwicklung

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.

Kategorien
Linux OpenSource Programmierung

Mitarbeit an einem Github Projekt

Vor kurzem hatte ich beschlossen auch mal herauszufinden wie es denn ist an einem OpenSource Projekt mitzuarbeiten welches auf Github gehostet wird…

Kategorien
Linux Programmierung

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.

Kategorien
Linux OpenSource Programmierung

Tipp des Tages: Crontab @reboot

Nur kurz am Rande: Es kommt relativ oft vor dass man bei einem Linux Server „mal schnell“ ein Programm beim starten des Servers ausführen will. Der richtige Weg wäre hier natürlich ein Systemd-Script anzulegen – aber meistens ist man ja eher faul.

Kategorien
Linux OpenSource Programmierung Raspberry Pi Security

Mein Backup zuhause

Es heißt ja dass ein Backup nur gut ist, wenn es auch automatisch funktioniert…
Während das bei allen Servern die ich verwalte zutrifft (die backupen sich gegenseitig und schieben die Daten in Cloudspeicher) so war das bei meinem Computer zuhause noch eher sehr altmodisch.
Ich hab halt einfach „dann und wann“ eine USB-Festplatte angesteckt und die Daten rübergezogen.
Da das nicht sonderlich automatisch ist musste eine einfache (Linux) LowCost Lösung her!

Kategorien
Linux OpenSource Programmierung Security

Mysql/MariaDB Exploit CVE-2016-6663 / CVE-2016-5616 erklärt

Vor ein paar Tagen habe ich im Blog von Marius gelesen dass es für eine kritische MySQL Lücke noch keinen Patch für MariaDB im Fedora Repository gibt. Jetzt wollte ich mal analysieren:
Was ist das für eine Lücke?
Was nutzt sie aus?Wie nutzt man sie aus?

Kategorien
Linux OpenSource

Probleme mit dem versenden von Mails bei eigenem Mailserver

Alle paar Tage tut sich wieder die gleiche Frage in den Foren der Serveradmins auf: „Google/Hotmail/Gmx/… nimmt meine Mails nicht an. Warum?“ Und fast immer ist die Antwort die gleiche: Reverse-DNS!

Kategorien
Linux OpenSource Programmierung Webentwicklung

Wie weit ist der nächste Kentucky Fried Chicken entfernt?

Heute mal was wirklich wichtiges:
Nachdem ich ja auf dem Land wohne und trotzdem gerne ungesunde Hähnchenflügel esse, ist die Entfernung des nächsten „Kentucky Fried Chicken“ eine essentielle Sache für mich. Nur: Wie finde ich den nächsten Kentucky Fried Chicken?

Kategorien
Geocachen Linux OpenSource Programmierung Raspberry Pi Webentwicklung

Koordinaten zu einer Adresse (und umgekehrt) dank Google Maps

Eine kleine Schnupperkunde wie man die Entfernung von zwei Adressen mit der Hilfe von Python und der Google Maps API ausrechnet…

Kategorien
Linux OpenSource

Kritische Mysql-Lücke?

Gestern stand es groß auf Heise „Kritische MySQL-Lücke erlaubt das Kapern von Servern“. Und zwar bezieht sich heise hier auf den folgenden Proof-Of-Concept, der angeblich alle aktuellen Mysql-/Mariadb-/Percona-Server Installationen betrifft: http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html
Nun also die Frage: Ist es denn wirklich so schlimm?

Kategorien
Linux OpenSource Programmierung Raspberry Pi

Ein Python-Script mit Systemd als Daemon (Systemd tut garnicht weh… :-) )

Einen Python-Server dauerhaft laufen zu lassen (z.B. auf einem Debian/Ubuntu Server oder einem Raspberry Pi) kann man mit Screen realisieren, oder -fast genauso einfach- mit Systemd…

Kategorien
Linux OpenSource

Warum ist diese Mysql-Volltextsuche eigentlich so schnell?

Ich fragte mich heute warum eine frisch installierte Mysql-Datenbank einen ekelhaften Query der Sorte:

select
*
from HotlineDB
where
volltext like '%Drucker%' or
loesung like '%Drucker%' or
originalmail like '%Drucker%' or
informationstext like '%Drucker%' or
int_comment like '%Drucker%';

Innerhalb von 0.0090 Sekunden durchführen kann. Und das obwohl die Tabelle im MyISAM Format ist (also gibt es keinen Puffer der Daten im Mysql RAM so wie z.B. bei InnoDB) und es immerhin 100 MB Daten sind.

Kategorien
Linux OpenSource

(Tool)Tipp des Tages: fatrace

Das Linux-Tool ‚fatrace‘ ist in den Paketquellen (Debian/Ubuntu) enthalten, und kann einem systemweit anzeigen welche Dateien gerade eben zugegriffen werden.
Beispiel eines Apache-Aufrufes einer Website:

apache2(17340): O /var/www/html/index.html
apache2(17340): W /var/log/apache2/access.log
apache2(17340): C /var/www/html/index.html

Dabei gilt:

Open, Read, Write, or Close

Wie immer, die Manpage weiß alles weitere.

PS: Und wer jetzt ganz genau aufgepasst hat und sich wundert warum man den READ der Datei nicht sieht – das liegt daran dass fatrace unter der Haube inotiy nutzt. Und inotify überwacht keinen mmap() Aufruf.
Und genau diesen nutzt der Apache (sieht man mit strace) um die Datei einzulesen.

Kategorien
Linux

Benchmark der vServer bei PHP-Friends

Wenn ich in Foren gefragt werde welche vServer ich empfehlen kann, so nenne ich immer: Hetzner, Netcup, PHP-Friends und IP-Projects.
(Wer mich frägt was ich nicht empfehlen kann: Strato und 1&1. Hosteurope hat zwar auch nur Virtuzzo Virtualisierung, aber die geht ganz gut…).

Bislang war ich von meinen Empfehlungen nur Kunde von Hetzner und netcup. Jetzt kommt mal PHP-Friends dran, und was macht man zuerst? Einen Benchmark…

Kategorien
Linux OpenSource Webentwicklung

Mehrere PHP-Versionen auf einem Linux-Server (mit PHP-FPM)

Bislang dachte ich immer mehrere PHP-Versionen auf einem Server nebeneinander laufen zu lassen ist nicht so einfach… da hab ich mich wohl getäuscht!