Codeswarms [1] sind eine Methode, die Entwicklung von Programmen zu visualisieren.
Genauer: Mit ihnen lassen sich commits in Quellcode-Repositories visualisieren.
Was dabei rauskommt sieht dann in etwa so aus, nur als Film:
Ich bin ihnen inzwischen seit Monaten völlig verfallen, weil ich in einem Codeswarm nicht nur nachvollziehen, sondern sehen und fühlen kann, wie sich ein Programm entwickelt hat.
Fragen wie
und viele mehr beantworten sich wie von selbst in schönen Filmen.
Aber was mir mit am Besten gefällt:
Mit Codeswarm werden Coder Rockstars.
Wenn das jetzt weit her geholt klingt, dann schau dir mal einen Codeswarm an und beobachte, wie du die Coder davor und danach siehst.
Probier' das doch mal mit den folgenden:
Um eigene codeswarms zu erstellen, schau mal auf der Video Seite [4] von codeswarm vorbei.
Einige von meinen drehen sich um den GNU/Hurd [5]:
Außerdem habe ich das Projekt shared_codeswarm [7] gestartet, mit dem sich code_swarms aus verschiedenen Projekten einfach zusammenfassen lassen. Eine schöne Anwendung davon sind battle_swarms und der unregelmäßig aktualisierte Mercurial code_swarm:
Viel Spaß beim Schauen!
Jetzt bräuchte ich nur noch einen Großrechner und Subversion Zugriff auf alle freien Programme, und ich könnte einen "Free Software Liveswarm" erstellen: Einen Videofeed in dem man in Echtzeit beobachten kann, wie sich freie Software weiterentwickelt.
Ich denke, irgendwann wird es das oder etwas in der Art geben, mit dem wir zu jeder Zeit sehen, was gerade in unserem Code-Universum geschieht.
Links:
[1] http://vis.cs.ucdavis.edu/~ogawa/codeswarm/
[2] http://www.vimeo.com/1093745
[3] http://www.vimeo.com/1334189
[4] http://code.google.com/p/codeswarm/wiki/GeneratingAVideo
[5] http://www.gnu.org/software/hurd/
[6] http://www.bddebian.com/~wiki/community/weblogs/ArneBab/2008-07-12-codeswarm-movies-for-the-hurd/
[7] http://rakjar.de/shared_codeswarm/
[8] http://rakjar.de/shared_codeswarm/project_activity_battle_swarm.html
[9] http://rakjar.de/semi_regular_mercurial_codeswarms/