I hope today is full of fun spooky stuff for you (scary movies, pumpkins, costumes) and not *actual* spooky stuff (face-to-face conversations with your co-workers, Milky Way bars).
Today, we’ve got uncomfortable blog post titles, JS-themed costume reveals, and a good old fashioned “kind-of-told-you-so.”
Welcome to #132.
Come and play with us
You may remember our TEN PREDICTIONS FOR 2022 issue we ran earlier this year. Among predictions like “React 18 will… launch 🥲” (bold) and “RIP Babel and Webpack” (also bold), we also had one about everyone’s favorite meta-framework.
“Netlify will acquire Remix. ‘Bottoms up’ framework is the wave. Netlify will want the distribution and Remix will want the… money. It would let the Remix team spend their time on what they’re good at, Remix-the-framework, rather than Remix-the-business. The pairing would give them both a much better shot at catching up with Vercel/Next.js.”
At the time this take was controversial, but as is the case in horse shoes, hand grenades, and yearly tech predictions, close enough counts. A quick prediction.replaceAll("Netl", "Shop")
and we nailed it!
So with the “we kind of told you so” out of the way, let’s get into the details.
Why? Whenever you see an acquisition, the first question you should ask is “why”. For Shopify, the “why” seems to have a lot to do with their bet on RSC (React Server Components) not panning out. “While we’re excited for the future of RSC long term, as a critical dependency, it presented a number of challenges that became performance risks for our developers, and bottlenecks for our progress.” Because Hydrogen was already built on top of React Router, Remix was a natural alternative to RSC (solving many of the same problems but… like differently). Seems like a solid move for Shopify. But what about Remix? Well the obvious answer is… money.
So is Remix rich rich? Maybe, maybe not. Remix raised $3M in October of 2021. With 7 employees each making market rate, they were probably running out of money. In this scenario, you either get profitable (lol), raise another round, sell, or shut down shop. With the current market dynamics, the gap between what it takes to raise a seed round and what it takes to raise a Series A is bigger than it’s ever been, limiting Remix’s options.
And with what we assume is an unfavorable preference stack (which determines who gets paid first in the event of a sale, hint: the investors), there’s a possibility that fat salaries, BigCo perks, and a soft landing was all it took for the “joining” to occur.
The Bottom Line: It’s no secret that Remix has been the most polarizing project in the JavaScript space the last few years. But regardless of which side you fall on, it’s hard to deny that it’s fundamentally changed how we think about and build web applications – and the web is better off because of it.
Taking all of your PTO during the analytics sprint
Your SaaS customers expect some sort of analytics dashboard when they buy your tool. It helps your app look more legit, and it helps your customers justify all the money they’re (hopefully) paying you for it.
But building analytics from scratch is a nightmare — and not the fun kind of nightmare where you’re saving Hogwarts from your evil 9th-grade English teacher with 17 legs. Thankfully, Cumul.io’s embeddable analytics are actually pretty slick.
They give you a set of pre-made building blocks and simple APIs, so you can add enterprise-quality analytics dashboards to your app in just a couple hours. And you can easily build even more robust tools by adding your own custom events and logic.
Cumul.io integrates smoothly with any tech stack (React, Vue, Angular, React Native, etc.), and it takes care of all the hairy stuff for you where the bugs typically pop up (like auth and multi-tenancy).
Check it out — and go back to having fun nightmares.
Software Engineer - Mobile | ||||
| ||||
Come work closely with Phantom's founders to build their flagship mobile app in React Native – a crypto wallet that's already used by millions of people to access apps and financial services built on the Solana blockchain. |
Cloud Architect | ||||
| ||||
Capco is the largest financial services consulting firm in the world, and they're looking for an experienced cloud engineer to lead new projects for their clients, which ranges from FinTech companies to global banks. | ||||
Powered By: |
Senior or Staff Front-end Engineer | |||
| |||
Close.com is looking for an experienced React developer 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. |
Lead Technical Architect | |||
| |||
The UK Home Office is looking for an experienced engineer to help define, own, and contribute to its technical roadmap and strategy as they build applications and services used by the UK government and its citizens. | |||
Powered By: |
Callstack is *serious* about open source. They’re active in the React Native repo daily, and help build and maintain some of the most important React libraries out there. Check out their projects ❤️.
function addAndSort(array, element) {
return array.push(element).sort();
}
ChiselNow lets you input your TypeScript model, and it spits out a fully-functional CRUD API in seconds. And if anyone inputs a bunch of candy corn into my mouth tonight, I will spit out something that’s equally as gross as a CRUD API, but much less valuable.
FusionAuth wrote this technical white paper about WebAuthn — a brand new way for people to authenticate themselves with web applications. We’re one step closer to the dream of authenticating once via a mailed-in stool sample and then never again. [sponsored]
Vitest Preview is a new visual debugger for your Vitest tests. How many tests could Vitest test if the Vitest could test tests?
Andreas Kling wrote about How he makes a living working on SerenityOS. Alternatively, has he considered raising $3m from OSS Capital and getting a job at Shopify a year later?
Deno 1.27 was just released with some major IDE improvements and better npm compatibility. This might be a good time to mention that I am dressing up as a sexy version of the Deno dinosaur for Halloween tonight.
Sacha Greif wrote about Futuristic CSS. We wanted flying cars, but all we got was toggles and switch functions.
Brad Frost wrote an article called, Let’s talk about web components. For some reason, that title gives me the same feeling in my stomach as when my health teacher turned on that video called, “Let’s talk about your changing body.”
Renato Pozzi wrote about how Your Next.js Bundle Will Thank You if you apply a few specific techniques. My neighbors will certainly thank me for bringing the Halloween spirit with my Deno costume. I’m sure I’ll start to get cold throughout the night, but at least I’ll look hot.
When you call array.push
, it doesn’t return the updated array, but rather the updated length
of the array with the new item. That means you can’t chain the .sort()
call to the end, since the result of .push
is a number.
There are two ways to fix this. One option is to call array.sort()
after the .push
call.
function addAndSort(array, element) {
array.push(element)
return array.sort();
}
The second option appends the item to a new array with array.concat()
and then sorts the new array.
function addAndSort(array, element) {
return array.concat(element).sort();
}