PHP: Fehlermeldung eines Amazon Alexa Skills loggen

PHP ist manchmal soooo ne Mutti! Besonders wenn man von 5.5 auf 7.1.x umsteigt. Immer und überall kommen Fehler. Das Problem: beim Amazon Alexa Skill gibt es kein visuelles Interface. Also hat man als Entwickler automatisch gelosed/verloren, wenn ein PHP-Error/-Warning auftritt. Das muss aber nicht sein! Ich zeig euch, wie ihr jede Fehlermeldung bekommt, ohne das euch Alexa jedes mal erzählt: „Bei der Kommunikation mit dem Skill ist ein Problem aufgetreten.“
(mehr …)

PHP: Inhalt eines Amazon Alexa Skills Request holen und loggen

Meiner Meinung nach sollte jeder Softwareentwickler wissen was, wann, wie und wo in seinem Programm passiert. Besonders bei einem sprachgesteuerten Interface, wie beim Amazon Echo, ist das sehr wichtig. Daher schauen wir uns heute an, wie wir den Request eines Amazon Alexa Skill Aufrufs loggen können.

 

 

(mehr …)

Quickstart: Amazon Alexa Custom Skill mit PHP und ohne Amazon Lambda entwickeln

Ich lese ab und zu Mobiflip, ein Online Magazin über Technik und co. Dabei ist mir dieser Artikel aufgefallen: Amazon Echo: Alexa individuelle Ansagen abspielen lassen. Darin wird beschrieben, wie man über 10 Ecken ein selbsterstelltes Audio-File über Amazon Echo abspielen kann. Konkret sollen dabei Gäste begrüßt werden.
Meine Meinung: Schöne Idee, schön beschrieben – ABER DAS GEHT AUCH EINFACHER! Hier ist meine Version:)
(mehr …)

Event: CeBIT 2012

CeBIT 2012Auch in diesem Jahr besuchte ich die weltbekannte Messe „CeBIT“ in Hannover. Zusammen mit meinem Kollegen Pascal Link wanderte ich von Halle zu Halle, von denen es 17 Stück gab. Der Ausflug begann 5 Uhr früh am Wiesbadener Hauptbahnhof und endete 21:38 Uhr abends am Thailänder;-)
In diesem Beitrag berichte kurz von der Messe, stelle die einzelnen Kategorien vor und gebe einen Ausblick auf die Trends des Jahres 2012.

 

(mehr …)

NeueVerwaltung 2011: Workshop „eGroupWare“

WorkshopIm letzten Beitrag habe ich bereits über den Kongress „neueVerwaltung“ berichtet. Nun geht es um den Workshop „eGroupWare: kostenfreie Alternative zu Microsoft Exchange oder Lotus Domino“, den ich zusammen mit einem Kommilitonen (Guido H.) abgehalten habe. Zuvor wurde ein mittelgroßer Konferenzraum zu einem Computer-Kabinett mit insgesamt 10 Arbeitsplätze umgebaut.

 

 

(mehr …)

Event: NeueVerwaltung 2011

logo
Zwischen dem 10. und 11. Mai 2011 fand der diesjährige Kongress „neueVerwaltung“ in Leipzig statt. Der Kongress wurde nun zum 12. mal ausgerichtet und hatte in diesem Jahr das Schwerpunktthema „Verwaltung neu denken“. Laut Veranstalter (dbb Akademie) nahmen mehr als 1.000 Aussteller und Besucher an der „neueVerwaltung“ teil.
(mehr …)

Jax 2011: Ankunft und Umgebung

Die Jax 2011 fand in der bekannten Rheingoldhalle in Mainz statt. Auf dem Weg zur Keynote fotografierte ich die Umgebung. Wie man auf den Bildern erkennen kann, war das Wetter fantastisch mit 24 °C!
Neben dem Außengelände, habe ich noch Bilder vom Buffet und der Messe eingebaut. Schaut es euch einfach mal an…
(mehr …)

AS3: Einfacher Loader / Preloader zum laden von SWF-Dateien, Bildern, Texte, etc. in Actionscript 3

import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.net.URLRequest;

// Pfad zum Objekt, was geladen werden soll (relativ)
var url:String = "/pic/meinBild.jpg";
var reg:URLRequest = new URLRequest(url);
var myLoader:Loader = new Loader();

// EventListener
// Wird ausgeloest, wenn das Bild fertig geladen ist
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fertig);
// Wird ausgeloest, wenn ein Fehler aufgetreten ist
myLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, fehler);
// Wird ausgeloest, während des Ladens
myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, update);

// Ladevorgang starten
myLoader.load(reg);

function fertig(e:Event):void{
	// Inhalt der Stage hinzufügen
	this.addChild(myLoader);
	// oder
	this.addChild(e.currentTarget.content);
}

function fehler(e:IOErrorEvent):void{
	trace("Es ist ein Fehler aufgetreten: " + e);
}

function update(e:ProgressEvent):void{
	var total:Number = e.bytesTotal;
	var loaded:Number = e.bytesLoaded;
	var percent:Number = Math.floor((loaded*100)/total);
	// Ausgabe während des Ladens
	trace("Es wurden " + loaded + "Bytes von " + total +" Bytes geladen. Also " + percent + "%");
}