Linkblog - 27.8.2012 - 25.10.2012

NovoCard. Jau, auf sowas hab ich die ganze Zeit gewartet. Leider nicht für Android bisher, sondern fürs iPad, aber das könnte mein altes iPad für eine Weile wiederbeleben - ein Hypercard-Clone für iOS, der mit Scriptsprache kommt die in diesem Fall auf JavaScript aufbaut. Alles onboard auf dem iPad, dadurch ideal für Basteleien unterwegs. Und generell bin ich der Meinung, dass die Hypercard-Struktur ziemlich genial auf Tablett-Rechner passt. Werd ich wohl mal mit rumspielen.

Travis Shrugged: The creepy, dangerous ideology behind Silicon Valley’s Cult of Disruption. "Almost seven decades in fact, since Ayn Rand’s “The Fountainhead” first put her on the radar of every spoiled trust fund brat looking for an excuse to embrace his or her inner asshole." - wie die sogenannten "disruptive startups" von Bullshit-Rand beeinflusst sind. Erklärt auch so tolle Ideen wie die vielen Ansätze in denen man in einem Service datentechnisch schon längst verwendet wird, auch wenn man nicht Mitglied ist (Klout zum Beispiel). Viel zu viele übersetzen für sich "disruptive" mit "sei ein egoistisches Arschloch", was zwar gut zu Rand passt, aber nicht so gut zur Realität - selbst in den USA.

Arduino Due mit 32-Bit-ARM-Mikrokontroller - Pro-Linux. Jau, 32bit embedded boards. Irgendwie schon cool. Nur bei den 84 Mhz Taktfrequenz kommen fast schon nostalgische Gefühle auf.

mono/xwt. Sollte ich mir vielleicht mal anschauen, ein High-Level-GUI-Toolkit für Mono, welches auf dem Mac neben einem GTK Backend auch ein Cocoa Backend hat. Damit könnte man Plattform übergreifend programmieren ohne die Look-and-Feel-Strafe von GTK zu kassieren (das ist auf OSX schlicht und einfach hässlich).

misfo/Shell-Turtlestein. Wenn man mit Sublime Text 2 arbeitet und viel Kommandozeilentools benutzt, kommt das Plugin hier sehr zu Hilfe - man kann die Befehle direkt aus ST2 absetzen und bekommt die Ergebnisse direkt dort angezeigt. Befehle laufen direkt im Verzeichnis des aktuellen Fensters ab oder man kann auch gleich dort ein Terminal starten. Gerade für alternative Buildsysteme praktisch, oder um mal schnell mit grep nach etwas im Verzeichnis zu suchen.

Turning to the past to power Windows’ future: An in-depth look at WinRT. Schöner Überblick über die Historie von Windows APIs und dann ein Detailblick auf WinRT und warum das gar nicht so neu und unabhängig ist, wie Microsoft behauptet und wie es denn wirklich im Systemumfeld aufgehängt ist (TL;DR WinRT ist modernisiertes COM basierend auf Win32 mit automatischen Wrappern für .NET und JavaScript).

wilhelmtell/dis. Falls jemand auf die Idee kommt sowas wie ein verteiltes Twitter auf Basis von git zu bauen: hat schon jemand gemacht, Source gibts hier. Nur mit bash, git und den linux coreutils.

jq. Ein sehr cooles Tool für jemanden der viel mit JSON rumspielen muss, vor allem in der Unix Shell. Das Tool kann JSON Daten verarbeiten mit Funktionen die an sed, awk und grep angelehnt sind. Und man kann jq unix-typisch pipen oder sogar interne pipes in Veränderungsausdrücken ala awk benutzen. Und das ganze kommt als single-executable ohne runtime libraries außer libc - sollte also sogar als statisches binary funktioneren und damit trivial mit scp installierbar sein.

XKCD plots in d3. Und damit in JavaScript und direkt im Browser. Wäre doch mal was für die Mathe-Fans da draussen, die immer meinen Plots posten zu müssen.

IBM Worklight - Mobile application platform. Eclipse-basiert und vermutlich IBM-typisch Java-infiziert und überladen, aber trotzdem vielleicht mal einen Blick wert: eine IDE für Mobile Anwendungen die a) sowohl Client als auch Server umfasst und b) mehrere Zielsysteme unterstützt (iOS, Android, Web-Anwendungen). Also im Prinzip sowas wie Titanium Appcelerator oder Phonegap, nur mit einer Serverinfrastruktur und Verwaltungswerkzeugen noch mit dazu. Und man kann wählen, wie portabel man sein will und native Erweiterungen integrieren, wenn man es braucht (und dabei dann natürlich Teile der Portabilität opfern).

Lomography Belair X 6-12. Krass - Lomography hat tatsächlich mal ein interessantes Produkt. 6x12/6x9/6x6 Mittelformat mit Wechselobjektiven (zwei kommen gleich mit) und das ganze dann für einen extrem moderaten Preis (einsteigen bei unter 200 US$) - ok, die Linsen werden wahrscheinlich Lomo-typisch eher Flaschenböden sein, aber hey, wen schert das - es sind Wechseloptiken! Da wird sich früher oder später jemand finden und Linsen aus Glas bauen. Einziger Nachteil ist die Verarbeitung von 120er Rollenfilm - das wird mitlerweile zum Abenteuer (oder zur Versandorgie). Ist aber trotzdem das erste Mal, dass mich der "preorder" Button auf einer Lomography-Seite in den Fingern juckt.

BBC News - Apple loses UK tablet design appeal versus Samsung. Und kreativ ist das Urteil auch noch: Apple muss Anzeigen schalten mit dem Inhalt, dass Samsung nicht kopiert hat. Besonders in Hinblick auf die laufenden anderen Verfahren meinte der Richter, nur eine auffällige Aktion kann die Wahrnehmung der Verbraucher korrigieren. Ich glaub, das tut Apple jetzt so richtig weh.

Moby ist ein Paket für Racket mit dem man Android Programme erzeugen kann. Integriert in DrRacket hat man auch gleich eine passende IDE in der das meiste auch getestet werden kann. So viel auszuprobieren, so wenig Zeit.

PharoDroid ist eine Implementierung von Pharo, die auf Android Tablets läuft - allerdings wirklich so wie auf dem Desktop, also keine speziell Touch Unterstützung hat. Dadurch eher sperrig zu benutzen, aber es ist ein Anfang.

ownCloud’s Latest Community Edition Adds Video Streaming, and Easy Mounting of Third-Party Storage. Klingt nett, besonders das mounten von Cloud-Storage. Wobei ich mich frage, ob der dann nur auf der Cloud liegt und durchgereicht wird, oder ob der auch auf den Server runtergeladen wird zusätzlich. Aber da könnte ich ja vielleicht mal mit meiner kleinen Installation rumspielen. Der verbesserte Sync klingt auch gut, denn der bisherige ist wirklich etwas strange mit seinem regelmäßigen Timestamp-File-Check.

Streak - CRM in your Inbox. Strange - das Teil ist komplett an mir vorbeigegangen. Ok, liegt vielleicht daran, dass sie es ein CRM nennen und das ist für mich per Definition langweilig. Aber in Wirklichkeit ist es ja gar kein CRM, sondern eine Art Spreadsheet mit Mailintegration und Filtern - man kann Regeln definieren und Mails in Kisten sortieren und diese ganzen Sachen nach verschiedensten Kriterien auswerten, filtern, sortieren, whatever. Und das ganze ist in GMail integriert, direkt in die Webplattform (womit es natürlich auch nur dort funktioniert und nicht zum Beispiel in den mobilen Clients). Und plötzlich ist das ganze dann doch wieder ganz interessant, denn wenn man mit größeren Mengen von eMail gesteuerten Workflows zu tun hat, kann man sowas gut gebrauchen. Zumindestens, wenn man seine Emails in GMail liegen hat. Deren Architektur ist auch nicht uninteressant, da wird so ziemlich alles benutzt was Google zu bieten hat.

LLJS : Low-Level JavaScript. Ich versteh zwar nicht, was es bringt eine Low-Level-Sprache (JavaScript Dialekt mit C-ähnlichen Typdefinitionen und Konstrukten) nach JavaScript zu compilieren, was ja nun nicht gerade low-level im Ausführungsmodell ist, aber im Zweifelsfall gilt das Standardargument: weil es geht! Ist aber wohl eher ein Projekt das ich nur verlinke weil es seltsam ist, aber wohl nicht so schnell selber einsetzen werde.

Comtypes: How Dropbox learned to stop worrying and love the COM. Filed for future use. Zugriff auf COM APIs in Windows aus Python mit recht schlanken Mitteln. Könnte für das eine oder andere Admintool in der Firma interessant sein.

DataNitro. Wer gerne sein Excel-Spreadsheet in Python programmieren will, dem wird da geholfen. Ist vielleicht für den einen oder anderen Zahlenfresser der Excel als Frontend benutzt interessant.

Android-x86 - Porting Android to x86. Hmm, ob das ein lustiges Spielzeug für mein altes eeeBook sein könnte? Ich mein, das wäre ein ziemlich fettes tablet mit integrierter Tastatur und einem inkompatiblen Prozessor, was kann da schon schief gehen?

Pyjnius: Accessing Java classes from Python | Txzone. Sehr interessantes Seitenprojekt von Kivy - damit kann man recht einfach Java-Klassen in Python integrieren und benutzen, ohne auf Jython wechseln zu müssen. Es basiert auf Cython und JNI und integriert sich so direkt in das native Python. So langsam wird Kivy wirklich zu einer Alternative für die Android Entwicklung die ich mir mal genauer angucken sollte.

#21866 Remove AtomPub from core – WordPress Trac. Pappnasen. Da gibts Bugs seit Jahren, ja. Aber die wären fixbar gewesen. Statt dessen wird AtomPub rausgeworfen - aber völlig ignoriert, dass die alten XMLRPC Sachen von Wordpress eben nicht das gleiche machen - zum Beispiel keinen vernünftigen Metadaten-Update bei Medienuploads, was dazu führt, dass man dann demnächst nur mit Einsatz des AtomPub Plugins wieder aus Lightroom Bilder mit einem Exportservice zu Wordpress syncen kann. Gibt noch so das eine oder andere was in dem Bereich nicht sauber funktioniert, weshalb ich immer deutlich lieber mit AtomPub gearbeitet habe von Lightroom aus. Jetzt darf ich mich schon drauf freuen, nach Wordpress 3.5 meinen ganzen Bilderworkflow zu überarbeiten.

Jetstrap - The Bootstrap Interface Builder. Eventuell mal angucken - damit kann man Bootstrap Sites in ihrer Struktur entwerfen ohne mit dem CSS selber rumfummeln zu müssen. Der Output kann dann als Basis für die eigene Website benutzt werden. Schaut ganz nett aus.

X11-Basic Homepage. Und weil ich gerade bei Basic bin - X11 Basic ist ein GFA Basic Nachbau der viele Erweiterungen hat und unter allen möglichen Systemen läuft. Unter anderem gibt es das auch für Android - allerdings ist da auf meinem Galaxy Nexus die Schrift nicht mehr alte-Leute-kompatibel und auch auf dem Nexus 7 überlege ich zur Lupe zu greifen. Mit diesem Basic gehts aber eher darum, alte Gewohnheiten beibehalten zu können als wirklich mit den neuen Systemen zu arbeiten - die Android-Spezifika sind recht übersichtlich.

RFO BASIC! for Android. Spaßiges System um mit dem Android Krams mal direkt interaktiv zu spielen - und vor allem das auch unterwegs zu tun. Einfach ein aufgemotztes Basic mit Unterstützung diverser Sensoren in Android und Zugriff auf alle möglichen Systemdienste (z.B. SQLite), so dass man da schon richtig was mit anfangen kann. Basic-Programme können dann sogar in APKs gewandelt werden die standalone weitergegeben werden können. Das kommt alles schon wieder verdammt nah an das Feeling mit den programmierbaren Taschenrechnern in den 80ern ran - amateur-Programme, aber eben selbstgedengelte Hacks und Tools.

Mr McNamee suggested that repressive regimes would “laugh till they choke when the EU next lectures them regarding free speech online”: via Clean IT: Die EU-Kommission will das Internet überwachen und filtern, ganz ohne Gesetze.

Plug-ins for Adobe Photoshop Lightroom | Adobe Labs. Wer manuelle Objektive an Sony NEX Kameras benutzt, und da auf Ultra-Weitwinkel oder ähnliches setzt, könnte das Phänomen kennen: ein asymmetrisches Abdunkeln und ein asymmetrischer Farbstich in den Randbereichen. Kann man in Lightroom jetzt mittels Referenzbild und diesem Plugin korrigieren.

Jforc Contents. J für C Programmierer. Damit ihre Hirne rauchen und qualmen. Was nicht immer was schlechtes ist. Gibt J sogar für Android, da kann man dann auch unterwegs damit rumspielen. Gerade so kompakte Sprachen sind ja besonders angenehm auf mobilen Geräten mit kleinen Bildschirmen. Da passt einfach mehr Funktion drauf, wenn die Funktion kompakt notiert ist. Wobei man dann aber auch damit leben muss, dass der Code ein bischen wie Line-Noise aussieht.

toastdriven/django-tastypie. Hatte ich glaube ich schon mal, macht aber nix, sieht immer noch interessant aus - eine Alternative zu django-piston mit einer deutlich weitergehenden Funktionalität (zum Beispiel recht ausführliche Optionen für Authentifizierung und Authorisierung). Was es macht? REST Interfaces für Django Modelle inklusive deren Relationen. In den verschiedensten Formaten (XML, JSON, YAML).

linq.js - LINQ for JavaScript. Das was dran steht ist auch drin. LINQ für JS Objekte und Arrays. Was gerade bei strukturierten Daten aus Services die erst per JS im Browser gerendert werden durchaus den Code lesbarer machen kann.

Postgres-XC project Page. Multi-Master (Read und Write) Cluster für PostgreSQL. Unterstützt replicated Setups genauso wie partitioned Setups (oder Mischformen).

Online Python Tutor - Learn programming by visualizing code execution. Nett wenn man Python als Programmieranfänger lernt und eine visuelle Unterstützung will, um zu verstehen was der Code da eigentlich veranstaltet.

pyMCU - The Python Controlled Microcontroller. Alternative für diejenigen, die statt Arduino und seine Processing-basierte Entwicklungsumgebung lieber Python benutzen würden. Seid ich mit Android rumspiele hat Java für mich ja deutlich an Schrecken verloren, man gewöhnt sich halt an alles. Vermutlich hilft mir da meine Cobol-Erfahrung aus den ersten 10 Berufsjahren, wenn man da durch ist, ist fast alles akzeptabel.

amoffat/sh. Cooles kleines Modul mit dem man externe Kommandos so integriert als seien sie Funktionen. Man ruft dann einfach eine Funktion git auf mit ein paar named Parametern und bekommt den git Output als String geliefert. Macht gerade Shell-Scripe in Python deutlich kompakter und lesbarer. Also genau das richtige für Sysadmins.

MS Optical Sonnetar 50mm f/1.1 Test pictures | Japan Camera Hunter. Einfach interessant, dass es da einen Einzelkämpfer in Japa (wo sonst?) gibt, der handgefertigte Objektive mit M-Mount produziert. In Einzelfertigung.

Android Bootstrap. Hmm, vielleicht mal angucken - damit soll man schneller eine Anwendung als Rahmen fertig haben als wenn man das ganze Zeug selber manuell zusammen bringt. Die Idee dahinter ist so ein bischen wie bei den diversen HTML und CSS Bootstraps - eine Basis die man dann weiter editiert. Wobei ich allerdings auch die normalen APIs von Android jetzt nicht so schrecklich kompliziert finde in der Regel.

Buildroid for VirtualBox | BuilDroid. Eine Alternative für AMD CPU Besitzer und VirtualBox Benutzer zu dem vorigen Teil von Intel: hiermit wird Android in VirtualBox gestartet und ist darüber als emuliertes System verfügbar. Klingt auch ganz interessant, speziell weil ich sowieso schon mit VirtualBox viel arbeite und daher für mich das unter Umständen weniger Streß machen könnte.

Supercharge Your Android Emulator Speed - Developer.com. Interessant - Intel hat eigene Android Images auf x86 Basis und einen Virtualisierungstreiber, mit dem der Android Emulator mit nativer Geschwindigkeit läuft. Nachteil ist, dass es mit VirtualBox kollidiert und man nur das eine oder das andere laufen haben kann. Aber wenn man zwingend mit dem Android-Emulator arbeiten muss (z.B. weil man kein Entwicklergerät dabei hat oder weil man einfach nicht alle Geräteformen als Hardware haben kann), ist das sicherlich trotzdem interessant.

David Waring - Remember the Milk CLI. Bin ja von OmniFocus auf RTM umgestiegen, weil OmniFocus ein Datensilo auf Apple-Systemen ist - und gerade bei Tasks will ich nicht an eine Plattform gebunden sein, sondern mich auf jede beliebige bewegen können. Und RTM ist der einzige Dienst den ich bisher gefunden habe, bei dem man wiederkehrende Events mit passender Mächtigkeit definieren kann (speziell das "wiederholen nach X Einheiten nach Abhaken" ist da wichtig). Nunja, hier gibts eine Python CLI Lösung, mit der man sogar die Linux Kommandozeile mit nutzen kann für seine Tasks. Und damit hat es wahrscheinlich todo.sh für mich erledigt, denn so landet alles in einer Datenbank.

Lazarus 1.0 release available for download. Klasse, die Pascal-IDE ist jetzt in der Version 1.0 raus. Und auch unter OSX. Ich hab mit den Vorwersionen ja immer wieder rumgespielt und es ist wirklich beeindruckend, was da alles drin ist. Trotzdem bin ich dann bei RealBasic gelandet, habe aber Lazarus und FreePascal immer noch installiert und spiele immer mal wieder damit herum.

Cameron Lairds personal notes on varieties of Python implementation. Und wem das mitlerweile zu viele Python Varianten sind um Überblick zu behalten: das hat einer schon gemacht, den Überblick. Und ja, es gibt einen ganzen Haufen verschiedener Distributionen und Implementationen.

Numba vs Cython - Pythonic Perambulations. Noch eine Alternative zu Cython und PyPy, mit der man LLVM und Python für Performancegewinne verheiraten kann. Hier wird über Dekoratoren echter Python Code ohne Änderung beschleunigt, wobei es eine Erweiterung für das normale Python ist, also alle Libraries verfügbar bleiben und nur die für die Performance kritischen Routinen mit LLVM nachbehandelt werden.

Noch ein Rettungsschirm. Warum ich dann wohl demnächst nicht mehr auf Medien verlinken werde. Also Zeitungen und so ein Unfug. Und ganz ehrlich? Ich hoffe sogar darauf, dass Google die deutschen Verlage aus dem Index wirft. So komplett. Dann soll mal das Geschrei und später Gejammer losgehen, wie in Belgien. Da wäre dann wenigstens der Unterhaltungswert endlich wieder da.

KDE Necessitas project - Welcome to KDE Necessitas project. Hmm, hat eine neue Homepage bekommen, aber wichtiger, eine neue Alpha4 die bald zur Beta1 wird. Und ab Beta1 wird ABI Kompatibilität garantiert und dann wird es eine echte Alternative für Android Entwicklung. Ok, C++ ist für mich nicht wirklich so viel besser als Java - im Gegenteil. Aber es hat natürlich den Vorteil, dass man mit QT und C++ Apps schreiben kann, die auch mit geringem Aufwand als Desktop-Anwendungen verfügbar gemacht werden können. Also einfach mal angucken wenn ich Zeit finde.

rawson.js - a camera raw previewer in javascript. Jupp. Ein RAW-Modul für JavaScript. Schon verrückt, was so alles mit JavaScript gebaut wird. Wobei, nach dem im Browser laufenden PC Emulator, der Linux bootet, sollte mich nichts mehr erstaunen.

commonsguy/cwac-anddown. Noch eine Markdown-Implementierung - diese benutzt intern sundown und JNI und das NDK um unter Android eine schnelle Implementierung von Markdown zu haben. Hat bei mir problemlos funktioniert mit dem Nexus.

LuminosoInsight/python-ftfy. Praktisches kleines Tool, das diverse Ungereimtheiten in Textencodings bereinigt nachdem es schief gegangen ist. Das ist natürlich kein Ersatz für korrekte Nutzung der Encodings in Python, aber manchmal bekommt man seinen Input ja aus fremden Quellen (oder hat Bestandsdaten aus alten Programmen aus Zeiten in denen das ganze Unicode-Zeugs noch nicht so weit ausgebaut war) und hat keinen Einfluss darauf, wie die Daten aussehen - in dem Fall ist das ein sehr praktisches kleines Tool.

kmike/marisa-trie. Sehr praktisch - es gibt so einiges was in Python mit Dicts gemacht wird, das eigentlich in andere Strukturen gehört. Besonders die Präfix-Suche und die Suche nach vorhandenen Präfixes ist praktisch. Und das ganze mit einer C-Erweiterung auch ordentlich fix.

Arduino - MacOSX. Was mich an Arduino fasziniert: die einfache Oberfläche der IDE (die einfach ein erweitertes Processing ist) und der Haufen an verrückten Projekten rundherum, wie zum Beispiel Digispark, einem Mini-Board das zwar weniger kann, aber dafür winzig ist und direkt vom USB Port betrieben wird. Da kann man ja wirklich mal zum Beispiel über Füllstandsmesser für Blumenbewässerung oder ähnliches nachdenken. Bei den Preisen für das Mini-Board wird das direkt realistisch.

myabc/markdownj muss ich mir mal angucken, denn JMD ist irgendwie doch etwas buggy und der Developer macht damit nichts mehr. Das hier ist ein Port der originalen Perl-Sourcen, benutzt also massiv Regular Expressions, aber das sollte bei meiner Programmstruktur von UniversalBrain nicht wirklich große Probleme machen, denn ich cache ja den HTML Output. Vielleicht verhält es sich ja besser als JMD. Wobei natürlich die Frage ist, ob es vernünftig als Library eingebunden werden kann.