Changes in Ruby 1.9, Oct. 07 update – [Imagine if I write a block that accepts two parameters; then the implementor of the class that’s doing the yield changes the behavior to yield three arguments instead of two. In 1.8, this will not break the existing code – the old block just won’t "see" the new value, and probably that’s not important. But now in 1.9, the old iterator will break because it will suddenly be receiving a two-element array for that last parameter.]
What’s eigenclass.org? – [eigenclass.org is mostly Ruby stuff: code, information on the internals, news about the 1.9 branch, unusual hacks… I’ve tried to stay away from the most trivial things, so you won’t find tutorials that rehash the basics of blocks, higher-order methods or modules (the set of things I consider basic is seemingly larger than for most people, though).]
ruby-wmii community: plugins and configurations – [”’Latest news [2007-12-04]”’ [[ruby-wmii-for-wmii-3.6]] The previous code has been moved to the -3.1 branches, and both [[head|https://eigenclass.org/repos/ruby-wmii/head]] and [[branch-ruby-ixp|https://eigenclass.org/repos/ruby-wmii/branch-ruby-ixp]] work with 3.6. Still no tarball release, and the documentation on this site has yet to be updated. The standard plugins are being converted (some bugs remain), 3rd party plugins might require modifications. ]
ruby-wmii FAQ – [”’Latest news [2007-12-04]”’ [[ruby-wmii-for-wmii-3.6]] The previous code has been moved to the -3.1 branches, and both [[head|https://eigenclass.org/repos/ruby-wmii/head]] and [[branch-ruby-ixp|https://eigenclass.org/repos/ruby-wmii/branch-ruby-ixp]] work with 3.6. Still no tarball release, and the documentation on this site has yet to be updated. The standard plugins are being converted (some bugs remain), 3rd party plugins might require modifications. ]
Rails on 1.9: first benchmarks, YARV exposed to non-synthetic tests – [https://eigenclass.org/update.png Take a look at the [[Kansai Rails meeting slides|http://www.moriq.com/ruby/RailsMeetingKansai-0007/rails-for-ruby-190.pdf]]. It lists what had to be modified in order to get Rails to run on 1.9. Even if you don’t understand the Japanese text, the code samples show how the [[new stuff in 1.9|Changes in Ruby 1.9]] affects real-life applications.]
Message-oriented (duck-typed) exceptions – [That’s great, though I wonder if some exceptions I tend to use, have such boring interfaces that it makes it hard to use this outside of my own library code. Maybe this is a sign that we need our exceptions to be more interesting. This has been quite thought provoking for me. I’ll keep this in mind next time I build up some exceptions and see if I can’t break out of this type of one-line lazyness:]
More logical programming in Ruby: solving Einstein’s riddle (Zebra puzzle) – [[[tiny Prolog interpreter|tiny prolog in ruby]]{{fn("download the required tiny_prolog.rb and tiny_prolog_ext.rb from that page")}}. There are a few variants of the riddle; the code below solves [[this one|http://www.manbottle.com/popular/einstein_s_riddle]]]
What’s new in Ruby 1.9, Feb. 07 update – [This is what is meant to happen: code blocks expanding horizontally so you can read overflowing lines easily. Works for me on Firefox & Safari. What are you getting?]
eigenclass.org "Happy 2007!" Ruby mini-contest started – [* 2007-01-07 10:27 UTC: 160 participants, still only 6 people managed to decode the message. If you crack it, you can claim that your Ruby is stronger/you are more patient than 96% of the people.]
xmpfilter 0.3.1: RSpec support, emacs love, win32 compatibility – [* annotate source code with intermediate results (a bit like irb –simple-prompt but only for the lines explicitly marked with # =>). Very useful for example code (such as postings to ruby-talk).]
Ruby HEAD’s been evolving in the last 4 months (2006-10) – [* optimizations: small strings are embedded in the RString structure. You have to use RSTRING_LEN and RSTRING_PTR in your C code. Same for arrays, with RARRAY_LEN and RARRAY_PTR.]
Dissecting matz’s monster patch: lots of activity in 1.9 (2006-06) – [Good news about log2, but it’s a shame redefining log() to mean log10() and ln() to mean log_e() would break too much code to happen. Would bring ruby back in line with practically everyone else, including mathematicians and scientists.]
A better Kernel#caller – [many levels to skip). When creating [[cross-referenced code coverage repots|rcov]] for Rails applications, Kernel#caller proved to be way too slow since]
Usable Ruby folding for Vim, second update – [The new behavior is illustrated by the following animation (which also shows the basic usage of [[my xmp Ruby evaluator/annotator|Enhanced xmp code evaluation and annotation]]):]
Continuations are so much easier to grasp than 2ch and Japanese – [Being pretty satisfied with that, I decided to reply to the original message on 2ch. This surely cannot be difficult, can it? I know these kanji, alright. I fill the name field. Mmh can do without the email address. OK. Now the contents; I just paste the Ruby code without adding any text: I’m not running the current Konqueror instance with XIM, and I’m too lazy to run another (GTK-based) browser just to be able to compose in Japanese with im-ja (I don’t feel like writing somewhere else and pasting into the form either). Done. There’s a large button; I can’t read all the kanji but it surely means "submit". Mmmm a new page seems to ask for confirmation before sending and shows my message. One sec, the indentation is gone. Ugh.]
Ruby support for Vim – [* [[rcodetools]], [[supersedes xmpfilter|xmpfilter]] (see [[older|xmp redux: expanding test assertions for profit]] [[versions|Enhanced xmp code evaluation and annotation]] for further explanations)]