home.social

#codingchallenges — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #codingchallenges, aggregated by home.social.

fetched live
  1. 🤔 Wow, Codex is encrypting prompts now? Because, you know, nothing says "user-friendly" like turning your coding assistant into a secretive spy 🕵️‍♂️. Apparently, the new trend is to transform clear instructions into cryptic ciphertext because debugging wasn't challenging enough. 👏
    github.com/openai/codex/issues #CodexEncryption #UserExperience #CodingChallenges #DebuggingTrends #TechHumor #HackerNews #ngated

  2. 🤔 Wow, Codex is encrypting prompts now? Because, you know, nothing says "user-friendly" like turning your coding assistant into a secretive spy 🕵️‍♂️. Apparently, the new trend is to transform clear instructions into cryptic ciphertext because debugging wasn't challenging enough. 👏
    github.com/openai/codex/issues #CodexEncryption #UserExperience #CodingChallenges #DebuggingTrends #TechHumor #HackerNews #ngated

  3. 🔧 Congratulations, devs! #NPM #v12 is coming to break your builds and ruin your weekends in ways you never imagined! 🛠️🎉 But don't worry, they've graciously provided warnings in v11.16.0, so you can spend countless hours deciphering them before the official apocalypse. Good luck! 🍀😅
    github.blog/changelog/2026-06- #NPMupdates #developernews #buildbreaks #weekendwoes #codingchallenges #HackerNews #ngated

  4. 🔧 Congratulations, devs! #NPM #v12 is coming to break your builds and ruin your weekends in ways you never imagined! 🛠️🎉 But don't worry, they've graciously provided warnings in v11.16.0, so you can spend countless hours deciphering them before the official apocalypse. Good luck! 🍀😅
    github.blog/changelog/2026-06- #NPMupdates #developernews #buildbreaks #weekendwoes #codingchallenges #HackerNews #ngated

  5. Oh, the thrilling saga of reducing database chunks—one might think we've cracked cold fusion! 🚀 But first, let's tackle the real challenge: enabling #JavaScript and #cookies to read the groundbreaking wisdom. 🍪🔧 Because who doesn't love a side of pointless technical hurdles with their overly-complicated solutions? 😂
    tech.wmg.com/why-we-shrank-our #databaseoptimization #techhumor #codingchallenges #HackerNews #ngated

  6. Oh, the thrilling saga of reducing database chunks—one might think we've cracked cold fusion! 🚀 But first, let's tackle the real challenge: enabling #JavaScript and #cookies to read the groundbreaking wisdom. 🍪🔧 Because who doesn't love a side of pointless technical hurdles with their overly-complicated solutions? 😂
    tech.wmg.com/why-we-shrank-our #databaseoptimization #techhumor #codingchallenges #HackerNews #ngated

  7. 👨‍💻🤦‍♂️ Ah, the majestic art of needless complexity: why take the easy road with 'import pywikibot' when you can unleash a torrent of 3,000 lines of #Python code for fixing typos?! Claude's magnum opus is truly a testament to the timeless tradition of coding masochism. 🥴🚀
    fireflysentinel.github.io/post #codingmasochism #unnecessarycomplexity #pywikibot #techhumor #codingchallenges #HackerNews #ngated

  8. 👨‍💻🤦‍♂️ Ah, the majestic art of needless complexity: why take the easy road with 'import pywikibot' when you can unleash a torrent of 3,000 lines of #Python code for fixing typos?! Claude's magnum opus is truly a testament to the timeless tradition of coding masochism. 🥴🚀
    fireflysentinel.github.io/post #codingmasochism #unnecessarycomplexity #pywikibot #techhumor #codingchallenges #HackerNews #ngated

  9. 😆 Oh, the sheer audacity of trying to prettify 25 million lines of spaghetti code overnight! 🎉 Congratulations to the brave souls who assumed this Herculean task could be as painless as a bedtime story. 😂 Spoiler alert: It wasn't.
    stripe.dev/blog/formatting-an- #spaghetticode #codecleanup #codingchallenges #developerhumor #overnighttask #HerculeanEffort #HackerNews #ngated

  10. 😆 Oh, the sheer audacity of trying to prettify 25 million lines of spaghetti code overnight! 🎉 Congratulations to the brave souls who assumed this Herculean task could be as painless as a bedtime story. 😂 Spoiler alert: It wasn't.
    stripe.dev/blog/formatting-an- #spaghetticode #codecleanup #codingchallenges #developerhumor #overnighttask #HerculeanEffort #HackerNews #ngated

  11. 🥳🎉 Ah, the Dr. Dobb's Developer Library DVD 6—where developers can nostalgically reminisce about ancient programming techniques while simultaneously trying to figure out what a "DVD" is. 📀🧐 Who knew the hardest part of coding would be navigating the Internet Archive's cryptic icons instead of writing actual code? 🤔💾
    archive.org/details/DDJDVD6 #DrDobbsLibrary #Nostalgia #ProgrammingTechniques #InternetArchive #CodingChallenges #DeveloperHumor #HackerNews #ngated

  12. 🥳🎉 Ah, the Dr. Dobb's Developer Library DVD 6—where developers can nostalgically reminisce about ancient programming techniques while simultaneously trying to figure out what a "DVD" is. 📀🧐 Who knew the hardest part of coding would be navigating the Internet Archive's cryptic icons instead of writing actual code? 🤔💾
    archive.org/details/DDJDVD6 #DrDobbsLibrary #Nostalgia #ProgrammingTechniques #InternetArchive #CodingChallenges #DeveloperHumor #HackerNews #ngated

  13. Ah, another riveting #dissertation on how you’re hopelessly mangling your data structures—because clearly, you aren't confused enough already. 😵‍💫 Yes, let's obsess over canonical outputs and domain separation, because who doesn’t love getting lost in a cryptographic quagmire? 🙄 Spoiler alert: nobody knows how to do it right, but keep trying!
    blog.foks.pub/posts/domain-sep #dataStructures #confusion #cryptography #techHumor #codingChallenges #HackerNews #ngated

  14. Ah, another riveting #dissertation on how you’re hopelessly mangling your data structures—because clearly, you aren't confused enough already. 😵‍💫 Yes, let's obsess over canonical outputs and domain separation, because who doesn’t love getting lost in a cryptographic quagmire? 🙄 Spoiler alert: nobody knows how to do it right, but keep trying!
    blog.foks.pub/posts/domain-sep #dataStructures #confusion #cryptography #techHumor #codingChallenges #HackerNews #ngated

  15. Ah, yes, the age-old quest of getting computers to understand what the heck we're typing. 🤔 Let's just throw some Pratt parsing at it and hope the computers don't start demanding royalties for untangling our spaghetti code. 🍝 Who knew #programming was just advanced tree gardening? 🌳
    louis.co.nz/2026/03/26/pratt-p #spaghettiCode #treeGardening #PrattParsing #techHumor #codingChallenges #HackerNews #ngated

  16. Ah, yes, the age-old quest of getting computers to understand what the heck we're typing. 🤔 Let's just throw some Pratt parsing at it and hope the computers don't start demanding royalties for untangling our spaghetti code. 🍝 Who knew #programming was just advanced tree gardening? 🌳
    louis.co.nz/2026/03/26/pratt-p #spaghettiCode #treeGardening #PrattParsing #techHumor #codingChallenges #HackerNews #ngated

  17. 🚨 Alert: 🚨 Programmer discovers that Rails Global IDs aren't as foolproof as he imagined—shock! Instead of living in blissful ignorance, he embarks on a noble journey to make them "safer" ⚔️. Meanwhile, the rest of the tech world is busy with something called "progress." 😜
    blog.julik.nl/2025/12/a-trap-w #RailsGlobalIDs #ProgrammerDiscovery #TechJourney #SoftwareDevelopment #CodingChallenges #HackerNews #ngated

  18. 🚨 Alert: 🚨 Programmer discovers that Rails Global IDs aren't as foolproof as he imagined—shock! Instead of living in blissful ignorance, he embarks on a noble journey to make them "safer" ⚔️. Meanwhile, the rest of the tech world is busy with something called "progress." 😜
    blog.julik.nl/2025/12/a-trap-w #RailsGlobalIDs #ProgrammerDiscovery #TechJourney #SoftwareDevelopment #CodingChallenges #HackerNews #ngated

  19. 🎄✨Ah, the annual Advent of Code ritual—where our hero bravely battles coding challenges for shiny digital stars, fueled solely by caffeine and the adoration of a dwindling community. This time, Oscar's riding high on the Gleam train, discovering that when life gives you fewer coding days, you just...gloat about the stars you've already collected. 🚀💻
    blog.tymscar.com/posts/gleamao #AdventOfCode #CoderLife #DigitalStars #CodingChallenges #GleamTrain #HackerNews #ngated

  20. 🎄✨Ah, the annual Advent of Code ritual—where our hero bravely battles coding challenges for shiny digital stars, fueled solely by caffeine and the adoration of a dwindling community. This time, Oscar's riding high on the Gleam train, discovering that when life gives you fewer coding days, you just...gloat about the stars you've already collected. 🚀💻
    blog.tymscar.com/posts/gleamao #AdventOfCode #CoderLife #DigitalStars #CodingChallenges #GleamTrain #HackerNews #ngated

  21. CW: Advent of Code 2025 day 12 solution

    Day 12 done.

    I really didn't like this one. Basically have to do some bounds checking "it obviously always works" or "it obviously will never work" on it to get it to work on the actual input, but it still NEVER FINISHES on the example. I'm slightly bothered that the problem is more or less unsolvable as written, but I'm really bothered by the actual solution for the input not working on the example. That's not a fun puzzle, that feels like I'm being tricked, like the puzzle was a prank on me. Leaves a real sour taste, especially being the last puzzle of this year's AoC.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day12 #Day12 #Rust #RustLang #Programming #CodingChallenges #AoC #AoC2025 #AoC2025Day12

  22. CW: Advent of Code 2025 day 12 solution

    Day 12 done.

    I really didn't like this one. Basically have to do some bounds checking "it obviously always works" or "it obviously will never work" on it to get it to work on the actual input, but it still NEVER FINISHES on the example. I'm slightly bothered that the problem is more or less unsolvable as written, but I'm really bothered by the actual solution for the input not working on the example. That's not a fun puzzle, that feels like I'm being tricked, like the puzzle was a prank on me. Leaves a real sour taste, especially being the last puzzle of this year's AoC.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day12 #Day12 #Rust #RustLang #Programming #CodingChallenges #AoC #AoC2025 #AoC2025Day12

  23. CW: Advent of Code 2025 Day 11 solution

    Day 11 done.

    Memoization actually worked for this one. My first instinct was to just crawl the graph with a memo, and it fortunately did the right thing. It was effectively an exhaustive depth-first search. Really not much to discuss.

    My code is not nice or clean, but after yesterday's, I can't even be assed to clean it up or properly comment it. I barely gathered the gumption to pass errors up, and when I started writing it, I was just throwing unwrap() everywhere.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day11 #Day11 #Rust #RustLang #Programming #CodingChallenges

  24. CW: Advent of Code 2025 Day 11 solution

    Day 11 done.

    Memoization actually worked for this one. My first instinct was to just crawl the graph with a memo, and it fortunately did the right thing. It was effectively an exhaustive depth-first search. Really not much to discuss.

    My code is not nice or clean, but after yesterday's, I can't even be assed to clean it up or properly comment it. I barely gathered the gumption to pass errors up, and when I started writing it, I was just throwing unwrap() everywhere.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day11 #Day11 #Rust #RustLang #Programming #CodingChallenges

  25. Day 10 part 1 done.

    Part 1 was a little tricky and fun. Solved it by just testing every combination, and sped that up by turning all the buttons and the goal light configuration into numbers that I could XOR together.

    Technically, part 2 is done too, but it will never work on the real input. I threw memoization at this thing knowing that it wasn't going to work, but thought I might get lucky and the input would be constructed in a way that it would be fine. Nope.

    I gave up and looked at the solutions thread on Reddit, and it looks like almost everybody is just throwing a solver at it (and the ones that aren't are using things like fraction-free Gaussian Elimination, which I can't hope to understand at this point in the night), and there are only 26 comments after 1.75 hours, so I guess this is a really hard problem this year.

    I might come back to it tomorrow, but I doubt I'll find a good solution on my own. I don't want to just throw a solver at it if I don't have to.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day10 #Day10 #Rust #RustLang #Programming #CodingChallenges

  26. Day 10 part 1 done.

    Part 1 was a little tricky and fun. Solved it by just testing every combination, and sped that up by turning all the buttons and the goal light configuration into numbers that I could XOR together.

    Technically, part 2 is done too, but it will never work on the real input. I threw memoization at this thing knowing that it wasn't going to work, but thought I might get lucky and the input would be constructed in a way that it would be fine. Nope.

    I gave up and looked at the solutions thread on Reddit, and it looks like almost everybody is just throwing a solver at it (and the ones that aren't are using things like fraction-free Gaussian Elimination, which I can't hope to understand at this point in the night), and there are only 26 comments after 1.75 hours, so I guess this is a really hard problem this year.

    I might come back to it tomorrow, but I doubt I'll find a good solution on my own. I don't want to just throw a solver at it if I don't have to.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day10 #Day10 #Rust #RustLang #Programming #CodingChallenges

  27. CW: Advent of Code 2025 day 9 solution

    Day 9 done.

    This one was really hard for me. Part 1 wasn't bad at all; I could basically use the entirety of what I did yesterday for it.

    Part 2 was really hard. At first, I tried actually building a HashSet of all the red and green tiles, and then a HashSet of all the areas for each pair, and checking them against each other. Needless to say, that wouldn't work. Building the tile HashSet alone would have eaten up more memory than I have on my computer, and I should have realized that immediately looking at my answer to part 1 (which was an area of over 4 billion tiles). I thought that checking a line of green tiles through the area wouldn't necessarily work, because a malicious input could make that not work (two immediate right or left turns could make a pair of adjacent green tile lines that would still work), but it turns out that it works fine for my input. Probably all inputs.

    It works. I don't feel totally satisfied with the solution, but it works.

    I think a more robust solution could be to trace the outline and fill it with square area units, then for each area to test (ordered from largest to smallest), repeatedly cut area out of it with the green tile squares. If all overlapping areas are tested and there are still un-cut squares, the area is invalid; move on to the next. If the area is cut completely to nothing, then it is the best area. I'm not going to implement this, because it sounds like a total fiddly pain, but I would be interested in seeing somebody else's solution along these lines.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day9 #AdventOfCode2025Day09 #Day9 #Day09 #Rust #RustLang #Programming #CodingChallenges

  28. CW: Advent of Code 2025 day 9 solution

    Day 9 done.

    This one was really hard for me. Part 1 wasn't bad at all; I could basically use the entirety of what I did yesterday for it.

    Part 2 was really hard. At first, I tried actually building a HashSet of all the red and green tiles, and then a HashSet of all the areas for each pair, and checking them against each other. Needless to say, that wouldn't work. Building the tile HashSet alone would have eaten up more memory than I have on my computer, and I should have realized that immediately looking at my answer to part 1 (which was an area of over 4 billion tiles). I thought that checking a line of green tiles through the area wouldn't necessarily work, because a malicious input could make that not work (two immediate right or left turns could make a pair of adjacent green tile lines that would still work), but it turns out that it works fine for my input. Probably all inputs.

    It works. I don't feel totally satisfied with the solution, but it works.

    I think a more robust solution could be to trace the outline and fill it with square area units, then for each area to test (ordered from largest to smallest), repeatedly cut area out of it with the green tile squares. If all overlapping areas are tested and there are still un-cut squares, the area is invalid; move on to the next. If the area is cut completely to nothing, then it is the best area. I'm not going to implement this, because it sounds like a total fiddly pain, but I would be interested in seeing somebody else's solution along these lines.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day9 #AdventOfCode2025Day09 #Day9 #Day09 #Rust #RustLang #Programming #CodingChallenges

  29. Day 8 done.

    Now that's what I call Advent of Code! I'm happy with the algorithm for the most part. I'm sure it could be improved, but I paired up all boxes and pushed them into a BinaryHeap based on their squared distances, then popped the number based on the number of connections to consider (1000 for the real input). These I pushed into a set of "network" HashSets. This is the part I'm least happy with. I iterate the vector of networks to match each point to a network, and if they're both in a network, I extend the earlier one from the later and remove the later. I considered a lot of ways to improve this, but couldn't come up with one that wouldn't be either buggy or inefficient. I'll probably look at the Reddit solutions thread to see how other people tackled it.

    Part 2 was really similar in execution to part 1, but continuing until all points were in a network and there was only one network, and keeping track of the last pair added.

    Whew, this one was just the right amount of challenging and fun. Most of the days were pretty easy before today's. Now all we're missing is a nice A* problem.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day8 #AdventOfCode2025Day08 #Day8 #Day08 #Rust #RustLang #Programming #CodingChallenges

  30. Day 8 done.

    Now that's what I call Advent of Code! I'm happy with the algorithm for the most part. I'm sure it could be improved, but I paired up all boxes and pushed them into a BinaryHeap based on their squared distances, then popped the number based on the number of connections to consider (1000 for the real input). These I pushed into a set of "network" HashSets. This is the part I'm least happy with. I iterate the vector of networks to match each point to a network, and if they're both in a network, I extend the earlier one from the later and remove the later. I considered a lot of ways to improve this, but couldn't come up with one that wouldn't be either buggy or inefficient. I'll probably look at the Reddit solutions thread to see how other people tackled it.

    Part 2 was really similar in execution to part 1, but continuing until all points were in a network and there was only one network, and keeping track of the last pair added.

    Whew, this one was just the right amount of challenging and fun. Most of the days were pretty easy before today's. Now all we're missing is a nice A* problem.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day8 #AdventOfCode2025Day08 #Day8 #Day08 #Rust #RustLang #Programming #CodingChallenges

  31. CW: Advent of Code 2025 day 7 solution

    Day 7 done.

    Typical "don't even try brute-forcing it" part 2. I kept track of the timeline count as I worked my way vertically down the graph, and then added up the beams' shared timelines at the end. I also considered that dynamic programming with a recursive solution would probably have worked fine as well, but went for the approach that most matched the way I was already doing it.

    I'll probably follow up with the dynamic programming approach, just for fun.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day7 #AdventOfCode2025Day07 #Day7 #Day07 #Rust #RustLang #Programming #CodingChallenges

  32. CW: Advent of Code 2025 day 7 solution

    Day 7 done.

    Typical "don't even try brute-forcing it" part 2. I kept track of the timeline count as I worked my way vertically down the graph, and then added up the beams' shared timelines at the end. I also considered that dynamic programming with a recursive solution would probably have worked fine as well, but went for the approach that most matched the way I was already doing it.

    I'll probably follow up with the dynamic programming approach, just for fun.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day7 #AdventOfCode2025Day07 #Day7 #Day07 #Rust #RustLang #Programming #CodingChallenges

  33. CW: Advent of Code 2025 Day 6 solution

    Day 6 done.

    This was a funky one. Pretty easy for part 1. Just trimming, splitting, and parsing all the numbers and operators and grouping them columnwise. Nothing too hard.

    Part 2 was awkward. I always am a bit flustered when I have to go back and parse the input differently, especially because I build things around FromStr in Rust, so I have to do either a Part2Input for the second part or a separate parsing function. This one was fiddly because I tried to parse it into the same Input structure as before, but that didn't work because not all the equations had the same quantity of numbers this time. I also wanted to do some sort of zip that let me zip over an iterator of iterators, but I couldn't find a good way of zipping a dynamic number of iterators, even in itertools (it has multizip, but that only works on a compiletime number of iterators). In the end, I needed to do this awkward loop:

    number_buffer.clear();
    for number_line_iterator in &mut number_line_iterators {
        match number_line_iterator.next() {
            Some(digit) => number_buffer.push(digit),
            None => {
                equations.push(Equation {
                    numbers: numbers,
                    operator: operators.next().unwrap(),
                });
                break 'outer;
            }
        }
    }
    

    Not the prettiest, but it did get the job done.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day6 #AdventOfCode2025Day06 #Day6 #Day06 #Rust #RustLang #Programming #codingchallenges

  34. CW: Advent of Code 2025 Day 6 solution

    Day 6 done.

    This was a funky one. Pretty easy for part 1. Just trimming, splitting, and parsing all the numbers and operators and grouping them columnwise. Nothing too hard.

    Part 2 was awkward. I always am a bit flustered when I have to go back and parse the input differently, especially because I build things around FromStr in Rust, so I have to do either a Part2Input for the second part or a separate parsing function. This one was fiddly because I tried to parse it into the same Input structure as before, but that didn't work because not all the equations had the same quantity of numbers this time. I also wanted to do some sort of zip that let me zip over an iterator of iterators, but I couldn't find a good way of zipping a dynamic number of iterators, even in itertools (it has multizip, but that only works on a compiletime number of iterators). In the end, I needed to do this awkward loop:

    number_buffer.clear();
    for number_line_iterator in &mut number_line_iterators {
        match number_line_iterator.next() {
            Some(digit) => number_buffer.push(digit),
            None => {
                equations.push(Equation {
                    numbers: numbers,
                    operator: operators.next().unwrap(),
                });
                break 'outer;
            }
        }
    }
    

    Not the prettiest, but it did get the job done.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day6 #AdventOfCode2025Day06 #Day6 #Day06 #Rust #RustLang #Programming #codingchallenges

  35. CW: Advent of Code 2025 Day 5 solution

    Day 5 done. Now this one was the easiest one so far. I was shocked at how simple part 2 was. Just combining all overlapping ranges and doing some simple arithmetic. I initially tried a linear search, and it finished in 1.5ms. Then I switched to a binary search, and now it finishes in 1.7ms. Do not underestimate the power of the processor cache line. If the fresh ranges list were much larger, the binary search would have sped it up, I'm sure.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day5 #AdventOfCode2025Day05 #Day5 #Day05 #Rust #RustLang #Programming #codingchallenges

  36. CW: Advent of Code 2025 Day 5 solution

    Day 5 done. Now this one was the easiest one so far. I was shocked at how simple part 2 was. Just combining all overlapping ranges and doing some simple arithmetic. I initially tried a linear search, and it finished in 1.5ms. Then I switched to a binary search, and now it finishes in 1.7ms. Do not underestimate the power of the processor cache line. If the fresh ranges list were much larger, the binary search would have sped it up, I'm sure.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day5 #AdventOfCode2025Day05 #Day5 #Day05 #Rust #RustLang #Programming #codingchallenges

  37. CW: Advent of Code 2025 Day 4 solution

    Day 4 done. This was probably the easiest one so far, but it might be because I'm so used to the grid problems from previous years.

    I felt like just doing the count for part 1 would end up forcing me to rewrite something, so I returned the coordinates, hoping they'd come in handy for part 2. Fortunately, they did, and my part 2 was a 10-second addition, just adding a loop around the part 1 function. The whole thing runs in about 86 milliseconds. I could probably optimize it by storing a neighbor count in each live cell, decrementing those in accessible neighbors on each removal, and maybe keeping them in a sorted vector via Rc<RefCell> or an internal Cell, but I'm happy with this right now.

    Edit: I ended up doing the optimization anyway

    This runs in 10ms now. It might even run a bit faster if I make the rolls keep track of their neighbors with weak refs too, to prevent lots of extra neighbor lookups in the HashSet. I'll experiment with that a tiny bit, but I'm not going to spend all too much effort on it, and probably won't add an update unless it is a big speed boost.

    #AdventOfCode #AdventOfCode2025 #AdventOfCode2025Day4 #AdventOfCode2025Day04 #Day4 #Day04 #Rust #RustLang #Programming #codingchallenges