Linktipps Januar 2010
Saturday, 02 January 2010, 04:56 von Blackflash
- Templating Engines in PHP: Fabien Potencier erläutert in dem Artikel den Status Quo von Template-Engines in PHP. Auch die Antwort von Eli und der weiterführende Artikel von Fabien sind des Lesens wert.
- How to build an API in 5 minutes: Im verlinkten Video wird erklärt, wie man innerhalb von fünf Minuten eine kleine RESTful-Applikation schreibt. Der Ansatz hat in meinen Augen sehr großes Potential.
- Self-optimizing data structures: using types to make lists faster: Don Stewart beschreibt in seinem Blog eine Möglichkeit, wie man Listenoperationen verschnellern kann. Auch wenn man wenig mit Listen arbeitet, so finde ich es dennoch beeindruckend, wie leicht man solche Tricks benutzen kann.
- “Micro” Optimizations That Matter: Brandon Savage beschreibt, wie man mit verhältnismäßig kleinen Änderungen eine große Wirkung erzielen kann.
- Emulating Shared Mutable Variables with Message-Passing Processes: Funktionale Programmierung und Nebenläufigkeit passen zusammen, wie dieser Artikel in eleganter Weise zeigt.
- Rewriting Playdar: C++ to Erlang, massive savings: Richard Jones, evtl. bekannt von last.fm, schreibt über seine Erfahrungen beim Rewrite von Playdar in Bezug auf Produktivität von Erlang, einer funktionalen Programmiersprache.
- Wie Facebook die Daten von 300 Millionen Nutzern verkraftet: Ein interessanter Golem-Artikel, der aufzeigt, wie Facebook verschiedenste Performance-Probleme gelöst hat. Auch das Video mit Jeff Rothschild ist empfehlenswert.
- Calculate a convex hull - The QuickHull algorithm: Jakob Westhoff erklärt in diesem Artikel den QuickHull-Algorithmus auf eine sehr intuitive Weise. Auch wenn es für mich (bisher) keinen praktischen Nutzen hat, hat es Spaß gemacht, den Artikel zu lesen.
- Transforming polymorphic values: Martijn van Steenbergen gibt eine ausführliche Erläuterung zum Schreiben einer DSL zum Berechnen (und Vereinfachen) von Termen. Für jeden Haskell-Programmierer empfehlenswert.
- Notes on Memcached: In seinen Notizen beschreibt Ricky Ho die Architektur von memcached und folgert daraus die Nutzungsmöglichkeiten desselben.
- Adapting The Joel Test To Web Development: Brandon Savage erklärt seine Adaption von Joel Spolskys 12-Punkte-Test für Softwarehersteller. Jeder, der professionell Software entwickelt, sollte diese zwölf Punkte beherzigen.
- Clean Code Developer in Brownfield-Projekten: Der Artikel beschreibt die größten Probleme bei Brownfield-Projekten - auch als Abschreckung geeignet.
- Is static type checking a redundant testing mechanism?: Luke Plant erläutert einige interessante Feststellungen zu Unit-Tests sowie statischer Typisierung und deklarativer Programmierung im Allgemeinen und Haskell im Speziellen.
- autoincrement considered harmful: Warum ist autoincrement doch nicht das Wahre? Abgesehen davon, dass es die Nebenläufigkeit erschwert, werden hier drei weitere Gründe aufgeführt.
- PHP: So you'd like to migrate from MySQL to CouchDB? - Part II: Nach dem ersten Teil stellt dieser Artikel eine sehr pragmatische Einführung in CouchDB (mittels PHP) dar.
- The Observer Pattern using a Message-Passing Process: Auf dem CHP-Blog findet sich dieses Mal ein Artikel darüber, wie man das Observer-Entwurfsmuster nebenläufig in Haskell implementieren kann.
- Four ways to fold an array: Neben den geläufigen zwei Faltungen (foldr und foldl) hat Twan van Laarhoven zwei weitere Faltungen mit Hilfe von Arrays entwickelt.
- "What Category do Haskell Types and Functions Live In?": Dieser Artikel bringt Kategorientheorie und Haskell zusammen. Auch wenn ich nicht alle erwähnten Begriffe kenne, finde ich ihn vor allem wegen der weiterführenden Links sehr lesenswert.
- Monads from Two Perspectives: Auch dieser Artikel bringt Kategorientheorie und Haskell zusammen, in dem er Monaden auf mathematische Weise erklärt und den Bezug zu den Monaden in Haskell erläutert.
- NoSQL Berlin Debrief: Auf Jan Lehnardts Blog finden sich Links zu den Präsentationen auf dem NoSQL-Berlin-Event.
- Amazon Cloud Computing: Ricky Ho bietet einen sehr genauen Überblick über die Cloud Services von Amazon.
- Long running Haskell applications: Dieser interessante Erfahrungsbericht über Haskell fördert das wohl häufigste Problem bei Haskellprogrammen zutage: Space Leaks. Die Wirksamkeit der Lösung wird dabei durch Diagramme untermauert. Weitere Lösungsmöglichkeit wurden durch die weiterführende Diskussion erläutert.
- Haskell Monoids and their Uses: sigfpe erklärt auf seinem Blog Monoide und deren Use-Cases. Das ist wahrscheinlich die ausführlichste Erklärung zu diesem Thema, auf die ich bisher gestoßen bin.
- Haskell, DSL and Monad: Haskell, DSL und Monaden? Diese Begriffe klingen vielleicht schwierig, aber dieser Artikel zeigt das Gegenteil.
- Cloud Computing Patterns: Ricky Ho stellt verschiedene Muster vor, die man beim Cloud-Computing verwendet.
- An Introduction to Communicating Sequential Processes: Dass Haskell auf dem Lambda-Kalkül aufbaut, ist nicht neu, aber mir war neu, dass CHP auf der CSP-Prozessalgebra basiert. Es ist immer wieder interessant zu sehen, wie die Theorie in der Praxis eingesetzt wird.
- The Operators and Monoids of CHP: Auch hier schlägt die Mathematik zu, denn auch Funktionen können wie algebraische Strukturen untersucht werden. Hier wird dies am Beispiel des Monoids getan.
- Reviewing View Patterns: Auf seinem Blog beschreibt Neil Mitchell die sog. View-Patterns und schlägt einige Verbesserungen vor. Auch wenn ich die View-Patterns noch nicht verwendet habe, sehen sie sehr hilfreich aus.
- NOSQL Patterns: Sehr detailliert, sehr interessant, aber auch sehr lang. Wer etwas mehr über den aktuellen Stand der Technik der NoSQL-Welt erfahren will, ist mit dem Artikel bestens bedient.
- What a Monad is not: Der Name sagt bereits alles - besonders für Einsteiger sehr lesenswert.
- Monads are like burritos: Wer sich mit Haskell beschäftigt, kennt evtl. Brent Yorgeys Meinung zum Thema Monaden-Tutorials - der Linktipp enthält die Antwort auf diesen Beitrag.