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

🥱 "Be quick, but never hurry." - John Wooden

2025-05-05 13:29:00

Hey friends!

I hope you had a good week! Mine was very tiring with a brand new baby at home, but good. Let's gooo!

Was this forwarded to you? You can subscribe here!


Web links of the week

IKEA's web fonts
All 420 entries from Gamedev.js Jam 2025
GSAP 3.13: now free!
Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints


Something that interested me this week

Welp, I've finished week 1 of being a parent of TWO babies. Whew. It's been exhausting, but also somewhat easier than I expected? I think experience really does help. We're not as stressed about funky noises or anything, and we know how to burp a baby and change a baby and... generally how to keep one alive.

...But also we have a toddler at the same time.

Anyway. I'm in the trenches over here, but hanging in there. My newborn is chilling watching me write this, and I can say with certainty that all of the pains of pregnancy, the c-section, and the hormonal swings are worth it.


Sponsor

The State of Devs survey is now open to participation, and unlike previous "State of" surveys it covers everything except code: career, workplace, but also health, hobbies, and more. Come take our most important (and most fun!) survey yet!

It takes a few minutes. Make your voice count!


Interview question of the week

Last week, I had you compress an array of characters! Good work Kracekumar, Kyle, Neha, Miguel, Ross, Austin, Andrew, Ashuzon, Roodz, David, Muhammad, Ten, Jeremias, and Danny!

This week's question:
Write a function that takes a list of strings and returns the longest string that is a prefix of at least two strings in the list.

Examples:

longestCommonPrefix(["flower","flow","flight"])
"flow"

longestCommonPrefix(["dog","racecar","car"])
""

longestCommonPrefix(["interstellar","internet","interval"])
"inter"

(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

"Final Usonian home" by Frank Lloyd Wright completed in Ohio
Qazikat wireless keyboard with Hydrangea keycaps
Using Pigeons & Poop Jokes to Teach Kids About Digital Minimalism
Chongqing, the world’s largest city - in pictures


Joke

Rest in peace, boiled water.
You will be mist!


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

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

👶 "We all have the duty to do good." - Pope Francis

2025-04-28 13:13:17

Hey friends!

Assuming all has gone well since I hit the "schedule" button on this issue... I just gave birth! Ahh! Baby! But there's still stuff to leeeearn!

Was this forwarded to you? You can subscribe here!


Web links of the week

Creating CSS Theme Variables from a JS file
What Does It Really Mean For A Site To Be Keyboard Navigable
CSS color-mix() Demo
Hiding elements that require JavaScript without JavaScript


Something that interested me this week

I... just had a baby!! So this is gonna be short because I've now got a brand-spankin'-new kid to keep alive. As I write this, before actually giving birth, I'm nervous and excited. A friend of mine asked the (very nerdy) question, "if your baby were a React component what would it be?" and I said, "whatever it is, I am ready to unmount it," because oh my word, these final days of pregnancy are HARD. So, onwards and upwards to some sleepless nights, but with a little less physical strain (we hope), ha!


Sponsor

Boost team morale and encourage peer-to-peer praising, directly on Slack!

Sparkles is an app for Slack that makes awarding kudos fun. Simply add "++" next to your co-worker's Slack handle, and Sparkles will award them a sparkle!

Sparkles have no intrinsic value, but it’s a fun way to give kudos. As the numbers tally up, users can be proud of how many sparkles they have accumulated.

Who on your team deserves a Sparkle today? Get started and learn more at sparklesapp.com!


Interview question of the week

Last week, I had you calculate ingredient amounts for a recipe! I got as many submissions as I could pre-baby so if I missed ya, sorry about that! That being said, really great job Neha, Leyan, Ten, Miguel, Muhammad, Emeka, Dave, Andrew, Chase, Austin, David, Kyle, Elke, Chris, Kracekumar, Ross, Nick, and John!

This week's question:
Given an array of characters chars, compress it such that consecutive duplicate characters are replaced with the character followed by the count of duplicates. If the count is 1, omit it.

Examples:

> compress(["a", "b", "b", "b", "c"])
> ["a", "b", "3", "c"]

> compress(["a", "a", "b", "b", "c", "c", "c"])
> ["a", "2", "b", "2", "c", "3"]

(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

This blog is hosted on a Nintendo Wii
What async communication behaviors lead to better outcomes for software engineers?
Hypertext TV
BAYS60 by Deadline Studio keyboard with doys.dat.1 keycaps


Joke

A dad washes his car with his son.

After a while, the son says, "why can't you just use a sponge?"


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

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

🖐️ "All you touch and all you see, is all your life will ever be." - Pink Floyd

2025-04-21 14:26:28

Hey friends!

If you celebrate it, Happy Easter! Or Passover! Or mid-April! Let's learn.

Was this forwarded to you? You can subscribe here!


Web links of the week

Typography troubles: Balancing lines in Japanese & Korean
Lessons Learned from Recreating a Styled Dialog
Astro 5.7
Withdrawal of the Records and Tuples proposal for ECMAScript


Something that interested me this week

I am, as of writing, officially on maternity leave! I'm due to give birth this week and it's kind of blowing my mind that by the time the next issue of this comes out, I'll have another little human in my life.

That being said, it was a mad rush to "the finish line" to get stuff done at work before I was officially out!

And one more personal thing, I finished up working with Stack Overflow on their newsletter, blog, and podcast! End of an era blog post is here. Good ending, good timing with a new kiddo, and onwards and upwards!


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 sum a connected path in a grid! Awesome job Muhammad, Ten, Kyle, Nick, Saleh, and Neha!

This week's question:
Given an array of objects representing ingredients (each with a name and amount per serving), and a target number of servings, write a function to calculate the required amount of each ingredient for the target servings. Return the results as an array of objects with name and amount. Can you do this in less than 5 lines? In one?

Example:

const ingredients = [
  { name: "flour", amount: 200 }, // 200g per
  { name: "sugar", amount: 100 }, // 100g per
  { name: "eggs", amount: 2 }     // 2 eggs per
];
const targetServings = 3;

> calculateIngredients(ingredients, targetServings);
> [
   { name: "flour", amount: 600 },
   { name: "sugar", amount: 300 },
   { name: "eggs", amount: 6 }
]

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

(you might see some repeat questions for the next few weeks because... new baby)


Cool things from around the internet

Inside Africa's Food Forest Mega-Project (video)
Grid650 with Teal Wavez module + GMK Hammerhead Light
Still Tasty
A lack of frequency increases the pressure to deliver quality


Joke

What's the worst thing about ancient history class?
The teachers tend to Babylon.


That's all for now, folks! Have a great week. Be safe, make good choices, and see ya on the other side!

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

🐦 "Of all possessions a friend is the most precious." - Herodotus

2025-04-14 11:45:51

Hola hola!

We made it to mid-April, where does the time go?? I hope you had a good week. Let's get learnin'!

Was this forwarded to you? You can subscribe here!


Web links of the week

Tauri vs. Electron: performance, bundle size, and the real trade-offs
Mastering default values in JavaScript with the nullish coalescing (??) operator
CSS Bursts with Conic Gradients
Better typography with text-wrap pretty
A steam locomotive from 1993 broke my yarn test


Something that interested me this week

I pumped out a bunch of content this past week!

For work, I morphed a post about MCP that I wrote for my own blog last week into something a bit more business-y, and shipped the latest episode of The Download!

I also blogged a bunch of other stuff:

Anyway, for the 8th (!) newsletter anniversary raffle last week, winners will be pinged this week! Thanks for entering, y'all!


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 generate Leyland numbers. Ya did great David, Muhammad, Elke, Ten, Austin, Jeremias, Patrycja, Nick, Levi, and Neha!

This week's question:
Given a 2D grid of integers, find the largest sum of any connected path of cells. A path consists of horizontally or vertically adjacent cells (no diagonals) and cannot reuse cells. Return the largest sum.

Examples:

const grid1 = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

const grid2 = [
  [5, 3],
  [2, 8]
];

largestPathSum(grid1)
> 45 // (1 → 2 → 3 → 6 → 9 → 8 → 7 → 4 → 5)

largestPathSum(grid2)
> 18 // (5 → 3 → 8 → 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

Custom Gochu60 keyboard
What is manga lettering?
Avoid these 5 tape measure mistakes (video)
Leaf Color and Shape Enhance Cooling Effect


Joke

What kind of tree fits in your hand?
A palm tree!


That's all for now, folks! Have a great week. Be safe, make good choices, and get the rest you need!

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

8️⃣ "You can have a plan, but you have to be flexible." - Jane Krakowski

2025-04-07 13:49:25

Hey friends!

I'm so excited to be in your inbox today! It is this newsletter's EIGHTH year anniversary!! I'm so grateful for all of you here. Let's keep it going (also there are free things and coupons below, keep scrolling)!

Was this forwarded to you? You can subscribe here!


Web links of the week

The Death of the Browser - Rachel-Lee Nabors (video)
Minimal CSS-only blurry image placeholders
Exploring Art with TypeScript, Jupyter, Polars, and Observable Plot
Automatically create social card images for your Astro blog
I don't know what MCP is and at this point I'm too afraid to ask


Something that interested me this week

Gosh, it's so unfathomable to me that it's been 8 years since starting this newsletter, and I am so grateful to you for being here and reading along with me each week. It's a genuine pleasure to know that it's giving you some value in some way, even if it's just a light occasional chuckle.

For those who've been here before, you may know that I love doing raffle giveaways and coupons every year! We have some lovely folks offering free things for ya!

  • FusionAuth has been securing user login, registration and management for over 8 years! To celebrate, they're giving away a "cat /etc/password" t-shirt (US/Canada only) and 3 copies of an ebook about the intricacies of OAuth!
  • GitHub is giving away 3 coupons for 12 months free of GitHub Copilot Pro!
  • Kedasha is offering 3 free spots in her awesome workshop Build Your Own Apps with AI!
  • Autonomous, creators of innovative ergonomic office furniture, is giving away a SmartDesk 5—their latest desk designed to elevate your workspace and make work feel effortless (US only).
  • Get (my favorite) coding font MonoLisa for 15% off with code freakingnerds!
  • FSH Technologies, is building the Costco of software for local governments, is raffling off a fun sticker pack!
  • CascadiaJS is giving away 1 ticket to their 2025 conference, which will be in Seattle, WA on Sept 18-19. Come for the talks on web and AI, stay for the karaoke!
  • SmashingConf New York is offering discounted tickets to their October 6-9th event to all newsletter readers with this link!
  • Complete CSS is offering 30% off to all readers who use code CASSIDOO at checkout! Take your CSS skills to the next level.
  • ElevenLabs, the AI audio API for building conversational AI agents, is giving away 3 credit-and-swag packages. Each package includes over 1.1 million characters (3 months of the Pro tier) and an official ElevenLabs cap.
  • Jelly, the better way to manage your team's inbox, is offering 15% off your first year with code CASSIDOO15!
  • Pika is a good blogging platform that is pretty and easy and pretty easy. Use code CASSIDOO20 for 20% off your first year of blogging with Pika!
  • CodeCrafters (Build your own Git, BitTorrent, SQLite etc) is giving away 3 lifetime memberships worth $1490 each. Sign up for free at this link in addition to my form for this part of the raffle. The lucky winners will be emailed by end of April!
  • Drop is raffling off 3 keyboard bundles! Winner’s choice of CSTM65 (Linear or Tactile) or CSTM80 (Linear or Tactile), plus choice of Decorative Case to go along with it! Shipping US and CA only. Click here to join the Drop Community!

If you'd like to enter in the raffle for all the great prizes here (huge thanks to all the folks who are offering them!), please fill out this form by Thursday at noon, U.S. Central Time to get an entry!

And just once again: Thank you so much for being here. It makes my day to see replies and messages and posts and toots and skeets and carrier pigeons from people that enjoy reading this, and seeing you share it with others.

Also as a quick (mic drop ICYMI?) side note: I'm super pregnant, and due this month! If you see some repeated interview questions or links over the next few weeks... that's why. Woo hoo!


Sponsor

Some APIs just hit different—clean docs, solid DX, and they actually listen.

Vote for your faves in the Postman Developers’ Choice Award now through April 17.

Just hit the vote icon on their Postman API Network workspace—you can even track a live leaderboard on the API Network homepage.

Winners drop at POST/CON 25. Let’s give props to the APIs that make our lives easier.
👉 Cast your vote

P.S. Want to go to POST/CON and celebrate with the winners? Here’s a special 40% off discount code just for you — expires April 17, so don’t wait!
👉 Register now with code PMN40CAM1


Interview question of the week

Last week, I had you find gaps in timestamps! Tick tock, you rock John, Taylor, Andy, Ben, Mike, Mazen, Nick, David, Muhammad, Roodz, Andrea, Ten, Huyixi, Elke, Austin, Miguel, Ben, Neha, Murtala, Levi, Saleh, Saravana, and Ross!

This week's question:
Write a function that returns the first n Leyland numbers in ascending order. A Leyland number is defined as x^y + y^x for integers x > 1 and y > 1.

Examples:

getLeylandNumbers(1)
[8]

getLeylandNumbers(5)
[8, 17, 32, 54, 57]

(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

What If We Made Advertising Illegal?
Stoop Coffee: How a Simple Idea Transformed My Neighborhood
Medieval Tavern in Blender - 3D Modeling Process (video)
Keykobo Soju on the Mode Encore


Joke

My laziness is like the number 8.
Once it lies down, it becomes infinite.


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

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

🛵 "It is never too late to be what you might have been." - George Eliot

2025-03-31 15:04:50

Hey friends!

It's the last issue of March AND next week is the 8th anniversary issue! How about that? Make sure you're ready for some goodies that I can rustle up for ya. Until then, time to read!

Was this forwarded to you? You can subscribe here!


Web links of the week

Meet Declarative Web Push
UI Algorithms: A Tiny Undo Stack
You should know this before choosing Next.js
Hot sauce if you're wrong · web dev trivia for staff engineers (video)


Something that interested me this week

This week was a slower one for me, so much so that this section of the newsletter took the longest for me to write, heh. Did a whole lot of staring off into space.

I did some reflecting on my blog about how I'm trying to be more efficient and say no to more things, while also finishing as much as I can before baby #2 comes. It's a tough balance! But, I think it's good to have this... forcing function (for lack of a better phrase) to slow down and reset a bit. While also keeping humans alive. No pressure.


Sponsor

Parents have been asking, “Where can my kid access engaging, educational content without running into ads or random, nasty surprises?”

That's why we created Lingokids.

Lingokids is the fun, safe, educational app that parents trust and kids love. It's packed with thousands of hours of shows, songs, interactive games and more, all created by educators so your kid can play and learn on their own.

5 reasons the Lingokids app is guilt-free:

  1. It’s made by parents and educators
  2. It’s loved by kids
  3. It’s kidSAFE® certified. And we don’t do ads. Ever.
  4. It’s won more than 30 awards
  5. It has over 2000 activities. All fun, all educational.

Oh, and did we mention it’s free?

Download now


Interview question of the week

Last week, I had you find streaks in an array! Great job Debopam, Tom, Marco, Ten, Miguel, Amine, Jeremias, John, Saleh, Max, Chase, Mazen, Andrea, Tim, Muhammad, Sreetam, Jesper, Leo, Kyle, Levi, Joe, Neha, Elke, Sean, Murtala, Jan-Magnus!

This week's question:
Write a function that takes an array of timestamps (HH:MM) from the same day and returns the longest gap in minutes between consecutive timestamps.

Examples:

findLongestTimeGap(['12:00'])
0

findLongestTimeGap(['09:00', '11:00'])
120

findLongestTimeGap(['14:00', '09:00', '15:00', '10:30'])
210

findLongestTimeGap(['08:00', '10:00', '10:00', '14:00'])
240

(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

I Am Obsessed With this Tomb Raider Pen
Twilight Memeboard
E. Svetlanov's "Prelude 10" played by V. Aretinskaya & S. Gudelev (video)
You Can Still Read NASA’s Deleted "First Woman" Graphic Novels


Joke

What has ears but can't hear?
A field of corn!


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

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