Sonar - sollte ich mir vielleicht mal für die Firma angucken, ob man damit auch unsere Python Codebasis analysieren kann. (von Hause aus gehts nicht, da müsste man ein Plugin suchen oder schreiben)
Building Clojure Projects with Leiningen - einfach ganz simpel Leiningen erklärt. Gefällt mir sehr gut, besonders weil es zwar die ganze Java-Welt nutzt, aber sich wirklich wesentlich simpler anfühlt. Keine XML Orgien und saubere standalone-Jar-Erzeugung.
formsets und inline forms in Django - ein ähnliches Problem kam letztens in der Firma auf, daher hier mal geblogmarkt, das könnte die Lösung sein.
Implementing a DHT in Go, part 1 - wer mal etwas mehr Go-Code sehen will, hier ein recht interessantes Beispiel: eine verteilte Hashtabelle (also Key/Value Paare verteilt über viele Knoten). Erster Teil beschäftigt sich mit den Buckets und der Routingtabelle, der nächste Teil wird dann das Netzprotokoll zufügen.
Amp | Version Control Revolution
- Mercurial in Ruby, mit starkem Fokus auf Erweiterbarkeit über eine Ruby DSL. Wenn ich mir überlege wie oft ich ein VCS als Basis für irgendwelche Sachen (z.B. automatisches Deploy von Blogpostings in einem meiner Blogs) benutze, könnte das gar nicht mal so uncool sein.
Understanding Haskell Monads - von allen Tutorials die ich bisher darüber gesehen habe, für mich das verständlichste.
gopenvpn - weil network-manager-openvpn unter Ubuntu Karmic Koala komplette Moppelkotze ist. gopenvpn ist wie Tunnelblick auf dem Mac - und es funktioniert einfach.
AvahiAndUnicastDotLocal – Avahi - weil ich gerade ewig danach gesucht hab. Wie man ZeroConf (Bonjour) und z.B. ein Microsoft-Domain-Dingens unter .local miteinander verbinden kann.
uWSGI
- könnte interessant für die Django-Projekte in der Firma sein, klingt von der Beschreibung her ganz gut.
Incanter: Statistical Computing and Graphics Environment for Clojure - sowas wie R (Statistikpaket) für Clojure. Könnte mir helfen mit Clojure mal ein paar praktische Doodles zu machen.
technomancy's leiningen - interessantes kleines Buildsystem für Clojure, das seine Metadaten einfach in Clojure abfasst und daher wesentlich kompakter daher kommt als Monster wie Ant oder Maven. Wenn man sowas wie Netbeans benutzt, ist natürlich der Build schon in der IDE geregelt, aber mit diesem System kann man auch gut kleine Standalone-Projekte ohne große Java-IDE aufbauen. Und es integriert sich gut mit Clojars.
Clojars - der Anfang eines Repositories für Clojure-Bibliotheken ala Ruby gems oder PyPi oder CPAN.
Steinbach wirft Westerwelle Profilierung vor - tja, mag ja sein, das sich Westerwelle profilieren will (sicherlich ist es so, er ist ja erst ganz frisch Außenminister und muss ja erst ein Profil kriegen das mehr aussagt als "kann kein Englisch"). Aber in diesem Fall hat er schlicht recht. Denn eine Frau Steinbach, die sich gegen die Anerkennung des Polnischen Staatsgebietes ausgesprochen hat, wäre als Aushängeschild eines Vertriebenenzentrums komplett das falsche Signal. So jemand ewig gestriges ist da völlig fehl am Platz. Wir reden hier ja nicht von einer Abstimmung in den 50ern oder so, wo die Stimmung noch aufgeheizter war - wir reden von einer Abstimmung in 1991 ...
2060 wird jeder Dritte 65 oder älter sein - ich halte ja nix von Voraussagen mit Laufzeit von 50 Jahren. Guckt mal 50 Jahre zurück und überlegt, ob aufgrund der damaligen Situation irgendein Statistiker auch nur minimal relevante Aussagen über unsere heutige Zeit hätte machen können. 50-Jahre-Vorhersagen sind nur Trendhochrechnungen, die bestenfalls als statistische Selbstbefriedigung dienen können.
Python moratorium and the future of 2.x [LWN.net] - eine gute Zusammenfassung der aktuellen Diskussionen rund um Python Releases, speziell die Diskussion ob 2.6 das letzte 2er Python ist, oder ob das schon existierende 2.7er noch released wird, ob es danach auch noch 2.8 oder mehr geben wird, oder ob der Wechsel zu 3.x forciert werden soll.
Hudson CI - da ich mich verstärkt mit JVM Sprachen beschäftige, wäre sowas durchaus interessant. Eine Continuous Integration Plattform in und für Java (und auch für andere Zwecke nutzbar). Interessant vor allem die leichte Installation - einfach nur ein .war das man startet oder in einen Container wirft und dann über das Webinterface konfiguriert. Continuous Integration hilft gewaltig beim Deploy, gerade wenn man seine Projekte sauber mit Unit-Tests aufbaut. Manuelles Durchlaufen der Testsuite entfällt dann weitestgehend, da der CI Server das übernimmt und zum Beispiel automatisch sauber durchlaufende Builds als Beta deployen kann oder z.B. funktionierende Snapshots (im Sinne der Testfälle funktionierend) als Downloads bereitstellen kann.
PyGoWave Server - keine Ahnung ob ich das schon hatte, aber gerade aus aktuellem Anlass wieder nach gesucht: eine Implementierung der Google Wave Idee in Python. Und das witzige: die Website darunter ist mit Django gebaut!
Verteilte Wikipedias statt zentralem Monster mit Löschfanatikern - interessanter Vorschlag. Eine dezentrale Wikipedia auf Basis eines verteilten Versionssystems wie Git. Geht genau in die Richtung in die meine Überlegungen für mein Blog in letzter Zeit gehen. Ich hab sowas in meinem Second Life orientierten Blog ausprobiert und als sehr angenehm empfunden - Blogeinträge habe ich da auf einem meiner Rechner gemacht und dann einfach roh als Markdown files per Mercurial (mag ich lieber als Git vom Handling her) auf den Server gepushed, wo das ganze dann durch eine Blogengine genudelt wurde und statisches HTML erzeugt wurde. Sauberer Nachvollziehbarkeit von Änderungen, saubere Konfliktbehandlung, ordentliches Backup von alten Versionen - und die Übertragung per Mercurial (git ist da vergleichbar) ist auch schön zügig, da nur Differenzen rausgeschickt werden. Im Moment grübel ich immer noch wie ich sowas effizient auf ein Blogmonster mit mehreren tausend Einträgen anwenden kann. Und wie man sowas z.B. auch in der Firma nutzen kann, anstelle von Wikis, da diese dort auch nicht unbedingt die optimale Situation darstellen.
in which things are mapped, but also reduced - ein wirklich nettes Beispiel der Agents in Clojure anhand eines Log-Analyzers. Berechnungen werden auf parallele Prozesse verteilt, ein zentraler Prozess liest und verteilt, am Ende wird alles gemerged. Also klassische map/reduce Technik. Schön wäre natürlich noch gewesen wenn das Lesen auch parallelisiert worden wäre, denn auf Plattesystemen mit vielen Spindeln kann paralleles Lesen durchaus schneller sein als sequentielles Lesen (besonders bei gigantischen Filegrößen wie sie von Tim Bray im originalen Problem postuliert wurden). Aber trotzdem nett mal ein kompaktes sinnvolles Beispiel für map/reduce in Clojure zu sehen. Die Sprache gefällt mir immer besser.
More Freedom Necessary as Top Developers Abandon iPhone - wenn Apple das nicht bald mal in den Griff bekommt, kann das eine ziemlich negative Wirkung haben. Denn wenn jetzt schon eingeschworene Apple-Schmieden wie Rogue Amoeba Apple die rote Karte zeigen, dann werden auf Dauer auch andere dort folgen. Und wenn dann im App Store nur noch alberne Taschenlampen brennen, wird Apple vielleicht merken, das ihr Vorgehen selten blöd war. Aber dann wird es zu spät sein ... (man schaue sich nur an, wie Palm den Palm Pre mehr oder weniger als Plattform ad absurdum geführt hat durch all das Heckmeck rund um deren Variante von App Store).
warum Common Lisp nie wirklich Mainstream sein wird - der verlinkte Source dient nur dazu, um eine binary-ascii decoding/encoding Bibliothek in verschiedenen Common Lisps über einen automatisch decodierenden und encodierenden Stream zu verwenden. Was steht drin? Berge von #+ Markern mit diversen Common Lisp Implementierungen. Das ist keine Portabilität, das ist schlicht Moppelkotze.
Fefes Kritik an Spdy - ich bin ja nicht der eingeschworene Fefe-Fan, aber seine Kritik an Googles neuen Protokoll trifft IMO durchaus. Meine Meinung über SPDY ist auch eher negativ - die Kritikpunkte, die Google an HTTP hat, liessen sich problemlos innerhalb HTTP lösen. Multi-Requestr? Wir haben schon keep-alive um Verbindungsaufbauten zu minimieren, das zu erweitern zu Multirequest bei dem man mehrere Requests gleich abschickt und dann sofort alle Daten bekommt wäre kein unlösbares Problem. SSL gibts für HTTP auch schon lange. Komprimierte Header? Sorry, aber die Header machen nun wirklich nicht den großen Teil der Daten aus, die zu komprimieren bringt ja nun mal garnix.
nothing new - da vergleicht jemand Go (Googles neue Systemsprache) mit Algol 68 - und die alte Tante Algol 68 kommt recht gut dabei weg.
Play framework - ein recht interessantes Framework für Java im Stile von Django oder Rails. In der Dev-Version 1.1 unterstützt es auch Scala für die Viewfunktionen, was dann wieder ganz interessant ist, denn egal wie nett das Framework ist, ich werd mir nicht Java roh antun.
NetBeans support for Google App Engine - der Titel sagt schon alles. Netbeans gefällt mir übrigens relativ gut. Sieht zwar absolut arm aus (nicht sonderlich gut in Cocoa eingepasst - Eclipse macht da einen deutlich besseren optischen Eindruck), aber im Gegensatz zu den Alternative scheinen die Plugins recht gut zu funktionieren (Eclipse produziert komische Fehler, IntelliJ muss man erst die richtige Version vom Plugin für die richtige Version der IDE jagen gehen). Und das Clojure-Plugin von Netbeans scheint bis jetzt das netteste zu sein - die REPL ist echt gut.
The Enclojure REPLs (Not just for Netbeans!) - wie man die REPL aus dem Netbeans-Plugin auch standalone benutzen kann. Und das ist eine recht brauchbare REPL, mit netten Features.
Mandelbulb: The Unravelling of the Real 3D Mandelbrot Fractal - Mathematik kann einfach nur schön sein.
Google Closure: How not to write JavaScript - klingt so, als ob die tolle Library bei Google vom Praktikanten geschrieben wurde ...
Joe Strummer darf alles (1999) | Spreeblick - ist so. Joe Strummer darf alles.
The Go Programming Language - interessante Sprache die aus den Google Labs kommt. Viele Ideen drin, die das Programmieren angenehm machen können - und viele pragmatische Ansätze. Für mich liegt es in einer ähnlichen Kategorie wie D - also eine Systemsprache, die als Alternative zu C oder C++ eingesetzt werden kann. Es ist interessant, das dieses eher vernachlässigte Segment von Sprachen in letzter Zeit mal wieder frischen Wind bekommt.