TRICK 2013 results

crashclappergapΛογισμικό & κατασκευή λογ/κού

13 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

229 εμφανίσεις

TRICK 2013 results

TRICK judges:

@
mametter
, @
eto
, @
shinh
, @
yhara
,
@
yukihiro_matz
,
leonid
, @
eban

What’s “TRICK”

T
ranscendental
R
uby
I
mbroglio
C
ontest for
Ruby
K
aigi



A contest for esoteric Ruby programming

Ruby
で変態度を競い合うプログラミングの祭典


cf. International Obfuscated C Code Contest (IOCCC)



This talk
dis
honors the winners

of TRICK
2013

本発表では

TRICK 2013
入賞者の

名誉を
讃え


And demonstrates the winning entries

さらに入賞作品のデモを紹介します

2

Agenda


About the “TRICK”


The winning entries of TRICK 2013

3

About the TRICK

4

What “TRICK” means

T
ranscendental
R
uby
I
mbroglio
C
ontest for
Ruby
K
aigi


Named by
leonid


Transcende
ntal

transɛnˈ
dɛnt
(ə)l/


“relating
to a spiritual
realm”

「霊界

関する」


b
ut it is translated as “unworldly technical” in Japanese

なぜ

日本語では
「超絶技巧」と訳される


ex. Transcendental Etudes

(超絶技巧練習曲、
Liszt



Imbroglio

/
ɪmˈbrəʊlɪəʊ
/


“an
extremely confused, complicated, or embarrassing
situation”

極めて混乱した、複雑で、厄介な事態

5

adapted
from

Oxford Dictionaries Online

Goals of the TRICK


Write the most Transcendental, Imbroglio Ruby program

現世利益のない、意味不明な

Ruby
プログラムを書く


Illustrate some of the subtleties (and design issues) of
Ruby

Ruby

のある種の神秘性

(
と仕様バグ
)
を明らかにする


Show the robustness and portability of Ruby interpreters

Ruby
処理系の意外な堅牢性と移植性を示す


Stabilize the spec of Ruby by the presence of valuable but
unmaintainable code

メンテナンス不能だが価値あるコードを世に放つこと


Ruby
の仕



安定化
する

6

History

/ Important Dates


TRICK 2013

the first contest



1
th

Apr. 2013: contest announcement


18
th

May 2013: submission deadline


26
th

May 2013: finished to judge all submissions


1
st

Jun. 2013: result presentation

7

Related Contests


IOCCC: International Obfuscated C Code Contest


UCC: Underhanded C Contest


OPC: Obfuscated Perl Contest


IORCC: International Obfuscated Ruby Code Contest

8

1990

1995

2000

2005

2010

2013

C

Perl

Ruby

1985

IOCCC
1984
-
2006

2011

2012

UCC
2005
-
2009

2013

OPC
1996
-
2000

IORCC 2005

2012?

TRICK

2013

TRICK Contest Rules (1)

1.
Your entry must be a complete Ruby program.

あなた
の作品は単体で動作する

Ruby
プログラムでなければなら
ない。

2.
The size of your program must be <= 4096 bytes in
length. The
number of non
-
space characters must be <=
2048. The
total size of your compressed submission
must be less than ten megabyte in
size.

あなた
のプログラムのサイズは

4096
バイト以下でなければならな

。非空白
文字の数は

2048
以下でなければならない
。あなた
の投
稿は

zip
全体で

10 MB
未満でなければならない


3.
You can submit multiple entries, and your team may
consist of any number of members.

あなたは何作でも作品を投稿できる、また、あなたのチームは何
人であっても良い。

9

TRICK Contest
Rules (2)

4.
The
entirety of your entry must be submitted
under
MIT License.

あなた
の作品全体は

MIT
ライセンスで投稿されなければならない


5.
Your entry must bring the judges a surprise,
excitement, and/or laughter
.

あなた
の作品は審査員に驚き、感動、
(and/or)
笑いを与えなければ
ならない。



Meta Rule: Rule Golf


Too many restrictions may inhibit creativity

あれこれ制約して作品の可能性を絞らないように

10

Guidelines

(1
): Ruby
version/
impl
.


Matz

Ruby Implementation (MRI) 1.9/2.0 is
recommended.

MRI
1.9/2.0
で動くことを
推奨


MRI 1.8 is highly discouraged because your entry
won't work in near
future.

1.8
でしか動かないコード
は強く非推奨


You can use implementations other than MRI, such as
JRuby

and
Rubinius
.

MRI
以外の
実装

OK

11

Guidelines (2): Library


You
can require a gem
library.

gem
使って

OK


But note that we will expect such entries to be much
more interesting than an entry that uses no library;
hence we will judge them strictly
.

ただし
その分面白い作品であることが期待され、審査基準は厳しく
なる


It is highly discouraged to abuse gem to get around
the size limit
.

サイズ
制限を回避するために

gem

使うのは強く非推奨

12

Guidelines (3): Misc.


The
judges would prefer more stoic, more portable,
and/or more funny entries
.

ストイック
で、様々な環境で動き、笑いのある作品が評価
されやす



You
are encouraged to
examine

the winners of
previous IOCCC contests.

過去


IOCCC
の勝者を研究することを推奨
する


To
judge without bias, we will try to keep each entry
anonymous during
judgment. Do
not include
anything that reveal your identity (such as a signature,
copyright, URL, etc.) in your program
.

偏見
なく審査できるよう、審査の間はすべての作品を匿名として

うの

、プログラム
に作者がわかるよう
な情報を含めないこと

13

Judges

Yusuke
Endoh

(@
mametter
)

Koichiro

Eto

(@
eto
)

Shinichiro
Hamaji

(@
shinh
)

Yutaka
Hara

(@
yhara
)

Yukihiro
Matsumoto

(@
yukihiro_matz
)

Sun
Park a.k.a.
leonid

Hirofumi
Watanabe
(@
eban
)

14

Judges


Yusuke
Endoh

(@
mametter
)


IOCCC 2012 winner.

Advocate for Transcendental programming.


Koichiro

Eto

(@
eto
)



Media Artist. Chairman at
NicoNicoGakkai

Beta.


Shinichiro
Hamaji

(@
shinh
)


The admin of anarchy golf. IOCCC
2011 winner
.


Yutaka Hara (@
yhara
)


The author of Japanese
esolang

book.


Yukihiro Matsumoto a.k.a.
matz

(@
yukihiro_matz
)


The creator of Ruby.


Sun Park a.k.a.
leonid


The 1st super Ruby golfer in the anarchy golf.


Hirofumi Watanabe (@
eban
)


Ruby committer. The 2nd super Ruby golfer in the anarchy golf.

15

Prize?


Dis
honor: the title of “insane”


名誉
:
「変態」の称号



Top three entries will be included in the Ruby official
repository as “sample” programs

上位
3
作品は
Ruby
公式リポジトリにコミットされます


The next Ruby
tarball

will be released with them

次期

Ruby
パッケージにも含まれた状態でリリースされます



16

The winning entries of TRICK 2013

17

Summary


10 winning entries


Top 4 entries for particularly high
dis
honors


Dishonorable mention


Bronze award


Silver award


Gold award

18

Agenda for each award


Score


Award name


Author


Author’s comment (if she/he is there)


Demo


Judges’ comments

19


Good way to make programs
wonderful”




baban


20

mame

leonid

yhara

eban

shinh

eto

matz

Score

4

6

6

5

6

5

6

5.43

“Most characteristic





yoshi
-
taka


21

mame

leonid

yhara

eban

shinh

eto

matz

Score

7

8

7

1

9

7

1

5.71

“Ruby by Ruby for Ruby award”




Yutaka Hara


22

mame

leonid

yhara

eban

shinh

eto

matz

Score

6

7

N/A

5

8

a

5

5.83

“Worst house of garbage”




Nakamura
Narihiro


23

mame

leonid

yhara

eban

shinh

eto

matz

Score

7

7

8

3

2

8

9

6.29

“Best way to return true”




Unak

(NAKAMURA
Usaku
)




24

mame

leonid

yhara

eban

shinh

eto

matz

Score

6

6

7

5

10

9

2

6.43

“Most competitive”




Yusuke
Endoh


25

mame

leonid

yhara

eban

shinh

eto

matz

Score

N/A

7

8

6

4

7

8

6.67


Worst abuse of constants”




Yutaka Hara


26

mame

leonid

yhara

eban

shinh

eto

matz

Score

6

9

N/A

8

8

7

7

7.50


Most classic”




Yusuke
Endoh


27

mame

leonid

yhara

eban

shinh

eto

matz

Score

N/A

8

10

5

7

10

7

7.83


Most Readable”




Shinichiro
Hamaji


28

mame

leonid

yhara

eban

shinh

eto

matz

Score

9

8

9

9

N/A

7

5

7.83


Best pangram”




kinaba


29

mame

leonid

yhara

eban

shinh

eto

matz

Score

8

9

10

10

10

7

8

8.86

Winning entries


“Most competitive”


Yusuke
Endoh


“Best
way to return
true”


unak


“Worst
house of
garbage”


Nakamura
Narihiro


“Ruby
by Ruby for Ruby
award”


Yutaka
Hara


“Most characteristic”


yoshi
-
taka


"
Good way to make programs
wonderful“


baban

30

Dishonorable Top Four


Dis
honorable
mention


“Worst
abuse of
constants”


Yutaka
Hara


Bronze
award


“Most classic”


Yusuke
Endoh


Silver award


“Most Readable”


Shinichiro
Hamaji


Gold award


“Best pangram”


kinaba

31

Conclusion

32

Conclusion


TRICK rules and winning entries:

https
://sites.google.com/site/trickcontest2013
/





Future work


Next contest?


やるとしたら応募
してね



海外
からの応募も待ってます

33