Am Rande notiert ...

Sync API – Dropbox. Na endlich, ein normales Sync für Android und iOS. Bisher musste man den Sync ja mehr oder weniger ausprogrammieren, aber so gefällt mir das deutlich besser, wenn man auch auf den mobilen Geräten einfach nur lokale Dateien schreibt und der Sync dann automatisch im Hintergrund passiert.

dashclock – Lock screen clock widget for Android 4.2+ – Google Project Hosting. Bin ja nicht so der Fan von Lockscreen-Widgets, aber das hier ist optisch ganz nett gemacht und erweiterbar ausgelegt und Open Source. Da geht doch was.

php.js – PHP VM with JavaScript. Einfach PHP Ausführung auf den Browser verlagern. Hey, dann haben endlich die Sicherheitslücken in PHP nur noch lokale Auswirkung für den User und nicht mehr für den Server!

The Larch Environment. Mal wieder ein Ansatz zu visueller Programmierung, aber anders als viele andere Ansätze ist es hier ein Mix aus textuellem Python und visueller Darstellung von Code und Datenstrukturen. Schaut ganz interessant aus als Umgebung in der man mit Elementen der Sprache experimentiert.

storm-gen – Lightweight DAO generator for Android SQLite – Google Project Hosting. Hmm, könnte ich mir mal angucken, ein weiterer ORM für SQLite unter Android.

Back To Top: Android vs. iOS. Ein Artikel über ein Kuriosum in Android das mich auch schon öfter irritiert hat. Unter iOS kann man schnell zum Anfang scrollen wenn man den Titelbalken antippt. Unter Android gibt es nichts dergleichen als systemweite Geste. Und es ist auch nicht so einfach so etwas universal zu bauen, wie dieser Artikel erklärt.

the_silver_searcher – Interessant für jeden der wie ich große Sourcetrees verwaltet und durchsuchen muss. Im Prinzip sowas wie ack – also ein automatisch auf ganze Hierarchien laufender Grep, der zusätzlich Files nach verschiedenen Pattern filtert, wobei hier auch die gitignore und hgignore berücksichtigt wird. Und das ganze nicht wie ack als Perlscript, sondern in C und mit diverse native libraries und diversen Optimierungen für die Suche. Schneller gehts nur noch mit vorgenerierten Indizes (die aber ihre eigenen Probleme mitbringen).

Blaze — Blaze 0.1-dev documentation. Hmm, hätte schwören können ich hätte das schon gehabt, aber egal. Blaze ist im Prinzip ein Compiler, der numpy ähnlichen Code umwandelt und an Runtimes zur evaluierung übergibt. Speziell unterstützt es dabei auch viele parallel arbeitende Runtimes und parallelisierung von Evaluierungen. Auch sind die Datentypen deutlich weiter ausgebaut als bei numpy – die Autoren selber betrachten Blaze als die natürliche Weiterentwicklung von numpy. Was mich daran fasziniert ist die Integration von einer recht weit ausgebauten Array-Programming-Library in Python – seit ich mit J rumspiele finde ich Array-Languages faszinierend.

IOIO for Android – SparkFun Electronics. Auch ein interessantes Projekt, bin von einem Bekannten heute darauf hingewiesen worden: ein IO Board für Android-Smartphones. Es wird einfach über USB angesteckt und wird über eine simple Java Library angesprochen. Da drauf sind dann diverse analoge und digitale Eingänge und Ausgänge, I2C und andere Schmankerl. Man kann sogar ein Bluetooth-Kit dafür bekommen, wenn man nicht per Funk damit kommunizieren will. Preislich vielleicht etwas höher als man es aus dem Arduino Umfeld gewöhnt ist, aber trotzdem, klingt cool. Ich werd aber erstmal auf mein Smartduino warten, das hat auch Android-Unterstützung.

MariaMole | dalpix.com. Wem die normale Arduino IDE zu simpel ist (wobei ich sagen würde, gerade die Einfachheit ist der große Bonus), kann sich ja mal dieses Projekt angucken. Das ist eine eher klassische IDE mit der man Arduino-Programme bauen kann.

Java 3D Engine | Learn Java Programming in 3D. Sieht sehr interessant aus, vor allem weil es eine enge Integration in eine IDE (BlueJ) mit Fokus auf Programmieren lernen hat. Und mittlerweile kann man daraus auch direkt Android Applikationen generieren und damit zum Beispiel eigene Spiele oder Spielereien bauen.

imwilsonxu/fbone · GitHub. Gar nicht so uncool. Bin zwar eigentlich Djangonaut, aber Flask hat mich schon immer ein bischen interessiert, weils halt gerade für kompaktere Projekte durchaus eine gute Basis ist. Durch die Integration von HTML5 Boilerplate und CSS Bootstrap könnte das hier auch für kleine Webprojekte mit Frontend interessant sein. Wobei Flask bietet durchaus genug Luft nach oben um auch größere Sachen damit zu realisieren – ist halt nur so, dass ich bei größeren Sachen oft doch eher zu Django greife. Aber gerade für den typischen Webservice mit zusätzlicher HTML Präsentation der Daten kann das hier wirklich praktisch sein.

Cubes 0.10.1 Released – Multiple Hierarchies Data Brewery. Hatte ich glaube ich schon mal, aber hey, das Fernsehen wiederholt ja auch dauernd. Und es sieht immer besser aus, was man damit machen kann. Muss ich mir wirklich mal näher angucken, da gibts so ein Projekt in dem ich glaube ich was damit anfangen könnte. Muss allerdings mal gucken wie ich das integriert bekomme, denn mein Projekt benutzt Django und dessen ORM und Cubes benutzt SQLAlchemy. Könnte interessant werden, das zu vermischen.

The SQLite RTree Module. Und noch eine Erweiterung für SQLite, diese hier eine Standarderweiterung. R-Trees sind Baumstrukturen die optimiert sind für Range-Abfragen – also Wertebereichabfragen wie z.B. „ist dieses gegebene Rechteck in der Liste der Rechtecke enthalten“.

The Gaia-SINS federated project home-page. Nur schnell markiert, falls ich es mal brauchen könnte – spatiale Daten (GIS-Daten) in SQLite mit einer Erweiterung effizient indizieren und abfragen können. Da ich erklärter Fan von SQLite bin, durchaus interessant. Und es ist als dynamisch ladbare Erweiterung realisiert (tuts natürlich nur wenn das SQLite das man benutzt auch für Erweiterungen freigeschaltet ist – leider oft nicht der Fall, Installation könnte also eigene Neukompilation von SQLite erfordern, aber so schrecklich ist das nicht).

plan 9 war das System, welches die Ideen von Unix noch weiter getrieben hat und darauf aufbauend ein verteiltes System mit verteilten Ressourcen und seamless networking schon in den späten 80ern ermöglicht hat. Einfach mal drüber nachdenken wo wir heute wären, hätte sich das durchgesetzt. Tabletts, die direkt Netz Ressourcen nutzen, die direkt komplexe Anwendungen auf CPU Servern im Netz nutzen und auf die der Entwickler beim Debugging direkt zugreifen kann von seiner Workstation, ohne irgendwelche Hacks.

ActiveAndroid | Active record style SQLite persistence for Android. Hmm, mal angucken – ein weiterer ORM für Android, aber einer mit recht interessanter Syntax. Der Source verspricht auch noch ein paar mehr Sachen wie z.B. Joins. Wenn dann auch noch Migrations brauchbar abgebildet werden (daran krankt es erschreckend oft), könnte mich das Projekt durchaus motivieren mal mein kleines Bastelprojekt umzustellen.

Official Website | FreeBASIC Programming Language. Gerade drüber gestolpert (fragt nicht), ein freier Basic-Compiler der sich an QuickBasic orientiert.

The ElfData Plugin. For future use, etwas effizientere Stringklassen und Strukturen als die normalen in RealBasic. Und Basisstrukturen für Parser und Tokeniser. Irgendwann will ich ja doch mal einen eigenen Markdown-Prozessor für mein Desktopwiki bauen anstelle dauernd externe Tools aufzurufen.

A Cloud Storage Programming Interface – Store everything. Das sieht ganz interessant aus – eine C# Library zum Zugriff auf diverse Cloudspeicher. Unterstützt auch Dropbox und vor allem unterstützt es auch Mono for Android und MonoTouch, wodurch ich es als Basis nehmen könnte um mein kleines Android-Projekt mal testweise auf C# umzuschreiben.

F# and MonoGame on the Mac. Wer auf dem Mac mal Games bauen will hat mit MonoGames eine interessante Option. Es handelt sich dabei um eine Reimplementation der Microsoft XNA APIs. Also im Prinzip einfach die Weiterführung von Mono in den Gaming-Bereich. Ziemlich coole Sache – und weil eine coole Sache alleine nicht reicht, gibts in dem verlinkten Artikel das ganze mit Integration in F#, der funktionalen Sprache für .NET von Microsoft. Leider wird für iOS MonoTouch und für Android MonoDroid benötigt, wodurch es dort einen leichten Anschaffungswiederstand zu überwinden gilt (sind nicht ganz billig die Lizenzen, für Hobbyisten also vielleicht nicht so ganz der Knaller).

couchbase/Android-Couchbase. Als Alternative zu SQLite unter Umständen interessant – vor allem, wenn man weniger mit strukturierten Daten sondern mehr mit Dokumenten arbeitet. Denn CouchDB bietet da echte Vorteile. Zusätzlich bekommt man damit eine Sync-Infrastruktur zur automatischen Replikation von Datenbankänderungen auf einen zentralen Server. Und zwar ohne wie bei SQLite Lösungen dafür Textexporte mit Dropbox-Sync zu bauen. Wobei letzteres erstaunlich gut funktioniert in den Situationen in denen ich das brauche.

Processing on iOS. Gerade drüber gestolpert. Drin was drauf steht – processing.js in einer spartanischen aber nutzbaren Mini-IDE. Nett für zwischendurch. Und passt irgendwie gut zum Tablett. Sketches beenden ist etwas hakelig, man muss oben auf einen Balken tippen oder drücken oder sowas, was einem keiner verrät. Aber sonst eigentlich alles klar. Es gibt noch zwei weitere die ich gefunden habe, eine kostet 89 cent und liefert eine Oberfläche analog PDE und die andere ist pr0c0d1n6 – ist zwar recht teuer mit vierfuffzig, aber hat dafür eine wirklich brauchbare IDE.

OpenXION. Der Vollständigkeit halber erwähnt: eine Open-Source-Implementierung einer xTalk-Sprache (die Familie zu denen HyperTalk – die Sprache von HyperCard – gehört) in Java. Könnte man zum Beispiel in eigene Projekte als Scriptsprache reinbringen.

uliwitness/Stacksmith. Und weil wir gerade mal wieder bei HyperCard sind – Stacksmith will einen Clone für OSX bauen. Wobei ich mich schon frage, warum sie selbst bei der grafischen Darstellung sich exakt am (rein schwarz-weißen) Original orientieren.

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.

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.