By now, you probably know I’m not a big fan of "vibe coding." But before I dive into why, let me clarify: I’m not talking about using AI as a helpful tool to assist with coding. I’m referring to the concept originally described by Andrej, fully giving in to the "vibe," ignoring implementation details, and letting AI take the wheel.
In my view, that approach is mostly useless, if not outright harmful, in many situations. I think most would agree: you can’t build critical systems this way. And you certainly can’t unleash vibe coding on legacy codebases without risking regressions all over the place. Sure, it might work fine for weekend projects (which, to be fair, is exactly the context Andrej was referring to). But those weekend projects are where developers learn the craft. When you "vibe" your way to the finish line, you miss out on a huge part of the learning experience. Software design and implementation is hard and it takes time and repetition to learn. At the same time actual typing will let you master your environment, making you a more productive engineer.
When I bring this up, vibe coders often respond with something like, “Well, mastering AI tools is just as important. If you don’t learn to use them, you’ll fall behind.” Really? Come on. “Mastering” vibe coding tools might take an experienced engineer a day or two. Mastering software engineering (if that’s even possible) takes a lifetime. At the same time vibe bros will constantly tell you that AI is gonna be a completely different thing in 12 months from now, so everyone has to relearn all the tricks anyway.
When I hear that university students are solving their data structures and algorithms homework by just pasting it into ChatGPT, while companies like Amazon are still asking candidates to implement a running median using heaps, it feels like there’s a growing disconnect. And honestly, there’s a bit of delusion on both sides.
I think what I am trying to get at is: Don't let the vibe take away your chance to grow and learn. It is an incredible tool, when used correctly though.
Egge
egge@npub.cash
npub1mhcr...c226
Building https://npub.cash 🥜 Working on awesome nostr, cashu and Lightning stuff 💜⚡️
In 3 months from now 99% of my nostr posts will be me arguing with @🐈 about vibe coding.
Appreciate you 🫂💜
I am a toxic no-vibe maximalist now
View quoted note →
Vibe bros getting hard about speed gains when creating boilerplate while still navigating their system by clicking stuff 💁🏼♂️
neovim btw
npubcash-cli does not need to know your private key. It authenticates using NIP-98, a local web server and NIP-07...
NIP-07 signing extensions work everywhere!
Grateful 🥜 💜
If AI can solve the JS bundling and module mess for me I might become a vibe coder in the end
If JavaScript could finally resolve their build process and module inconsistencies it would be such a fantastic language
I implemented NIP-07 auth in npc-CLI today.
$ npc-cli list
> no auth token present
> spawns web server
> opens your browser with a login button
> click login
> NIP-07 popup
> signed event gets send back to the cli process, which authenticates with npc server
GM anon, you should sign up
View quoted note →
Took the L and switches from cast iron to stainless steel. Lets see how it goes 🥩


All the vibe 💜


Hey hivemind, I need your opinion on something:
If someone sends you a payment on npubcash v2 the server will hold the respective mint quote in its database for you to retrieve it at any time. There is no concept of "spent", the server will always return these quotes again at any time.
This simplifies server-side state management massively, because the server does not need to keep track of a quotes issuance-state. At the same time quotes can never be lost that way (even if clients loose them).
To avoid redundant traffic clients can specify a "since" param, essentially letting the server know "hey, the last claim you gave me is timestamp X, I am only interested in stuff that happened since then".
I wonder if I should add a "spent" endpoint for a client to let the server know "I have redeemed this quote, you can now safely mark it as spent". This would be only a convenience feature for clients to reduce the amount of redundant data.
I have been running npub.cash v2 for a couple of days now and nothing exploded…


Enjoy nuts in full. Depend on nuts. Channel the nut, fully embrace it. 🥜
View quoted note →
Enjoy AI in moderation. Don’t depend on it. Channel the vibe, don’t fully embrace it.