Slashdot Mirror


POTM Contest Lives Again

bababooey182 writes "The Programmer of the Month (POTM) contest series has returned. POTM was a fantastic programming contest series that ran from 1993 to 2000, and participants were greatly disappointed when it ended. Fred Hicinbothem, the brains and personality behind the POTM, brought it back a few months ago, and the POTM has the same community feel that it did back in the day. Here's to another long run. The current contest deadline is November 30th."

14 comments

  1. Wow, by Anonymous Coward · · Score: -1, Offtopic

    This is such big news that no programmers want first post!

  2. So no VB huh? by AndroidCat · · Score: 1
    Current languages include C, C++, Perl, Python, PHP, Shells, and a few other non-compiled interpreters - the resources link will tell you what you need to know about the programming environment.
    From the resources link, better check to make sure everything you think you need is available in the sandbox.
    --
    One line blog. I hear that they're called Twitters now.
    1. Re:So no VB huh? by comwiz56 · · Score: 1

      This is most likely running on a linux box (the paths confirm that assumption)... So that throws VB completely out of the question. I'd also dare to say that most of the programmers that would attempt this (and be succesful) wouldn't be the types to use VB anyways.

    2. Re:So no VB huh? by AndroidCat · · Score: 1
      I forgot the smiley after VB. :) It's definitely a Linux box, and the resources link makes it pretty clear that it's a specific configuration. Since this is an algorithm battle, the particular language isn't too important. (Athough I'm surprised Java wasn't on the list. Hmm, a LISP squirrel?)

      Not much warning however: Deadline for NUTS is November 30th, 2004. I think I'll wait for the next one.

      --
      One line blog. I hear that they're called Twitters now.
  3. The current problem by Anonymous Coward · · Score: -1, Redundant

    For those who don't rtfa,

    While sipping a frosty beverage and taking a well-deserved break from my backyard chores, I had the good fortune to observe several squirrels scurrying about trying to collect the peanuts my wife had thrown out earlier in the day. As they dashed about singlemindedly, the seeds of the current POTM began to germinate. The result, my friends, is:
    NUTS: THE FIRST "DOUBLE" POTM
    Deadline November 30th, 2004
    THE SHORT PROBLEM STATEMENT
    You are a squirrel. You start on the center square of a grid and their are some number of nuts scattered about on other squares of the grid. You scurry about the grid and collect nuts ... your mission is complete when all the nuts are gone.
    POTM NUMBER ONE
    You are alone on the grid - you can move horizontally, vertically, or diagonally within the grid. Your mission is to collect all the nuts in the fewest number of "moves".
    POTM NUMBER TWO
    You and all the other POTM contestants begin at once. First squirrel to a nut gets the nut. If more than one squirrel arrives on the same move, they split the nut evenly amongst them. The contest is over when all the nuts have been "grabbed" by one or more squirrels. Your mission this time is to collect the most nuts.
    HOW IT WORKS, IN A "NUTSHELL"
    (Sorry - couldn't resist the bad pun!) You'll write a program that will make one "move". You will use the same program to compete in both POTMs, but you may use different algorithms if you wish. As input you'll be presented with the current state of the playing grid and be asked for a single move on output. On the grid will be marked the position of all remaining nuts, your current position, and the number of squirrels in each of the grid squares. Your output will be the square position to which you wish to move, one square away from where you are. Your single program will compete in both POTMs defined above.

    If it sounds interesting, sign up using the menu on the left and start watching the forums for more details, current standings, how to submit your entry, and much discussion among the jolly band of POTM participants!

  4. Awesome! by comwiz56 · · Score: 3, Insightful

    This sounds exciting. While I wasn't a part of this when it was around back before '00, I'm definately going to get involved. This is a nice competition that supports friendly competetion between programmers, and gives them plenty of freedom to choose which language they use.

  5. Let's Take A Crack At This by Rie+Beam · · Score: 1

    "The current contest requires you to program a squirrel to collect nuts."

    One of the problems with the current programming community is that people love to reinvent the wheel...for instance, I have seen many a squirrel, and to the best of my knowledge, they need no upgrade as far as nut-finding is concerned. Now, lasers, maybe.

    1. Re:Let's Take A Crack At This by Anonymous Coward · · Score: 0
  6. zerg by Lord+Omlette · · Score: 2, Insightful

    Despite the fact that it's not a front page post, I'd like to take this opportunity to point out that this is the second time in a row that Slashdot editors posted a story about a contest before the contest was over!

    Happy doesn't begin to describe my mood. ^^v

    --
    [o]_O
  7. Time for another "Good Idea, Bad Idea" by gotgenes · · Score: 0

    Good Idea: Programmer of the Month contest

    Bad Idea: Programmer of the Month pin-up calendar

    This sounds really exciting; I'll enjoy it from the sidelines, as an amateur, for-fun programmer.

    ...No, no--the contest, not the calendar! Sheesh.

    --
    It's such a fine line between stupid and clever.
  8. Ironically by xenocide2 · · Score: 3, Interesting

    I wrote a program for a software engineering course to handle exactly that. In fact, we designed some ways to improve the system through communications. I could liberate the code and have a finished product in a few days, but the communication code would be a difficult migration from encouraged cooperation to discouraged as cheating.

    Likely, the part two contest will degrade into a greedy algorithm made distributed; a few smart cookies might decide to avoid overly contested nuts. Any more sophisticated algorithms rely on rational or at least predictable behavior from other contestants.

    As an example, there's a nut that you're the closest to, and also another nut you're tied for closest to. Taking one means you'll lose distance on the other. You might think, take the closest one, but if everyone thinks that, then that nut is likely off limits. Its hard to tell traditional gridworld AI techniques where to draw the line between securing what's theoretically yours to take and contesting a resource with a competitor. In theory, you should be competing with the opponent in the lead, but I doubt many squirrels will be that advanced.

    --
    I Browse at +4 Flamebait

    Open Source Sysadmin

    1. Re:Ironically by DrEasy · · Score: 3, Interesting

      You made some very good points. At first glance, my impression is that part one is really the travelling salesman problem, so some kind of branch-and-bound might do a good job, which you could initialize with a greedy algorithm to get a good upper bound.

      You could then just reuse your greedy for part two, but your observation that you need to take into account the other squirrels is correct. Maybe you could just modify your greedy to get you to the first nut that is closest to you than to any other squirrel (as opposed to just the closest nut), but there won't always be such a thing... Hmmm...

      Wish I had time to participate in this, it sounds fun.

      --
      "In our tactical decisions, we are operating contrary to our strategic interest."
    2. Re:Ironically by plupster · · Score: 1

      I need a project for my advanced functional programming course. (We are supposed to create an domain specific embedded language for Haskell and program something "usefull" in it.) I was thinking about creating an language to write IRC-bots in but maybe I'll create a squirrel programming language instead. Then it would be simple to test some different tactics.

  9. Welcome to all from the POTM-MASTER! by POTM-MASTER · · Score: 2, Interesting

    I appreciate the posting ... regret that I can't support VB/Java ... and encourage everyone to come and visit the new home of the POTM at http://dinsights.com/POTM ...

    Even if you aren't quick enough to code up a squirrel by next week (a not-so-veiled challenge of course) I hope you'll join the mailing list so you'll get a heads-up on the next problem.

    There are no hidden motivations here - the goal is to have fun with others who think coding is fun.
    Some have spent long hours on their entries, and others have used the POTM to experiment with that new programming language they've been meaning to try ... we have PHP/TCL/GAWK/Perl/Python/Ruby squirrels currently competing for nuts along with the sleeker C/C++ squirrels ... I just love it when one of the C/C++ squirrels has a nut stolen out from under his nose!

    Anyhow ... c'mon over and take a peek ... the servers haven't crashed yet!
    =Fred (a.k.a. The Omnipotent POTM-MASTER)