JSX is a compile time thing

Yes, really...

JSX should not be, nor really *could* be a part of the language. It is syntactic sugar that turns into function calls based on a config.

Serverless is automatic vendor "lock-in"

Yes, really....

If you deploy to AWS, Vercel, Netlify, CF Workers, etc you have vendor (hosting provider) specific code. You may not write it depending on what "framework" you are using, but it exists.





Notice how not a single one of these has the same entrypoint? That's "lock-in". All of these except CF are just bespoke, non-portable entrypoint and request/response conventions around Node.js.

Your markdown is source, not content

But it can be content!

If you have to re-deploy your app when you change a markdown file, it is source. Full stop.

Store it somewhere it can be requested at runtime and now it's content.

The V in your MVC

As it was meant to be

Some of you youngins have never worked in a MVC pattern and I honestly feel bad for you. Your typical SPA just incomprehensibly mashes together the V & C. Can you say nightmare?

https://remix.run gives you a *good* V & C layer, letting you choose the M. Give it a try and you'll never go back.

The node package ecosystem


Can people just ship ESM *and* CJS FFS???

Always Be Connecting (with HTTPS)

The ABC's of the web

If you don't read the https://fly.io/blog you should. They have some awesome in-depth articles as well has higher level yet useful tips such as https://fly.io/blog/always-be-connecting-with-https/

Litestream is 🔥

Goodbye PostgreSQL

With Prisma having SQLite as a provider and Litestream replicating globally in a matter of milliseconds with virtually no setup required when hosting on Fly.io, I don't ever see myself going back to running a DB server. It's just not worth it for the type of apps I like to build for fun.

This site for example is hosted in 19 regions on Fly.io and posts replicates between all of them in less than 300ms.