Long Time Coming
If I had such a thing as a "reader," this person would be authorized to criticize two things:
- My lack of consistency in writing
- How, instead of starting writing again, I tend to start something new
This brief post is the answer to these two imaginary questions.
Consistency is hard
Does that count? Probably not.
Consistency is hard within a changing context
Better.
The last blog/personal website I created was built during the pandemic, started when I was alone at home and all my social interactions were virtual. It was a sad, weird time that destroyed people's minds as well as kickstarted the events that brought us one of the worst economic periods since the 2008 crisis. The combined impact of the pandemic and the war in Ukraine led governments to unprecedented spending, resulting in high inflation and interest rates that we're still grappling with today. The rising cost of living, shrinking job market, and overall economic uncertainty have created a perfect storm that affects every aspect of our lives. I have a lot to say about it, but this is not the time. At that time, I wanted to have a personal page to showcase my professional accomplishments and my side projects (or lack thereof) and a way to publicly express my thoughts, since their lingering in my head was creating monsters. It worked, until it didn't.
At one of the worst times ever for the world, the big one, and my world, the slightly less big one, a company I was interviewing with did a background check, found some of the stuff I wrote, and used it to contact my current employer to ask if I was okay and what kind of person I was. Nothing extreme was written on it; there were a couple of sentences with a joking tone that were completely misunderstood and made people "uncomfortable." I had to bring everything down, hide some of those posts, and then put it back up with some basic auth in place. All good, all done. I left that job, got another one, kept writing on it, but I guess something was broken. The magic was gone. The freedom of expressing my thoughts honestly had gone out the window, and no matter how hard I called it, it was not coming back.
Is that why I stopped writing? Not entirely. I kept writing for a while afterward, but the locks were in place. I felt it but didn't realize how deep the chains were going inside. They were wrapped around my heart, but the stems were in my brain. Things went on, moved to different jobs, did this and that. But you don't talk politics, you are still a slave to standpoint epistemology in any environment, and you never, never say anything that pushes the limits of the Overton window, let alone venture outside. You simply don't, because you are trying to look good to the world. The world is not your real social network, open to listening to you and not labeling you automatically as soon as your point X is something Y agrees with and Y is evil, therefore so are you. No, it's the world of an orthodoxy of companies screening your online presence because you said X and X doesn't look good because employee W might find it out and that makes you evil. This world has a new god that doesn't believe in forgiveness. It's a choice between good and evil, and who would ever choose evil?
I want to say those chains have eventually got to my hands, but that would be a lie, at least in part. The truth is, my life has changed a lot in the last 2 years. I am, at the same time, more of the same and something new. The amount of work I had to do on myself is worth more than a couple of paragraphs. I have solved some old problems, leaving space for new ones. Writing, and in all fairness, anything creative, has lost meaning to me. I have been on a journey to bring everything back. This is not step one, I'm not counting them. I'm just walking.
The third biggest tragedy in humanity
When I decided to build my previous blog, JAMstack was a cool thing that was going to change everything. Now, if you dabble in JavaScript, you know how there is a new paradigm shift every couple of days. There are countless examples out there I can think of since becoming a software engineer: Vue (taking over React soon, boys), Svelte, CSS in JS, GraphQL, Web Components, WASM, etc. There is this never-ending illusion that tool XX being better than tool YY will convince people to transition en masse. After all, who wouldn't use a better tool? None of these technologies are inherently bad—some might even be technically superior for specific use cases—but technical superiority alone doesn't determine adoption. The ecosystem has largely reached a "good enough" stage where existing tools let teams move quickly and reliably. In this context, even significant improvements might not justify the disruption and cost of switching. The problem is, every new tool comes with a cost. Be it an item to fix your pipes or new software to introduce to your employees. There are hidden costs everywhere, from sharing the knowledge and educating everyone about the new system to the uncertainty of support and scalability in N years for something that has only been around for only a fraction of N. So, 8 years later, React is only getting bigger and more popular, CSS is still big through utility classes/Tailwind, GraphQL has not replaced REST, and there was no move away from JavaScript (as long as you accept TypeScript to be the same language).
JAMstack was the idea you did not need a backend and could have a statically generated website up in minutes using several Cloud SaaS to replace it. The idea sounded great for blogs and anything with a lot of static content, but it quickly became obvious that:
- There is and will never be a web application without a server. If you don't have a server, you're using someone else's.
- The speed of iteration and deployment reverses in the long run.
- You will easily go from "free tier" to a much, much more expensive bill.
- There are now plenty of alternatives that let you move just as fast without the limits.
I could go on for a while, but long story short, I consider the whole idea of JAMstack flawed and more of a marketing ploy than anything else. I'm not saying all those individual parts are wrong; deciding to go with a cloud service for, let's say, authentication or handling comments or a DB are good options, especially when needing to move fast while prototyping. Thank god for those alternatives. But the idea of only relying on those services is a recipe for disasters... and for a terrifying bill at the end of the month (don't forget to set your hard limits, fellas! /END OF PSA).
In all that chaos, Gatsby was the poster child of the movement. A platform that lets you iterate quickly, statically generate everything, and deploy fast. Amazing, fantastic, using all the modern tech, React, GraphQL... GraphQL? GraphQL, yes, for a statically generated JAMstack app that is supposed to have no backend. Sounds weird? It was plain horrible. It was a terrible idea that made me and others waste a long-ass time trying to make everything work together. A strongly opinionated framework means you either agree with the opinions, or you're out. I'm out. I was out 3 years ago, but I simply didn't know how much. I wanted to get it done, but then barely touched it. It was my first time using Tailwind as well, and me forcing it to work in a Styled Components kind of way made it worse. All that new tech was shiny and fun, but also made it so I never touched it again. It deterred me from experimenting and adding new features. So here we are, a new star is born.
I have ideas I want to put in motion, and that website was in the way. There is nothing on this one, as I write, but I decided to go with Astro because of its flexibility. It's fast, 0 JS by default, which works great for static content like the blog. The islands architecture will let me play with different technologies, to experiment with simple apps built using React, Three.js, Solid, Svelte, and so on. I can put all my experiments there, which sounds really fun. I don't need a backend service of any kind, but should I need it, Astro offers enough, without sacrificing the safety of speed and iteration. It's exactly what I need for my project.
Let's hope I won't be here in 3 years moaning about how big of a mistake this was. I give myself a 70% chance of it not happening.