1.8.4 upgrade frenzy to solve the plastic (explosive) Ruby puzzle?
... not quite, so I synthesized a new version of my Ruby puzzle, friendlier to Ruby 1.8.2. As far as I know, >90% of those that downloaded the original puzzle haven't been able to solve it yet, but I don't know if that means they've given up or that they couldn't even get started because they didn't have at least 1.8.3.
There's no excuse now...
Playing
Here's a picture of the mystifier, looking at you haughtily

How long will it take?
The quickest exploit takes but a few seconds, but I'm not sure if anybody has found it yet. The second best solutions (time-wise) would take but one or two minutes if you type fast.
Some people have reported one to two hours... they must have run into the traps I carefully set up for them }:-)
Download
Get the script corresponding to your Ruby version:
- Ruby 1.8.3 and 1.8.4: challenge.rb
- Ruby 1.8.2 (don't know about older ones): challenge-1.8.2.rb
NOTE: the 1.8.[34] script is the one I posted originally; the 1.8.2 one is identical modulo the minimal change required to make it work with that version of Ruby.
Run
Some things to keep in mind:
- don't rename the scripts!
- you must run them from the directory they reside in; ruby /tmp/challenge-1.8.2.rb will not work
- if you preload some library, they won't work either. Remember to unset RUBYOPT if you added -rubygems
In other words, you want to do something like
RUBYOPT= ruby challenge.rb
or
RUBYOPT= ruby challenge-1.8.2.rb
depending on your Ruby version.
If all went well, you'll see an ASCII animation and the game can go on.
Crack
Once more, the rules:
- you have to find the secret message hidden inside challenge.rb/challenge-1.8.2.rb
- that message is placed in the base-64 encoded text at the beginning, which also contains the code for the ascii demo
- the secret message will tell you how to prove that you solved the puzzle
- please drop a comment when finished (time it took + proof) --- feedback is very appreciated
- all means allowed to get the secret message
running the challenge - David Koontz (2006-03-07 (Tue) 18:15:42)
Perhaps I am particularly dense but when (under XP) I do "set RUBYOPT= ruby challenge-1.8.2.rb" I get "ruby: Illegal switch in RUBYOPT: -c (RuntimeError)" whenever I try to invoke the interpreter. I'm on 1.8.2 from the 1-click installer.
mfp 2006-03-08 (Wed) 02:18:31
That's weird, where does -c come from to begin with? Maybe
set RUBYOPT= ruby challenge-1.8.2.rb
(in separate lines) would work?
David Koontz 2006-03-08 (Wed) 11:56:50
Yes, seperate lines worked fine. I thought you were saying to put the whole "ruby challenge-1.8.2.rb as the value of RUBYOPT"
Oh... - Tap (2006-01-18 (Wed) 21:40:48)
I spent maybe twenty minutes last week. Five or ten just now.
Evil solution - Tap (2006-01-18 (Wed) 21:30:44)
I looked at this the other day (briefly) but couldn't solve it. Then (tonight) inspiration struck ;)
Unfortunately due to the method I used for solving it I still don't know how it works. :)
Tap:d9cbd5b6c9af7328f3f2d330ba0e4bfb
ran into each and every trap... - P-A (2006-01-17 (Mardi) 11:22:41)
... but solved it eventually. It took me 3 or 4 hours, but I learned quite a lot. Now I guess I'll just have to wait for that "few seconds exploit"... Thanks for the puzzle !
P-A:b84ddca7d13b6ac7bdf9fe1485ba9ffc
Few second solution? - Kevin Ballard (2006-01-12 (Thr) 00:42:11)
You say fastest takes but a few seconds. I solved it originally (took about 1.5 hours), and I know how to do it again in a minute, but I want to know what the few second solution is. I finally came up with a guess, that just took me 22 seconds to decompress the original text starting from scratch, but of course it requires that I know exactly what I'm doing.
If you want my guess, send me an email at [kevin@sb.org], as I'm not going to post it where people who haven't solved it yet can see.
mfp 2006-01-12 (Thr) 18:13:35
just sent an email; looking forward to your reply ;)
Solved it... - BestFriendChris (2006-01-11 (Wed) 19:47:08)
BestFriendChris:60feb9efdf282dbc6065adbd8b4034f6
Wow. This was... Amazing. It took me, off and on, about 4 hours to solve it. I would say I am a relative novice to ruby, and I learned a ton just from looking at this code.
Thanks! Chris
Keyword(s):[blog] [ruby] [challenge] [puzzle] [1.8.2]
References:[Failed acceptance tests... that means they actually passed?!]