Kategorien
OpenSource Programmierung

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/

Kategorien
Elektronik OpenSource Programmierung

Arduino Due und Javascript – dank Espruino

Javascript auf einem Microcontroller? Geht das?
Ja, es geht! Es geht sogar ziemlich gut! …

Kategorien
Elektronik Security

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…

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
Elektronik

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:

Kategorien
Geocachen Klettern

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…

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
OpenSource Programmierung

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…

Kategorien
OpenSource Programmierung Webentwicklung

Youtube-Videos mit Python runterladen?

Schon seit langem verwende ich zum runterladen von youtube Videos das Programm Youtube-DL das funktioniert super (und ist OpenSource). Trotzdem plagte mich die Neugier: Wie läd man den eigentlich so ein Youtube-Video runter?

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
OpenSource Programmierung

Telegram Bilder runterladen?

Die heutige Aufgabe war es alle Bilder die ich in Telegram mit Person XY ausgetauscht habe runterzuladen und auf meinem Computer/Handy zu sichern. Geht doch ganz einfach? Leider nicht…

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
OpenSource Programmierung

Ein kleiner Ausflug in das Land des (Linux) Dynamic Loaders

Ein (nicht ganz so) kleiner Beitrag der tief in die Welt des Linux Dynamic Loaders mit seinen Helferchen GOT und PLT hinabsteigt, damit man mal sehen kann wie das eigentlich mit den Shared Librarys bei Linux funktioniert…

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
Allgemein OpenSource

Mein Blog ist jetzt Mitglied im OSBN

Durch die freundliche Mail von Frank bin ich auf die Website OSBN aufmerksam geworden. Kurz zusammengefasst aggregiert die Website jede Menge interessante Blogs aus der Linux/OpenSource-Community.
Alleine die vielen Blogbeiträge dort zu lesen die immer wieder auftauchen ist schon interessant. Umso besser dass (hoffentlich) meine Beiträge dort bald auch auftauchen.
Ich warte noch auf Freischaltung… Mal sehen ob meine Rechtschreibung gut genug ist um sie noch mehr Lesern antun zu können 🙂

 

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!

Kategorien
Linux OpenSource

Auch Linux kann RemoteDesktop

Wie kann ich meinen Linux-Server (also ohne GUI) am besten per Remote-Desktop bedienen?