Am Rande notiert ...

Create a package for IOS — Kivy 1.1.2-dev documentation. Kivy – ein GUI Framework für Python – bietet jetzt auch einen Weg die Anwendung für iOS zu packen und zum Beispiel auf einem iPad laufen zu lassen. Keine Ahnung ob das dann auch wirklich im AppStore aktzeptiert wird, die Programmierer haben aber schon  ein Programm auf der Basis rein bekommen, die Chancen stehen also gut.

wbond/sublime_package_control. Das ist allerdings sehr interessant – so langsam scheint sich Ecosystem rund um Sublime Text 2 zu bauen, ähnlich wie bei vim oder TextMate. Macht die Integration von Erweiterungen auf Dauer einfacher.

JulianEberius/SublimeRope. Sehr interessant – eine Integration von Python Rope (eine Refactoring-Library für Python Code, die in Python geschrieben ist) in Sublime Text 2. Damit wird gibt es dann Refactorings direkt in ST2 – eines der Features, die ich in PyCharm lieben gelernt habe (speziell syntaktisch korrektes Rename und extract method) und die in ST2 bisher fehlten. Sollte ich mir vielleicht mal angucken, wobei ich bei Projekten in denen ich Refactoring brauche dann doch eher gleich zu PyCharm  greife, einfach weil noch viele andere Sachen dazu kommen (z.B. der integrierte Debugger). Irgendwo tendiere ich in letzter Zeit doch eher dazu zwischen Editoren für einfache Dinge und IDEs für große Projekte zu wechseln, auch wenn man dann verschiedene Bedienungen lernen muss – die Einsatzzwecke sind einfach zu verschieden um das mit nur einem Tool zu erledigen.

HyperCard, Visual Basic and the Importance of the Novice Developer. Interessanter Artikel, der HyperCard in Relation zu Handheld Developer stellt. Und nachdem ich mit Handheld Developer rumgespielt habe, würde ich sagen die liegen garnicht mal so völlig falsch – es ist eine nette visuelle Umgebung zur Erstellung von iOS Webanwendungen mit integriertem Hosting mit dem man recht fix einen  Prototypen zusammenbaut und sogar Serverside-Scripting in JavaScript bekommt. Ok, es ist nicht ganz billig, aber es gibt ja eine Testversion um zu schauen ob man daran Spaß haben könnte. Die Anwendungen sind tatsächlich auch garnicht so auf iOS fixiert, denn im Prinzip ist es einfach HTML5 und JavaScript – und sollte also auch mit Androiden funktionieren (probiert habe ich das noch nicht).

mtravers/heroku-buildpack-cl. Und noch so ein Lisp-Link – hier hat sich jemand auf Herokus buildpack-capable stack gestützt und für Clozure CL ein Buildpack aufgebaut, so dass man darüber auch Common Lisp in die cloud stellen kann. Wobei das dann weniger Ähnlichkeit mit Google App Engine hat, sondern wohl eher mit sowas ähnlichem wie Amazon EC2.

Heroku | Clojure on Heroku. Und noch mehr Lisp. Mit Clojure kann man jetzt auch auf Herok, der Cloud Plattform, arbeiten. Damit eventuell eine Alternative zu zum Beispiel Google App Engine (auf deren Java-Inkarnation läuft Clojure ja auch).

Ganz tief drinnen bin ich ja immer noch ein Lisp-Fan. Deshalb ist der ecl-iphone-builder von Terje Norderhaug für mich sehr interessant – damit kann man eine Version von Embeddable Common Lisp für das iPhone oder iPad compilieren und dann über XCode auf ein iOS Gerät bringen, dort einen Swank-Server starten und dann remote connecten – und dann mit Lisp auf dem iPhone rumspielen oder programmieren. Ok, die Anbindung an die OSX APIs ist noch ein bischen spröde.

Room 101: The Miracle of become:. Eine der Ecken, in denen Smalltalk deutlich von allen anderen Sprachen abweicht mit denen ich bisher so zu tun hatte (ausser Common Lisp, aber das ist was anderes, da geht ja eh alles), ist die become: Methode, mit denen zwei Objekte im laufenden System ihre Identität tauschen – so dass nach dem Aufruf alle Referenzen auf a nach einem a become: b dann auf b verweisen und umgekehrt. Hier wird erklärt, was das dann in der Praxis bedeutet.

[New App] Impressive: AIDE Is An IDE That Lets You Write And Compile Android Apps On Your Android Device, Begs For The Yo Dawg Treatment. Android-Entwicklung auf Android-Geräten (vorzugsweise Tablets). Das ist ja sowas von meta.

Vagrant – Virtualized development for the masses.. Schaut gut aus, man kann sich per  Kommandozeile mal eben eine Entwicklungsumgebung auf Basis von BSD oder Linux aufbauen – und dann damit arbeiten, ohne dass man haufenweise Sachen manuell installiert. Im Prinzip Appliance-Templates, die per Kommandozeilentool installierbar sind. Und als Host werden eine ganze Reihe von Systemen (auch OSX zum Beispiel) angeboten. Also zum Beispiel auch ein sehr einfacher Weg sich mal eben einen LAMP Stack oder ähnliches unter OSX einzurichten.

PySide for Android thp.io. Das klingt doch schon mal sehr interessant – damit hätte ich dann eine mir deutlich genehmere Programmiersprache zur Verfügung, um Android-Programme zu bauen. Wobei die Startzeit von in Python geschriebenen Activities warscheinlich alleine schon auf Grund der Ladezeiten des Python-Stacks und der Qt Libraries ein bischen heftiger sein könnten. Aber um mal einfach ein paar kleine Tools zum Eigengebrauch zu bauen sollte das egal sein.

pyprocessing – A Processing-like environment for doing graphics with Python – Google Project Hosting. Processing, für Python. Steht abet ja schon I’m Titel.

Temporal Keys, Part 2 | Experimental Thoughts. Man lernt doch immer wieder was neues über PostgreSQL – diesmal PERIOD, ein Datentyp, der Zeitspannen umfasst, und EXCLUDES, eine weitere Form von Constraint auf Tabellen, mit denen sich zusammen mit PERIOD dann Überlappungen von Zeiträumen schon im Datendesign vermeiden lassen. Unter Dynamics AX gibt es sowas in Form der Date Effectivity, wobei das dann noch etwas weiter geht, weil auch automatisches Anlegen neuer Bereiche, Gap-Freiheit von Zeitleisten etc. abgebildet werden, wärend das hier nur die Grundlagen für überlappungsfreie Datensätze sind. Andererseits lässt sich das ja auch wesentlich breiter nutzen, da man beliebige EXCLUDES-Constraints formulieren kann.

ResponsiveSlides.js · Responsive jQuery slideshow. Bin ja Lightbox-Fan, aber diese kleine Library gefällt mir so auf den ersten Blick auch gut – sie ist simpel und einfach einzusetzen und macht nicht tausend Sachen auf einmal, sondern zeigt einfach nur Bilder in einer Slideshow. Speziell zur Animation von Headergrafiken zum Beispiel könnte das ganz interessant sein.

The Julia Manual. Hmm, noch nicht so sicher, was ich von dieser Sprache halten soll, aber interessant klingst halt schon – eine Art Matlab, aber auf LLVM aufbauend und sprachlich deutlich renoviert, mit einigen interessanten Ideen (z.B. werden Julia-Ausdrücke intern in einer  Julia-eigenen Datenstruktur gespeichert, so dass man echte Makros realisieren kann).

Mac Developer Tips » How to Uninstall Xcode. Gibt auch einen offiziellen Weg, wie man XCode los wird. Nur mal so verlinkt, denn leider kann XCode zwar dynamisch nachladen aus dem Netz was man braucht, aber nicht wieder loswerden – dafür darf man das XCode-Zeug löschen und dann neu (kleiner) installieren. Alleine die iOS Klamotten brauchen nämlich 6G, da kann man richtig was sparen wenn man nicht vor hat das iPhone zu programmieren.

Xcode, GCC, and Homebrew. Schaut gut aus – Apple liefert ein bare-bones GCC Paket mit allen Frameworks, damit braucht man nicht mehr das Monsterinstaller-Teil aus dem AppStore laden, sondern kann sich mit einem 170 MB Paket begnügen und trotzdem zum Beispiel Homebrew benutzen um Open Source OSX Programme zu kompilieren (jedenfalls solange sie keine explizite XCode-Features benutzen). Gerade wenn das eigene Programmieren eh in anderen IDEs statt findet und mit anderen Sprachen ist es ganz nett auf die 8 GB die ein installierter XCode belegt verzichten zu können. Ich überlege stark, ob ich meinem Air nicht auch diese Schlankheitskur angedeihen lassen sollte.

stochastic-technologies/goatfish – GitHub. Schaut interessant aus, ein kleines Python-Modul welches SQLite als Persistenzlayer für beliebige Objekte benutzt. Nicht auf dem Level eines ORM, sondern eher auf dem Level eines komplexeren Key-Value-Stores. Ganz interessant für die üblichen kleinen Hacks bei denen man mal schnell Objekt-Persistenz braucht, aber aufgrund der simplen Strukturen eigentlich keinen Sinn in einer ausgebauten Datenmodellierung sieht – oder wenn man während des Prototypings noch gar nicht weiss, wie die Strukturen aussehen werden.

Versteckt in diesem Concatenative IRC Log vom 6.1.2012 findet man etwas von Slava, dem Factor-Entwickler, über dessen (also Factor, nicht Slava) Zukunft – ein paar Bugfixes für die 0.95 plant er noch, aber dann ist für ihn das Projekt im Prinzip abgeschlossen. Schade, denn Factor war immer wieder interessant zum Rumspielen und von den vielen Sprach-Projekten eines der spannenderen, aber in der letzten Zeit ist es doch etwas still darum geworden. Jetzt weiss ich auch warum. Ob die Community genug Power hat um da weiter zu machen wo er aufhört, ist bei der Größe der Community eher fraglich – ja, ein paar Leute sind aktiv und auch durchaus aktiver als er, aber Slava war oft der treibende Faktor (haha) in der Entwicklung und Integration neuer Konzepte und Ideen.

Camelot – See it. Auf jeden Fall mal angucken: das ist ein Python Paket mit dem aus Modellbeschreibungen mit SQLAlchemy automatisch QT GUIs produziert werden. Inspiriert vom Django Administrator liefert es einen schnellen Einstieg in Modell-orientierte Programme, und könnte daher im Bereich von einfachen DB Anwendungen durchaus als eine Art 4GL benutzt werden – und da Python drunter steckt, gibt es all die weiteren Möglichkeiten von Python gleich dazu. Und wenn man das mit SQLite kombiniert, könnte sowas auch recht nett für die üblichen kleinen Desktop-Tools sein, die man so im Laufe seines Lebens zusammendengelt.

generateDS 2.7b : Python Package Index. Ein Kollege hat das gerade gefunden, schaut ganz interessant aus – es generiert aus XSD Files Python Klassenstrukturen. Nicht das sowas unbedingt nötig wäre in Python, aber gerade diskutierten wir darüber, wie man aus einer XSD ein Django-Modell generieren könnte, das Tool hier könnte da ein Ausgangspunkt sein.

IdleX – IDLE Extensions for Python. Da gibt’s tatsächlich ein Projekt, das IDLE auf die Sprünge helfen will und der doch eher stiefmütterlich behandelten Standard-IDE von Python eine ganze Menge neue Tricks beibringt.

Practical Common Lisp – Crawling InterfaceLift with Common Lisp – second try. Interessanter Durchlauf eines einfachen Projektes in Common Lisp bei Einsatz von Quicklisp. Mach wirklich einiges einfacher als wenn man roh in CL programmiert und die ganzen Pakete und Systeme von Hand verwaltet. Das Beispielscript sollte man allerdings nicht unbedingt laufen lassen, denn es verstößt gegen die Nutzungsbedingungen von Interfacelift (und ist nicht wirklich nett zu deren Servern).

arskom/rpclib – GitHub. Da ich letztens soaplib hatte, das hier ist der Nachfolger dazu. Die Kollegen haben damit wohl auch schon Erfahrungen gesammelt (positive Erfahrungen).

Laurence Tratt: Fast Enough VMs in Fast Enough Time. Interessanter Artikel des Entwicklers von Converge (eine Sprache die Ideen von Lisp – Makros – und Python – Einrückung für Scope und teile der Syntax – aufgreift und zusammenführt) über RPython, die Grundsprache hinter PyPy. Damit versteht man auch ein bischen mehr welche Rolle RPython genau spielt (nämlich die Implementationssprache für Interpreter, die automatisch einen JIT erhalten).

ladon 0.7.0 : Python Package Index. Und der hier klingt so ein bischen wie mein alter Toolserver – also ein einfacher Weg um Python-Code als Service bereitzustellen. Dabei wird ebenfalls SOAP unterstützt.

suds. Nur ein SOAP Client für Python, aber dafür explizit die wichtigen Binding Styles (RPC/Literal, RPC/Encoded und Document/Literal) genannt.

About — soaplib v2.0.0beta documentation. Und noch eine neuere SOAP Library für Python, ebenfalls deutlich mehr Aktivität als bei SOAPpy.

pysimplesoap – Python Simple SOAP Library. Klingt als ob ich mir das mal angucken will, denn da sind einige Sachen drin die in SOAPpy fehlen (und da SOAPpy nicht mehr weiter entwickelt wird, ist das eh interessant).

Smile and SmileLab Home Page. Hmm, zum Rumspielen vielleicht nicht uninteressant – Datenanalyse und grafische Aufbereitung mit AppleScript in einer Scripting-Umgebung. Features sehen ganz interessant aus (Diagramme, XML, TCP, HTTP Server und Client …) aus.