Directus just opened up their State of Data Survey, which you should go take for two reasons:
It only takes 7 minutes, and they’re giving away $1,000 in prizes.
We’re going to write about the results next month, and I really don’t want to be forced to make up fake data to support my theories. The last time I did that was for my college stats final, and it did not end well.
Today’s Issue: Escaping cookie banner hell, tradeoffs from Rust-based linters, and a spicy Valentine’s Day with JavaScript behavior trees and Kenny G.
Welcome to #254.
Me thinking about how Vue 2 came out 7 years ago
On December 31st, Evan You took Vue 2 away and dropped it off at that special farm to live with my childhood goldfish, my nephew’s pet guinea pig, and Angular.js.
This wasn’t a surprise — the Vue team has spent the last 18 months warning us all that Vue 2 would reach End of Life on New Year’s Eve 2023. It’s a smart move that allows the Vue team to focus all their efforts on Vue 3 going forward, but it still hurts to see the end of an era 😢.
Before Vue 2 launched in October 2016, Vue was a fast-growing but still-niche framework that was getting less than ~45k npm downloads a week.
The year after Vue 2 was released, that number jumped almost 5x to 218k weekly downloads, and it was up to 1.9 million weeklies when Vue 3 launched in September 2020 (a whopping 42x increase from the week Vue 2 launched).
It was during those Vue 2 years that developers really started to fall in love with the framework’s progressive, incrementally-adoptable approach to building UIs. And this was largely thanks to the improvement Vue 2.0 introduced to the virtual DOM, template syntax, reactivity, and more. Vue 2 also enabled the larger Vue ecosystem to grow to support more complex Vue projects with libraries like Vuex and Nuxt.js.
In many ways, Vue 2 was kind of like Blink 182’s Enema of the State album — an iconic release that helped catapult an indie framework into the mainstream while spawning a lot of lookalikes along the way.
Bottom Line: The Vue crew will obviously be in good hands now that the Vue team can devote all their focus on Vue 3. But you can’t fully understand where things are going without appreciating where they’ve been.
Enjoy the farm, buddy.
Users when they start uploading CSV files into your app
If you’re trying to give your users a way to upload data into your application, I’m warning begging you not to try building it from scratch.
There are ~10,000 gotchas waiting to eat you alive once your customers start trying to import messy data files, and each one can set you back weeks.
That’s why smart companies like Ramp and Vanta use OneSchema’s embeddable CSV importer to skip all that pain.
But what makes One Schema different from other CSV importers?
Powerful bulk data editing features for your users like find & replace, auto-fix all errors, and bulk delete/add rows
The most performant data importer at scale (see benchmarks)
Enterprise features like advanced UI customization, i18n, and automations with the OneSchema API
Check it out — and launch CSV imports in days instead of months.
Take the 7-minute survey, win some prizes - like AirPods, Amazon gift cards, and more.
Did you know that the anchor element can do more than just navigate to a url?
<a href="https://bytes.dev">Read Bytes!</a>
We’ve got three specific use cases. Can you guess them?
Josh Goldberg wrote a nuanced piece about how The speed gains from Rust linters aren’t comparable to the full feature set of typescript-eslint. It turns out that Rust linters are still great and very fast, but do come with some tradeoffs around type safety.
Basedash uses AI to build you a full admin panel for free. Just connect your database, and you’ll instantly get a beautiful suite of customizable internal tools like dashboards, charts, and a multiplayer data editor. It’s pretty wild. [sponsored]
typed-route-handler gives you type-safe API Route Handlers for Next.js.
Matt Henderson wrote about What happened when his team removed advertising cookies from the Sentry website. Maybe if we each send it to our respective company’s marketing teams, we’ll all be able to collectively escape the cookie banner hellscape of the current web.
Philipp Burckhardt wrote this 2023 retrospective on the npm ecosystem. It was the best of times, it was the blursed of times.
In case the first cool bit didn’t convince you that Rust is worthless, Joshua Mo wrote about Getting Started with Axum, Rust’s most popular web framework.
CodePen released their Top 100 pens of 2024.
Snyk is hosting a free Ethical Hacking 101 Workshop to help you learn how to identify security weaknesses in your systems before attackers do. You’ll get live support in the hands-on lab as you learn to find and fix vulnerabilities in real time. [sponsored]
remote-storage combines the localStorage API with a remote server to persist data across browsers and devices.
Sutra.js is a new JavaScript behavior tree library for easily creating and managing complex behavior patterns. Combine that with Karma.js and last year’s Kenny G album, Innocence, and you’ve got yourself a spicy Valentine’s Day.
<!-- sends a POST request with the body of PING to url -->
<a href="#" ping="https://api.iwanttotrackyou.com">
Click Me
</a>
data:
or blob:
directive).<a href="data:,Hello%2C%20World%21" download="helloworld.txt">
Download
</a>
<a href="mailto:tyler@ui.dev?subject=Re%3A%20My%20third%20nipple&body=%F0%9F%91%8B">
Hi 👋
</a>
And that’s all folks. Thanks for reading ❤️.