March 17, 2025, 12:38 a.m.

⚽ "Take your victories, whatever they may be, cherish them, use them, but don't settle for them." - Mia Hamm

rendezvous with cassidoo

Hey friends!

I hope you had a good week! It was a fun Pi Day and river dyeing weekend over here in Chicago.

Let's learn!

Was this forwarded to you? You can subscribe here!


Web links of the week

Let the stagger experiments begin
The URL is a great place to store state in React
Make a ski game with LittleJS
Learn Zod So You Can Trust Your Data and Your Types


Something that interested me this week

This was a long week for me, y'all. I had a ton to do at work (got some videos and blogs publishing soon, keep an eye out on GitHub's channels!) and I admit I was fighting off "pregnancy brain" with a lot of ups and downs. I'm at that point where I'm nervous about having a second kiddo, but also VERY ready to not be pregnant anymore. I wrote about that in more detail, and also about how I think we should be introducing more friction into our lives, rather than trying to smooth out everything forever.


Sponsor

Sometimes for a major project, you’ve got to bring in the experts. Amazon Q Developer is built to handle your most ambitious efforts, so that you can go on being your visionary self. It’s an AI code assistant that writes, tests and reviews code fast, freeing you to focus on world domination or whatever it is you’re working on these days.

Amazon Q Developer will:

  • Ship large projects with AI agents. Use the /dev agent to put in new features, document code or refactor your projects. Cute!
  • Have a conversation with your code. Chit-chat with your project and get to know its deepest secrets, like its auth flows and its service dependencies.
  • Do your dirty work. Meaning your README files and your dataflow diagrams, of course. Somebody’s gotta do it.

Get started for free!


Interview question of the week

Last week, I had you get piano key intervals! Awesome job Jesper, Ten, Muhammad, Neha, Ian, Murtala, and Ricardo!

This week's question:
Write a function scoreHand(cards) that calculates the total score of a Cribbage hand. The input is an array of 5 card strings (including the starter card), where each card is represented as rank+suit (e.g., "AH", "10D", "KS"). Here are the scoring rules:

  • 15s: 2 points for each combination of cards summing to 15
  • Pairs: 2 points for each pair of same-rank cards
  • Runs: 1 point per card in a run of 3 or more consecutive ranks

Example:

> scoreHand(["7H", "8C", "9D", "JH", "KS"])
> 5

> scoreHand(["AH", "2C", "3D", "4S", "5H"])
> 7

(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)


Cool things from around the internet

“Wait, not like that”: Free and open access in the age of generative AI
Protagonist 60 Copper-PC with GMK Dandy Green keycaps
The teacher lies sometimes
A New Sudoku Layout With 81 Uniquely Shaped Cells


Joke

What do you call a gorilla wearing headphones?

Anything you'd like, it can't hear you.


That's all for now, folks! Have a great week. Be safe, make good choices, and think about new perspectives!

Special thanks to IceSloth, Ezell, Sebastián, Ben, Kinetic Labs, and Marta for supporting my Patreon and this newsletter!

cassidoo

website | blog | github | bluesky | twitter | patreon | twitch | codepen | mastodon

You just read issue #396 of rendezvous with cassidoo. You can also browse the full archives of this newsletter.

Share on Twitter Share on LinkedIn Share on Hacker News Share on Reddit Share via email
GitHub Website LinkedIn