Einmal getriggert werden

Feueralarm

Ich habe es gestern Abend endlich mal geschafft, Arrival zu schauen. Ein Science-Fiction, der von der ersten Begegnung mit Außerirdischen handelt und in der die zwei Protagonisten versuchen, mit den Aliens zu kommunizieren.

Als Nebenplot (ohne jetzt mehr zu verraten) handelt die Geschichte von der Tochter der Hauptdarstellerin, die als Teenager an einer seltenen Form einer Krankheit verstirbt. Um die Krankheit zu visualisieren, wurde die scheinbar dafür gängige Form (Haare ab, Flecken auf der Haut) gewählt, so dass meine erste Assoziation Krebs ist. Immer.

Und da triggert eine Menge in mir. Weil ich den Scheiss auch schon hatte. Oder habe. So genau kann das ja keiner sagen. Wir tragen ja alle Zellen in uns, deren DNA irgendwie kaputt ist und wenn sie aktiver werden, entstehen dadurch diese wunderbaren Tumore. Das Schlimme an dieser Krankheit ist, dass, wenn man einmal dem Tod von der Schippe gesprungen ist, bei jedem quer sitzenden Furz als erstes denkt, dass schon wieder eine Metastase oder ein neuer Tumor mit anderer Zusammenstellung wächst. Und die Diagnostik von Tumoren ist, wie ich das mitbekommen habe, immer noch recht schwer. Man muss schon Glück haben, in einem recht frühen Stadium zum Arzt zu gehen, der dann noch den richtigen Riecher hat, die korrekten Schlüsse zu ziehen.

Fuck you cancer!

Doppelt aber nicht dreifach

Twitter mit 280 Zeichen

Twitter hat die maximale Zeichenanzahl von Tweets verdoppelt. Von 140 auf 280 Zeichen. Und alle drehen durch. Wenn ich ehrlich bin, hat es mich schon immer gestört, nur so wenig Zeichen zur Verfügung zu haben und musste auch schon mehrfach, Texte auf mehrere Tweets aufteilen. Und jetzt hat man halt 280 Zeichen zur Verfügung, was in meinen Augen jetzt kein großer Bruch mit dem Kern des Dienstes zu tun hat, sondern schlicht und einfach mit den verschiedenen Sprachen.

Klar haben chinesische oder japanische Nutzer jetzt noch viel mehr „Platz“ und können wahrscheinlich ganze Romane in einen Tweet packen. Aber deutschsprachige Tweets können ab sofort sorgfältiger ausformuliert werden und vielleicht wird damit nicht weiter eine Kunstsprache erzeugt, wie man es in den letzten Jahren beobachten konnte.

Was ich nur nicht ganz verstehe, ist, warum es Twitter nicht schafft, seinen Dienst zu professionalisieren. Und vielleicht ein Fremium-Modell einzuführen. Die API, die 3rd-Party-Clients verwenden müssen, ist beschnitten und erlaubt unter anderem nicht den Zugriff auf Votings und ähnlichem. Warum schafft es Twitter nicht, für einen gewissen Betrag, Usern die Möglichkeit zu bieten, die komplette API in ihren Clients zu verwenden. Gepaart mit der Möglichkeit zahlende User von nichtzahlenden Usern unterscheiden zu können. So könnte man auch diesen unsäglichen Spam-Bots ein wenig Einhalt gebieten. Man möchte ja nicht für 1000 erstellte Spambots fünf bis zehn Euro zahlen, wenn man dann auch noch schnell geblockt wird.

Twitter ist für mich das mittlerweile einzige Social Network, dass ich aktiv verwende. Facebook ist einfach unbrauchbar geworden, Instagram hat mich nicht gepackt, da das anfängliche Bildformat einfach zu grausam war und Accounts viel zu viel mit Hashtags um sich geworfen haben, um massig Follower zu generieren. Twitter ist momentan noch das einzige Netzwerk, in dem ich Herr über meinen Stream und Followern bin. Ohne mit Werbung zugebombt zu werden und ich das Gefühl habe, dass es eigentlich keinen Einfluss hat, was ich so zu sehen bekomme.

Ordentlich debuggen mit Xdebug und PhpStorm

Xdebug in PhpStorm

Es gibt ja nichts Schlimmeres, als Code nicht ordentlich debuggen zu können. Nicht nachvollziehen können, warum der vermaledeite Code, den man gerade mit Herzblut und Schweiß geschrieben hat, verdammt noch mal nicht das hinten rauswirft, was er soll.

Da PHP größtenteils zur Laufzeit und dann auch noch von einem serverseitigen Daemon beziehungsweise Webserver interpretiert wird (Caches jetzt mal außen vorgelassen), benötigt man eine Erweiterung in Form von Xdebug, die sich dazwischen schaltet und Informationen an die IDE liefert. Unter macOS kann man das Installieren sowieso recht bequem per Homebrew erledigen:

brew install php71-xdebug

Wie man den Rest (Apache, MySQL und PHP) installiert, hatte ich hier mal beschrieben, auch wenn man anstelle der MariaDB lieber Mysql 5.6 installieren sollte.

Okay, zurück zu Xdebug, dass zwar jetzt schon installiert, aber noch nicht konfiguriert ist. Im Verzeichnis /usr/local/etc/php/7.1/conf.d sollte sich die Datei ext-xdebug.ini befinden, in die man folgendes schreiben sollte:

[xdebug]
zend_extension="/usr/local/opt/php71-xdebug/xdebug.so"
xdebug.max_nesting_level = 500
xdebug.idekey = PHPSTORM
xdebug.remote_host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.auto_trace=1
xdebug.collect_includes=1
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.extended_info=1

Da Xdebug sich nach meinem Gefühl schon verlangsamend auf den PHP-Interpreter auswirkt, auch wenn kein aktiver Debugging-Prozess läuft, installiert man sich am Besten noch den Xdebug Toggler per

brew install xdebug-osx

Danach kann man dann per

xdebug-toggle on/off

Xdebug einfach ein- und ausschalten. Schlußendlich installiert man dann noch den Xdebug Helper in Chrome oder dem Browser seiner Wahl.

Fehlt jetzt nur noch die Konfiguration von PhpStorm und das Mapping von TYPO3-Core bzw. Erweiterung. Nehmen wir einfach an, dass eine Erweiterung debuggt werden soll die per composer in ein TYPO3-Projekt eingebunden ist. Ich verwende composer bei der Entwicklung von Erweiterungen so, dass zu entwickelnde Erweiterungen als Symlink eingebunden sind, damit sich die git-Repositories nicht in die Quere kommen. Könnte man auch mittels Submodule realisieren, aber ich mache es halt am Liebsten so.

In PhpStorm sollte man in der Konfiguration unter Languages & Frameworks > PHP > Debug die Optionen

  • Force break at first line when no path mapping specified
  • Force break at first line in when a script is outside the project

entfernen. Zusätzlich sollte man in den Einstellungen von PhpStorm unter Languages & Framework > PHP die korrekte Version und Cli-Interpreter angegeben und das „vendor/typo3/cms“-Verzeichnis als „External Library“ eingebunden haben.

Wenn man nun die Debugging-Session in PhpStorm aktiv schaltet und zum Beispiel das Frontend von TYPO3 neu lädt, sollte sich PhpStorm mit einem Mapping-Hinweis zu Wort melden und auch gleich entsprechende Dateien zur Auswahl geben. Für das Frontend wählt man am Besten die index.php aus dem Hauptverzeichnis des TYPO3 Cores.
Fröhliches Debuggen!

Die Sonne geht trotzdem auf

Sonnenaufgang

Es sind seit der Bundestagswahl ein paar Tage ins Land gegangen und die Sonne geht immer noch jeden Morgen auf. Auch wenn sich die politische Landschaft in diesem Land ganz schön gewandelt hat und das Volksparteiensystem nicht mehr vorhanden ist. Neben den herben Verlusten für die beiden Platzhirsche CDU und SPD und dem Erstarken einer rechten Partei, ist die ehemals als liberale Partei bezeichnete FDP wieder im Bundestag.

Ob jetzt eine Koalition aus CDU, Grünen und FDP zustande kommt oder nicht, wird sich zeigen. Ich hoffe nur, dass die SPD zu ihrem Wort steht und in der Opposition bleibt. Um den rechten Idioten die Stirn zu bieten und Ihnen als drittstärkste Partei nicht die Führungsposition der Opposition zu überlassen. Auch wenn es dieses Amt gar nicht gibt und mit Vorzügen ausgestattet ist.

Ich bin immer noch nicht in eine Partei eingetreten. Ich habe mir meine Gemeindevertretung und auch die Ausschüsse sowie die Parteien angeschaut und habe da keinen Platz für mich gesehen. Vielleicht ist es aber von mir auch ein wenig überheblich so zu denken. Das wird sich zeigen, ganz vom Tisch sind die Überlegungen nicht.

Ich werde nur in meinem Freundes- und Bekanntenkreis noch stärker gegen Alltagsrassismus „Flagge zeigen“. Weiterhin fragen, woher denn die Meinungen kommen, die man so hat und versuchen, meine Argumente vorzutragen. Denn dieser Rassismus ist irgendwie der Nährboden für all den ganzen Scheiss, der sich in diesem Land immer mehr abzeichnet.

SSH Keys ganz sicher verwahren

Schlüssel

Mit der Sicherheit ist das ja so eine Sache. Eine vollkommen zufriedenstellende Sicherheit kann es meiner Meinung nach nie geben. Schon gar nicht im technischen Umfeld. Dafür verändern sich die Ausgangslagen einfach zu schnell. Was heute noch als sicher gilt, kann morgen schon geknackt sein.

Bis vor kurzem habe ich meine SSH Keys in macOS unter dem bekannten Verzeichnis ~/.ssh unterhalb meines Benutzerordners gespeichert und war nur gezwungen auf jedem Endgerät, dass ich genutzt habe, diese auch vorrätig zu haben. Ich verwende mehrere SSH Keys: Privat, Arbeit und auch muss ich mir aus logistischen Gründen diverse Keys mit anderen Leuten teilen (Deployment auf Server). Bis jetzt habe ich die ganzen Keys in ein verschlüsseltes Disk-Image in einen Cloud-Service gepackt, um immer Zugriff auf die Schlüssel zu haben.
Das die Schlüssel aber, obwohl alle immer noch mit einer Passphrase abgesichert sind, quasi offen auf meinen Rechnern „herumliegen“, habe ich nach einer Lösung gesucht, um dieses Verfahren transportabler zu gestalten.

Dieser Artikel von Tammer Saleh ist mir unter die Augen gekommen und seitdem trage ich meine Schlüssel in einer verschlüsselten Partition auf einem USB-Stick mit mir herum. Das Skript sorgt dafür, dass diese für eine definierte Zeit dem SSH Agenten zur Verfügung gestellt werden. Nervig ist nur, dass ich beim Import-Vorgang für jeden Schlüssel die Passphrase (die sich unterscheiden) eintippen muss. Bei ein paar Schlüsseln kann das schon etwas ausarten.

Ist das Kunst oder kann das weg?

Documenta - Zu den Toiletten

„Being safe is scary“ prangt in goldenen Lettern über dem Eingang des Museums, an dem normalerweise in gleichen Buchstaben dessen Namen steht: Fridericianum.
Im Gegenteil zu den letzten beiden Ausstellungen sind im Stadtbild von Kassel gefühlt wenig Exponate der weltweit größten Kunstausstellung zu finden. Dafür aber immer mehr Bistro-Stände. Kleinkunst und Verkaufsstände von Künstlern, die nichts mit der Documenta zu tun haben, aber sonst die Wege zwischen den Ausstellungsorten gepflastert haben, sucht man vergeblich. Auch wenn diese in der Vergangenheit ein wenig das Flair mitgeprägt haben. So als Gegenpol zu der „großen“ Kunst in den Museen.

Vor ein paar Tagen habe ich dann die Weltkunstausstellung besucht, die unter dem Motto „Von Athen lernen“ läuft. Ich würde mich selber als recht uninteressiert in Sachen Kunst beschreiben. Einen großen Teil dieser Kunst verstehe ich einfach nicht und finde keinen Zugang. Klar kann ich die historische Bedeutung von so manchem Kunstwerk (Malereien in der Sixtinischen Kapelle von Michelangelo oder Werken von Leonardo da Vinci) begreifen, aber wenn ich vor scheinbar willkürlich gemalten Farbflächen in Neonfarben stehe, frage ich mich jedes Mal, warum dies so aufregend sein soll.

Ich wurde dann auch gar nicht so richtig enttäuscht, da meine Erwartungen sowieso recht niedrig waren. Aber den richtigen Kracher, der mich gefesselt hätte, gab es leider auch nicht. Man ist so durch die Ausstellungen gewandert, stand vor dem ein oder anderen Kunstwerk und hat sich versucht einzulassen, was einem der Künstler denn damit sagen wollte. Leider gab es eigentlich nie Informationen über dieses Kunstwerk, geschweige denn von einem begleitenden Text, der Denkanstöße hätte verursachen können. Schade drum.

Documenta - Kohlezeichnung

Documenta - Licht

Documenta - Demokratie

Kurzes Aufflackern

Pokémon Go

Seit ein paar Tagen spiele ich wieder Pokémon Go. Das hört sich jetzt eher wie eine Entschuldigung an und nicht wie eine Empfehlung, es mir gleich zu tun. Die kann ich auch nicht aussprechen, denn in dem knappen 3/4 Jahr, in dem ich nicht gespielt habe, hat sich nicht viel an der Spielmechanik getan, dass es mich länger packen würde. Oder ich verstehe es nicht.

Mehr als Pokéstops abklappern, hier und da immer die gleichen Pokémons einsammeln und ab und zu eine Arena übernehmen gibt das Spiel nicht her. Zwar hat Niantec mit den Raids versucht, das Gefühl des Zusammenspiels mit Freunden oder anderen Mitspielern zu fördern, aber mehr als eine Erweiterung des bekannten Arena-Kampfes ist das auch nicht.

Und nur weil man jetzt noch mehr Pokémons sammeln kann zieht mich das Spiel leider auch nicht tiefer in den Bann. Dafür scheint mein "Jäger und Sammler"-Trieb einfach nicht ausgeprägt genug zu sein.