Es wird Zeit, dass ich über Liu Cixins "The Three-Body Problem" schreibe, einen Science Fiction-Roman, der ganz zu recht den letztjährigen Hugo-Award gewonnen hat, einen der wichtigsten Preise für Science Fiction-Literatur. Und das, obwohl chinesische Science Fiction den meisten bisher wohl kaum bekannt war und auch in China selbst keinen hohen Stellenwert genießt, wie Liu Cixin schreibt.
"The Three-Body Problem" ist der erste Teil einer Trilogie, deren ersten beiden Bände bereits aus dem Chinesischen ins Englische, jedoch noch nicht ins Deutsche übersetzt wurden. Eine deutsche Ausgabe des Buches ist aber bereits für September bei Heyne angekündigt. Ich habe "The Three-Body Problem" und Teil 2, "Dark Forest", vor einigen Wochen gelesen.
Das titelgebende Dreikörperproblem ist ein Phänomen, bei dem drei Himmelskörper sich durch die Gravitationskräfte gegenseitig anziehen und abstoßen, und zwar nicht etwa regelmäßig, sondern chaotisch. Eine Welt, auf der intelligentes Leben existiert, kann sich unter drei Sonnen auf keine festen Klimaperioden verlassen.
Wer eine PHP-Anwendung entwickelt, die Mails versendet, möchte natürlich, dass diese Mails auf dem Entwicklungsrechner oder der Vagrant-Box nicht wirklich den Empfänger erreichen. Aber dennoch sollen sie irgendwo ankommen, damit Versand und Inhalt geprüft werden können.
Symfony schlägt vor, den E-Mail-Versand in der Test- und ggf. in der Development-Umgebung ganz zu deaktivieren, oder alternativ eine spezielle E-Mail-Adresse für solche Fälle einzurichten.
Ich wollte für eine Legacy-Anwendung, die Mails mittels der PHP-Funktion mail() versendet, aber lieber einen lokalen Mailcatcher verwenden, der die Mails in der Entwicklungsumgebung abfängt.
Es gibt da was für Ruby, aber nachdem die Installation immer noch nicht abgeschlossen war, als ich mit dem Kaffee aus der Küche zurückkam, habe ich das verworfen und mich nach einer Alternative umgesehen. Und gefunden:
As you may know, I'm co-organizing two user groups, PHP User Group Rheinhessen and RheinMainJS, and although we've fortunately never had any complaints about or problems with abusive behavior or harassment, I would like to establish a Code of Conduct for these user groups.
Was man so tut, wenn man in Dezembernächten nicht schlafen kann (oder will).
Advent of Code
Advent of Code ist eine Serie von amüsanten Programmier-Aufgaben, die allerdings teilweise gar nicht ohne sind. Vom 1. bis zum 25. Dezember wurden täglich jeweils zwei Rätsel veröffentlicht, für jede richtige Lösung gab es virtuellen Baumschmuck und einen Platz in der Highscoreliste. Die Programmiersprache und der Weg zum Ergebnis waren dabei egal.
Nachdem ich auf meinem Entwicklungsrechner seit kurzem PHP 7 installiert habe, wollte ich einige (meiner) Projekte mit Hilfe des Code-Analyzers Phan, von dem vor dem Release der neuen PHP-Version schon einiges zu lesen war, auf Fehler untersuchen. Phan muss zwar unter PHP 7 ausgeführt werden, kann aber auch ältere Projekte, die beispielsweise für PHP 5.x entwickelt wurden, inspizieren.
Installation
Bevor es an die Installation von Phan geht, sind einige Voraussetzungen zu erfüllen: Insbesondere wird natürlich PHP 7 benötigt, zusätzlich aber auch die Extension php-ast, die den abstract syntax tree aufzeigen kann. Der Abstrakte Syntaxbaum (AST) ist neu in PHP 7 und stellt sozusagen einen Zwischenschritt dar, bei dem der PHP-Code in besser optimierbare Ausdrücke umgewandelt wird. Wie das bei HHVM im Detail aussieht, hat Sara Golemon ausführlich beschrieben. Zum Einlesen in die PHP-Implementierung ist der zugehörige RFC ein guter Einstiegspunkt.