Archiv 4.7.2012 - 17.9.2012

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.

Leipzig

Anlässlich unseres ersten Hochzeitstages sind Juliana und ich nach Leipzig gefahren und haben uns dort unter anderem auch den Zoo angeschaut (und auch das Musikinstrumentemuseum und das Völkerkundemuseum, aber davon gibts keine Bilder).

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.

mitotic/otrace. Interessanter alternativer Python Debugger der auf das Debugging und Tracing von multithreading Anwendungen ausgelegt ist. Dabei geht es also weniger um das sequentielle steppen durch den Python Code sondern mehr darum, eine sich dynamisch durch Threads verändernde Umgebung zu analysieren (da ist der normale Python Debugger ja doch etwas sperrig).

cletus/jmd. Da PegDown nicht auf Android läuft, weil der zugrundeliegende Parser gerne eine dynamische Parserklasse generieren will, was da nicht erlaubt ist, mal das hier angucken. Soll auch recht vollständig sein, basiert auf dem Markdown# Projekt für C#.

mitmel/SimpleContentProvider. Sieht aus wie ein einfacher ORM der automatisch einen Android Content Provider generiert. Dadurch wird das Erstellen deutlich schlanker im Code.

sattvik/neko. Auch mal vorgemerkt für später, Clojure für die Programmierung von Android Anwendungen mit ein paar Bindings für die Android APIs. Wobei da natürlich die Frage ist, ob die das Startup-Problem in den Griff bekommen haben, oder ob das immer noch den Einsatz von Clojure limitiert.

ActionBarSherlock - Home. For later use: damit kann man die ActionBar auch auf älteren Android Versionen im Code benutzen, es wird automatisch ein Backport benutzt wenn keine native ActionBar verfügbar ist.

sirthias/pegdown. Interessante Markdown-Implementierung in Java, basierend auf einem echten Parser und nicht den sonst oft so üblichen Adhoc-Parsern oder Regex-Sammlungen. Könnte ein interessanter Startpunkt für mich sein, zumal es auch als Idea Projekt daher kommt und ich es daher recht leicht integrieren können müsste.

Neulich im Internet

Ich habe auf Google+ und/oder Flickr neue Bilder hochgeladen. Hier sind sie - unsortiert und unkommentiert.

Neulich im Internet (Schwarzweiß-Ausgabe)

Ich habe auf Google+ und/oder Flickr neue Bilder hochgeladen. Hier sind sie - unsortiert und unkommentiert. Das ist die Schwarzweiß-Ausgabe.

n8han/giter8. Und noch ein praktisches Tool, diesmal nicht zwingend Scala-bezogen, aber sehr praktisch: auf github abgelegte Templates werden benutzt um Projektstrukturen anzulegen. Es gibt da dann auch ein Template für Android-Projekte die Scala verwenden.

Getting started · jberkel/android-plugin Wiki. Und hier das zentrale Element zur Scala-Programmierung für Android. Damit werden diverse sbt Befehle zur Verfügung gestellt, die sich um die Android-Integration und Delivery kümmern.

mpeltonen/sbt-idea. Hmm, interessant - ein sbt Plugin mit dem man Idea Projektstrukturen generiert. Damit kann man dann an den Stellen wo man die IDE benutzen will sie auf das gleiche Projekt loslassen. Zum Beispiel für die Remote-Debug-Einbindung ist die IDE dann doch recht nett.

Android-Programmierung mit Scala. Etwas gestelzte Sprache, aber dafür brauchbarer Inhalt. Der Artikel gibt einen netten Überblick darüber, was man gewinnt wenn man Scala für die Android-Programmierung einsetzt. Ich muss mir das ganze auch noch mal genauer angucken, denn die Tipperei bei Java geht mir manchmal dann doch ein wenig auf den Keks. Ausserdem klingt ein Workflow aus sbt und normalem Editor deutlich schlanker als die diversen Java IDE Umgebungen. Und einige Sprachfeatures von Scala schreien geradezu danach im Android Umfeld eingesetzt zu werden (vor allem Traits).

Postbox — Awesome Email. Von Thunderbird war ich eh nie so begeistert, daher hat mich die Ankündigung, dass es nicht weiter entwickelt werden soll, nicht sonderlich gestört. Aber dass Sparrow jetzt Google gehört und laut den Ankündigungen da wohl auch nichts mehr zu erwarten ist, hat mich schon ziemlich angefressen - das war einer der schnelleren Clients für gmail und hatte auch brauchbare Featureunterstützung dafür. Der Apple Mail Client ist da eher spröde im Vergleich. Postbox behauptet von sich, dass sie auch die gmail Features unterstützen, wäre also mal vielleicht ein Versuch wert, wenn Sparrow irgendwann wegen Bitrot nicht mehr brauchbar genutzt werden kann.

Facebook analysiert Chats zur Verbrechensbekämpfung. Läuft das dann unter dem Projektnamen "vollautomatischer Denunziant"?

sitaramc/gitolite. Nettes kleines Tool zum einfachen Aufsetzen von Repositories zu denen auch andere Zugriff bekommen sollen - die Verwaltung passiert durch ein eigenes Admin-Repository.

OrmLite - Lightweight Object Relational Mapping ORM Java Package. Mal genauer angucken, ein ORM der auch in Android benutzbar ist. Die nackte Programmierung von SQLite mit SQLiteDatabaseHelper macht mir irgendwie nicht so richtig viel Spaß. Das ist mir dann doch etwas zu low-level.

Create a package for Android for Kivy. Ich glaub ich muss mir Kivy nochmal genauer angucken. Sie arbeiten jetzt mit Python for Android, einer eigenen Python-Distribution die einen angepassten Interpreter für Android mitbringt und eine Koppelung über Cython, NDK und JNI an die Android-SDK. Damit kann man also richtige APKs produzieren, die ganz normal auf den Devices installiert werden können - aber alles was die Anwendung selber ausmacht in Python schreiben. Bleibt natürlich die Frage wie schnell das dann läuft - Python wird ja nunmal interpretiert. Aber interessant für Tools wäre es allemal, zumal man Kivy Anwendungen auch mehr oder weniger direkt unter Desktopsystemen laufen lassen kann.

Plop: Low-overhead profiling for Python. Das muss ich mir mal genauer angucken, könnte sehr interessant für die Server in der Firma sein, besonders der geringe Profiling-Overhead von nur 2% klingt spannend. Und die Visualisierung ist definitiv eine der besseren bei Profilern für Python.

Custom Drawn Interface/Android - Lazarus wiki. Hah, es gibt auch für Freepascal und Lazarus (die FP IDE mit Delphi-Einschlag) einiges zur Programmierung von Android Apps. Ist alles wohl noch etwas wackelig und hackig, aber macht Fortschritte. Die Idee ist ganz witzig - eine minimale Java-App mit minimaler Activity und dann über JNI die Integration von Pascal Code. Die Idee ist dort wieder die LCL - also die GUI Library von Lazarus - weiternutzen zu können, so dass man systemübergreifend programmieren kann. Und man kann dann auch den eingebauten GUI Builder benutzen.

Basic4android Basic for Android - Rapid Application Development. Heh, nett, eine Art Visual Basic für Android. Leider nur für Windows. Schade.

Android - Processing. Oh, das ist interessant. Die neueste Processing 2.0 Alpha können auch direkt Android unterstützen - und zwar richtig simpel, einfach eine Processing App schreiben, umstellen auf Android und mit "Run on device" das ganze aufs Device bringen und dort starten. So für die typischen kleinen Hacks klingt das richtig interessant, besonders wenn man mit Grafik rumspielen will (das ist ja der Fokus von Processing).

necessitas / Home / necessitas. Hmm, klingt ganz interessant - eine QT Version für Android inklusive einer IDE zur Programmierung von Apps. Vielleicht guck ich mir das dann auch mal an, wenn mein Nexus da ist.

Lion: Mobile Backup Lokale Time Machine abschalten | Jan-Kaspar Münnich. Keine Ahnung ob ich das schon mal hatte, zu faul zu suchen, aber wen die lokalen Timemachine Backups nerven (z.B. bei kleineren SSDs ist das alles andere als praktisch, besonders wenn man immer mal wieder größere Dateiaktionen macht), mit tmutil disablelocal kann man sie abschalten und mit tmutil enablelocal anschalten. Zum Beispiel bei größeren Aufräumarbeiten macht es Sinn, sie abzuschalten, selbst wenn man sie später wieder aktiviert um die zusätzliche Arbeitssicherheit zu haben. Oder man archiviert einfach alles auf dem Notebook in git oder mercurial, dann braucht man natürlich auch keine lokalen Backups.

Ymacs -- An Emacs-like editor for the Web. Was der Titel sagt. Emacs bootet jetzt auch im Browser. Einen brauchbaren Editor gibts für Emacs aber immer noch nicht.

Lumiya Viewer - About Lumiya. Sehr nett - ein grafischer SL und OpenSim Client für Android. Das muss ich dann doch in ein paar Tagen unbedingt mal ausprobieren. Bei iOS kenn ich ja immer noch nur Pocket MV, aber das kann eben kein grafisches Rendering der Umgebung sondern nur Karten, Chat und son Zeug.

Soulvers Features | Acqualia. "Taschenrechner" rethought. Ich wundere mich eh warum so viele Rechner für den Computerdesktop verzweifelt das UI von alten Taschenrechnern nachbauen. Bei mobilen Geräten macht es durchaus Sinn - das Taschenrechner-UI mit mehrfach belegten Tasten ist durchaus für so kleine Formfaktoren effizient - aber auf dem Computer nehme ich weitaus häufiger einfach eine Python Shell oder ein iPython Notebook. Soulver ist so ein bischen sowas, nur fokussiert auf klassische Berechnungen und mit Verlinkung von Zeilen, so dass man Spreadsheet-ähnliche Lösungsblätter bauen kann. Ganz pfiffig.

Samsung: Kompaktkamera EX2F mit extra lichtstarkem Objektiv - Golem.de. Die kam dann so ganz unerwartet aus dem Off rein ins Spiel. Hat glaub ich keiner auf dem Schirm gehabt - wäre ich noch unterwegs auf der Suche nach einer interessanten Kompakten, dann wär das neben der Sony RX100 wohl eines der interessanteren Geräte. Allerdings ist für mich mitlerweile die GF3 auf den Platz von Kompakten geraten und da kommt selbst die RX100 einfach nicht mit.

iBookstore sperrt Czernin-Sammelband als ‘zu explizit’. Da hört dann einfach jedes Verständnis auf - Kontrollfetischismus und Prüderie passen nicht zueinander. Und leider nicht mehr nur amerikanischen Ursprungs - in .eu ist ja gerade das UK dabei sowas für sich auch als "Standard" zu entwickeln. Schöne verblödete neue Welt ...

Fuse4X – The Easiest and Fastest Way to Create File Systems for Mac OS X. MacFuse macht ja derzeit den Dodo, von daher brauchts ne Alternative wenn man Userspace-Filesystems laden will (z.B. einen SSH Server mounten will). Diese Version sieht auch interessanter aus als OSXFuse, denn OSXFuse will primär Kompatibilität mit dem alten MacFuse, wärend Fuse4X primär Kompatibilität mit der Referenz auf Linux ansteuert und damit die Portierung von Userspace-Filesystems einfacher werden sollte.

Epistle - Android Apps auf Google Play. Und noch ein Markdown-Editor für Android, der hier ist weniger Wiki als mehr einfacher Markdown Editor, aber trotzdem ganz interessant - kommt auch gleich mit Dropbox Unterstützung.