• 0 Posts
  • 318 Comments
Joined 1 year ago
cake
Cake day: December 24th, 2023

help-circle




  • I often compare vibe coding to lord of the rings. Saruman blocks the fellowship’s path with difficult challenges. So too does solving hard problems in programming. So Gandalf decides they will take the mines of moria (vibe coding). He knows better but does so anyway. The rest of the fellowship naively follows him down (junior devs). Most of the path is just minor hiccups and the juniors fumbling around. But they get to a certain point and things start to get too heated. The hordes of goblins being the bugs introduced by the LLM as they keep changing the code via different prompts. Then they inevitably awaken the Balrog… the monstrous Complexity Demon that was brewing behind the vibe coding sunshine and roses.







  • Thinking you can even prevent all unkowns is a foolish endeavor. Only work on solving the problem at hand. Why would I think about some future requirement and lose sleep over it? That’s the PM and sales team headache! Or think of it another way… you haven’t yet reached the bridge yet but you’re already thinking you need rope for the imagined bridge collapse.

    All you can do with the present is make it relatively easier for your future self. Avoid complexity (thanks grug brained programmer!), don’t tie yourself into knots and back yourself in corners (keep the code readable, testable and simple. This means minimal external dependencies, lose coupling but good coherence, and avoiding reinventing solution to difficult to solve problem)

    some of these goals seem contradictory but you have to apply them to a specific problem and the objective of solving the problem (why are you solving this problem?). For instance, for crypto the advice of avoiding reinventing the solution takes precedence to minimal dependencies one because your objective is security which is important to get right without tolerance for bugs.