MoreRSS

site iconrendezvous with cassidooModify

I'm going to share with you what's new and cool in the world of web development, with content for everyone, from beginners to pros.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of rendezvous with cassidoo

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

2025-08-11 13:54:46

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 pray for rain, you gotta deal with the mud too." - Denzel Washington

2025-08-04 14:39:36

Hey friends!

Happy August! I hope your week went smoothly. It's been a loud one here in Chicago with the Lollapalooza music festival going on, but it's been nice otherwise!

Was this forwarded to you? You can subscribe here!


Web links of the week

learn git worktrees in under 5 minutes (video)
What is popover=hint?
The modern web sucks. My band's website doesn't. (video)
How to Make a Font that Says Nothing


Something that interested me this week

Our second baby turned 100 days old today!! We had a "Baek-il" party with family and friends and it was so fun. In case you didn't know, in Korean culture, the 100th day is a big deal. Back in "the olden days" when infant survival rates were low and childhood diseases were high, babies were celebrated and prayed over when they made it to their 100th day. Now, with modern medicine and all that, it's more traditional than anything, and we had a great time having him dressed up in a traditional hanbok and surrounding him with rice cakes!


Sponsor

Unlock Your Career Potential with Keenesse

Feeling stuck, or ready for your next big move?

Keenesse offers personalized career coaching to help you gain crystal-clear career goals, pinpoint exciting advancement opportunities, and master crucial skills like resume optimization, interview mastery, and confident negotiation – all to land your dream role in a competitive market.

Our expert team of seasoned tech industry coaches provides tailored support at every career stage, from ambitious students to accomplished executives.

Ready? Schedule your free, no-obligation consultation today at keenesse.com.


Interview question of the week

Last week, I had you make a hexagon checker function! Great work Nico, Winnie, Muhammad, Marco, Sam, Lucien, Ross, David, Ten, Kriszti, Colin, and Amine!

This week's question:
Given an array arr representing the positions of monsters along a straight line, and an integer d representing the minimum safe distance required between any two monsters, write a function to determine if all monsters are at least d units apart. If not, return the smallest distance found between any two monsters. If all monsters are safely spaced, return -1.

Examples:

let monsters = [3, 8, 10, 15];
let d = 6;
minMonsterDistance(monsters, d)
> 2

minMonsterDistance([5, 9, 14, 18], 4)
> -1

(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

Why Leather is Unbeatable (video)
How to Pronounce GIF (the right way)
The Analog Life: 50 Ways to Unplug and Feel Human Again
Building the ScottoKatana (PCB Edition) Mechanical Keyboard (video)


Joke

I won an argument with a weather forecaster once.
Their logic was too cloudy!


That's all for now, folks! Have a great week. Be safe, make good choices, and share good news when you can!

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

📼 "Simplicity is the glory of expression" - Walt Whitman

2025-07-28 15:41:34

Hey friends!

I can't believe it's the last week of July already. I hope you're staying cool and building things you like. Onwards!

Was this forwarded to you? You can subscribe here!


Web links of the week

So many ranges, so little time: A cheatsheet of animation-ranges for your next scroll-driven animation
A Friendly Introduction to SVG
Why I'm Writing Pure HTML & CSS in 2025
EsJS: Lenguaje de programación en Español


Something that interested me this week

This week I went to and spoke at the latest Chicago mechanical keyboard meetup! It was really fun. I hadn't been to a keyboard meetup in a few years, and it was such a good time geeking out with people about keyboards, meeting internet friends, and seeing what people have built. I wrote a small recap post here!


Sponsor

Unlock Your Career Potential with Keenesse

Feeling stuck, or ready for your next big move?

Keenesse offers personalized career coaching to help you gain crystal-clear career goals, pinpoint exciting advancement opportunities, and master crucial skills like resume optimization, interview mastery, and confident negotiation – all to land your dream role in a competitive market.

Our expert team of seasoned tech industry coaches provides tailored support at every career stage, from ambitious students to accomplished executives.

Ready? Schedule your free, no-obligation consultation today at keenesse.com.


Interview question of the week

Last week, I had you figure out how long it would take to make a mechanical keyboard! Click clack David, Colin, Elke, Jen, Ten, Sameer, Charles, Ender, Amine, and Paul!

This week's question:
Given an array of side lengths, write a function to determine they can form a hexagon with three side-length pairs (as in, three pairs of equal sides needed). Return true if possible.

Examples:

canFormHexagon([2, 3, 8, 8, 2, 3])
> true

canFormHexagon([1, 2, 3, 4, 5, 6])
> false

canFormHexagon([2, 2, 2, 2, 2, 2, 2])
> false

(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

Love is for the ones who love the work
More than you wanted to know about how Game Boy cartridges work
Do not download the app, use the website
Priority Compass
Death by AI


Joke

What do you call a group of disorganized cats?
A cat-tastrophe!


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

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

🐼 "Better to see something once than to hear about it a thousand times." - Asian Proverb

2025-07-21 13:32:42

Howdy y'all!

I hope you had a good week. Mine was fun celebrating birthdays of family and friends, and messing around with some side projects. Let's boogie.

Was this forwarded to you? You can subscribe here!


Web links of the week

Designing Scroll Behavior: When to Save a User's Place
Setting Line Length in CSS (and Fitting Text to a Container)
Drawing a Koala with HTML and CSS (video)
Get the index of an element within its parent


Something that interested me this week

This week kind of flew by. I did a lot of walking around Chicago with my family and just tried to be mostly offline, which has been good for my brain.

...that being said I'm also working on some side projects that I'll hopefully ship in the next few days, ha! I also wrote about a handy little GitHub Copilot Chat trick if you wanna check it out.


Sponsor

Level up your app’s auth for your customers and AI agents. Whether you have a B2B or B2C use case or both, Auth0 is a full IdP that provides robust security like MFA, continuous threat monitoring, plus flexible APIs, and over 30 SDKs. You get complete control over the user experience, from sign-up flows to advanced authorization.

Secure your AI Agents, so that you can protect your users. Auth for GenAI can help you do this with advanced user authentication and fine-grained control over data access. Our Token Vault feature simplifies managing API tokens for third-party services, streamlining access for your AI applications, helping you build securely. Try Auth for GenAI today.


Interview question of the week

Last week, I had you navigate a string with Vim commands! I just can't quit you, Ender, Jen, David, Winnie, Elke, Ten, Ben, Kriszti, Tarang, Andy, Sameer, Wesley, Andrew, and Jeremias!

This week's question:
You’re assembling a custom mechanical keyboard. Each required part has a delivery time in days and an assembly time in hours. You can only assemble a part after it arrives, and you can only work on one part at a time. Given an array of parts where each part is { name, arrivalDays, assemblyHours }, return the minimum total hours needed to finish assembling all parts, starting from hour 0.

Example:

minAssemblyTime([
  { name: "keycaps", arrivalDays: 1, assemblyHours: 2 },
  { name: "switches", arrivalDays: 2, assemblyHours: 3 },
  { name: "stabilizers", arrivalDays: 0, assemblyHours: 1 },
  { name: "PCB", arrivalDays: 1, assemblyHours: 4 },
  { name: "case", arrivalDays: 3, assemblyHours: 2 }
])

> 74

(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

A Typical Workday at a Japanese Hardware Tool Store (video)
AI doesn't make devs as productive as they think, study finds
‘The way a child plays is the way they live’: how therapists are using video games to help vulnerable children
PC Sirius60 + Oblivion v3.1 + HMX Canglan v2 + acrylic plate + TX AP stabs


Joke

To the person who stole my place in line...
I'll be after you, now!


That's all for now, folks! Have a great week. Be safe, make good choices, and be open to new ideas!

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

🪻 "First we build the tools, then they build us." - Marshall McLuhan

2025-07-14 16:09:44

Hey friends!

I hope you had a good week! Mine was pretty full of non-internet work around the house and with the family, which felt good and needed. Anyway, back to jamming with console cowboys in cyberspace!

Was this forwarded to you? You can subscribe here!


Web links of the week

CSS Intelligence: Speculating On The Future Of A Smarter Language
Quantum Internet Is (Slowly) Becoming a Reality
CSS conditionals with the new if() function
A revisit of the Every Layout sidebar with :has() and selector performance


Something that interested me this week

I have watched the movie KPop Demon Hunters multiple times this week and I'm obsessed with it and the soundtrack. If you haven't seen it, it's on Netflix! I actually recommend you don't look it up and just watch it knowing as little as possible about it. It's really, really good, and I legitimately think it's the best movie of the year so far (and my favorite movie that has come out in the past few years)!

Outside of excellent cinema, I blogged about tools on top of other tools! Shout out to Neha's Nebulous Code newsletter, where she also talked about tools (including PocketCal)!


Sponsor

The AI Agent for Professional Software Developers

When you ship to production, vibes won’t cut it. Augment Code's powerful AI coding agent meets professional software developers exactly where they are, delivering deep context into even the gnarliest of codebases and learning how you, your team, and your codebase work.

Whether you’re starting a new project or getting up to speed on a codebase that is new to you, Augment Code is here to help you build what's next.


Interview question of the week

Last week, I had you find a firework show's grand finale! Boom boom Ender, Elke, Winnie, Ten, Sameer, Amine, Parthipan, Varenya, Paul (who made a fun digital fireworks show!), Patrycja, and Kriszti!

This week's question:
Given a multi-line string and a sequence of Vim navigation commands (h for left, j for down, k for up, and l for right), and starting at the top-left character, write a function that processes the commands and returns the character under the cursor. If the cursor tries to move out of bounds, keep it at the last valid position.

Example:

const string = `Hello, world!
how are ya?`; // or "Hello, world!\nhow are ya?"
const commands = 'jlhll';

getCharAfterVimCommands(string, commands)
> 'w'

(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

Aguayos: Exploring the beauty of migratory flows within Latin America and the Caribbean
Trial, Triumph, and the Art of the Possible: The Remarkable Story Behind Beethoven’s “Ode to Joy”
Inventing Japanese Braille
Hand Engineering 2000mini SE + Alu Plate + Cherry MX2A Black + KKB Soju = Keyboard Typing Test


Joke

What kind of books do skunks read?
Best-smellers!


That's all for now, folks! Have a great week. Be safe, make good choices, and watch KPop Demon Hunters please I need to geek about this with more people!

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

🫐 "A genius is the one most like himself." - Thelonious Monk

2025-07-07 12:57:11

Hey y'all,

I hope your week was a good one, and you had a somewhat light work week with the U.S. holiday. Let's learn!

Was this forwarded to you? You can subscribe here!


Web links of the week

The Backrooms: CSS Edition
Writing Code Was Never The Bottleneck
An unnecessary but satisfying optimization
glass3d generator


Something that interested me this week

Personally speaking, this was a hard week, my friends. I don't want to get into it so I will leave it at: hug your loved ones. If you care about someone, call them and tell them!


Sponsor

🚀 Meet Flow CI Engine: Fully Managed Mac CI, Reimagined

Tired of wrangling with CI infrastructure for your Apple projects?

Flow CI Engine is a developer-first, fully managed CI platform running on real Mac hardware.

Powered by renewable energy, 100% carbon-neutral, and operated from a Swiss ISO/IEC 27001-certified data center. Benefit from automated scaling, consistent build speed, and a security-first architecture, all without the overhead of managing Macs.

Simple, scalable pricing. Only in Switzerland.

Ready to level up your Mac builds? Learn more & request your invite or see details + pricing.


Interview question of the week

Last week, I had you find the last non-repeating character in a string. Awesomeeee work Usman, Aren, Winnie, Ten, Muhammad, Neefertiti, Paul, David, Amine, Tarang, Sameer, Ross, Ender, Kriszti, Andrew, SidGod, Ollie, Jake, Kwlio, Neha, Elke, and Austin!

This week's question:
Given an array of fireworks representing a series going off, write a function to find the "grand finale" of the show! A grand finale is defined as the longest subarray where the average size is at least 5, the minimum velocity is 3, and the difference between the min and max height is no more than 10. Return the starting index of the grand finale.

Example:

const fireworks = [
  {height: 10, size: 6, velocity: 4},
  {height: 13, size: 3, velocity: 2},
  {height: 17, size: 6, velocity: 3},
  {height: 21, size: 8, velocity: 4},
  {height: 19, size: 5, velocity: 3},
  {height: 18, size: 4, velocity: 4}
];

> grandFinaleStart(fireworks)
> 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

Pockets are a Significant, Untapped Market
DNworks Noodle.zip + Alu Plate + BSUN Jade Rosales + GMK Hooty = Keyboard Typing Test (video)
Wikipedia:WikiProject AI Cleanup/AI catchphrases
How email tracking works behind the scenes


Joke

What do you call a fly without wings?
A walk!


That's all for now, folks! Have a great week. Be safe, make good choices, and donate to causes you care about!

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