Comment by torginus

11 hours ago

What coding with LLMs have taught me, particularly in a domain that's not super comfortable for me (web tech), is that how many npm packages (like jwt auth, or build plugins) can be replaced by a dozen lines of code.

And you can actually make sense of that code and be sure it does what you want it to.

So… this has been happening for a long time now. The baseline set of tools is a lot better than it used to be. Back in 2010, jQuery was the divine ruler of JSlandia. Nowadays, you would probably just throw your jQuery in the woodchipper and replace it with raw, unfinished, quartersawn JS straight from the mill.

I also used to have these massive sets of packages pieced together with RequireJS or Rollup or WebPack or whatever. Now it’s unnecessary.

(I wouldn’t dare swap out a JWT implementation with something Claude wrote, though.)

  • Sorry by, JWT, I meant the middleware that integrates the crypto nto my web server (pretty sure even Claude doesn't attempt to do hand-rolled crypto, thankfully).

    That express middleware library has a ton of config options that were quite the headache to understand, and I realized that it's basically a couple hundred line skeleton that I spent more time customizing than it'd have taken from scratch.

    As for old JS vs new JS - I have worked more in the enterprise world before, working with stuff like ASP.NET in that era.

    Let me tell you a story - way back when I needed to change how a particular bit of configuration was read at startup in the ASP.NET server. I was astonished to find that the config logic (which was essentially just binding data from env vars and json to objects), was thousands upon thousands of lines of code, with a deep inheritance chain and probably an UML diagram that could've covered a football field.

    I am super glad that that kind of software engineering lost out to simple and sensible solutions in the JS ecosystem. I am less glad that that simplicity is obscured and the first instinct of many JS devs is to reach for a package instead of understanding how the underlying system works, and how to extend it.

    Which tbf is not their fault - even if simplicity exists, people still assume (I certainly did) that that JWT middleware library was a substantial piece of engineering, when it wasn't.

We used to reuse code a lot. But then we got problems like diamond dependency hell. Why did we reuse code a lot? To save on labor. Now we don't have to.

So we might roll-your-own more things. But then we'll have a tremendous amount of code duplication, effectively, and bigger tech debt issues, minus the diamond dependency hell issue. It might be better this way; time will tell.

  • Not just to save on labour. To have confidence in a battle tested solution. To use something familiar to others. For compatibility. To exploit further development, debugging, and integration.

  • Speaking of rolling your own things, i had claude knock out a trello clone for me in 30 minutes because i was irritated at atlassian.

    I am already using it for keeping track of personal stuff. I’m not going to make a product out of it or even put it on github. It’s just for me. There are gonna be a lot of single team/single user projects.

    It is so fast to build working prototypes that it’s not even worth thinking if you should do something. Just ask claude to take a shot of it, get a cup of coffee and evaluate the results.

    • I'm sure after you've had Claude build it, you learned a ton of how to build such a thing (I certainly did for my projects).

      Basically, the data model is dead simple, you just spin up a SQLite db, create a React frontend, grabbing a good drag and drop library that implements these cards, write some simple but decent looking CSS, some React and backend boilerplate to wire the thing together - and boom - you're done.

      This sounds simple when I write like this, but the complexity comes from knowing what library to use, figuring out its API, and assembling the whole thing together - which Claude is great at, but once you see the whole thing put together, you come to understand these things as well, and become more skilled at building stuff like this.

    • Yeah, that is the future isn't it? Because I've built the same thing for myself and have the same plans to not put in the work of sharing it with other people. It works for me and my friends and the contractors working on my house and I'm sure everyone else is doing it too!

      1 reply →