๐ "Change. But start slowly, because direction is more important than speed." - Paulo Coelho
Hey friends!
I'm sleepily writing to you from my couch in Chicago, after a weird week of very warm weather (also known as Fool's Spring), and I'm now watching snow fall. What a weird time. Anyway, time to learn!
Was this forwarded to you? You can subscribe here!
Web links of the week
Picket fence animation using scroll animations
Reactive Depth: Building a Scroll-Driven 3D Image Tube with React Three Fiber
How I built Timeframe, our family e-paper dashboard
Welcome to the Eternal September of open source.
Something that interested me this week
I have a whole pile of videos for ya, on and off my own channels!
- How are AI tools maturing? - I speak with Jason Lengstorf about tools in this new era.
- An attempt at a balanced perspective on AI - I crash out at my desk!
- Cassidy tries Keyboard ASMR - I went to a film studio and clicked a keyboard a bunch
- RWC roundup - I summarized last week's newsletter issue.
- GitHub Copilot Memory - I sing a little bit of Cats.
Sponsor
If you're building AI agents, you've probably already hit the auth wall. Hardcoded API keys work fine in dev, but they're not something you want anywhere near production.
Auth0 for AI Agents is now GA. It gives you Token Vault, User Authentication, Asynchronous Authorization, FGA for RAG... everything you need to ship agents that are actually secure.
Start building with Auth0 for AI Agents โ
Interview question of the week
Last week, I had you "zoom in" on an array! Awesome work Christian, Micah, Leyan, Baricus, Nico, Ben, David, Marco, Donato, Matt, Ender, Ruby Users Forum users, Ten, AJ, Ridhwaan, Noumisyifa, Amine, Varenya, Elke, Iskren, and Toni!
This week's question:
Given an array of integers, find the contiguous subarray that has the largest sum and return that sum. A subarray must contain at least one element. If all elements are negative, return the largest (least negative) value. If you need a hint, look up Kadane's Algorithm!
Examples:
> maxSubarraySum([-2, 1, -3, 4, -1, 2, 1, -5, 4])
6
> maxSubarraySum([5])
5
> maxSubarraySum([-1, -2, -3, -4])
-1
> maxSubarraySum([5, 4, -1, 7, 8])
23
(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
SEVEN Keyboard by DN (video)
Mere-exposure effect
Women's Sizing Chaos
A Pokรฉmon of a Different Color
Joke
How much soda can a tropical bird drink?
Toucans!
That's all for now, folks! Have a great week. Be safe, make good choices, and clean your phone!
Special thanks to Ben, Kinetic Labs, and Marta for supporting my Patreon and this newsletter!
cassidoo
website | blog | github | bluesky | twitter | patreon | twitch | codepen | mastodon