home.social
  1. `Subtract` has been mentioned a few times throughout the challenges as one of the most difficult, and in many ways that holds true to the end. These "extreme" level challenges are really something.

    Subtract:

  2. Good Morning. Today we celebrate our Independence Day! If you made it this far, just sit back and relax. A JSON Parser implemented entirely in the TypeScript type system. You earned it.

    JSON Parser:

  3. Skip this one. Unfortunately, it's got problems. It's gonna take you at least half an hour just to read the prompt, and then you're going to find out that there's not currently an actual solution for it on GitHub. BUT TOMORROW IS JSON.PARSE! So stay tuned!

    Assert Array Index:

  4. `DistributeUnions`.. We've done it. We've reached the top of Mt. Esoterism. Solving this challenge is like staring into the abyss. In a moment it will enlighten you yet simultaneously destroy you. Not for the faint of heart.

    DistributeUnions: youtu.be/BgWoQ-mEW0Q

  5. We've officially jumped the shark. We've gone so far that we don't know how to stop. Will we do quicksort, mergesort, selection sort, radix sort, insertion sort... what? Tune in to find out.

    Sort: youtu.be/umCqPFgUgZA

  6. `Inclusive Range` might be one of the most complex of all of the challenges. It's very deserving of the `extreme` title. What's funny is that in a regular programming language it'd be very trivial: but in TypeScript: you hit on TypeScript's weakest abilities: dealing with big tuples and doing math.

    Inclusive Range: youtu.be/G3UdktGNPb0

  7. Yes. This challenge is 550 lines long (for just one solution). Tagging is a somewhat esoteric topic, but it does have its use. You see it hidden away deep in the internals of projects like tRPC, for example.

    Tag: youtu.be/o_WhzH5wSPA

  8. Multiplication in TypeScript. Your head should be spinning after watching this. There's no other way to put it. It's heavy handed, full of indirection, and lacking for any sembelence of a practical application. :)

    Multiply:

  9. This is definitely one of the hardest of all the challenges. Truly. It's intense. The solutions to achieve this all feel a bit like Rube Goldberg machines. Prepare for a wild ride.

    Sum:

  10. Functional programming is superior in every way. I'm gald we all agree on that much. This challenge explores how to implement an "auto-curried" function where the number and type of arguments is dynamic.

    Currying 2: youtu.be/_4q5YeIvB5o

  11. Three challenges in one! Checking whether two numbers are greater than, equal to, or less than each other. This one, thankfully, has a really interesting high level approach that manages to skip a huge portion of the work!

    Integers Comparator:

  12. We have entered the era of 100+ line solutions. This may seem simple because it's something you could do relatively easily in JavaScript, but it's got quite a lot of moving pieces, no matter how you approach it.

    Slice: youtu.be/HSZuuKKGYqM