LR/Blog – Export directly from Lightroom 2 to your Blog!. Hatte ich komischerweise noch nicht, aber jetzt hab ichs. Damit kann man Fotos direkt in die Medialibrary in Wordpress exportieren um sie dann in Posts zu benutzen. Könnte mir in den Fällen helfen wo ich nicht den Umweg über Flickr machen will.
Archiv 23.5.2011 - 20.6.2011
What Is Inside A Cat. Ein sehr interessantes Dokument, das die Implementierung von Wraith Scheme sehr detailliert beschreibt, speziell auch die Implementierung der parallelen Prozesse.
SparkleShare - Sharing work made easy. Mal geblogmarkt, denn das sieht erstmal recht vielversprechend aus - als Server kommt einfach ein Git zum Einsatz. Leider scheinbar grundsätzlich nur ssh basiertes Git, nicht https, zumindestens sehe ich in den Docs nichts dazu - https wäre universeller (auch wenn dann natürlich Passwörter abgelegt werden müssen). Was noch fehlt ist ein iOS oder Android Client (Android soll wohl in der Mache sein), aber OSX wird schon unterstützt. Sieht so aus als ob hier die größte Aktivität in den Open-Source-Alternativen zu Dropbox stattfindet - allerdings frage ich mich noch, wie sich der Server bei massivem Dateizufügen und Löschen verhält - ich hab ja z.B. die aktuellen Raw-Fotos der letzten Monate in meiner Dropbox. Ein "rohes" Git Repository wächst da ganz schnell ins unermessliche ... (und man muß wohl auch regelmäßige Packs machen, damit z.B. Änderungen an DNG Files das Repository nicht explodieren lassen). Ein kleines Detail am Rande ist noch wichtig: SparkleShare benutzt einen öffentlichen IRC Server für die Synchronisationsmeldungen - also auch bei selbsthosting hängen alle Clients auf diesem Server und tauschen darüber ihre Trigger aus. Sollte man im Hinterkopf behalten, denn sowas wäre ein klassischer Angriffsvektor (und wenn der IRC Server ausfällt, hängt auch das selbstgehostete System). SparkleShare ist aber Open Source, also kann man sicherlich auch da einen eigenen IRC Server einklinken und einfach eigene Pakete nutzen.
Gesundheitsreform: Zahnbehandlungen sollen teuer werden. Klasse Idee, einem der Ärztestände mit den dicksten Einnahmen noch ordentlich was obendrauf zu legen. Weil, ist ja egal wenn man keine Zähne im Maul hat, La Paloma pfeifen geht ja allemal noch. Und Suppe ist eh viel billiger als feste Nahrung.
SONY PRS-505 Firmware-Update + Customizing - MobileRead Forums. Wichtig für die Russifizierung meines alten PRS 505 - danach tuts der jetzt komplett in Russisch und mit russischen eBooks. Und war - nachdem ich es gefunden habe - auch garnicht so kompliziert. Die russischen Menüs kommen erst, wenn man einmal in die Locale-Einstellung gegangen ist. Und den unicode-Font nicht vergessen, damit die Menüs und Bücher überhaupt dargestellt werden können. Und Bücher generell nach LRF konvertieren, nicht nach ePub - aus nicht nachvollziehbaren Gründen zeigt ePub weiterhin Schrott an, wenn man russische Bücher anzeigt. Calibre macht die Konvertierung nach LRF problemlos.
Bundeswehr-Dozent: Plagiator gibt den Doktortitel zurück - wenigstens zickt er nicht so albern rum wie die letzten Fälle (besonders putzig Koch-Mehrin mit ihrer "aber jeder wusste doch schon dass ich abgeschrieben habe" Verteidigung). Aber diese Überlegung, ein aberkannter Doktortitel hätte keine Auswirkung auf die Karriere eines Dozenten finde ich schon etwas seltsam ...
Der Postillon erklärt: Was kann das Nationale Cyber-Abwehrzentrum?. Klasse. Einfach nur klasse. Demnächst kaufen sie sich einen Computer ... (den bezweifel ich aber, warscheinlich wird dessen Anschaffung aus Spargründen gestrichen)
Honeybees Might Have Emotions | Wired Science. Pessimistic bee is pessimistic!
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")
MAXIMA. Nettes Buch mit vielen Beispielen wie man Maxima benutzt. Da der Schockwellenreiter gerade mal wieder von Maxima schrieb und mir die wxMaxima Oberfläche in seinem Post recht gut gefallen hat (und im Gegensatz zu manchen anderen Programmen auch unter OSX ordentlich aussieht), werde ich damit wohl auch mal etwas rumspielen. Ganz besonders, weil es deutlich schlanker ist als Sage (auch wenn das natürlich viel mehr kann, da es noch viele andere Mathepakete integriert).
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).
josevalim/elixir ist eine Programmiersprache für die Erlang Umgebung und dessen virtuelle Maschine, die sich in das Erlang Umfeld integriert und eine ähnliche Ausrichtung wie Erlang hat. Allerdings liefert Elixir eine Ruby-ähnliche Syntax und einige interessante Erweiterungen sowie natürlich Interoperabilität mit Erlang-Code (sonst wärs ja auch sinnlos, denn Erlang ist ja nicht nur die recht seltsame Sprache, sondern vor allem die Serverstruktur und die Bibliotheken).
HTC Desire wont be getting an official Gingerbread update. Ja klar, Android ist ja so toll, deshalb versauen Gerätehersteller es mit ihren unnützen Erweiterungen und liefern Geräte mit zu wenig Ausstattung aus, so dass neue Systemreleases draußen bleiben. Wenn ich wirklich auf Android mal umsteige, dann wohl nur auf eines, das direkt von Google versorgt wird, dann brauche ich mir wenigstens nicht so einen Murks wie Sense antun (oder mich durch dessen Zwangsinstallation von neuen Systemreleases blockieren lassen). Ja, ich weiss, ich kann rooten und rommen - aber das ist für mich genauso ein Nicht-Argument wie Jailbreak bei iOS Geräten.
Tumult Hype. Interessant - hatte ich schon eigentlich viel eher erwartet, ein Tool zur Erzeugung von Animierten Präsentationen nur mit HTML5 und JavaScript Mitteln. Im Prinzip das was früher Macromedia Director oder Asymmetrix Toolbox waren.
ccons - Interactive Console for the C Programming Language - Google Project Hosting. Klingt interessant, wenn man mal mit Low-Level-APIs rumspielen will und auch mal interaktiv sein System schrotten möchte.
Asciiflow - ASCII Flow Diagram Tool. Diagramme. In Ascii-Art. Mit einer interaktiven Umgebung in JavaScript. Im Webbrowser.
Black Stone Raiders
Schon am Freitag abend - aber erst heute hochgeladen. Wir waren im Konzert der Black Stone Raiders mit Jean-Paul Bourelly an der Gitarre, Darryl Jones (dem Bassisten der Rolling Stones) und Will Calhoun an den Drums. Ziemlich wilde Geschichte, das Bild ist schon typisch für Bourelly, der schreit wirklich rum im Konzert. Sehr laut, sehr seltsam in Teilen. Erinnerte mich oft an Jimmi Hendrix (wird Bourelly ja auch nachgesagt). Interessant war es schon, aber ich glaube nicht dass das meine Musik ist.
Grünflächenunterhaltung
In Münster war mal wieder Grünflächenunterhaltung (eigentlich schon das zweite Wochenende dieses Jahr), das erste Mal für Juliana. Wir hatten wieder Spaß damit, mein persönlicher Favorit war Ruben Grimm, wirklich tolle Musik und klasse vorgetragen. Von Ruben Grimm habe ich auch ein kleines Video gemacht.
Florian (Autor) meint, ich könnte an burrahobbit interessiert sein und er hat Recht: persistente Datenstrukturen (also funktionale Persistenz) in Python, mit zu den normalen Datenstrukturen vergleichbarem Zeitverhalten. Bisher hat er Dictionaries und Sets.
Bonn
Mit Juliana nach Bonn gefahren - Besuch des russischen Konsulates wegen Dokumenten. Nicht komplett erfolgreich, aber wir haben uns dann noch Bad Godesberg und Bonn angeguckt, auch schön.
Neulich auf Flickr
Ich habe auf Flickr neue Bilder hochgeladen. Hier sind sie - unsortiert und unkommentiert. Ok, ein Kommentar muss natürlich: meine Prinzessin ist da!
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.
Metaverse Ink Blog» Blog Archive » The 4,096 “bug”. Warum OpenSim Betreiber ihre Grids mit Regionskoordinaten unter (4096,4096) anlegen sollten - die höheren Koordinaten machen schlicht und einfach viel zu viele Probleme und es sieht nicht so aus, als ob diese Probleme einfach und kompatibel behoben werden könnten. Da Regionskoordinaten Grid-intern sind, sollte es auch keine Probleme machen wenn mehrere Grids in den gleichen Koordinatenbereichen liegen.
Why arent you using git-flow? - Jeff Kreeftmeijer. Klingt wie ein paar sinnvolle Tools die git etwas simpler zu benutzen machen für die Standardfälle. Klar, kann man alles auch alleine managen, aber wozu hat man sich dann einen Computer gekauft ...
Comparison to Python | Cobra - nur der Vollständigkeit halber geblogmarkt, da die Sprache einige interessante Ideen hat. Speziell die Kontrakte fände ich als explizite Syntax gut, Python erlaubt ähnliches nur auf Umwegen. Allerdings ist die Sprache ansonsten halt eine der vielen Nischensprachen. Und ehrlich gesagt ist Python mehr als nur die Einrückung - was ist zum Beispiel mit dem sehr ausgereiften Metaprotokoll von Python in den diversen Nischensprachen? PyPy in Kombination mit Rpython und dem neuen ctypes für pypy da deutlich interessanter.
Clack - Web Application Environment for Common Lisp. Das sieht endlich mal richtig nett und schlank aus - die meisten Common Lisp Webframeworks sind mir einfach zu groß, zu kopfig. Das hier sieht sehr viel pragmatischer aus, ein simples Routing, ein schlanker Request und eine Funktion die drauf reagiert. Da könnte man mal mit rumspielen, Installation ist dank Quicklisp trivial (was bin ich froh, dass es jetzt Quicklisp gibt, das asdf-install Gehampel war wirklich nervig). Vom Ansatz erinnert es etwas an Turbogear für Python - es werden diverse vorhandene Libs mit Clack gebündelt, sozusagen ein schlankes Web-best-practices. Ein Applikationsframework das in dem minimalen Environment auch läuft, gibt es mit Caveman auch schon.
Polycode. Sieht aus wie sowas wie Processing für C++ und Lua - also eigentlich ist es eine C++ Library für kreative Projekte (2D/3D), aber gleichzeitig gibt es einen Lua-basierten Scripting-Aufsatz, mit dem man mit gleichen APIs auch direkt programmieren kann. Klingt ein bischen ähnlich zu Cinder, nur dass dort keine Scripting-Lösung mit dabei ist, sondern nur eine C++ Library.
CouchDB: The Definitive Guide. Und weil es so gut passt, hier der Link auf ein Buch zu CouchDB zum Online lesen. Gibts dort auch Online in Deutsch (und natürlich Englisch. Und auch Französisch). Die deutsche Version scheint aber nur unvollständig zu sein - man stößt immer wieder auf Englische Seiten.
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.
Its About The Hashbangs. Gebloggmarkt, weil das eine recht gute Beschreibung ist was an diesen #! in Adressen falsch ist. Der Teil hinter dem # ist nur Clientseitig, der Server sieht den nie - jede Form von serverseitiger Umleitung und serverseitigem Routing fällt damit komplett aus. Auch serverseitige Zugriffskontrollen fallen weitestgehend aus, der Server sieht nur die Hauptseite. Für Single-Page-Anwendungen wie TiddlyWiki ist das alles ok - da ist alles in einem File schon drin und es ist der erklärte Sinn dieser Anwendungen so aufgebaut zu sein. Für Webseiten wie Twitter oder gar Newssites wie die von Gawker Media ist es einfach nur absurd. Twitter kann vielleicht wegen seiner banalen Struktur noch garantieren, dass die URLs auf Tweets auch mit #! auf Dauer funktionieren, in dem ein entsprechender JavaScript-Anteil auf Dauer in der Homepage drin bleibt (was aber schon ziemlich albern ist), aber Newssites werden früher oder später schlicht und einfach die alten #! URLs fallen lassen - und damit massiven Linkrot produzieren.
Function Reference/site url. Muss ich mal genauer durchgehen, denn wenn eine Site parallel unter http und https laufen soll, dann dürfen ja keine absoluten Bezüge mehr drin stehen, dann muss alles über diese Funktionen geroutet werden. Ein paar Plugins (jQuery Lightbox und Infinite Scroll) machen da auch noch Probleme, da werde wohl Bugreports fällig.
Shedding Bikes: Github's Favorite Joke. Warum social networks in Kombination mit Code und Geeks schnell zu asocial networks werden. Ein Punkt warum ich mich auch von Github weitestgehend fern halte - ich hab da einen account um Favorites zu setzen und Bugreports zu machen, aber meine Projekte lege ich lieber bei Bitbucket ab. Und selbst dabei bin ich sehr froh, dass Mercurial (wie natürlich auch Git) als verteiltes Versionssystem mir den Wechsel zu anderen Systemen oder den Wechsel auf selbstgehostete Seiten ermöglicht (Rhodecode wäre auf Dauer mal sinnvoll dafür zu installieren). Update: Github reagiert und baut endlich Blocking ein.
SSL and Cookies in WordPress 2.6 « Ryan Boren. Zwar ursprünglich für Wordpress 2.6 geschrieben, aber immer noch gültig. Bei mir musste ich noch ein bischen Hacken, da mein Wordpress-Server nicht direkt zum Netz steht, sondern hinter einer Firewall (iptables mit DNAT hat geholfen), aber jetzt habe ich ordentlich gesicherte Admin-Cookies und bin damit besser gegen WLAN Sniffer an öffentlichen Hotspots geschützt. Die Wordpress-Idee ist wirklich nett - zwar keine 100% Sicherung, da mit meinem Login-Cookie immerhin Kommentare unter meinem Namen gepostet werden können, aber durch die Cookie-Trennung ist zumindestens die Administration geschützt. Beisst sich bei mir aber mit dem Safer Cookies Plugin, das ich vorher benutzt habe um meine Cookies wenigstens auf die IP festzunageln. Zusätzlich gibt es noch einen Patch der nach 3.1 gegangen ist und es ermöglicht auch das Login-Cookie abzusichern.
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.
Hackers broke into Lockheed Martin. Holy cow, worst case Szenario. Wer wettet drauf dass jetzt die Cybersecurity-Gesetze in den USA verschärft werden, nachdem durch Angriffe auf Unternehmen aus der Rüstungsindustrie das ganze ja vermutlich als Frage der nationalen Sicherheit hochstilisiert werden kann?
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?
IPhone PPTP VPN – GRE Protokoll Probleme | it-fabrik blog. Argh. Genau daran sind meine Experimente gescheitert - das VPN tuts nicht über Edge - und vermutlich liegts einfach daran, dass Telekom GRE filtert (gegengeprüft über eine WLAN Verbindung und dann klappt alles problemlos). Wieso pfuschen diese doofen Mobilfunkanbieter auch im Netzwerk rum, die sollen einfach nur eine Verbindungsmöglichkeit liefern und fertig. Jetzt darf ich in WLAN Umgebungen denen ich nicht traue manuell das VPN anschalten, nur weil die Telekomiker meinen ich dürfte keine VPN Verbindungen über deren geheiligtes Netz aufbauen. Man soll das angeblich über einen anderen APN machen können, der öffentliche IPs vergibt und keine NAT-Kiste dazwischen hat, aber ob der dann mit dem Tarif als Flatrate abgerechnet wird, kann natürlich auch wieder niemand sagen. Ich hasse Mobilfunkanbieter und ihr protektionistisches Gehabe und ihre chaotische Netzstruktur.
clj-android. Und wenn ich schon dabei bin, auch gleich ein Framework für Clojure und Android. Ist allerdings alles scheinbar noch etwas roh (braucht zum Beispiel einen Fork von Clojure um ein paar Probleme mit Dalvik zu umgehen). Und nur zum Rumspielen mit Clojure für unterwegs ist vielleicht die Clojure REPL interessant.
scalaforandroid - Scala for Android. Und der Vollständigkeit halber auch ein Projekt zur Erstellung von Android-Anwendungen mit Scala. Scala braucht zwar auch eine große eigene Runtime-Library, aber in scalaforandroid wird ein Treeshaker (Proguard) eingesetzt, der bei der Paketerstellung nur die benutzten Klassen der Library überträgt und so das Volumen klein hält.
mirah/pindah - GitHub. Mirah ist eine Sprache, die von Ruby inspiriert ist, aber weiterhin mit statischen Typen arbeitet und daher näher am Java-Level von der Performance her liegt. Type-Inference nimmt den Typen aber die Schmerzen, weil man sich die Deklarationen oft sparen kann. Codemakros bieten darüber hinaus auch noch interessante Ansätze für interne DSLs. Pindah ist ein Framework und Toolset um mit Mirah Android-Applikationen zu schreiben. Mirah bietet gegenüber JRuby den Vorteil, dass keine eigene Runtime und keine dynamische Interpretation hinzukommt - die Anwendungen dürften also wesentlich näher an Java-Anwendungen von der Performance liegen.
Ruboto: Ruby on Android. Ein kleiner Artikel beim IBM Developernetwork mit einer kleinen Beispielanwendung in Ruby für Android. Ruboto hat im Moment noch das Problem von recht hohen Startzeiten für die Anwendungen und recht großer Applikationsgröße, da das ganze JRuby mit ausgeliefert wird.
Ruboto ist ein Framework und eine App für Android-Geräte. Mit dem Framework kann man Android-Apps in Ruby schreiben (auf Basis von JRuby, das allerdings im Gegensatz zu JPython tatsächlich mit dem normalen Ruby nicht nur mithalten kann, sondern bei der Performance durchaus auch mal vorne liegt) und mit der App kann man direkt in Ruby interaktiv auf dem Android-Gerät scripten. Vielleicht mal ein Grund mein Ruby-Foo zu entstauben ...
MS Optical Super Triplet Perar 3.5/35 Mark II. Neuauflage eines exotischen Objektives für Leica M - diesmal direkt M-Bajonett, nicht mehr Schraubanschluss mit Adapter. Reizen würde es mich ja schon, aber ich hab schon 35mm und mit dem Zeiss C-Biogon kann das Triplet dann doch eher weniger konkurrieren. Die Kompaktheit von dem Objektiv ist jedenfalls klasse. Ich hoffe die 200er Auflage ist schnell verkauft, damit ich nicht mehr in Versuchung komme.
Zotonic - Hmm, ob ich mir das mal angucken sollte? Ein CMS in Erlang, welches einige interessante Features auf der Liste hat - und so ein bischen in die Richtung zielt, die auch Drupal hat, also eher ein CMS Baukasten zu sein, als eine reine vorgefertigte Blogging-Lösung. Das Admin-Interface sieht auch recht aufgeräumt aus.
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.
Seesaw - GitHub. Da mich GUI-Programmierung fast immer nervt, ist das hier ganz interessant: eine Clojure-Library die Swing in eine sehr viel kompaktere Form bringt. So dass man sich für einfache GUIs nicht mehr die Finger wund schreiben muss. Und da MCL-IDE ja jetzt auch Clojure unterstützt, wird es vielleicht ja doch mal Zeit sich das ganze näher anzugucken.
Tequila Suicide | Blogrebellen Kreuzberg. Weils so bescheuert ist, das es bescheuerter nicht mehr geht (und nur Versicherungsvertreter so blöd sein könnten es tatsächlich auszuprobieren, von daher ist Ergo fast schon zu glauben). Und naja, bei den Blogrebellen ist da noch ein lustiger Comic dazu.
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.
llama font - say it in llama. Der Llama-Font. Dazu fällt mir eigentlich nix mehr ein. Irgendwer muss doch all die Llamas gemalt haben ...
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.