Am Rande notiert ...

Offline Web Applications – Dive Into HTML5. War beim ersten Durchgucken irgendwie besser beschrieben als in anderen Quellen die ich bisher gelesen habe. Von daher mal geblogmarkt.

Social Opt In « WordPress Plugins. Evtl. interessant – Heise bereitet den eigenen Code ja erst vor, aber das hier klingt so, als ob es eine Alternative wäre. Oder man nimmt das hier als Basis und  mischt dann den Heise Code rein, wenn er fertig ist (der sieht nämlich in der Nutzung echt brauchbar aus und hat sicherlich den Vorteil, dass Facebook wesentlich eher bereit ist sowas von Heise zu akzeptieren).

Cross-domain communications with JSONP, Part 1: Combine JSONP and jQuery to quickly build powerful mashups. Weil ich es gerade für einen Kollegen brauchte und daher danach gesucht hab, dann gleich mal blogmarken. jsonp ist im Prinzp einfach eine Konvention für JSON-Dienste die auf einen Parameter callback= damit reagieren, dass sie das generierte JSON einfach als Parameter an einen Funktionsaufruf geben und als Funktionsnamen den Inhalt des callback-Parameters einsetzen. Dadurch sind die Daten auch aus anderen Domains abrufbar als der, aus der das eigentliche Script kommt – normales AJAX verbietet das ja.

Installable Web Apps – Google Code. Da gibts etwas Hintergrund dazu wie man Webanwendungen zu installierbaren Webanwendungen oder hosted Apps umbauen kann. Damit kann man dann den Chrome als Runtime für Anwendungen benutzen, die vom Verhalten schon verdammt nah an normale Anwendunge sind – Amazons Online Kindle zeigt das sehr gut. Programmiert wird halt in JavaScript, aber das hat ja auch wesentlich weniger Schrecken als noch vor ein paar Jahren. Als Packaged Apps kann man dann auch all das machen, was Chrome Extensions können (und kann damit auch nochmal über den Umfang von normalen Webanwendungen hinaus).

Map Tunneling Tool. Cool – man kann in einer Karte eingeben wo man ist und auf der anderen wird dann der Gegenpol auf der Erde angezeigt. Wir liegen damit ziemlich im Südpazifik, südöstlich von Neuseeland. Spanien hats gut, die kommen direkt in Neuseeland raus.

wsgi_lite. Da ich ab und zu mal „roh“ gegen WSGI programmiere nicht ganz uninteressant für mich – ein verschlanktes WSGI, welches simplere Aufrufkonventionen für Middleware und Applikationen definiert und damit einfach den Code noch etwas weiter reduziert. Für ganze Apps bringt es in der Regel nicht so viel wie für Middleware, da man Apps üblicherweise ja mit einem Webframework schreibt und das einem schon diesen ganzen Teil erleichtert.

BuddyPress.org. Gerade mal wieder drüber gestolpert als es um selbst betriebene Social Networks ging. Buddypress läuft irgendwie immer unterm Radar, aber ist eine ziemlich interessante Entwicklung mit allen Features von WordPress – unter anderem also auch allen Login-Integrationen und ähnlichem. Und für BuddyPress gibts dann auch noch eigene Plugins wie zum Beispiel das BuddyPress Media Plugin, mit dem man aus einer BuddyPress Installation sein eigenes Flickr machen kann. Und da gibts noch haufenweise mehr Sachen, bis hin zu kommerziellen Plugins für diverse Zwecke. Und zusätzlich kann man alle WordPress Themes benutzen und darauf aufbauen.

WSGID When your WSGI app becomes a nix daemon. Mongrel2 von Zed Shaw hat mich schon geraume Zeit interessiert, aber das grösste Manko war, dass es nicht viele Python Frameworks gibt, die direkt mit Mongrel2 arbeiten. wsgid löst das Problem, es ist ein WSGI Server für Mongrel2 und kann damit dann Frameworks ankoppeln, die unter WSGI laufen können – zum Beispiel ist damit Mongrel2 als HTTP Server für eine verteilte Django-Installation benutzbar. Durch den Einsatz von ZeroMQ bei Mongrel2 ist das ganze dann deutlich flexibler strukturierbar als mit den klassischen (FCGI basierten) Serverintegrationen.

Typekit. Ich bin ja immer noch am Rumforschen über Webfonts und deren einfachen Einsatz in verschiedenen Situationen, speziell auch der Suche nach brauchbaren Fonts. Typekit sieht dabei ganz interessant aus, deren freies Angebot ist zwar ein bischen eingeschränkt, aber die Preise für die größeren Pakete sind nicht völlig utopisch – zumindestens wenn deren Behauptung einer effizienten Auslieferung der Fonts über HTTP auch wirklich der Realität standhält. Im Prinzip mietet man die Fonts für die Nutzung anstelle sie zu kaufen und selber zu hosten. Für WordPress gibt es da eine Reihe Plugins, dieses hier von OM4 scheint auch aktuell gepflegt zu sein.

Google Plus RSS Feeds. Interessanter Post, nicht offiziell von Google, aber eine nette kleine App mit der man seinen Stream per RSS abgreifen kann. Damit und mit Twitterfeed kann man dann seine Google+ Posts nach Twitter oder Facebook schieben.

Google+. Hab jetzt auch so ein lustiges Spielzeugdingens. Allerdings noch nicht so richtig die Idee, wofür ich das brauche. Was gefällt ist die schon recht gute Integration mit anderen Google Diensten, obwohl ich mich schon wundere, dass ich aus dem Google Reader nicht meine Empfehlungen automatisch nach Google+ laufen lassen kann. Oder das ich nicht einen einfachen RSS Feed nach Goolge+ importieren kann für automatische Posts. Schaun mer mal wie sich das entwickelt. Den Aufbau für das gezielte Sharing mit verschiedenen Empfängergruppen find ich jedenfalls schon mal deutlich durchdachter als das seltsame Zeug bei Facebook.

django-gae2django – Django-based implementation of App Engine APIs – Google Project Hosting.  Müsste ich mir mal angucken – damit kann man AppEngine Programme auf eigenen Servern laufen lassen, die dann auf Django basieren (die AppEngine-APIs werden also über Django-Mittel nachgebildet). Sicherlich besser als direkt den AppEngine Dev-Server zu benutzen.

Cloud9 meets Bitbucket – Cloud9 IDEs Posterous. Das ist nett, denn Mercurial ist mein bevorzugtes Versionierungstool und Cloud9 kann es jetzt direkt unterstützen – und damit dann auch auf Bitbucket-Projekte zugreifen. Wird immer interessanter.

cloud9 ist die Software hinter Cloud9ide.com – einer IDE, die komplett im Browser läuft und in JavaScript auf Basis von Node.js programmiert ist. Ein interessantes Projekt, in der aktuellen Version wird auch ein Offline-Modus angeboten, man kann also problemlos Projekte über den Browser auf seinem Server bearbeiten und im Offline-Fall (im Zug oder in WLAN-spartanischen Hotels im Schwabenland) dann lokal weiterarbeiten und später wieder resynchronisieren. Ich selbst bin ja IDE-inkompatibel, aber Programmierung im Browser fasziniert mich schon seit vielen Jahren, einfach weil man darüber von überall an seine Projekte rankommt, auch ohne seinen eigenen Rechner dabei zu haben. Falls ich es mir mal näher angucken will, jemand hat für Ubuntu eine Installationsanleitung geschrieben. Unterstützung für iOS Geräte ist auch schon in der Mache – also könnte das auch ein netter Weg sein an seine eigenen Projekte per iPad dranzukommen von unterwegs.

Spring cleaning for some of our APIs – The official Google Code blog. Guter Beleg dafür, warum Cloud-Dienste schlichtweg eine dumme Idee sind als Basis für Projekte die irgendeine höhere Bedeutung als „rumspielen“ haben. Der Anbieter dieser Cloud-Dienste und APIs kann diese nämlich einfach jederzeit einstampfen – und Google zeigt mal wieder wie man einer größeren Menge von Developern mit sowas ans Bein pinkeln kann. Ich kann da nur aus einem der Kommentare zitieren: Warum sollen wir überhaupt jemals wieder irgendein API von Google benutzen?

Cloud Foundry – Make it Yours!. Interessantes Projekt zum Aufbau einer auf Ruby aufbauenden Cloud-Plattform. Der Source ist frei auf Github zu finden. CloudFoundry ist wohl das, was unter ActiveState Stackato läuft (bei denen dann Perl und Python unterstützt werden). So eine private Cloud kann auch für eigene Projekte ganz interessant sein, weil man dann zu Hause oder unterwegs lokal entwickelt und der Deploy auf den eigenen Rootserver simpel und einfach ist. Irgendwann will ich mir sowas glaub ich mal einrichten (zur Zeit wird bei mir jeder Service wieder individuell eingerichtet, das ist auf Dauer durchaus nervig).

TiddlySpace/tiddlyspace. Und weil ich gerade TiddlyWiki interessant finde: das Projekt hier ist ein Hostingprojekt für TiddlyWikis, die dort mit Benutzern verknüpft werden können und untereinander vernetzt werden können – klingt nach einer interessanten Plattform für Zusammenarbeit an Projekten zum Beispiel (also Projekte bei denen es nicht um Code geht – dafür gibts ja Github und Bitbucket). TiddlySpace ist auch eine direkte Plattform auf der man sich anmelden kann, oder man greift sich hier einfach deren Opensource Projekt und hostet eben selber.

Read the Docs. Kannte ich noch garnicht – ein Webdienst wo man verschiedenste Dokumentationen über eine einheitliche Oberfläche lesen kann. Und seine Dokumentationen für Projekte hosten kann. Und auch gleich verschiedene Versionen von Dokumentationen zu Projekten.

App Engine Go Overview. Ehrlich gesagt fänd ich es ja spannender wenn Google mal vom veralteten  Python 2.5 wegkäme. Aber nunja, statt Python 2.7 oder einer JVM Sprache kann man jetzt mit Go die AppEngine programmieren. Gleichzeitig haben sich aber Preise und Bedingungen geändert, wär also wohl besser erstmal zu gucken ob es sich überhaupt lohnt. Go kann man nämlich auch genauso gut auf seinem eigenen Root Server benutzen …

ifttt / About ifttt. Klingt interessant: ein einfacher Event-Aktion-Mechanismus im Web, der verschiedene Channel (Facebook, Twitter, Email und so weiter) mit Aktionen verbinden kann – z.B. einen Tweet erzeugen wenn jemand dich auf Facebook in einem Bild tagged oder sowas. Wobei man da wahrscheinlich bei einigen Diensten seine Login-Daten herausgeben muss, was man nicht unbedingt für jeden Dienst tun sollte … (noch Beta, Zugang nur nach Einladung) – ein paar mehr Details zu der Motivation und den Ideen dahinter auf dem Blog zu IfThisThenThat.

philikon / python-weave client ist fast noch interessanter als das andere Tool: eine Python-Bibliothek zum Zugriff auf Mozilla Sync. Damit könnte ich mir diverse kleine Tools bauen, die Links automatisch in Bookmarks einmischen oder aus dem Sync rausholen und in andere Bookmarkdateien reinwandern lassen. Oder wie wäre es mit einem Cronjob, der aus den Bookmarks aus einer speziellen Gruppe Links rausnimmt und automatisch ins Weblog postet? Lauter lustige Spielereien sind möglich …

Adobe Photoshop Lightroom 3 * Exporting using Publish Services. Tja, Adobe hat Photoshop.com – und gerade erst dieses ausgeweitet. Und propagiert es als eine bessere Alternative zu Flickr. Wie ernst es Adobe damit ist, sieht man an den Publish Services in Lightroom 3. Es werden von Hause aus Facebook, Flickr und SmugMug angeboten. Selbst auf der Lightroom Exchange habe ich nichts zur Anbindung von Photoshop.com gefunden. Klasse gemacht, Adobe. Voll glaubhaft.

Instagram hat jetzt offizielle APIs. Ist ganz an mir vorbeigegangen. Damit könnte ich vielleicht auf Dauer mal an Tumblr vorbei kommen um meine Instagram-Bilder in die Seitenleiste zu bekommen. Andererseits tuts Tumblr in letzter Zeit ganz gut und warum was funktionierendes ändern (der Fluch jeglicher Weiterentwicklung – good enough).

HowTo: Using Radio2. Tja, ok, ich verstehe seine Motivation. Aber nunja – ich klicke auf das „Press This“ Bookmarklet vo WordPress und schreibe einen Satz – das Bookmarklet-Formular hab ich mit JavaScript angepasst und Custom Post Types (in diesem Fall Aside) macht den Rest. Und oben hab ich schon ein Linkblog – und einen eigenen Feed hat es auch. Und schnell ist das ganze ebenfalls, Enclosures sind auch fix machbar und Tagging geht auch gleich. Sorry, Dave, aber irgendwie hab ich das alles schon! Update: hab einfach mal einen Twitter-Account eingerichtet und schiebe da jetzt neue Posts rein. Mal gucken was so draus wird.

Re: Factor: Google Charts – ich sollte wirklich mehr mit factor machen, immer wenn ich wieder mal sehe wie praktisch eine visuelle repl ist (in Factor können auch grafische Repräsentationen von Objekten eingebettet werden in die normalen Ausgaben, ähnlich wie bei alten Lispmaschinen) reizt es mich.

consistency and ecosystem opportunities – Twitter API Announcements ist eine Mail mit der Twitter so ziemlich jeglichen Boden der Realität verlässt. Zur Erinnerung: Twitter ist dieser putzige Dienst auf den man 140 Zeichen Nachrichten scchicken kann – und ich red das garnicht lächerlich, es ist oft ganz praktisch dort zu suchen wenn aktuell was los ist. Aber wenn ich dann diese Moppelkotze über „prevent diffusion of user experience“ und anderes Bullshit Bingo in der Mail lese kann ich mich nur noch fragen welches Kraut die rauchen. Real steht dahinter wohl eher der Versuch die Plattform dicht zu ziehen um sie stärker zu kontrolieren und auszuschlachten – z.B. der Aufruhr über diesenn absurde Dickbar in Twitter hat da wohl leichte Panik bei Twitter ausgelöst. Denn wenn alle User vom offiziellen Client weg gehen, guckt sich keiner mehr die gekauften Trends an …

jsFiddle ist ein sehr nett gemachter Online-Editor für Javascript, HTML und CSS. Es werden verschiedene Javascript-Frameworks unterstützt und es gibt die Möglichkeit Snippets zu speichern und mit anderen zu diskutieren. Progressing.js steht auch zur Verfügung, genauso wie eine Reihe von Tools um sie auf den Code loszulassen. Für Experimente recht cool.

WordPress JSON API. Keine Ahnung ob ich das jetzt wirklich brauche, aber es könnte sich irgendwann mal als nützlich erweisen – die XMLRPC oder Atom APIs sind doch relativ umständlich wenn man nur per JavaScript mal fix auf Daten aus dem Blog zugreifen will.

About Dirigible – für all die, die ein Spreadsheet in der Wolke wollen, aber nicht wie bei Google Docs mit JavaScript programmieren wollen, sondern mit Python. Als selbstgehostete Lösung fänd ich es ja richtig klasse, speziell wegen der dort beschriebenen einfachen Verknüpfung von Spreadsheets über Servergrenzen.

emscripten – Project Hosting on Google Code. Und das ist das Tool, mit dem Python in den Browser/Server gebracht wurde. Es wandelt LLVM Bitcode nach JavaScript um und ermöglicht eine Reihe von interessanten Spielereien.