19 ms·
Advent of Code 2021
- hanoz 5y agoThe first Advent of Code since the advent of Copilot. Should be interesting.
- deleted 5y ago[deleted]
- thom 5y agoTried this properly for the first time last year, and very much enjoyed doing each task 'properly' with literate programming, unit tests, benchmarks for different implementations etc. It was extremely soothing, much more so than if I'd just tried to solve each problem as quickly as possibly. I'm sure some others would get a lot out of this approach, whether or not you're trying a new language.
- jstx1 5y ago> unit tests Don't you need a way to generate more inputs in addition to the one you have?
- a_humean 5y agoEvery puzzle comes with example inputs and expected outputs. Those inputs are much smaller than the puzzle input, but if you get the example inputs and expected outputs right then you are probably most of the way there. Basically every puzzle comes with unit tests that just need to be translated into code.
- someuname 5y agoThose would be functional tests
- jacobmischka 5y agoSame thing if your whole solution is a single function :)
- NoahTheDuke 5y agoWhich is another name for unit tests.
- thom 5y agoYup, although I do enjoy finding edge cases that aren’t necessarily present in the examples or input. I intend to do a fair bit more property-based testing this year, just for kicks. That’s something I’ve had success with for raw algorithmic code but struggled with in the past for nitty-gritty real-world use cases.
- francisduvivier 5y agoOooh, so excited, last year I also wrote a little discord bot that can run on a raspberry pi zero written in plain JS. So shameless plug here: https://github.com/francisduvivier/aoc-discord-notifier-bot https://github.com/francisduvivier/aoc-discord-notifier-bot
- skruger 5y agoFor inspiration, here’s the full solution set for the 2015 edition in around 100 loc of k. Yes, all problems. https://github.com/KxSystems/kdb/blob/master/ad.k https://github.com/KxSystems/kdb/blob/master/ad.k
- speedgoose 5y agoVery impressive, I understand the first two lines of the file.
- _2d30 5y agoIn context, I don’t think I actually even understand the second line.
- IshKebab 5y agoAh K. It's like someone saw regexs and thought "I wish all programming was as readable as this!"
- deleted 5y ago[deleted]
- begueradj 5y agoReally cool design and content.
- beached_whale 5y agoIt's a trap... :) This site is the biggest nerd snipe https://xkcd.com/356/ https://xkcd.com/356/ Love it and excited for 2021
- aquova 5y agoIt's nearly upon us once again! I've (somewhat) participated the last few years, more as a way to learn new languages, I've never actually made it through all the puzzles yet. I got fairly close with Rust last year, before getting burned out by the end. I'm currently debating either doing it with Nim or Ruby, of which I've never written a single line of in my life, but I'm curious to try out.
- GavinMcG 5y agoAlso hoping to do it with Nim! Last year I'd asked for some getting started advice here: https://www.reddit.com/r/nim/comments/k22h74/advent_of_nim_2020/gealoo3/ https://www.reddit.com/r/nim/comments/k22h74/advent_of_nim_2...
- bashbjorn 5y agoI did AoC in Nim one year and was very happy with it! I also became infatuated with Nim that year..
- auxym 5y agoI also learned Nim in 2018 with AoC. I found one of the best things was coming up with my own solution, then looking at other people's solutions (the Nim community usually does Advent of Nim where a bunch of people post their solution repos on the nim forum) for more idiomatic approaches or stdlib functions I didn't know about.
- otherme123 5y agoSolutions made with https://github.com/zevv/npeg https://github.com/zevv/npeg were surreal, I felt like a caveman watching a TV.
- auxym 5y agoYes, I do distinctly remember having that same feeling when reading zevv's solutions!
- 5y ago
- Torkel 5y agoBest advent of code I’ve done was the ”int-code computer” one. So good - one recurring theme of making a computer and in the end running games on it! Super excited for this year’s edition :)
- wodenokoto 5y agoHaving never written anything close to a parser or a compiler, I totally crashed on that one. I often misunderstood subtleties in the problem formulation and had to read solutions in order to figure out the question and ended up with such a mess of if-else statements for compiling int-codes that it just became impossible to extend my program.
- nikanj 5y agoBut now you have written one, which might come in handy at some point in your career.
- wodenokoto 5y agoWell, I guess I know now how not to write one ;)
- wbc 5y agoway to sum up my coding career :D
- breckenedge 5y agoI agree. That year was the only one in which I completed all of the puzzles the day they came out.
- viceroyalbean 5y agoOne of my favorite things about the intcode computer was implementing the extendable memory by just appending an infinite list of zeros using haskell's lazy evaluation. Unfortunately my implementation was incredibly slow (probably because of the linked lists) and I only made it about halfway through.
- forrestthewoods 5y agoOne of my favorite times of year! A couple of years ago I used Advent of Code to learn Rust. This year I’m going to use it to learn Zig.
- tslater2006 5y agoHow was the experience for you? I've done the past few years in C#, but am considering using 2021 to learn Rust.
- skavi 5y agoYou can definitely get some incredibly elegant and fast solutions using Rust. Check out timvisee's AoC 2020 [0]. It honestly had a significant impact on my personal style. [0]: https://github.com/timvisee/advent-of-code-2020 https://github.com/timvisee/advent-of-code-2020
- timvisee 5y agoThanks for linking! I plan to do something like this again this year :)
- forrestthewoods 5y agoA++++ loved it. I wrote a pair of blog posts about it. https://www.forrestthewoods.com/blog/learning-rust-via-advent-of-code/ https://www.forrestthewoods.com/blog/learning-rust-via-adven... https://www.forrestthewoods.com/blog/solving-advent-of-code-in-under-a-second/ https://www.forrestthewoods.com/blog/solving-advent-of-code-... To be clear, I don’t compete for the leaderboard or code golf. But I do try to write elegant code that’s performant. AoC is a great way to learn a new language. I try to solve the puzzles entirely on my own. Then I check the Reddit solutions thread and Ctrl-F my language. It’s a great way to learn new tricks, libraries, or just idiomatic language style. And using Rust for AoC turned me into a certified fan. Rust iterators are really great compared to C++. They’re like C# linq but better. The itertools crate is super helpful.
- bccdee 5y ago
- gameswithgo 5y agoGood way to learn Rust, F#, Nim, Zig or Lisp! or anything but those are all worth a look
- redrobein 5y agoGonna be giving APL/J a shot this year.
- bear8642 5y agoRemember seeing someone did videos last year exploring APL solutions. Not sure if doing again, but could be useful resource
- jodrellblank 5y agoJay Foad has done Advent of Code solutions in APL for previous years: https://github.com/jayfoad/aoc2020apl https://github.com/jayfoad/aoc2020apl He got onto the leaderboard for fastest solutions with APL, too.
- mlochbaum 5y agoThere are many sets of published solutions: see https://aplwiki.com/wiki/Advent_of_Code https://aplwiki.com/wiki/Advent_of_Code.
- fault1 5y agoI will be doing it w/ Zig and Julia this year, i'm redoing some Rust, python, and scala solutions from previous years
- kryptn 5y agoI did 2019 in Nim, and I'll be doing 2021 in Rust. 2020 I tried to go for speed though, so I went with python. Implementing Intcode in Nim for 2019 was really pretty fun
- the_only_law 5y agoI was going to do something fun, but gimmicky and try to implement them all in like SPL/2100 on an emulator running RTE, but quickly found I'd end up spending the month learning the latter. I've been trying to think I've something, else fun to do or maybe use a language I've been itching to try, like Ada, but based on the first question it seems it'd just be boring to so in a language like that. I can think of a ton of other gimmicky solutions, but none that are very fun.
- vavooom 5y agoWould people reccomend this as a way to cement an understanding of Python / OOP in general? I’m typically more geared towards data science style scripting use cases and want to explore more problem focused programming.
- weaksauce 5y agoDoubtful unless you do it in a way that facilitates that understanding. it could be like a year or two ago where you build up a computer from the ground up and do things with it where it would be more oop but a lot of the times they are self contained and don't require that much structure. if you do it deliberately it's a good way to learn a new language.
- gameswithgo 5y agoit can be a great way to learn a language and to explore other programming paradigms.
- dr_kiszonka 5y agoI'd say AoC is more about problem solving and less about Python. The puzzles tend to be pretty good and I usually learn something from them. You could have a look at the previous edition to see if AoC is something you'd enjoy [0]. What I found informative was looking up other people's solutions on reddit and GitHub. There is also Rosalind for more data oriented challenges [1]. 0. https://adventofcode.com/2020 https://adventofcode.com/2020 1. http://rosalind.info/problems/locations/ http://rosalind.info/problems/locations/
- nijaru 5y agoI just started rosalind after someone posted it on here last week. They're definitely focused on bioinformatics similar to euler being more math focused. I haven't gotten too far, but the initial problems don't seem too hard in higher level languages. They are very good problems to get better at IO, string manipulation, and data wrangling in your language of choice though.
- 5y ago
- xyproto 5y agoTime to learn Zig!
- sagarm 5y agoTried to learn Zig by doing AOC earlier this year. Wow, that was painful. Python is a much better match for all the text manipulation.
- xyproto 5y agoThat makes sense, but surely it must be possible to write a little string library in preparation for AOC, which would make Zig a better fit?
- sagarm 5y agoPerhaps, but it's something that's difficult to do _while_ learning the language. The most painful part is hiding all the memory allocation and management, but perhaps you could just declare a static allocator of the default type. You could just an arena allocator probably; AOC problems should not run out of memory, even if allocations are never released.
- keyle 5y agoThe scoring should adjust based on your chosen language of choice and mental demise ;) I look forward to it!
- pxx 5y agoIt was only so long ago somebody asked "[Whatever happened to Wolfram Alpha](https://news.ycombinator.com/item?id=29131931 https://news.ycombinator.com/item?id=29131931)". As somebody who didn't have Mathematica installed at the time, cheesing a problem with Wolfram Alpha was for sure one of the best applications I've had with it. this year I guess I should probably have mathematica installed
- FPGAhacker 5y agoWhy bother installing Mathematica? You get all the functionality for free in their cloud notebooks.
- freemint 5y agoIf you just want access to the language and are fine with Jupyter as a front end you can just use https://www.wolfram.com/engine/ https://www.wolfram.com/engine/ no need to buy anything then.
- NoblySP 5y agoIn what way did you cheese the problem?
- dunefox 5y agoI'm torn between F# and Common Lisp (maybe even Raku for one or two puzzles). Julia is my fallback, as always. I think this year I want to solve all puzzles (got to 3/4 last year) and have all of them run in under one second, collectively. A tall order but interesting and fun!
- na85 5y agoI did Common Lisp last year. It was fun and often my solutions were extremely short in terms of LOC, because of how expressive Lisp is. I got frustrated half way through because most of my time was spent fighting parsing bugs, since AOC tends to give you the data in very inconvenient formats.
- dunefox 5y agoYeah, I did the first week of 2020 with both Lisp and Julia and parsing was indeed an issue; but I'm a Lisp beginner anyway. Do you have a repo somewhere with the lisp code?
- na85 5y agoI'm afraid I don't have a repo, sorry. I was working via several different machines and so I kept all the code on my brother's server but he lost the disk encryption keys, kind of a long story.
- Jtsummers 5y agoI just scanned through my 2020 solutions. It seems I used cl-ppcre for almost all my parsing if I couldn't read them directly with the built-in read or read-line functions. On the one occasion I used parseq in 2020 I didn't actually need it (a regex would've done the trick, day 2 password parsing). Parseq is a good option for anything more complex than regexes, though. I'd suggest taking a few days worth of puzzles and writing parsers to get some practice. https://github.com/mrossini-ethz/parseq/ https://github.com/mrossini-ethz/parseq/
- zelphirkalt 5y ago
- mikewarot 5y agoI've still got my Lazarus/Free Pascal installation warmed up from Google Kickstart, so I'm ready.
- steinuil 5y agoI should probably finish last year's. I did all parts mostly in time except for day 20, I couldn't figure out part 2 and just refused to do it.
- jstx1 5y agoDay 20 last year was definitely the most time-consuming and longest solution. If I remember correctly, the inputs for that day have a guarantee that's not mentioned in the instructions, so you can just write a naive brute-force-ish solution and get the answer in a reasonable running time.
- mrtweetyhack 5y agoFuck you Microsoft
- acheron 5y agoDid they remove the requirement to link an external account yet?
- jweather 5y agoNo, because they have leaderboards. You have your choice of Google, Github, Twitter, or Reddit though. I don't believe Reddit even requires an e-mail address to create an account.
- porknubbins 5y agoNow that I finally learned what a modulo multiplicative inverse and how to compute one is it will probably be the year that it doesn’t come up.
- jypepin 5y agoI hope that Peter Norvig participates this year again!
- mdwhatcott 5y agoI likewise hope for Michael Fogleman's participation: https://github.com/fogleman?tab=repositories&q=advent https://github.com/fogleman?tab=repositories&q=advent
- david2ndaccount 5y agoI’ll probably end up doing it in C again.
- s0rr0wskill 5y agoI've heard of AoC but never participated in it before How hard would it be for someone to finish the entire thing? I'm planning to use this as an opportunity to learn Python. I have some programming experience in Java, C, and JS but not that much.
- keyle 5y agoThe first 3 days are "easy". The following 5-10 get harder, past the mid month, it takes serious commitment (unless you're a wiz of course!). Overall it is absolutely worth attempting, you'll learn something guaranteed, about algorithms, about the language(s) you chose and about yourself (resilience and determination).
- mdwhatcott 5y agoCheck out a few problems from a previous year to get a feel for the difficulty. Generally, the puzzles get harder as the month progresses. Here's last year's calendar: https://adventofcode.com/2020 https://adventofcode.com/2020
- pietroppeter 5y agoIt is a great opportunity to do that. I would say do not expect to complete the year (most of us don’t). My bet is you will enjoy it anyway, even if you end up having a hard time (my personal suggestion is to keep trying on new days even when you did not complete previous ones)
- bccdee 5y agoIt's very doable, but the problems tend to get longer later in December, so it's easy to fall behind late in the month. It's fun, it's certainly worth giving a shot.
- da39a3ee 5y agoIt's doable if you (a) are good at algorithmic programming challenges, (b) don't have a job, and (c) don't need to buy any christmas presents.
- 5y ago
- jodrellblank 5y agoNB. there's an Advent of Code subreddit and every day has a 'solutions' thread where people post their code in all kinds of languages, and discussions of different approaches, which is interesting to browse. e.g. 2020 Day 1: https://old.reddit.com/r/adventofcode/comments/k4e4lm/2020_day_1_solutions/ https://old.reddit.com/r/adventofcode/comments/k4e4lm/2020_d...
- neogodless 5y agoWhat does NB mean?
- nemo1618 5y agoI've done AoC in Go every year, with a few good leaderboard placings, but this year I'm trying something new: a custom competitive programming language, optimized for solving AoC problems as quickly as possible. Will it be powerful enough to solve all of the problems? Certainly not. But hopefully, on the problems it can solve, it will enable me to solve them much faster than Go would. :)
- jb1991 5y agoWhat's custom about Python? ;)
- fullstackchris 5y agoI'll be doing the opposite, trying to do it in Go for the first time - it's a language I've been wanting to learn. Probably a bad decision to do the challenges with the overhead of learning Go at the same time, but it'll still be fun :) It's at least good to hear that Go is a competetive option!
- nemo1618 5y agoGood luck! I recommend building up a library of helper functions; it will save you a lot of typing. Here's mine: https://github.com/lukechampine/advent/blob/master/utils/utils.go https://github.com/lukechampine/advent/blob/master/utils/uti...
- i_hate_pigeons 5y agoI'm doing the 2020 ones in go as practice, it's been easier to learn than I was expecting
- aero-glide2 5y agoHad fun doing it with /sci/ in 2019. Hoping to complete this and the first 100 problems in project Euler!
- vletal 5y agoI almost got an heart attack while seeing this post. Still dizzy from waking up early I thought it was already December.
- divtiwari 5y agoWould OCaml be a good language to use here? It would be my first time in AoC, want to learn OCaml as well.
- auxym 5y agoYes! However, I'll say this: If you're using a new language that you're trying to learn, don't also try to do it for time. That is to say, take your time, it doesn't matter if it takes you a few days to do a single problem. Do try and read other people's solutions in OCaml after you've solved it yourself, or even before, if you're really stuck.
- divtiwari 5y agoThanks for the advice!!
- skhm 5y agoas good as any :)
- dunefox 5y agoAbsolutely. But I suggest learning it a couple of days beforehand just to know the tooling and the language enough to get started. A cold start with AoC is quite hard.
- divtiwari 5y agoThanks for the advice, would start from today!!
- kingaillas 5y agoSure, but start right now solving a few problems from previous years. You'll want to know how to open and read a file, parse input (generally line by line, splitting each line on spaces), get familiar with data structures such as the dictionary/hash map and how to use the OCaml version. Not that you'll be competing for the leaderboard; this is more about getting familiar with the typical things for solving each problem.
- ZiiS 5y agoLooking forward again. The puzzles are good, but they are described so well they become a real joy to solve.
- andy_ppp 5y agoI did this last year and loved it, if you aren’t even considering it I would, it made me a better programmer and it allowed me to go from completing around 60% of in interview coding tests to maybe 90%+. I’m not scared of them like I used to be either. If people do this for fun it’s also probably worth hiring them…
- deleted 5y ago[deleted]
- skhm 5y agoI honestly can't wait for this to open. I ground out the full 300 stars recently going back through all the previous years and it was one of my favourite programming experiences. Eric Wastl's such a great problem setter.
- lpcvoid 5y agoFrom the FAQ: >I have a puzzle idea! Can I send it to you? >Please don't. Because of legal issues like copyright and attribution, I don't accept puzzle ideas, and I won't even read your email if it looks like one just in case I use parts of it by accident. It's sad that we live in a world where code snippets sent by others can result in legal issues down the line.
- aloisdg 5y agoLet's create an Advent of Community with crowd source puzzle under FOSS license
- lghh 5y agoThis is a neat idea. If you're serious, I'd be willing to provide my email and chat through the idea and help out.
- aloisdg 5y agoWhy not. I am not sure if I would have both the level and the time though.
- Buttons840 5y agoThere's a Reddit that has a coding problem every day.
- joaogui1 5y agoWhich one?
- Jtsummers 5y agohttps://www.reddit.com/r/dailyprogrammer/ https://www.reddit.com/r/dailyprogrammer/ - that's the one I know of. Sadly it's become defunct, but has a large number of problems going back over the years. I used to enjoy it as a kind of warmup at the start of my day.
- jstx1 5y agoThe best thing about Advent of Code is how you can adjust it to anyone's skills and interests - you can do it for time, you can take ages, you can use any language you want or multiple languages, you can get help from other people online, you can go down various CS rabbit holes, you can make more elaborate solutions and/or extensions (some people were doing really cool visualisation of the game of life variations last year) etc. It's very easy to recommend to it anyone who does any amount of programming at any level, from complete beginners to very experienced. Other people in this thread are talking about learning new languages and I found that a bit distracting. I think I'd rather focus on the puzzles themselves and there's also something very satisfying about writing a clean and concise solution in a few lines which you can't always do when you're picking up a new language. I like using Python for it because I can just translate what I'm thinking to a solution without worrying about the language itself. Also, even if I didn't mind doing it in a new language, I don't think that AoC gives you large enough problems that can really explore a new language and all of its features. And you can always mix the languages if there's a language that's really suitable for a given problem. You don't have to stick to the same language for all problems. I really enjoyed last year's, I'm looking forward to this one.
- iofiiiiiiiii 5y agoWhat exactly is it? I understand there is something about code puzzles but how does it work? How does the leaderboard work - presumably there is some sort of scoring involved?
- deleted 5y ago[deleted]
- jdrek1 5y agoYou get points for being the fastest to submit the correct solution to a puzzle part each day. First one gets 100 points, second one 99, and so on down to place 100. So you could get up to 200 points per day if you solve both parts of the puzzle as first one. However unless you can be on your computer when the puzzles unlock (midnight EST (UTC-5)) I wouldn't bother with the global leaderboard, it gets filled within minutes.
- uyt 5y agoDaily two part puzzles, for one star each, 50 stars total. Second part is usually related to the first (but unknown until you solve the first) which makes you refactor or learn to write your code generically the first time. Input is usually a small text file. Puzzles are often dependent on earlier ones (spoilers: most years you write a interpreter for a made up language over a few days and later puzzles use it as an input generator which you seed with the text file) Leaderboard points are only assigned if you're in the top 100 for either parts which you should ignore if this is your first time since it's not the point!
- Angostura 5y agoTime to break out the ZX Spectrum Basic again!
- simongauld 5y agoHave gone back to 2019 day 10, warming myself up for this year. Trying to get my colleagues to participate, too.
- polytely 5y agoI love advent of code, but I always burn out on it after a couple of days because it just starts taking up too much time. I'm always amazed at the people here that complete the whole thing, I feel like there must be a vast gulf in skill level between me and the average hn poster. Excited to try the first couple of days again this year.
- deleted 5y ago[deleted]
- it_does_follow 5y ago> there must be a vast gulf in skill level between me and the average hn poster I suspect it's much more a time gulf than a skill gulf. I love AoC as well and don't so much burn out but find that after a week of coding for fun in the evening a mountain of real world responsibilities start piling up, especially around the holiday season. When I was in undergrad I had virtually no family responsibilities during December and a large amount of free time when classes ended, so it would have been easy to spend hours a day on AoC. Many younger, single professionals are likely in the same situation. I think for most adults with family responsibilities and full time jobs (and likely a range of side projects that also need attention) that first week of December is a rare lull, and a great time to solve a bunch of fun code problems. After that more and more other things take focus as the holidays approach.
- sandos 5y agoExactly the same thing happens to me. Ain't nobody got time for that, after like day 9 or so.
- jstanley 5y agoI love Advent of Code. If you like programming, Advent of Code probably has something for you. It's a great source of practice problems for learning a new language or style. There's a "competitive" aspect for people who like programming competitions, and you can even make private leaderboards so you can compete against your friends even if you can't make it on to the global leaderboard. Last year I was earnestly trying to compete on the global leaderboard, and scored points a few times, ending up 103rd overall (slightly frustrating as the displayed leaderboard only goes down to 100th place!), but it's too stressful for me to want to do that again, and in my timezone it requires getting awake in time for the puzzles to be released at 5am. This year I've been building a homebrew 16-bit CPU from 74xx logic, and have written an operating system and development environment for it, and I plan to do as much as possible of Advent of Code 2021 on my homemade computer. There are 2 big hurdles to this. The first is that my computer is very slow. It takes over a minute to compile a typical program, which makes for a very long edit-compile-test cycle, and I don't have any hardware multiplication etc., so even integer arithmetic can be quite expensive. The other hurdle is that it only has 64K words of memory, and IIRC some Advent of Code problems in the past have required keeping track of state for dozens of thousands of separate things. In those cases I'd either fail, or come up with a way to use the disk for extra storage. I look forward to trying, regardless. As it happens, just this morning I did kind of a "dry run" on problem 1 from 2016 on my homemade computer, and recorded my attempt, which you can watch if you want: https://www.youtube.com/watch?v=UOizI9qi6FU https://www.youtube.com/watch?v=UOizI9qi6FU
- zaarn 5y agoYou could maybe try implementing bank switching to handle more memory. This does make code more complex but it should be possible to use boilerplate to access arbitrary memory. IIRC from when I toyed with making CPUs, a bank switch is implementable as a single extra register which simply drives the upper 16bit (or less) of your address line. It will probably be fairly slow.
- jstanley 5y agoYes, that would be a good way to go. In practice I think bank-switching would be of great value even if none of the programs use it directly: currently context-switching is implemented by dumping the running process to disk and loading the new process from disk. If I had bank-switching then I could context switch much more rapidly by just giving each process its own bank(s) of memory. It's slightly more complicated than just having 1 register to drive the upper bits of the address, because if you just blindly switch on some of the upper bits of the address then suddenly all of your instructions go missing and the CPU starts executing whatever arbitrary bytes happen to be in memory. So you'd want some way to switch out just the parts you want to store data in, while leaving all your code still mapped in. I have an RC2014 with the bank-switching memory expansion. The RC2014 handles it by splitting memory into 4 (I think?) "pages" of 16K each, and allowing you to select which bank backs each page separately.
- kryptiskt 5y agoAdvent of Code is fun! I have done it every year since the start. I have previously used C++, Rust, Racket, F# and a smattering of Factor and SML. I'm vacillating between doing it in C# and Javascript/Typescript this year. C# has gotten more attractive lately as there are improvement that makes it less ceremonious for short programs, like toplevel statements and global imports, and also fun optimizations for ricers. If I do it in JS/TS I would do it in a web environment, and try to do it with a nice web GUI.
- sp33der89 5y agoYou might like Scala 3 starting off quickly with: https://scala-cli.virtuslab.org/ https://scala-cli.virtuslab.org/ too (maybe!).
- mordechai9000 5y agoSo for the first time in years, we are leaving for the holidays (in-laws). I was going to use the time off (and the inevitable boredom) to get an AWS cert to help my job search. Now I don't know... In the past, I've given up on AoC after a couple weeks due to time and conflicting priorities. With two whole weeks of free time that coincides with the hardest puzzles, I guess I know what I'm doing in December.
- __mharrison__ 5y agoI recorded about 40 hours of me solving these problems from scratch last year. That was not for everyone but some people really like seeing your thinking process, getting stuck, going down the wrong path, and recovering. This year I'm going to be hosting a series of workshops to discuss solutions in Python. Participants will come to the workshop having already implemented the problems we will be discussing. The goal will be learning about more intermediate and advanced features, testing, OO vs functional solutions, utilizing editors efficiently, getting feedback, data structures and runtime, and improving your coding ability.
- kaladin_1 5y agoWill this be virtual? If yes, I would be interested in participating
- InnerGargoyle 5y agoam interetested in this too..
- tofflos 5y agoHow hard is it to go all the way? Last year 163763 people completed both puzzles for day 1. On day 25 only 13016 completed both puzzles resulting in a "completion ratio" of 13016 / 163763 = 7.95%. Day 1 Day 25 Ratio 2020 163763 13016 7.95% 2019 103187 3399 3.29% 2018 71480 3192 4.47% 2017 48543 5577 11.49% 2016 19299 2772 14.36% 2015 55970 4171 7.45% Based on https://adventofcode.com/2020/stats https://adventofcode.com/2020/stats, https://adventofcode.com/2019/stats https://adventofcode.com/2019/stats, https://adventofcode.com/2018/stats https://adventofcode.com/2018/stats, https://adventofcode.com/2017/stats https://adventofcode.com/2017/stats, https://adventofcode.com/2016/stats https://adventofcode.com/2016/stats and https://adventofcode.com/2015/stats https://adventofcode.com/2015/stats.
- netcraft 5y agoIn my experience the difficulty and time requirements ramp up considerably after about day 10. I think that plus the fact that its Christmas time makes it hard to complete the whole thing - I would even wager that some significant fraction of the people who completed day 25 didnt do it in December…
- bogdanoff_2 5y agoHow does this compare to "classical" competitive programming (like ICPC, Codeforces, etc)?
- sundarurfriend 5y agoI'm going to try Crystal[1] this year, now that it's had a 1.0 release. At least for the first 10 problems - after that, I'll likely switch to Julia unless Crystal proves to be even more enjoyable than I expect. [1] https://crystal-lang.org/ https://crystal-lang.org/
- donkarma 5y agoSomeone repost this in 8 days so I remember
- neillyons 5y agoJosé Valim is going to stream Advent of Code again this year https://twitter.com/josevalim/status/1461064540465078273 https://twitter.com/josevalim/status/1461064540465078273 His 2018 AOC stream https://www.twitch.tv/collections/YDM6eKu6bhV1Nw https://www.twitch.tv/collections/YDM6eKu6bhV1Nw