Html5 Audio Events beobachten

Freitag, 23. Februar, 2018

Es entsteht gerade eine weitere Demo Seite zu Html 5 Audio:
Nach Eingabe einer beliebigen Audio URL wird diese als Source eines Audio Tags verwendet.
An dieses Audio Tag werden alle dokumentierten Events angeklebt und man kann bei den Interna eines Audio Tags zuschauen und wann welche Events abgesetzt werden.

Sie erscheinen zum einen rechts als Log (mit Zeitangabe in Millisekunden seit Laden der Seite). Damit kann man z.B. messen, wie lange ein Audio laden muss, bis es abgespielt werden kann (readyState=4).

Unten ist die Liste aller Events, die bei Absetzen hervorgehoben werden … und nach und nach schwächer verfärbt sind.

2018-02-28-audiodebugger.jpg

weiterführende Links:

  1. Demo-Seite: Html5 Audio debugger

PHP-Klasse cdnorlocal

Dienstag, 25. Juli, 2017

Eigentlich begann es als Abfallprodukt. Ich brauchte da in einer Web-Applikation eine Klasse … und habe halt jene kleine Klasse geschrieben: wenn ein Verzeichnis für eine Bibliothek im Vendor-Verzeichnis lokal existiert, dann wirf eine lokale URL zurück. Wenn nicht, dann eine zu einem CDN Hoster. Sowas packt man an sich als Funktion in einen 3 Zeiler.

Damit kann ich abstrahieren, wo eine benötigte Bibliothek tatsächlich liegt. Mein Produkt-Download wird klein, weil ich Bibliotheken nur extern verlinke, statt mit in den Download zu packen. Soll das Produkt auf einem System ohne Internet-Anbindung verwendet werden, kann man die Bibliotheken aber optional lokal legen und auf einen Internet-Zugang verzichten.

Tja und dann kam mir der Sinn, noch eine Admin dafür zu schreiben: ich will live in einer API nach Bibliotheken browsen, Details einsehen, Versionen wechseln, Bibliotheken zu “mir” herunterladen.

Ach so Versionen … da gibt es bei gefragten Produkten in relativ kurzen Intervallen neue Releases. Sei es jQuery, Font-Awesome, Plugins … eigenlich habe ich selbst gar keine Kontrolle über all jene Updates … und wenn was neu ist, dies in meinen Applikationen zu aktualisieren.

Und wenn man Versionen lokal hat und sie schon mal lokal erfragen als auch remote die aktuellste ermitteln kann … machen wir noch einen Versions-Checker für sämtliche lokal gemachten Bibliotheken auf einmal dazu. Es kam eins zum anderen. Ich glaube, ich habe mal ein Grundgerüst. Das wird später einmal eine gute Hilfe, den Überblick über alle meine Bibliotheken und deren Versionen zu behalten.

Browsing (Rendering der API Such-Abfrage bei CDNJS):

2017-07-25-cdnorlocal-01.png

Details (Rendering der API Abfrage einer Library bei CDNJS):

2017-07-25-cdnorlocal-02.png

Versionscheck: lokal hinterlegte Versionen von Bibliotheken werden mit der online aktuellsten Version verglichen

2017-07-25-cdnorlocal-03.png

weiterführende Links:

  1. Github: cdnorlocal
  2. Docs: https://www.axel-hahn.de/docs/cdnorlocal/
  3. https://cdnjs.com/

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

JS Klasse ahpwcheck ist nominiert für Innovation Award Oktober 2016

Donnerstag, 3. November, 2016

Vor einigen Tagen habe ich auf jsclasses.org eine 2. Javascript-Klasse eingerichtet: ahpwcheck. Deren Sourcen sind zuvor auf Github und Doku ebenfalls online gestellt worden.
Und nun wurde diese Klasse für den Innovation Award Oktober 2016 nominiert.

Bitte Voten!!! :-)

2016-11-03-ahpwcheck-on-jsclasses-nominee.jpg

weiterführende Links:

  1. Projektseite auf www.jsclasses.org (en)
  2. Source von ahpwcheck: Github (en)
  3. Docs (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)

anclock auf Platz 1 der Wochendownloads

Sonntag, 17. Juli, 2016

Weil ich ein paar PHP-Klassen auf phpclasses.org hinterlegt habe, habe ich nur mal mal vesuchsweise eine Javascript-Klasse in der Partnerseite jsclasses.org hinterlegt: meine Analog-Uhr.
Tja, und nun ist sie dort auf Platz 1. Unerwartet, aber trotzdem schön!

2016-07-17-jsclasses-top10-anclock.png

weiterführende Links:

  1. Analog-Uhr: Einführung auf meiner Webseite (deutsch)
  2. Dokumentation (en)
  3. Projektseite auf jsclasses.org
  4. Sourcen auf Github (en)

ahMaphelper (PHP-Klasse) - votet auf phpclasses.org

Montag, 6. Juni, 2016

Ich habe da eine PHP-Klasse, die parst aus einer URL von Karten-Anbietern die Position. Und kann mit einer bekannten Position die URLs zu alternativen Anbietern generieren lassen, die zur selben Position zeigen. Das klappt derzeit mit Google Maps (mit div. Länder-TLDs), Yandex.ru und OpenStreetMap.

Man kann die Klasse also zum Extrahieren einer Position nutzen oder aber zum Konvertieren beim gewünschten Wechsel des Karten-Anbieters.

Die Klasse wurde nominiert für einen Innovation Award auf phpclasses.org.
Wer kann und mag, der vote doch bitte für mich!

Beispiel:

require_once 'ahmaphelper.class.php';
$oMaphelper = new ahmaphelper();
print_r($oMaphelper->getPos("https://www.google.ch/maps/@46.9465944,7.4439426,17z"));

… gibt ein zurück Array (und behält es auch intern):

Array
(
    [source] => https://www.google.ch/maps/@46.9465944,7.4439426,17z
    [provider] => google
    [lat] => 46.9465944
    [lon] => 7.4439426
    [zoom] => 17
)

… und nun zu den anderen Anbietern:

print_r($oMaphelper->getUrls());

zeigt dieses Array:

Array
(
    [google] => https://www.google.com/maps/@46.9465944,7.4439426,17z
    [osm] => https://www.openstreetmap.org/#map=17/46.9465944/7.4439426
    [yandex] => https://yandex.ru/maps/?ll=7.4439426%2C46.9465944&z=17
)

weiterführende Links:

  1. phpclasses.org - Votet für mich!! (en)
  2. Quellcode auf Github (en)
  3. Demo: einmal ein paar URLs ausprobieren (en)
  4. Dokumentation der Klasse (en)

Pimped Apache Status - votet auf phpclasses.org

Sonntag, 2. August, 2015

Mein Pimped Apache Status wurde auf phpclasses.org für den Award Juli 2015 nominiert …

2015-08-02-phpclasses-org-nominee.png

Votet doch bitte für mich :-)

weiterführende Links:

  1. phpclasses.org: Votet bitte für Pimped Apache Status
  2. Axels Webseite: Pimped Apache Status
  3. Sourceforge: Projektseite und Download (en)
  4. Axels Webseite: Dokumentation (en)

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: