Matthew Moss
5/22/2008 7:25:00 PM
[Note: parts of this message were removed to make it a legal post.]
Welcome, Ruby coders and coderettes... Tonight we bring you the Obfu Awards,
awards given by committee (i.e. me) to those most deserving for their...
"creative" work.
We're going to skip the red carpet frivolities, as we have no red carpet,
and jump right to the awards. Here they are, in no particular order (except
that of their entry).
#### Best Non-Working But Terribly Obvious Solution
This award goes to _DJ Jazzy Linefeed_ whose solution -- while it generates
an error -- provides output that can be discerned by running the Ruby
interpreter in your mind. Seeing as how Google provides wonderful spam
filtering, thanks to at least fifteen Python hackers, the l
#### Most Prolific Use of `gsub` in a Signature
_John Joyce_ puts forth a straightforward, easy to understand, solution that
is his email address transformed by simple replacements. Not terribly
obfuscated, but a good first step, and I believe the greatest number of
calls to `gsub` within a single solution.
#### Best Unexpected Use of `String#Unpack`
_Harry Kakueki_ makes interesting use of `String#unpack` by way of its
directional and positional directives. While his attempts to confuse the
source material were unsuccessful, his use of these uncommon `unpack`
commands are worthy of notice.
#### Most Painful Obfuscation
The first entry from _Mikael Hoilund_ is such a dangerous minefield of
string manipulations and punctuation, the committee could not completely
discern its operation. In particular, putting aside the call to `downcase!`
(which we managed to discern after much coffee and doses of Ritalin), this
segment of code was never fully understood:
*a=e=?=,!????,:??,?,,Email
We'd ask Mikael to explain himself to the committee, but we fear the medical
consequences.
#### Best Looking Non-Email Output
Rather than provide his email address, _Sandro Paganotti_ chose to display
his logo, specified in a run-length encoded string, specifying alternate
sections of "on" or "off" characters. A couple reverses and flips here and
there grows the logo and generates more output than code was input.
#### Highest Data-to-Code Ratio
_Phillip Gawlowski_ receives this honor, for using a simple `unpack` to
decode his UUEncoded name, email address and web pages.
#### Special Award: Solving Two Quizzes In One
A very special honor goes to _Bill Kelly_ for a finely golfed solution to
two quizzes at the same time. His tiny Turing Machine not only works, but
fits both the machine and the code required to print his email address
within the space restriction for this quiz. Bravo.
#### Most Rentable Space (and Use of Non-Standard Number Bases)
_Marcelo Magallon_'s use of a base-36 number, simply converted to ASCII
(base-256) did not fool the committee, but it was quite elegant.
#### The "I Like Π" Award
A cute and curious technique, _Steven Hahn_ used the digits of π to
offset the characters of his email address. Sadly, we were hoping for lemon
meringue.
#### Best Abuse of a Random Number Generator
Random numbers are supposed to be random... except when they're not. _Chris
Shea_ puts this to use to ensure the scrambled letters of his email address
are shuffled into the correct place. The need to vary this per-platform is a
sad consequence, due to variations in the generators.
#### The "Thank Goodness He Provided An Explanation" Award
Once again, _Mikael Hoilund_ taunts us... or should I say, _haunts_ us. We
tried, we really tried, to understand his code before giving up and reading
the (thankfully) provided explanation. After that, we were able to follow
along and understand the code, and have come to two conclusions. First,
Mikael has taught us how to abuse those we don't like. Second, Mikael should
not be allowed near the `%` character ever again.
#### Best Gratuitous Use of the Web
For his second entry, _Harry Kakueki_ places a portion of his email address
on the web, and another portion in the code, a simple `GET` and `gsub`
completes the address.
#### Most Obfuscated Code (Well, Except for that Mikael Guy... You Know Who
We're Talking About...)
_Sergey Volkov_ presents a markedly obfuscated bit of code that is
characterized by his self-inverting transform. The use of `$&` made
available by the regular expression, instead of a parameter for the `gsub`
block, was tricky. Using `%$$` as an empty string for converting ASCII
values to single-character strings was a clever ruse. We wonder if we
shouldn't take away the `%` character from Sergey as well.
#### Best Attempt to Scare the Committee
Seeing _Mikael Hoilund_'s third submission, we fretted. At first, no one
dared to look. But as we are gluttons for punishment, we relented, only to
see this silly attempt to print "42". Still, we worry what might happen if
we ask Mikael to write a spreadsheet or calculator.
#### Longest Binary Sequence Seen In A Submission to this Quiz
Congratulations to _Jesus Gabriel_. It's the longest binary sequence. We're
fairly certain of that.
#### Most Obvious Need for an ASCII Table
The solution provided by _Andrew Nelson_ was simple, quaint, obvious. And we
all know 65, but can never remember 110 or 114. Google, I'm feeling lucky
about "ASCII table".
#### Best XOR Decryption of a Base-64 String to an ASCII String in a Ruby
Quiz
The award goes to _Come Milan_ for... well... doing what I just said. Next!
#### The "Is It Unstable? I Forget How Floating-Point Works" Award
Our final award goes to _Adam Shelly_ who does some things to floating-point
numbers, then a few more things, then makes them integers and gets a
remainder... or something... but anyway it works, but will it work
everywhere? Who knows?
Overall, a lot of great submissions. I most _definitely_ learned some things
here.
There will not be any quiz provided tomorrow. Family is coming into town.
See you again in a week!
--
Matthew Moss <matthew.moss@gmail.com>