2025-03-03 16:01:44
Hey friends!
It's March! I hope you ended February well. I kinda fell behind on my reading goals, but I got some more side project work done, so... you win some, you lose some. Vámonos!
Was this forwarded to you? You can subscribe here!
Let’s make a web server
TypeScript types can run DOOM (video)
How Core Git Developers Configure Git
Create a HTML5 game like “Golf Dash” with Phaser
I yelled at myself this week to try and stop overthinking some of my own projects and writing and just... get it out there. It's easier said than done, of course, but I'm trying to improve in this area. It's so easy to fall into the trap of wanting things to be perfect!
Also, a fireside chat that I gave a few months ago with Shruti Kapoor went live this week, if you want to learn about networking and getting paid!
The Rawkode Academy provides educational, entertaining, and cutting-edge learning paths for you, or your developers, to keep up with the fast-paced, ever-evolving, and extremely volatile Cloud Native landscape!
The platform is open source, and has 500+ hours of content that covers over 90 projects from the Cloud Native Computing Foundation.
Sign up today or partner with Rawkode to level up yourself, your org, and your developer community!
Last week, I had you tune musical notes! Do re mi fa so-lid work David, Jorge, Austin, Ten, Jawara, Neha, Shreya, Vyaas, Ricardo, and Saleh!
This week's question:
A store is going out of business and will reduce the price of all products by 10% every week leading up to the closing date. Given the closingDate
, visitDate
, and the originalPrice
of a product, write a function that returns the price of the product on the visitDate
. You can assume that originalPrice
is a positive number.
Example:
calculatePrice('2025-04-01', '2025-03-03', 100); // 4 weeks of discounts
> 65.61
calculatePrice('2025-04-01', '2025-03-15', 50); // 2 weeks of discounts
> 40.5
calculatePrice('2025-04-01', '2025-04-15', 75); // No discount (visit after closing)
> 75
(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)
Mechanical cheese board
What to do with your life
Why You Can’t Get That Song Out of Your Head
This open problem taught me what topology is (video)
Time flies like an arrow. Fruit flies like a banana.
That's all for now, folks! Have a great week. Be safe, make good choices, and close your eyes every few minutes while you're staring at screens!
Special thanks to IceSloth, Ezell, Sebastián, Ben, Kinetic Labs, and Marta for supporting my Patreon and this newsletter!
cassidoo
website | blog | github | bluesky | twitter | patreon | twitch | codepen | mastodon
2025-02-24 14:47:45
Heyo y'all!
I hope you had a good week! Make this last week of February count. Or not. Let's learn!
Was this forwarded to you? You can subscribe here!
How to add a directory to your PATH
Learning web extensions
Deeply Understand Currying in 7 Minutes
Reimagining Fluid Typography
This week felt like it went super fast with the American holiday on Monday! I spent some good times with family and friends, experimented with React Native (maybe I'll have something to show later? Maybe?), and spoke at TheJam.dev (recordings available soon)! It's hard to believe how fast February went, but I'm glad to have some more sunny days coming soon with all the cold and snow we've had in Chicago.
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)!
Last week, I had you determine if a spaceship shield was safe. Pew pew good for you Amine, Ricardo, Jeremias, Miguel, Tim, Austin, Vanessa, Muhammad, Szymon, Saleh, Kyle, Ashish, David, Neha, Nwosa, Winnie, Ten, Max, and Ross!
This week's question:
Given a list of frequencies (in Hz), write a function to determine the closest musical note for each frequency based on the A440 pitch standard. Extra credit: indicate if the note is flat or sharp!
Example:
> getNoteNames([440, 490, 524, 293.66])
> ["This is a A", "This is a B, but it's flat", "This is a C, but it's sharp", "This is a D"]
(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)
Fold 'N Fly: Paper Airplane Designs
Irina Kulikova performs "Milonga" by Jorge Cardoso (video)
A tribute to movies with inaccurate binocular shots
Dusk67 keyboard with Green Marble keycaps
What happens when a microscope crashes into a telescope?
They kaleidoscope!
That's all for now, folks! Have a great week. Be safe, make good choices, and experiment with new things!
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
2025-02-17 16:14:10
Hey friends!
I hope you had a nice week. Mine was productive, which felt good! Let's learn.
Was this forwarded to you? You can subscribe here!
How I Migrated from WordPress to Astro
How to build a copy code snippet button and why it matters
Beware the faux bold (and how to fix it)
"A calculator app? Anyone could make that."
I got a lot done this week!
I still have some things that I wished I got done, but... ya know, you win some, you lose some!
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!
Last week, I had you figure out NFL uniform numbers! Awesome work Muhammad, Nwosa, Ricardo, Neha, Ten, Tim, Saleh, and Pat!
This week's question:
Given an array of attack damages and a shield capacity for a spaceship, return the index when cumulative damage exceeds the shield. Return -1 if shield survives.
Example:
> findShieldBreak([10, 20, 30, 40], 50)
> 2
> findShieldBreak([1, 2, 3, 4], 20)
> -1
> findShieldBreak([50], 30)
> 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)
I built an Omni-Directional Ball-Wheeled Bike (video)
Microsoft Study Finds AI Makes Human Cognition "Atrophied and Unprepared"
The hardest working font in Manhattan
Protozoa Strata keyboard with mixed switches
Want to hear my construction joke?
Sorry, it's still being worked on.
That's all for now, folks! Have a great week. Be safe, make good choices, and don't procrastinate!
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
2025-02-10 14:09:41
Hey friends!
I hope you had a better week than the Chiefs did at the Super Bowl! That's right, I made a sports reference, because I am soooo cultured. Anyway, let's learn.
Was this forwarded to you? You can subscribe here!
Differences between ESLint and TypeScript
How I learned to code with my voice
Scroll state queries are on the way (video)
Backlinks in Astro
I had a fairly busy week at work (we launched a ton of stuff, I livestreamed making this browser extension with Copilot, and popped in on the RedMonk podcast), and at home my toddler has learned how to escape her bed, so it's been an adventurous one, to say the least.
As for this next week, I'll be writing, making, and sharing some fun stuff for Valentine's Day, and after that, I'll be speaking at TheJam.dev virtual (free!) conference coming up in a couple of weeks! "Watch this space," as the kids say.
Hearth: Your AI Rolodex to tap into your personal and professional relationships and keep them warm. 🔥
How you can use Hearth:
Sign up through this link for a month free -- no credit card information required!
Last week, I had you evaluate postfix expressions! I love questions like these ones, and y'all had some good answers. Awesome work Taylor, Muhammad, Mudasir, Rekha, Amine, Peter, Sreetam, Ashish, Stephen, Vanessa, Nic, Ricardo, Ten, Robert, Winnie, Tim, and Neha!
This week's question:
Given the current system of NFL uniform numbers, a given player's position, and an array of existing numbers on the team, write a function that returns a list of numbers that the given player can choose from for their uniform.
Example:
> availableNumbers("QB", [1, 2, 3, 10, 19])
> [4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18]
(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)
Piano scales cheat sheet
Defying Gravity Synchronized Roller Coasters (video)
keyten's Lisa keyboard with GMK Oblivion
You're missing your near misses
How do you weigh an elephant?
The same way you weigh a human… just on a larger scale!
That's all for now, folks! Have a great week. Be safe, make good choices, and help your neighbors!
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
2025-02-03 14:41:29
Howdy y'all!
Phew, I don't know about you, but this has been a week and I am looking forward to having more chill times. Anyway, let's learn.
Was this forwarded to you? You can subscribe here!
Simplify Lazy Loading With Intersection Observer's ScrollMargin
So, you want to push a web platform feature?
Find the oldest line in your repo
Open-Closed Principle in React: Building Extensible Components
This week ended up being way busier than I expected it to be, but I did get to enjoy some Chicago Restaurant Week food and got hyped about the Pebble Watch coming back (I still have my old one)! PLUS I actually did blog this week, about Git rebase specifically.
Also, I'll be speaking at TheJam.dev virtual (free!) conference coming up in a couple of weeks, you should join us!
I admit, the latest news coming out of the U.S. has been really hard to deal with. I hope you and your loved ones are safe, happy, and healthy, and not too stressed by it all. Act locally and build your community!
No sponsor this week!
But, did you know that you can join a very fun and techy Discord community via my Patreon? You should. We've been going for 5+ years, have a code of conduct and mods, and plenty of memes to go around!
Last week, I had you find anagrams in strings! Awesome work Ten, David, Muhammad, Brett, Ricardo, Kyle, Amine, Sreetam, Neha, Winnie, Shreya, Alison, Peter, Kriszti, and Gajendra!
This week's question:
Write a function that evaluates a postfix expression (also known as Reverse Polish Notation) and returns the result. The expression will contain single-digit integers and the operators +
, -
, *
, and /
. You can assume the input is always a valid expression!
Examples:
evaluatePostfix('12+')
> 3
evaluatePostfix('56+7*')
> 77
(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)
Cheetos Other Hand Font (video)
87 Pixel Art Masterpieces: Pappas Pärlor’s Perler Bead Street Takeover
Keykobo Motosuko Lake on the Sin65
Taking A $15 Casio F91W 5,000 Meters Underwater
Why can't you have 12 jobs?
Dozen work!
That's all for now, folks! Have a great week. Be safe, make good choices, and don't get too bogged down by the 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
2025-01-27 15:39:07
Hola hola!
I can't believe we're already at the end of January! This week felt like it both flew by and was the longest week ever, I don't know about you. Let's go!
Was this forwarded to you? You can subscribe here!
Why developers should embrace creative coding again
Creating an Angled Slider
Develop, build and distribute your HTML5 Phaser games with Vite
Avoiding any
s with Linting and TypeScript
This week was a long week of being busy at work and kind of avoiding the chaos of news as much as possible here in the United States. I finished reading Yumi and the Nightmare Painter (it was excellent!!) and The Dip (it was short and decent, and honestly probably could have been shorter), started reading Babel, and spent good quality time with my toddler (we started swim lessons! So cute!). I am kind of falling behind on blogging these days and hope to get back into the swing of things sooner rather than later, so this is me saying it: I will write something this week!
2025: Your Year to Build Apps with Wix Studio
2024 was a big year for Wix Studio—but 2025? It’s YOUR turn to shine. 🌟
We have added many features and enhancements to the existing platform, which is all you need to bring your app from concept to profit already in 2025:
You’ve got the ideas. We’ve got the tools to help you turn them into a thriving business.
Join us and start building today 👉
Last week, I had you find subsequences with certain constraints. Good work Ten, Muhammad, David, Ricardo, Amine, Stephen, Kyle, Ashish, Mac, Jawara, Tim, Neha, Shreya, Mazen, and Alison!
This week's question:
Given two strings, s
and p
, return an array of all the start indices of p
's anagrams in s
.
Examples:
findAnagrams("cbaebabacd", "abc")
> [0, 6]
findAnagrams("fish", "cake")
> []
findAnagrams("abab", "ab")
> [0, 1, 2]
(you can submit your answers by replying to this email with a link to your solution, or share on Bluesky, Twitter, LinkedIn, or Mastodon)
Inside Inventor Simone Giertz’s Small Los Angeles Home (video)
The Protesters' Guide to Smartphone Security
Basque language origins
Game Boy Keyboard (video)
How do you get a farm girl to like you?
A tractor!
That's all for now, folks! Have a great week. Be safe, make good choices, and eat fruit!
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