Tuesday December 1st at 5 a.m. UTC will mark the start of the sixth incarnation of Advent of Code, popular programming contest started back in 2015. The author describes Advent of Code (AoC) as "a series of small programming puzzles for a variety of skill sets and skill levels in any programming language you like".
The rules of AoC are quite simple. Starting from December 1st until Christmas, every day at 5 a.m. UTC a new task is released. The tasks consist of two parts, where second part is revealed after you solve the first part, and it is a continuation and/or variation of the first part. You don't submit your code, just the result of your calculation.
The participation in AoC is free (although, if you like it, consider donating), all you need to do is log in with your Github, Google, Twitter, or Reddit account.
If you have never participated in AoC before or you want to prepare yourself for the start of the competition by solving some tasks, take a look at the previous events. To bring you up to speed, we recommend solving any of first 10 tasks of any year, as those are usually easier and can be solved relatively fast.
We are organizing the official Nim private leaderboard, where you can compete against other Nim users. To join the Nim leaderboard, all you have to do is use 40415-c732e66e code in the previous link.
If you are one of 164 (!) people who have joined this leaderboard in previous years, there's no need to do it again -- you're already in. If you're not there yet, hurry up! Private leaderboards are limited to 200 members.
People usually share their solutions on r/adventofcode subreddit and we encourage you to share your Nim solutions there too and showcase the beauty of Nim.
In this thread you can post links to your AoC repositories, share your solutions, ask for help, discuss the tasks, etc.
You can also use Nim IRC/Gitter/Discord channel if you have some Nim-related problem, but have in mind that your snippets might contain spoilers for other who haven't solved the task yet -- not everybody will be able to solve the tasks at 5 a.m. UTC. Consider waiting at least couple of hours before asking for help (in that time, try it some more to see if you can solve it by yourself :)).
Have fun!
As usual, I will participate with enthusiasm! The repo for my solutions (also with past years) is: https://github.com/pietroppeter/adventofnim 🎄👑
This year I am particularly excited because I will be using a library currently in development (very pre-release) to publish the solutions: https://github.com/pietroppeter/nimib 🐳
If you are one of 164 (!) people who have joined this leaderboard in previous years, there's no need to do it again -- you're already in. If you're not there yet, hurry up! Private leaderboards are limited to 200 members.
proposal: why don't we set up also a 2020 nim-specific leaderboard? Since you can join as many private leaderboards as you want, people could join both. Also it would mitigate the problem of 200 users and also probably be more representative of people doing advent of code in nim (well, anyone can join, but still).
If sponsoring AoC (which I plan to do this year) allows to create multiple private leaderboards (not sure if it does), I could also be available for creating such a leaderboard.
Also it would mitigate the problem of 200 users
Come on man, don't ruin my "limited availability, better be quick" marketing plan!! :D :D
If we hit the 200 limit, then I like @pietroppeter 's idea to make a year-specific leaderboard. Last year we had people who weren't actually using nim on it XD
@xigoi I'm in a similar situation, and busier this year than the last one too.
Less than 12 hours to go!!
(In the mean time, we have removed inactive players (zero solved tasks in 5 AoC years) from our leaderboard --> more places for new players: 34 new players already joined, 20 places to go till full)
Finally completed day 20 part2 and then collected all 50 stars! 🎄👑🌟 It does feel very good!
It is my first time completing AoC since I started in 2018 (where I used it to learn nim). I am (currently) #25 of our historical leaderboard to have completed all 50 stars, so i have decided to stretch the terms of the original donation pledge by @jackhftang and donated the full 100$ in opencollective.
It has been a lot of fun, although I did suffer a little towards the end keeping up with the pace of puzzles. I particularly enjoyed the fact that I was able to blog about my advent-of-nim solutions for quite a few days using my work-in-progress nimib. In the next few days, I will probably try to catch up on the blogging too.
With some recent changes and optimizations (days 17 and 24 mainly), my solutions to all 25 days (both parts for each, of course), run in less than 1 second total!!
Repo: https://github.com/narimiran/AdventOfCode2020
Reddit discussion (if you want to share your Nim experience with general AoC public): https://old.reddit.com/r/adventofcode/comments/kozkou/2020_nim_all_days_in_less_than_1_second/
aoc2015's readme still has incorrect links (you only fixed source codes' links, but problem links are still wrong);
Thanks, fixed!
aoc2020 seems to be missing day 20 (which I'm most interested in)
This is on purpose.
I won't upload the day20 solution until I clean it up a little bit, but I still have a trauma from solving it and I don't want to even look at it as it brings back some bad memories. For me, it is by far the worst task this year - completely boring and tedious.
And I feel better knowing that even the Peter Norvig feels the same:
(...) I didn't feel like coming back to it later: it seemed too tedious for too little reward.
(taken from here)
But you're really not missing much by not having my solution for it. You'll find much more useful stuff in the other solutions.
For example, I just wrote an article about various ways to parse AoC inputs, take a look.