Oct. 20, 2025, 2:29 a.m.

🦈 "Change your life today. Don't gamble on the future, act now, without delay." - Simone de Beauvoir

rendezvous with cassidoo

Hey friends!

I hope you had a good week. I tried pilates for the first time and am very sore... which is a good thing? Anyway, let's learn!

Was this forwarded to you? You can subscribe here!


Web links of the week

A complete guide to HTTP caching
50 Reasons to Build a Website
Making the Web Accessible: The Mission Behind WP Accessibility Day
Environment variables are a legacy mess: Let's dive deep into them


Something that interested me this week

This week, I threw a PowerPoint party! If you don't know what that is, it's pretty self-explanatory: everyone has to show up and present a PowerPoint on a topic of their choosing. Talks were as short as 5 minutes and as long as 20, depending on what people were talking about and explaining! It was really fun. We had a wide variety of presentations that covered:

  • Modern guitar strumming techniques
  • Credit card points
  • Surviving horror movies
  • What patent agents do
  • K-Pop
  • How index funds work
  • How to be good at Tetris
  • Coffee varieties
  • What makes a good sandwich
  • and moooore

I highly recommend pinging your friendly local group chat for a night like this. We got to know our friends better, we laughed hard, and learned a bunch while cheering people on!


Sponsor

Tired of back-and-forth reviews?

Graphite Agent is your AI reviewer that collaborates directly in your PR to help you merge faster.

It surfaces logic bugs, edge cases, and performance or security issues — and suggests safe, minimal fixes right where you work. You can ask questions, make edits, and update your PRs seamlessly, all within your review flow.

No IDE context switching. No waiting. Just faster, smarter reviews.

Get started with Graphite


Interview question of the week

Last week, I had you format CSV strings! It was a toughie, good work Ten, Ross, David, Paul, Toni, Ross, Paul, and Amine!

This week's question:
Given a string str and an array of positive integers widths, write a function that splits the string into lines, each with the exact number of characters as specified by the corresponding width. Return an array of the substrings. Use the last width for any remaining characters if the array is shorter than needed.

Example:

const str = "Supercalifragilisticexpialidocious";
const widths = [5, 9, 4];

> splitByWidths(str, widths);
> ['Super', 'califragi', 'list', 'icex', 'pial', 'idoc', 'ious']

(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

Photos show polar bears chilling at home in abandoned Russian research station
800 Years of English Handwriting
Keebfront Bigwig – The First HDPE + PBT Linear Switch (video)
No Nonsense Tourist Info for Young People


Joke

Where does a ghost go on vacation?
Mali-boo!


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

Special thanks to Ezell, Ben, Kinetic Labs, Marta, and Flora for supporting my Patreon and this newsletter!

cassidoo

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

You just read issue #427 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 https://cassidoo.co LinkedIn