Am Rande notiert ...

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.

„Fassen wir zusammen: Die deutsche Polizei hat wegen einer vergangenen Protestaktion gegen die Website eines Engergiekonzerns, eine demokratische Partei kurz vor den Wahlen lahmgelegt, die demokratische Bewegung der Bürger in Spanien behindert und Anonymous-Operationen gegen Regime im mittleren Osten gestört. Alles in Allem war #Servergate somit ein sehr undemokratischer Tag in der Geschichte unserer Freunde und Helfer.“ – aus der Stellungnahme von Anonymous zu Servergate. Man mag davon halten was man will – die Reaktion der Polizei ist mehr als fragwürdig. Da ist wohl ein banaler Anlass einem Staatsanwalt ein bisschen zu günstig unter die Finger gekommen. Die Alternative wäre eklatante Inkompetenz, sowohl bei der Beurteilung des Anlasses als auch bei der Beurteilung der Auswirkungen. Und so langsam sieht das ganze noch schlechter aus, denn es gab nicht einmal ein Rechtshilfeersuchen aus Frankreich, sondern nur die Ankündigung eines solchen.

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).

AndTidWiki | mgBlog. Noch zur Ergänzung meiner TiddlyWiki Links, es gibt natürlich auch eine App für Android, mit der man TiddlyWiki auf Telefonen und Tablets laufen lassen kann. Basiert auf dem gleichen mobilen Plugin wie die iOS Version (logisch, da beide Plattformen ja WebKit als Kern einsetzen).

Introducing JetBrains dotPeek – dotPeek – Confluence. Für Neugierige, die in .NET Assemblies reingucken wollen (und für Mono Assemblies wohl auch, aber da ist ja oft der Source sowieso verfügbar).

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.

TWMobile. Apropos TiddlyWiki – yep, gibts auch für iOS Geräte. Benutzt übrigens Phonegap zur Erstellung der App. Der Link vorne geht auf die Benutzergruppe, hier ist aber auch ein Link direkt in den AppStore. Ziemlich interessant, weil in TiddlyWiki auch automatisch Plugins und ähnliches in JavaScript möglich sind und durch PhoneGap damit dann erweiterte Zugriffe auf iPhone-Hardware möglich wird. Zur Zeit ist die Integration mit Dropbox noch etwas mager: man muss Files zwischen Apps hinundher schicken. Aber da bei TiddlyWiki alles in einem HTML File steckt, ist das ja nicht so ein großes Problem. Ermöglicht jedenfalls auf iPad und iPhone und Desktop immer die gleiche Oberfläche für ein kleines Desktop-Wiki zu haben. Und zwar eines, das auch noch ganz nett aussieht. Und das zusätzlich die onboard Programmierung in JavaScript ermöglicht. Klingt nach nettem Spielzeug!

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.

Urteil: Sharehoster müssen externe Linksammlungen prüfen. Das ganze klang irgendwie absurd, meine erste Reaktion war „Landgericht Hamburg“ – und siehe da, es ist das LG Hamburg. Und es ist so absurd, wie vermutet. Und im Falle von Sprüchen des LG Hamburg glaube ich auch nicht unbedingt, dass die Reporter das bloß falsch wiedergegeben haben. Hamburg ist Deutschlands Texas.

On TermKit. Ein ziemlich cooles Projekt zur Neu-Erfindung von Terminals. In diesem Fall wird der Output als HTML gemacht und das Terminal wird nicht als einfache Konsole sondern als Browserfenster gerendert. Dadurch kann man zum Beispiel Verzeichnislisten grafisch machen oder Bilder direkt ausgeben. Das ganze geht auch auf Sachen wie Pipes ein und auf die Idee wie man Daten zwischen Werkzeugen transportiert, so das sie alle damit universell arbeiten können – hier kommt JSON zum Einsatz. Das ganze macht durchaus einen durchdachten Eindruck.

AI art | painting robot | art | expert systems. Mal was anderes – ein richtiger Roboter der mit Lisp (also zumindestens das Prototyping) gesteuert mal. Also nicht so ein virtueller Roboter ala Turtlegrafik, sondern richtige Hardware die sich bewegt.