Each year a number of individuals proficient in a variety of programming languages all congregate and try to come up with the most odd-looking program possible.
This year, after playing with the Ruby programming language for a couple of hours I entered the new Obfuscated Ruby Programming contest. Alas, my entry here only tied for 2nd place:
- Code: Select all
# date: 03/18/2004
# title: primes less than 1000 ( 2005 Obfuscated Ruby Contest )
# author: Jim Lawless
# email: jimbo at radiks dotski net
# comments: This program will display all positive prime integers
# less than 1000. Program licens is the same as the Ruby
# license ( http://www.ruby-lang.org/en/LICENSE.txt )
$e=""
def a()
$a=$a+1
end
def b()
$a=$a+5
end
def c()
$e=$e+$a.chr
end
def d()
$a=10
end
def e()
$a=$a+16
end
d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;a;c;d;e;e;e;a;a;a;c;d;e;e;b;b;
a;c;d;c;d;e;e;e;e;e;e;b;b;a;a;a;c;d;e;e;e;e;e;b;b;a;a;a;a;c;d;e;e;e;e;
e;b;b;a;a;a;a;a;c;d;e;e;e;e;e;e;a;a;c;d;e;e;e;e;e;b;b;a;c;d;e;b;a;c;
d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;a;c;d;e;e;e;a;a;c;d;e;e;b;a;a;
c;d;e;e;b;a;c;d;e;e;b;a;c;d;e;e;b;a;c;d;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;b;
b;a;a;a;a;a;c;d;e;e;e;a;a;a;c;d;e;e;b;a;a;a;c;d;c;d;e;b;a;a;a;a;a;c;d;e;
e;e;e;e;b;b;a;a;c;d;e;e;e;e;e;e;a;a;a;a;a;c;d;e;e;e;e;e;e;b;b;a;c;
d;e;e;e;e;e;e;a;a;a;a;c;d;e;e;e;e;e;b;a;a;a;a;a;c;d;e;e;e;a;a;a;c;d;e;
e;b;a;c;d;c;d;e;e;e;e;e;e;b;b;a;a;a;c;d;e;e;e;e;e;b;b;a;a;a;a;c;d;e;e;
e;e;e;b;b;a;a;a;a;a;c;d;e;e;e;e;e;e;a;a;c;d;e;e;e;e;e;b;b;a;c;d;e;b;
a;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;b;b;a;a;a;a;a;c;d;e;e;e;a;a;c;d;e;b;
a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;a;c;d;e;b;a;c;d;c;d;e;e;e;e;e;b;b;a;
a;a;a;a;c;d;e;e;e;e;e;b;b;a;a;c;d;e;b;b;a;a;a;a;c;d;e;b;a;c;d;e;b;b;a;
a;a;a;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;a;c;d;e;e;a;a;a;a;c;
d;e;e;e;e;e;e;a;a;a;c;d;e;e;e;e;e;e;a;a;a;a;a;c;d;e;e;e;e;e;b;a;a;a;
a;a;c;d;e;e;e;e;e;e;b;b;a;c;d;e;e;e;e;e;e;a;a;c;d;e;e;e;e;e;e;a;a;a;
a;a;c;d;e;b;b;a;a;a;a;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;b;b;a;a;a;a;a;
c;d;e;b;b;a;a;a;a;a;c;d;e;b;b;a;a;a;a;a;c;d;e;e;e;a;a;a;c;d;e;e;e;a;a;
a;c;d;e;e;b;a;c;d;e;b;b;a;a;a;a;a;c;d;e;b;a;c;d;c;d;e;b;a;a;a;a;a;c;d;e;e;
e;e;e;b;b;a;a;c;d;e;e;e;e;e;e;a;a;a;a;a;c;d;e;e;e;e;e;e;b;b;a;c;d;e;
e;e;e;e;e;a;a;a;a;c;d;e;e;e;e;e;b;a;a;a;a;a;c;d;e;e;e;a;a;a;c;d;e;e;
b;a;a;c;d;c;d;e;e;e;e;e;b;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;c;d;e;e;e;e;e;
b;b;a;c;d;e;e;e;e;e;b;a;a;c;d;e;e;e;e;e;e;a;c;d;c;d;e;e;e;e;e;b;b;a;c;
d;e;e;e;e;e;e;a;a;a;a;c;d;e;e;e;e;e;b;a;a;a;a;a;c;d;c;d;e;b;a;a;a;a;a;
c;d;e;e;e;e;e;b;b;a;a;a;a;a;c;d;e;e;e;a;a;a;c;d;e;b;a;a;a;a;a;c;d;e;e;
e;e;e;b;b;a;a;a;a;a;c;d;e;e;a;c;d;e;e;b;a;a;c;d;c;d;e;e;e;e;e;b;b;a;a;
a;a;a;c;d;e;e;e;e;e;b;b;a;a;c;d;e;b;a;c;d;e;b;b;a;a;a;a;c;d;e;b;b;a;a;
a;a;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;b;b;a;a;a;a;a;c;d;e;b;b;b;a;c;d;e;
b;a;a;a;a;a;c;d;e;e;e;e;e;b;b;a;a;a;a;a;c;d;e;b;b;a;a;a;a;a;c;d;e;e;
e;a;a;a;a;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;a;c;d;e;b;b;a;a;
a;a;a;c;d;c;d;e;e;e;e;e;b;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;c;d;e;e;e;e;e;
b;b;a;c;d;e;e;e;e;e;b;a;a;c;d;e;e;e;e;e;e;a;c;d;c;d;e;e;e;e;e;b;b;a;c;
d;e;e;e;e;e;e;a;a;a;a;c;d;e;e;e;e;e;b;a;a;a;a;a;c;d;c;d;e;e;e;e;e;b;b;
a;c;d;e;e;e;e;e;e;a;a;a;a;c;d;e;e;e;e;e;b;a;a;a;a;a;c;d;c;d;e;e;e;e;e;
b;b;a;a;a;a;a;c;d;e;e;e;e;e;b;b;a;a;c;d;e;b;b;a;a;a;a;c;d;e;b;a;a;a;
a;a;c;d;e;e;e;e;e;b;b;a;a;c;d;e;e;e;e;e;e;a;a;a;a;a;c;d;e;e;e;e;e;e;
b;b;a;c;d;e;e;e;e;e;e;a;a;a;a;c;d;e;e;e;e;e;b;a;a;a;a;a;c;d;e;e;e;a;
a;a;c;d;e;e;e;a;a;a;c;d;e;e;b;a;c;d;e;b;b;a;a;a;a;a;c;d;e;b;a;c;d;c;d;e;e;
e;e;e;e;b;a;c;d;e;e;e;e;e;e;b;b;a;c;d;e;e;e;e;e;e;b;a;a;a;a;a;c;d;e;
e;e;e;e;e;b;a;a;a;a;c;d;e;b;a;c;d;e;b;a;a;a;c;d;e;b;a;a;a;a;c;d;e;e;e;
e;e;e;e;a;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;a;c;d;e;e;e;e;e;
e;e;a;a;a;c;d;e;b;a;c;d;e;e;e;e;e;b;b;a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;
a;a;a;c;d;e;b;a;c;d;e;e;e;e;e;e;b;a;c;d;e;e;e;e;e;e;b;a;a;a;c;d;e;e;e;
e;e;b;b;a;a;a;a;a;c;d;e;e;e;e;e;e;a;a;a;c;d;e;e;e;e;e;b;b;a;c;d;e;b;
a;a;a;c;d;c;d;e;e;e;e;e;b;b;a;c;d;e;e;e;e;e;e;a;a;a;a;c;d;e;e;e;e;e;b;
a;a;a;a;a;c;d;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;a;c;d;e;b;a;c;
d;e;e;e;a;a;a;c;d;e;b;a;c;d;e;b;a;a;a;a;a;c;d;e;e;e;e;e;e;b;a;a;a;a;c;
d;e;b;a;c;d;e;e;a;c;d;e;b;a;c;d;e;e;b;a;a;c;d;c;d;e;e;e;e;e;b;b;a;c;d;e;e;e;
e;e;e;a;a;a;a;c;d;e;e;e;e;e;b;a;a;a;a;a;c;d;c;d;e;b;a;c;d;e;b;a;c;d;e;b;
a;c;d;e;b;a;c;d;e;b;a;c;d;e;b;a;c;d;e;b;a;c;eval $e
The winning entry made a little fishie in the body of his code:
- Code: Select all
date: 03/30/2005
title: Charlie the Smiling Fish
author: Jan Wikholm
email: jw at jw dot fi
comments: This was written in <6hrs once I heard I might actually have a chance at the prizes ;)
code:
# Hello IORCC judges.
module IORCC_entry
extend self
def matz(*x); printf(*x) end; def smiling_fish(x); x.chr end; charlie = 115;
def the(x); "%"+x end; def sushi?; $X end; def this_here(x); $X = x end; def \
is(is); is end; def X(x) x.gsub!(/ +/, '') end; def fishy; puts end; $;=''
def two_guys_walk_into_a_bar_and_ask_for_beer_and_the_bartender_kills(himself)
himself == '1' ? '#' : ' ' end; def knock_knock_whos_there?(banana)
banana[1..2] end; alias_method :bad_joke, \
:two_guys_walk_into_a_bar_and_ask_for_beer_and_the_bartender_kills
alias_method :fifty_billion, :knock_knock_whos_there?; def Pratchett(rules)
bad_joke rules[0].chr end; def Y(y); Pratchett(y) end;
life = nil; @code = life;
def greets!(to)
(fifty_billion(to)).to_i.times {
matz(@do_you_like, Y(to), @code) } end
(this_here(is(the(smiling_fish(charlie)))))
@do_you_like = sushi?
############################
y = [''*(?#-"0x14".hex)]##
# 0 ########################### ()
# O () ######################### 0
# o O ######################### O O
# . . ############################ o o #
y[3] =" 108002102005102001108005102"### . ##
y[6] =" 102005102002107002108005102"###### ##
y[0] =" 108002102005102001108002102004102"## ##
y[2] =" 102005102001102005102001102005102003104" ###
y[4] =" 102003102003102005102001102005102004102"#### ####
y[5] =" 1020041020 02102005102001 102005102004102" #####
y[1] =" 102005102001 10200510200110 2005102002102002102" #######
y[10] =" 10200510200110 20051020011020 07102002102003102010104" #######
y[9] =" 102005102001102005102001102004102001102003102002102004102004104"#####
y[13] =" 102004102002102005102001102004102001102003102002102004102004104"###
y[12] =" 102003102 003102005102001102007 102002102009102"############
y[14] =" 10200510 200210700310600210 2004102002106005104" ########
y[8] =" 10800310 7003106002102 004102002106005104" ######
y[7] =" "######## ############## ######
y[11] =" 108002102005102001102007105005106006102" ####
#################################### ###
######################## ######## ( ) ##
alias_method :X!, :greets! ##### () ##
#########\ #### O #
y.each{ #\ ### o #
|xX| ###\ ## .
X(xX).split(/(\d\d\d)/).each {|xx|
X!xx ##\ #
}##\ #
fishy }#\
#/
end
I'm gonna have to give this more than a couple of hours thought before I enter next year.
Alas, I never placed higher than 2nd in the annual Obfuscated Perl programming contest either.
All entries can be seen here:
http://iorcc.dyndns.org/winners/
We now return you from nerdland to your regularly scheduled thread.
Jim Lawless