FPC New Features 2.6.0 - Lazarus wiki. Und weitere nette Änderungen bei FreePascal, besonders die neuen Delphi-Sachen werden sicherlich den einen oder anderen interessieren, oder auch der weiter ausgebaute ObjectPascal Dialekt für die Cocoa-Programmierung unter OSX. Wenn jetzt noch Lazarus von Carbon auf Standard Cocoa umstellt und damit dann auch voll 64bittig wird, wirds richtig interessant auch für normale Arbeiten damit. Jedenfalls wenn man kein Objective-C mag. Oder wenn man die Delphi-ähnliche Umgebung der XCode-Umgebung vorzieht.
programmierung - 23.8.2011 - 5.1.2012
charles leifer | Updates to peewee, including atomic updates, select related and basic transactions. Der kleine ORM für Python wird langsam erwachsen und lernt Transaktionen und atomare Updates und select related. Gerade für kleinere Tools sehr interessant, weil man sich einfach die ganze Infrastruktur eines vollen Django-Projektes spart und den ORM als einzelnes Python-File einfach mitkopieren kann.
Distribunomicon | Learn You Some Erlang for Great Good!. Interessanter Artikel über distributed processing mit Erlang und die Fallen in die man tappen kann (z.B. der Hinweis darauf, dass remote links einem einen Event-Sturm produzieren wenn das Netzwerk ausfällt über das die remote links gehen).
Sublime Text. Hmm, gerade mal angeguckt und ganz verdutzt festgestellt, das ist ja ein ziemlich netter Editor. Bei diversen anderen in letzter Zeit hab ich zwar gedacht, ok, nett gemacht, aber nicht wirklich sinnvoll nutzbare Features. Aber der 10000-feed-Overview für den gerade aktiven Source zum Beispiel ist erstaunlich gut benutzbar - man erkennt eben doch die Struktur seines eigenen Sources wieder und findet damit schnell Positionen im Source wieder. Und die Idee der Commands über die Command-Palette ist auch wirklich brauchbar. Und Python-Plugins klingt auch gut, auch wenn ich mir das API und die Leistungsfähigkeit da noch nicht genauer angeguckt habe. (jaja, ich weiss, gerade habe ich noch davon geredet wie gut mir PyCharm gefällt und nun schon wieder ein Editor ... ist halt die ewige Suche nach der Perfektion!)
web2py. Als freies Buch zum Online lesen oder zum Kaufen auf totem Holz oder als PDF. Kleines, kompaktes Webframework in Python - wem Django zu mächtig ist, kann sich vielleicht das hier mal angucken.
Mac App Store - Clozure CL. Eine der netteren freien Common Lisp Implementierungen ist jetzt im App Store bei Apple. CCL ist im Prinzip die freie und portable Variante des alten Macintosh Common Lisp, mit einer Integration in Objective C Frameworks. Also durchaus interessant damit rumzuspielen wenn man sowohl Lisp als auch Cocoa mag.
Clay Programming Language. Mal wieder eine neue Programmiersprache. Diese hier zielt auf Systemprogrammierung (also auf das C-Lager) ab und hat einige interessante Features. Besonders interessant ist für mich die Umsetzung von Type Inference und Generic Functions - das ist eine der eleganteren Lösungen die ich in der letzten Zeit gesehen habe.
Thoughts on Python 3. Etwas ausführlicher als manches "Python 3 hat sich geändert und das finde ich doof" das man so im Web liest, der Artikel geht konkreter auf die derzeitigen Probleme mit Python 3 ein.
Learn Smalltalk with ProfStef. Amber hatte ich ja schon mal, das Smalltalk 80 auf JavaScript-Basis. Kommt jetzt mit einem node.js basierten Webserver der minimales WebDAV implementiert und ist von der Sprache zumindestens soweit kompatibel, dass der Autor das ProfStef Tutorial portieren konnte - und das hab ich hier verlinkt. Einfach mal 5 Minuten mit einem Smalltalk in der Webseite spielen.
Open Object Rexx. Nur so als Softwarearchäologe hier festgehalten, dass es jetzt eine Open Source Implementierung von Object Rexx gibt. Wofür auch immer man das wollen würde.
hangout-disco - Renders a WebGL room with avatars for each participant of a Google+ Hangout, with the possibility to play music, etc. - Google Project Hosting. Luschtig - sowas wie eine virtuelle Hangout Welt.
Zinc HTTP Components. Interessantes Projekt das sich zur Aufgabe gemacht hat eine möglichst vollständige Unterstützung für alle Aspekte des HTTP Protokolls zu liefern. Interessant deshalb, weil sie von der Protokolldefinition ausgehen und nicht wie in vielen anderen Fällen die HTTP Implementierung nur soweit da ist, wie sie für das jeweilige Web-Framework notwendig waren.
Tornado on Pypy benchmarks - Tornado Web Server | Google Groups. Bin ja bekennender PyPy-Fan und mit der 1.7er hat PyPy ordentliche Arbeit geliefert - die Memory-Leaks der 1.6er scheinen raus zu sein und man kann jetzt auch langlaufende Prozesse (wie hier in dem Post einen Tornado Webserver) damit laufen lassen. Besonders für komplexere Template-Engines und Situationen wo man intern mit größeren Datenstrukturen arbeitet um Ergebnisse zu produzieren ist es eine echte Alternative - aber bitte dran denken, PyPy braucht mehr Speicher für gleiche Arbeit.
GemStone Seaside | About. Apropos Seaside: es gibt eine ziemlich coole virtuelle Appliance (also vorgekautes virtuelles Plattenimage) zum Einhängen in VMWare Installationen mit einer GemStone/S Installation inklusive Seaside und einem Squeak als IDE für die Entwicklung für dieses System. Wer also mal sehen will, wie die großen Kinder mit Smalltalk arbeiten, hier entlang und runterladen und ausprobieren.
Python Math | Python for iPhone/iPad/iPod Touch - Finger weg vom letzten Update, denn da kann man nicht mehr Scripts von aussen in das Tool bringen, was es komplett nutzlos macht. Der Autor verspricht zwar einen Editor in einem Update, aber ob der auch nur annähernd brauchbar sein wird muss such erst zeigen. Klar, das ist nur eine der unsinnigen Apple Policies, die er umgesetzt hat - aber die Art, wie er einen Update reinstellt und nur in der letzten Zeile der Updatei formation darauf hinweist, ist schon echt Mist. Denn wer das übersieht hat ein derzeit unbrauchbares Teil auf dem Pad oder Phone.
Welcome to NeuroLab’s documentation! — NeuroLab v0.2.1 documentation. Ok, ich brauche es nicht direkt jetzt (und ehrlich gesagt weiss ich nicht, ob ich es jemals brauchen werde), aber was solls, ich bin eben einfach ein Fan von Neuralen Netzen. Und Python. Und daher mal ein Verweis auf eine Library, die eine ganze Reihe von Algorithmen aus dem Bereich für Python liefert.
Technical Overview : Dart : Structured web programming. Von den ganzen derzeitigen "wir erfinden JavaScript neu" Ansätzen ist der hier fast schon am interessantesten - im Prinzip ist es eine klassische OO Sprache mit einem C#-ähnlichen Featureset und Abbildung auf JavaScript. Aber was bei diesem System interessant ist: es ist von vornherein darauf ausgelegt die Entwicklung auch gleich in einer Browserumgebung zu machen. Aber eben nicht stumpf innerhalb eines Browsers, sondern als eigene IDE, die einen Runtime-Browser integriert. Und der Entwickler des Projektes ist der Newspeak (voriger Post) Entwickler, der hat da schon sehr interessante Ideen für eine IDE gezeigt. Derzeit ist der Dart-Editor allerdings weitaus stärker an typischen IDEs orientiert als an den meiner Meinung nach innovativeren Ideen der Datenbank-basierten IDE.
Newspeak » The Newspeak Programming Language. Hatte ich glaube ich schon mal, linke ich jetzt auch nicht wirklich wegen der Sprache selber, sondern wegen der dort vorgestellten IDE - die läuft innerhalb von Squeak, ist aber weitestgehend autonom und sieht für mich sehr interessant aus. Vom ersten drübergucken würde ich sagen, da ist jemand sehr vom alten Apple Dylan inspiriert - die hierarchische Darstellung von Klassen und Methoden, die Verlinkung und die generelle Präsentation des Sources als eine Art hyperlinked Database sieht sehr gut aus.
Radius limited searching with the ORM | Neogeo ramblings with a Python twist. Wenn ich mir das so angucke, da sind schon wirklich nette Features in GeoDjango drin. Leider habe ich derzeit kein Projekt bei dem ich es gebrauchen könnte, also nur mal für später geblogmarkt. Auf dem Blog gibts auch weitere interessante Artikel rund um GeoDjango.
Pinax. Und wieder mal was das ich glaube ich schon hatte. Aber aus aktuellem Grund nochmal auf den Radar gekommen und daher werde ich mir das etwas näher angucken. Sowas wie ein Bauchladen für Django-Projekte mit Fokus auf Social Networks und Community Sites. Klingt auf jeden Fall sehr interessant - ein bischen wirkt es wie Drupal mit Python und auf Django (also eher nicht fertige Sites sondern Bausteine und Framework zur Erstellung derselben).
Codify – iPad. Hey, schaut nett für das iPad aus - eine Lua IDE, bei der man allerdings die Ergebnisse nicht als eigene App bereitstellt, sondern eben innerhalb der Umgebung laufen lässt. Nicht so schlecht als Ansatz, die alten Basics waren ja auch nix anderes - und man kann auf dem iPad ohne weitere Hilfsmittel rumspielen, Grafik und Multitouch und son Zeug tuts auch. Vielleicht genau das richtige zum Doodeln unterwegs.
Galileo Computing :: Apps entwickeln für iPhone und iPad - index. Da ich wieder mal Zugriff auf einen iOS Developer Account habe, mal geblogmarkt. Frei zu lesendes Buch über iOS Entwicklung, das auch mit den neuen Sachen in iOS und XCode arbeitet (jedenfalls mit einem Teil der neuen Sachen). Beim Schockwellenreiter gesehen. Buch kann man natürlich auch einfach kaufen, wenn man totes Holz will.
Mellow Morning » Django Facebook 3.2 – Simple image upload and wall posts. Da ja leider FB immer noch das einzige social network mit einem ernstzunehmenden API ist (sorry, aber G+ hat kein ernstzunehmendes API solange die nur einen Level ala RSS-over-JSON bieten und das Diaspora-API ist leider noch intern - aber Diaspora ist ja eh Alpha, da kommt sicher noch einiges bei der Beta), muss man sich ja notgedrungen weiter damit beschäftigen. Und die Neuerungen von django-facebook schauen so aus als ob sie einige Schmerzen da abnehmen könnten (und als ob da vielleicht die eine oder interessante Spielerei für mich interessant werden könnte).
Mojolicious - Perl real-time web framework. Schaut ganz interessant aus, einfach weil es einen recht schlanken Eindruck macht und nicht zu viele Perl-Perversitäten voraussetzt. Klar, kann man auch mit Ruby oder Python haben, Microframeworks sind jetzt nicht so wahnsinnig spannend, aber soll ja noch Leute geben die mit Perl arbeiten.
Python Math | Python for iPhone/iPad/iPod Touch. Ziemlich cool, das ist ein echt brauchbares Python auf dem iPad. Keine GUI module oder sowas - nur eine leicht erweiterte Shell und die Standard Library sowie sympy. numpy, scipy und matplotlib sind in der Überlegung. Implementierung ist erstaunlich brauchbar - für kleine Spielereien reichts und man kann das Transcript per Mail exportieren und Files per "Öffnen in ..." Funktionen z.B. aus Mail oder Dropbox holen.
Cleaning… – Marco.org. Da ist doch noch einiges etwas seltsam bei iOS 5. Hier das Problem der cache und tmp Verzeichnisse, die jetzt sehr viel aggressiver bereinigt werden, was dazu führt, das manche Anwendungen wesentlich öfter Daten aus dem Netz holen müssen (oder gegen die Apple Guidelines verstoßen und Dokumente doch im Cache speichern). Betrifft vor allem Offline-Reader, denn deren Inhalte sind ja per Definition rekonstruierbar, gehören also in den Cache - dort werden sie aber unter Umständen mal eben beseitigt, was das ganze Offline-Readen ad absurdum führt. Ungut.
How to speed up the Android Emulator by up to 400%, Nuxeo Developers Blog. Mal geblogmarkt, denn wir werden wohl demnächst etwas mit Apps rumspielen und der Android Simulator ist grottenlahm - damit zu testen macht fast keinen Sinn, da man gerade bei Phonegap Anwendungen das Browserrendering mit Papier und Bleistift und Radiergummi überholen könnte, so langsam ist der Bildaufbau. Mit der Lösung hier hat man zwar keinen exakten Test eines Android-Gerätes, aber zumindestens für die ersten Feeling-Tests sollte es ausreichend sein, da es gerade bei Phonegap eher darauf ankommt, dass die Rendering-Engine die gleiche ist als darauf, dass die CPU die gleiche ist.
SuperCollider » About. Das hier ist was unter dem vorigen Projekt als Basis benutzt wird. SuperCollider hat seine eigene Programmiersprache, kann also auch für Live Coding und ähnliches verwendet werden.
Home // Overtone. Bin ja immer begeistert von Krachmachern - das hier ist ein Tool zur interaktiven Soundprogrammierung und Livecoding und Instrumentenbau (also digitalem natürlich), und das ganze in Clojure geschrieben. Vielleicht für den einen oder anderen ein Grund sich mal Clojure näher anzugucken.
virtualenvwrapper 2.10.1 — virtualenvwrapper v2.10.1 documentation. Hmm, hatte ich glaube ich schon mal, aber da ich mitlerweile fast ausschließlich mit virtualenv arbeite sollte ich es mir nochmal angucken - das scheint wirklich einiges zu vereinfachen (allerdings scheint es davon auszugehen, dass alle Umgebungen in einem Hauptverzeichnis liegen, da müsste ich warscheinlich ein bischen was bei mir anpassen).
Straight Talk on Event Loops. Nach seinem wunderschönen Rant "Node.js is Cancer" geht Ted Dziuba nochmal etwas mehr darauf ein, was mit reinen async-event-Lösungen wie node.js das Problem ist. Als Programmierer eines recht alten Projektes in Python - dem Toolserver for Python - kann ich das ganze durchaus nachvollziehen. Gibt gute Gründe, warum ich in die eventloop integrierte Threads für parallele Verarbeitung bei Bedarf realisiert habe. Dieses "async ist schneller und besser als threads" ist genau so ein Hype-Unfug wie "NoSQL ist schneller und besser als SQL" und anderen Säuen die derzeit so durchs Dorf getrieben werden.
dust ist eine Template-Library für JavaScript, die in Kanso benutzt wird. Von der Funktionalität her sehr ähnlich zu Django Templates, allerdings mit leicht abgewandelter Syntax.
Kanso Framework. Das klingt sehr interessant - ein Framework für die Programmierung von JavaScript CouchApps. Also Anwendungen, die in JavaScript geschrieben sind, und komplett aus einer CouchDB-Installation laufen. Der Server muss einfach nur eine CouchDB Instanz bieten und das wars schon an Voraussetzungen - und da CouchDB von Hause aus Replikation mitbringt, kann man problemlos hochskalieren oder Fehlertoleranz realisieren - einfach einen Cluster aus mehreren CouchDB Instanzen bilden. Genauso interessant sind Replikationen der Produktionsdatenbank auf einen anderen Topf wie z.B. die private Entwicklermaschine oder diverse andere Szenarien die mit CouchDB so machbar sind. Da das ganze auf CommonJS als Sprachbasis aufbaut ist JavaScript auch nicht ganz so schlimm als wenn es roh verwendet würde.
StatsModels: Statistics in Python — statsmodels v0.3.0 documentation. Nicht im Fokus für mich im Moment, aber mit dem Modul kann man Zahlen auf ihr statistisches Modell hin untersuchen.
pandas: powerful Python data analysis toolkit — pandas v0.4.1 documentation. Hatte ich glaube ich noch nicht, aber ist recht interessant für Zahlenfresser und Listenvergleicher: ein recht mächtiges Toolkit zur Analyse von Massendaten, speziell mit Behandlung von fehlenden Daten und Alignment von Daten auf eine gemeinsame Basis. Insgesamt nicht ganz uninteressant für ein Projekt auf der Arbeit, bei dem ich häufiger mal mit größeren Datenmengen aus Fremdquellen zu tun habe.
websites - How do I suppress the address bar in mobile Safari? - Apple - Stack Exchange. Geblogmarkt weil ich einfach nur das ganze mir mal merken will - ist nämlich recht praktisch für Webanwendungen wenn die alberne Adressleiste nicht mehr da ist (jedenfalls wenn man mit Single-Page-Anwendungen arbeitet die eh das meiste auf dem Client machen)
"Algorithm" is Not a Four-Letter Word. Algorithmen und deren Vielfalt und warum Programmierer sich mit ihnen beschäftigen sollten (Stichwort: mentales Bankdrücken) am Beispiel von Algorithmen zur Generierung von Labyrinthen.
psycopg2-ctypes - GitHub. Wer mit PyPy rumspielt und einen Datenbanktreiber braucht, der hier könnte helfen - das ist der klassische psycopg2, aber in einer Version die auf ctypes aufbaut und damit effizient in PyPy integriert werden kann.
django-tastypie - GitHub. Als Alternative zu django-piston klingt das hier sehr interessant - zum Beispiel liefert es automatisch alle CRUD Features über unterschiedliche APIs ohne eigene Programmierung. Gerade für Projekte die stärker auf Webapp abzielen (und wo somit größere Teile des Codes lokal im Client in JavaScript laufen) interessant.
coleifer/flask-peewee - GitHub. Interessantes kleines Projekt, dass mit Flask und Peewee arbeitet und daraus einen etwas vollständigeren Stack für Python Webprogrammierung macht. Liefert auch ein Admin-Interface, wie Django - dazu wird dann wtforms benutzt. Flask selber benutzt Jinja2 und Werkzeug unten drunter - dadurch kommen z.B. gute Debugging-Tools und mächtiges Templating auch rein. PyCharm in der kommenden Version 2 wird übrigens auch Jinja2 auf dem gleichen Level unterstützen wie Django Templates (Template-Debugging mit Breakpoints und Steppen im Template!).
Poor Mans IDE Plugin PMIP - Google Project Hosting. Wer sich von m einem Post über PyCharm als Python IDE anstecken hat lassen und jetzt auch die IDE gerne erweitern möchte - mit dem Plugin hier kann man relativ einfache Scripte mit Ruby bauen und muss nicht immer das ganz große IntelliJ SDK rausholen.
Python for Facebook - Welcome. Da Facebook mal eben im Sommer den Support für das Python SDK eingestellt hat und unter anderem auch den gesamten Bugtracker geleert hat, haben sich Python-Entwickler für Facebook-Apps anderweitig gesammelt - das hier ist einer der Plätze. Gibt aber wohl noch den einen oder anderen Ort im Netz, wo Leute Patches und Fixes sammeln.
facebook/python-sdk - GitHub. Auch noch wichtig, das offzielle Python SDK für Facebook Open Graph Applikationen. Damit kommt man an die ganzen Sachen direkt von Python dran - also auch ganz ohne Django (wenn man das denn will).
Django Facebook 2.0 – Integrating Facebook. Weils im Moment interessant ist (jaja, ich weiss, alles macht G+, aber man soll ja antizyklisch handeln), hier ein Link zu einer Django-Library mit der man Open Graph Apps für Facebook bauen kann. Könnte gerade zusammen mit der neuen Timeline von Facebook wieder interessant werden. Und G+? Naja, solange die nur armselige Spar-APIs liefern, ist das für Bastler schlichtweg uninteressant.
storm auf GitHub. Twitter hat sein verteiltes Eventsystem als Open Source veröffentlicht. Klingt sehr interessant - im Prinzip ein lastverteilter und fehlertoleranter RPC Dispatcher mit Garantie für die Ausführung jedes Events. Generell da interessant, wo man hohe Events/sec verarbeiten muss - Storm bietet dort eine einfache Skalierung bei Bedarf durch einfaches zuschalten von neuen Knoten. Und das ganze ist auch noch recht unabhängig von verwendeten Programmiersprachen (Ruby und Python sind als weitere Sprachen neben JVM-Sprachen schon gleich dabei).
PLEAC-Objective CAML. Wer das Perl Cookbook kennt, ist hieran vielleicht interessiert - es sind einfach die Problemstellungen aus dem Perl Cookbook in Objective Caml. Generell liefert das PLEAC Projekt das gleiche für diverse Programmiersprachen, OCaml ist aber neben Perl und Groovy die einzige Sprache mit 100% Abdeckung.
Offline Web Applications - Dive Into HTML5. War beim ersten Durchgucken irgendwie besser beschrieben als in anderen Quellen die ich bisher gelesen habe. Von daher mal geblogmarkt.
albertz/Pyjector - GitHub. Interessant für Python-Hacker die keine Probleme damit haben ihr System etwas zu destabilisieren, dafür dann aber eine Python-Shell in jedem Cocoa Programm zu bekommen. Kann man gut nutzen um z.B. im Browser rumzuhacken. Eine Verwendung zeigt der Autor mit seiner Erweiterung für Chrome mit der man Webapps auch unter OSX erzeugen kann. Das Feature gibts ja derzeit nicht in der veröffentlichten OSX Version von Chrome.
PyPy Status Blog: We need Software Transactional Memory. Interessanter Artikel, warum wir STM wollen, auch wenn es vielleicht nicht offensichtlich ist - nämlich um die komplexeren Primitive der höheren Sprachen wir Python Transaktionsfest zu machen. Und wenn wir STM als Implementationsdetail haben, dann können wir das auch einfach dem Programmierer verfügbar machen.
Why Im not on Google Plus - Charlies Diary. Charles Stross über Sachen die Programmierer oft falsch denken wenn sie an Namen denlen. Hier speziell über Google+