neo4j open source nosql graph database |
Dec. 31, 2009, 1:30 p.m. |
neo4j open source nosql graph database - die vorhin genannte Graphen-Datenbank für Java. Sieht recht interessant aus für die Situationen, in denen relationale Datenbanken zu starr und unflexibel sind.
|
Java, Programmierung |
mattrepl's clojure-neo4j |
Dec. 31, 2009, 1:28 p.m. |
mattrepl's clojure-neo4j - und hier ein Interface zu Neo4J, einer Graphen-Datenbank für Java, mit der komplexe Datenstrukturen recht leicht auf Platte gespeichert werden können. Sieht für simple Persistenz in Programmen ganz interessant aus.
|
Clojure, Programmierung |
duelinmarkers's clj-record |
Dec. 31, 2009, 1:24 p.m. |
duelinmarkers's clj-record - ein Persistency Framework inspiriert von Active Records (dem ORM von Ruby on Rails), aber halt in Clojure und mit einem mehr Lisp-like API. (das war jetzt sehr viel Denglisch in einem Satz!)
|
Clojure, Programmierung |
pjstadig's tim-clojure-1.0.0 |
Dec. 31, 2009, 1:15 p.m. |
pjstadig's tim-clojure-1.0.0 - ziemlich cooles Projekt welches mittels Terracotta (im Prinzip eine distributed Map für Java) ein verteiltes Environment für Clojure implementiert. Objekte mit passenden Metadaten werden automatisch auf alle diesem verteilten Environment angeschlossenen Clojures verteilt - und das tuts für nahezu alle Objekte die in Clojure definierbar sind.
|
Clojure, Programmierung |
Standard ML of New Jersey |
Dec. 27, 2009, 12:42 p.m. |
Standard ML of New Jersey - und weil keine Liste von ML Compilern ohne den Grandfather of SML vollständig wäre, hier noch der letzte Link. Schon etwas betagt, aber sicherlich immer noch eines der am besten ausgebauten Systeme.
|
ML, Programmierung |
Poly/ML Home Page |
Dec. 27, 2009, 12:41 p.m. |
Poly/ML Home Page - mal verlinkt, weil Poly/ML oft über der Existenz von SML/NJ und MLton ignoriert wird. Eventuell auch als Alternative zu MosML nutzbar, denn Poly/ML ist recht fix, liefert aber native Code der auch gut für standalone-Tools zu nutzen ist. Wobei da natürlich MLton nochmal auftrumpft, da es mit der Optimierung über das gesamte Programm zwar lange für den Compile braucht, aber wesentlich kleinere Executables produziert.
|
ML, Programmierung |
Moscow ML Home Page |
Dec. 27, 2009, 12:04 p.m. |
Moscow ML Home Page - hatte ich erstaunlicherweise noch nicht. Ist ein kleiner SML Bytecode-Compiler der mitlerweile den vollen Sprachumfang und die Standardlibrary implementiert. Deutlich schlanker als das große SML/NJ und braucht auch weniger Ressourcen als SML/NJ oder MLton. Gerade für kleine Tools sehr brauchbar (und auf dem Mac mit MacPorts installierbar - genauso wie aber auch SML/NJ und Poly/ML, den zwei anderen großen ML Compilern).
|
ML, Programmierung |
Web Authoring System Haskell (WASH) |
Dec. 26, 2009, 7:48 p.m. |
Web Authoring System Haskell (WASH) - nur der Vollständigkeit halber auch verlinkt, es ist vergleichbar zu Ur/Web und Ocsigen, nur halt mit Haskell. Aber wirkt irgendwie noch mehr Stückwerk als aus einem Guss.
|
Haskell, Programmierung |
Home of pHash, the open source perceptual hash library |
Dec. 26, 2009, 2:42 p.m. |
Home of pHash, the open source perceptual hash library - perceptual hashing liefert ähnliche Hashes für visuell ähnliche Files. Also sowas wie fuzzy Hashing für Bilder oder Filme. phashes von Bildern zum Beispiel ändern sich nur minimal wenn das Bild minimal geändert ist. Je größer die Differenz der Bilder, je größer die Differenz der Hashes.
|
Programmierung |
Fuzzy Hashing and ssdeep |
Dec. 26, 2009, 2:41 p.m. |
Fuzzy Hashing and ssdeep - liefert Hash-Werte für Files die ähnlich sind, wenn die Files selber auch ähnlich sind. Kann benutzt werden, um partiell gleiche Files aufzufinden (also z.B. Code-Reuse in Sourcecodes oder unterschiedliche Versionen eines Dokumentes etc.).
|
Programmierung |
Ocsigen |
Dec. 26, 2009, 1:47 p.m. |
Ocsigen - sieht aus wie etwas zu Ur/Web vergleichbares, das auf der OCaml Toolchain und der Sprache OCaml aufbaut. OCaml hat einige sehr nette Eigenschaften, das könnte also auch interessant sein. Allerdings macht das Projekt einen mehr Baukasten-Eindruck mit mehreren zusammenspielenden Teilen, wie gut die Integration ist, muss sich da erst zeigen. Bei Ur/Web begeistert mich die Tatsache, das ich wirklich nur mit einer Handvoll Files direkt eine Webanwendung zusammenstellen kann, ohne großen Overhead. Auch die Installation aus dem Source von Ur/Web ist simpler, durch die geringe Zahl an Abhängigkeiten. Andererseits ist Ocsigen direkt in Debian verfügbar, was die Installation natürlich deutlich vereinfacht.
|
OCaml, Programmierung |
MLton Standard ML Compiler (SML Compiler) |
Dec. 26, 2009, 12:48 p.m. |
MLton Standard ML Compiler (SML Compiler) - MLTon wird ja für Ur/Web benötigt, es gibt netterweise einen Binary-Download für OS X der auch brauchbar funktioniert, wenn man die GnuMP library über MacPorts installiert hat (von dort kann man auch die mhash library installieren, die andere Voraussetzung für Ur/Web). MLton ist auch alleine schon ein interessantes Projekt, da es ein Standalone-Compiler für ML ist, welcher sehr gute Optimierungen (dafür aber auch extreme Laufzeiten für den Compiler) besitzt.
|
ML, Programmierung |
The Ur Programming Language Family |
Dec. 26, 2009, 12:17 p.m. |
The Ur Programming Language Family - interessante funktionale Programmiersprache mit integriertem XML Templating und Persistenz. Das Ziel ist es die komplette interaktive Webanwendung in einer Sprache zu schreiben. Datenmodell in der gleichen Sprache wie Templates. Alles abgesichert mit Typdeklarationen und Typinferenz - z.B. gibt es einen Funktor, mit dem aus einer in Ur geschriebenen Tabellendefinition automatisch eine komplette Administrationsoberfläche für diese Tabelle generiert wird, alles mit Absicherung gegen Code-Injection und andere übliche Angriffsszenarien. Die Sprache selber orientiert sich sehr stark an ML, übernimmt aber einige Features aus Haskell (speziell die Monads und das mächtiger Typsystem). In einigen Punkten erinnert es mich stark an Scala von den Ideen her - gute embedded languages für SQL und HTML kombiniert mit einer mächtigen funktionalen Sprache. Allerdings erzeugt der Ur Compiler direkt object code (und JavaScript für die Client Seite) und nicht Code für eine virtuelle Maschine. Und die Runtime hat keine Garbage Collection, sondern aus dem Code abgeleitetes Memory-Management (was Speicherverhalten mehr deterministisch macht). Das ganze basiert auf MLTon, einem sehr gut optimierenden ML Compiler. Irgendwie erinnert mich vieles an dem Projekt an Django - nur eben nicht dynamisch getypt, sondern statisch. Könnte durchaus interessant sein.
|
ML, Programmierung |
Mail::RFC822::Address |
Dec. 25, 2009, 11:24 a.m. |
Mail::RFC822::Address - "The grammar described in RFC 822 is suprisingly complex. Implementing validation with regular expressions somewhat pushes the limits of what it is sensible to do with regular expressions, although Perl copes well"
|
Perl, Programmierung |
Socket Benchmark of Asynchronous Servers in Python |
Dec. 22, 2009, 12:07 p.m. |
Socket Benchmark of Asynchronous Servers in Python - interessanter Artikel über die Performance und Skalierbarkeit auf hohe Hit-Raten verschiedener asynchroner Server in Python.
|
Programmierung, Python, Sysadmin |
Real World Haskell |
Dec. 22, 2009, 9:36 a.m. |
Real World Haskell - das hatte ich noch garnicht gelinkt? Dabei ist das der komplette Inhalt von "Real World Haskell" im Web, dem O'Reilly Buch zu Haskell. Sollte ich mir mal in ein paar ruhigen Stunden (Tagen?) durchlesen.
|
Haskell, Programmierung |
Intersystems Caché -- Gateway to hell - TDWTF Forums |
Dec. 21, 2009, 5:07 p.m. |
Intersystems Caché -- Gateway to hell - TDWTF Forums - aus dem gleichen Anlass noch diesen Link gebloggmarkt.
|
Programmierung |
A Case of the MUMPS - The Daily WTF |
Dec. 21, 2009, 5:02 p.m. |
A Case of the MUMPS - The Daily WTF - aus aktuellem Anlass der Link mal fix gebloggmarked, denn den könnte ich in nächster Zeit möglicherweise brauchen ... (fragt nicht!)
|
Programmierung |
WinMerge |
Dec. 21, 2009, 11:53 a.m. |
WinMerge - falls man mal ein grafisches Diff/Merge für Windows braucht. Open Source.
|
Programmierung |
Invent with Python |
Dec. 21, 2009, 11:27 a.m. |
Invent with Python - interessantes freies Buch über Python Programmierung. Unter anderem wird in Kapitel 16 PyGame herangenommen.
|
Programmierung, Python |
Crowdsourced document analysis and MP expenses |
Dec. 20, 2009, 4:49 p.m. |
Crowdsourced document analysis and MP expenses - in Django durch Ausgabenlisten von britischen Parlamentsmitgliedern wühlen. Interessanter Artikel über die Stolperstellen und Probleme eines solchen Projektes beim Guardian.
|
Django, Programmierung |
fabricate |
Dec. 20, 2009, 11:49 a.m. |
fabricate - interessantes build Tool, das aus den Kommandos für den Compiler automatisch ermittelt welche Abhängigkeiten bestehen und daraus dann bei Aktualisierungen nur die nötigen Aktionen ableitet. Makefiles sind hier ganz normale Python-Scripte, was eine ganze Menge interessanter Hacks ermöglicht.
|
Programmierung |
Building a Clojure Web application with Incanter, Compojure, and Leiningen « Data Analysis and Visualization with Clojure |
Dec. 19, 2009, 11:51 p.m. |
Building a Clojure Web application with Incanter, Compojure, and Leiningen « Data Analysis and Visualization with Clojure - sehr schön, vor allem weil dieses Beispiel nicht nur schön zeigt wie simpel man mit Leiningen und Compojure eine Webanwendung mit Clojure bauen kann, sondern auch weil es mal nicht die üblichen langweiligen Verdächtigen als Beispiel sind, sondern mal was ganz anderes. (tuts wegen einer Änderung von Apple am Java für 10.6 derzeit nicht unter OS X, die Leiningen-Leute sind aber wohl schon dran)
|
Clojure, Programmierung |
Ten years of .NET - Did Microsoft deliver? • The Register |
Dec. 18, 2009, 2:23 p.m. |
Ten years of .NET - Did Microsoft deliver? • The Register - "COM has never gone away, and .NET developers who want to use new Windows 7 APIs, for example, have to use an interop library to do so."
|
Programmierung |
About Hypertable |
Dec. 18, 2009, 1:45 p.m. |
About Hypertable - sowas wie Googles Bigtable, nur als Open Source. Stark skalierbare Datenbank. Benutzt Thrift als Client-Protokoll und ist damit von sehr vielen Sprachen ansprechbar.
|
Programmierung |
Haystack - Search for Django |
Dec. 18, 2009, 1:26 p.m. |
Haystack - Search for Django - und das ist dann die Einbindung von Whoosh in Django. Gibt noch andere, aber das hier sieht am weitesten ausgebaut aus.
|
Django, Programmierung, Python |
Whoosh |
Dec. 18, 2009, 1:25 p.m. |
Whoosh - Volltextindexing in reinem Python. Könnte für einige Projekte interessant werden.
|
Programmierung, Python |
InfoQ: Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency |
Dec. 18, 2009, 11:49 a.m. |
InfoQ: Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency - bei Clojure kommen im Moment die interessanteren Optimierungen und Überlegungen zu funktionaler Programmierung. Denn sie konzentrieren sich auf den wesentlichen Teil: Datenstrukturen. Ein oft vernachlässigter Bereich bei andern Sprachen - was bringt mir eine funktionale Sprache, wenn die mitgelieferten Datenstrukturen schlicht zu low-level sind? Clojure bietet Zugriff auf low-level Elemente aus Java, wenn aus Performancegründen nötig, aber auch high-level Datenstrukturen die sich wesentlich natürlicher verhalten in funktionalem Code. Und mit chunked sequences und transients jetzt zwei recht elegante Optimierungen für diese, die den Abstieg in die Java-Niederungen vermeiden helfen.
|
Clojure, Programmierung |
samuel's python-bert |
Dec. 17, 2009, 4:48 p.m. |
samuel's python-bert - und weil ich grade dabei bin, auch noch BERT in Python.
|
Programmierung, Python |
trotter's bert-clj |
Dec. 17, 2009, 4:47 p.m. |
trotter's bert-clj - und jetzt noch eine BERT Implementation in Clojure
|
Clojure, Programmierung |
mojombo's bert |
Dec. 17, 2009, 4:47 p.m. |
mojombo's bert - und hier eine Bibliothek, die BERT in Ruby implementiert.
|
Programmierung, Ruby |
BERT and BERT-RPC 1.0 Specification |
Dec. 17, 2009, 4:46 p.m. |
BERT and BERT-RPC 1.0 Specification - BERT sind Binary ERlang Terms - also das Format, welches Erlang auf die Reise schickt, wenn Messages benutzt werden (und intern mit termtobinary gewandelt wird).
|
Programmierung |
Algorithmic Botany |
Dec. 17, 2009, 1:44 p.m. |
Algorithmic Botany - in Common Lisp. Da gibts auch einen Link auf das Buch mit den Algorithmen. Gerendert wird mit klassischen Renderern, der Common Lisp Code erzeugt nur die Modellbeschreibung als Input.
|
Lisp, Programmierung |
IronPython - Release: 2.6 |
Dec. 17, 2009, 12:03 p.m. |
IronPython - Release: 2.6 - damit ist IronPython auch auf dem aktuellen Stand der Python2 Reihe. Und angeblich soll mit wenigen Änderungen Django auch direkt auf IronPython laufen, allerdings hab ich da keine aktuellen Postings zu gefunden, nur welche aus 2008. .NET ist zwar nicht meine Lieblingsumgebung, aber auf der Arbeit werden wir das schon auf die Dauer wohl mal anschauen, einfach weil die Integration mit dem Rest der Systemwelt unter Windows damit einfacher sein dürfte als mit dem normalen CPython.
|
Programmierung, Python |
ProjectPlan - unladen-swallow - Plans for optimizing Python |
Dec. 17, 2009, 11:50 a.m. |
ProjectPlan - unladen-swallow - Plans for optimizing Python - interessanter Status über Unladen Swallow, die Python-Version die auf LLVM als JIT aufbaut.
|
Programmierung, Python |
briancarper.net :: Clojure Reader Macros |
Dec. 17, 2009, 11:24 a.m. |
briancarper.net :: Clojure Reader Macros - very dirty. Wildes patchen der Clojure-Runtime zur Laufzeit. Aber ein nettes Beispiel wie man von Clojure problemlos in die aktiven Java-Objekte durchgreifen kann. Sollte man allerdings nicht in produktivem Code benutzen (also diese spezifische Anwendung sich darüber eigene Reader-Macros zu bauen).
|
Clojure, Programmierung |
The Render Engine - Javascript Game Engine |
Dec. 17, 2009, 11:05 a.m. |
The Render Engine - Javascript Game Engine - da JavaScript mit modernen Browsern wie Safari 4 und Chrome (und Betas von Firefox) ja mitlerweile ernstzunehmende Performance liefert, kann man auch so verrückte Sachen machen wie Rendering-Engines für Spiele in JavaScript schreiben.
|
JavaScript, Programmierung |
Python Package Index : python-daemon 1.5.2 |
Dec. 17, 2009, 10:28 a.m. |
Python Package Index : python-daemon 1.5.2 - weil ich es immer mal wieder brauche und dann immer wieder von Hand stricke: dieses Modul hilft dabei ein Python-Script in einen ordentlichen Unix-Daemon zu verwandeln, mit korrektem Forken und PID-File-Handling.
|
Programmierung, Python |
Widefinder 2 with Clojure |
Dec. 16, 2009, 11:04 a.m. |
Widefinder 2 with Clojure - das Widefinder2 Projekt von Tim Bray liefert langsam sehr interessante Ergebnisse, hier einen Artikel darüber wie man Clojure so optimiert, das die Performance die bisher beste Scala und Java-Lösung schlägt (wobei die Java-Version natürlich trivial nachholen kann, da die meisten performancerelevanten Sachen in dieser Version auf Java-Libraries zurückgreifen). Ein schönes Beispiel, wie man in Clojure Low-Level-Optimierung einbringen kann für die Sachen, die wirklich wichtig für die Performance sind, aber trotzdem für den Rest des Codes die guten Highlevel-Mechanismen von Clojure behält.
|
Clojure, Programmierung |
Code tutorial: make your application sync with Ubuntu One |
Dec. 15, 2009, 11:43 a.m. |
Code tutorial: make your application sync with Ubuntu One - Ubuntu One (der Dateien und Synchronisierdienst von Canonical für Ubuntu) benutzt intern CouchDB (und die Synchronisation ist auf CouchDB Replikation aufgebaut!) und dieses Tutorial zeigt, wie man Applikationen so umbauen kann, das sie mit CouchDB zusammenarbeiten. Beispiele sind in Python und nutzen auch einige Aspekte von DBUS (Gnome) mit, so das es generell ein recht interessantes Tutorial für Desktop-Programmierung unter Linux ist. Ich denke es ist eine gute Idee von Ubuntu One auf CouchDB Replikation zu setzen - das Gemurkse von MobileMe bei der Synchronisation sollte da deutlich besser in den Griff zu kriegen sein.
|
Programmierung, Python |
Damn Cool Algorithms: Log structured storage |
Dec. 14, 2009, 5:25 p.m. |
Damn Cool Algorithms: Log structured storage - kompakter Artikel über Speicherung von Daten auf Platte. In diesem Fall orientiert an den Techniken von log-basierten Dateisystemen, wie sie auch in Datenbanken Einsatz finden.
|
Programmierung |
Intland now on Mercurial - Part 3: Giving new momentum to the Eclipse Mercurial Plugin | Intland Blog |
Dec. 14, 2009, 12:58 p.m. |
Intland now on Mercurial - Part 3: Giving new momentum to the Eclipse Mercurial Plugin | Intland Blog - könnte ich mir mal angucken, das offizielle Mercurial-Plugin für Eclipse ist ja doch weniger angenehm. Andererseits sind einige der Sprachenplugins für NetBeans (besonders das Python Plugin gefällt mir) doch deutlich besser als für Eclipse.
|
Programmierung |
Tutorial - clojars-web - GitHub |
Dec. 14, 2009, 12:08 p.m. |
Tutorial - clojars-web - GitHub - clojars will sowas wie CPAN für Clojure sein (und wird es auch immer mehr) und ist sehr simpel und eleganz mit Clojure und der Unterstützung von Leiningen zu benutzen.
|
Clojure, Programmierung |
Maven - Guide to using proxies |
Dec. 14, 2009, 11:56 a.m. |
Maven - Guide to using proxies - weil ich es gerade brauchte, denn Leiningen (Build-Tool für Clojure) setzt auf Maven auf. Leider muss das in einem XML-File geändert werden, damit ist es nicht so leicht zu automatisieren. Ich muss mir dafür mal was brauchbares für Linux einfallen lassen, das bei Setting-Änderungen automatisch diverse Configs umschiesst.
|
Java, Programmierung |
Yeti programming language |
Dec. 13, 2009, 1:19 a.m. |
Yeti programming language - sollte ich mir mal angucken, ein ML für die JVM. Scala bietet natürlich vieles davon ebenfalls und hat sicherlich im Moment deutlich mehr Drive. Aber ML fand ich schon immer recht interessant, weil die Sprache recht kompakt ist - und mit JVM-Anbindung gibt es die ganzen Java-Bibliotheken zum Rumspielen sozusagen gratis dazu. Wobei Yeti wirklich nur eine ML-style Sprache ist, nicht wirklich ML (deutliche Unterschiede in der Syntax).
|
Java, ML, Programmierung |
JavaScript web workers: use visitors to your website to do background data processing for you. : programming |
Dec. 11, 2009, 10:36 a.m. |
JavaScript web workers: use visitors to your website to do background data processing for you. : programming - verrückte Idee: auf Webseiten mit JavaScript Worker für distributed computing einrichten. Jeder Besucher beteiligt sich an der Berechnung von irgendwelchen Daten. Ausser natürlich er benutzt sowas wie NoScript oder PithHelmet und filtert den Kram raus.
|
JavaScript, Programmierung, Webservices |
We call it OPA |
Dec. 8, 2009, 1 p.m. |
We call it OPA - klingt nach der Beschreibung sehr interessant, eine Entwicklungsumgebung für Webservices und Webanwendungen auf Basis von OCaml mit Fokus auf die ganzen nötigen Grundlagen wie XSS Schutz, SQL-Injection-Schutz und ähnlichem.
|
OCaml, Programmierung |
PLT Scheme Blog: Futures: Fine Grained Parallelism in PLT |
Dec. 7, 2009, 11:49 p.m. |
PLT Scheme Blog: Futures: Fine Grained Parallelism in PLT - das beste Scheme auf dem Markt bekommt jetzt auch Microthreads. Im Moment noch recht frisch, aber das wird sicherlich auf Dauer in den Standardumfang wandern.
|
Programmierung, Scheme |
Short Chat Server in Clojure |
Dec. 7, 2009, 11:41 p.m. |
Short Chat Server in Clojure - interessantes kleines Beispiel von Clojure Code. Zeigt gut die Nutzung asynchroner Prozesse und Netzwerkzugriff. Und mit 75 Zeilen schön übersichtlich.
|
Clojure, Lisp, Programmierung |
Cadmium - Introduction |
Dec. 7, 2009, 10:40 a.m. |
Cadmium - Introduction - passend zu Cafesterol hier dann die OCAML Runtime in reinem Java. Damit kann man OCAML Bytecode ausführen oder das ganze als Runtime für Cafesterol-compilierte Programme benutzen.
|
OCaml, Programmierung |
Cafesterol |
Dec. 7, 2009, 10:39 a.m. |
Cafesterol - cool, eine Erweiterung des OCAML Compilers, die Java Bytecode erzeugt. Damit kann man mit OCaml nicht nur die eigene virtuelle Maschine bedienen und natürlich native Code erzeugen, sondern auch direkt in die Java-Welt gehen.
|
OCaml, Programmierung |
clutchski's fileutils |
Dec. 6, 2009, 11:07 a.m. |
clutchski's fileutils - macht Python noch besser für Shell-Scripte indem es diverse Basiskommandos als Python-Funktionen zur Verfügung stellen. Nett.
|
Programmierung, Python |
Why Object-Oriented Languages Need Tail Calls – projectfortress Community |
Dec. 4, 2009, 4:45 p.m. |
Why Object-Oriented Languages Need Tail Calls – projectfortress Community - guter Post über tail-call-optimization. Von Guy L. Steele - der sollte wissen wovon er redet, er ist unter anderem massiv an Scheme beteiligt gewesen (der ersten Sprache, die Tail Recursion explizit in ihrer Sprachbeschreibung aufführt). Andere Sprachen mit denen er direkt zu tun hatte waren Common Lisp, Java und jetzt Fortress. Ich hoffe ja, dieser Post wird von Guido van Rossum gelesen und verstanden, damit Python auch endlich mal Tail Call Optimierung lernt (jaja, ich kenne all die Gegenargumente und sorry, ich finde die nicht wirklich sonderlich überzeugend).
|
Programmierung |
MCLIDE - Lisp IDE for Macintosh |
Dec. 3, 2009, 12:02 p.m. |
MCLIDE - Lisp IDE for Macintosh - interessantes Projekt, welches die Tools aus dem Macintosh Common Lisp als Standalone-Tools reimplementiert und diese dann über Slime/Swank an diverse Lisp-Implementierungen ankoppeln kann. Definitiv für Mac-User angenehmer als z.B. Emacs zu benutzen.
|
Lisp, Programmierung |