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

AbbreViator ™ – Lange Texte automatisch abkürzen

Wenn bei deiner Abschlussarbeit, Masterarbeit, Hausarbeit oder Doktorabeit Qualität mehr zählt als Quantität, dann ist der AbbreViator ™ für dich genau das richtige. Der AbbreViator ™ ist für wissenschaftliche und nicht-wissenschaftliche Texte geeigent. Das Werkzeug ersetzt alle Wörter durch Abkürzungen und liefert dir dein komplettes Pamphlet zurück, dass inhaltlich nicht weniger wert ist, als das … Weiterlesen

Lorem Picsum – Der Generator für zufällige Bilder

Lorem Ipsum kennt jeder. Das sind diese lateinisch anmutenden Texte, die man als Platzhalter verwenden kann. Zu einem richtigen Layout gehören aber nicht nur Texte, sondern auch Bilder. Doch woher nehmen, wenn nicht stehlen? Lorem Picsum heißt die Antwort naheliegenderweise. Dabei handelt es sich um eine kostenlose und unkomplizierte API, um Bilder in deine Seite bzw. dein Layout einzubinden. Die Bilder werden dabei bei jedem Aufruf zufällig neu ausgewählt:

Weiterlesen

Den korrekten MySQL ODBC-Treiber für deinen Linux-Server installieren

Wenn du denkst, du hast alles richtig gemacht, nachdem du einer der halb vollständigen Anleitungen da draußen gefolgt bist, und dann wirst du nach der mühseligen Installation von ein paar ODBC-Treibern doch mit der folgenden Fehlermeldung begrüßt:

Doch tatsächlich existiert die Datei. Die Fehlermeldung ist nur etwas unpräzise und vermutlich hast du die falschen Treiber heruntergeladen. Damit dir das nicht noch mal passiert, hier eine endgültige, hoffentlich vollständige Anleitung zur Installation der MySQL-ODBC Treiber (unter Ubuntu, aber leicht übertragbar auf andere Distributionen):

Weiterlesen

WordPress Tag Cloud mit Umlauten (äöü) korrekt sortieren – Oder: Der WordPress Filter im Live-Beispiel erklärt

WordPress bringt von Hause aus ein Widget mit, dass die verwendeten Tags als Cloud darstellt (wer es ein wenig schöner mag, greift auf mein WordCloud Plugin zurück). Das Ganze hat nur einen Haken: Die entsprechende WordPress-Funktion wp_generate_tag_cloud nutzt aosort() als Sortierfunktion. Und die kommt mit Umlauten nicht sonderlich gut klar. Eine Lösung wäre also, die … Weiterlesen

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

Teil 1Teil 2Teil 3

Bisher war ich immer recht zufrieden mit der Geschwindigkeit meiner selbstgehosteten WordPress-Seiten. Im Schnitt hat es nicht länger als 2 Sekunden gedauert, bis die Inhalte aufgebaut waren. Mal mehr, mal weniger. Und das schien mir ein akzeptabler Wert zu sein. Ich nutzte eine der üblichen Standard-Installationen, die da draußen wohl weit verbreitet ist: Apache2 mit mod_php. Der PHP-Interpreter ist dabei “Teil” des Apache2-Servers. Das ist unkompliziert und schnell zu installieren und somit einfach eine pragmatische Lösung und auch deshalb wohl sehr weit verbreitet. Aber: Die einfachsten Lösungen sind oft nicht die besten. Geschweige denn, die sichersten.

Weiterlesen

PHP – Mit welcher Methode durchsucht man ein Array am schnellsten?

Das schöne an PHP: Viele Wege führen nach Rom.

Das Problem mit PHP: Viele Wege führen nach Rom.

Denn diese Vielfallt stellt den Entwickler von Welt mituner vor eine schwierige Frage: Welcher Weg ist der kürzeste? Will man z.B. einen Wert (needle) in einem Array (haystack) suchen, gibt es in PHP zehn verschiedene Methoden. Du hast richtig gelesen: Zehn. Ich unterscheide einerseits auch die strikten und nicht-strikten Vergleiche, andererseits lasse ich die wirklich exotischen Methoden außen vor. Welche Methoden am schnellsten sind, werde ich versuchen im Folgenden herauszufinden. Außerdem schaue ich mir an ob es unter den letzten PHP-Versionen (7.0 bis 7.3*) Unterschiede in der Geschwindigkeit gibt.

* Genau genommen sind es PHP 7.0.33-1, PHP 7.1.26-1, PHP 7.2.14-1, PHP 7.3.1-3

Weiterlesen

Dateien von einem kaputten Android-Smartphone retten

Ich hab hier gerade ein altes LG Nexus auf dem Tisch liegen, bei dem das Display in der unteren Hälfte nach einem Sturz nicht mehr funktioniert. Und das ist ja eigentlich der Supergau. Denn für gewöhnlich schützt man sein Gerät ja mit einer Geste vor fremden Zugriffen. Das Problem ist also: Wenn früh um sechs Uhr der voreingestellte Wecker angeht, kannst du ihn nicht mehr deaktivieren. Und außerdem kommst du nicht mehr an deine Dateien ran, wenn das Smartphone, wie eben das Nexus von LG, seine Daten nicht gerade auf einer externen Speicherkarte ablegt.

Weiterlesen

Zugriff nicht loggen, wenn ein bestimmter HTTP-Request-Header gesetzt ist

OK, ich tu mich etwas schwer, das folgende in einen Titel zu gießen, der nicht länger ist, als die eigentlich Anleitung. Wenn du an deiner Webseite arbeitest, möchtest du vielleicht vermeiden, dass deine Aufrufe mit deinem Browser im Log-File von nginx landen. Dafür gibt es eine Menge Möglichkeiten, ich mag die folgende aber besonders.

Weiterlesen