‹ Rustickode

Techstack obsession

Nov 10, 2024

Have you ever started a project and stopped it to explore new things before completing it? I think this is a major distraction for people who want everything to be perfect. You know what you want to complete and how to complete it, but during the course of building it, you see a shiny thing nearby and get distracted. The worst part, is that you start using it on your existing project to somehow satisfy your desire. This is exactly what’s called Shiny object syndrome.

Some people have an obsession with clothes, gadgets, and shoes. Others, especially in the tech world, have an obsession with new and upcoming technologies. I am pretty sure I fall into one of these categories. This happens to me when I use Linux as my primary desktop. Sounds weird, right? It’s true. On Linux, you get to customize everything from the low-level kernel all the way up to the desktop. Because one can do plenty of customization and has numerous options to select from, it’s quite distracting for me. I usually start with a basic Ubuntu desktop. This is what I observe during the setup of my new Linux desktop:

  1. I start fiddling with the fonts to make sure it looks beautiful (more like a macOS)
  2. Why not wallpaper? Spend time to choose one that doesn’t hurt your eyes when using it day or night
  3. A decent tool for screenshot
  4. Need to setup Nextcloud, keepass and Kura (Microsoft Todo)
  5. The icons that gnome uses needs to be crispy. So, change that
  6. Dock and the top panel needs some tinkering. May be a bit of transparency
  7. Install flatpak and other tools. Not any other tools. Tools that looks so beautiful and follow the new Gnome desktop UI standards.

When I think everything is finally complete, I notice that the font might not look good when the device goes to sleep and wakes up, or there might be a glitch with the video driver. All I need is to install VS Code and start working.

Tech stack?

This mentality doesn’t end there. As I mentioned in earlier posts about my current project – Quillcaster, I discovered Fastify. My tech stack consists of Express, Prisma, and Node. Fastify made sense to me. Everything looked perfect, and the project was maintained & managed very well. The plugin system was tempting, and they claimed it’s a lot faster than Express. You might have guessed it. Yes, I started migrating my existing project, which wasn’t even ready for a prototype, to Fastify. Though the Fastify ecosystem is well maintained, there are edge cases and compatibility issues. I was relying heavily on Passport for my signup and login flow. It was not straightforward for my migration, and I had to revert back.

Did I just say that in a sentence? It took me almost a week to figure that out after changing every single route and controller. Finally, when I figured out the issue with Passport JS integration, I decided not to waste any more time. I reverted all my Fastify changes back to square one. What a complete waste of my time? Of course, my inner mind still says, “It’s a learning experience.” But think of the distraction here. I could have just ignored it and continued building the APIs. This is how my obsession with tech stack affects me.

I know the solution to my problem – SOS. It’s to keep things simple. What if I had used macOS instead of Linux? I might not have had to tweak every single part of it. What if I had used Django or Sails? I would have just stuck to what the frameworks offered. I do love this journey. For me, it’s more like scrolling through social media and killing time during your break. But it never stops with my break time :D.

🏷