To feel young again

Issue #89.February 28, 2022.2 Minute read.

This week, we’ve got Vue trying to make it as a SoundCloud rapper, a very special birthday celebration, and Wes Bos performance art. Welcome to #89.

Chance the Rapper Meme

You don’t want no problems, want no problems with me

Trouble in the Vueniverse?

Vue has always been like the cool SoundCloud rapper of the JavaScript ecosystem — it’s not quite as mainstream as some of its contemporaries, and it has a super passionate community of fans who love the fact that it isn’t backed by a giant mega-corp.

But the last couple years have been difficult in Vue-Land, starting with the release of Vue 3 in September 2020.

That’s because Vue 3 was all about scaling up. They completely re-wrote its virtual DOM, and introduced a new set of React Hooks-like APIs to “address the pain points of Vue usage in large scale applications.”

But after 18 months, it’s clear that these big upgrades have caused some lingering fragmentation in the ecosystem — Nuxt 3 is still only in beta, and Vuetify (the most popular Vue component library) is only in alpha with its Vue 3 update. Other libraries have also struggled with the migration, thanks to the new major version.

As you can imagine, this has made life a lot more inconvenient for Vue devs — they want to use Vue 3, but their favorite UI framework or component library might not be compatible.

You could make the argument that this migration might have been less painful if Vue was backed by a big tech company with a nonstop money printer, but I’m also old enough to remember Angular.js, so who knows.

Bottom Line: Lots of indie artists struggle to make the jump into the mainstream, while still staying true to the OG fans who got them there. Vue is feeling those same growing pains right now — but the good news is that once the ecosystem finally catches up to Vue 3, they should be stronger than ever.

Cursed Cookie

When you build your own chat app from scratch [sponsored]

Stream is how smart developers build chat apps

Building a chat app from scratch in 2022 is like trying to make Pop-Tarts from scratch — overly complex and completely unnecessary thanks to glorious technology.

That’s because most developers just use Stream It’s the #1 chat-messaging and activity feed platform in the world — because it handles all of the mess that comes with building chat apps for you.

bUt WilL iT SCaLe? Don’t ask me, ask – they use Stream to let their 22 million members send each other heartfelt messages like, “You up?” every single day night. So next time you drunkenly message that person who ghosted you 7 months ago, you can thank (or curse) Stream for making it all possible.

CodePen, Imgur, SoundCloud and a bunch of other companies have built apps with Stream too. Chances are, you’ve already used Stream as a user without even realizing it 🤯.

Check out the free trial and I guarantee you’ll be shocked by how straightforward (and flexible) the API is.

Neville Glowup Meme

Glow-up of the century

Happy Birthday Visual Studio 🎂

Visual Studio is about to turn 25, and like many of us, it was a late bloomer.

Back in 1997, it started out as a collection of three separate IDE’s for Visual Basic, Visual C++, and Visual FoxPro (no relation to Starfox, we checked). And they all came on separate CD’s, which you had to buy from a store 🤮. In the ’90s, “stealing software” meant setting up a heist at your local Circuit City like Mark Wahlberg in The Italian Job. We call it the Dark Ages for a reason.

In 2002, we got Visual Studio .NET edition, which came with a brand new programming language called C#. This fun little bonus feature was created by Anders Hejlsberg, who went on to create TypeScript a decade later 🐐.

And so it went for the next ~18 years. Along the way, Visual Studio was able to ditch the CD’s, but the software itself remained pretty bloated and relatively unpopular. VS finally got its glow-up in 2015 when it came out with VSCode — the powerful text editor we all know and (mostly) love, with TypeScript as the key ingredient.

Fast forward to today, and VSCode is used by over 70% of web developers and literally writes our code for us now. The Visual Studio IDE is still around too, but it’s mostly used by .NET developers to do whatever it is they do.

Bottom Line: None of this is that relevant to me personally, since I write all my code in the Apple Notes app right after I finish sketching it out on a whiteboard — but I guess it’s cool if you’re into debugging your code and stuff.

🔬 Spot the Bug — Sponsored by Unlayer

Unlayer’s simple JavaScript SDK lets you embed a white-label email editor or page builder into your SaaS app in 5 minutes, instead of spending hours building it yourself (gross). Check it out.

function convertMilesToFeet(miles) {
  return miles * 5_280;

Cool Bits

  1. Johnny Simpson wrote about Record and Tuples — a Stage 2 proposal for JavaScript. “Records and Tuples” is also the name of Wes Bos’s performance art piece that he’ll be debuting at the MoMA later this year.

  2. Storybook lets you pinpoint visual bugs automatically. Chromatic runs visual tests, publishes component docs and gathers UI feedback in one shared workspace. That helps you ship UIs with less manual work. Learn more » [sponsored]

  3. Nicholas Nethercote from the Rust team wrote about How to Speed Up the Rust Compiler in 2022. But has he just considered rewriting the whole thing in Rust?

  4. Can you spot the bug in this code?

  5. Jens Kuerschner created a nice JavaScript snippet that lets you create beautiful add-to-calendar buttons.

  6. Justin Schroeder created FormKit — a “form building framework” for Vue 3 that he forked from a Vue 2 version of a similar library he created (Vue Formulate). Because sometimes it’s easier to fork your library than to try and migrate it 🥴.

  7. Jarrod Overson wrote a free e-book called From JavaScript to Rust that’ll get you writing your own blog posts about how to speed up Rust’s compiler in no time.

  8. Parcel v1.4 was just released with Cascade Layers — not to be confused with Cascada Layers — which is what I call it when I blast “Every Time We Touch” on my Bose headphones at full volume in order to feel young again.

🔬 Spot the Bug - Solution

OK fine. There actually isn’t a bug. You might think 5_280 is a typo, but it’s actually a feature of ES2021 called “numeric separators”. You can use it to more easily write numbers with separators.

const products = [
    name: "Sticker Pack",
    price: 10_00,
    name: "The Creation of React T-shirt",
    price: 30_00,
    name: "Expand Your Mind Crewneck",
    price: 50_00,