π΅βπ« "Time you enjoy wasting is not wasted time." - Marthe Troly-Curtin
Hey friends!
We made it to the end of July! It's been a fun summer and though we still have August to work through... I am so excited to be closer to fall time. Ha! Anyway, let's learn!
Was this forwarded to you? You can subscribe here!
Web links of the week
Astro vs Next.js 2026
Build a HTML5 game like Geometry Dash using Phaser 4 and TypeScript, with a simple custom physics engine
RSS in 2026 β the best distribution channel nobody uses
A system prompt to get AI to stop pretending to be human
Something that interested me this week
I had a very action-packed "offline" week, with a wedding of a good friend (where my daughter was a flower girl and my husband played piano!) and a gathering at a lake house and a birthday party and visits with family and friends. Phew!
Whenever I have these offline times, I admit part of me feels like I should be more productive in some way. It's hard to shake it in like... how we're trained to think in this society. But, that's why I chose the quote in the newsletter subject this week! Having a mental break and an enjoyable time matters.
...all that being said, I did enter a hackathon this week. Check out my fun lil entry and the repo!
Sponsor
If youβre evaluating voice APIs, SpeechifyAI is worth your eyes (and ears)!
Their Simba 3.2 TTS API is at the top of voice-quality blind-testing leaderboards, is the cheapest option in the top 10 (by far), and is fast enough for real-time voice agent use cases.
They also offer Simba Voice Agents for low-latency conversational AI, plus a free tier so you can test quickly.
Try it today at speechify.ai.
Interview question of the week
Last week, I had you return the gap between blinks! Batting my eyes at Ten, Micah, Willy, Ross, Austin, Brooks, David, Christian, Iain, Thulasi, Alex, Andrew, Trey, Amine, and the smarties in the Ruby Users Forum!
This week's question:
Given an array of ice cream orders and a freezer stock map, return how many orders can be fulfilled before the first unavailable flavor.
Example:
> fulfilledOrdersBeforeFailure(
[["chocolate"],["chocolate"],["chocolate"]],
{ chocolate: 2 })
> 2
> fulfilledOrdersBeforeFailure(
[["vanilla","vanilla"],["chocolate","mint"],["strawberry"],["strawberry","mint"]],
{ vanilla: 2, chocolate: 1, mint: 1, strawberry: 5 })
> 3
> fulfilledOrdersBeforeFailure(
[["rocky road"],["vanilla"]],
{ vanilla: 3 })
> 0
(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
How the Words We Teach English Language Learners Changed, and What That Says About Us
The gap is not glorious
I Guess I'm Playing The Long Game Now
Dimple r3 40% Cozy Keyboard Build (video)
Joke
Did you hear about the 1790s French music?
It's royalty free!
That's all for now, folks! Have a great week. Be safe, make good choices, and have a sleepover with your friends!
Special thanks to Ben, Kinetic Labs, and Marta for supporting my Patreon and this newsletter!
cassidoo
website | blog | github | bluesky | youtube | twitch | twitter | patreon | codepen | mastodon