![]() Welcome to #126. We finally got to the bottom of a massive cheating scandal last week when my grandma admitted to her Bridge group that she had been fixing games since the mid ’90s. It turns out her “nicotine patch” was hooked to a wire that buzzed twice whenever one of the other ladies was bluffing. Does this mean I should return those unusually large birthday checks? This week, we’ve got death, zero tolerance policies, and becoming drunk with power. Let’s ride. ![]() The Main Thing![]() RIP in peace, useEvent. Would You RatherRemember that shiny new React hook that was going to solve all our problems? Yeah, so that’s dead now 🥲. Zooming in: It’s been 6 months since we got our first look at To be fair, the React Team says they aren’t actually killing Similar to when the men’s restroom was closed at my gym (forcing me to choose between pooping my pants or making direct eye contact with the cleaning staff after debasing the ladies’ room), the React team finds itself in an uncomfortable predicament. On one hand, React has a massive user base and churning the ecosystem isn’t a good option. But on the other hand, it seems like they’re suffering from analysis paralysis and have been struggling to ship meaningful improvements. So what should we all do in the meantime? It seems like we have 3 main options:
Bottom Line: For most developers, it looks like facing the judgmental eye of the cleaning staff is (metaphorically) the best option here. Interpret that how you will.
![]() Our Friends |
![]() | Senior or Staff Front-end Engineer | ||
| |||
Close.com is looking for 2 experienced individuals that have a solid understanding of React and want to help design, implement and launch major user-facing features. Close is a 100% globally distributed team of 65 high-performing, happy people that are dedicated to building a product our customers love. |
Want to learn React Query? There’s no better way to do it than from the Official React Query course.
class User {
async constructor(userId) {
const user = await getUser(userId)
this.id = user.id;
this.name = user.name;
this.email = user.email;
}
...
}
ViteConf is happening tomorrow and Wednesday online for free. The speaker lineup is great, but by far the coolest thing they’ve done is allow you to claim a virtual ticket and personalize it with the Bytes tongue logo. (Does this mean we’ve made it? Is this what being drunk with fame and power feels like?)
Datadog wrote this solution brief about How to use synthetic monitoring to feel more confident. We’re pretty sure they’re talking about feeling more confident in the software you’re writing, but it might help you feel more confident in your personal life as well. There’s only one way to find out. [sponsored]
Salma Alam-Naylor (a staff DX engineer at Netlify) wrote about how she changed her mind about writing new JavaScript frameworks. It turns out that you actually can’t have too much of a good thing, after all.
Luca Casonato (from the Deno team) wrote a custom JavaScript runtime in 30 minutes on stage during his talk at Armada JS Conf. Unfortunately, that violated the non-compete clause of his employment contract, so Ryan Dahl was forced to fire him during his subsequent talk on “zero-tolerance policies” at Hardcore OSS CEO Conf.
Aleksey Kladov wrote about Hard Mode Rust, which would be a great title for a Discovery Channel show about dudes with beards searching for heavily oxidized objects at the bottom of the ocean.
Axios v1.0 just launched (8 years later). Now you can finally use it safely in production.
Zarf is a Bun-powered Web API framework with full Typescript support, which we assume is based on Snarf from Thundercats — but the creator wanted to make sure they wouldn’t get sued by Cartoon Network.
Andrey Sitnik wrote about a smarter approach to creating Favicons in 2022. It reminded me a lot of my grandma’s recent blog post about “a smarter approach to laundering money through birthday cards.” I guess there were some red flags after all.
JavaScript doesn’t allow class constructors to be async
. We have to do any async actions outside of a constructor. Static class methods can help with this.
class User {
static async init(userId) {
const user = await getUser(userId);
return new User(user);
}
constructor(user) {
this.id = user.id;
this.name = user.name;
this.email = user.email;
}
}
const me = await User.init(1)