Vom 16 bis 19. Juli 2011 fand die 6. und letzte RubyKaigi in Tokyo statt. Dabei handelt es sich neben der RubyConf und EuRuKo um die wichtigste jährliche Ruby Konferenz.
Hier gibt es ein paar Notizen von den aus meiner Sicht interessantesten Vorträgen.
Die erste Keynote wurde von Aaron Patterson gehalten. Seines Zeichens Ruby- und Rails-Core Committer welcher bei AT&T Interactive zur Open Source Pflege angestellt ist. In seiner Keynote verglich er die Entwickungsprozesse der Ruby und Rails Community und vertrat die Meinung, dass die beiden Teams sich gegenseitig befruchten könnten indem sie Gewohnheiten der anderen übernehmen würden. So z.B. die nicht fest zugeschriebene Verantwortlichkeiten des Railsteams, welche im Rubyteam stark den Fortschritt behindert. Oder das koordinierte Release Management von yugui welches innerhalb von Rails nicht dediziert von einer Person durchgeführt wird und deshalb oft auf der Strecke bleibt.
Während der Q&A Session mit den Core Entwicklern wurden die folgenden Punkte für die Zukunft der CRuby Entwicklung mitgeteilt:
Die nächste und letzte Version von Ruby 1.8.6 wird in etwa zwei Monaten erscheinen. Sie wird ausschließlich Fehlerbereinigungen enthalten. Der aktuelle Maintainer hat angekündigt danach seine Arbeit daran einzustellen.
Seit 1.9.3 gibt es mithilfe von private_const eine Konstante als private zu markieren.
Seit kurzem ist sorah_h neuer Ruby Committer. Seine erste Integrationsaufgabe war für 1.9.3 test/unit zu parallelisieren.
Es wurden Anpassungen am GVL vorgenommen um Aktivitäten um diesen herum zu beschleunigen.
Koichi stellte eine Änderung am Thread Timer vor. Dieser verhält sich nun etwas intelligenter. U.a. deaktiviert er sich beim nicht Vorhandensein von multiplen Threads. Dies sorgt dafür das die kontinuierliche Prozessorlast von Ruby sinkt, da das permanente Scheduling alle 10ms in vielen Fällen wegfällt.
Ruby 1.9.3 wird nach aktuellem Plan Ende August veröffentlicht. Eine erste Preview steht bereits in den Startlöchern.
Nach dem 1.9.3 Release wird der Support für 1.9.1 eingestellt.
sorah_h, der seit kurzem Core Committer ist, stellte seinen Werdegang als jüngstes Mitglied des Core Teams vor. Er erklärte welche Dinge es Ihm ermöglicht haben sehr früh bereits mit Ruby in Kontakt zu kommen (u.a. Hackety Hack) und warb darum die jüngere Generation zu motivieren es Ihm gleich zu tun.
Es wurde der Real Time Profiler llprof vorgestellt, welcher es ermöglicht, ohne den hohen Overhead von ruby-prof Ruby Programme zu profilen. Dies findet weiterhin im Gegensatz zu ruby-prof in Echtzeit im Browser statt. Dort kann u.a. ein Graph oder eine Baumstruktur des aktuell laufenden Ruby Prozesses begutachtet werden.
Es wurde ein patch für Ruby 1.9.2 vorgestellt welcher es ermöglicht mehrere Prozesse getrennt innerhalb einer VM auszuführen. Als Beispiel wurde Sinatra verwendet.
Der aktuelle Stand der Entwicklung des neuen Ruby Interpreters für Embedded Systeme wurde von matz vorgestellt. Eine erste Alpha Version soll ende Juli 2011 fertigstellt sein. Ein offizielles Release wird frühstens in der ersten Hälfte 2012 als Open Source veröffentlicht.
Der GC Maintainer nari stellt seine Ideen vor um die GC Mark and Sweep Implementierung parallel zu gestalten. Es wird dabei ein (wie er es nennt) “Task Steal” Ansatz verwendet. Dabei wird verhindert das der GC blockiert, in dem Aufgaben von GC Prozessen entwendet werden die selbst gerade blockiert sind.
Koichi stellt den aktuellen Stand der Entwicklung im Ruby trunk vor und erklärt Konzepte um die Ausführung auf Multiprozessor Maschinen zu beschleunigen. Es wird erneut die “Multiple Virtual Machine” erwähnt, wobei es sich um die Idee handelt, mehrere VM in einem Ruby auszuführen und so den “Global Lock” zu umgehen.
Shugo sprach über den abgeschlossenen Standardisierungsprozess von Ruby. Er erklärte wie der Standard zu lesen sei, was er enthält und was ausgespart wurde.
Trunk Changes Statistic - 9.2 commits a day
OS made by Ruby (Yoshihara Haruka) - PerlOS
Creating Global Japanese Rubyist - creating of TokyuRubyistMeetup
Rurima - Japanese Ruby Referrnce Manual
James - MacRuby speech talk dialog system - codebrawl.com
Asp.Net vs Rails - rails lost
Technology support rubykaigi.org
Rios:Proxy – Proxy Framework for CLI – emulate input/output
MacRuby Rainbow – rewritten IRB – integrated into Carbon – github.com/alloy
erb
Limiting Red
Agile UCD - Agile UX Live result - Meetup CMS
Floating Point - hard to use right - decimal notation für Rational
BioRuby - DNA Analyse
Chatting with Anime Voice Actors via Skype
Study Group versus Meetup Group
define_method
What Rubyists are missing is accounting
ActiveLdap - Rails 3.1 Integration
MmapScanner
pebbles - propose namespace for joke gems
C die hard
Die treibende Kraft hinter der RubyKaigi – Shintaro Kakutani – hielt eine Präsentation rund um die japanische Ruby Community und welchen Stellenwert die RubyKaigi darin einnahm. Er thematisierte die Zukunft ohne diese Konferenz und die eventuellen Möglichkeiten wie z.B. eine Kooperation mit der RubyConf.
Matz Keynote über die Gegenwart und Zukunft von Ruby.
Kommentar schreiben