I'm so excited about gardening again. Can't wait to do some. Employing a gardener to do my gardening for me is really making me enjoy gardening again!
I'm so excited about gardening again. Can't wait to do some. Employing a gardener to do my gardening for me is really making me enjoy gardening again!
I think it's hard for some people to grasp that programmers are motivated by different things. Some are motivated by shipping products to users, others are motivated to make code that's a giant elegant cathedral, still others love glorious hacks to bend the machine into doing things it was never really intended to do. And I'm sure I'm missing a few other categories.
I think the "AI ain't so bad" crowd are the ones who get the most satisfaction out of shipping product to users as quickly as possible, and that's totally fine. But I really wish they'd allow those of us who don't fall into that category to grieve just a little bit. This future isn't what I signed up for.
It's one thing to design a garden and admire the results, but some people get into their "zen happy place" by pulling up weeds.
I agree and would add that it's not just different people, it can be the same person in different modes. Sometimes I enjoying making the thing, other times I just want to enjoy having the thing.
Your feelings are yours, mine are mine, and they can coexist just fine. The problem only shows up when your grief turns into value judgments about the people who feel differently.
Put another way: all of the code that needed to be written has now been written. Now we can move on to more interesting things.
What will really bake peoples' noodles is when it becomes apparent that the same is true for literature. I won't mind if I'm not around to witness that... but it will happen.
A huge benefit I find in AI is that it helps with a lot of things I hated. Merge conflicts, config files, breaking dependency updates... That leaves me more time to focus on the actual functionalities so I end up with better APIs, more detailed UIs, and more thorough tests. I do think it's possible to be relevant/competitive by only delegating parts of the work to AI and not the whole thing. Though it might change if AI gets too good.
To me, it just feels like plagiarism. Can you explain why it doesn't feel like plagiarism to you?
If I paste in a blog post verbatim and pretend I wrote it, that’s plagiarism. If I use a tool to generate a starting point and shape it into what I need, that’s just a different kind of authorship.
If you cloned chapters from multiple books, from multiple different authors, didn't decide on the sentence structure, didn't choose the words yourself, didn't decide which order your going to place these chapters, didn't name the characters. At what point do you no longer get credit for writing the book?
What if it's code? what if you didn't decide which order you should call these functions. Didn't make the decision about if you're gonna write var i, or idx, or index. Didn't make a decision if this should be an u32, or an i64. Didn't read any of the source code from that new dependency you just added. Didn't name the functions, oh but no, you did have to edit that one function because it wouldn't compile, so you just renamed it like the error suggested... At what point does the effort you put in become less significant than the effort duplicated from the training set? How much of the function do you have to write yourself, before you take credit? How many chars have to by typed by your fingers, before you claim. You made this?
That is in fact, the behavior I see most often.
> What I described was directing, reviewing, and editing.
You didn't actually describe any of that though? You asserted that's what you do, but didn't describe any of those steps.
If you do, you'd be the first person I see actually do that when using LLM codegen. Most people who advocate for it, do behave that way. You're mistakenly taking my rhetorical argument against the more common, and substituting your own interpretation of how things are. Which is the very thing you're attempting to chastise me for doing. Just as you're unconvinced by my rejection of your hypothetical, I'm unconvinced by yours.
I might agree if you spend the same amount of time and effort, it wouldn't count as plagiarism. But if it's not faster, then what's the point?
> The rest is breathless gibberish dressed up as moral clarity.
Sure, that's a fair interpretation if you want to feel like a superior asshole. But really I was attempting to describe how I view the way most people interact with LLM codegen, before claiming they did all the work. Which if you recall, was my original question; why is that view wrong? What details would convince me I've misunderstood something?
I don't care about how you use codegen, I want to understand why you discard all of the process, while still claiming credit for writing it? Perhaps you don't say I wrote this. Or I made this. Perhaps you do say, I asked an LLM to create this. Or disclose an LLM generated most of the lines. Or perhaps you do modify most of it, but I've never seen the latter in real life. And even then, that doesn't help answer my question about when people who aren't built different like you, why isn't that plagiarism?
Because when I look at something created by the team, I do give the engineering manager credit for their contributions, they helped build the team. But I definitely don't think they helped create the thing.
edit: typo.
But I wouldn't consider attempting to duplicate a painting, plagiarism if you painted it yourself with your hand (assuming you mention or reference the original author, or it's well know e.g. starry night) . I would consider it plagiarism if you duplicated it via photo, or other automated method.
I'd translate it to code as; if you're looking at stack overflow for the answer, if you understand it, before writing your own implementation, that's learning, and not plagiarism. But if you copy out the whole function without understanding how to implement it yourself, that would be.
The person I replied to said
> Having opencode doesn't preclude me from making elegant code. It just takes away the carpel tunnel.
I assume he's asking the LLM to generate upwards of multiple hundreds of lines of code. Let's assume he's does understand all of it. (Something that defies my understanding around how most LLM users use codegen.) Then you have a sister comment who claims you can write multiples more code/projects using LLMs. At a certain point your ability to understand the code must fall away. And at that point, if you didn't have the majority of the creative input. Why call it your work?
I assume you're an artist, if you have an LLM generate you a picture. Do you feel like it's work you've created? Did the inspiration for where each line should start, and end, come from the contents of your mind? Or was it sampled from a different artist? Given the exact same prompt, would you draw the same lines next week? Next month? Because the LLM would.
There's no doubt it's easy to draw parallels in any creative work, both from art an code. But if you didn't make the decision about where to place the function, about which order you want to call them, if you're gonna do error handling deep down as close to the error as possible, or you're optimizing for something different, and decided long ago that all errors should bubble back up to the main function.
One, or two, or even a half dozen of decisions might seem insignificant, but together, if you didn't really make any of them. How can you claim it's code you wrote? Why do you feel proud of the work of others, sampled and mapped into a training set, and then regenerated into your repo, as if it's work you put forth? All of that should be read as the rhetorical you, I know you're not making that argument. But would you make it? When you share a meme with your friend, do you claim you created the meme? Even if you use a memegen, and change the words to reference your in joke. Do you feel like you've created that art? Or are you using the art of someone else to share the idea you want to share? I assume it's the latter, but
They said "Having opencode doesn't preclude me from making elegant code." They're taking credit for making the elegant code, just as if they were taking credit for inventing the meme. There's a different amount of effort involved, and that effort, or the source of it, is significant when talking about who deserves the credit, and the sense of pride.
I agree with you code and art are not the same thing, but I do suspect it can get a bit complicated, it still is for me. Even on your question about how I feel - I don't have a good answer for you because I won technical Emmy awards for working on abstractions, lots of people said our work was cheap and gimmicy, cool, we won Emmy's. I go back and forth often on what is "fair" (whatever that means).
Of all you said the last paragraph I can connect with the most, I tried to have someone thrown out of film school for the same type of thing, but as that same dean told me "life is too short man, you gotta chill out".
I still make all those decisions. I decide what my error handling structure is, and I have it finally exactly the way I like it in python. I usually discover the "right" way for a piece of software while writing it, then it is a chore to refactor to make it consistent across the code base again. Now I just make a spec (edit: for the refactor which defines this new abstraction and its interfaces), let it run and go grab a coffee. Yes I dont decide anymore exactly which line number the function is in, but that never mattered did it? What matters is how your objects compose and how you handle edge cases. I still do that.
I would say it does matter, and always did.
Obviously, not every single line order matters with performance results that you can measure. That's not what I'm saying. But every decision does add up to who deserves the credit for the thing. Especially with how you describe your role. And then you assure me for each of those critical decisions, it's you who makes that decision.
In another thread you accuse me of constructing a strawman and then ignoring any counter evidence. But not a single person has ever provided anything above a token "I'm just built different", contained within a response as if the fictional person, sorry, "strawman" I've created is a personal attack. If it doesn't accurate represent you, why does it bother you? I'm getting strong, thou doth protest too much vibes.
Again, I'm not directly accusing you. I try very hard to believe someone when they tell me something. So I am actively trying to believe the things you've said. But you offer nothing above "nah man, I'm different, promise". Meanwhile I have dozens of examples of people vibe coding, and responding to the answer of, 'why' with: "I don't know, the LLM did that". Your example I've never seen, not once. My example is terrifyingly common.
When I try to merge what you promise yeu do, with what I've actually seen occur out in real life. I end up with, what I'm sure you'll angerly object as, just another strawman, but again I'm asking for something other than hollow reassurances: Because what you describe is close to an artist, teaching an apprentice. The apprentice does the work, perhaps exactly as instructed by the artist. But then when the artists sells the work. They claim that it's their creation. As if the apprentice never existed. It's disgusting behavior when the apprentice is a person, but shameful for an entirely different reason if the apprentice is a large block of token weights.
I don't for a second believe, all you have opencode do for you is refactor based on a specification you wrote (belief != disbelief) but still feel you deserve the assumption of the best possible interpretation. If all your apprentice did was clean the brushes, and take the pottery out of the kiln. Then yes, you created everything. But given my assumption that's not actually what reality looks like, help me understand the delta between these two examples?
They don't say, My team did this. Or Look how good I am teaching, my student created this. Or anything of the nature. They pass off work and effort, and expertise, As if they wrote every line of code. Some people do sheepishly admit the used an LLM when writing some patch. But many MANY more, don't.
If you actually don't feel like you're misrepresenting how much credit you deserve. Then I'm hoping you can explain to me, why so many people who don't try, and just blindly trust the vibe slop, don't feel embarrassed? Because I'm so far from it, that I don't have the context required to understand that lack of integrity. But perhaps someone who does it the correct way can explain it to me?
I am not answerable for the company you keep.
The process and experience matters too.
It’s fine to find enjoyment in the actual programming part of software engineering. It’s stupid to assume that is the only aspect of software engineering that is valuable or that is enjoyable for others.
What you consider "exciting", as a theoretical gardener, is the act of taking care of the plants. What OP finds it exciting is that they may now get a team of gardeners that'll build a Versailles-like garden for free.
I think that's a more accurate (and charitable) analogy than yours.
This analogy has probably outstayed its usefulness.
Or even just 1 or 2?
It's like with machinists and 3D printers, you can always spend 10 hours on the lathe to make something but most of the time it's more practical to just get the part so one can get on with what actually needs doing.
that's a good analogy, maybe change 3d printers to CNC. I think there's a group of people that derive joy and satisfaction from using the part they designed and there's another that gets satisfaction from producing the part as designed. Same for software, some people are thrilled because they can get the software they imagine while others dread not producing the software people imagine.
It's your studio now. You have a staff of apprentices standing by, eager for instructions and commands. And you act like it's the worst thing that ever happened to you.
If you want things to stay the same forever, you shouldn't go into technology, art, or gardening. Try plumbing, masonry, or religion.
This quick-and-dirty prompt returns results in line with my own understanding (which of course doesn't necessarily mean the exact figures are correct): https://chatgpt.com/share/698ce93b-b66c-800b-9e41-91ccab8eba... The artist I was primarily thinking of when I wrote that comment was Chihuly, whose workshop is famously more like a factory than a studio.