Skip to content

tric/trick2018

Repository files navigation

TRICK 2018 (FINAL)

The 3rd (FINAL) Transcendental Ruby Imbroglio Contest for rubyKaigi

Winners

  • 1st (Gold): "Most reserved" -- kinaba

  • 2nd (Silver): "Best spiral" -- Yusuke Endoh

  • 3rd (Bronze): "Best png viewer" -- Tomoya Ishida (tompng)

  • 4th: "Best one-liner" -- Colin Fulton

  • 5th: "Most three-dimensional" -- Tomoya Ishida (tompng)

  • 6th & eban award: "Most reversible" -- Yusuke Endoh

  • 7th: "Best compiler" -- Tomoya Ishida (tompng)

  • 8th & shinh & leonid award: "Most composable" -- Colin Fulton

  • 9th: "Most (un)readable" -- Yutaka HARA

  • 10th & matz award: "Best double meaning" -- Tomoya Ishida (tompng)

  • 11th & eto award: "Most attractive" -- Tomoya Ishida (tompng)

  • 12th & mame award: "Minimum alternative of irb" -- Jan Lelis

  • 13th & yhara award: "Most warned" -- kinaba

Honorable Mentions

  • "Best monkey" -- Tomoya Ishida (tompng)
  • "Best abuse of lambda" -- Shinichiro Hamaji
  • "Best abuse of meta" -- Yuki Yugui Sonoda
  • "Most solvable" -- Don Yang
  • "Best layout" -- Yutaka HARA
  • "Best abuse of regexp" -- Benoit Daloze (eregon)
  • "Most tolerant" -- Shuichi Tamayose
  • "Best applause" -- Colin Fulton

These entries are in the honorable-mentions directory.

Goals of the TRICK

  • To write the most Transcendental, Imbroglio Ruby program.
  • To illustrate some of the subtleties (and design issues) of Ruby.
  • To show the robustness and portability of Ruby interpreters.
  • To stabilize the spec of Ruby by the presence of valuable but unmaintainable code.

Rules

  1. Your entry must be a complete Ruby program.
  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.
  3. You can submit multiple entries, and your team may consist of any number of members.
  4. The entirety of your entry must be submitted under MIT License.
  5. Your entry must bring the judges a surprise, excitement, and/or laughter.

Guidelines

These are not strict rules but hints or suggestions. You can ignore them but we'd recommend you to follow them.

  • Matz Ruby Implementation (MRI) 2.5 is recommended.
  • You can use implementations other than MRI, such as JRuby and Rubinius.
  • The judges would prefer more stoic, more portable, and/or more funny entries.
  • You are encouraged to study the winners of previous TRICK contests (2013 and 2015) and IOCCC.
  • You can use a gem library.
    • 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.
  • 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.

Important Dates

  • 1st Jan. 2018: Contest open
  • 31st Mar. 2018: Submission deadline
  • 2nd Jun. 2018: Result announcement (in RubyKaigi 2018)

Judges

Alphabetical order.

Legal

This work is licensed under the MIT License.

Copyright (c) 2018, TRICK Winners and Judges.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.