
Vor ein paar Tagen fing es mit einem allgemein bekannten Thema an. Auf der Mailingliste wurde der Thread Recommended way to install Rubygems eingestellt. Die Frage war kurze Zeit später beantwortet. Die Antwort lautete: Deinstalliere die kaputten Debian Pakete und übersetze dein Ruby direkt aus dem Quelltext. Das wollte jedoch der Maintainer der Debian Ruby Pakete so nicht stehen lassen. Also ging eine Diskussion nach folgendem Muster los:
Am 10. März 2010 findet das 9. Ruby Usergroup Treffen in Hannover statt. Das wäre Morgen. Mal wieder etwas kurzfristig angekündigt, hoffe ich das der ein oder andere kommt.
Datum: 10.03.2010 (ab 18:00 Uhr) Ort: Sushi Bar Gim Adresse: Goethestr. 48, 30169 Hannover
Ganz nebenbei bemerkt: Wir feiern das einjährige Bestehen unserer kleinen Usergroup (-:
Dankenswerterweise ist auf dem Treffen der Ruby-Usergruppe Karlsruhe folgende Frage aufgetaucht: Wie gebe ich eigentlich das Encoding von ERB-Files an? Die werden ja zu Ruby konvertiert und dann geladen, was unter Umständen zu Problemen führt. Die Lösung ist relativ einfach: genauso wie in normalen Rubydateien auch. Man muss nur einen ERB-Kommentar an die erste Zeile schreiben. Der sieht so aus:
1 2 |
<%# -*- coding: UTF-8 -*- %> <%= "öix"%> |
Und zwar genau so. Kein Leerzeichen zwischen Dateianfang und <, auch keins zwischen % und #. Danach ganz normal den bevorzugen Encoding-Tag einsetzen. Andernfalls ist nichts gewonnen und der Kommentar wird ignoriert.
Einige Monate ist es her, dass Yugui den Erscheinungstermin für Ruby 1.9.2 auf unbestimmte Zeit verschoben hatte. Diese unbestimmte Zeit ist nun scheinbar angebrochen. Yusuke verkündete heute morgen, dass der Trunk nun die RubySpec besteht. Damit bat er auch darum, einen neuen Erscheinungstermin für die Version 1.9.2 zu terminieren.
Irgendwie verkommt dieser Blog zum reinen Veranstaltungskalender (-: Naja egal, nur noch dieses eine Mal, dann bin ich erstmal still.
So eben wurde die Registrierung für die RubyConf Taiwan eröffnet. Es gibt insgesamt 100 Plätze für jeweils 400 Taiwanische Dollar (ca. 10€). Es handelt sich um eine eintägige Veranstaltung am 25. April mit dem folgenden Programm:
Parallel zu der RubyConf findet auch noch in der Nähe die Open Source Developer Conference Taiwan statt. So wie ich das sehe, scheint es da einen ziemlichen Auflauf von der asiatischen Perl Community zu geben. Könnte auch sehr interessant werden.
Heute Morgen wurde die Registrierung der RubyConf India 2010 eröffnet. Für knapp 15€ (950INR) gibt es dort jetzt Tickets für das zweitägige Event vom 20. bis 21. März in Bangalore. Das Programm sieht wie folgt aus:
Auf der offiziellen Webseite der EuRuKo 2010 wurde soeben der Call of Paper gestartet. Das Veranstaltungsdatum wurde außerdem auf den 29. bis 30. Mai verlegt,
Als ich ende letzten Jahres mal wieder für ein paar Tage in Beijing war, ergab sich spontan ein Treffen mit Danny Yang von Seravia der meinen Twitter Stream wohl folgte. Ich hatte bereits aus anderen Quellen gehört, dass neben Shanghai auch Beijing ein Ort ist, an dem sich eine Menge wieder zurückgekehrter Chinesen mit einem Start-Up niederlassen, Seravia war jedoch das Erste, welches ich intensiver erkunden durfte.
Ich bin begeistert! Vor genau einem Monat habe ich eine Liste mit allen Konferenzen zusammengetragen, die ich dieses Jahr besuchen möchte. Daraufhin haben sich einige Leute gemeldet, die Interesse an dem einen oder anderen Event haben. Deshalb hier eine Auffrischung des Themas und ein paar mehr Hinweise. Mit der Bitte um weiteres Feedback!
Ich wollte mal fragen, ob jemand am 4. Februar zum rug-b Treffen kommt. Themen sind wohl Redis, Sass und Compass. Das Treffen findet in den neuen Räumen von Upstream statt. Bis dahin!
Wem der ganze Ruby-Kram mit Jruby, Ruby 1.9, Rubinius, MacRuby, IronRuby, YARV, Rails, Sinatra, Encoding und so weiter momentan einfach zuviel wird, dem kann ich empfehlen, mal die heiteren Seiten genießen.
So hat Gregory Brown (Autor von Prawn) nicht lange gefackelt und den kürzlich bekannt gewordenen Webrick-Exploit ausgenutzt, um Bellhop zu schreiben. Die Wirkung ist simpel: "bellhop http://dein_webrick:8080" lässt bei allen die Konsole klingeln, die ihr System noch nicht gepatcht haben.
Ryan Davis (zenspider, u.a. Maintainer von Rubygems, hoe, minitest, etc.) war das bestimmt noch zu anwendbar - anders kann ich mir sein neustes Plugin für RubyGems nicht erklären: "gem install rubygems-sing" installiert euch ein neues gem-Kommando, das tut, was es verspricht: es "singt" die Implementierung eines Gems, indem es jedem "end" abhängig von seiner Entfernung vom Zeilenanfang einen Ton auf einer Tonleiter zuordnet. Ich empfehle: "gem sing dm-core". Für die Musik zuständing ist übrigens der Gem "midiator" von Ben Bleything.
Wie stehts bei euch? Was sind eure liebsten "Spassprojekte"?
Also, ich wusste schon, dass man folgendes schreiben kann, um Methoden mit beliebig vielen Argumenten zu definieren:
1 2 3 4 |
def bist_du_aber_klein(*) super essen(:vitamine) end |
Hier werden die restlichen Argumente einfach verworfen, und keiner lokalen Variable zugewiesen.
Der Stern kann auch noch in anderen Beziehungen auftauchen, zum Beispiel in Mehrfachzuweisungen oder bei Blockparametern:
1 2 |
gewinner, *nieten = die_anderen_gehen_leer_aus
array_von_arrays { |erstes, zweites, *rest| puts 'Was für ein Wetter!' } |
Interessanterweise kann man bei solchen Catch-all-Ausdrücken immer den Namen der Variable weglassen:
1 2 3 4 5 6 |
def gibs_mir *; end ja, * = nein, nein, nein obfusc do |*| end for key, * in ENV # puts(*) geht aber nicht! end |
In Ruby 1.9 geht auch:
1 2 3 4 5 6 7 |
a, *, b = *1..10 [a, b] #=> [1, 10] def letzter(*, last) last end letzter(*1..10) #=> 10 ENV.each.with_index { |(*, value), index| puts '%2d: %s' % [index, value] } |
Noch ein ganz extremes Beispiel, das nichts sinnvolles tut:
def***;%****%**;end;*a=*(a**a);b{|*|* =:*.*(:**)} |
Nützlich? Albern? Perl6? Eure Meinung!
Habe gerade nach langer, langer Zeit mal wieder etwas auf Ruby-Lang im deutschen Bereich nachgezogen. Diesmal geht es um einen Fehler im WEBrick, welcher dazu führt, dass bestimmte Escapesequenzen von entfernten Angreifern mittels der WEBrick Logdatei, auf eurem lokalen Terminalemulator ausgeführt werden können.
Das Ganze sieht dann in etwa so aus:
Es ist also möglich den Titeltext einer Terminalemulation zu ändern. Weltungergang!!! Naja vielleicht auch nicht. Es gibt jedoch auch verschiedene andere Angriffszscenarien.
Da ich kein Freund von diesen ewig wiederholenden Neujahrsgrüßen bin, habe ich mir gedacht, dass ich das neue Jahr hier statt dessen mit der Veröffentlichung eines kleinen Kalenders beginne. Ich nenne das Kind jetzt erstmal Ruby Konferenz Kalender 2010. Die hier aufgelisteten Konferenzen sind bei weitem nicht alle in diesem Jahr statt findenden. Es handelt sich vielmehr um eine Auswahl an denen ich teilnehmen werde. Folglich könnt Ihr diese Liste auch als Einladung verstehen. Eventuell habt Ihr ja Lust den einen oder anderen Ort ebenfalls zu besuchen. Wenn ja dann gebt hier bescheid und eventuell können wir etwas gemeinsam organisieren (Reise, Sightseeing, etc.). Letztes Jahr hat das mehrmals ganz gut geklappt.