2024-11-18 14:43:05
Hey friends!
It feels like this month is going by both super quickly, and very slowly. I hope you're having a good one! Time to read.
Was this forwarded to you? You can subscribe here!
Overflow Clip
Center the bottom row when using grid auto-fit (video)
Adding Bluesky Comments to Your Astro Blog
How a BBC navigation bar component broke depending on which external monitor it was on
This week I'll be speaking at Microsoft Ignite (which you can watch for free online!) and I'm excited to meet some more coworkers in person and show them the joys of Chicago food!
Besides that... I mentioned it before, but I have really been having fun with Bluesky as a social network. It's been really lovely having a simple feed of just people that I follow, and other lists of feeds I can follow (for example, the Good Lunch feed), and not have the algorithm decide how I browse (which makes me want to update my human curation blog post I wrote a little while back). Outside of the network itself, I recommend reading about the AT Protocol, which is how Bluesky works under the hood. It's really interesting!
Last thing, I streamed Open Source Friday with Rizel Scarlett this past week! Check it out!
Working with auth shouldn’t feel like coding with 🧤oven mitts. You really need to try Stytch.
They’re Auth0 on steroids. Beyond hosted widgets, Stytch gives you full control with options for pre-built UI, headless SDKs and comprehensive backend SDKs and APIs for authentication and authorization. Plus, it comes with the latest in fraud and risk prevention—without relying on CAPTCHA and simple network-based protections.
Stytch also supports dedicated data models for consumer and multi-tenant B2B applications, so you aren’t forced to code around the “black box” of Universal Login. All the acronyms — MFA, SSO, RBAC, SCIM – are just an API call away.
Try it free and see why Mintlify, Groq, Hex, Orb, Zapier, and Replit have switched to Stytch.
Last week, I had you look at visible buildings in a line! I loved seeing so many good answers! Great work Andreas, David, Ender, Mac, Muhammad, Miguel, Ashish, Kyle, Neil, Arban, David, Mudi, Danny, Jess, Sean, Ricardo, Amine, Jess, Sean, Ricardo, Amine, Prashant, Ten, Kriszti, and Daniel!
This week's question:
Given an array of integers representing the stock prices of a company in chronological order, write a function that determines the maximum profit you can achieve by buying and selling the stock once. If no profit can be made, return 0.
Example:
> maxTheStock([7, 1, 5, 3, 6, 4])
> 5 // (buy at 1, sell at 6)
> maxTheStock([7, 6, 4, 3, 1])
> 0 // (no profit possible)
(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)
This question is brought to you by PixelPalooza! PixelPalooza is a completely free virtual conference all about using media on the web – things like images, video, audio, streaming. It's happening this coming Thursday from 12-4pm ET (UTC -5). Grab your free ticket here.
Cabel Sasser, Panic - XOXO Festival (2024) (video)
Balance is boring (video)
IMG_0416
Wind Studio Hola Mini with lubed Cherry MX Clears
Why did the coffee file a police report?
It got mugged!
That's all for now, folks! Have a great week. Be safe, make good choices, and read something!
Special thanks to IceSloth, Ezell, Sebastián, Ben, Kinetic Labs, Faisal, and Marta for supporting my Patreon and this newsletter!
cassidoo
website | blog | github | bluesky | twitter | patreon | twitch | codepen | mastodon
2024-11-11 14:23:15
Howdy y'all,
I hope you're staying safe and healthy with folks you care about this season. This was a really intense week for a lot of people, including myself, and it's times like these where I'm grateful for the little things that make us happy. Let's learn!
Was this forwarded to you? You can subscribe here!
Generating Random Mazes with JavaScript
JavaScript's ??=
Operator: Default Values Made Simple
Debugging Microservices & Distributed Systems
A Friendly Introduction to Container Queries
Sooo, elephant in the room, the U.S. Presidential election happened this week. The results were not what I wanted, and I don't really want to talk about how sad I am about it. I hope that if the results are also not what you wanted either, you're doing okay. "Okay" is such a... flimsy word to use, and it's really hard to come up with another one. But I genuinely, really hope that you are doing okay, and have a community that you can lean on for support, and you can be that support for others.
...besides that, I've now been at GitHub for two months, I reflected on falling asleep in a driverless car, I've been really enjoying Bluesky as a social network, and I've been cuddling my 18-month-old who has recently learned how to count to five in English, Spanish, and Korean, which is very exciting.
Curious about which authorization model is best for your app? The answer is probably "all of them."
Join our webinar, How Google Handles Authorization at Scale, for a deep dive into Google Zanzibar, and why its Relationship-based approach to authorization has become so popular. Plus, a technical comparison of Google's approach with Oso's Authorization as a Service, highlighting the similarities and key differences. Walk away with the tools you need to make an informed decision about which approach meets your app's permissions needs!
Last week, I had you group anagrams! This one was really fun. Awesome work Alisa, Andreas, Muhammad, Yacine, Ten, Leyan, Mac, Yacine, Anton, Kyle, Miguel, Andrew, Ashish, Alison, Jeremias, Ricardo, Charles, Amine, Chase, John, and Jess!
This week's question:
Given a list of integers representing the heights of buildings, return the maximum number of buildings that can be seen when looking from the left. A building can see another building if it is taller than all the buildings to its left. The height of the tallest building is included in the count.
Examples:
seeBuildingsLeft([1,2,3,4,5])
5
seeBuildingsLeft([5,4,3,2,1])
1
seeBuildingsLeft([3,7,8,3,6,1])
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)
1 Dataset. 100 Visualizations.
Massive ocean discovered beneath the Earth's crust containing more water than on the surface
Tiili-46 hand-built keyboard
Wikimedia Pictures of the Year
I tried taking some high resolution photos of local farmland, but they all turned out a bit grainy!
That's all for now, folks! Have a great week. Be safe, make good choices, and support your local news!
Special thanks to IceSloth, Ezell, Sebastián, Ben, Kinetic Labs, Faisal, and Marta for supporting my Patreon and this newsletter!
cassidoo
website | blog | github | bluesky | twitter | patreon | twitch | codepen | mastodon
2024-11-04 22:46:33
Hey friends!
Happy November! I hope you had a fun Halloween or Diwali if you celebrated either of them, and you're ready for Mariah Carey season to enter your ears. Onwards!
Was this forwarded to you? You can subscribe here!
Making content-aware components using CSS :has(), grid, and quantity queries
How on Earth does ^.?$|^(..+?)\1+$
produce primes? (video)
Tooltip Best Practices
Building My Resume in HTML using Eleventy
I was at GitHub Universe this week! It was WILDLY busy (I was in the keynote and helped host the livestream), and so fun. My team was involved in pretty much every part of it, from the videos to the streams to the tech demos to the scheduling to the booths to the onsite podcasts to the hackable badges... phew, it was such a production! We're all really tired, but proud of what we were able to accomplish. There were some great talks, you should check them out!
Level Up Your Dev Environment with Zero-Trust Access 🚀
Ever wished you could ditch the VPN hassle while keeping your services secure? Twingate's zero-trust access solution is changing how we handle secure connectivity in modern dev environments.
Why it’s worth your time:
What I love most? The seamless integration with existing workflows. Whether you're managing a complex microservices architecture or need secure remote access to dev environments, it just works™.
Check out how it fits into your stack →
Last week, I had you implement a round of Yahtzee! It was fun learning how many folks had never played the game before. It's a good one! These folks are also good ones, with good answers: Muhammad, Max, Ricardo, and Ten!
This week's question:
Given an array of strings, group the anagrams together.
Example:
groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"])
[["eat","tea","ate"],["tan","nat"],["bat"]]
groupAnagrams(["vote", "please"])
[["vote"],["please"]]
groupAnagrams(["debitcard", "badcredit"])
[["debitcard", "badcredit"]]
(you can submit your answers by replying to this email with a link to your solution, or share on LinkedIn, Bluesky, Twitter, or Mastodon)
This question is brought to you by Writer!
Tired of battling AI complexity? Writer has got just the thing for you.
Introducing Palmyra X 004 by Writer! It’s the AI model with function calling and built-in RAG, making it easier than ever to build powerful apps with just a few lines of code.
With Writer’s full-stack AI platform, you’ll get:
Whether it’s automating workflows or building custom apps fast, Palmyra X 004 has your back.
🚀 Ready to level up your AI game? Start building on Writer AI Studio now!
Womier SK65 (video)
Touchscreens Are Out, and Tactile Controls Are Back
Turing Machine - Working LEGO Computer
How Vinyl Records Are Made (video)
Why can't your nose be 12 inches long?
Because then it'd be a foot!
That's all for now, folks! Have a great week. Be safe, make good choices, and eat a proper meal!
Special thanks to IceSloth, Ezell, Sebastián, Ben, Kinetic Labs, Faisal, and Marta for supporting my Patreon and this newsletter!
cassidoo
website | blog | github | bluesky | twitter | patreon | twitch | codepen | mastodon
2024-10-28 14:46:45
Hello from San Francisco!
I'm in town prepping for GitHub Universe, which has been SO busy, but also fun to meet coworkers in person!
Onwards!
Was this forwarded to you? You can subscribe here!
Where web components shine
What docs as code really means
Smarter than 'Ctrl+F': Linking Directly to Web Page Content
Angular's Approach to Partial Hydration
Y'all, getting ready for GitHub Universe has been wildly busy and chaotic, but there's some really cool stuff coming that I can't wait for you to see! You can watch the event for free online if you register. I'll be in the opening keynote if you wanna watch me try out a live demo in front of thousands of people... wish me luck!
Also, I've been much more into Bluesky this week than Twitter. It feels like the tides are turning. Give me a shout there if you have an account!
The sponsor this week has an exciting new AI product launching on Halloween, and... I can't tell you anything more about it. But I'll be tweeting then, so keep an eye out! 👀 🎃
Last week, I had you parse an RSS feed! Y'all did an awesome job with some clever solutions, great work Ashish, Ten, Amine, Muhammad, Kostas, John, Cheyenne, and Ricardo
This week's question:
Implement a round of the game Yahtzee, where 5 dice are randomly rolled, and the function returns what options the user has to score more than 0 points. Extra credit: implement all 13 rounds!
Example:
yahtzeeRound()
> { dice: [2,2,3,3,3],
options: ["twos","threes","full house","three of a kind","chance"]
}
yahtzeeRound()
> { dice: [2,3,4,2,2],
options: ["twos","threes","fours","three of a kind","chance"]
}
yahtzeeRound()
> { dice: [4,3,6,3,5],
options: ["threes","fours","fives","sixes","small straight","chance"]
}
(you can submit your answers by replying to this email with a link to your solution, or share on LinkedIn, Twitter, Mastodon, or Bluesky)
This question is brought to you by Writer! Introducing Palmyra X 400 by Writer! It’s the AI model with function calling and built-in RAG, making it easier than ever to build powerful apps with just a few lines of code.
With Writer’s full-stack AI platform, you’ll get:
Whether it’s automating workflows or building custom apps fast, Palmyra X 400 has your back.
🚀 Ready to level up your AI game? Start building on Writer AI Studio now!
We’re in the Golden Age of Garbage Clothing
Can we space elevator? (video)
Math Is Still Catching Up to the Mysterious Genius of Srinivasa Ramanujan
Madeline 30% with DSS All Hallows Eve
The rotation of earth really makes my day!
That's all for now, folks! Have a great week. Be safe, make good choices, and take a long nap!
Special thanks to IceSloth, Ezell, Sebastián, Ben, Kinetic Labs, Faisal, and Marta for supporting my Patreon and this newsletter!
cassidoo
website | blog | github | twitter | patreon | twitch | codepen | mastodon | bluesky
2024-10-21 16:16:39
Hey friends!
I'm back in the USA, woo! Jet lag is... bad, BUT I'm very happy to be back in my own bed and getting cozy for Fall.
Was this forwarded to you? You can subscribe here!
CSS Music Video
How the heck does it work? Phoenix LiveView
Drag to Select
CSS min() All The Things
USA USA USA! I'm so glad to be home from my two week stint in Singapore and Korea. It's been a fairly rough whirlwind being back at work prepping for GitHub Universe while also being jet lagged (especially with a toddler, gosh), but it's really nice to be in the comfort of my own home, able to do my own laundry and chores, and see friends I hadn't seen in a while.
Unrelated, I have been listening to the new ROSÉ + Bruno Mars song APT. non-stop, if you want something stuck in your head! "Ah-pah-teu" (or APT) is Korean slang for "apartment" and it's also a drinking game, which might help you understand some of the lyrics. DANCE WITH ME!
Tired of battling AI complexity? Writer has got just the thing for you.
Introducing Palmyra X-4 by Writer! It’s the AI model with function calling and structured outputs, making it easier than ever to build powerful apps with just a few lines of code.
With Writer’s full-stack AI platform, you’ll get:
Whether it’s automating workflows or building custom apps fast, Palmyra X-4 has your back.
🚀 Ready to level up your AI game? Start building on Writer AI Studio now!
Last week, I had you generate SVG circles! It was fun seeing messages from some of you having not used SVGs before. Great job Mike, Kostas, Austin, Ten, Alison, John, Josh, Muhammad, and Ricardo!
This week's question:
Write a function that takes in an RSS feed URL, and returns the title of and link to the the original feed source. You can get other things too, if you'd like!
Example:
getRSS('https://cassidoo.co/rss.xml')
"Cassidy Williams, https://cassidoo.co/"
getRSS("https://feed.syntax.fm/")
"Syntax - Tasty Web Development Treats, https://syntax.fm"
(you can submit your answers by replying to this email with a link to your solution, or share on LinkedIn, Twitter, Mastodon, or Bluesky)
Webb Images/Science 2024 by James Webb Space Telescope
Chess or Go? Exploring the Most Complex Board Games (video)
KBDFans Tofu with EnjoyPBT Sushi keycaps
'How I bootstrapped The StoryGraph to nearly 3M users' with Nadia Odunayo (video)
Why was the T-Rex limping after its workout?
Because it was dino-sore!
That's all for now, folks! Have a great week. Be safe, make good choices, and do something that makes you feel nostalgic!
Special thanks to IceSloth, Ezell, Sebastián, Ben, Kinetic Labs, Faisal, and Marta for supporting my Patreon and this newsletter!
cassidoo
website | blog | github | twitter | patreon | twitch | codepen | mastodon | bluesky