Written by

Announcement Bert Sarens · Dec 1, 2017

Adventofcode.Com 2017 is live :)

Hello everyone,

From now till the 25th of december each day 2 programming problems to sharpen your programming skills.

http://adventofcode.com/

Theme this year:

The night before Christmas, one of Santa's Elves calls you in a panic. "The printer's broken! We can't print the Naughty or Nice List!" By the time you make it to sub-basement 17, there are only a few minutes until midnight. "We have a big problem," she says; "there must be almost fifty bugs in this system, but nothing else can print The List. Stand in this square, quick! There's no time to explain; if you can convince them to pay you in stars, you'll be able to--" She pulls a lever and the world goes blurry.

When your eyes can focus again, everything seems a lot more pixelated than before. She must have sent you inside the computer! You check the system clock: 25 milliseconds until midnight. With that much time, you should be able to collect all fifty stars by December 25th.

Collect stars by solving puzzles. Two puzzles will be made available on each day millisecond in the advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants one star. Good luck!

You're standing in a room with "digitization quarantine" written in LEDs along one wall. The only door is locked, but it includes a small interface. "Restricted Area - Strictly No Digitized Users Allowed."

It goes on to explain that you may only leave by solving a captcha to prove you're not a human. Apparently, you only get one millisecond to solve the captcha: too fast for a normal human, but it feels like hours to you.

Comments

Dmitry Maslennikov · Dec 19, 2017

Day 18 was quite interesting, with two parallel jobs and communication between.

How do you realize this communication? Maybe the simplest way was to use Global. But I used $system.Event here.

0
ivo Ver Eecke  Dec 19, 2017 to Dmitry Maslennikov

I did not bother doing the jobs parallel. Turn-based did come up with an answer reasonably fast.

But I'm sure it would be interesting to sort out how to execute them in parallel. In any case I'm sure I'll be playing around with $system.Event (didn't know that one)...

0
Bert Sarens  Dec 19, 2017 to ivo Ver Eecke

Well I did the same as Ivo, just kept running the 2 jobs in the same loop.
I think you can trade info with globals as well.

0
Sean Connelly  Dec 19, 2017 to Bert Sarens

Well done everyone, looks like you are all doing really well. I missed a few days and struggling to find the time to catch up now. Maybe boxing day :)

0
Peter Steiwer  Dec 19, 2017 to Dmitry Maslennikov

I just did mine state based, while one needed to wait, just flipped the state to the other

0
ivo Ver Eecke · Dec 22, 2017

Today I really regret not getting up early...

started at 7:05 and finished first part in 12min, second part in 18min -> would get me a place in top 100...

sad

0
Bert Sarens  Dec 22, 2017 to ivo Ver Eecke

That means you probably used the best method to solve this problem. That method is not writing bugs. It helps a lot.

0
Bert Sarens · Dec 23, 2017

Wow. Day 23.

Hardest one for me so far. By the time I found out what the inner loops did I was about to give up. Such a simple optimisation as well.

0
Bert Sarens · Dec 24, 2017

I made the leaderboard today!!!!

Am insanely happy although it was only place 98: 

24   00:18:19   118      0   00:20:52    98      3
0
ivo Ver Eecke  Dec 24, 2017 to Bert Sarens

Congrats!!

I discovered that I'm no good at multi-tasking (surprise!)... Babysitting and coding is not an ideal combination

0
Bert Sarens · Dec 25, 2017

It is done. I will finally be able to sleep a bit more again.
Thank you all for making it a great race. I had lots of fun.

0
ivo Ver Eecke  Dec 25, 2017 to Bert Sarens

Yeah, question is, what will we do now?

In any case, thanks to everyone for sharing your code! It has been fun an educational!

0
Bert Sarens  Dec 26, 2017 to ivo Ver Eecke

I will probably finish the one from 2016. have 4 days to do that I never finished. After I will be able to relax and for next year I am going to prepare with macros and code snippets.

0
Bert Sarens  Dec 26, 2017 to ivo Ver Eecke

Oh and synacor, i will do synacor as well.

0
Dmitry Maslennikov  Dec 25, 2017 to Bert Sarens

Yes, it was great. 

Our final leaderboard.

And our race on the graph.

0
Evgeny Shvarov  Dec 26, 2017 to Dmitry Maslennikov

Hey, guys! Congratulations! I think we are ready to announce a winner of our home COS championship ;)

Guys, please share your GitHub or any other public repos with COS in UDL inside?

0