Archiv 27.4.2011 - 10.5.2011

obensonne / hg-autosync. Eine Erweiterung für Mercurial, die automatische Syncs zwischen Arbeitsverzeichnissen über ein zentrales Repository realisiert. Kann manuell als Kommando ausgeführt werden oder im Daemon-Modus (dann wird das einfach per Intervall zyklisch durchlaufen). Damit kann man sowas wie ein kontrolliertes Dropbox machen - nur die aufgenommenen Dateien werden synchronisiert. Wobei ich anstelle der Intervall-Lösung lieber eine Kombination von inotify und xmpp Notify hätte - dadurch würde der Daemon nicht ständig anspringen. Aber sowas könnte man daraus vielleicht sogar bauen. Update sowas gibts schon.

Kirk Tuck: Approval. Tacit Approval. Implied Approval and "Street Photography.". Weils auch etwas ist, das mich immer wieder ins Grübeln bringt: wie mit Streetphotography umgehen? Bei mir passiert es nicht so oft - ich fotografiere eh meistens keine Menschen (oder nur als Beiwerk), zum Teil liegt das aber auch einfach daran, dass es mir unangenehm ist, einfach jemanden zu fotografieren. Ist irgendwie einfach nicht so mein Ding.

Mixing it up: when F# meets C#. Da man ja nie in einem abgeschlossenen Raum programmiert, sind die Verbindungen zwischen Sprachen recht wichtig - und besonders auf Plattformen wie .NET und JVM. Die Abbildungen von F# Datentypen auf C# Datentypen und die Nutzung dieser sieht recht interessant aus. C# Daten von F# nutzen ist ja trivial, aber umgekehrt gibt es schon einige Besonderheiten. Eine Ähnliche Situation gibt es ja auch bei Scala und Java.

philikon / weaveclient-chromium. Hmm, ein Mozilla Sync Client als Erweiterung für Chrome. Leider ist nirgendwo richtig angegeben wie man das installiert und einige Kommentare im Netz deuten darauf hin, dass es mit neueren Versionen wohl nicht mehr stabil läuft. Aber vielleicht trotzdem mal reingucken wenn ich irgendwo überzählige Zeit finde. Damit könnte ich dann nämlich z.B. Chrome auf Mac oder Linux mit Firefox Mobile auf Android verbinden. Da auf Android der normale Browser ja nichtmal mit Googles eigenem Desktop Browser syncen kann (was echt peinlich ist), wär das ja vielleicht was.

birkenfeld / karnickel. Ziemlich schräges Teil: Makros auf AST Level für Python. Allerdings in einer Form, die dann doch eher an C Makros erinnert - also einfache Expression-Makros (und recht stark limitierte Block-Makros). Vor allem fängt man sich all die bösen Probleme eines solchen unhygienischen Makrosystems ein - wie zum Beispiel Namenskonflikte zwischen makro-lokalen Variablen und äußeren Variablen. Ist auch eher einfach nur der Beweis das es geht und was man mit dem in Python mitgelieferten AST Modul machen kann.

dyoo/moby-scheme. Noch eine interessante Sache für Android: ein PLT Scheme (also Racket) Dialekt und eine passende Toolchain um aus Racket Advanced Student Language + World Primitives (ASL ist ein schon recht weit gehender Scheme-Dialekt in Racket und die World Primitives sind für reaktives Programmieren in Scheme) erstellte Anwendungen in JavaScript laufen zu lassen und diese dann zu Androit-Anwendungen zu bündeln. Also Programmierung von Android-Handys in einem reaktiven Scheme-Dialekt. Oder noch kürzer: Klammern für Android.

Baarle-Hertog. Ich glaub da muss ich einfach mal hin weil es so schräg ist. Ein Ort, der in Teilen in Belgien und Niederlande ist. Klingt irgendwie nach "The City and the City" von China Mieville.

Blurb Plug-In For Adobe Photoshop Lightroom 3 | Blurb. Wow, das klingt echt gut - die Bücher sind preislich eine echte Alternative zu denen aus iPhoto und die verfügbaren Optionen klingen auch gut - und selbst die Versandkosten sind bei normaler Priority-Mail nicht wirklich problematisch. Muss ich mir echt mal angucken, denn im Moment muss ich ja immer meine Fotos nach iPhoto durchschieben. Ausserdem erlaubt Blurb auch gleich die Fotobücher online zu verkaufen (wenn es mal nicht nur rein private Bücher sein sollen).

Computer Science and Biology Come Together to Make Tree Identification a Snap. Für alle, die nicht wissen was da für ein Baum im Garten steht, oder die - wenn sie denn mal den Baum vor lauter Wald sehen - wissen wollen wogegen sie denn da gerannt sind.

Wochenmarkt. Noch viel bunter.

Der Farbenrausch auf dem Wochenmarkt bei Sonne ist einfach klasse. Und die Sony NEX-3 ist mit dem 2.8/16mm zumindestens bei Sonnenschein gar nicht so schlecht. Ich hoffe aber trotzdem, dass bald das Zeiss 1.7/24mm kommen wird, von dem man Gerüchte hört - denn der Sensor kann viel mehr als die Linse liefert. Und irgendwie hab ich den Eindruck, manuelles Fokussieren mit der M8 macht mir nicht nur mehr Spaß, sondern trifft auch besser.

Münster. Bunt.

Einfach nur eine Reihe von Bildern von Spaziergängen in Münster, unsortiert und ohne große Kommentare.

Acta: Lobbyisten wollen Acta-Prüfung durch den EuGH verhindern. Wo kämen wir denn da hin, wenn wir es wagen würden die Rechteabzocker und ihre Machenschaften zu überprüfen, oder die ausgekungelten Verträge von Gerichten prüfen zu lassen. Ganz besonders wenn Experten schon jetzt sagen, dass er in wesentlichen Punkten nicht dem EU-Recht entspricht.

Uni Bayreuth: Guttenberg hat absichtlich getäuscht. Nun ist es offiziell. Es ist alles nur geklaut. Warum allerdings bei so einem Debakel den beiden Leuten, die ja diese Doktor"arbeit" begutachtet haben, nicht näher auf die Finger geguckt wird, ist schon seltsam. Denn wie bitte soll ein Doktorvater und ein Zweitgutachter eine Doktorarbeit begutachten ohne sie zu lesen? Oder sollten die wirklich das Teil gelesen haben, aber dabei weder bemerkt haben dass nix besonders beeindruckendes drin stand oder das alles nur abgekupfert war?

Ralf Jäger: SPD-Innenminister will "sorgenfreie" Vorratsdatenspeicherung. Wofür brauchen wir eigentlich noch die Union, wenn schon eine rot-grüne Regierung so bekloppt sein kann, die Vorratsdatenspeicherung zu wollen?

icylisper.in - jark. Hmm, wieder eine von vielen Lösungen für Clojure, die ein vereinfachtes Deployment von Clojure-Scripten ermöglicht, komplett mit persistenter VM und #! Unterstützung. Irgendwie werden das ein bischen viele in letzter Zeit.

Pygame Subset for Android. Huch - es gibt ein PyGame subset für Android. Nutzung ist etwas hakelig, weil es keine IDE gibt - man muss die Files auf der SD Karte (hmm - ein Nexus S hat keine SD Karte, wo landet das dort?) ablegen und anderweitig editieren.

android-scripting - Scripting Layer for Android brings scripting languages to Android.. Interessantes Projekt mit dem man diverse Scriptsprachen auf Android-Telefonen laufen lassen kann. Unterstützung für Shell, Python, Perl, Ruby, Lua, TCL und JavaScript sind schon dabei. Für mich ist natürlich besonders Python interessant. Vor allem weil die API von Android verfügbar gemacht wird - man kann also direkt mit den Sachen interaktiv oder gescripted rumspielen.

PayPal Money Module « Snoopy Pfeffer’s Blog. Der ursprüngliche Artikel, in dem Snoopy ein bischen mehr über die Erweiterungen gegenüber Adam Frisby's DTL PayPal Money Module beschreibt. Nicht mehr auf dem ganz aktuellen Stand was die Installation angeht, aber die Features passen noch.

SnoopyPfeffer/Mod-PayPal - GitHub. Sollte ich mir mal genauer angucken, damit kann man PayPal als Money-Modul in OpenSim benutzen. Wäre vielleicht interessant, wenn ich irgendwann meine OpenSim-Projekte wieder mal einboxen und weitergeben will. Baut auf OpenSim 0.7.1 auf, kann ich also erst ausprobieren wenn die neue Diva D2 raus ist (die schon in der Mache ist).

Tagbar, the Vim class browser. Scheint ein bischen ein aufgemotztes Taglist für VIM zu sein. Liefert hierarchische Sichten auf definierte Klassen, Methoden und Funktionen in einem Projekt.

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.

Scala 2.9.0 RC3 | The Scala Programming Language. Hmm, speziell die parallel collections klingen interessant - sozusagen map/reduce für Multicore auf lokale Datenstrukturen.

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.

the m8 metadata project. Informationen zu den EXIF Metadaten in Leica M8 Bilddateien. Sehr interessant vor allem wegen der Informationen zu der geschätzten Blende - dazu hat die M8 ja den ominösen blauen Punkt, über den das Umgebungslicht ermittelt wird und dann durch Vergleich mit der TTL Messung eine ungefähre Blende abgeleitet wird. Ich hatte mich schon gewundert, warum in Lightroom bei meinen Bildern sinnvolle Blendenwerte stehen ...

inotify - get your file system supervised. Mal für später vorgemerkt - ein Daemon, der Scripte automatisch bei Dateievents anwirft. Damit könnte man z.B. automatische Bilderimporte durch Upload aus der Dropbox realisieren.

Ettenheim: Vergabe Kleinkunstpreis: Georg Schramm sorgt für Eklat im Europa-Park. Naja, Georg Schramm ist halt ein Kabarettist mit Arsch in der Hose und nicht so ein Weichspühlbubi wie es den Herren und Damen im Europa-Park wohl lieber gewesen wäre. Aber wie heisst es so schön: wer die Hitze nicht verträgt gehört nicht in die Küche. Georg Schramm lädt man sich nicht für freundliche, nette Worte ein. Er ist der personifizierte Zorn. Und spricht als solcher Vielen (und ich bin einer davon) aus der Seele.

Aasee und Schloßgarten

Einfach nur eine Reihe Bilder, die ich heute auf dem Spaziergang rund um den Aasee und zum Schloß gemacht habe. Am 1. Mai wird ja üblicherweise ein Ausflug gemacht hier in der Gegend - und in der Stadt enden die meisten Ausflüge dann auf den Wiesen rund um den Aasee (und am Kanal, aber da war ich heute nicht), weshalb der Aasee dann zu einer gigantischen Grillparty wird.

Taschentuchbaum

Ich glaube den Baum habe ich jetzt nahezu jedes Jahr fotografiert in seiner Blüte. Aber dieses Mal bin ich recht früh in der Blüte dort gewesen, dadurch sehen die Blütenblätter noch richtig schön aus. Der Taschentuchbaum steht im Botanischen Garten. Die Bilder sind übrigens mit der Leica M8 und dem C-Biogon 2.8/35 gemacht.

UNO III Streetbike at Firebox.com. Transformers are here! Wir leben in der Zukunft! Ich hab schon Probleme bei der Vorstellung auf einem motorisierten Zweirad zu sitzen, da danke ich dann eher und verzichte auf so ein Vehikel - aber cool siehts schon aus.

Nubrella.com. Ok, sehen seltsam aus, aber könnten echt interessant sein für manche Situation. So oft wie ich in Münster Leute bei Wind auf dem Fahrrad mit Regenschirmen gesehen habe, da würde sowas glatt die Verkehrssicherheit verbessern.

PyPy Status Blog: PyPy 1.5 Released: Catching Up. Yay! PyPy ist jetzt auf dem Stand von CPython 2.7! Und wieder mal ein paar zusätzliche Performanceverbesserungen. Ausserdem ist das Interface für CPython Erweiterungsmodule (also welche die eben nicht in Python geschrieben sind) verbessert, erste Erfolge sind Tkinter und IDLE.

Neulich auf Flickr

Ich habe auf Flickr neue Bilder hochgeladen. Hier sind sie - unsortiert und unkommentiert. Nowgorod ist übrigens Weliki-Nowgorod und deshalb da, weil es ein wichtiger Handelspartner der Hanse war - auf der Salzstraße in Münster sind aus diversen Hansestädten Steine in den Boden eingelassen, mit Ringen auf denen die Herkunft eingeprägt ist.

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.

Nochmal iPhone Location Daten

Nur nochmal zu der Antwort von Apple zu den Bewegungsprofil-Vorwürfen und warum Apple Recht hat, aber trotzdem ein Problem besteht (aber eines, das deutlich kleiner ist als das dramatisierte Problem in der Presse).

Apple produziert mit - anonym gesammelten, bisher gibt es da auch keine Anzeichen, dass es nicht anonym wäre - Positionsdaten der iPhones mit aktiviertem GPS eine Datenbank, in der Positionen von Netzen gespeichert werden. Netze sind hierbei Funktürme für GSM, 3G und WLANs die das iPhone zu dem Zeitpunkt sieht. Das ist allerdings nicht das, was in dieser Datenbank gespeichert wird, von der alle Reden. Das ist nur die Grundlage, auf der etwas aufgebaut wird, was dann in der Datenbank landet.

Die an Apple gesendeten Daten werden intern gemittelt und daraus für die von diversen iPhones gemeldeten Netze ein "Zentrum" ermittelt (denn die genaue Position von WLAN Routern oder Funktürmen kriegt man ja nicht einfach so geliefert - die muss erst irgendwie ermittelt werden). Diese Daten werden in einer großen Datenbank bei Apple gespeichert. Die Positionsdaten beziehen sich also auf das Zentrum von Funkidentifikationen. Die Originalen Positionsdaten sind nur Basismaterial für die ermittelten Positionsdaten.

Das iPhone kann jetzt über die sichtbaren Funkidentifikationen und deren Positionsinformationen und eine über die Sendestärke gewichtete Mittelung der Daten eine ungefähre Position ermitteln - dazu ist aber Internet Zugriff notwendig. Und Zugriff über Internet auf die Datenbank bei Apple. Daher lädt das iPhone die Informationen zu Funkidentifikationen herunter und cached diese lokal. Aber natürlich nicht die ganze Datenbank - das wäre zu viel. Sondern eben ein nach Algorithmen ermittelter relevanter Ausschnitt. Das jetzt ist die Datenbank auf dem iPhone.

Dazu wird von Apple scheinbar nicht nur das an Netzen runtergeladen was das iPhone gerade sieht, sondern wohl auch Nachbarnetze - macht nur Sinn, da der Benutzer sich ja öfter mal bewegt und man damit die Daten von Nachbarnetzen brauchen wird (potentiell - das iPhon weiss ja nicht voraus wohin ich gehe). Vermutlich wird also das iPhone sagen "ich sehe Netze A, B, C" und die Datenbank liefert dann "hier sind die Netze A-M aus dem Großraum in dem du dich befindest". Das iPhone nimmt dann X% von A, Y% von B und Z% von C als Basis und errechnet daraus eine grobe Position und sagt "hier bin ich". Wenn es sich dann in die Sichtbarkeit von Netz D bewegt, ist dessen Position schon bekannt und das iPhone kann die Positionsberechnung ohne Download direkt vornehmen.

Zusätzlich scheint das iPhone eine zeitliche Historie dieser Downloads zu speichern - vermutlich hat der Entwickler angenommen, wenn der Benutzer da schon mal war, ist die Chance hoch, dass er da wieder hin will. Dabei hält das iPhone wohl ein Jahr an diesen Daten parat. Die Behauptung von Apple, die Dauer der Speicherung sei ein Bug, ist sicherlich eher eine Beschönigung - vermutlich hat da einfach ein Entwickler sich eine Dauer ausgedacht und benutzt, ohne sich darüber Gedanken zu machen wieviel wirklich sinnvoll wäre - schließlich waren das ja keine besonderen Daten nach seinem Verständnis. Nur technische Caches für Downloads die er sowieso macht, wenn der Benutzer nach seiner Position fragt.

Was bedeutet das jetzt für den Benutzer? Die Daten geben in den Koordinaten nicht wieder, wo er war - sie geben nur wieder, wo die Funkidentifikationen sind, in deren Nähe er ungefähr mal war. Und da es auch Nachbarnetze enthält, ist das wirklich sehr ungefähr. Natürlich lässt sich dadurch ein grobes räumliches Profil des Benutzers ableiten - z.B. habe ich in meinen Daten durchaus sehen können, dass ich in Amsterdam, in Frankfurt und in Berlin war.

Aber z.B. bedeutet es auch im Umkehrschluss, dass nur die ungefähren Regionen drin sind, wenn man dort auch Netzempfang hatte, mit Downloadmöglichkeiten. Ich war in Kopenhagen - dort habe ich auch über das Hotel Netzzugang gehabt, also sind davon Spuren. In Malmö und zum Jahreswechsel in Russland hatte ich keinen Netzzugang - also zwar GSM, aber eben keinen Internetzugang - und daher konnte das iPhone auf diese Lokationsdaten nicht zugreifen und keine Funkidentifikationen mit Positionen runterladen. Daher fehlen diese Daten auch komplett in meinem iPhone und es gibt keine Spuren von Malmö, Ekaterinburg oder Nischni Tagil (ähnliches dürfte gelten wenn man den Flugzeugmodus aktiviert hat oder einfach WLAN und mobile Daten ausschaltet).

Desweiteren dürften die Räume größer werden wenn man in mehr ländliche Regionen kommt - wenige WLANs, also hauptsächlich GSM Zellen und diese mit größerer Sendereichweite und weiter gestreut. Wenn man da eine Zelle mit den Nachbarn speichert, ist das schon ein ziemlich großer Raum, der abgedeckt ist. In Großstädten hingegen dürften die abgedeckte Fläche deutlich kleiner sein, einfach weil WLANs deutlich kleinere Reichweiten haben und von denen dort mehr da sind. Und Funkzellen dort auch in der Regel kleiner sind (allein schon weil eine Zelle nur endlich viele User abdecken kann, aber die Dichte der User in Städten größer ist).

Interessant ist das ganze besonders für Programmierer: denkt ihr bei eurer Programmierung darüber nach, was sich z.B. aus gecachten Daten ableiten lässt? Nehmt mal als Überlegungsgrundlage mal an, jemand hat Zugriff auf euren DNS Cache - den ja jedes System intern hat, einfach um DNS-Abfragen zu reduzieren. Was könnte diese eigentlich technisch doch völlig harmlose Information über euch als Bild produzieren? Es sind diese kleinen Fallen über die man als Programmierer gerne stolpert. Eigentlich ist es ja harmlos - Hilfsdaten, die man aus dem Netz holt sind der Anfang. Wegwerfen nach der Nutzung - naja, wenn sie wieder gebraucht werden, dann macht es Sinn die häufigsten parat zu haben, oder? Und genau dann rennt man in solche Probleme wie sie Apple derzeit hat.

Die Diskussion, warum euer Browsercache Pornobildchen enthält (weil ihr z.B. mit Outlook eure Mails lest und eine Spammail geöffnet habt und bei euch Bilderanzeige aktiviert war - keine abwegige Situation!), wenn eure Frau die dort findet, könnte schon recht interessant werden. Den Daten sieht man eben nicht mehr an, warum sie dort gelandet sind, wo sie gelandet sind.

Wie im Titel gesagt: ich beziehe mich hier auf die Antwort von Apple und habe das nur mit meinen eigenen Daten gegengeprüft. Meine eigenen Daten passen zu den Informationen aus der Stellungnahme von Apple und diese Stellungnahme selber ist auch schlüssig - sowohl die Inhalte als auch die Angabe der Nutzung passen durchaus. Ich sehe also keinen Grund, warum ich der Stellungnahme misstrauen sollte.

Die Antwort von Apple, dass das iPhone kein Bewegungsprofil des Benutzers festhält, ist also korrekt - es speichert eben nur Informationen für eine Positionsbestimmung als Alternative zum GPS. Gleichzeitig ist das aber zumindestens ein Profil des Aufenthaltes in Großräumen. Kritik ist also durchaus angebracht. Sollte aber meiner Meinung nach intelligenter als "Apple speichert die Positionen des Benutzers im letzten Jahr" sein, denn das ist schlicht falsch.

Aber wie Apple in der Einleitung der Antwort ja sagt: das sind technische Zusammenhänge, die eben komplizierter sind als einfach nur "speichert Apple ein Bewegungsprofil Ja/Nein". Und unsere Presse hat mit Fragen, auf die eine Antwort mehr als zwei Sätze enthält, massive Probleme. "Apple speichert Daten aus denen sich die Anwesenheit in Großräumen ableiten lässt" klingt auch nicht so toll und griffig als Überschrift.

Leider kann aber gerade diese sehr unpräzise Berichterstattung dazu führen, dass die Probleme erst entstehen - wenn ich weiß, dass die Daten nur Regionen abdecken in denen ich mal war, aber nicht präzise Punkte meines Aufenthalts, ist die Erklärung, warum meine Daten aus Frankfurt auch das Rotlichtviertel umfassen (ist halt Nähe Bahnhof) deutlich leichter als wenn ich davon ausgehen muss, das sind alles Orte wo ich war.

Apple muss (und wird ja auch nach eigener Erklärung) da nachbessern - denn ein Jahr an Daten zu cachen ist Quatsch. Auch die Daten zu sichern ist Unsinn, die können einfach neu runtergeladen werden wenn sie fehlen. Genauso braucht man die Daten nicht speichern, wenn alle Lokationsdienste global abgeschaltet sind. Vielleicht wäre es auch generell interessant da einen Schalter "Pseudo-GPS Ja/Nein" oder so anzulegen, mit dem diese Art der Positionsermittlung abgeschaltet werden kann - dann muss der Benutzer eben warten, bis die GPS Satelliten eingebucht sind. Genauso wie man meiner Meinung nach die anonymisierte Datensammlung zu WLAN und Funktürmen abschaltbar machen sollte.

Meines Erachtens sollte kein Cache ohne eine Kontrollfunktion für diesen Cache (so wie man den Browsercache ja auch leeren kann) existieren. Denn eines muss klar sein: durch die generelle Notwendigkeit der Verknüpfung von Zugriffszeitpunkt und geladenen Daten (denn nur so kann ein Cache mit zeitlich begrenzter Zwischenspeicherung funktionieren) liefert jede Art von Cache eine Art von Benutzerprofil. Und das sollte vom Benutzer zumindest rudimentär (im Sinne von Löschen) kontrollierbar sein. Caches grundsätzlich mit einer Leeren-Funktion und einem UI dafür anzulegen sollte genauso eine best-practice werden wie die verschlüsselte Speicherung von Passwörtern auf Servern (hallo Sony!).

Paper Airplanes HQ. Papierflugzeuge. Das ist alles.

kiorky/spynner. Wow, das klingt echt interessant - ein programmatischer (also ohne Oberfläche) Webbrowser auf Basis von QtWebkit als Python-Erweiterung. Der Vorteil? Dadurch, dass eine vollständige Web-Engine drunter steckt, kann man eben alle Features des Webbrowsers nutzen - zum Beispiel eben auch client-side JavaScript und all die anderen Sachen, die in Webanwendungen verwendet werden. Das könnte für automatisierte Tests von Webanwendungen sehr interessant sein - oder für das Scrapen von komplexeren Webseiten.

IgniteInteractiveStudio/SLSharp. Nett - GLSL Shader in C# programmieren, der IL-Code wird dann automatisch auf die GPU geladen. High-Performance-Computing anyone?

IronScheme. Interessant - ein Scheme für .NET. Und im Gegensatz zu einigen toten Projekten die ich gefunden habe, scheint hier auch noch was zu passieren. Ok, ich selber tendiere warscheinlich eher zu IronPython, F# oder wenn es Lisp sein soll, Clojure für .NET (davon gibts mitlerweile auch recht aktuelle binäre Pakete zum Ausprobieren, leider wohl derzeit nur Windows, jedenfalls spuckt es unter Mono Fehler aus).

F Sharp Programming - Wikibooks, open books for an open world. Scheint eine ganz nette Grundübersicht über F# zu sein - also besonders für die, die nicht schon Vorbelastung (z.B. von OCAML) mitbringen.

Tomtom entschuldigt sich wegen Datenweitergabe für Radarfallen. Das ganze ist schon echt lustig, irgendwie. Zum Einen die Blauäugigkeit eines Anbieters von Daten ("hey, die werden schon meine Daten nicht einfach für irgendwas nutzen das uns peinlich sein müsste"), zum Anderen die Innovativität einer Regierung. (Unbekannt ist zur Stunde noch, ob jetzt "Experten" wieder Amok laufen und die Käufer von TomTom-Geräten auffordern den Hersteller oder den niederländischen Staat zu verklagen.)

Apple Q&A on Location Data. Ob jetzt die ganzen Experten, die teilweise recht abstruse Behauptungen aufgestellt haben, ihre Aussagen korrigieren? Oder bricht da jetzt das große, peinliche Schweigen aus? Alternativ hätte ich auch noch ne nette Verschwörungstheorie parat, sowas geht im Internet doch immer.

Neulich auf Flickr

Ich habe auf Flickr neue Bilder hochgeladen. Hier sind sie - unsortiert und unkommentiert.

Home - Redline Smalltalk - Smalltalk for the Java Virtual Machine.. Noch nicht sehr weit, aber könnte irgendwann mal interessant werden - und als alter Smalltalk-Fan muss ich da natürlich ein Blogmark setzen.

Comics by Nick St. John. Drin was draufsteht. Einfach mal anschauen. Einfach und simpel gezeichnet, aber auf eigentümliche Art ansprechend für mich (besonders "How I Came to Work at the Wendy's").

Download Adobe Lens Profile Creator Preview - Adobe Labs. Unten auf der Seite sind Download-Links. Einmal der angesprochene Profile Creator, mit dem man eigene Profile für Kameras und Linsen machen kann. Aber fast noch interessanter ein Profile Downloader - mit dem kann man Profile von anderen Lighroom-Usern herunterladen. Das kann schon mal nützlich sein, wenn es für die eigene Kombination noch kein Profil von Adobe gibt. Ich muss auch mal gucken, ob es für das C-Biogon von Zeiss schon ein Profil gibt (wobei das fast keines braucht, so gutmütig verhält es sich bei der Benutzung).

Geotagging: Fotospot macht Digitalkameras GPS-fähig. Rube Goldberg Geotagging. Ehrlich, Leute, wenn ihr zum geotaggen eurer Fotos tatsächlich ein lokales WLAN mit Server mit euch herumtragen müsst, dann ist es auch wurscht wenn der Server in den Blitzschuh eurer Kamera geschoben wird - das ist einfach nur albern. Kauft euch lieber gleich eine Kamera, die Geotagging on-board hat. Oder ein simpler Tipp: mit dem iPhone und der eingebauten Kamera-App (wegen der Metadaten) einfach an jedem Ort ein Foto schießen, und dann später die Geodaten von diesen Bildern auf die anderen übertragen - für diverse Systeme gibts da schon fertige Software, die das macht.