Das neue Frage und Antwort Spiel
Immer wieder erhalte ich Fragen über das Kontaktformular zu diversen Themen. Im Zuge der Umgestaltung meines Blogs habe ich eine neue Funktion eingebaut die es jedem die Möglichkeit gibt mir, fern ab von meinen Beiträgen, Fragen zu stellen. Jede Frage, sofern beantwortet, wird anschliessend mit meiner Antwort dort sichtbar, so dass alle etwas davon haben. Ich halte das für eine tolle Idee und hoffe das ihr auch gefallen an dieser Art von Kommunikation findet. Mal etwas anderes … :)
Ihr findet den Link oben rechts, oder klickt einfach mal hier.
Freihand malen, mit allem was es gibt
Komischer Titel, aber es lässt sich eben schwer beschreiben: Jeder der sich mal Photoshop angesehen hat, kennt bestimmt die Stempel-Funktion. Man klickt irgendwo hin und kann das aufgenomme dann beliebig oft übertragen. Nun wäre es doch bestimmt lustig wenn man dies auch mit einem riesigen Pinsel auf einer grossen Leinwand machen könnte und dabei alles kopieren zu können was sich in der Nähe befindet. Spielsachen, Muster von Kleidungen, kurz; alles was bunt ist und passt. Aber nun seht selbst was es schon 2005 im MIT Labor tolles gab.
Prototype Templates vs Script.aculo.us Builder
Ich habe gerade nach einer Referenz für die Template Klasse von Prototype gesucht, aber konnte nichts finden. Letztendlich wurde ich in Japan fündig und daher bin ich der Meinung das ich dass ganze mal für Deutschland schreiben sollte.
Ich persönlich bin schon seit längerem weg von der Ausgabe ganzer HTML Schnipsel via AJAX und bastel die DOM Fragmente in Javascript nach. Was nun letztendlich schneller ist sei dahingestellt. JSON ist meiner Meinung nach das schlankeste Format und somit auch schnell transportiert. Bei Seiten mit viel Traffic zählt jedes Byte. Da kann der Client ruhig ein bisschen Traffic sparen indem er einfaches HTML in seinem Browser generiert. :)
file_get_contents, XML und HTTP Fehler
Die letzten beiden Klassen haben ja alle auf file_get_contents gesetzt und ich habe bei der AmazonECS auch erklärt das ihr bei Problemen euch selbst darum kümmern musst. Bei Amazon ist das auch kein Problem, denn bei fehlerhaften Requests liefern die auch ein Fehlerformular, aber bei 404 siehts übel aus.
Ich habe nun für meine aktuelle Klasse eine Methode entwickelt die den direkten Aufruf von file_get_contents() umgeht und bei einem Fehler ein kleines XML Dokument liefert anstatt die Ausgabe mit einer hässlichen PHP Warning zu zerstören. Es ist zwar ein wenig "dirty", aber es bewahrt mich davor PHP5 try/catch Handling einzubauen nur für den beschriebenen Fall.
Zur Zeit sieht ein return wie folgt aus:
Das habe ich nun geändert und durch query_service ersetzt:
-
return $this->query_service($this->queryUrl);
Und hier ist die Methode query_service()
-
function query_service($url)
-
{
-
$errorDoc = '<?xml version="1.0" encoding="UTF-8"?>'
-
.'<php><error>There was a problem getting the content</error></php>';
-
-
{
-
$data = $errorDoc; // if data is not target, return errorDoc
-
}
-
-
return $data;
-
}
Schön wäre es natürlich wenn man die originale Fehlernachricht in das $errorDoc einfügen könnte. Irgendwelche Einwände oder gar eine bessere Lösung, Tips, Hinweise?
PS: Sobald ich die aktuelle Klasse fertig habe, werde ich die beide vorherigen dahingehend schonmal überarbeiten.
PHP-Klasse zur Technorati API
Gestern habe ich die Amazon Klasse geschrieben und aus gegebenen Anlass dachte ich mir das eine Technorati Klasse her müsste. Sie folgt dem gleichen Prinzip und liefert die XML Dokumente ohne viel drumherum. Wie auch bei der Amazon Klasse gibt es hier wieder eine ausführliche Online Dokumentation. Alle verfügbaren API Querys sind enthalten. Bloginfo, Browse, Member und Search, sowie das jedes Query alle verfügbaren Parameter beinhaltet.
Beispiele:
-
require('technorati.class.php');
-
-
// Alle Informationen zum Blog
-
$techno = new Technorati_Bloginfo();
-
$xmlDocument = $techno->bloginfo('http://www.m3nt0r.de/blog/');
-
-
// Suche nach Linkkosmos für eine Adresse.
-
$techno = new Technorati_Search();
-
$xmlDocument = $techno->cosmos('http://www.m3nt0r.de/blog/');
-
-
// Alle Informationen zu einem Mitglied.
-
$techno = new Technorati_Member();
-
$xmlDocument = $techno->getinfo('m3nt0r');
Download, Source und Docs
~GetDEF(technorati.com)~
Amazon E-Commerce Service PHP Klasse
Heute habe ich mal eine Klasse für den ECS Dienst von Amazon geschrieben. Ich kam auf die Idee, nachdem ich für mein selbstgemachtes Framework keine vernünftige Klasse finden konnte. Es gibt zwar Services_Amazon von PEAR, aber die hat einfach zuviele Abhängikeiten für diesen einen Zweck. Die Klasse ist offen für alle Dienste und vorbereitet für die Bezahldienste wie Alexa und Mechanical Turk, etc. Ihr könnt Sie also nach belieben erweitern. Ich habe eine ausführliche Dokumentation hinterlegt und dem Archiv hinzugefügt. Leider gibt es noch keine coding-guideline und eigentlich hätte ich Alexa und die Amazon-Bezahldienste selber implementiert, nur habe ich keine Kreditkarte und einen Developer-Key hab ich auch nich gefunden. Wie auch immer. Das ECS ist zu 80% abgedeckt. Ich habe nicht bei allen Funktionen alle möglichen Variablen eingefügt, da die meisten nur in sehr speziellen Fällen Sinn machen.
(more...)
Cheatsheets Update von Snook.ca
Jonathan Snook hat sein Prototype.js cheatsheet aktualisiert und auch gleich eines für mooTools erstellt. Cheatsheets sind praktisch um einen Überblick aller Funktionen zu bekommen. Besonders hilfreich bevor man hinterher feststellen muss, dass die Funktion die man gerade geschrieben hat bereits in der Bibliothek in ähnlicher Form existiert.
mootools_r83_cheatsheet/
prototype_1_5_0_cheatsheet/
Thanks! :)
PS: Wer es noch nicht mitbekommen hat... Sam hat die offizielle Doku seiner Prototype.js library ebenfalls kürzlich aktualisiert.
Die US Armee ruft 75 Tote zurück in den Dienst
Ein wenig makaber, aber der US Armee ist ein Fehler unterlaufen. Sie haben kurz nach Weihnachten 200 verletzte, sowie 75 tote Soldaten zurück in den aktiven Dienst geordert. Die Datenbank, welche üblicherweise für solch Korrespondenz verwendet wird, war zuvor nicht aktualisiert worden. Ein böser Fehler. Nun sind wenigstens diverse Kräfte im Einsatz um sich bei den betroffenen Familien persönlich zu entschuldigen. Da verliert man schon seine Lieben in einem sinnlosen Krieg, und dann soetwas.. (CNN)

