2024-12-23 15:17:40
Hey friends!
I hope you had a good week! Mine was PACKED with launches at work, and I'm really excited to chill with my family for Christmas this week. Until then, let's boogie!
Was this forwarded to you? You can subscribe here!
Easing Wizard - CSS easing functions made easy
Why I’m excited about text-box-trim as a designer
Every token is a feature
PSA: Stop using the title attribute as tooltip!
Whew, this week we had some pretty dang big launches at work and I am so glad they are out in the world now! The main big ones were that we made GitHub Copilot free (!) and that we added OpenAI's o1 model to paid Copilot plans. For the latter, I got to write the announcement post and be a little cheeky on the official GitHub blog, which was fun for me.
Also, I was a part of a livestream panel discussion about the state of JavaScript, if you want to check it out!
And at last, outside of all that, I have been keeping up with my daily blogging for Blogvent! Here's the posts I wrote this week:
Writing daily is a little stressful, but at the same time, it keeps getting easier, the more I do it. I'm glad to have gotten this far with it!
The hackNY Fellows Program is a co-living experience for full-time tech interns working in New York City. Through their summer program, fellows gain invaluable industry insights, form lifelong connections, and develop the skills to become responsible leaders. Students accepted to the program enjoy subsidized housing at NYU for the 10-week program, an after-work Speaker Series featuring leaders in technology, 1:1 mentorship from program alumni, and weekend social activities with other fellows and the alumNY network.
Learn more at hackNY.org, and support the organization!
Last week, I had you set up a white elephant gift exchange! Good work Ricardo, Ten, Amine, and Neha!
This week's question:
At the Magic Cookie Factory, cookies are baked in factorial quantities. A cookie is "perfectly round" if its size ends with a zero. Write a function to determine how many perfectly round cookies will be made when baking with n!
ingredients.
Examples:
countPerfectlyRoundCookies(5)
1 // 5! = 120, which has 1 trailing zero
countPerfectlyRoundCookies(10)
2 // 10! has 2 trailing zeros
countPerfectlyRoundCookies(100)
24
(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)
Neo75 CU with GMK Modern Materials
A visual proof for the difference of two squares formula
Moon
In praise of the hundred page idea
Why don't eggs like to tell jokes to each other? Because they'd crack each other up!
That's all for now, folks! Have a great week. Be safe, make good choices, and have a wonderful holiday season!
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-12-16 16:53:26
Hey friends!
This month is going WAY TOO FAST and I feel like we're just zooming over to 2025. Gosh. But, at least we can cool things along the way!
Was this forwarded to you? You can subscribe here!
Pure CSS Halftone Effect in 3 Declarations
Publishing a simple client-side JavaScript package to npm with GitHub Actions
Math4Devs
Native HTML light and dark color scheme switching
I kept up my blogging this week, again! In case you missed it, I have been writing a blog post for every day in December, and I'm lovingly calling it Blogvent.
Here's the posts I wrote this week:
Will I keep it up for another week? We'll see.
Meanwhile... watch GitHub this week. We've got some launches this week we've been working hard on!
🎅 Meet the Most Advanced AI Santa Ever 🎅
This isn’t just Santa: it’s Tavus' groundbreaking Conversational Video Interface (CVI) in action. AI Santa showcases the fastest, most lifelike real-time AI video solution, redefining how humans interact with technology.
With hyperrealistic visuals and seamless conversational intelligence, AI Santa doesn’t just talk: he connects! Try asking him about your year, see if you’re on the naughty or nice list, or explore how Tavus’ tech can elevate industries like healthcare, education, and gaming.
✨ Why Developers Should Care
- Unparalleled realism: Tavus’ CVI API shatters the uncanny valley.
- Instant integration: Plug-and-play APIs for building human-like AI experiences.
- Broad applications: Think AI tutors, virtual recruiters, and dynamic NPCs.
Ready to experience the future of AI?
Talk to AI Santa now and see how Tavus is transforming human-AI interaction!
Last week, I had you wrap some gifts! Awesome job Muhammad, David, Mac, Mazen, Rekha, Ten, Amine, Neha, Austin, Ricardo, John, and Jeremias!
This week's question:
Make a white elephant gift exchange class that simulates the game. It should generate a sequence of random but valid gift-opening and gift-stealing moves for n
participants, tracks steal counts and frozen gifts, and ends the game when everyone has a gift.
Example playthrough:
const game = new WhiteElephantGame(4); // 4 players
console.log(game.nextMove()); // "Person 0 opened gift 0"
console.log(game.nextMove()); // "Person 1 opened gift 1"
console.log(game.nextMove()); // "Person 2 stole gift 0 from person 0"
console.log(game.nextMove()); // "Person 0 stole gift 1 from person 1"
console.log(game.nextMove()); // "Person 1 opened gift 2"
console.log(game.nextMove()); // "Person 3 opened gift 3"
console.log(game.nextMove()); // "Game Over! Final distribution: {'person 0':1, 'person 1':2, 'person 2':0, 'person 3':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)
Scenes of Reading on the Early Portrait Postcard
18 Life-Learnings from 18 Years of The Marginalian
Flatbrains PlaketXL with GMK Villanelle
Ultimate Bushcraft Basics: Learn Vital Wilderness Skills Now
Why do crabs never give to charity?
Because they're shellfish!
That's all for now, folks! Have a great week. Be safe, make good choices, and give someone a hug!
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-12-09 16:04:57
Hey friends!
I hope you had a good week! I celebrated my birthday with family and friends and it was a really great time. Let's learn!
Was this forwarded to you? You can subscribe here!
CSS Wrapped 2024
Existential React questions and a perfect Modal Dialog
Building an e-commerce app in 4 hours (video)
Announcing Elementary v4.0
I kept up my blogging this week! In case you missed it, I have been writing a blog post for every day in December. It has been kind of challenging to come up with ideas for posts (I was very optimistic when I started), BUT we're doing it!
Here's the posts I wrote this week:
Will I keep it up for another week? We'll see, heh.
No sponsor this week, but here's a few wonderful non-profits who could use your support this holiday season:
Last week, I had you help Santa with his roll call! Ho ho ho Andreas, Ender, droffilcasepam, Marco, David, Ten, Ashish, Austin, Kyle, Ross, Muhammad, Miguel, Diego, Alison, Jeremias, Amine, Vasanth, Ricardo, Kriszti, Chase, Phillip, and Lenny!
This week's question:
Write a function wrapGifts
that finds the maximum number of gifts that can be wrapped using a single strip of wrapping paper of a given width. Each gift has a specific length, and you can only wrap gifts if their total length fits within the paper width without cutting the paper.
Example:
wrapGifts([2, 3, 4, 5], 7)
2 // either gifts 2 and 5, or 3 and 4.
wrapGifts([1, 1, 1, 1, 1, 1, 1], 3)
3
wrapGifts([1, 2, 3, 4, 5], 6)
3 // 1 and 2 and 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)
Literature Clock
Flag Stories
HMKB V1 65 BAA RAL1023 keyboard with MT3 Serika
Chicago Kare font by Duane King
I really don't like going to arenas because it's always SO windy in there.
There's just so many fans!
That's all for now, folks! Have a great week. Be safe, make good choices, and fold your laundry sitting on that chair!
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-12-02 15:59:10
Hellloooo!
Can you believe it's December already? I truly cannot. Time is so weird. Let's kick off the month with a bang!
Was this forwarded to you? You can subscribe here!
Measuring Product Impact Without A/B Testing: How Discord Used the Synthetic Control Method for Voice Messages
This Website is Hosted on Bluesky
I learned React Native as a web developer, and I got everything wrong
Structured Editing and Incremental Parsing
This past Thanksgiving week was full of very welcome family time! I had such a packed week of toddler-wrangling, eating with family, watching the new Wicked movie, and just being more offline than usual.
That being said, I did get back into blogging a bit more, this week! I wrote about:
That last post there is my first in my newest Blogvent series, where I'll (try to) write a blog post every day for December!
The fastest way to build AI apps.
Writer is the full-stack generative AI platform for enterprises. Quickly build and deploy AI apps with Writer AI Studio, a suite of developer tools fully integrated with our LLMs, graph-based RAG, and AI guardrails. Use Writer Framework to build Python AI apps with drag-and-drop UI creation. Our API and SDKs allow you to integrate AI into your existing codebase.
Start building with AI Studio.
Last week, I had you organize a family meal! I fully messed up my own examples for the question and I apologize for that. Blame my sleepy brain writing code at that hour. Good catch to the folks who figured it out and worked around it! Good work smarties Ender, Yosola, Austin, Phillip, Amine, Andreas, Ten, and Eric!
This week's question:
Santa is conducting his daily roll call for the reindeer, but the printer has mistakenly printed all their names backwards. To take attendance properly, he urgently needs a tool to reverse the reindeer names and put them in alphabetical order! Can you help Santa?
Example:
rollCall(["yzneT","ydissaC","enimA"])
["Amine","Cassidy","Tenzy"]
rollCall(["rennuD","nexiV","recnarP","temoC","neztilB","recnaD","diduC","rehsaD","hploduR"])
["Blitzen","Comet","Cupid","Dancer","Dasher","Donner","Prancer","Rudolph","Vixen"]
rollCall(["A","B","C"])
["A","B","C"]
(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 Advent of TypeScript: a free month-long event running from December 1 to Christmas, featuring daily TypeScript challenges. You'll be able to test your skills, climb the leaderboard (win prizes!), and be part of a community!
‘We Were Wrong’: An Oral History of WIRED’s Original Website
Luminkey LX60 ft. Moth & Flame keycaps
This to That: Because people have a need to glue things to other things
Kurt Vonnegut: ‘We are Dancing Animals…’
Where do young cows eat lunch?
In the calf-eteria!
That's all for now, folks! Have a great week. Be safe, make good choices, and stay cozy!
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-25 15:48:05
Hey friends!
Happy Thanksgiving week, Americans! I hope you have some fun plans. For everyone else, I hope you also have fun plans, even if they don't involve stuffing your face with good food. Shall we dance?
Was this forwarded to you? You can subscribe here!
Importing a frontend JavaScript library without a build system
No Fuss Light/Dark Modes
The magic of keeping one level of abstraction per function
Moderating Uploads with AI in Astro (video)
I spent the whole week at Microsoft Ignite! It's a giant Microsoft conference that I had never been to before, and it was really interesting. It's more IT-oriented than developer-oriented, which I'm not really used to, and I learned a bunch about what these highly technical people do (who don't often code, what a concept).
I gave a few talks (sadly none were recorded, BUT you can hear my voice during the keynote on the conference homepage at 2:07:36 and some other parts if you really want to, ha), manned the GitHub booth, and had some really fun conversations with attendees and my teammates. It was a good time, but I'm definitely tired and looking forward to a holiday week to rest up!
Volv is a Snapchat-backed social news app that consolidates the most important, viral, and interesting content from around the web into 9-second stories that you can just scroll through like social media. Users call it “TikTok for smart people”, since they use Volv instead of TikTok and Insta to discover quality content that they would’ve never read otherwise. So far, users have read 60 million stories on the Volv app!
Here’s a code you can use to get Volv Premium free for a month: VOLVRC
Last week, I had you maximize your profit in the stock market! To the moooooon Ender, Marco, David, Muhammad, Sophie, Ross, Kyle, Austin, Ian, Ten, Ross, Kyle, Austin, Ian, John, Amine, Kriszti, Chase, Ricardo, Alison, and Murtala!
This week's question:
You're organizing a family meal. Given a list of dishes and their respective preparation times, return the minimum number of hours required to prepare all dishes if you can cook up to two dishes simultaneously. If a dish takes longer than the remaining time of the current hour, it will be moved to the next hour.
Examples:
// Using number of minutes for prep time
mealPrep([120])
2 // one single long dish
mealPrep([30, 30, 30, 20])
1 // multiple shorter dishes
mealPrep([30, 25, 45, 30, 60, 15])
3 // many dishes with varying times
(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)
Rouge Bauer Lite with MW Shark Tail
The Day Celine Dion Destroyed Your Mac
What It's Like to Be… a Marine Biologist
Another Typical Article About Sabbatical—Or Is It?
Why did the turkey join the band?
Because it had the drumsticks!
That's all for now, folks! Have a great week. Be safe, make good choices, and be grateful!
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-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