vibe-Coding

Deadlock by design: two vibes, two locks, zero unlocks.

In vibe coding, that’s not a bug - it is a feature. 😎

Here’s what happens when agreement-first engineering meets C++ and mutexes:

#include <iostream>
#include <mutex>
#include <stdexcept>

std::mutex mVibes, mProd;

void shipToProd(bool agree) {
    // We lock the vibes and production—because feelings 
    // and facts both need exclusive access.
    std::lock_guard<std::mutex> a(mVibes);
    std::lock_guard<std::mutex> b(mProd);

    if (agree) {
        std::cout << "Deploying to prod…\n";
        // Reality pushes back:
        throw std::runtime_error("DeadlockException: vibes vs reality");
    } else {
        std::cout << "Ignored tests.\n";
    }
}

int main() {
    try {
        shipToProd(true); // agreement-first engineering
    } catch (const std::exception& ex) {
        std::cout << "AI: You're absolutely right! (" << ex.what() << ")\n";
        std::cout << "/* lock(prod); lock(vibes); // Deadlock achieved; energy immaculate */\n";
        std::cout << "COMMIT vibes; ROLLBACK sanity;\n";
    }
    return 0;
}
Listing 1: Two mutexes walk into prod… and never come out

#GeekyJokes #AI #GenAI #VibeCoding