TL;DR: ICFP Programming Contest starts next Friday, on July 17. It's an annual open online competition originally developed by functional programmers. It feels like an entertaining 72-hour marathon with unpredictable tasks and experience one could barely express (though participants write long write-ups describing theirs). If you haven't participated in ICFP Contest — definitely give it a try this year. Register at the website and follow on Twitter.
Unlike other competitions, to participate in ICFP Contest one gathers a team of any size. In 2019, there were teams up to 12 people with a median of 3. The team has 72 hours to crack a single task which is always unpredictable, complicated, and versatile.
For example, in 2018 the task was to optimize 3D printing conducted by a swarm of nano bots, Here's an impressive solver visualization by team WILD BASHKORD MAGES (Ripatti, LinesPrower et al.):
Our team also had a visualizer although not as pretty as theirs. However we were proud of our async architecture of the swarm control algorithms. We've made a talk at DotNext conference about that.
In 2016 the task was to unfold origamis (plane shapes made of digital paper), i.e., reconstruct the simplest possible flat models by their crease patterns. Here's the demo of an algorithm by team unagi:
And every year is just like that!
ICFP Contest initially gain popularity in the functional programming community and among computer science academics (in fact, ICFP stands for International Conference on Functional Programming). But then it quickly spread out in a wider programming community. Here's the write-ups by a couple of perennial participants: Jeremy Sawicki from a single-person team Frictionless Bananas; Don Hsi-Yun Yang from a single-person team uguu.
A viz by team Lambda Spice.
It looks like seasoned competitive programmers often succeed in ICFP Contest. A great example of that is team unagi which wins the contest for 5 years in a row and has a number of ACM ICPC finalists (imos, chokudai, iwiwi, wata et al.). Of course, being able to code algorithms is not enough. It takes team spirit (I think participating as a team of one is harder and not as entertaining as it may be) and ability to organize team collaboration during the course of 72 hours.
I represent a team of perennial participants turned organizers! We participated in ICFP Contest for many years and our best result is the 3rd place in 2013. We liked contests so much that decided that we want to organize one. Only a couple of years of negotiations — and here we are, organizing ICFP Contest 2020.
We're confident that lots of programmers at Codeforces will like ICFP Contest. If not here, where to look for individuals and teams who can compete against team unagi and their "incredibly competitive" code? :)
So, the contest starts on July 17 at 13:00 UTC and ends on July 20 at 13:00 UTC.
Please register on the website: https://icfpcontest2020.github.io
Before the contest. participants usually invest their time into search for teasers and spoilers. However we have a better idea! Our dear friend, an astronomer Ivan Zaitsev from Pegovka Observatory, seeks help from programmers to decrypt the signals that his telecope receives from space. Please help him:
Follow how the contes is prepared and how Zaitsev's story unfolds in our twitter and Zaitsev's blog.
See you at the contest!