🤩 "Competition drives innovation, but cooperation sustains it." - Nate Hagens
Hey friends!
I hope you had a great week! I am writing this the night before going back to work after a much-needed vacation in Spain... and I am in denial. Wee! Let's learn something.
Was this forwarded to you? You can subscribe here!
Web links of the week
The Boring Internet
AI Doesn't Fix Accessible Systems. It Depends on Them.
9 Times the Web Platform Was Influenced by Libraries
Projecting React
Something that interested me this week
I'm back in the USA! After traveling internationally for 4 of the past 5 weeks, it feels good to be home and sleeping in my own bed. Or rather, "sleeping" the best we can in a jet-lagged household with two toddlers.
Now that we're back... I'm excited to be back into streaming again, and I'll be on the Vibing Like It's 1999, Coding Like It's 2026 stream this week, as well!
Sponsor
No sponsor! Be free from capitalism!
...But also it'd be cool if your company would be down to sponsor, because though this newsletter is free to read, it's not free to make!
There's some info here if you wanna pass it along to decision-makers in your org.
Or, if you'd like to help support my work individually, you can use Patreon or GitHub Sponsors (both of which get you access to a very fun Discord group)!
Interview question of the week
Last week, I had you work with coprime numbers! You are in the prime of your lives Amine, Thulasi, Shreya, Paul, Ten, and Toni!
This week's question:
You are given a 2D grid representing a screen, a starting position for a bouncing object, a target position, and an initial diagonal direction. On each step, the object moves one cell diagonally, and if its next move would leave the grid, it "bounces" by reversing the corresponding row and/or column direction before continuing. Return the number of bounces needed for the logo to land on the target cell, or -1 if it will loop forever without ever reaching it.
Examples:
// inputs are grid, start, target, velocity/direction
countBouncesToTarget([8,8], [0,0], [3,4], [1,4])
> 2
countBouncesToTarget([3,3], [0,1], [2,1], [1,1])
> 1
countBouncesToTarget([4,5], [0,0], [3,3], [1,1])
> 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
Mechanical Pencil: An illustrated celebration of the engineering around us
Agar mini keyboard with GMK Rubrehose & GMK Dualshot
New ultra stainless steel stuns researchers
Speed is Not Conducive to Wisdom
Joke
I had a pair of racing snails. I removed their shells to make them more aerodynamic, but they became sluggish!
That's all for now, folks! Have a great week. Be safe, make good choices, and try to accomplish a small goal this month!
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