Aug. 11, 2025, 12:54 a.m.

🎽 "New sentences have appeared on earth, not written by human beings." - Patricia Lockwood

rendezvous with cassidoo

Hey friends!

I hope you had a good week! Mine was tiring, but overall good. My toddler has finally (!) started taking an interest in LEGO bricks so I am having a blast playing with her these days. Anyway, onwards!

Was this forwarded to you? You can subscribe here!


Web links of the week

Creating a scroll-spy with 2 lines of CSS
Building extensible frontend systems
Building Native Plugin Systems with WebAssembly Components
CSS Logic Gates with if() Function


Something that interested me this week

I launched my first app on the App Store this week, Ductts! It's an app for tracking how often you cry.

...before you ask, I'm okay, I promise, ha! I came up with the idea for this app many moons ago, bought the domain name, and finally actually implemented it over the past few months. I built it with React Native and Expo, and it's been a really good learning experience! I'll be blogging about it because it took way longer than I expected to get the little mobile details to work well and understand the differences between web and mobile, too.

It's iOS only for now, purely because I can't find my Android test device in my home and the Android simulator makes me want to throw my laptop in a fire. If you download it, please leave a review and let me know what you think!


Sponsor

No sponsor this week, but I'd love to do a quick little plug for my Patreon and GitHub Sponsors! If you like this newsletter or any of my open source/educational work, these go directly to offsetting my costs for making most things free.

Also, if you jump in on either one of those platforms, you'll get access to our very fun Discord group, which has been active for over 6 years (!) and is full of kind people helping each other get jobs and sharing memes.


Interview question of the week

Last week, I had you make sure monsters in a line were safe! Thanks for playing Miguel, Winnie, David, Jonathan, Josh, Diego, Elke, Tenzy, Austin, Nico, Kriszti, Nick, Sameer, Tarang, Martijn, Ricardo, and Laasya!

This week's question:
Given an array of audio file durations, write a function to group the files into playlists such that each playlist's total duration does not exceed a given limit maxDuration. Return an array of playlists, where each playlist is an array of file durations. Try to minimize the number of playlists.

Example:

const files = [120, 90, 60, 150, 80];
const maxDuration = 200;

groupAudioFiles(files, maxDuration)
> [[150], [120,80], [90,60]]

groupAudioFiles(files, 160)
> [[150], [120], [90,60], [80]]

(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

KKB Sacred Timeline on the Tangerine Bauer Lite
What Happened When I Tried to Replace Myself with ChatGPT in My English Classroom
I spent 6 years building a ridiculous wooden pixel display
If you're remote, ramble


Joke

I went on a date with someone I met at the zoo.
It was great. They're a keeper!


That's all for now, folks! Have a great week. Be safe, make good choices, and don't cry too much!

Special thanks to Ezell, 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 #417 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