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."
This is such big news that no programmers want first post!
One line blog. I hear that they're called Twitters now.
For those who don't rtfa,
... your mission is complete when all the nuts are gone.
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
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!
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.
"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.
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
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.
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
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 ...
... 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!
... c'mon over and take a peek ... the servers haven't crashed yet!
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
Anyhow
=Fred (a.k.a. The Omnipotent POTM-MASTER)