Wie erstelle ich ein Labyrinth mit JavaScript?

Durch Zufall bin ich irgendwann mal auf diesen BASIC-Einzeiler gestoßen, mit dem sich eine Art Pseudo-Labyrinth erstellen lässt. Ich habe versucht, das in Plain JavaScript halbwegs kompakt nachzubauen. Dabei kann man kaum übersehen, dass es sich keineswegs um ein richtiges Labyrinth handelt, sondern eher um eine zufällige Anordnung von Strichen ohne Lösungsweg. Also habe ich mich gefragt, wie schwer es wohl sein kann, ein Labyrinth programmatisch und vor allem kompakt zu erzeugen. Dazu gibt es zwar eine Menge Lösungsansätze, mein Ziel ist aber, die Herangehensweise zu beschreiben. Und da wir ja gerade alle zuhause abhängen, ist diese kleine Anleitung entstanden.

Weiterlesen

Sonys Xperia Modellchaos

Ich mag meine Differenzen mit Sony haben, aber trotzdem bin ich nach wie vor großer Fan der Smartphone-Serie von Sony: Xperia. Sony hat sich bisher immer ein wenig von der Masse abgehoben und mir war bisher nicht ganz klar, warum Sony mit seinen Smartphones so schlechte Verkaufszahlen einfährt. Die compact-Serie z.B. ist eines der selten gewordenen kleinen Smartphones, das auch in meine winzigen spillerigen Kinderfinger passt. Es bringt außerde eine recht passable Noise-Reduction mit und ist wie ganz selbstverständlich wasserdicht. Und das zu einem bisher immer sehr gutem Preis. Trotzdem ist der Absatz nach wie vor miserabel. Woran liegt das? Vermutlich an dem Dschungel aus Modellbezeichnungen der jeden ambitionierten Käufer verschreckt.

Weiterlesen

Fefes Blog – Eine Analyse

Nach der gar nicht mal so großen öffentlichen Wahrnehmung meiner laienhaften statistischen Analyse des Flirtportals der BVG “Augenblicke”, habe ich mich mal einem anderem Projekt gewidmet. Es geht um Fefes Blog, einer meiner ersten Anlaufstellen, wenn ich mir die tägliche Nachrichtendosis gebe. Inspiriert wurde ich dazu durch eine Analyse der Blogzeiten von Fefe, die allerdings schon acht Jahre zurück liegt.
Für meine Analyse des BVG-Portal hatte ich damals noch PHP gewählt, um die Seiten auszulesen und in eine Datenbank zu hauen. Das war ziemlich aufwendig. Diesmal wollte ich es mit Python probieren und damit auch gleich mein erstes Projekt in dieser Sprache realisieren (der Quellcode steht auf Github zur Verfügung).

Weiterlesen

Pictero – Generator für Poesie-Album-Sprüche

Pictero ist eine Persiflage auf die moralinsauren, romantischen oder schwülstigen Sprüche, die dir auf Delphin-Postern, in Poesie-Alben und mittlerweile auch in sozialen Netzwerken begegnen. Mit Pictero kannst du derartige Texte über Bilder legen, die entweder ganz gut passen. Dazu gehören z.B. Strandbilder mit einem viel zu starken Blur-Effekt. Oder du nimmst Bilder, die überhaupt gar … Weiterlesen

Apache und nginx parallel betreiben und mit ApacheBench gegeneinander antreten lassen

Mein Ziel ist es, nginx und Apache als Webserver auf einem System laufen zu lassen. Alle HTTP/HTTPS-Anfragen werden von nginx beantwortet. Anfragen an den Port 8080 (für HTTP) oder 4443 (HTTPS) werden von Apache beantwortet. So kann ich nginx und Apache in einem Benchmark vergleichen, indem ich einfach nur die Ports ändere. Das Setup ist aber auch für andere Zwecke sinnvoll, wenn du z.B. die Burst-Einstellungen von nginx in Aktion sehen oder bestimmte Web-Dienste strikt mit Apache bedienen willst. Los gehts…

Weiterlesen

Mehrere virtuelle Server mit nginx und PHP-FPM für WordPress (Teil 3 / 3)

Teil 1Teil 2Teil 3

Im letzten Teil geht es um die Einrichtung von PHP-FPM und ich gebe eine kleine Zusammenfassung bzw. Überblick über die Struktur des gesamten Setups. Wenn alles korrekt eingerichtet ist, solltet ihr nun einen gut funktionierenden Webserver auf Basis von nginx haben, der PHP-FPM nutzt und gut mit WordPress laufen sollte. Der Server arbeitet für mehrere unterschiedliche Domains, die so gut wie möglich im System getrennt sind.

Weiterlesen

Mehrere virtuelle Server mit nginx und PHP-FPM für WordPress (Teil 2 / 3)

Teil 1Teil 2Teil 3

Im zweiten Teil geht es um die individuelle Einrichtung der virtuellen Server für nginx.

Server oder virtual hosts?

Im Gegensatz zu den “virtual hosts” von Apache spricht man bei nginx von “servern“. Ich möchte das Aufgreifen und nutze im Folgenden einfach nur von “Server” wenn ich von einem individuellen Host oder virtuellem Server spreche. Wie bei Apache werden diese idealerweise in eigenständigen Konfig-Dateien definiert. Hier gibt es verschiedene Vorlieben, ob die Konfig-Dateien unter /etc/nginx/sites-available oder /etc/nginx/conf.d abgelegt werden.

Weiterlesen

Fokussierter Drill-Down mit Tableau

In Tableau gibt es die eigentlich sehr nützliche Möglichkeit, Dimensionen beliebig zu kombinieren und in einer Hierarchie zusammenzufassen. Diese Funktion ist sehr intuitiv hat aber einen Haken: Wenn man bei großen Datenmengen und Dimensionen mit hoher Kardinalität einen Drill Down macht, werden die Abfragen nicht nur irrsinnig langsam, je tiefer man kommt. Die Übersicht geht auch komplett verloren.

Weiterlesen