Hacker News new | past | comments | ask | show | jobs | submit login

I re-read the intro and the fact it mentions leetcode and the like was enough for me to decide that it's an ultimately pointless endeavour for me.

I have no interest at all in competitive programming or maths; I spend 40+ hours a week doing programming for work, I want games and challenges that pull me away from that so I continue to have a life outside of my job.




For what it's worth, I hate leetcode with a burning passion, have no real interest in math, and yet I personally find Advent of Code quite fun and enjoyable.


I have found AoC fun, but on some of the later days time constraints make it a little stressful (full time job + kids constrain my time).

I've done it (and completed it) the last five years. I used it to try out a few languages (Haskell, Idris, Lean) and did it in python one year I was feeling lazy. I've got a project going now, and I probably should do that instead.

However, that project is a programming language, so this is a way to test practicality. But solving problems and fixing shortcomings in the underlying language at the same time may be a bit too much. (It's a dependent typed language, so there is a lot of subtlety to deal with.)


this strat won advent of code in 2022. https://blog.vero.site/post/noulith


Same, I've been coding for 40 years and I still learn plenty every year.


I find it useful for trying new languages. The first 10 days usually start very easily and progress quite gradually. The 2nd half definitely gets more brutal, but if you do have the self-control, you can stop whenever it stops being productive.


I love it for these meta-type use cases that aren’t necessarily about solving the puzzles.

For instance I’m using it this year to dial in new neovim configs. Last year was to get comfortable with a split keyboard.


Solving the puzzles in a REPL in a dynamic language brings a lot of joy to AOC.

My daily grind is like carefully scaffolding and repainting a 50 storey office building made of typed, modular, spaghetti couples Python ML code.

AOC in ipython, by comparison, is like doodling pictures with a brush pen!

It is very enjoyable and also why leetcode is a little silly for interviews: convince me you can I want to know a candidate can flawlessly paint several hundred square feet of wall, not doodle a cat cartoon.

(Or, away from the analogy, the software equivalents. Can you safely progress business goals as a member of a team on a legacy codebase that’s partly evolving on the cutting edge and also partly rotting on the trailing edge? I don’t care if you can build a naive implementation of our trading system… sorry I mean an Elephant Auction… in 90 minutes!)


How about something creative that is at the same time relaxing?

Some time ago I started creating mods for the game stardew valley. It still involves some programming but mainly drawing, creating animations and composing music! It's an absolute blast and so relaxing (like the game itself).

I think by now I could even start working on my own game but I don't yet have a desire to.


Not the OP but as someone with the same mindset as them:

Sounds very fulfilling, but I explicitly want to stay as far away from tech as possible outside of working hours. I'd much rather draw and compose music outside of any tech environment.

Plus, creative hobbies are an amazing way to connect with people, it's half the reason I like them. Tech hobbies are going to make me connect with tech people which isn't what I want: I meet enough tech people at work, I'd end up talking about tech (languages, frameworks, software, AI...) outside of work which have no interest in, and I don't really relate to tech people anyway (as a sweeping statement that obviously isn't an absolute)


Not OP, but that’s really neat. What’s your process for that? What IDE for the coding? Is C# required? What software for the art?


I started with something called ContentPatcher. It let's you patch game assets and other stuff (including some logic) using a json based DSL.

For more complex things C# is needed as Stardew Valley is made with XNA/MonoGame. There is a NuGet package to set it up which even includes hot reloading of the mod into the running game: https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildC...

I use NeoVim but you can use any editor. It was a bit of a pain to get dotnet going on arch linux but I got it working after some tinkering.

To get started, one can install SMAPI, then unpack the game assets. Then, you can open game maps and assets in the Tiled level editor. I also use Aseprite to make the pixel art tilesets for the maps (LibreSprite would also work). I use a mix of my own tiles and tiles from the game itself for my maps. Music and sound can also be added or patched with ContentPatcher. I make all sound related stuff with Ableton Live. I haven't done much with C# yet but SMAPI provides a pretty nice API so it should be pleasant to use.


An offline version could be an "Exit" advent calendar game. Now that advent has started, you might find them discounted at a local board game shop.

Note it's a single-use game.

https://boardgamegeek.com/geeksearch.php?action=search&objec...

(I don't see any reference to leetcode, but people can approach Advent of Code however they like. I'm certainly not waking up at 5:50 to race for a solution.)


I go in to this not caring how fast I do it, or how far behind I get. It's just an opportunity to learn something and challenge myself a little bit.

At best, I tend to set myself an upper limit for runtime.


I have enough side projects on the back burner as it is. I even picked up a data processing one over thanksgiving.


The don't do it. Thanks for the update though


I have enough fun side project ideas that I want to do. Ones which will also be helpful for me once I’m done with them.


Advent of Code is traditionally parsing heavy and very light on actual mathematics. It’s not very leetcody.

If you have never tried it you should definitely give it a go. It’s quite enjoyable at a moderate dosage.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: