ruby-mine

exploring the mine

MacRuby 0.5 Beta 1

von skade am 13.10.2009 (23 Uhr)

Wie Laurent Sansonetti auf dem MacRuby Blog ankündigt, findet sich auf der Downloadseite nun die erste Beta zu MacRuby 0.5.

MacRuby hat sich eine nahtlose Integrierung in das Ruby-ähnliche Objective-C-Objektsystem auf die Fahnen geschrieben. Auch ansonsten ist MacRuby ein interessantes Projekt: es basiert zwar auf dem Standardinterpreter MRI, tauscht aber dessen virtuelle Maschine (YARV) gegen einen LLVM-Unterbau aus.

0.5 ist bei weitem noch keine komplette Implementierung. Während die Kernsprache inzwischen fast komplett implementiert ist, werden nur 80% der Tests der Core-Bibliothek und 72% der Standardbibliothek erfüllt.

 
Kommentare (0)

Die meistgehasste Änderung

von skade am 07.10.2009 (15 Uhr)

Beim basteln bin ich wieder über einen kleinen, aber feinen Unterschied zwischen Ruby 1.9 und Ruby 1.8 gestoßen, der eventuell verwunderlich sein kann: der Lookup von Konstanten wurde geändert. Meistens wird das nicht auffallen, allerdings gibt es einige Fälle, die einen erstmal etwas ratlos zurück lassen...

Bildquelle: http://www.flickr.com/photos/piulet/ / CC BY-NC-ND 2.0


Vollständigen Artikel lesen...
 
Kommentare (4)

Spät, aber da: Videos von der EuRuKo 2009

von skade am 27.09.2009 (19 Uhr)

Ist zwar ein halbes Jahr her, aber jetzt gibt es endlich die Mitschnitte der EuRuKo 2009 auf Blip.tv zu sehen. Angeboten werden die Videos im Flashstream, als Download, als Streams für iTunes, Miro, Channels.com oder einfach nur als RSS.

Besonders möchte ich auf den Talk von Stephan Kämper hinweisen, den Usern unseres Forums besser bekannt als Zehnbambusgarten. Meinen Rant über die Dokumentationsmoral von Rubyisten ("A Blues in Doc-Minor") findet ihr in der Lightning Talk Session 1, in etwa bei 25:40, Mikroprobleme und PHP-Werbeshirt inklusive ;).

 
Kommentare (1)

Coverity: MRI gute Software - statisch betrachtet

von skade am 24.09.2009 (16 Uhr)

Coverity ist ein Hersteller von Tools zur statischen Codeanalyse. In Kooperation mit dem amerikanischen Department of Homeland Security prüft er unter anderem kostenlos die Qualität von Open Source-Software. Sowohl Python, Perl und Ruby liefern sich seit einiger Zeit einen freundschaftlichen Wettstreit darum, ihre Software bei Coverity-Scans bugfrei zu halten.

Die seit 2008 verstärkten Bemühungen um die Qualität des MRI-Teams scheinen sich auszuzahlen, zumindest wenn man den diesjährigen Report liest (Registrierung nötig, Zusammenfassung in der Presseerklärung). Der MRI erhält neben 3 anderen Projekten (Samba, tor und OpenPAM) eine Rung 3-Zertifizierung. Das Rung-System (Rung = Sprosse einer Leiter) ist eine Art Belohnungssystem für Entwickler: wer alle in einer Stufe gefundenen Bugs bereinigt, wird in eine höhere Stufe aufgenommen. In dieser werden andere - angeblich fortgeschrittenere - Tests ausgeführt. 3 ist die aktuell höchste Stufe.

Besonders interessant ist, dass das MRI-Projekt zwar seit 2006 an Coveritys Angebot teilnimmt, bis 2008 aber keinerlei besonderen Bestrebungen gezeigt hat, sich um die gefundenen Probleme aktiv zu kümmern. 2008 wurden die Tests dann als wichtiger Indikator gesehen und gefundene Bugs mit Nachdruck gefixed.

Ein wenig Vorsicht sollte man natürlich walten lassen: Zum einen testet Coverity nur die C-Komponenten. Große Teile der Ruby-Distribution sind in Ruby selbst geschrieben, über die keine Aussage getroffen wird. Da diese Teile jedoch auch in anderen Interpretern zum Einsatz kommen, sind sie auch keine spezielle Eigenschaft des MRI. Auch sind große Teile der Core-Api des MRI in C geschrieben, werden also durchaus erfasst.

Zuletzt ist natürlich zu sagen, dass diese Scans sich nur auf statisch erkennbare Bugs beziehen, meist Fehler in der Speicherverwaltung oder der inkorrekten Verwendung verschiedenster Low-Level-Funktionen. Die nachlässige Quellcodedokumentation und die fehlende Hackers Guide werden leider nicht erfasst.

Trotzdem an dieser Stelle von mir: herzlichen Glückwunsch an das MRI-Team zu ihrem neu gefundenen und konsequent umgesetzten Qualitätswillen.

Nachtrag: Heise berichtet auch

 
Kommentare (0)

Release-Schedule von 1.9.2 abgesagt

von skade am 23.09.2009 (23 Uhr)

Yugui hat in einer Mail an die Core-Mailingliste mitgeteilt, dass die Release-Schedule von Ruby 1.9.2 abgesagt wird. Diese war bereits recht weit fortgeschritten: die dritte Preview für 1.9.2 war für den 25. September angekündigt, einhergehend mit einem Feature Freeze. Als Begründung führt sie den Entschluss des MRI-Entwicklerteams an, dass der 1.9.2-Interpreter vor dem Release die RubySpec erfüllen muss. Diese Entscheidung würde aber einiges an Arbeit nach sich ziehen und ist somit nicht innerhalb des Rahmens zu erfüllen.

Die Bedeutung dieses Ereignisses ist nicht zu unterschätzen: lange Zeit war die RubySpec eine Bemühung, das Verhalten des MRI so zu beschreiben, dass andere Implementierungen ihre Konformität zu ihm testen können. Nach dieser Entscheidung ist die RubySpec nun eine Testsuite, die Ruby interpreterunabhängig beschreibt. Zu diesem Zweck bringt sie sogar eine simple Implementierung einer Specsuite mit, die es leicht machen soll, einen unvollständigen Miniinterpreter zu erstellen, der dann zumindest die Testsuite ausführen kann - auch, wenn er bei weitem Ruby nicht komplett implementiert.

 
Kommentare (1)

Ruby Fashion Guide: Flip-Flops

von skade am 21.09.2009 (21 Uhr)

Der Sommer geht zwar langsam zuende (oder: an meinem Ende der Welt ist er es schon), trotzdem kann man seinen Ruby-Code noch sommerlich kleiden (und in der CPU ist eh immer wohlig warm). Wie wärs mal mit Flip-Flops?

Bildquelle: http://www.flickr.com/photos/stuckincustoms/ / CC BY-NC-SA 2.0


Vollständigen Artikel lesen...
 
Kommentare (2)

Kurz dazwischen: MacRuby 0.5 stressfreier

von skade am 16.09.2009 (17 Uhr)

MacRuby hat nach dem Release 0.4 einiges über den Haufen geschmissen und baut nun auf der LLVM statt auf YARV auf. Seither gilt: selbst kompilieren ist Pflicht, nervig und vor allem lang (wer mal die LLVM von Hand kompiliert hat, weiss wovon ich spreche).

Seit neustem dürfen Snow Leopard-Besitzer ihren Prozessor wieder schonen, denn Claudio Poli bietet unter http://macruby.icoretech.org/ seit neustem nightly builds mit Installer an.

 
Kommentare (6)

Ruby in Snow Leopard

von skade am 28.08.2009 (18 Uhr)

Wusstet ihr eigentlich, dass Schneeleoparden nicht brüllen, sondern schnurren wie eine Hauskatze? Was man bei einem Zoobesuch nicht so alles lernt!

Aber egal. Snow Leopard ist draussen und stellt natürlich die wichtige Frage: welches Ruby ist eigentlich dabei? Mich freuts ja[1], einige wirds ärgern:

[ skade HIPE-Machine ~ ] ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]

Mit nem Klick gibts auch noch die Liste der vorinstallierten Gems.

[1] Ja, ich bin der Meinung, dass die meisten Vorbehalte gegenüber 1.8.7 unbegründet sind.


Vollständigen Artikel lesen...
 
Kommentare (0)

JRuby-Entwickler jetzt bei Engine Yard

von skade am 29.07.2009 (12 Uhr)
Engine Yard entwickelt sich weiter zu einer Triebfeder der Ruby-Entwicklung. Neben dem Sponsoring der Rubinius-Entwicklung, der Pflege des Ruby 1.8.6-Zweiges des MRI und der Unterstützung von Merb, kommt nun ein weiteres Schmankerl hinzu: drei der Hauptentwickler von JRuby. Charles Nutter, Thomas Enebo und Nick Sieger wechseln von Sun (bzw. Oracle) zu der Hostingfirma. Als Begründung gibt Charles gegenüber ITWorld an, dass es "zwar keine Hinweise gäbe, dass Oracle JRuby nicht unterstützt, allerdings auch keine für eine Unterstützung".
 
Kommentare (5)

require in Ruby 1.9.2

von skade am 19.07.2009 (10 Uhr)

Ruby 1.9.2 ist draußen und bringt ausser den in den News angekündigten Änderungen noch eine größere Überraschung mit.

Aufgrund eines potentiellen Sicherheitsproblems ist das Verzeichnis . nicht mehr standardmässig in $LOAD_PATH. Das bedeutet:

[ skade HIPE-Machine ~/Downloads/ruby-1.9.2-preview1 ] ls test.rb
test.rb
[ skade HIPE-Machine ~/Downloads/ruby-1.9.2-preview1 ] ./ruby --version
ruby 1.9.2dev (2009-07-18 trunk 24186) [i386-darwin9.7.0]
[ skade HIPE-Machine ~/Downloads/ruby-1.9.2-preview1 ] ./ruby -e "require 'test'"
-e:1:in `require': no such file to load -- test (LoadError)
  from -e:1:in `
'
Der Fix dafür ist einfach und in einer single-user-Umgebung unbedenklich: entweder ihr gebt jedem Aufruf von Ruby -I. mit oder ihr setzt RUBYLIB=".".
 
Kommentare (6)

Bilder vom RubyKaigi Preevent

von skade am 17.07.2009 (07 Uhr)

Wir nutzen schamlos die Zeitverschiebung aus: die 7 Stunden Vorsprung geben einem den Luxus, erst lang zu schlafen und dann über die Ergebnisse des Abends zu schreiben und trotzdem noch den Eindruck zu erwecken, dass man morgens früh aufgestanden ist. Heute: ein paar Bilder vom Preevent der Rubykaigi.

Die Lichtbedingungen waren etwas schlecht, daher gibts nur zwei ordentliche. Erstmal etwas Prominenz: Yugui und Akinori Musha, die Release Maintainer von Ruby 1.9 bzw. 1.8.7+.

Yugui and Akinori Musha

Als zweites muss ich dem sehr betrunkenen Japaner gratulieren, der nach einer ewig langen Unterhaltung über meine Kamera diese endlich mal in die Hand nahm und dieses Foto von Leonard Chin und mir schoss:

Leonard Chin and me
 
Kommentare (2)

Ankunft in Japan

von bovi am 15.07.2009 (07 Uhr)

So eben sind Florian und ich im Hotel in Tokio angekommen (nicht zu verwechseln mit Tokio Hotel!!). 9000km Flug für eine dreitägige Rubykonferenz, welche vom 17.07.2009 bis 19.07.2009 geht. Und anschliessend am 22.07.2009 die längste Sonnenfinsternis in diesem Jahrhundert. Morgen beginnt das ganze erstmal mit der Pre-RubyKaigi Party im Hokkaido.

 
Kommentare (1)

-S: die Rettung vor dem Versionswahnsinn

von skade am 05.06.2009 (11 Uhr)

Jetzt hat mans fast geschafft: MRI 1.9, MRI 1.8 und JRuby sind parallel installiert und haben alle ihre eigene Executable. Alle benutzen verschiedene Gem-Repositories und die Installationen sind schön isoliert. Alles rosa? Fast! Es bleibt da noch das Problem mit ausführbaren gems...


Vollständigen Artikel lesen...
 
Kommentare (0)

Spass mit HEAD: inspizierbare Blockparameter in 1.9.2

von skade am 31.05.2009 (16 Uhr)

Es ist zwar noch eine ganze Weile bis Weihnachten, aber eins ist sicher: Ruby 1.9.2 kommt. Und mit ihm ein Herzenswunsch Yehuda Katz's, der es wegen später Einreichung nicht mehr in 1.9.1 geschafft hat, aber im trunk vorhanden ist: Proc#parameters. Einen kleinen Spass, den man sich damit leisten kann, findet ihr unter dem Link.


Vollständigen Artikel lesen...
 
Kommentare (3)

Repeat Yourself! (hin und wieder)

von skade am 27.05.2009 (16 Uhr)

Aus gegebenem Anlass möchte ich mal auf einen kritischen Blick auf eins der Prinzipien werfen, das bei Ruby so gerne zitiert, aber gerne auch missverstanden wird: DRY.

Trockener Boden


Vollständigen Artikel lesen...
 
Kommentare (5)