Am Rande notiert ...

jsPlumb für alle, die Diagramme darstellen wollen (also vernetzte Graphen von Objekten) und an denen rumzuppeln müssen, um sie besser zu sehen oder zu strukturieren. Oder einfach nur weils witzig ist und cool.

Paper.js ist eine Grafikengine für das Canvas Element. Sieht alles sehr nett aus und hat eine Menge Features. Schon beeindruckend was man alles mit JavaScript im Browser anstellen kann – und das hier könnte im Gegensatz zum bootenden Linux sogar recht interessant für Projekte sein. Das ganze kommt aus dem Illustrator Umfeld und orientiert sich an Scriptographer, einem Plugin für Illustrator mit dem man dort Grafikelemente in JavaScript programmieren kann.

DocumentClouds VisualSearch.js. Interessante JavaScript Library die ein recht mächtiges Suchfeld realisiert – man kann nach normalen Texten suchen oder nach Facetten der Daten (also spezifische Felder wie Titel oder Autor) mit automatischer Vervollständigung bei diesen Feldern. Das ist gerade für Dokumentensuche in teilstrukturierten Datenmengen interessant und die Darstellung im Browser ist nett gemacht. Guter Kompromiss für Suchfelder in die man eben nicht nur einfache Textsuchen ala Google reinhauen will, sondern unter Umständen eben auch Eingrenzungen auf Metadaten, ohne dass der Benutzer alle Optionen für Metadaten auswendig wissen muss in ihrer exakten Syntax.

traits.js – Traits for Javascript. Interessantes Experiment für JavaScript – Traits bieten bessere Komposition als klassische Klassen und mehr Struktur als JavaScripts Prototype-OO – und hier werden die Features von Traits gut auf die vorhandenen JavaScript Features abgebildet (z.B. werden Objekte über Closures abgebildet). Nachteil wie bei allen solchen Spracherweiterungen ist natürlich, dass man in der Regel zwar selber damit arbeiten kann, aber eben andere Bibliotheken sie nicht nutzen und damit der Vorteil bei stark auf Fremdbibliotheken aufbauenden Projekten eher minimal ist.

Mozilla Firefox Add-on Builder and SDK – zum Erstellen von Erweiterungen mit HTML5, CSS und JavaScript. Der Builder ist eine Web-basierte IDE und das SDK liefert einen ganzen Stapel von APIs zur Programmierung von Erweiterungen.

Skulpt. Eine Python-Implementierung in JavaScript, Client-Side. Also im Browser. Nett der Hinweis, man solle garnicht erst probieren den Server zu crashen, man würde nur seinen eigenen Zeh stoßen … (ansonsten ist das aber wohl eines der vielen Projekte „weil es geht“)

JQuery Form Wizard. Interessantes kleines Plugin welches komplexe Formulare über Steps abarbeiten lässt – und die Routen durch das Formular können abhängig von gewählten Daten eines vorherigen Schrittes sein. Zusätzlich werden #-Hacks benutzt, um die Formularschritte in der History auftauchen zu lassen (in dieser Form begrenzt ist das meiner Meinung nach absolut in Ordnung).

Simple JavaScript Applications with CouchDB – CouchApp.org. Interessanter Ansatz: ganze Anwendungen werden in HTML+CSS+JavaScript realisiert und direkt in der CouchDB gespeichert, persistieren ihre Daten ebenfalls in der CouchDB. Erinnert mich ein bischen an Frontier, nur dass eben hier CouchDB und JavaScript anstelle der Frontier Roots und UserScript eingesetzt werden. Der große Vorteil: wenn die Anwendung tatsächlich mit den eingesetzten Elementen auskommt, erhält man die leichte Skalierbarkeit sozusagen kostenlos dazu – denn CouchDB lässt sich leicht durch Starten mehrerer Instanzen skalieren. Klarer was es bedeutet wird es vielleich in diesem Tutorial.

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.

hij1nx/SugarSkull – GitHub. Weil ich letztens schon mal single-page JavaScript apps (ein Beispiel für diesen Typ Anwendung wäre TiddlyWiki) hatte: das hier ist eine einfache Library, die keine Voraussetzungen hat, mit der man einfaches Parsing und automatischen Funktionsstart für hash-routes bauen kann. Also im Prinzip sowas wie der Django URL Handler, nur eben in JavaScript und rein auf dem Client.

Single Page Apps with Node.js. – blog.nodejitsu.com – scaling node.js applications one callback at a time.. ein paar interessante Projekte gelinkt von dem Artikel, die für Webanwendungen die in einer einzigen HTML-Seite leben interessant sind. Mal für später weggeblogmarkt.

Roundabout for jQuery by Fred LeBlanc. Netter Effekt, auch wenn ich im Moment nicht so genau wüsste, wofür ich ihn bräuchte (ok, man könnte es zur Anzeige von Bildern nutzen, aber ich persönlich ziehe da dann doch Lightbox oder ähnliches vor). Vermutlich ist es einfach nur ein Gimmick, aber manchmal ist sowas ja auch ganz brauchbar.

QuickSilver Network. Hmm, hatte ich das schon? Egal, ist cool. Und zwar ist es eine Smalltalk-ähnliche Entwicklungsumgebung, aber mit JavaScript als Sprache und im Webbrowser anstatt in einer Anwendung. Allerdings alles noch sehr roh und einige der Sachen tun nicht so richtig (zumindestens im Safari), aber irgendwie trotzdem nett. Irgendwie könnte ich mir jetzt vorstellen, dass jemand das mit TiddlyWiki verheiratet (für die Persistenz) und dann daraus ein JavaScript Imagesystem ala alten Smalltalk-Systemen machen könnte, nur halt im Web. Wäre irgendwie witzig. Sinnlos, aber witzig.

Javascript PC Emulator – Technical Notes. Ja, ein PC Emulator. Basiert auf QEmu, also durchaus ausgereifter Code. Bootet Linux im Browser. Weils geht.

jQuery: » jQuery 1.6 Released. Apropos jQuery – neue Version ist raus. Diese .attr vs. .prop Änderung finde ich persönlich irgendwie ungut – sie könnte mich an ein paar Stellen beißen, wo ich direkt mit Input-Feldern arbeite (diverser Widget-Code in einer recht heftigen Django-Anwendung). Schön natürlich, dass es schneller wird – schneller ist fast immer gut.

stanlemon.net : jgrowl. unbedingt mal angucken, denn unsere handgestrickten Notifications sind einfach nicht so schick und stabil. jGrowl macht da einen deutlich netteren Eindruck, und als jQuery Plugin sollte es auch mit unserer jQuery Codebase nicht kollidieren.

spock – The Chicken Scheme wiki. Wem Dylan auf JavaScript nicht passt, wie wäre es mit Scheme? Interessant hieran ist die Verbindung zu Chicken Scheme – chicken scheme ist eine der interessanteren Scheme-Implementierungen der letzten Zeit die sich speziell der Integration in normale Systemumgebungen widmet (FFI und einfaches Linken mit C-Libs), von daher lässt das auch ein bischen was von Spock in Bezug auf JavaScript erwarten. Und die dokumentierten Funktionen schauen auch schon recht gut aus – nicht einfach nur eine Spielzeugimplementierung, sondern scheinbar schon eine Menge von Funktionalität.

turbolent/ralph. Und wem dann unter Flusspferd das JavaScript zu blöd wird, der kann ja einfach Ralph installieren und hat dann ein Dylan-ähnliches Lisp, das seine Funktionsdefinitionen nach JavaScript compiliert. Warum auch immer man das wollen würde, vielleicht einfach nur weil es geht.

Flusspferd – CommonJS platform | Javascript bindings for C++. Für diejenigen, die mal mit JavaScript ganz ausserhalb der Client-Welt spielen wollen ist Flusspferd vielleicht interessant. Das ist eine REPL für JavaScript und diverse JavaScript-Bibliotheken (die sich an CommonJS orientieren).

PDP-11 emulator. In JavaScript. Führt Unix System 6 aus. Ja, so richtig so mit Plattenzugriff und all den bekannten Programmen von damals. Weil es noch nicht genug seltsame Sachen gibt.

Evolutie test. Evolutionärer Algorithmus in JavaScript mit Visualisierung in processing.js – gestartet wird mit einem zufälligen String, die Evolutionsfunktion ist die Edit-Distanz zum Zielstring und die Evolution ist halt das was dabei passiert – die Visualisierung zeigt die Streuung und die Konvergenz zum eingegebenen Zielstring.

visionmedia/asset. Nachdem ich schon pip (für Python Module) und jip (für Java-Libraries) hatte, hier ein analoges Werkzeug für JavaScript Bibliotheken. Also zur automatischen Installation von JavaScript-Libraries in node.js Projektverzeichnisse von der Kommandozeile aus.

jRumble | A jQuery Plugin That Rumbles Elements. Das neue Blink-Tag! (okok, gibt durchaus sinnvolle Anwendungen, z.B. wenn man ein Element auf der Webseite kurz anzeigen lassen will, dass dort was passiert ist – analog zu hüpfenden Icons im OSX Dock).

JavaScript Quotations – interessanter Link über ein Metaprogramming-Feature für JavaScript. In diesem Fall für eine sehr interessante JavaScript-Implementierung: in F# geschrieben und für die CLR Welt, lauffähig unter .NET und Mono.

Why Cloud9 Deserves your Attention – browserbasierte IDE in Javascript auf Server und Client. Und Source der aktuellen Version auf github verfügbar.

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.

balupton/history.js liefert ein API zum Zugriff auf die HTML5 Historymanipulation, aber gleichzeitig unterstützt es auch alte Browser und macht da dann diese hässliche # Notation – aber eben nur dann, wenn HTML5 nicht verfügbar ist. Könnte für ein Projekt bei mir recht interessant sein.

Naked Password – jQuery Plugin to Encourage Stronger Passwords. Ja, das ist das, was draufsteht. Das Internet ist sehr, sehr seltsam.

JSSpeccy: A ZX Spectrum emulator in Javascript. Weils geht.

JSTalk ist ein JavaScript-Editor mit integrierter Runtime. Und Preprozessor um JavaScript eine Objective-C ähnliche Syntax für den Zugriff auf Objective-C Klassen zu geben. Und einer Bridge zu Objective-C darunter. Im Prinzip sowas wie FScript, nur eben JavaScript. Kann auch zum Scripten von Anwendungen benutzt werden anstelle von AppleScript. Oder einfach nur zum Rumspielen mit Cocoa-APIs. Irgendwie ziemlich cool, auch wenn es erstmal ganz unscheinbar daherkommt.