Ruby code that will swallow your soul!

by Daniel Berger

There is Ruby code no mortal being is meant to see, let alone use, for it is pure evil. If you wish to save your immortal soul, then read no further!


Florian Gross
2007-04-11 11:57:02
Heh, it's funny to see this article posted on the very date of my birthday. Thank you! :)

By the way, evil.rb is looking for a new maintainer. Mauricio and me really haven't invested much time into this in the last years. If you feel like contributing to the project by adding a new feature or improving existing ones, please contact us. I'll willingly add you to the project even if you just want to do a small contribution.

Oh, and evil.rb might seem useless at first, but it really is quite convenient for learning about how Ruby works internally. I've tried shifting focus into that direction a bit. If you'd like to make it more useful for that kind of work please contribute!

Daniel Berger
2007-04-11 12:21:11

I had no idea it was your birthday! Funny coincidence.

You're right about evil.rb being a good way to learn about Ruby internals (not to mention the 'dl' package). Maybe a separate post on that is in order, though I may use ruby-inline instead if I go that route.

As for feature requests, I'm wondering what happened Object#become. Too many issues?

I don't think I would be much use as a maintainer, btw, but thanks for the offer. :)

Florian Gross
2007-04-12 04:31:10
Yup, when cleaning things up for 1.9 compatibility I noticed that the unit tests for Object#become randomly segfaulted. It would probably have taken days of debugging to make it work correctly.

And heh, to be honest the 'you' was refering to the reader. I think you would a be a *lot* of use as the maintainer, but I understand you are probably even busier. :)

Thanks again for the cool article!

mfp (Mauricio Fernandez)
2007-04-12 08:21:54
The article might be more accurate than you believe }:-)

In line with the new emphasis on evil.rb as an educational tool, I'm assembling a list of pointers to articles and ML threads featuring evil.rb: