Userscript: Amazon-Mein-Wunschpreis-Button

Für die Browser Firefox und Chrome gibt es die Erweiterungen Greasemonkey bzw. Tampermonkey, die es Benutzern erlauben, Websiten mit eigenen Skripten oder fertigen Scripts von userscripts.org zu erweitern.

Für Amazon-Shopper habe ich eine kleine Erweiterung gebaut, die einen Link zur Preisbeobachtungsseite „Mein Wunschpreis“ neben den Preis auf Artikeldetailseiten einbaut. Vielleicht hilft es ja dem einen oder anderen Shopper hier:

WP-Piwik und WordPress 3.2

User, die das WP-Piwk-Plugin einsetzen, dürften sich (wie ich) über den Nebeneffekt von nicht auf- bzw. zuklappbare Widget-Boxen auf dem Dashboard ärgern.

Abhilfe schafft die Deaktivierung der Zeile:

// postboxes.add_postbox_toggles('wppiwik'); 

Dann klappt alles wie gehabt. Fehler ist ein durch WP-Piwik doppelt vergebenes toggle-Event, das offene Boxen auf und geschlossene Boxen geschlossen lässt. Der Autor ist über den Fehler und den Fix informiert und wird das in die nächste Version einbauen (bzw. ausbauen).

Wer so lange nicht warten kann/will, muss solange selbst Hand anlegen.

Code online verwalten: Cloud9IDE

Eine IDE im Browser, das hatte damals Mozilla mit Bespin / Skywriter begonnen, und der Nachfolger des damals revolutionären Projekts heißt: Cloud9IDE.

In todays programming IDEs, web development and JavaScript were little more than an afterthought. With their roots dating back to the 90’s, they haven’t adjusted to the current needs of internet application development, they are difficult to extend and they use far too many resources.

Cloud9IDE bietet eine fertige Node.JS-Entwicklungsumgebung, allerdings ist es auch möglich, beispielsweise jQuery-Plugins im Browser zu entwicklen und auf Github zu verwalten.

Das funktioniert extrem gut, wenn man beachtet, dass man nicht die Möglichkeit hat,“normale“ Commit-Messages zu schreiben, sondern auf ein git commit -m "Deine Commit-Message" angewiesen ist. Das ist mir persönlich direkt unangenehm aufgefallen, nachdem ich herausgefunden habe, wie das mit Github funktioniert.

Geil finde ich das schon mit der Konsole im Browser. Und der IDE. Und überhaupt läuft das Gerät ja auch mit einem Javascript-Server (Node.JS). Sowas nettes für lokales arbeiten. Das wärs.

Interessante JavaScript Details

Etwas gebasteltes mit JavaScript brachte mich gestern zum verzweifeln:

xy = parseInt( 'asd' );
alert( xy ); // NaN
alert( typeof( xy ) ); // number - WTF?
if( xy == NaN ) { alert('NaN') }; // nothing
if( xy == 'NaN' ) { alert('NaN') }; // nothing

Richtige Lösung:

if( isNaN( xy ) ) { alert('NaN') }; // NaN

Dann muss ich aber den Typeconvert immer noch machen. Vorher oder nachher is eigentlich wurst, aber ich kann den convert ja in den (oben optionalen) else-Zweig packen oder performancemäßig auf

if( !isNaN( xy ) ) { z = parseInt( xy ); };

umstellen. Allerdings gibts hier dann natürlich wieder andere Dinge, z.B. sollte z vorher initialisiert sein…

WordPress Archive Plugin veröffentlicht

Gerade eben habe ich das WordPress Archive Chart Plugin in das WordPress Repository hochgeladen. Dazu benutze ich das famose git-svn um mein Github, mein lokales und das SVN von WordPress zu bedienen.

An dieser Stelle dank an meinen Kollegen Alex, der neulich git-svn vorgestellt hat, und an die folgenden Links, die mir praktischerweise weitergeholfen haben: „Using plugins.svn.wordpress.org with Git“ und „git und WordPress-Entwicklung„.

„WordPress Archive Plugin veröffentlicht“ weiterlesen