Am Rande notiert ...

RubyMotion – Ruby for iOS. Da mich  MacRuby schon interessiert, klingt das hier auch gut – direkt für iOS programmieren in Ruby. Allerdings gibt es keine freie Version, das schränkt das Ausprobieren dann doch ein bischen ein. Ausserdem ist da nix in einer IDE, das ist Kommandozeile pur. Was zwar ein Vorteil sein kann, aber z.B. für Debugging auch ein echter Nachteil.

Mojolicious – Perl real-time web framework. Du hattest ein Problem, du hast Perl genommen. Jetzt hast du zwei Probleme und einen Haufen scharfkantige Klammern, an denen du dich verletzen kannst. Spaß beiseite: nett zu sehen, dass Perl immer noch nicht nur aktiv, sondern auch modern aktiv ist im Web-Umfeld. Immerhin hat Perl ja mal den Standard in dem Bereich gesetzt.

RavenDB – 2nd generation document database. Geblogmarkt weil ich mir das mal in der nicht zu fernen Zukunft angucken will. Klingt von den Features her recht interessant und ist vielleicht für das eine oder andere Projekt, über das ich zur Zeit nachdenke, brauchbar.

JSIL – .NET to JavaScript compiler. Keine Ahnung, ob ich das schon hatte, aber es ist eines dieser verrückten Projekte die man ruhig zweimal linken kann. Da wird wirklich der .NET IL Code übersetzt – man kann also Programme im Browser laufen lassen, die eigentlich nicht wirklich dafür gedacht waren. Zum Beispiel soll ein Teil von XNA laufen, so dass man Spiele im Browser laufen lassen kann, die eigentlich für die XBox sind.

Amazon.com: Send to Kindle for Mac. Könnte ganz nett sein, um die diversen Online-Dokumentationen einfach auf den Kindle zu „drucken“ und dort gemütlich zu lesen. Ausserdem landen sie dann potentiell auch gleich auf dem iPhone für unterwegs …

the { buckblogs :here }: Maze Generation: Ellers Algorithm. Labyrinthalgorithmen faszinieren mich schon seit meiner Jugend, aber der hier war mir neu. Er generiert perfekte Labyrinthe Zeilenweise, ohne Trackback oder Rekursionen, mit einer Laufzeit linear abhängig von der Größe des Labyrinthes. Ziemlich genial das ganze.

jQuery Masonry. Alternative zu BlocksIt. Auch mal angucken. Schiebt Blöcke sogar etwas aggressiver, ordnet auch die Reihenfolge notfalls um.

BlocksIt.js – Dynamic Grid Layout jQuery Plugin. Drin was dran steht. Klingt ganz interessant, muss ich mir mal angucken.

Kronuz/SublimeCodeIntel. CodeIndel ist eine Portierung der Komodo-Code-Intelligence nach SublimeText2. Damit kann man dann ST2 schon fast als IDE bezeichnen.

Cubism.js. So viele Projekte, so wenig Zeit. Aber mal geblogmarkt, wenn ich mal in der nächsten Zukunft mit Zeitreihenvisualisierung zu tun habe, denn dafür sieht das richtig gut aus.

jlongster/dcpu-lisp. Warum das cool ist? Nun ja, Notch hat ein neues Spiel in der Mache – sowas wie Elite mit integriertem Hacken. Und das Hacken passiert auf einer 16bit CPU die an einen 6502 angelehnt ist. Und jetzt bauen alle möglichen Leute Code für diese CPU. Unter anderem eben hier einen Lisp-Compiler.

Subrepository – Mercurial. Schon peinlich, was man so immer mal wieder entdeckt und feststellt, dass man es eigentlich schon lange nutzen sollte, aber nicht macht. Besonders der Tipp mit dem „shallow main repository“ klingt gut, das könnte einige der Organisationen meiner Projekte vereinfachen. Bisher habe ich Subrepositories eben genau wegen der festen Verbindung des großen Hauptprojektes mit den Library-Projekten verworfen, da ich für verschiedene Umgebungen komplett verschiedene external Branches (sprich: Repositories) benutze und ich z.B. eben nicht meine Abhängigkeiten auf die Wartungsumgebung in die Produktion pushen möchte. Mit einem shallow Main Repository pro Umgebung hingegen könnte ich sauber trennen zwischen den Beziehungen und trotzdem an zentraler Stelle dokumentieren, wie sich die Abhängigkeiten der verschiedenen Repositories darstellen. Und ja, das ganze hier ist jetzt nur eine Notiz für mich selber, wer es nicht versteht, einfach ignorieren, kommen bestimmt bald wieder bunte Bilder.

645 PRO app for iPhone offers access to lossless camera output but not Raw. Klingt ganz interessant, aber nicht so sehr wegen des Pseudo-RAW – da werden nicht wirklich so riesige Unterschiede sein – sondern wegen des User-Interfaces, denn das ist deutlich näher an einer normalen Kamera angelehnt und spuckt auch ein paar mehr Informationen raus. Laut Kommentaren saugt es aber dann doch die Batterie ziemlich fix leer.

ThinkUp: Social Media Insights Platform. Das will ich mir definitiv angucken – ein Tool, das die eigenen sozialen Aktivitäten (naja, so sozial sind die ja manchmal nicht) sammelt über die diversen APIs und zusammenführt. Und zwar in einer selbst gehosteten Datenbank. Unterstützt Twitter, Facebook und Google+ und wertet die Datensammlung nach verschiedenen Kriterien aus. Und mit Social Timeline gibt es dann ein Tool zur Darstellung als Timeline, die man ins eigene Blog einbauen könnte. Das könnte sogar eine deutlich angenehmere Variante sein, als alle Posts aus den sozialen Netzen in das eigene Blog zu importieren.

Google+ Importer for WordPress » Sutherland Boswell. Überlege gerade, ob ich das nicht vielleicht mal einbauen will – dadurch werden automatisch die öffentlichen Google+ Postings importiert. Müsste ich dann zwar warscheinlich etwas anpassen, um Asides aus den Postings zu machen, aber das sollte nicht so kompliziert sein. Vielleicht kann es das Tool  ja auch schon direkt. Die Frage ist nur, ob es viel Sinn macht, die Posts von Google+ rüberzuholen – speziell bei den Bilderposts hole ich die ja sowieso später und spiegel die in meinen Mediadaten. Aber die Text-only Posts würden dann auch hier landen, was vielleicht ganz sinnvoll sein könnte. Muss ich wohl noch ein paar mal drüber schlafen.

Mozilla Archive Format, with MHT and Faithful Save :: Add-ons für Firefox. Heute gefragt worden nach sowas, mein Stand war dann etwas älter, daher nochmal gegoogelt und das hier scheint die derzeit interessanteste Erweiterung zu sein, um komplette Seiten zu speichern (incl. Bildern und Styles und JS). Praktisch z.B. wenn man für Präsentationen sich einen Dummy zusammenbauen will.

pycounters. Muss ich mir mal angucken, damit kann man recht einfach Counter in ein Projekt integrieren, die Daten über z.B. Funktionsaufrufe oder ähnliches liefern – im Prinzip sowas wie die Windows Performancecounter, nur eben für Python-Projekte.

Parlament: Fraktionen wollen Rederecht im Bundestag beschneiden. Wann wird das Pack endlich vom Verfassungsschutz überwacht? Denn das ist ein erstklassiger Angriff auf das Grundgesetz. Da gibt es nämlich keine Fraktionen, keinen Fraktionszwang und keine Rederechtbeschränkung für Abgeordnete mit eigener Meinung – im Grundgesetz gibt es nur freie Abgeordnete. Und da wundern sich die Prolethiker in Berlin noch über Politikverdrossenheit. Ein Hoch auf Lammert, der wenigstens in diesem Zirkus der Dummbräsigkeit versucht sich dagegen zu stemmen.

virtualenv-clone 0.2.2 : Python Package Index. Noch nicht ausprobiert, aber nach Beschreibung kopiert es virtualenv Environments und repariert Import-Pfade, Egg-Files und .pth Inhalte sowie Scripte. Und soll vollständiger arbeiten als die relocatable virtualenvs.

Introducing Pivot.js. Hmm, definitiv mal angucken, Pivot sieht ganz nett aus, simples API und interessante Möglichkeiten. Ich hab da so ein Projekt auf der Arbeit, das könnte einige Reporting-Features gut gebrauchen. Und Offloading auf den Client ist manchmal eine durchaus gute Idee.

uWSGI. Hatte ich scheinbar noch nicht – ein Kollege hat mich gerade darauf hingewiesen. Könnte besonders für Django-Projekte interessant sein, weil es wesentlich flexiblere Prozesssteuerung und Monitoring bietet als der flup-basierte runfcgi in Django.

abique/tmfs. Mal geblogmarkt, könnte hilfreich werden irgendwann – ein user-space Filesystem für Time Machine Backups unter Linux.

Offener Brief an die Contentindustrie. Der Schockwellenreiter empfiehlt es und ich kann nur zustimmen: lesen lohnt sich. Das ist mal ein wirklich runder Rant gegen diese erbärmlichen „Contentproduzenten“, die sich in offenen Briefen zu herabwürdigenden Tiraden gegen und Lügen über die Netzgemeinde aufstellen lassen.

the unbearable finality of pixel space. Das dort verlinkte Archivierungstool für Flickr hab ich mal ausprobiert und es läuft richtig gut. Da verzeihe ich auch mal das PHP. Ich hab zwar die Flickr-Bilder auch immer mal wieder hier ins Blog geschoben (die „Neulich auf Flickr“ Posts), aber der Vorteil dieses Backup-Scriptes ist, dass die Struktur und sogar die Flickr Zugriffsrechte erhalten bleiben. Leider werden derzeit Alben und Sets noch nicht mit gesichert, sondern nur der Photostream. Und das Layout ist sehr spartanisch. Aber vielleicht wäre das ein Kandidat um mal mit Bootstrap 2.0 zu spielen und das ganze mal etwas aufzupeppen.

flatiron/plates. Eine interessante JavaScript Templating Engine, die einen etwas anderen Ansatz wählt als viele andere – es gibt keine eigene Template-Sprache, sondern nur HTML und JavaScript. Jegliche Logik ist im JavaScript und jegliche Struktur in HTML und beide sind recht stark getrennt. Anstelle einer Template-Sprache gibt es Funktionen zur genauen Spezifikation welche Elemente im HTML wie verändert werden sollen.

RQ: Documentation. Hmm, python-job-queue auf Redis-Basis mit einem recht simplen Interface. Könnte eine interessante Alternative zu Celery sein.

Kenko extensions tube with full electronic control!. Woopdidoo. Ok, Extension-Tubes sind nicht das Optimum an Performance, aber trotzdem durchaus interessant, da sie einen recht einfachen und in der Regel kostengünstigen Weg zu besseren Makrofähigkeiten darstellen.

iphone – What happens to JavaScript code after app is compiled using Titanium Mobile – Stack Overflow. Interessierte mich auch, die Frage, daher mal hier geblogmarked. Ganz interessant, was da passiert, geht deutlich weiter als z.B. was PhoneGap macht.

Titanium Desktop – Node.js Prototype « Appcelerator Developer Center. Titanium steht ja sowieso auf der Liste zu testender Sachen drauf, weil es neben PhoneGap ja einer der Wege ist, wie man JS+HTML Code zu Apps und Desktop-Anwendungen machen kann. Und hier zeigt einer der Developer, wie man einen node-Server in den Desktop integrieren kann. Wäre auch noch mal recht interessant, wobei das wohl nicht unbedingt dann auch mit iOS und Android läuft (denn dort ist man ja zwingend auf die vom System zur Verfügung gestellte JS Engine im Browser-Widget eingeschränkt, wenn man dynamischen Code von außen laden will).

Embedding and running Node.js within a Firefox XUL extension. Schon beeindruckend, was man mit Firefox und dessen Infrastruktur so alles machen kann. Theoretisch müsste man das auch so umbauen können, dass diese Erweiterung nur in einem single-site-browser läuft, der dann direkt die Homepage des eingebetteten Servers öffnet und so sich Desktop-Anwendungen in JavaScript bauen können, die komplett autonom sind (und wer sich drüber wundert, warum ich diese ganzen JS-auf-Desktop Sachen sammel: damit könnte man mit Hilfe von Phonegap und etwas Glue dann nicht nur Apps für iOS und Android bauen, sondern mit gleichem Code auch Desktop-Anwendungen).