Those are the problems I loathe the most, where the real problem is figuring out how to parse the input into something more workable. Once its parsed its ezpz.
Are you solving all puzzles? I find usually that the parsing isn't my problem, but some of the puzzles puzzle me (ha, couldn't resist), because they expect some kind of graph knowledge or some mathematical trick or so. Last year got stuck at day 17 for example. Usually some learning in it then, but parsing, while possibly annoying day after day, wasn't usually what stopped me from completing puzzles.
the input parsers don't get increasingly complex over the days. The problems themselves do. Even on the most difficult days around 22 or 23, the inputs are all just lines of space separate ints or some grid of points or something, just like the trivial problems on days 1-3
From last year: hot springs, the pipes problem, gears, pulses, range math.. half the problem is turning the text input into the correct data structures to solve it.
yes, that kinda is what the reality of programming is. Correctly representing the problem so that the solution easily follows. Various famous people have various quotes about this, for example Rob Pike: "if you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident".
Depends if you're really stuck on a problem. I'd rather learn by getting a look at how it's done, even if the code is incorrect, than be completely suck with no idea why or what to do.
This is his entire point: getting to this brick wall is _where_ the real learning happens. When you start scrambling, reading old stackoverflow posts, and breaking out the calculus text book you're pushing the boundaries of what is possible for you.
Body builders don't grow by watching other people lift weights.
That isn't an accurate comparison. Asking an AI is functionally equivalent to searching the web. Your comparison is like saying you can't get strong by filling up the buckets you have handy with water and lifting them, you have to do what real bodybuilders do and lift weights. Whether I'm researching the answer using a search engine or an AI prompt, the result is the same.
How do they become pioneers? By digging into the body of knowledge. They know what books and authors are good, what blogs to read, they posted questions on SO. They don't search for direct answers, but instead they search for the knowledge that allowed the person who made the question to make the question, and person who found solutions to find the solution.
Looking how it's done doesn't equal you doing it. It's apples to oranges. OP was referring to needing to do work in the gym to get results. You didn't get results if you looked at others and did the same in the advent of code etc. You are merely entertaining yourself, but you are not competitive participant. With that approach you'll never be on top.
There are people who use frameworks and people who write frameworks. The first group struggles when there is no official documentation or tutorial on a topic they need. The second group when faced with the same goes through the source code and gets the answers.
Bottom line is the question of what you want to achieve - just go through the problems and be done with them, or deep dive into new topics ans material, to widen your knowledge?
I don't see much to disgree with in what you're saying. Were clearly talking about different things.
What happens when you dig in and exhaust all your best efforts and still don't find a solution? Are you a lost cause because you couldn't figure it out for yourself? Or are you allowed to be shown the way it's done so you can learn from that?
Many times in my life have I not been able to figure something out for myself, and needed shown how the thing was done. Just because I couldn't do it on my own doesn't mean I wasn't capable of either doing it once shown, or that by being shown I didn't learn anything.
You've spent the last hour trying to curl the 50kg dumbbell and you just can't do it. You walk up to the yolked out guy and ask him to show you how it's done, he picks up the weight and curls it with ease.
At this point its not really fair to say you curled those 50kgs, and you didn't get much out of the experience. Maybe you noticed something about his technique that helped, or he gave you some pointers, but you still can't lift the weight by yourself even with that information.
Now if you instead went back and trained some more at lower weights not only would you get more out of the experience (in terms of growth), but also seeing someone else do it is more beneficial since you can try it again yourself and directly apply what you just learned. Eventually with enough training at easier weights and progressing naturally you'll be able to lift the 50kg weights. But that one curl you're now getting to do for the noobie is in no way indicative of the time and effort you actually put in to be able to do that one curl.
Now if you're instead in a warehouse doing your job moving heavy boxes from A to B getting the yolked out guy to help you isn't that bad - sure you can't do it in the future but all that matters is that it was moved from A to B. If we take that same mindset into the gym we'll get nowhere since the gym isn't about moving something from A to B, it's about making you better at moving something from A to B.
Sometimes being shown the answer to a problem is just what you need to move forward, especially if you are inexperienced. Shown the answer with an explanation as to how you get to it is better.
I think the difference between the textbooks and AI is that the AI can answer exactly your question without providing the necessary context/reasoning behind how it arrived there.
When you are drawing connections between SO posts, textbooks, whatever you do a fair amount of reasoning yourself.
Now that I think about it it isn't AI specific (more knowledge specific) - I'd say the same if you wait a few hours and then look up the AOC solutions on github. Sure you'll have "solved" the problem but you never spent the time to actually figure out the solution.
> And at the start, novice body builders will of course watch other body builders to learn how it's done.
"Learn how it's done" - not get bigger. This is the important difference. If those novice body builders watched others and learned how its done without putting in the reps themselves they'd get nowhere.
Say I have no idea how to complete day 12 of AoC. Racked my brains, done some searching, researched as best I can, can't find anything that makes sense. I'm stuck.
By your logic I would gain absolutely nothing, learn nothing, but either looking up the answer or getting AI to give me the answer. I don't accept that.
Reason being? I've been in the exact same situation. Guess what, I learned different approaches to the problem I could not solve. I improved and can now solve similar problems as a result. Is it cheating? Maybe. Do I care? No. Why? Because I'm not doing AoC for the struggle, I'm doing it for fun, and I know my limits too.
I think in that case you can only guarantee that the code you're looking at isn't broken in some ways neither I or the author on Reddit know enough to spot.
If Claude generates it and it produces correct output for the challenge but is subtly broken on some edge case not in the challenge input, how is it difference from pulling some code from Reddit that produces correct output for the challenge but is subtly broken on some edge case not in the challenge input?
Here's your opportunity to learn something: Different people can get enjoyment from the same thing in different ways, and you can learn things about data structures and algorithms without learning the syntax of a particular language to implement them.
For me, it's my ability to give feedback directly to a dev team building out an imperative language for use in our products: what was easy, what's a PITA, what are big, glaring gaps making things impossible, etc.