5 ms·
A drum I've been banging increasingly often recently is that having friction and time to work ideas over in your mind adds huge amounts of value. Vibe coded pro
by TeriyakiBomb 3mo ago
A drum I've been banging increasingly often recently is that having friction and time to work ideas over in your mind adds huge amounts of value. Vibe coded projects have this very specific, well, vibe to them where you can clearly see that the lack of time to digest has allowed the person to not challenge their own worst impulses. You can see it in the feature bloat, the lack of depth and polish in core features and the wild asides you tend to talk yourself out of still on display.
- ramses0 3mo agoFuben-Eki! https://news.ycombinator.com/item?id=37169679 https://news.ycombinator.com/item?id=37169679
- nivethan 3mo agothanks for that link, I've thought that friction was helpful but this gives me a word and a concept to look at.
- zogrodea 3mo agoHappy to learn about the concept today. It resonates with me. I sometimes think of something Kant wrote, about how friction (hardship, etc.) elevates us. In Kant's own words: "Without those in themselves unamiable characteristics of unsociability from whence opposition springs-characteristics each man must find in his own selfish pretensions-all talents would remain hidden, unborn in an Arcadian shepherd’s life, with all its concord, contentment, and mutual affection. Men, good-natured as the sheep they herd, would hardly reach a higher worth than their beasts; they would not fill the empty place in creation by achieving their end, which is rational nature. Thanks be to Nature, then, for the incompatibility, for heartless competitive vanity, for the insatiable desire to possess and to rule! Without them, all the excellent natural capacities of humanity would forever sleep, undeveloped. Man wishes concord; but Nature knows better what is good for the race; she wills discord. He wishes to live comfortably and pleasantly; Nature wills that he should be plunged from sloth and passive contentment into labor and trouble, in order that he may find means of extricating himself from them. The natural urges to this, the sources of unsociableness and mutual opposition from which so many evils arise, drive men to new exertions of their forces and thus to the manifold development of their capacities. They thereby perhaps show the ordering of a wise Creator and not the hand of an evil spirit, who bungled in his great work or spoiled it out of envy." See the section titled "FOURTH THESIS" at the following link if interested. https://en.wikisource.org/wiki/Idea_for_a_Universal_History_from_a_Cosmopolitan_Point_of_View https://en.wikisource.org/wiki/Idea_for_a_Universal_History_...
- ramses0 3mo agoGeorge Bernard Shaw, Man and Superman (1903): "The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." http://www.catb.org/~esr/writings/taoup/html/end-user.html http://www.catb.org/~esr/writings/taoup/html/end-user.html """Master Foo turned to the end-user. “Tell me”, he inquired, “why do you seek the Way?” “I am discontent with the software I see around me”, the end user replied. “It neither performs reliably nor pleases the eye and hand. Having heard that the Unix way, though difficult, is superior, I seek to cast aside all snares and delusions”."""
- sph 3mo agoYes, there is a widespread belief in tech that 'removing friction' is a good direction to aim for. But you can have too little friction that completely ruins a product and the user experience. In game design friction very important; remove all friction and you don't even have a game any more, you might as well show the You Win screen. My favourite metaphor for it is sex: there is no sex without friction. What LLM have done is massively reduce the friction of intellectual effort, completely devaluing most expressions of it.
- quirkot 3mo agoIn terms of removing friction, I think of moving a boulder. Wheels = good. Ice slide = bad
- bayindirh 3mo agoYou can't build muscle without resistance, you can't cook ideas without friction. Both needs heat.
- pmg101 3mo agoIf you wanna travel faster you can build muscle, or you can just get in a car.
- kentm 3mo agoYou have to get licensed to drive a car and there are rules. If you are caught breaking the rules you can be fined (or jailed if your rule breaking harms others enough). In extreme cases of rule breaking you can lose permission to drive the car. This is all friction that is intended to make car-driving work at scale.
- LogicFailsMe 3mo agoZero Player Games and Cow Clicker calling... There really, truly, absolutely, 100% is no accounting for taste...
- 3mo ago
- deaton 3mo agoI think you're right, and I think this principle of friction-is-good-actually applies to a lot more domains than just software, but whether the world will ever accept that is a different question.
- groundzeros2015 3mo agoI know of some financial analysts who don’t like to pull data in from reports automatically. They prefer to read each row and copy it into their spreadsheet because they actually contemplate what the number means.
- sph 3mo agoSame with taking notes by hand compared to writing on a keyboard, and the effect it has on memory retention is well researched.
- RetroTechie 3mo agoIt's a flavour of Jevons paradox. Make production of software much more efficient (requiring fewer developer-hours), then you might get: 1. Same services provided using similar software stack, but maintained by fewer developers. I suspect this may hold for some sectors in the economy. Or 2. The Jevons case: similar # of developers maintaining a much bigger software stack that provides more services. I might add: 2a: Similar but with lots of accidental complexity everywhere. Probably we're heading towards some mix of the above? Depending on which application area you're talking about. Web dev is a lost cause, deeply-embedded won't see a big shake-up.
- TeriyakiBomb 3mo agoI also think it's universal. When talking about this IRL I always say: "If one teenager works hard and saves for a few years to buy themselves a car and another has theirs bought for them on a whim, who would appreciate their car more?" Odds are it's the former, not always. But mostly.
- deaux 3mo agoYes and no. Let's first settle on the definition of vibecoding so that we're not miscommunicating over definitions. I'm using the one that seems the median definition nowadays: >95% of the code written by LLMs, <60% of the output code human-reviewed, meaning there's a large part of the codebase that no human ever reviews. As you said it's about time invested in thinking about it, yes. But remember that even pre-AI >90% of software got never used, it was dead on arrival. Look up "success rate of software projects in business". You can put lots of time into thinking and vibecode everything. You can put very little time into thinking and write by hand. Of course, vibecoding makes the former much more likely. But nothing about it is inherent to it.
- foobarchu 3mo agoI hate to be the guy arguing semantics, but is that the median definition? Everyone I know defines vibe coding as ignoring the actual output code completely and evaluating the result by how it behaves under test. Non-coders vibe code by default, because they don't understand how to read the code in the first place. Developers vibe code when they just trust the LLM to have been right about the behavior they don't explicitly test for. Vibe coding is the act of ignoring most possible friction, for better or worse.
- deaux 3mo agoIt is. There are many people on here who think of having any LLM generated, never-human-reviewed code in the codebase, as vibecoding. There are also people like you, who believe it's about completely ignoring it, and even human-reviewing 10% of the code means it's not vibecoding. The median definition, at least on here, is somewhere in the middle, around "a large portion of the code is never looked at by a human".
- mech998877 3mo agoI disagree with this, and I've been spending time thinking about it because some of my friends had a similar conversation. The friction itself does not add value. The time spent thinking on the problem does. Friction should be minimized beyond the absolute bare minimum. Programming is a discipline where your workstation is already streamlined, and it is easy to forget where the friction is. Programming is done in a world of pure though, in a sense, so most of the friction already lives in your head, and it is difficult to distinguish effort wasted fighting friction from effort making real progress. Consider the Wright brothers. They worked iteratively. When they wanted to design an airplane they moved from Ohio to a windy place with lots of loose sand (NC outer banks). Why? So that they could do test runs with good wind conditions (for an airplane that is barely able to fly this matters a lot) and crash with the least amount of damage. They rebuilt the airplane dozens and dozens of times and had a workshop tuned to their needs on location. They reduced friction wherever they could so that they got the most work done that they could with the least amount of distraction.
- fluoridation 3mo ago>Programming is done in a world of pure though, in a sense, so most of the friction already lives in your head It seems that way, but that's not actually true. A fully greased-up brain would produce just incoherent nonsense decoupled from reality, because it would lack all constraints that would allow it to judge the value of an idea (i.e. how possible and useful it would be to implement in the real world). The friction comes from fitting your ideas into the real world. >They reduced friction wherever they could so that they got the most work done that they could with the least amount of distraction. They reduced unnecessary friction. They could have eliminated all friction by imagining a teleporter machine that can send you anywhere instantly and that runs on the hopes of children. But they still wanted the friction of unsuccessful attempts so they could actually build a plane that worked.
- mech998877 3mo agoYour concluding example doesn't make sense to me but I think that it's because we have different definitions for what friction means here. It's also kind of hard to define in context. I would say that, within the Wright Brothers example, working with a battered, worn-out screwdriver is an example of friction (or, perhaps having to use a bit and brace instead of a power drill), but the act of building a new unsuccessful airplane iteration is not friction. Every build is asking physics for feedback on the design; every airplane build is just the same as running your code through the compiler. I wish I had a good word to distinguish this from friction. The closest thing I can imagine is how waste is defined in Lean Manufacturing, but keeping in mind that what you are manufacturing is Ideas and Software.
- hughw 3mo agoI feel this too but it's very hard to argue myself out of adding features like mad. Features, features, features. Tech debt may be an illusion, if the LLM can keep maintaining it all.
- apsurd 3mo agofeatures with theoretical use incur cost up front and yield no value. tech debt is only part of the cost, the other is opportunity cost of writing the OPTION. There’s really no good reason to create theoretical use features. Thinking of software from finance and derivatives pov really blew my mind. here’s the article, it has AI smell but it’s short and the mental model is good: https://newsletter.kentbeck.com/p/the-cost-yagni-was-never-about https://newsletter.kentbeck.com/p/the-cost-yagni-was-never-a... it’s a breakthrough for me because i too like to build so it’s hard to not build. With options, i don’t get to build blindly but there’s still satisfaction in holding the option. collect the options, system design them, build on that layer.
- capr 3mo agoThat analogy works for app code, it doesn't work for technologies, library, frameworks, algorithms. Why build a compiler for this app? YAGNI! makes no sense.
- ultimafan 3mo agoI agree with this wholeheartedly, it's harder to notice this in a field you are a professional in, but what really opened my eyes was noticing how often friction kept me from making mistakes in hobbyist metalworking/woodworking projects. More than once I've either made or didn't make mistakes based entirely on if the tool I "needed" for the next step was in arms reach or a walk across the garage and a search through multiple toolboxes.
- politician 3mo agoUgh. Most of this thread can be resolved by realizing that Teriyaki Bomb is using the word "friction" as a synonym for "constraints" and not "toil".
- samspot 3mo agoAlternatively, you can easily add the bloat, discover if it has real value, and then strip it without the bad feeling of having sunk countless hours creating it. Vibe coding is excellent for making the first prototype to throw away.