In einer freien Minute habe ich nun BlindOptic um ein Layoutmanager bereichert. Das Ganze hab ich unter den wohlklingenden Namen YAML Stylesheets gestellt.
Wie gestern schon angekündigt, (ist|war) mein nächstes Spielziel ein GUI-Element innerhalb meiner kleinen Klasse ansprechbar zu machen. Das alles war in weniger als 15 Minuten erledigt, instance_variable_set sei dank aber dazu später mehr. Als erstes einmal ein kleiner neuer Codeschnippsel:
Ich hatte mir heute während der Fahrt von Bremen nach Hannover kurz Gedanken über einen ersten Entwurf von BlindOptic gemacht. Was entstanden ist möchte ich nun kurz zeigen und hoffe auf viel Kritik.
RubyInline sollte ja bereits mehrheitlich bekannt sein. Mit diesem kleinen Projekt war es bisher möglich, C/C++ Code direkt in Ruby zu nutzen. Dafür konnte man einfache Zeichenketten mit dem C Code erstellen und diese direkt in Ruby ausführen. Seit der neusten Version gibt es das Paket InlineFortran, mit diesem ist es nun auch möglich direkt Fortran zu nutzen. Für die Jüngeren unter uns (also auch für mich): Fortran ist eine Programmiersprache die bei weitem schöner aussieht als C und dabei sogar noch älter ist:
! iFunc() sei eine Funktion,
! die einen INTEGER Wert berechnet.
! Der Compiler muss nur einen Aufruf
! von iFunc erzeugen.
DO i= 1, iFunc(4711)
  !.. sinnvolles hier.
  ! Innerhalb dieser Schleife darf i
  ! nicht veraendert werden.
ENDDO
Die Ruby-Core Gurus scheinen heute aktiv zu sein. So wurde vor wenigen Stunden die JRuby Version 0.9.1 nach knapp drei Monaten Entwicklungszeit veröffentlicht. Wenn man die Features, Bugfixe und Erweiterungen liest, wird einem ganz schwindelig:
Ziel für die 0.9.2 ist u.a. die vollständige Implementierung von YAML in Java, eine funktionierende OpenSSL Bibliothek und wie immer die Peformance weiter zu steigern.
Wie ich soebend von John Lam erfahren habe, hat Microsoft nun mit Sun gleichgezogen. Nochmal eine kleine Wiederholung, für alle die, die in den letzten Wochen nix mitbekommen haben. Mit JRuby existierte seit nun knapp 2 Jahren ein Ruby Interpreter, der vollständig in Java geschrieben ist. Dieser konnte direkt mit dem Java Framework in Kontakt treten. Sun hielt dieses Projekt scheinbar für so fruchtbar, dass sie sich entschieden, die beiden Core Entwickler anzuheuern und nun Vollzeit an JRuby arbeiten zu lassen.
Soviel zur Vergangenheit. Und nun ein paar etwas neuere Informationen. Mit RubyCLR existiert ebenfalls seit einiger Zeit ein Layer der es ermöglicht, mithilfe von Ruby Code direkt mit dem .NET Framework in Kontakt zu treten. Und nun hört her: Microsoft hält dieses Projekt wohl für so fruchtbar, dass Sie sich dazu entschieden haben, den Hauptentwickler anzuheuern! Laut seiner Aussage ist es noch nicht 100% sicher ob er direkt an RubyCLR weiterarbeitet. Er wird jedoch im Bereich Skriptsprachen für .NET tätig sein... WOW
Es war einmal vor langer Zeit..
..ein kleines Mädchen. Dieses Mädel, mit dem liebreizenden Namen Tina Teenager, war voller Lebensglück und heiteren Gedanken. So dass Sie sich entschloss, ein Tagebuch bei McPapier zu kaufen und Ihre Gedanken, mithilfe von himmelsblauer Tinte auf schneeweißem Papier, festzuhalten:
Oh mein Gott. Man schaue sich doch bitte die Changeset Nummer 5223 an. Still und heimlich wurde also vor ein paar Tagen der Rails Core um die Bibliothek ActiveSupport::Multibyte erweitert. Was heißt das für uns? Wir können nun unsere kryptischen, typisch deutschen Namen ohne irgendwelche Probleme in Rails Applikationen benutzen:
"Daniel Bovensiepen".reverse # => "nepeisnevoB leinaD" "Daniel Bovensiepen".length # => 18
Mhhhh.. verdammt, das ging auch schon früher. Aber was ist mit folgendem:
"Kläuschen Kleinfeld".reverse # => "dlefnielK nehcsu??lK" "Kläuschen Kleinfeld".length # => 20
In der neuen Rails Version sieht dies dann so aus:
"Kläuschen Kleinfeld".reverse # => "dlefnielK nehcsuälK" "Kläuschen Kleinfeld".length # => 19
Es ist bestimmt schon fünf oder sechs Jahre her, da habe ich zum Geburtstag Lego geschenkt bekommen. Aber nicht diese normalen Acrylnitril-Butadien-Styrol-Copolymerisat Kunstoff Klötzchen zum Verschlucken, sondern das sogenannte Lego Mindstorm.
Wer es nicht kennt => Lego Mindstorm ist ein Spielzeug zum Aufbauen von kleinen programmierbaren Dingern. Ich sage Dingern weil man wirklich alles mögliche damit bauen kann. So hatte ich z.B. ein kleines Fahzeug gebaut, welches extrem zielsicher durch die Wohnung meiner Eltern genau gegen das Schienbein meiner Mutter fährt. Ein weiteres Projekt zusammen mit dem Bausatz eines Freundes, war ein Cliffhanger der eine riesige (bestimmt 60cm!!!) Lego Wand hochklettert und durch einen gezielten Sprung in den Abgrund die Arbeit von Wochen zu nichte macht. Und was sehe ich heute auf Rubyforge? Eine Bibliothek für das neue Lego Mindstorm NXT. Mithilfe von Ruby und Bluetooth kann man dann seinem elektronischen Ding befehle senden. Wie Cool ist das denn?