[DFW.pm] Hackathon Rules and Participation

Tommy Butler dfwpm at internetalias.net
Thu Dec 12 13:53:59 PST 2013


/*Sorry for the length of the email*/, but being a formal contest (and
one in which increasing interest is growing even outside DFW), I need to
clarify some things for people who didn't make it to the meeting either
on or off line last night.

Here goes...


  The DFW Perl Mongers Winter of Code Deduplication Hackathon


      Participation

Any Perl Monger anywhere may participate so long as he/she is vouched
for by their PM group leader, prominent Perl community member, or CPAN
author with a module released prior to this contest.


      Hackathon Server Accounts

On a testing/development contest server is being provided.  Everyone who
wants to participate will get an SSH login and optionally a perlbrew if
they ask for it.  They can also install their own brew.  Anyone who
wants an account should send their public SSH key to
dfwpm_at_internetalias_dot_net.  Password-based logins won't be
allowed.  This server will give everyone the chance to develop their
code for 1 month in the same environment in which it will be benchmarked
during the formal head-to-head contest on January 8th (which will be
broadcast live in a Google Hangout as usual, so physical presence at the
Dallas Makerspace isn't necessary).

1GB disk space can be consumed per participant; space consumption will
be monitored as will bandwidth consumption.  ("Don't be a jerk"). 
Contestants should rely on github for code storage because I will wipe
and recreate the server before the actual contest.  Disk storage should
therefore be considered volatile and git should be leveraged as the
mechanism for data and code that contestants want to be persistent
across the server rebuild.


      Environment

The server will be running Debian Linux 7, stable branch Wheezy.  It
will be hosted on port 2222 at perl.atrixnet.com and a security lockout
mechanism is in place for four failed logins in a row (i.e.- don't try
to log in before I set up your key).

As stated above, a full rebuild of the server will happen a couple days
or so before the live contest at next month's meeting on humpday January
8th in order to ensure fairness and prevent foul play.  When the contest
server comes back online I will restore everyone's code via the cloning
of their repo, but their system logins will not be restored -- no one
will have access to the competition server at that time except the
judges (Tommy Butler and John Fields).  David Golden of NY.pm and
Patrick Michaud of our local group are honorary judges.


      Conduct

In the spirit of our community I only ask that no one do or try to do
anything unethical, malicious, unfair, or abusive on the server --
including being a resource hog.  Basically any rules that apply at a
YAPC event apply to this hackathon, as do the dictates of common sense
and decency :)


      Test Data

The test data will be on a read-only volume mounted read-only on
/dedup.  The deduplication code from each contestant is simply required
to accurately detect all duplicate files randomly generated in a 100
gigabyte mass of also randomly generated files and directories.  The
individual files and directories will have random names as well.  Detect
the duplicate files -- It's that simple.  The volume will have both
symlinks and hardlinks and code will need to correctly handle that. If
code relies on heuristics of the data volume in order to achieve
performance improvements, the author of such code will be disappointed;
the random data will be randomly regenerated again before the contest
and will not have the same number of symlinks/hardlinks, files, same
filenames, file sizes, directories or directory depths.  All contestants
will be running their code against the same data volume.


      Contest Rules

...Are founded on the information in the slide presentation
<https://googledrive.com/host/0B4iHttD7hE94YVE2SWhwLXR2Q2s/DFW.pm%20Hackathon%20Dups.html>. 
All code will be tested against the same Perl (the latest available
stable version before the contest, likely 5.18.0) and the
best-out-of-two benchmark time will be used for each participant
(because of hardware-based CPU and disk caching that we can't prevent). 
No code should write to disk or in-memory filesystems such as /run/shm. 
If we catch the code doing writes, it is automatic grounds for
disqualification.  This is to prevent results-caching between runs.

Participants should disclose ahead of time what top-level CPAN modules
they need installed for the correct operation of their code.  The code
and contestants should conform to the rules set forth in the slides
<https://googledrive.com/host/0B4iHttD7hE94YVE2SWhwLXR2Q2s/DFW.pm%20Hackathon%20Dups.html>
from last night's Perl Mongers meeting.  The code will be reviewed by
the judge panel prior to execution.  Unintelligible or obfuscated code
won't be accepted.  Read the slides for further information.

Rules are subject to amendment by a majority vote of the judging panel,
in the event that rules must be modified to insure fairness or fix
problems that arise which prevent smooth, convenient execution of the
contest.  Your suggestions are always welcome.

Please let us know your thoughts and remember to mail in your public SSH
key to dfwpm_at_internetalias_dot_net if you are going to participate.

--Tommy Butler, John Fields

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/dfw-pm/attachments/20131212/de3f1c7f/attachment.html>


More information about the Dfw-pm mailing list