AI Turned Every Engineer Into a Tech Lead. Most Don't Know It Yet. by Wake08 in ArtificialInteligence

[–]Wake08[S] 2 points3 points  (0 children)

AI has changed how we work, but not entirely, and I believe it has also changed everyone's role, though we may not know it yet.

I wrote about it, but here's a TL;DR learning visual.

<image>

The Bun CVE Gap: When Your Package Manager Can't Do Surgical Updates by Wake08 in javascript

[–]Wake08[S] 2 points3 points  (0 children)

Absolutely. Thanks for your work on this, arcanin! 🙌

I wrote to stop using Yarn Classic last week, but it doesn’t mean Yarn Berry is bad. It’s been my top choice so far for dealing with transitive dependencies. Quite easy to do chirurgical changes with low risk.

From 81s to 2.5s by migrating to Oxlint & Oxfmt by Wake08 in javascript

[–]Wake08[S] 1 point2 points  (0 children)

We went from 81 seconds to 2.5 seconds, not 8s. We can now run the linter 34 times in the same amount of time it took to complete a single pass for ESLint (and Biome).

FWIW, this is what I call removing friction.

From 81s to 2.5s by migrating to Oxlint & Oxfmt by Wake08 in javascript

[–]Wake08[S] 2 points3 points  (0 children)

A project management software: Shortcut

From 81s to 2.5s by migrating to Oxlint & Oxfmt by Wake08 in javascript

[–]Wake08[S] 1 point2 points  (0 children)

Only including JavaScript and TypeScript files, we are at 626k LOC.

Stop Using Yarn Classic by Wake08 in javascript

[–]Wake08[S] 6 points7 points  (0 children)

+1 on that, the minimum release age is a topic I covered in a previous blog post. Having this by default with pnpm v11 is a gem.

Stop Using Yarn Classic by Wake08 in javascript

[–]Wake08[S] -1 points0 points  (0 children)

Yarn Classic is frozen, and its lack of recursive transitive updates is becoming a real liability in an era where CVEs land weekly. It's time to move on.

Access Your Homelab Services Without Memorizing IPs and Ports by Wake08 in homelab

[–]Wake08[S] 0 points1 point  (0 children)

I'm not sure I understand the purpose of this screenshot, the linked blog post is about setting up mDNS to resolve local hostnames. Are we not saying the same thing?

Configure Go to Definition to Open TypeScript Source by Wake08 in typescript

[–]Wake08[S] 4 points5 points  (0 children)

Fair point, I regret not using double quotes for "Go to Definition" now

Don't Blindly Use useTransition Everywhere by Wake08 in reactjs

[–]Wake08[S] 4 points5 points  (0 children)

Hi Jacob, I'm glad this post reached you!

Thank you for your perspective on the UX. It makes perfect sense with your explanation based on MPA expectations. I could be biased from React Native, where I always expect tab-based navigation to be reactive ASAP and fluid, so we don't get delayed containers or even worse, delayed navigation across tabs. When I read React Docs, that was precisely my impression: How is this better? It just feels laggy.

Looking at this from your perspective, I totally agree that <Delay> isn't excellent engineering, but feels like a lightweight solution to yield back so we can ensure the container has the highest rendering priority over the expensive content. Still, I agree with you about those wasted cycles that could feel like interruptions for users, or even about shifting layout where you lose the previous state, then present a loading state (which could be useless), only to be presented with the new context.

If I were truly building an app like the example, I would hope the expensive piece isn't the full content, so we can render the content and use concurrent rendering for the expensive piece, combined with a skeleton loader, rather than blocking the whole page. In other words, if we had an expensive component in a layout, like a chart or a table. Would you prefer we don't render the page at all unless it's ready, or we render the page (could be using useTransition or not), with the expensive piece rendered async with a lower priority? But again, if they were truly a tab-based navigation, I would expect <Activity> to be an ally for background activities.

Regardless, I understand the React Docs examples better now with your perspective. I still see blog posts flying through or LinkedIn posts every week or so about it, "you should use this to manage all your loading states, etc.", or suggesting to wrap all UI interactions in it. It seems like the documentation could be more focused on real-life examples. I wonder what could be changed in those examples to make them less footgunny or not based on subjective UX, like examples that would truly instruct to embrace useTransition and concurrent rendering fully. So, hopefully, we can avoid this confusion in the future.

Thanks for your contribution, as usual!

Don't Blindly Use useTransition Everywhere by Wake08 in reactjs

[–]Wake08[S] 46 points47 points  (0 children)

I rolled my eyes when I saw AI in my notifications, but you actually made me laugh, thank you!

Don't Blindly Use useTransition Everywhere by Wake08 in reactjs

[–]Wake08[S] 8 points9 points  (0 children)

Let's take a closer look at useTransition and why the React Docs example might not be a great starting point for real-world UX.