this post was submitted on 30 Nov 2023
229 points (97.9% liked)

Programming

17405 readers
186 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

For anyone interested, advent of code is about to start! (first puzzles dropping at midnight ET which is in around 11 hours)

We have a community in the instance at [email protected] for discussion about the event and that will have solution threads where you can post and compare against other people


Advent of code is a programming puzzle advent calendar where new puzzles drop every day until the 25th. They can be done in any language and puzzles are released on the AoC site

https://adventofcode.com/

all 33 comments
sorted by: hot top controversial new old
[–] [email protected] 40 points 11 months ago (3 children)

Last year I decided to do it in Rust, in order to learn Rust. I found out pretty quickly that you can't just jump from Java/Python/Haskell into Rust and expect to understand what's going on. This year I feel more prepared, so if time permits I'll make it right this time.

[–] [email protected] 29 points 11 months ago* (last edited 10 months ago) (1 children)

Lol, that reminds me of when I was in Uni, I had a systems development class, they taught in C, all the lectures, tutorials and assessments were done in C. Our final assignment was handed out the week the first Rust v1.0.0 build dropped in 2015. I had been following the hype around the development of Mozilla's new language, and I was so keen, I asked my professor if I could complete my final assignment using Rust. He said it's a great idea. Then cut to me furiously trying to learn Rust in just two weeks, so I could even start the assignment, including C interop, implementing functions with c-style interfaces for callbacks, and lots of unsafe blocks for memory manipulation and pointer manipulation. In the end I was just forcing Rust to be C.

It did work in the end, and I did get an A, mostly because the professor couldn't understand any of the Rust code.

[–] [email protected] -5 points 11 months ago (1 children)

Lol. I have a student right now asking to do an assignment is PowerShell. I'm inclined to allow it and probably give them an A because I don't understand PowerShell XD

[–] [email protected] 2 points 11 months ago

I sure hope this is not how most CS courses are being taught

[–] [email protected] 6 points 11 months ago (1 children)
[–] [email protected] 5 points 11 months ago

Yep, I feel a bit more prepared now. I haven't had the time yet today, but from what I saw the first one shouldn't be too hard

[–] [email protected] 2 points 11 months ago

Same. I only got through day 3 last year since I didn’t have time to do both the learning and the solving. I think I need a longer term project to give me more focus when learning a new language. This year I’m just sticking with my usual language Elixir, which I always enjoy.

[–] [email protected] 19 points 11 months ago* (last edited 11 months ago)

To play, please identify yourself via one of these services: [GitHub] [Google] [Twitter] [Reddit]

Best I can do is [Gitea] [Proton] [Mastodon] [Lemmy]

[–] [email protected] 14 points 11 months ago (2 children)

My favourite advent calendar.
Got a private leaderboard with the other sysadmins from work - as well as a few people from our application/development team.

[–] [email protected] 3 points 11 months ago (1 children)

Private leaderboards are the best

[–] [email protected] 5 points 11 months ago

I don't know that many programmers :/

[–] [email protected] 3 points 11 months ago (1 children)

Is your leaderboard just who solves it first, or is there more to it?

[–] [email protected] 3 points 11 months ago

It's basically just a copy of the main leaderboard, but the scores are given based on the size of the group.

[–] [email protected] 12 points 11 months ago (2 children)

Is it ok if I skip some challenges or do them later? University final exams are comming up soon for me.

[–] [email protected] 12 points 11 months ago

The first Advent of Code was in 2015 and the puzzles can still be accessed.

https://adventofcode.com/2015

[–] [email protected] 11 points 11 months ago* (last edited 11 months ago)

yep, you can do them anytime after theyre unlocked and you dont have to do all of them

[–] [email protected] 11 points 11 months ago (1 children)

How hard are the puzzles? I've been coding for a while but I'm self taught and I have no idea whether I'm any good or not. I'd love to give them a shot but I have no idea whether they're totally out of reach or doable. What level of developer are they intended for?

[–] [email protected] 19 points 11 months ago* (last edited 11 months ago) (1 children)

they start out easy and get harder as time goes on. Theyre intended for all levels due to that and theres two different difficulties per day (the harder one being unlocked when you do the easy one). Basically anyone can do day 1

Heres stats for how many people completed each day last year https://adventofcode.com/2022/stats

[–] [email protected] 3 points 11 months ago

Ok cool, thank you! I'll see how it goes.

[–] [email protected] 10 points 11 months ago (2 children)

Thanks for the reminder! I almost forgot to set up my repo. 🤦‍♀️ I'll be publishing my solutions on GitHub for anyone interested. This year I finally got around to restructuring things to keep the input files out of git, so I won't have to feel guilty about leaking the problem inputs.

[–] [email protected] 5 points 11 months ago (1 children)

I thought problem inputs were randomized for each user?

[–] [email protected] 7 points 11 months ago

There's a limited pool of random inputs, so it's possible to collect them all with enough input samples. In the past, the creator has asked people not to upload their input file because there are bots that scrape GitHub looking for the inputs.

[–] [email protected] 2 points 11 months ago (1 children)

I'm sorry, I think I'm missing something. What's wrong about sharing the inputs? I thought the only thing problematic was to release a solution before the leader-board is full.

[–] [email protected] 2 points 11 months ago

In the past, people have stolen the problems to use in their own challenges, coding tutorials, and even commercial projects. The author has asked people to keep their inputs out of git or anywhere publicly searchable.

[–] [email protected] 9 points 11 months ago (1 children)
[–] [email protected] 3 points 11 months ago* (last edited 11 months ago)

I tried it in rust last year, made it through like 5 days? It just took too long :(

[–] [email protected] 6 points 11 months ago (1 children)

I’m going to try it in Haskell.

~~Might~~ Probably will regret this.

[–] [email protected] 2 points 11 months ago (1 children)

So, are you regretting it?

[–] [email protected] 4 points 11 months ago (1 children)

My code is beautiful.

My process wasn’t.

I already regret it, but I won’t stop.

[–] [email protected] 1 points 11 months ago

It's good exercise.

[–] [email protected] 4 points 11 months ago

Thank you for this! I always find out/remember about it half way through...

First day done and work leaderboard link shared!