4 ms·
this is a great analogy despite it possibly coming off as snark. I think it's hard for some people to grasp that programmers are motivated by different things.
by mosburger 8mo ago
this is a great analogy despite it possibly coming off as snark.
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.
- newswasboring 8mo agoHaving opencode doesn't preclude me from making elegant code. It just takes away the carpel tunnel.
- grayhatter 8mo ago> I created this with some kind of genai To me, it just feels like plagiarism. Can you explain why it doesn't feel like plagiarism to you?
- quietsegfault 8mo agoPlagiarism is claiming someone else’s specific work as your own. Using a generative tool is closer to using a compiler, an IDE, or a library. I’m not copying a person’s code or submitting someone else’s project with the name filed off. I’m directing a system, reviewing the output, editing it, and taking responsibility for the result. 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.
- grayhatter 8mo ago> 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?
- quietsegfault 8mo agoWhat I described was directing, reviewing, and editing. You’ve ignored that entirely to construct a version of me who pastes “write me an app” and ships it unread… then spent three paragraphs righteously tearing that down. I own the intent, the spec, the judgment about what’s correct, and the blame when it breaks. That’s authorship, and that’s why using a generative tool isn’t plagiarism. The rest is breathless gibberish dressed up as moral clarity.
- grayhatter 8mo ago> “write me an app” and ships it unread… 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?
- neom 8mo agoWhere do you draw your line between plagiarism and creativity? I learned in art school this question is more difficult to answer than it appears when taken seriously.
- grayhatter 8mo agoThat's a great question, I've never tried to draw a concrete line before. Code is inherently creative. But it's not art, it doesn't map 1:1 like that. 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.
- newswasboring 8mo agoThe same reason why using a generator like antlr doesn't feel like plagiarism to me. I don't outsource thinking to these models, only coding. My spec files contain the architecture, and details of intent on each interface. That is the part of the work that actually matters, rest of it is just code monkey stuff. While I am sad I don't get the peace and satisfaction of churning out code, my primary goal is to make cool things not coding. edit: typo.
- mlaretallack 8mo agoI agree with this, I put myself in the "glorious hacks to bend the machine into doing things it was never really intended to do" camp, so the end game is somthing cool, now I can do 3 cool things before lunch instead of 3 cool things a year
- zzrrt 8mo agoBut, almost by definition of how LLMs work, if it’s that easy then someone else did it before and the AI is just copying their work for you. This doesn’t fit well with my idea of glorious hacks to bend the machine, personally. I don’t know, maybe it just breaks my self-delusion that I am special and make unique things. At least I get to discover for myself what is possible and how, and hold a sliver of hope that I did something new. Maybe at least my journey there was unique, whereas everyone using an AI basically has the same journey and same destination (modulo random seed I guess.)
- CamperBob2 8mo agoEssentially nothing we do as programmers is special or unique. Whatever we're doing, there's a 99.999% chance that somebody, somewhere did it first, just in a different context. The key point is, now we can avoid duplicating that person's effort. I don't see the downside. 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.
- mrandish 8mo ago> people ... are motivated by different things. 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.
- quietsegfault 8mo agoYour grieving doesn’t have to shit all over my personal enjoyment and contentment. Me enjoying the use of AI in developing software doesn’t take anything away from your ability to grieve or dislike it. I’m not asking you to be excited, I’m asking you not to frame my enjoyment as naive, harmful, or lesser. 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.
- jablongo 8mo agoThis is a valid point, the good news is I think there is some hope in developing the craft of orchestrating many agents into something that is satisfying and rewarding in it's own right.
- nlawalker 8mo agoI don't disagree, but I think it would benefit everyone to be clear, upfront and honest with themselves and others about exactly what's being lost and grieved. The weeds are still growing and our hands are still available to pull them, so it's not that.
- dutchCourage 8mo agoI think the people who like shipping quickly probably don't like building products in the first place and are looking for other aspects of entrepreneurship. 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.