3 ms·
That's unrelated. Multi-sourced accumulated unmaintained amateur software without clear provenance or ownership is more like creating a feature I'll call "inst
by kristopolous 4y ago
That's unrelated.
Multi-sourced accumulated unmaintained amateur software without clear provenance or ownership is more like creating a feature I'll call "insta-legacy": now you're responsible for a bunch of code you didn't write that by definition nobody you have access to understands.
This is absurd.
It's not going to stop people from doing it. The industry is clinically insane.
It allows people who do bad work to do more of it quickly. Before they had to manually shovel garbage into projects but now they have a dumptruck.
You know what? It might be fine. Maybe we're going to have a world of fast food programming where minimum wage coders pump out trash and there's going to be Michelin star programmers where you go to for the real stuff.
If that's the case, we'll have to somehow educate the public on the difference so they don't think it's the same thing. McDonald's and The French Laundry are both successful restaurants. That world is possible in programming as well.
It might already be like that. The cheap rates for shady contracting firms that do trash work are probably already using these things
- ctoth 4y agoPersonally I'm not sure I would like to work or interact with an industry which I considered "clinically insane." Have you considered a change of career? You sound like you're getting pretty burnt out.
- kristopolous 4y agoI'm not burned out. I'm passionate about quality, want things to be better, and know I'll have to fight like hell to push things in that direction.
- visarga 4y agoIn their paper "Evolution through Large Models", CarperAI shows how you can use diffs to evolve code, while running the code against a test or an environment for validation. https://arxiv.org/abs/2206.08896 https://arxiv.org/abs/2206.08896 The idea is: LLMs know how to modify code in semantically useful ways. Evolutionary algorithms are great at search, but don't learn new mutations by themselves. So combine them together to generate new data and retrain the models. So the old system is: scrape human code and train on it. the new system is: generate code, keep the good parts and retrain. It only costs electricity and is open-ended.
- kristopolous 4y agoThanks. There's no way I can respond to these 58 pages of academic literature today. I'll read it though. Appreciated.
- BoiledCabbage 4y agoSomeone might've also said, "Don't bother to train a text model on the random musings of the internet. You're gonna get a bunch of cheap crap as output. People going on unhinged rants, and lots of descriptions of peoples cats. You should use a collection of classic works works instead." And they would've been wrong. > Maybe we're going to have a world of fast food programming where minimum wage coders pump out trash and there's going to be Michelin star programmers where you go to for the real stuff. It sounds like your concern isn't that it's going to to a poor job, it's that it's actually going to do a good job and you will no longer be able to differentiate your work. If what you're delivering is so much more valuable then there is no threat and no concern to be had. I believe the concern is that this actually will solve peoples problems or much cheaper to almost free and as a result people will use it. And use it tons. And that's a legit fear to have, but I don't think it should be wrapped up in calling it's output McDonalds's of code. The better analogy in my mind is a collection of wine connoisseurs seeing the rise of something like 2 buck chuck and trashing it for not being snobby. Deriding it for not having "grapefruit mouthfeel" or something. When in fact most people just want a easy to drink wine that goes with what they're having or dinner - and none of the the extra. If this code doesn't help people out then people won't use it, if it does, and the "French Laundry" of code is important only to the chef's working there and not anyone else, then we'll find that out pretty soon. The real issue is potentially getting "French Laundry" quality (or a step just shy) for an every day meal price .
- kristopolous 4y ago> It sounds like your concern isn't that it's going to to a poor job, it's that it's actually going to do a good job and you will no longer be able to differentiate your work. No it's not about me. I won the startup lottery. This was called "RAD" in the 90s, OOP in the 80s and was the promise of "structured programming" in the 70s. The effort to deprofessionalize software development goes back decades. I care about the craft and the well-being of my fellow engineers. Requiring less knowledge is a mixed bag. Sometimes it's fine, such as compilers handling your C code, and other times it's a problem, such as Word handling your HTML code. It's best when some tooling sophistication is still exposed. > If this code doesn't help people out then people won't use it Incorrect! Human behavior and planning is aspirational and emotional, not rational. Choices are made based on narrative appeal and mistakes take years to unravel. Think of all the once hot frameworks that you'd be simply crazy not to love that are now unmitigated disasters to maintain and lead to mass abandonment and rewrites. People do this stuff, it's how they decide things. Not everybody, but enough to fuck things up for the rest of us.
- BHSPitMonkey 4y ago> "insta-legacy": now you're responsible for a bunch of code you didn't write that by definition nobody you have access to understands. Also known as: • Getting hired at a software company that already exists • Having co-workers leave the project • Importing frameworks or libraries you didn't write
- kristopolous 4y agoNo, yes, no. (1) and (3) are different. In (3) you have access to the people, documentation, things are versioned and bugs are fixed and there's forums of people using identical software. In (1) the people are still there, you can open tickets against them, go and talk to them, etc (2) is correct and that's not a good thing. It's snowflake code where you can't do the other things. The point is you're producing this worst case scenario that good companies try to avoid at great cost, instantly.