We Made Up. (Coding in a Random Language Every Day - Day 4)

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 พ.ย. 2024

ความคิดเห็น • 102

  • @Codeaholic1
    @Codeaholic1 11 หลายเดือนก่อน +139

    The haskell can't hurt you.

    • @Pylo904
      @Pylo904 11 หลายเดือนก่อน +51

      But it can make a copy of you that is hurt.

    • @scheimong
      @scheimong 11 หลายเดือนก่อน

      ​@@Pylo904🏆

    • @iatheman
      @iatheman 11 หลายเดือนก่อน +1

      @@Pylo904 🤣

    • @TheStuartstardust
      @TheStuartstardust 11 หลายเดือนก่อน +1

      Fail fast is a valid strategy 😉

    • @__zotahina__
      @__zotahina__ 9 หลายเดือนก่อน +2

      @@Finkelfunk actually a monad is just a monoid in the category of endofuntor. What's the problem 😃

  • @everynametaken
    @everynametaken 11 หลายเดือนก่อน +92

    Why not play a wonderful language known as INTERCAL (specifically the C-INTERCAL dialect)? You can learn to be more polite in your coding, the wonders of non-standard operators such as unary XOR and Mingle, and flow control via COME FROM.

    • @konstantinsotov6251
      @konstantinsotov6251 11 หลายเดือนก่อน +11

      Yeah, since assembly is just easy this seems just about right

  • @Fernando-du5uj
    @Fernando-du5uj 11 หลายเดือนก่อน +120

    It'd be cool if you put some numeric label into the title of the video indicating which one comes first, something like "#1", "#2" and so on.

    • @aurele2989
      @aurele2989 11 หลายเดือนก่อน +4

      +1

    • @NithinJune
      @NithinJune 11 หลายเดือนก่อน +10

      don’t do that; that reduces how many new viewers will watch. a lot of people won’t click on the video if it’s a “part 4”

    • @manateepink9100
      @manateepink9100 11 หลายเดือนก่อน

      Are Day 1 to Day 4 new additions to the titles?

    • @vlinden1
      @vlinden1 11 หลายเดือนก่อน +3

      Put "Advent of Code 2023 day 4" into your title at least. That what was i was searching for when I found your video, but it wasn't close to the top suggestions. Great content, keep it up!

    • @vei_bean
      @vei_bean 11 หลายเดือนก่อน

      y'all realise he put day # in the title. It's at the end so most people don't see it, but it's there

  • @ferdynandkiepski5026
    @ferdynandkiepski5026 11 หลายเดือนก่อน +17

    When is assembly coming onto the wheel? Or maybe to make it cross platform it could even be LLVM IR. That should be fun to write with single static assignment.

  • @m4rt_
    @m4rt_ 11 หลายเดือนก่อน +3

    for part 2 I just had an array of integers, and I just incremented the index of the cards by the value for the current card, and in the end just summed them up.
    (I made sure that each card started at 1 instead of 0 by incrementing the current card by one at the start of the loop).
    O(n) solution.

    • @J-qak
      @J-qak 11 หลายเดือนก่อน

      Cool, I came up with the same solution! Simple and elegant.

  • @torarinvik4920
    @torarinvik4920 11 หลายเดือนก่อน +17

    Haskell is not nearly as bad as you think. It took me just a week to learn the syntax properly. I did take me however, 1.5 years to become comfortable programming in this functional style. Haskell shares many features of Rust, particularly the enums and pattern matching which is a huge part of FP. I do find F# to be a much more practical and enjoyable language to code in though.

  • @Q-Ball.
    @Q-Ball. 11 หลายเดือนก่อน +4

    This series is the best. I’ve been doing my best to get through the challenges each day so far

  • @nictheregulardude
    @nictheregulardude 11 หลายเดือนก่อน +3

    Did an iterative python solution today it took over ten seconds to finish running. Would be fun to see assembly on the wheel

    • @jasondunken
      @jasondunken 11 หลายเดือนก่อน

      I did an iterative solution for day 4 in Python and it runs in 0.00267 sec to calculate both answers. ASM would be fun.

  • @ycombine1053
    @ycombine1053 11 หลายเดือนก่อน +2

    I went down the same road as you for part 2 except I didn't have chat to reel me in and I got to the end of that recursive road. Saw some guys 5 line JavaScript solution afterwards and felt like a real dummy for creating such a "smart" answer.

  • @chrishipple4419
    @chrishipple4419 11 หลายเดือนก่อน +8

    Better to get the haskell done sooner rather than later, before the problems get really hard and you've gotta really implement a lot to solve the problem.

  • @Yupppi
    @Yupppi 11 หลายเดือนก่อน +17

    Coding is cool and fun, but can we get more of the dog?
    How do you know Santa is a Linux user? He has a lot of elfs.

  • @m1geo
    @m1geo 11 หลายเดือนก่อน +5

    I fell into the same recursion trap that you did with my solution. I even tried giving a tonne of memory and letting it run (that didn't work either! Don't hate, I'm a hardware engineer!) I ended up doing the same as you!

    • @TheMasonX23
      @TheMasonX23 11 หลายเดือนก่อน

      I did this at first too and got part of the way through the video before I saw your comment and it inspired me to rethink the recursive nature of my "surprisingly" slow recursive solution (was surprised because it was a naive algorithm, but computers are fast and it's Rust). It went from ~10s to 0.8ms haha

  • @GordanCable
    @GordanCable 11 หลายเดือนก่อน +1

    10:11 Don't feel so bad. The Reddit thread is full of people still waiting for their recursive solutions to halt.

  • @lightningx10
    @lightningx10 11 หลายเดือนก่อน +3

    My algo for this question just used a lookup table to count how many copies of each card I had, rather than running the code multiple times you can just multiply how many subsequent copies of other cards you make.
    I also had an amazing off by one error that would cause my answer to balloon over the u128 max int limit for the full problem ;)

    • @reed6514
      @reed6514 11 หลายเดือนก่อน +1

      My original solution used a stack, evaluating every copy & the stack just GREW and GREW.
      Then i changed & looped from last game toward first & cached the # of cards produced by any given card, so then each card only got evaluated once.
      Later, i made stack work by looping over the games in the reverse order. That way the stack size never grew by more than a few, so all that memory work didn't slow it to a halt.

    • @bamless95
      @bamless95 11 หลายเดือนก่อน

      that's a classic dynamic programming solution, pretty cool

  • @AntonioZL
    @AntonioZL 11 หลายเดือนก่อน

    The elf in the story is probably a junior. Dude is doing everything by himself.

  • @petertillemans2231
    @petertillemans2231 11 หลายเดือนก่อน +1

    Why the fear for Haskell? IME it is a more elegant simple version of Rust. The big issue is that each function has to be a single expression but that is hardly an issue.

  • @michaelhart8928
    @michaelhart8928 11 หลายเดือนก่อน

    Interesting, I actually ended up doing the recursive solution which wasn't that bad either. You do that same iteration over the vector at first for the original cards, then the copies you just check three conditions: if we run out of cards return 0, if we don't have any matching numbers return 1 (we have to add the current card), else we iterate over the slice from the current index + 1 to the number of matching numbers and recurse.
    Definitely not the fastest solution, but it was pretty interesting.

    • @czerwonejakmleko401
      @czerwonejakmleko401 11 หลายเดือนก่อน

      Ye i also used a recursive solution and tbh im proud of it lol

  • @einargs
    @einargs 11 หลายเดือนก่อน

    I can't wait for Haskell. The syntax really isn't that strange -- the weirdest part is the where and do. Once you learn haskell, it changes the way you think about code. Not just monads, but stuff like GADTs, DataKinds, and lenses.

  • @TimBielawa
    @TimBielawa 11 หลายเดือนก่อน +3

    Chat please get AWK on the list tomorrow

  • @reed6514
    @reed6514 11 หลายเดือนก่อน

    I used a stack & added copied cards to it, and evaluated every card. Stack was GROWING and slowing. So i then went in reverse & cached solutions, so each card would only be evaluated once.
    So for card 37, i would have cached how many cards 38 & 39 produced, but I wouldn't know 36 yet.

  • @glennedgar5057
    @glennedgar5057 11 หลายเดือนก่อน

    Just a suggestion, could you cover embedded frame works like NASA VML and NASA F'Prime?

  • @m4rt_
    @m4rt_ 11 หลายเดือนก่อน

    When I did it myself and read the "Island Island" part I think my brain just gave up. So I had to take a quick break and re-read it.

  • @maxturgeon89
    @maxturgeon89 11 หลายเดือนก่อน +1

    The hardest part of this puzzle was by far figuring out what the hell was going on in part 2 😆

  • @pyyrr
    @pyyrr 11 หลายเดือนก่อน +1

    yesterdays challenge was so much tougher than todays, today is actually free

  • @billywang3829
    @billywang3829 11 หลายเดือนก่อน

    I literally fucking love these

  • @HI-qz6yx
    @HI-qz6yx 11 หลายเดือนก่อน

    I made the exact same mistake.. for some reason my brain said "yes, the union!" but indeed it is the intersection...

  • @DarnYeet
    @DarnYeet 11 หลายเดือนก่อน +3

    I wanna see C# on the wheel.

  • @perigord6281
    @perigord6281 11 หลายเดือนก่อน

    Got Uiua on day 4, it was, rather unique.

  • @talonhackbarth7652
    @talonhackbarth7652 11 หลายเดือนก่อน

    I wound up trying a recursive solution as well before realizing I made a huge mistake using recursion and it ran way too slow, lol.

  • @L4Vo5
    @L4Vo5 11 หลายเดือนก่อน +1

    someone please suggest smalltalk next!

  • @ekaylor4104
    @ekaylor4104 10 หลายเดือนก่อน

    I did the recursive solution 💀. Not a fun time lol. Good practice though!

  • @Ferrohh
    @Ferrohh 11 หลายเดือนก่อน +5

    Python came out today for me... I can say it was insanely easy

    • @clementdato6328
      @clementdato6328 11 หลายเดือนก่อน +1

      At these fast solution moments, abstract factory proxy instance and monadic endo-functorial category will all perish into def solve(): # just solve it

    • @edgeman1135
      @edgeman1135 11 หลายเดือนก่อน

      For every other challenge I felt like my code was disgusting, I quite enjoyed it!

  • @anon-fz2bo
    @anon-fz2bo 11 หลายเดือนก่อน

    chill series, like it so far

  • @mohammedsafki7564
    @mohammedsafki7564 11 หลายเดือนก่อน +1

    Guys propmpt him to add Malbolge❤❤❤

  • @ficolas2
    @ficolas2 11 หลายเดือนก่อน

    14 slots, 21 days, 78.7% of getting Haskel. That is, not considering the probably you fail again, and twitch gives you Haskel, again.

  • @prawnydagrate
    @prawnydagrate 11 หลายเดือนก่อน

    What the actual fuck. I was stuck on part 2 of this problem for well over an hour, and my solution took 58 seconds to run

  • @u.k.m.2929
    @u.k.m.2929 11 หลายเดือนก่อน

    Hey, having done AoC so far with C++ and seeing how beautifully concise Rust can be, are there any good resources for learning Rust?

  • @crissdell
    @crissdell 11 หลายเดือนก่อน +2

    Why excel is not in the list?

  • @kenzostaelens1688
    @kenzostaelens1688 11 หลายเดือนก่อน

    me just throwing regex against day 4 (fix spacings & convert winning numbers to regex pattern)

  • @m4rt_
    @m4rt_ 11 หลายเดือนก่อน

    Somebody put Assembly on the wheel if he fails again.

  • @Kapsyloffer
    @Kapsyloffer 11 หลายเดือนก่อน +1

    Add prolog if you fail one

  • @axevanced3233
    @axevanced3233 11 หลายเดือนก่อน

    Waiting for Prolog 😂

  • @سيفالشمري-ض1ث6و
    @سيفالشمري-ض1ث6و 19 วันที่ผ่านมา

    Hi which IDE you are using?

  • @Alexman208GR
    @Alexman208GR 11 หลายเดือนก่อน

    Haha! You almost lanternfished yourself! XD

  • @JakobKenda
    @JakobKenda 11 หลายเดือนก่อน

    i did this in x86 asm, rust looks so easy lmao

  • @chri-k
    @chri-k 11 หลายเดือนก่อน +2

    where do you go to suggest Befunge-98 ( a 2D esoteric language that is not unusable )

  • @gdkid
    @gdkid 11 หลายเดือนก่อน

    I'll just say, I followed through with the recursion stuff and it took like 5 full seconds to run :/
    still got the right answer tho

  • @reed6514
    @reed6514 11 หลายเดือนก่อน

    Speedrun timer, please!

  • @mikhailhyde565
    @mikhailhyde565 11 หลายเดือนก่อน

    Brain.exe stopped working for me when reading the instructions for part 2

  • @chongyihyang616
    @chongyihyang616 11 หลายเดือนก่อน +1

    Use a dynamic programming table for part 2

    • @SVVV97
      @SVVV97 11 หลายเดือนก่อน

      What would you even DP here? It's a simple fold

    • @chongyihyang616
      @chongyihyang616 11 หลายเดือนก่อน +2

      @@SVVV97 I mean I thought that since recursion is the natural solution to this problem, I would build up the number of cards from the bottom. Basically what came to my mind first when I saw this question

    • @SVVV97
      @SVVV97 11 หลายเดือนก่อน +2

      @@chongyihyang616 Oh fair point - I didn't consider that solution / it doesn't feel like the most natural one to me. But that still feels overkill to me: you can simply fold the cards down the stack in constant space and linear time.

  • @max-mr5xf
    @max-mr5xf 11 หลายเดือนก่อน

    Can someone please put Perl and Raku on the wheel?

  • @NithinJune
    @NithinJune 11 หลายเดือนก่อน

    5:23 Can someone explain wtf is wrong with his line numbers?
    Why does it go from 10 to 0 then back to 10???

    • @StevenMartinGuitar
      @StevenMartinGuitar 11 หลายเดือนก่อน

      Relative line numbers. So it's quick to go up 7 lines or down 9 lines.

  • @bhavyakukkar
    @bhavyakukkar 11 หลายเดือนก่อน

    why do you use solarized

  • @AlLiberali
    @AlLiberali 11 หลายเดือนก่อน +12

    This is fp disease for ya! Gotta be complicated; gotta recurse; gotta wrap shit in monads; gotta bend over backwards for the OCaml nerds' rusted minds.
    Embrace the state, tame the state! Using for loops, structs, classes and AbstractFactoryProxyBuilders

    • @aaronstark171
      @aaronstark171 11 หลายเดือนก่อน

      what is fp ?

    • @everynametaken
      @everynametaken 11 หลายเดือนก่อน

      @@aaronstark171 Functional Programming, which is not just programming with functions

    • @_tsu_
      @_tsu_ 11 หลายเดือนก่อน +1

      i relate to this so hard. Whenever the problem is easy brain says do fp. But when things get hard, i slip back into imperative lol. Today i got the first part in pure fp. Second part was an abomination of both styles.

    • @AlLiberali
      @AlLiberali 11 หลายเดือนก่อน

      @@_tsu_ Both. Both is tov!

    • @MaybeADragon
      @MaybeADragon 11 หลายเดือนก่อน

      @@_tsu_ That's the beauty of a language that can do both, not an abomination. Pick and choose which is best suited for the task.

  • @glowiak3430
    @glowiak3430 11 หลายเดือนก่อน +1

    FreeBASIC please!!!!

  • @SjuneCBeats
    @SjuneCBeats 11 หลายเดือนก่อน +3

    Html + css next time bro its turing complete

  • @m4rt_
    @m4rt_ 11 หลายเดือนก่อน

    Haskell isn't that bad... you just have to rewire your brain first.

  • @andreffrosa
    @andreffrosa 11 หลายเดือนก่อน

    Why are you using rust again?

  • @verolyn8459
    @verolyn8459 11 หลายเดือนก่อน

    Add brainfudge

  • @nate7803
    @nate7803 11 หลายเดือนก่อน

    MEMOIZE!!!

  • @MarshallLevin
    @MarshallLevin 11 หลายเดือนก่อน

    int seems like a waste of memory for a 2 digit number 😮

  • @beauremus
    @beauremus 11 หลายเดือนก่อน +1

    Has anyone requested Nix yet? 😏

  • @AlLiberali
    @AlLiberali 11 หลายเดือนก่อน +1

    Regex!

  • @Luca-gb1og
    @Luca-gb1og 11 หลายเดือนก่อน

    Could you please make your videos longer? You cut away so much that I don’t understand where you’re at. At one point there was a cut and you had the whole recursive function

  • @SuMmErWaVer7
    @SuMmErWaVer7 11 หลายเดือนก่อน

    today was so much reading 🤢

  • @Pandorarl
    @Pandorarl 11 หลายเดือนก่อน +1

    1157th

  • @illegalsmirf
    @illegalsmirf 11 หลายเดือนก่อน

    Instead of doing random crap in 25 languages why do something meaningful in one?

    • @StevenMartinGuitar
      @StevenMartinGuitar 11 หลายเดือนก่อน

      It's advent of code. It's not about doing something 'useful'.

    • @illegalsmirf
      @illegalsmirf 11 หลายเดือนก่อน

      @@StevenMartinGuitar I agree, it’s a corporate gimmick and not useful at all all