June 22, 2025, 11:16 p.m.

🦊 "This life is hard without assistance from others." - RuPaul

rendezvous with cassidoo

Hey friends!

It's a new week! I hope yours was a good one and you got enough sleep. And if you didn't... welcome to sleepytown, the water's fine! Anyway, let's boogie.

Was this forwarded to you? You can subscribe here!


Web links of the week

Simplifying auth flows in Expo Router with protected routes
Grainy Gradients
Coding a 3D Audio Visualizer with Three.js, GSAP & Web Audio API
Animating zooming using CSS: transform order is important… sometimes


Something that interested me this week

This week I finished reading Babel by R.F. Kuang! I enjoyed it, though it was pretty intense. I had started it a while back and just haven't had time to finish it (...because I had a baby), and it was fun to finally get some time to go through it.

I'm trying to encourage reading for my toddler, too. My current experiment with that is I have books scattered throughout our home, so I can be reading something on my own if I'm not reading one of her books to her. As a result, I'm just in the middle of a bunch of stories. I'm now reading Project Hail Mary, Truly Madly Guilty, and The Way of Kings!

Also, I did some maintenance on PocketCal this week! If you would like to support the project now, there's a "pay what you want" (lifetime!) Pro license that you can get to make up to 10 event groups. Woo hoo!


Sponsor

Code reviews are important but take time. CodeRabbit is your AI co-pilot. It adds instant review comments and shows what each pull request might affect.

It doesn’t just flag problems. It suggests one-click fixes. You can also set custom code quality rules using AST Grep patterns. This helps catch small bugs that other static analysis tools often miss.

CodeRabbit has reviewed over 10 million pull requests. It’s installed on 1 million repos and used by more than 70,000 open-source projects. It’s free for all open-source repos.

Get Started Today


Interview question of the week

Last week, I had you put monarchs in order. It was a funky one! A royally good job to Elke, Chris, David, Muhammad, Ten, Pedro, Tarang, Raymond, Winnie, Colin, Patrycja, and Neha!

This week's question:
You’re given an array of siren objects, each with a start and end time in seconds, representing when the siren is active. Write a function to return the minimum number of sirens you need to remove so that no two sirens overlap.

Example:

removeSirens([
  { start: 1, end: 5 },
  { start: 3, end: 7 },
  { start: 6, end: 8 },
  { start: 8, end: 10 }
]);
> 1

removeSirens([
  { start: 0, end: 3 },
  { start: 2, end: 4 },
  { start: 5, end: 7 },
  { start: 6, end: 8 },
  { start: 8, end: 10 }
])
> 2

(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

Cozy Comfort
Blue Ridge EC with 45g DynaCap Domes Typing Sounds (video)
Making a Kazoo from a Highlighter Marker (video)
ChatGPT May Be Eroding Critical Thinking Skills, According to a New MIT Study


Joke

Yeah, Geology rocks, but Geography is where it's at!


That's all for now, folks! Have a great week. Be safe, make good choices, and stretch your legs on a nice walk!

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 #410 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