Issue #284: "The best prophet of the future is the past." - Lord Byron
Hey friends!
I hope you had a great week! Mine was pretty packed, but I got to eat some great food for Lunar New Year and Chicago’s Restaurant Week, so I’ve got no complaints here.
Onwards!
Was this forwarded to you? You can subscribe here!
Web links of the week
6 Common SVG Fails (and How to Fix Them)
Supabase Auth Tutorial with React
Using :is() in complex selectors selects more than you might initially think
Building an accessible theme picker with HTML, CSS and JavaScript
Something that interested me this week
This week was a bit of a catch-up week after my company’s offsite, and I ended up speaking on 4 different podcasts, a Twitter Space, the Visual Studio Code livestream, my own livestream, and launched the latest episode of The Dev Morning Show (at night) featuring Anjana Vakil!
Phew. It was a bit of a lesson in scheduling things in the future, but it was fun talking to so many folks!
Sponsor
Airplane is a developer platform for building custom internal tools. Airplane lets you transform scripts, APIs, and SQL queries into shareable internal apps in minutes.
You can use Airplane to build internal admin panels/dashboards, host scheduled operations, share scripts and on-call runbooks, create complex multi-step workflows, and more. Unlike no-code/low-code platforms that address similar use cases, Airplane is code-based: everything you create in Airplane can be version controlled, integrated with the rest of your codebase, and extended using third-party libraries.
We have Tasks (functions built with SQL, API calls, or code), Views (which allow you to create custom UIs, admin panels, and dashboards, and leverage our component library), and offer enterprise-grade features out of the box including maintenance-free schedules, permissions and RBAC, audit logs, notifications, self-hosting, and approval flows.
We recently launched code-based, multi-step workflows in Airplane, making it easier to build human-in-the-loop operations, call tasks from existing workflows, perform loops, reuse logic, execute long-running operations, and more.
👉 Sign up for a free account to try it out!
Interview question of the week
Last week, I had you make a “spin the wheel” game. Y’all had fun with this one, it was a great time looking through submissions! Awesome job Miguel, Dan, Brian, Tamas, Elizabeth, Chinar, Binh, Max, Ángel, Ten, and Daniel!
This week’s question:
You are given a list of positive integers which represents some range of integers which has been truncated. Find the missing bits, insert ellipses to show that that part has been truncated, and print it. If the consecutive values differ by exactly two, then insert the missing value.
Examples:
> missingBits([1,2,3,4,20,21,22,23])
> "[1,2,3,4,...,20,21,22,23]"
> missingBits([1,2,3,5,6])
> "[1,2,3,4,5,6]"
> missingBits([1,3,20,27])
> "[1,2,3,...,20,...,27]"
Cool things from around the internet
Beige Cypher R3 with SA Espresso
Why we all need subtitles now
These Gorgeous Photos Capture Life Inside a Drop of Seawater
Four Thousand Weeks
Joke
I adopted my dog from a blacksmith.
As soon as we got home, she made a bolt for the door!
That’s all for now, folks! Have a great week. Be safe, make good choices, and hydrate!
Special thanks to Gabor, Stephen, IceSloth, Alaska, Josh, Conor, Ezell, Karthic, Ximena, Paige, Zev, Sebastián, Ben, Sema, Kinetic Labs, Vadim, Bailey, and Carmina for supporting my Patreon and this newsletter!
cassidoo
website | twitter | patreon | github | twitch | codepen | polywork | mastodon