16 ms·
Advent of Code 2020
- BooneJS 6y agoLooking forward to learning Rust this year!
- kris-s 6y agoData for past completion rates is available. I wonder how that affects puzzle difficulty tuning. https://adventofcode.com/2019/stats https://adventofcode.com/2019/stats
- xucheng 6y agohttps://adventofcode.com/2019/stats https://adventofcode.com/2019/stats
- xyzzy_plugh 6y agoI've always found AoC to be added stress during a time of the year I'm not really running a stress-deficit. I find the competitive aspect a pretty big turn off. I usually get a few puzzles in and then burn out, because I can't keep up with the people who do it every day (I don't even use my computer every day). I wish the scoring didn't prioritize timeliness. This is really the sort of thing I'd enjoy cranking out on a plane ride, not every day.
- asadawadia 6y agothe puzzles also get quite difficult later on
- recursive 6y agoIf you must look at the scores, you can now make your own private leaderboards. If you're the only member of the leaderboard, then you'll win every challenge.
- ojnabieoot 6y agoThis is dismissive and unnecessarily condescending. Is it possible to opt out of the public leaderboard entirely? Because if not - perhaps things have changed - the stressful part about AoC is having a publicly viewable permanent score based on arbitrary and unfair criteria. Simply “not looking at it” isn’t enough. I did AoC a few years ago and realized that I had my GitHub profile associated to “middle-of-the-road” scores on a public list. It isn’t really a problem and I realize I may sound too sensitive: but it is a bit stressful to be ranked in a competition you have no interest in competing in. Think of an ignorant recruiter deciding to look at a “better” programmer higher on the list, etc. And in a community/society that places a huge premium on arbitrary scores like SAT and IQ, there’s a small twinge of unavoidable stress when you see “you completed 75,435th” simply because you decided to do a puzzle on a lunch break. I’d rather just avoid it entirely. Likewise, there are many people desperately competing for a “top spot” that measures their ability to... drink coffee late at night, mostly. It’s just kind of gross and not something I feel like encouraging. Having an opt-in leaderboard would be fine, but AoC pushes it way too hard. The emphasis should be on fun daily puzzles, not an arbitrary competition based on who is most alert at a given hour.
- rtpg 6y agoIn the settings you can make yourself anonymous instead of associated to your GH profile (see https://adventofcode.com/2020/settings https://adventofcode.com/2020/settings). I generally agree with the sentiment and the leaderboards themselves feel very silly.
- mpalmer 6y ago> Likewise, there are many people desperately competing for a “top spot” that measures their ability to... drink coffee late at night, mostly. Talk about dismissive and unnecessarily condescending. Consider arguing against ideas, not tone.
- ojnabieoot 6y agoI used a cutesy synecdoche to illustrate the overall point that “AoC leaderboard ranking” is essentially uncorrelated with programming ability, despite how heavily the leaderboard is pushed on participants. Otherwise I think the rest of the comment is well-argued and I don’t think a full reading of my comment suggests that “drink coffee late at night” was literally the main deciding factor. In a literal sense, geographic location/time zone is a much stronger variable than coffee consumption. I realize the internet in general (and HN specifically) isn’t a great place for rhetoric like this. Regardless, I feel like you’re being excessively pedantic as a means to..... police my tone without addressing any of the actual arguments.
- llimllib 6y agoI also find the scoring stressful, so I just ignore it and do the puzzles at my leisure. I still burn out/run out of time eventually, but it’s much more peaceful
- keithnz 6y agolast year I did that, I just did it without worrying about time, year before I did it as fast as I could ( as did a bunch of other HNers ), I got a fair few top 100 placements and finished the entire thing....super stressful, but fun. Last year, doing it in a relaxed manner, I never finished them, I'd just keep putting off doing the next puzzle. This year I think I'll just watch from a distance. I think it is really worth doing it as fast as you can at least one year, it really highlighted a bunch of areas I was quite rusty in.
- daveFNbuck 6y agoWhy do you think you kept putting off the puzzles? Do you enjoy the competition, but not the puzzles? Maybe it's better that you didn't finish them.
- trackone 6y agoIf you don't care about competing with others, you can always do previous puzzles any time. https://adventofcode.com/2020/events https://adventofcode.com/2020/events
- macintux 6y agoBut you lose the community aspect. It's interesting to talk about the puzzles during the competition, even if you're not competing.
- jsmeaton 6y agoI just began a shared slack channel with my co-workers, and put the call out for any other interested hobbyists from other departments. We'll collaborate and discuss there, and ignore the public boards. I found in previous years I gave up a few puzzles in, so I need some community to keep the interest up. But I have zero interest in the competitive aspect.
- Jtsummers 6y agoNot Slack, but this is what I did with colleagues last year (I first participated in 2018, got a group in 2019). It was fun, moderately competitive (between myself and one other guy, the rest were just solving problems but he is always competitive, and I like to goad him), and we got to teach some of the young guys at the office things they should've learned in their CS education (but somehow didn't).
- will_pseudonym 6y ago> and we got to teach some of the young guys at the office things they should've learned in their CS education (but somehow didn't) What specific things had they not learned in their CS education/which puzzles utilized them?
- Jtsummers 6y ago
- chapium 6y agoJust work on a previous years puzzle then? Low stress and still challenging.
- anonu 6y agoThe midnight release in the Eastern timezone doesn't help either. I'd assume this is convenient for West coasters. And probably excludes Europeans altogether. I'm making mass general assumptions here...
- wink 6y agoNo, most of the Europeans I talked to spend an hour or two before work. (2019 was my first time and I did that as well)
- zeeZ 6y agoThey unlock at 6 in central european time (5 in UK). This is the only month of the year when I will consistently get out of bed at 5:55, give the puzzles up to 2.5 hours, then have breakfast and get ready for work. Personally I find it super convenient since I and many of my close colleagues begin work so late, but I also know a lot of people who would be on their commute to work at that time.
- kevinwang 6y agoEven though I enjoy competing for the leaderboard, the creator is pretty up-front about the leaderboard being Not The Point and advises you to ignore it, and from that perspective the midnight release time makes more sense. (And the reason is that it's the time that the creator can be readily available: https://adventofcode.com/2020/about https://adventofcode.com/2020/about )
- aaomidi 6y agoYou can't make a leaderboard and then say it's not important. Especially when you don't even opt into it, you just...get on the leaderboard. If the creator was genuine about it not being important they'd explicitly limit the leaderboard with an opt in process. You shouldn't even be able to see the leaderboard unless you have opted into it. It shouldn't be visible or clickable.
- forrestthewoods 6y agoLast year almost 100,000 people solved the first part of the first puzzle. Almost 3000 people solved the last part of the 25th and last puzzle. The leaderboard has only 100 entries. The leaderboard is not important.
- daveFNbuck 6y agoIt's important to a lot of people. I get that I'm in the minority here, but I can make it on the leaderboard a lot of the time if I try. But trying to get on the leaderboard stresses me out and ruins the fun, so I instead do things like start a bit late to sabotage myself. I still make it on the leaderboard sometimes if I get too excited about starting right away or if it's a particularly hard problem and I get lucky figuring it out. That stresses me out a bit. I'd be happier if the leaderboard weren't there.
- teraflop 6y agoYou could always solve this problem by setting yourself an extra "day 0" challenge: write a userscript that runs on the contest website and hides all references to the leaderboard.
- justatdotin 6y agolife hack: it's not compulsory!
- da39a3ee 6y agoRight, whether or not I suck at algorithms really isn't germane in December: I know I suck at preparing for Christmas, and I can think of few poorer remedies for that than taking on a daily algorithm challenge.
- siraben 6y agoEspecially for US universities it coincides with final exams in early December. By the time I'm done with my exams it can be hard to keep up.
- daveFNbuck 6y agoI enjoy doing these too and would prefer if there were no scoring at all. When I start right at release time, it stresses me out. So I try to find reasons to introduce small delays that guarantee I'm not in the top hundred, and the stress goes away. If you're not using your computer every day, just think of yourself as having been removed from the competition. Then you can just solve fun puzzles that don't have a competitive aspect for you. You could also make a browser extension to hide the leaderboard if that helps.
- karmakaze 6y agoI usually just do the most recent year's whenever I have an itch to learn a new programming language, or one I know used differently. I like the problem format and the stars tracking progress.
- Waterluvian 6y agoI really enjoy it until like day 7 where the difficulty just ramps up. I need a casual difficulty because I really do enjoy cozy simple short puzzles.
- speedgoose 6y agoSame. The beginning is fun but then it get too hard for my taste. I don't have enough time nor motivation. It looks like many people appreciate the difficulty though.
- baron816 6y agoI’ve never done it, but I’m willing to bet that stress is a motivator for others who would otherwise lose interest.
- makach 6y agoIt is extremely competitive. Stress is indeed motivational , and it is part of what makes it fun. Once the difficulty starts to increase I can spend an insane amount of time on a simple task. I stay away from these competitions, simply because I don't have time to dig into the material and it makes me feel terrible when I have to abandon a task because of real life, or xyz. I do have tremendous amount of respect of the developers who completes these on the back of their hands.
- oezi 6y agoIt is a big turn-off that puzzles are always relased at a time that is convenient for Americans instead of moving across the globe or some other scheme.
- _jstreet 6y agoI agree with this. I've participated since 2016, but haven't yet completed all 25 puzzles, I usually burn out after about day 8-10 (partly due to the curve in difficulty). I'm based in the UK, so the puzzles get unlocked at ~6AM which gives an hour or two before work if I wake up earlier than usual. I think I'll still take part this year, but at a more relaxed pace.
- zeeZ 6y agoMidnight EST (UTC-5) would be 5 am in the UK for the unlock time.
- johnday 6y agoThis is correct. I am a PhD student and I know several undergraduates who get up at 5am (or stay up until 5am) to get started on the AoC problems ASAP. It's very unhealthy.
- estomagordo 6y agoI'm in central Europe and so puzzles unlock at 6 here. I've often thought that this time is nearly ideal for me. But at the same time, had I lived in the UK, it would have been absolute hell to try and be competitive. So an hour can make a huge difference. I have had days where I've just caved in to the lack of sleep and decided to sleep in the next day, sliding on leaderboards in the process.
- polytely 6y agoI always like to do some puzzles but it takes me quite long to solve them, so far I've burned out after a couple of days every year I've tried it. This year I'm going to try to use Elixir, a language I've started learning the past year, hoping I can at least get past day 5 this year.
- sfusato 6y agoI did it in 2018 in Elixir when José Valim, the language's creator, has publicly streamed his solutions [1] at mid-day (in Europe), so you had quite some time to resolve them yourself and then later watch him go through them. I will be forever grateful to him for this opportunity. --- [1] https://www.twitch.tv/josevalim/videos https://www.twitch.tv/josevalim/videos
- polytely 6y agoOh I didn't know he had a twitch, thanks for sharing!
- deleted 6y ago[deleted]
- Lycea 6y agoWell for me i am in a complete different time zone so I have not the possibility to do it exactly at the start time, even if i wanted it is the middle of the night ... (5 in the morning) I do it when I have time for it and if I have time for it in the evening I have fun solving it. Last year I did a few once since i remembered these far to late but came till 10 ? challenge and forgott about it again till yesterday, and now try to follow up each day if i have time and want to and dont feel pressured by it it is for fun and maybe learning something new! I actually loved the aspect of writing half a interpreter last year I hope for something similar this year!
- tasubotadas 6y agoYeah - it would be much more cool without leaderboards. I can see myself working on them late in the evening (after work and after I had my rest) but now I would need to get up at 6am to "stay in the game" :D. Obviously, nobody makes me do that or compete, but it I don't do that, then it just feels like I am just a passive bystander instead of a participant.
- andy_ppp 6y agoI hadn't even realised it was a competition - I'm not really interested in that... I just want to improve my coding exercise ability should I ever interview again and I'm looking forward to it getting absurdly hard and 100% CHEATING. But I will still learn something so I'm happy to be taking part this year!
- david2ndaccount 6y agoAoC is a lot of fun and is a great way to scratch that puzzle itch.
- deleted 6y ago[deleted]
- mkeeter 6y agoAdvent of Code is a huge amount of fun! One of my favorite problems from last year involved programming a robot to traverse an obstacle course (https://adventofcode.com/2019/day/21 https://adventofcode.com/2019/day/21). Interestingly, the space of potential programs was small enough (105 bits) that you could smash an SMT solver into it and solve for a correct, minimal program, given the shape of your obstacle course: https://www.mattkeeter.com/projects/synthesis/ https://www.mattkeeter.com/projects/synthesis/
- forrestthewoods 6y agoI love Advent of Code. I usually finish mid-January due to holiday travel. A++++ can’t wait to start.
- Mister_Snuggles 6y agoI look forward to Advent of Code every year. So far, I've used it as a way to learn new languages - I've done it in D, C#, Swift so far. I don't bother with the competition aspect, but I do have a few people that I bounce solutions off of. This year I'm taking a different approach though, I'm going to use it to re-learn an old language - UniVerse[0] Basic[1]. In my first IT job, I supported an in-house system that ran on UniVerse. I then moved on to working with a commercial system built on UniData[2] (a close cousin to UniVerse). These products mainly exist to allow Pick-style MultiValue applications to run on modern systems. They are closed-source commercial products, but there is a limited-use personal edition available. One nice thing about these is that they don't just emulate a Pick environment, they also give it features that Pick systems never had. For example, UniVerse Basic is capable of making HTTP/HTTPS requests, parsing XML and JSON, and at some point UniVerse Basic even gained the ability to interact with Python objects. One of the first things I built in preparation for this was a subroutine to retrieve the input data, downloading it and caching it if required. It's been about 10 years since I've worked with this technology, so I'm really looking forward to re-learning it. [0] https://www.rocketsoftware.com/products/rocket-universe-0/rocket-universe https://www.rocketsoftware.com/products/rocket-universe-0/ro... [1] https://docs.rocketsoftware.com/nxt/gateway.dll/RKBnew20/universe/v12.1.1/universe_basic_user_guide_v1211.pdf https://docs.rocketsoftware.com/nxt/gateway.dll/RKBnew20/uni... [2] https://www.rocketsoftware.com/products/rocket-unidata-0/rocket-unidata https://www.rocketsoftware.com/products/rocket-unidata-0/roc...
- cbm-vic-20 6y agoI do the same thing! One year, it gave me a reason to really understand Javascript. Another time I learned Go. Last year, it was the 50th anniversary of the release of the first PDP-11, so I'm still going through and writing the solutions in bare-metal PDP-11 assembly.
- Mister_Snuggles 6y agoThat's an impressive challenge! How are you finding the challenges in PDP-11 assembly? Are there any unique things about the PDP-11 instruction set or architecture that helps in the challenges?
- a_imho 6y agoWhy Advent of Code, how is it different to the million other coding challenges online? I never participated, only looked at some of the puzzles.
- djaychela 6y agoIt's themed and timely. I'm not a great coder and don't have a CS background, but have found it very useful to stretch my abilities to the limit. Its much more friendly than any code competition site I've been on, abs also it's useful being able to go to reddit to get tips or occasionally help others (very occasionally in my case!). I look forward to it each year.
- thetrustworthy 6y agoThe factor that makes it stand out for me is the community. The r/adventofcode subreddit is very active every year and not only can you learn programming tips and tricks from others but you can also see people doing crazy things like solving problems in tools like Excel, Git, etc. and cool visualizations of their solutions.
- gerikson 6y agoThe quality of the puzzles. They're 2-stagers, where the first stage is generally to ensure you've understood the problem, and the second is a "twist" like a vastly expanded problem space.
- gameswithgo 6y agoNothing fundamentally different. Just a well done one.
- gsinclair 6y agoMy experience of other coding challenges is: here's the problem, and you submit source code which is run against many test cases to confirm correctness. Advent Of Code only asks you to submit an answer, not source code.
- abhibansal530 6y ago
- weavie 6y agoI've always struggled with AoC in the past due to work and family commitments, but this year is different. I now have a work from home, flexitime job and thus so much more time to devote to it. Hope to make it beyond day 2 at least!
- Gehinnn 6y agoI'm curious if my debug visualizer extension for VS Code could be helpful for solving this kind of puzzles (https://github.com/hediet/vscode-debug-visualizer/blob/master/extension/README.md https://github.com/hediet/vscode-debug-visualizer/blob/maste...). Might be one of the few use cases where it can really shine.
- TobTobXX 6y agoI had this plugin installed for a long time. The idea is really awesome, but it's just like debugging frameworks. Most of the time I just use console.log, or in this case the debugger instead of powerful tools. Also many times I don't actually debug loops and list mutations.
- Barrin92 6y agothat damn intcode computer from last year is still giving me PTSD. Had a bug in it that somehow didn't show up in the first three challenges, took me forever to find.
- wink 6y agoI had one of the funniest bugs in my whole programming life with intcode. It manifested itself in the last puzzle (iirc) with the maze. I did not find a single item, because the instruction used for this was buggy and the rest of the problem was 100% ok.
- orestis 6y agoThis is a great opportunity to use new languages and get a feel of how communities take on newcomers! I tried Clojure a few years back and I got a warm welcome, so I'd like to extend an invitation to anyone considering using Clojure for this year's puzzles, head over to the Clojurians Slack and the #adventofcode channel and hang out. There's no competitiveness and people just like to compare notes and discuss approaches. A lot of Europe representation too!
- st1x7 6y agoAnyone else planning on rotating languages? I think that using a different language every day is too much of a stretch for me, but I plan to switch between C++, Rust and Julia.
- wink 6y agoI did 20 languages last year and I'm gonna stick to 1-2 this year :P Wasn't exactly stressful, but it didn't help being quick and having nice solutions. Wrote a summary: https://f5n.org/blog/2019/advent-of-code-2019/ https://f5n.org/blog/2019/advent-of-code-2019/
- dunefox 6y agoJulia, Common Lisp, and maybe Haskell or something like that for me. I use Julia to get the correct solutions in a naive way, then I optimise the approach and compare the efficiency of the languages. It's pretty fun. Yesterdays puzzle was 0.0002 in Julia and 0.002 in CL for the exact same approach.
- ulucs 6y agoVery nice. I like to try doing these in a different language each year. Last year went very well with F#, let's see how this year goes with Haskell.
- tasubotadas 6y agoAoC is great. But I also think that it's a missed opportunity to measure productivity and runtime performance of programming languages. In "Benchmarks Game" you get extremely optimized programs which is not usually achievable by an average developer. On AoC you would get a wide distribution of submissions and you could get the right estimate of how performant are the programs submitted by PHP, Python, or Rust developers. I guess we wouldn't get to see people abusing mpz_add on Python or PHP that often.
- igouy 6y ago> In "Benchmarks Game" you get… You get what people choose to contribute — if you want to see Python or PHP programs that don't use GMP then please contribute those programs. The benchmarks game shows up-to 10 programs for each language implementation: some will be all about performance, some will be about the language, some will be about program size. https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/spectralnorm-ghc-2.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/... and https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/spectralnorm-ghc-4.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/... Sort by gz and notice the Chapel programs seem to be written to show program size rather than performance: https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/spectralnorm-gz.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
- sathish316 6y agoIs Advent of code used mainly for learning new languages? I find it very different from Topcoder style questions. I tried 3 puzzles and part1 and part2 in each question makes this a good test of how to design code in order to make it extensible for future changes. Can someone who has done Advent of code in the past confirm if learning new languages and making your code extensible are the primary objective of AoC questions?