The other day I was working with some shaders GLSL signed distance field functions. I asked Claude to review the code and it immediately offered to replace some functions with "known solutions". Turns out those functions were basically a verbatim copy of Inigo Quilez's work.
His work is available with a permissible license on the Internet but somehow it doesn't seem right that a tool will just regurgitate someone else's work without any mention of copyright or license or original authorship.
Pre-LLM world one would at least have had to search for this information, find the site, understand the license and acknowledge who the author is. Post LLM the tool will just blatantly plagiarize someone else work which you can then sign off on as your own. Disgusting.
> Turns out those functions were basically a verbatim copy of Inigo Quilez's work.
Are they? A lot of these were used by people >20 years before Inigo wrote his blog posts. I wrote RenderMan shaders for VFX in the 90's professionally; you think about the problem, you "discover" (?) the math.
So they were known because they were known (a lot of them are also trivial).
Inio's main credit is for cataloging them, especially the 3D ones, and making this knowledge available in one place, excellently presented.
And of course, Shadertoy and the community and giving this knowledge a stage to play out in that way. I would say no one deserves more credit for getting people hooked on shader writing and proceduralism in rendering than this man.
But I would not feel bad about the math being regurgiated by an LLM.
There were very few people writing shaders (mostly for VFX, in RenderMan SL) in the 90's and after.
So apart from the "Texturing and Modeling -- A Procedural Approach" book, the "The RenderMan Companion" and "Advanced RenderMan", there was no literature. The GPU Gems series closed some gaps in later years.
The RenderMan Repository website was what had shader source and all pattern stuff was implict (what we call 2D SDFs today) beause of the REYES architecture of the renderers.
But knowledge about using SDFs in shaders mostly lived in people's heads. Whoever would write about it online would thus get quoted by an LLM.
Yeah, I find this super rude - in this example, the author distributed the code under a very permissive license, basically just wanting you to cite him as an author.
BAM, the LLM just strips all that out, basically pretending it just conjured an elegant solution from the thin air.
No wonder some people started calling the current generation of "AI" plagiarism machines - it really seems more fitting by the day.
LLMs have already told you these are "known solutions", which implicitly means they are established, non-original approaches. So the key point is really on the user side—if you simply ask one more question, like where these "known solutions" come from, the LLM will likely tell you that these formulas are attributed to Inigo Quilez.
So in my view, if you treat an LLM as a tool for retrieving knowledge or solutions, there isn't really a problem here. And honestly, the line between "knowledge" and "creation" can be quite blurry. For example, when you use Newton's Second Law (F = ma), you don't explicitly state that it comes from Isaac Newton every time—but that doesn't mean you're not respecting his contribution.
> Pre-LLM world one would at least have had to search for this information, find the site, understand the license and acknowledge who the author is. Post LLM the tool will just blatantly plagiarize someone else work which you can then sign off on as your own
These don't contradict each other though, you could "blatantly plagiarize someone else work" before as well. LLMs just add another layer in between.
Copyright violation would happen before LLMs yes, but it would have to be done by a person who either didn’t understand copyright (which is not a valid defence in court), or intentionally chose to ignore it.
With LLMs, future generations are growing up with being handed code that may or not be a verbatim copy of something that someone else originally wrote with specific licensing terms, but with no mention of any license terms or origin being provided by the LLM.
It remains to be seen if there will be any lawsuits in the future specifically about source code that is substantially copied from someone else indirectly via LLM use. In any case I doubt that even if such lawsuits happen they will help small developers writing open source. It would probably be one of the big tech companies suing other companies or persons and any money resulting from such a lawsuit would go to the big tech company suing.
An assertion can be arbitrarily expensive to evaluate. This may be worth the cost in a debug build but not in a release build. If all of assertions are cheap, they likely are not checking nearly as much as they could or should.
Possibly but I've never seen it in practice that some assert evaluation would be the first thing to optimize. Anyway should that happen then consider removing just that assert.
That being said being slow or fast is kinda moot point if the program is not correct. So my advisor to leave always all asserts in. Offensive programming.
Good luck to you. Having worked in this space for around 10 years I can say it's nearly impossible to arouse anyone's interest since the market is so totally saturated.
For a new engine to take on it needs do something else nobody else is doing so that it's got that elusive USP.
Getting visibility, SEO hacking etc is more important than the product itself.
To me this kind of "no need to change anything" implies stability but there's a younger cohort of developers who are used to everything changing every week and who think that something that is older than week is "unmaintained" and thus buggy and broken.
One of the earliest security issues that I remember hitting Windows was that if you had a server running IIS, anyone could easily put a properly encoded string in the browser and run any command by causing IIS to shell out to cmd.
I mentioned in another reply the 12 different ways that you had to define a string depending on which API you had to call.
Can you imagine all of the vulnerabilities in Windows caused by the layers and layers of sediment built up over 30 years?
It would be as if the modern ARM Macs had emulators for 68K, PPC, 32-bit x86 apps and 64K x86 apps (which they do) and had 64 bit Carbon libraries (just to keep Adobe happy)
I think its at least as much of a working environment preference.
Once I became experienced enough to have opinions about things like my editor and terminal emulator... suddenly the Visual Studio environment wasn't nearly as appealing. The Unix philosophy of things being just text than you can just edit in the editor you're already using made much more sense to me than digging through nested submenus to change configuration.
I certainly respect the unmatched Win32 backwards/forwards compatibility story. But as a developer in my younger years, particularly pre-WSL, I could get more modern tools that were less coupled to my OS or language choice, more money, and company culture that was more relevant to my in my 20s jumping into Ruby/Rails development than the Windows development ecosystem despite the things it does really well.
Or to say differently: it wasn't the stability of the API that made Windows development seem boring. It was the kind of companies that did it, the rest of the surrounding ecosystem of tools they did it with, and the way they paid for doing it. (But even when I was actually writing code full time some corners of the JS ecosystem seemed to lean too hard into the wild west mentality. Still do, I suspect, just now its Typescript in support of AI).
Seems to me that really the simplest solution to authors problem is to write C++ safely. I mean...this is a trivial utility app. If you can't get that right in modern C++ you should probably just not even pretend to be a C++ programmer.
C++ is hard to get safe in complex systems with hard performance requirements.
If the system is simple and you don't give a shit about performance, it's very very easy to make C++ safe. Just use shared_ptr everywhere. Or, throw everything in a vector and don't destroy it until the end of the program. Whatever, who cares.
No seriously why would you need a graphics engine for procedurally generating content? In this particular case for example his "content" is the world map expressed in some units (tile grid) across two axis. Then you generation algorithm produces that 2d data and that's that.
Now that everyones running faster than ever and trying to outrun the competition by slapping more code on than they do you can only brace for the results.
I expect these tools will quickly let people to ramp up several orders of magnitude of more complexity and lines of code to any software project.
The your 100kloc JS electron app will become a 10m loc JS electron app running on a 500m loc browser runtime.
Repeat this across the stack for every software component and application and library. If you think things are bloated now just wait a few years and your notepad will be a 1m line behemoth with runtime performance of a glacier.
But how do you make the case for thoughtful less bloated software to people who just value writing less code themselves, even if the output produces more lines of code? Seems to me like people don’t care about LOC, they care about how much effort they have to spend writing the lines.
Until at some point in a language like python all the things that allowed you write software faster start to slow you down like the lack of static typing and typing errors and spending time figuring out whether foo method works with ducks or quacks or foovars or whether the latest refactoring actually silently broke it because now you need bazzes instead of ducks. Yeah.
* We're going to make sure we double down on our dark patterns slamming our obnoxious account requirements in your face every chance we get. We'll also make sure to "accidentally forget" any "unfavourable" setting you might have turned to your liking just to make sure you get the best experience we want.
* We're going to keep shoving AI and copilot in your face in every corner of the system whether you want it or not. It's what we want after all. Please subscribe to copilot now or 3 days later.
* We're going to continue vibe coding core system components and interface elements in JavaScript to minimize our developer costs. Just get over it already.
I don't think it's a psychologically positive self identification to see yourself merely as a gatekeeper and toll extractor rent seeker who only makes a living by withholding agency and skill from others.
I know many jobs are about giving partial access to secrets or insider knowledge etc but I simply can't see myself accepting that this is my value proposition.
No, let the pie grow. Let more people be able to do more things. Use the new capabilities to do even more. See how you can provide genuine value in the new environment. I know it isn't easy. There are many unknowns. But at least aspirationally I see that as the only positive way forward.
The same thing has happened to many jobs. 100 years ago being a photographer was a difficult skill. They must have felt a rug pull when compact cameras became mainstream and they were no longer called to take all family pictures. Surely the codex writers felt a rug pull when printing became widespread. Typesetters when people could use word processors on their PC with font settings. Prop designers and practical effects people when movies switched to vfx. Etc etc.
> I don't think it's a psychologically positive self identification to see yourself merely as a gatekeeper and toll extractor rent seeker who only makes a living by withholding agency and skill from others.
That's an incredibly uncharitable reading of the parent comment. At no point in history prior to maybe this year could you argue that working in software was gatekeeping, toll extracting, or rent seeking. Being a highly skilled craftsperson creating software for those who can't or don't want to is a very psychologically positive self identification. Lamenting that the industry is moving away from highly skilled craftspeople is also perfectly valid, even if you believe that it is somehow good for society, which is yet to become clear.
They complained about the skill leveling where now lower skilled people can also do what needed higher skill before. You toiled to learn the craft, now there is a fast track to those results. That's what the rug pull is.
Yes, producing software was value. (It of course still is as of today, we are talking about what may be coming). My plead is to continue searching for ways to contribute value. Don't resign to a feeling that the only way to hold on is if you try to stop others from knowing about or being able to use the skill leveling tech. This makes one bitter and negative. Embrace it, aspire to be happy about it.
Its like getting scooped in science. In research, I always try to reframe it to be happy that science has progressed. Let me try to learn from it and pivot my research to some area where I can contribute something. Sulking about having been scooped does not lead to positive change and devalues ones own self-image.
The problem is that we don't live in a society where the benefits of new technology benefit all.
We're about to pull the rug underneath all knowledge workers. This will disrupt wage earners lives. This will disrupt the economy.
You might feel great about when things become cheaper but remember that when things are cheap it's only because costs are low and when costs are low the revenues are low and when revenues are low salaries are low too. Keep in mind that one party's cost is other party's revenue.
The economy is ultimately one large circle where the money needs to go around. You might think of yourself a winner as long as someone else's salary drops to zero and you still get to keep your income but eventually it will be you whose income will also be disrupted.
Just something to keep in mind.
And also we're going to just not rug pull on the individual knowledge workers but businesses too. Any software company with a software product will quickly find themselves in a situation where their software is worth zero.
Also this comment about gatekeeping is absolutely stupid. It's like saying trained doctors and medical schools are gatekeeping people from doctoring. It would be so much better if anyone could just doctor away, maybe with some tool assistance. So much fantastically better and cheaper? Right! Just lay off those expensive doctors and hire doctor-prompters for a fraction of the price.
> We're about to pull the rug underneath all knowledge workers. This will disrupt wage earners lives. This will disrupt the economy.
to tie back to the actually article, if you believe a rug pull is imminent then you got to get off the rug. Idk, you have to make a decision because we're certainly at a fork in the road. There's no guarantee waiting will result in a better outcome nor one saying it will be a worse outcome. There's going to be winners and losers always and lot of it is really just luck in timing. I guess, in reality, the careers we've built come down to a flip of a coin; stay on the rug, get off the rug.
/i'm thinking of buying a welding truck and getting in to that, then hire a welder and rinse repeat until i have a welding business. There's plenty of pipe fence in my neck of the woods and i see "welder wanted" all over the place so there's opportuntiy too.
Good luck to you and your welding business. Personally I'm getting to a point where I'm just "too old" (and grumpy) to start over, so I guess for me it's going to be a retirement to some LOCO that I can afford.
> We're about to pull the rug underneath all knowledge workers. This will disrupt wage earners lives. This will disrupt the economy.
It will put and end to the middle class entirely, but that’s the intent.
The reality is a lot of people who were formerly middle or upper middle class, and even some lower class populations will face steep, irreversible “status adjustment”.
I’m not talking about “we used to be able to take vacations and now we can’t”. I’m talking about “we used to be highly paid professionals now we’re viciously competing for low paid day labor (gig work) to hopefully be able to afford the cheap cuts this week”.
You can make a living, if: you have a way to modify your behavior in a way such that it compels another human being to reciprocate and modify their behavior in a way that you find beneficial for your life. All of money and economics in the end boils down to this. If you no longer have any kind of behavior that your neighbors and community see as valuable enough to modify their behavior to benefit you and keep you around, then we will be in trouble.
I doubt software development will stay as "low skilled prompting", or that it is even low skilled prompting right now. Productive LLM usage goes beyond typing in better prompts and involves things like improving guardrails (eg type definitions and tests), context (docs and "skills" and MCP servers), and management strategy (instructing specialized agents together). It seems natural that there will be high skill AI coding to differentiate engineers, at least until superintelligent AGI emerges and kills us all.
If you think any programming task at hand one must have at least some reasonable grasp of formalism, boolean logic, predicate logic, then understanding the software developing concepts, your APIs frameworks, language constructs etc and finally the domain knowledge.Most of this goes away when changing from coding to prompting.
I was just doing some computer graphics work myself doing Signed Distance Fields and Claude just literally regurgitated code that I could just adopt (since it works) without understanding any of the math involved.
I'd say that prompting is at least two orders of magnitude easier than coding.
I think looking at what the web did to the journalism industry as a model to what's happening to the software dev industry is worth while. Journalism didn't go away but it did completely change. Many old school journalists just couldn't adapt and left the industry, many papers died too.
Digital products such as "photoshop" have had value because people need a tool like that and there's only a limited number of competition, i.e. scarcity. The scarcity exists because of the cost. I.e. the cost of creating "photoshop"creates limit for how many "photoshops" exist. When you bring down the cost you'll have more "photoshops" when you have more "photoshops" as the volume increases the value decreases. Imagine if you can just tell claude "write me photoshop", go take a dump and come back 30 mins later to a running photoshop. You wouldn't now pay 200USD for a license, now would you? You'd pay 0USD.
If you now create a tool that can (or promises it) can obliterate the costs, it means essentially anyone can produce "photoshop". And when anyone can do it it will be done over and over and at which point they're worth zero and you can't give them away.
The same thing has happened to media publishing, print media -> web, computer games etc.
Then the problem is that when your product is worth zero you can no longer make a business by creating your product, so in order to survive you must look into alternative revenue streams such as ads, data mining etc. None of which are a benefit to to the product itself.
Whether you like it or not but the society is built on certain social constructs and agreements.
Do you think it's fair that when the society moves underneath, the capitalistic system moves its tectonic plates it's the individual who has to bear the cost of that?
Abd let's be clear only software devs are just sucking it up. You think lawyers and doctors would allow themselves to be laid off en masse and be replaced with trainees who just prompt the computer?
Also what will happen when high wage earners start loosing their discretionary income. The whole service sector for starters will be shaken.
Just imagine some big tech company laying off 10k engineers. Making 0.3m per year. That's 3b dollars that disappear from the incomes and thus from the economy and just stays in the pockets of the capital holders.
i made this point a few comments up but i think what's happening to the software dev industry is what happened to the journalism industry when the web really came into its own and everyone was now a journalist. There were even books written by tech people about how great "creative destruction" is heh now the shoe is on the other foot. How many "old dinosaurs" did web development and software dev in general put out of business? My neck is on the line too but even i have to chuckle at that a little bit.
yep you're absolutely right. the value in journalism and journalistic output was based on the scarcity, i.e. the cost of publishing reduced the amount of available content. With web the costs were obliterated so the content exploded and the value of any individual piece dropped to essentially zero. When it's worth zero your revenues are zero and zero revenues you can't really pay for any journalism.
So then you have no choice but to seek alternative revenue streams (ads, data mining) and in fact this becomes the thing, since the original thing no longer produces a revenue.
LLMs have lowered the bar for the unskilled person to create shit software. I have used Opus 4.6 on a number of projects, and it still spits out buggy, and sometimes, flat out broken code. I was actually surprised when it completely hallucinated the names of query params for an HTTP request in my code, when in the prompt I had explicitly given it the exact names it needed to use. I thought these frontier models were supposed to be game changing.
The query parameter issue is a pattern I see a lot. The model has thousands of examples of "how HTTP requests usually look" from its training process. When your input data conflicts with the pattern, the training data takes precedence.
Interestingly, the model doesn't "know" that it's ignoring you. From its perspective, it has retrieved a "meaningful" pattern—virtual parameter names that probably fit common conventions it saw during training. Your actual request simply... wasn't documented.
> LLMs have lowered the bar for the unskilled person to create shit software.
So? Demand the source code. Run your own AI to review the quality of the code base. The contracting company doesn't want to do it? Fine, find one that will.
His work is available with a permissible license on the Internet but somehow it doesn't seem right that a tool will just regurgitate someone else's work without any mention of copyright or license or original authorship.
Pre-LLM world one would at least have had to search for this information, find the site, understand the license and acknowledge who the author is. Post LLM the tool will just blatantly plagiarize someone else work which you can then sign off on as your own. Disgusting.
reply