100.000 Streams auf Jamendo

Donnerstag, 1. Dezember, 2016

Huh!! Heute kommt ja alles zusammen :-)

Auf Jamendo wurde die 100.000 er Marke abgespielter Streams geknackt! Und es gibt über 50.000 Downloads.

2016-12-01-jamendo-100000.png

Der mit grossem Abstand am häufigsten geklickte Song ist … ein Weihnachtslied :-)

Jamendo: Jingle Bells

Innovation Award Oktober 2016 für Klasse ahpwcheck

Donnerstag, 1. Dezember, 2016

Ja sowas: mit 37.5 % der Stimmen abgeräumt :-)
Die Javascript-Klasse zählt in einem (Passwort-) Input-Feld Typen von Zeichen und ermittelt Grad der Erfüllung der Anforderungen, Gross- und Kleinschreibung, Ziffern, Sonderzeichen und Anzahl. Plus Mehrsprachigkeit und Callbackfunktion zum Abrunden.

2016-12-01-jsclasses-innovation-award-4-ahpwcheck.png

2016-12-01-jsclasses-innovation-award-4-ahpwcheck-email.png

Update:
Auf einen der gesponsorten Preise habe ich verzichtet. Damit können “richtige” oder angehende Programmierer mehr anfangen, als ich. Der Award gehört mir ja bereits - das reicht mir völlig aus :-)

weiterführende Links:

  1. jsclasses.org: ahpwcheck
  2. Github: Sourcen inkl. Beispiele
  3. axel-hahn.de: Docs

Opcache auf WAMP-Server unter MS Windows aktivieren

Sonntag, 27. November, 2016

Auf dem Wampserver für Windows wird die opcache DLL mitgeliefert, ist aber nicht aktiv.
Um es zu aktivieren, muss man die php.ini bearbeiten. Man findet Hinweise, wie die Extension zu aktivieren ist. Mein Fehler war, dass ich per Dateimanager die php.ini im Verzeichnis

C:\wamp\bin\php\php5.5.12\

bearbeitete … was zu keinerlei Resultat führte, weil der Apache Daemon die php.ini aus dem Apache-Verzeichnis anzieht:

C:\wamp\bin\apacheapache2.4.9\bin\php.ini

Also …

Schritt 1:
Mit einem phpinfo() in der Ausgabe prüfen, welches die richtige php.ini ist :-)
Oder direkt im Traymenü unter Php die dortige php.ini zum Bearbeiten anklicken.

Schritt 2:
Die php.ini bearbeiten … in der Sektion “[opcache]” ist die Extension zu aktivieren: die Zeile zend_extension=php_opcache.dll eintragen (sie existiert nicht).
Der Eintrag opcache.enable=1 ist hingegen bereits vorhanden:

(...)
[opcache]

zend_extension=php_opcache.dll

; Determines if Zend OPCache is enabled
opcache.enable=1
(...)

Schritt 3:
Apache neu starten. In der Ausgabe von phpinfo() sieht man dann das zusätzliche Modul … und auch Im Tray-Menü Php -> Php Extensions ist opcache ist das Warnsymbol nun weg.
Wer mag, kann noch einen Viewer wählen, um den Speicherstatus zu prüfen, z.B. ob der zugewiesene Speicher für den Cache korrekt ausgelegt ist.

weiterführende Links:

  1. Github: opcache-status
  2. https://easyengine.io/tutorials/php/zend-opcache/ - weitere Webviewer (en)

Umstellung auf SSL

Mittwoch, 23. November, 2016

“Mein” Hoster bietet 1 kostenloses SSL Paket bei shared Hosting an (hätte man einen eigenen Host, könnte man ja ein Zertifikat mit Lets Encrypt installieren).

Das Zertifikat ist seit dieser Woche aktiv und ich habe nun einige Konfigurationen umgeschrieben und Anwendungen (Blog, Diashow, Dokumentationen) angepasst.
Ich glaube, jetzt läuft es. Im Wesentlichen.

Alle Aufrufe mit http werden daher auf https mittels .htaccess umgeleitet.

RewriteEngine on
RewriteBase /

# 2016-11-23 - force SSL :-)
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Update:

Wenn eine Subdomain in einem Unterverzeichnis der Hauptdomain liegt (so werden bei Strato die zusätzlichen Domains abgelegt), dann kann man deren Hostnamen mit einem Regex prüfen und von der Umleitung aussliessen.

  • RewriteCond %{HTTP_HOST} !.*example\.com [NC]
    .* als Platzhalter für beliebige Zeichen: Domain mit allen Subdomains. Bei mehrenen Domains im Paket schreibt man pro Domain eine Zeile
  • RewriteCond %{HTTP_HOST} !^www1\.example\.com [NC]
    mit ^ beginnend genau diese Subdomain und Domain

In der .htaccess des Webroots der Haupdomain kann man schreiben:

RewriteEngine on
RewriteBase /

# force SSL
RewriteCond %{HTTP_HOST} !.*domain2\.de [NC]
RewriteCond %{HTTP_HOST} !.*domain3\.de [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

weiterführende Links:

  1. letsencrypt.org (en)
  2. Axels Webseite: Diashows
  3. Axels Webseite: Dokumentationen (en)

Pimped Apache Status Beta

Donnerstag, 8. September, 2016

Ich bin dabei, eine Version 2 meines Monitoring Tools Pimped Apache Status bereitzustellen.

Die bestehenden Analyse-Werkzeuge bleiben 1:1 erhalten. Wichtigste Neuheit ist das Admin-Backend: Hier kann man künftig seine Server und Servergruppen für loadbalancte Webseiten per Webbrowser konfigurieren. Bisher musste man dazu eine Config-Datei bearbeiten.

Die Konfigurationsdateien wurden dazu von PHP-Arrays in reine JSON Dateien überführt. Anm.: zur Umwandlung einer 1.x Konfiguration gibt es eine upgrade.php

Aber einmal in Bildern…

Screenshot 1:

  • Das Default-Skin wird ein wenig farbiger: im Menü oben die Icons und die Tabs in der ersten Sub-Navigation
  • In den Kacheln sind wurde eine Kreisgrafik hinzugefügt. Diese hilft beim Bewerten des aktuell angezeigten Wertes: visualisiert ist er im Vergleich zum Maximum der letzten n Werte. Genaueres sieht man dann beim Mouseover über eine Kachel…
  • In der Subnavigation in rot: hier geht es zum Setup

206-09-08-pimped-apache-status-v2beta-01.png

Screenshot 2:

  • Im ersten Tab ist die Konfiguration der Server. Man legt zunächst eine Gruppe an und kann in dieser beliebige Server hinzufügen.
  • in weiteren Tabs kann man die bestehende Konfiguration einsehen: die Default-Einstellungen und die Custom-Settings.

206-09-08-pimped-apache-status-v2beta-02.png

Der Sourcecode der Beta ist in einem Branch auf Github verfügbar. Längerfristig wird der Sourcecode in Github verwaltet werden. Sourceforge wird dann nur noch als Lese-Instanz von Github am Leben erhalten.

Wenn jemand die Beta testen mag, so freue ich mich über euer Feedback.

weiterführende Links:

  1. Github: Pimped Apache Status (Anm.: Seit Veröffentlichung von Version 2 gibt es keinen Beta-Branch mehr)

Bild.de diffamiert Adblock und verklagt sie auch noch

Sonntag, 25. Oktober, 2015

Bild will sich das Recht erstreiten, dass Besucher ihrer Webseite ihre Werbung konsumieren müssen. Konkret gehen sie diese Tage gegen Eyeo und deren Produkt Adblock vor.

Nachfolgender Screenshot ist kein Fake, sondern ich werde bei Aufruf der Seite zu dieser Falschmeldung umgeleitet. Rechts oben sieht man aber, dass mein Adblocker AUS ist:

2015-10-25-bild-blockt-auch-wenn-adblocker-aus-ist.png

Und das bleibt auch so, wenn ich Adblocker ganz deaktiviere:

2015-10-25-adblocker-deaktiviert.png

[Weiterlesen…]

Facebook datiert auch mal vor

Donnerstag, 29. Januar, 2015

Ab morgen treten auf Facebook die neuen Datenschutzrichtlinien in Kraft, denen man automatisch zustimmt, wenn man sich ab dem Tag bei FB anmeldet.
Natürlich kann man sich bei FB darüber informieren. Das Datum der letzten Bearbeitung [1] wird dann auch gleich mal in die Zukunft gesetzt.

2015-01-29-facebook-datiert-vor.png

Schlussendlich geht es um mehr Werbung und Auswertung von Nutzungsdaten. Auf youronlinechoices [2] kann man anbieterweise einstellen, ob diese Nutzungsdaten zum Zwecke nutzungsbasierter Online Werbung verwenden dürfen. Facebook ist zwar als Partner aufgführt, aber ich habe es noch nicht geschafft, es bei Facebook zu deaktivieren. Aber man soll ja nie aufgeben ;-)

Weiterführende Links:

  1. Facebook Datenrichtlinie
  2. youronlinechoices - Präferenzmanagement

Update:
Um auf youronlinechoices alle Einträge deaktivieren zu können, muss man Adblocker, Ghostery, usw. kurzzeitig deaktivieren. Dann klappt es auch mit dem AUS-Schalter für Facebook.

IML-Appmonitor - v0.07 - James Bond Edition

Freitag, 28. November, 2014

Nein, das mit dem Zusatz zur Version ist nur ein Witz - ein kleines Wortspiel :-)

Aber im Ernst: Ich arbeite am Institut für Medizinische Lehre (IML) an der Uni Bern. Zum Monitoring von Web-Applikationen ist etwas in PHP Geschriebenes am Entstehen.

Das Grundprinzip ist:

Web-Applikationen sollen als Client diverse Checks machen, was sie so zu ihrer Ausführung alles brauchen: Schreibrechte auf einem Verzeichnis, Verbindung zu einer Datenbank, Verbindung zu einem Remote-Server auf Port XY, whatever…
Jeden Check bewertet die Client-Applikation und stellt das Ergebnis ihrer Prüfung samt TTL (wann eine erneute Abfrage erfolgen darf) als JSON bereit. Weil das Format etwas neutrales ist, kann ein Client in verschiedenen Programmiersprachen geschrieben werden.

Ein Server sammelt die JSON Ergebnisse ein. Zunächst gibt es eine bunte Web-GUI - rein zum Ansehen des aktuellen Zustands (keine History). Neben der GUI soll beim Server in Kürze auch eine Schnittstelle für Monitoring-Systeme entstehen. Zunächst ein Nagios-Plugin für die Intregration in unser eigenes Monitoring.

UPDATE:

Die Screenshots haben rein “historischen Wert” - es wurde mittlerweile eine GUI mit AdminLTE darüber gestülpt. Github zeigt es bereits im Readme-Markdown.

2014-11-28-01-overviewpage-websites.png 2014-11-28-02-detailpage-checks-of-a-website.png 2014-11-28-03-setup-monitor-clients.png

Weiterführende Links:

Pimped Apache Status v1.15 - Icons

Donnerstag, 27. November, 2014

Immer mal wieder gibt es Update bei meinen Tools.
Beim Pimped Apache Status habe ich noch diverse Pläne. Ich wollte eigentlich Bootstrap 3 in ein Template verpacken, und es soll per WebGUI die Liste der Server und Tiles oben konfigurierbar werden, …

Nun, es sind heute “nur” die Icons eingecheckt worden und das Ganze wurde als Version 1.15 bereitgestellt.

2014-11-27-pimped-apache-status-v115.png

Weiterführende Links:

Piwik-Statistik mit statischen Grafiken in der Webseite einbinden

Montag, 17. November, 2014

Ich wollte meine Statistik-Anzeige auf meiner Startseite etwas anders haben und die Grafiken von PIWIK [01] einbinden. Es gibt verschiedene APIs [02] zum Holen von Daten - als XML, JSON oder Grafik [03]. Aber die Grafiken sollten nicht mitsamt der URL der PIWIK-Api eingebunden sein - ich wollte die Grafiken holen, cachen und die gecachten Bilder einbinden.

Das Ergebnis auf der Webseite sieht dann so aus:

2014-11-17-piwik-stats-with-static-images.jpg

Konfiguration

Zunächst einmal die Basis-Daten als Konfiguration: Für die eigene Verwendung sind die Parameter anzupassen. Die Variablennamen sollten einleuchtend sein:


// anpassen
$sPiwikToken = "419f6099c81111fdb6ae65...";
$iPiwikSiteId = 7;

// Bildgroesse und Farbe
$iImageWidth = 500;
$iImageHeight = 200;
$sBarColor = "887799";

// Domain und Pfad zu Piwik anpassen
$sBaseUrl = "http://[www.deine-domain.de/piwik]/index.php?module=API&method=ImageGraph.get"
  . "&idSite=$iPiwikSiteId&apiModule=[MODULE]&apiAction=[ACTION]"
  . "&period=range&date=last[DAYS]"
  . "&token_auth=$sPiwikToken"
  . "&width=$iImageWidth&height=$iImageHeight&colors=$sBarColor";

[Weiterlesen…]