LinuxTuples |
Feb. 28, 2010, 10:58 p.m. |
LinuxTuples - ein Tuple-Space Server für Linux, in C geschrieben, aber mit Python-API. Sollte ich mir mal näher angucken, könnte interessant für verteilte Apps sein. Wobei ich ja lieber eine python-lokale Implementation auf Basis von Standard-Prozess-Kommunikationsmitteln hätte, um vernünftiger mit multiprocessing in Python arbeiten zu können. Gerade für einfache Tools oder Webapps wäre es einfacher manche Sachen direkt vom dort zu forken und dann über TupleSpaces zu kommunizieren. Aber dafür immer gleich einen extra Server zu starten, das ist es irgendwie auch nicht.
|
Programmierung, Python |
Johnny Cache v0.1 documentation |
Feb. 28, 2010, 8:53 p.m. |
Johnny Cache v0.1 documentation - unbedingt mit einem Projekt in der Firma mal ausprobieren, denn das Modell ist ziemlich heftig und ich könnte damit ein paar der Probleme elegant lösen für die ich derzeit Sonderlösungen habe. Ist auch ziemlich ähnlich zu meinem ersten Ansatz für dieses Problem (allerdings habe ich die grössten Performance-Probleme jetzt durch redundante Datenhaltung und automatische Updates an Objekten ebenfalls recht elegant gelöst).
|
Django, Programmierung, Python |
rfc1437 / django-standalone / overview — bitbucket.org |
Feb. 28, 2010, 6:59 p.m. |
rfc1437 / django-standalone / overview — bitbucket.org - da ich immer mal wieder auf bitbucket, github oder google code verweise, hier mal der Verweis auf ein eigenes kleines Paket das ich selber auf bitbucket jetzt habe: django-standalone. Entstanden weil ich für kleine Scripte und Tools immer mal wieder einen ORM brauchen könnte, aber ich dafür möglichst wenig Umstand haben will - nicht ein ganzes Django-Projekt aufsetzen, sondern einfach ein paar Modelle in meinem Script definieren und per Parameter die DB initialisieren und danach benutzen. Möglichst auch mit sqlite3. Mit der Lib hier geht das ganz wunderbar und ich kann mal wieder eines meiner Dauerprojekte - "schreibe einen simplen ORM für simple Scripte selber" - von der ToDo-Liste streichen.
|
Django, Programmierung, Python |
Kotka : Projects : Clojure : VimClojure |
Feb. 28, 2010, 1:57 p.m. |
Kotka : Projects : Clojure : VimClojure - und wer wie ich ein VIM-Fan ist, wird sich vielleicht über diese Clojure-Einbettung freuen. Viele der Features kommen schon deutlich an die Leistungsklasse von IDEs wie Netbeans oder Eclipse heran. (obwohl die Clojure-Plugins für Eclipse und Netbeans auch eine sehr gute Figur machen).
|
Clojure, Programmierung |
A simple web application in Clojure using ring and enlive « LShift Ltd. |
Feb. 28, 2010, 1:47 p.m. |
A simple web application in Clojure using ring and enlive « LShift Ltd. - und hier ein kleines Beispiel, wie man mit ring und Clojure dann tatsächlich arbeitet. Sieht ganz interessant aus, könnte für mich besonders für Webservices in Clojure interessant sein.
|
Clojure, Programmierung |
mmcgrana's ring at master - GitHub |
Feb. 28, 2010, 1:46 p.m. |
mmcgrana's ring at master - GitHub - nette kleine Lib auf dem Level von Python WSGI. Also absolut minimale HTTP-Bindings für Clojure mit der Möglichkeit das ganze über eine ganze Reihe von verschiedenen Techniken dann zu betreiben. Besonders interessant für die Fälle, wo man eben nicht in das Korsett eines fertigen Frameworks wie Compojure gesteckt werden möchte.
|
Clojure, Programmierung |
Dynamic Web Development with Seaside |
Feb. 28, 2010, 1:20 p.m. |
Dynamic Web Development with Seaside - wer mal mit Seaside loslegen will, findet hier vielleicht den Ansatz dazu. Freies Online-Buch (gibts auch als kostenpflichtiges PDF oder print-on-demand über Lulu) über ein ziemlich beeindruckendes Web-Framework für Smalltalk. Und da es mitlerweile auch mit GNU Smalltalk läuft, ist auch der Betrieb als headless Server auf einer eigenen Root-Kiste kein großes Problem mehr.
|
Programmierung, Smalltalk |
inessential.com: On switching away from Core Data |
Feb. 28, 2010, 1:14 p.m. |
inessential.com: On switching away from Core Data - scary read. Wirklich - klar, ORMs sind nett. Und praktisch. Aber irgendwie erschreckt es mich, wenn Programmierer wie Brent Simmons (der NetNewswire Guy) so offen demonstrieren, dass sie eigentlich keinen Plan haben was sie da tun. Nur weil man einen ORM benutzt durch Listen von Objekten wandern und einzelne Objekte bearbeiten und sich dann über miese Performance wundern? Und erst am Ende der Optimiersessions mal die Frage stellen, ob eine ORDB tatsächlich der richtige Weg ist? Hallo, gehts noch? Sobald Massendaten im Einsatz sind, steht automatisch die Frage nach Massendatenbehandlung im Raum und wenn der ORM da keine brauchbaren Abstraktionen liefert, dann fliegt er raus ... (ein Grund warum ich den Django-ORM mag, er kooperiert gut mit handgedengeltem SQL und bietet per Introspection eine Menge Hilfsmittel um auch diese eigenen SQLs möglichst Modell-abstrakt zu erstellen). Für mich liegt jedenfalls der verlinkte Post auf einem ähnlichen Level wie Guido van Rossums "wofür benutzt man denn eigentlich Continuations, ich kapier das nicht".
|
Datenbank, Programmierung |
Heroku | Ruby Cloud Platform as a Service |
Feb. 28, 2010, 12:51 p.m. |
Heroku | Ruby Cloud Platform as a Service - auch ganz interessant: ein Ruby-Service der einfaches Website-Hosting in Ruby in einer Cloud-Struktur ermöglicht. Im Prinzip sowas wie Google App Engine, nur eben mit Ruby. Der Ansatz ist ganz interessant, man generiert eine Basis-App und holt sich die dann mit Git auf den eigenen Rechner, ändert und aktualisiert mit Git. Es gibt diverse Addons und Plugins die man nutzen kann, Rails wird natürlich auch unterstützt. Und da man seine App als normale Ruby-App lokal behält, ist man auch relativ unabhängig vom Anbieter und kann notfalls auf selbsthosting umsteigen.
|
Programmierung, Ruby |
PiCloud | Cloud Computing. Simplified. |
Feb. 28, 2010, 12:44 p.m. |
PiCloud | Cloud Computing. Simplified. - sehr interessanter Dienst: triviales verteilen von Python-Code (mit Zugriff auf C/C++ Bibliotheken für Numbercrunching und anderes, z.B. auch Bildbearbeitung, sogar eigene C/C++ Bibliotheken sind möglich) auf ein vom Anbieter gemanagetes EC2-Grid. Der Programmierer schreibt nur noch seinen Python-Code, testet lokal, wenn alles mit kleinen Sets gut läuft, Basisdaten hochladen, import, Funktionsaufruf und warten bis die Ergebnisse da sind - bezahlt wird nach Benutzungszeit. Durchaus mal im Auge behalten, falls mal größere Datenmengen durchzuwühlen sind - sowas kann durchaus günstiger sein als sich die nötigen Ressourcen selber bereitzuhalten.
|
Programmierung, Python, Sysadmin |
Squeryl — Introduction |
Feb. 24, 2010, 10:27 a.m. |
Squeryl — Introduction - das müsste ich auch mal angucken, denn von den bisherigen Persistenz-Layern für Scala war ich nicht so begeistert. Und gerade für erste Experimente will ich eigentlich nicht gleich eine Webanwendung mit Lift bauen, sondern vielleicht einfach nur mal ein paar Tools die ich bisher anders gelöst habe mit Scala neu schreiben.
|
Programmierung, Scala |
dajaxproject.com - easy to use ajax library for django |
Feb. 24, 2010, 10:24 a.m. |
dajaxproject.com - easy to use ajax library for django - sollte ich mir vielleicht mal angucken, das aktuelle Projekt wird unter Umständen recht viel Ajax benutzen und wenn man den Anteil JavaScript reduzieren kann wär das ja durchaus erstrebenswert.
|
Django, JavaScript, Programmierung, Python |
IronPython hammers CPython when not mutating class attributes |
Feb. 22, 2010, 11:45 a.m. |
IronPython hammers CPython when not mutating class attributes - weitere Informationen zu dem Performanceproblem. Hier bezogen auf IronPython - scheinbar sind Klassenvariablen unter Umständen problematisch, da darüber sich die Klassen selber ändern und dadurch Just-in-Time-Compiler Informationen verworfen werden müssen (wegen der recht statischen Struktur der VM sowohl bei der JVM als auch bei der CLI warscheinlich sehr ähnliches Problem), wodurch der JIT-Compiler dann alles neu durchnudeln muss und damit nicht nur Performance-Vorteile verloren gehen, sondern potentiell sogar kontraproduktiv sein können.
|
Programmierung, Python |
IronPython 2.0 and Jython 2.5 performance compared to Python 2.5 |
Feb. 22, 2010, 11:36 a.m. |
IronPython 2.0 and Jython 2.5 performance compared to Python 2.5 - word of warning: sowohl Jython als auch IronPython sind in vielen Situationen deutlich (und ich mein deutlich deutlich) langsamer als CPython. Der Overhead wird bei Jython bei sehr großen Datenstrukturen irgendwann besser als bei CPython, aber für normalen Einsatz siehts nicht so richtig toll aus.
|
Programmierung, Python |
DreamPie: The Python shell you've always dreamed about! |
Feb. 21, 2010, 7:18 p.m. |
DreamPie: The Python shell you've always dreamed about! - eine weitere interessante alternative Python-Shell, diese hier als GTK Fenster. Das öffnet ganz neue Möglichkeiten, wie z.B. echte Popups als kleine grafische Fenster und direkter grafischer Output. Allerdings ist py-gtk für OS X noch eher wackelig (wie alles GTK-Zeugs derzeit, ist halt noch Alpha) und eigentlich habe ich lieber ähnliche Umgebungen unter OS X und Linux.
|
Programmierung, Python |
bpython interpreter |
Feb. 21, 2010, 7:16 p.m. |
bpython interpreter - unbedingt mal in der Firma mit spielen, zu Hause machte diese alternative Python-Shell einen echt guten Eindruck. In einigen Punkten besser als ipython und das ist schon sehr gut (aber meiner Meinung nach zu sehr auf eigene Features ausgerichtet und weg von der Python-Philosophie, wärend bpython mehr pythonisch wirkt)
|
Programmierung, Python |
ZODB - a native object database for Python — ZODB v3.9.0 documentation |
Feb. 19, 2010, 1:56 p.m. |
ZODB - a native object database for Python — ZODB v3.9.0 documentation - weil ichs immer wieder vergesse: die ZODB gibts auch standalone, ohne das Monster Zope oben drüber. Und bei direktem Zugriff von Python bietet ZODB einige sehr interessante Features. Immer noch eine der am weitesten ausgebauten echten Objekt-Datenbanken für Python (aber leider immer noch keine allgemeine Query-Language auf die Datenbank zur effizienteren Behandlung von Objektmengen).
|
Programmierung, Python |
django-piston |
Feb. 13, 2010, 2:38 p.m. |
django-piston - muss ich mir auch mal näher angucken, es soll gerade den Bau von Web-APIs mit Django erleichtern. Und einige meiner Firmenprojekte könnten davon profitieren.
|
Django, Programmierung, Python |
Murky |
Feb. 13, 2010, 2:36 p.m. |
Murky - netter kleiner GUI-Client für Mercurial für OS X. Sieht schon ganz brauchbar aus, man kann recht leicht sich durch die Historie eines Projektes navigieren, sich Differenzen anzeigen lassen etc. - geht natürlich auch alles mit der Shell, aber manchmal ist es schlicht simpler mit einerm GUI zu arbeiten.
|
Programmierung |
maven-jython-plugin - Maven Jython Plugin |
Feb. 12, 2010, 9:48 p.m. |
maven-jython-plugin - Maven Jython Plugin - hmm, der Jython-Support für Maven ist ziemlich veraltet - das Artifact geht nur gegen 2.2.1 und auch das Plugin geht nur auf 2.2.1. Da fehlt dringend wohl ein bischen Updaten.
|
Java, Programmierung, Python |
Front Range Pythoneering: Realizing Jython 2.5 |
Feb. 12, 2010, 9:44 p.m. |
Front Range Pythoneering: Realizing Jython 2.5 - da stehts weiter unten drin. Jython hat ein GIL als witziges Easteregg im future Modul (das mit dem zukünftige Sprachfeatures als "Beta" verfügbar gemacht werden). Also kein GIL, sondern nur ein Joke. Hätte mich auch anders stark verdutzt.
|
Java, Programmierung, Python |
Interactive Python GIL Visualization [dabeaz] |
Feb. 12, 2010, 9:41 p.m. |
Interactive Python GIL Visualization [dabeaz] - sehr interessante Auswertung der Auswirkungen des GIL in multithreaded Python Projekten. Ob Jython (kein GIL, threading auf Basis der Java-Standards) da eine Aushilfe ist?
|
Programmierung, Python |
Bill Clementson's Blog: Elephant and Rucksack - Comparison of two CL Open Source Prevalence packages |
Feb. 10, 2010, 8:57 p.m. |
Bill Clementson's Blog: Elephant and Rucksack - Comparison of two CL Open Source Prevalence packages - weil es mich auch im Moment mal wieder interessiert, etwas Common Lisp. Elephant und Rucksack sind wohl die interessanteren Persistenz-Lösungen für Common Lisp im Moment. Rucksack ist leider nicht asdf-install-tauglich, da ist viel Handarbeit nötig.
|
Lisp, Programmierung |
Presenting django-devserver, a better runserver. |
Feb. 10, 2010, 9:52 a.m. |
Presenting django-devserver, a better runserver. - interessante Idee, eine Erweiterung des runserver die SQL Statements logged und Cache-Informationen liefert. Das könnte für mein derzeitiges Django-Projekt recht interessant sein, da ich dort zeitweilig etwas komplexeres SQL produziere. (und ja, ich hacke wieder mit Django herum, eventuell kommt ja sogar was veröffentlichbares dabei raus - ist aber primär ein Arbeitsprojekt).
|
Django, Programmierung, Python |
persistence.js: An Asynchronous Javascript ORM for HTML5/Gears « I am Zef |
Feb. 8, 2010, 9:57 p.m. |
persistence.js: An Asynchronous Javascript ORM for HTML5/Gears « I am Zef - sehr interessant, ein Object-Relational-Mapper in JavaScript, der Objekte auf HTML5 Datenbanken abbildet. Sowas könnte sehr interessant für Offline-iPhone-Webanwendungen sein, denn nackte Datenbankprogrammierung (nackte Datenbank, nicht nackter Programmierer) macht nicht wirklich immer Spaß.
|
JavaScript, Programmierung |
Faster or Lazier Pagination |
Feb. 6, 2010, 10:43 a.m. |
Faster or Lazier Pagination - interessanter Ansatz, einfach nicht die Menge der Sätze ermitteln, sondern stattdessen eine Anzahl Seiten annehmen und diese aktualisieren wenn man auf spätere Seiten zugreift. Ein bischen ähnlich zu manchen Websites die nur einen Ausschnitt der Seitenliste als Navigation anbieten - dafür braucht man dann nicht wissen wie viele Seiten es wirklich sind. Google mogelt ja auch, in dem die Seitenanzahl maximal beschränkt wird. Für große Datenmengen mit langsamem count(*) sicherlich sehr sinnvoll und evtl. könnte man das auch kombinieren mit gecachten maximalen Seitenzahlen für verschiedene Queries, so das beim nächsten Mal die Vermutung über die Menge schon präziser ist.
|
Django, Programmierung, Python |
Using ctags in Vim - amix.dk |
Feb. 5, 2010, 11:23 a.m. |
Using ctags in Vim - amix.dk - ctags ermöglicht die Navigation in größeren Sourcen und ganzen Projekten anhand von Definitionsstruktur. Unter Ubuntu kann man einfach mit vim-addons install taglist dieses Plugin installieren und dann fleißig benutzen. Ziemlich genial.
|
Programmierung |
Vim 7: Turning completion on - amix.dk |
Feb. 5, 2010, 11:15 a.m. |
Vim 7: Turning completion on - amix.dk - nachdem ich mich eine Weile mit IDEs beschäftigt hab, aber irgendwie feststellen muss ich bin nicht wirklich IDE-kompatibel, VIM kann auch Symbolvervollständigung - und auch für Python. Recht einfach einzurichten und recht praktisch für den Zugriff auf Systemfunktionen.
|
Programmierung |
mongoengine |
Feb. 4, 2010, 8:50 p.m. |
mongoengine - Python-API für Zugriff auf MongoDB mit einer an den Django-ORM angelehnten Struktur.
|
Programmierung, Python |
InfiniDB 1.0.2: Analytische Datenbank Engine für Datamining - Golem.de |
Feb. 3, 2010, 12:42 p.m. |
InfiniDB 1.0.2: Analytische Datenbank Engine für Datamining - Golem.de - hmm, auf MySQL aufbauend - keine Ahnung ob ich das als Empfehlung oder Abschreckung betrachten soll. Andererseits wäre eine DB speziell für Datamining-ähnliche Anfrageprofile durchaus manchmal sinnvoll - müsste ich also mal ausprobieren.
|
Programmierung, Sysadmin |
The Definitive Guide to Jython — Jython Book v0.91 documentation |
Feb. 2, 2010, 8:39 p.m. |
The Definitive Guide to Jython — Jython Book v0.91 documentation - ist drin was drauf steht. Bezieht sich auf Jython 2.5.1 und gibts auch als (aktualisiertes mit zusätzlichen Inhalten, die Open Source Version des Buches ist noch nicht voll aktualisiert) totes Holz von APress.
|
Programmierung, Python |