This entire article kinda gave me weird vibes honestly and feels a bit... Chaotic? Rambling? I don't know what you mean by a few lines. As a fellow software engineer I found it strange when you...
This entire article kinda gave me weird vibes honestly and feels a bit... Chaotic? Rambling?
I don't know what you mean by a few lines. As a fellow software engineer I found it strange when you dropped this line.
"And I’ve just figured out the recent trend is not incidental after all. Considering the global trend for islamisation and regional isolation, the economies no longer need people who invent and create — it is not “cool” anymore (at least you should thank it’s not nazis again, despite the fact they were a viable alternative actually).".
Can you elaborate on what you are trying to imply here?
I stopped shortly after that because it feels like I was just reading someone who anger-dumped a rant on the Internet with no real purpose or even personal sense of quality.
I say this as genuinely kindly as I can, I think it is rather bizarre to go on a tirade about the "idiotic masses" and how simple they all are, while simultaneously having the post be full of typographic errata.
I want to give the benefit of the doubt here, but it's hard.
I have two major challenges to your argument. The first is that many sweeping arguments are completely unsupported. Almost none of this is supported by argument. What’s the “old way” of doing...
I have two major challenges to your argument. The first is that many sweeping arguments are completely unsupported.
Pretty much the whole west realized the old way of doing economics is not sustainable, and one of the key points is that we no longer need white collars, at least not as much as we used to need. But you cannot just tell people "you can no longer work as a programmer — you got to be cleaning toilets from now on". You need to change the culture and preferably completely replace the people. Islamic culture was the choice in this case.
Almost none of this is supported by argument. What’s the “old way” of doing economics, and who’s realized it isn’t needed? Factually, white collar jobs are growing, not shrinking; what does that mean for your argument? What, exactly, does “Islamic” culture mean to you and how does that make people not want to have white collar jobs anymore?
But more pressingly, this brings me to my second major challenge. You’re repeatedly asserting that someone - it’s not clear who - is intentionally shaping the world in an extremely causative fashion, starting from your initial argument that in the 1970s the US and UK “decided” to shift their role from industrial production to finance and science, and following through to your argument that someone “chose” Islamic culture to replace Europe’s culture with, and then to the argument about AI. My challenge to this is that you haven’t provided any evidence to suggest that any group of people can or is actively shaping the world in this way.
Let’s take the US, for example. Since the 1970s there have been ~10 different American presidents, depending on how you count, representing both major political parties. How could they possibly all have been colluding to intentionally move away from industry and towards “finance” and “science”? In the European example, how could it be that all these different countries are all deliberately trying to replace their own culture with Islamic culture? I will grant you that in very broad strokes, political establishments try to encourage certain things, such as free trade agreements generally being understood to allow manufacturing to offshore itself to areas where it is cheaper to do. But that’s not at all the same thing as someone deciding “we’re not an industrial country anymore, now we’re a services economy” and then sticking with that over the course of the next fifteen elections.
Finally, I would caution you that “Europe is deliberately trying to replace its people with immigrants and culture with Islamic culture” is playing with the line of what most people on Tildes (including myself) would consider racism, especially if the point is that people will then be happier cleaning toilets. It’s very, very difficult to make that sort of argument without also implying that Muslim immigrants in Europe are inherently bad because of who they are. There’s a pretty big difference between “Europe decided to expand immigration in order to broaden the labor pool, which naturally resulted in a lot of new immigrants from the near east and Africa” and “you need to completely replace the people,” if that makes sense.
Your definitions seem self-contradictory. "The power" no longer influences the internet but "the power holders" "shape the internet"? I know that there is probably a thought process behind these...
The power no longer influences internet — internet is the power. At least in the first/second world countries. So the power holders shape the internet to make it shape the society.
Your definitions seem self-contradictory. "The power" no longer influences the internet but "the power holders" "shape the internet"? I know that there is probably a thought process behind these definitions but they're too vague to make sense.
(You could try writing a post that focuses solely on why "internet is the power" and what exactly that term means to you. Hopefully in the process you'll discover a better name for that phenomenon - something that will generate understanding rather than confusion.)
One use case for LLMs I don't see enough discussion of is regurgitating library code into my repo, but only the 300 lines I need as a single, clean, 0-dependency module. It feels so much better...
One use case for LLMs I don't see enough discussion of is regurgitating library code into my repo, but only the 300 lines I need as a single, clean, 0-dependency module. It feels so much better than going out to npmjs.com and rolling the dice on some hulking mass of sub-dependencies. And in this case the alternative would really be writing out a bunch of fancy code for a few hours. It's absolutely a straight upgrade. Whatever path you previously would have taken you're either getting a simpler end result, or one that takes minutes instead of hours to implement.
I think there's a balance to be had (NPM is on a far end of the spectrum) but having an llm statically emplace libraries for you does have downsides, enough that I wouldn't call it a straight...
I think there's a balance to be had (NPM is on a far end of the spectrum) but having an llm statically emplace libraries for you does have downsides, enough that I wouldn't call it a straight upgrade. For one, you can't know you are actually getting the best version of that library's functionality, you're getting the LLMs interpretation of it which may be missing edge case issues or backwards compatibility support or performance optimizations. Second, you're now on the hook for upgrades and security fixes instead of the library. And third, it's contributing to a general tragedy of the commons where library authors have less reason to make new libraries or improve existing ones as feedback mechanisms go away. There's probably also licensing risk too but IANAL.
My philosophy has always been: just write the 300 lines rather than pull in the whole mess that's trying to solve a bunch of use cases you don't need. I don't mean copy them from the library...
My philosophy has always been: just write the 300 lines rather than pull in the whole mess that's trying to solve a bunch of use cases you don't need. I don't mean copy them from the library wholesale, that usually takes longer anyway since you have to disentangle what you need from the web of interrelations. At most you're inspired by a novel strategy the library is using.
Thinking about backwards compatibility, edge cases and performance optimizations is just part of writing code. You know the scope, you know what it needs to do, you're thinking about performance while you're writing it. You may not get everything right the first time, but you can iterate, and when you're done you'll have added a few 100 tightly scoped lines of code to your project rather than 30,000 lines of code. It takes longer but it's undeniably better in every other way. It will run faster, it will be bug free (once you've fixed the bugs) and it will be easier to maintain and extend. We're talking about 300 lines of code after all, it's not difficult to reason about. In most languages it takes minutes, as opposed to hours, to read and understand 300 lines of code.
teaearlygrey's LLM shortcut is likely doing something similar. I could be wrong, I've never actually asked an LLM to extract functionality from a library, but based on my experience if you said "figure out how this works and then make a plan to implement the functionality in my application over here" what you're likely to get in the end is a somewhat less elegant version of what would happen if you wrote the code yourself. Or maybe you'd get a copyright violation, it depends on the model and your prompt. You can iterate on that too.
But the point is that drawing inspiration from existing code, and sometimes even copy/pasting (pour one out for stackexchange), has always been a part of software development. One person solves a problem and 1000 people copy or import their solution. You can make a case that it sucks that LLMs can accelerate the process, but they didn't invent it.
I said it's a balance, not to never copy/replicate library logic yourself. Absolutely use your own judgement as to when and where that makes sense. My commentary is only that unqualified...
I said it's a balance, not to never copy/replicate library logic yourself. Absolutely use your own judgement as to when and where that makes sense. My commentary is only that unqualified statements like "It's absolutely a straight upgrade" or "it's undeniably better in every other way" rub me the wrong way. Everything has tradeoffs and your own comment even points out some of them.
The context is also important and if unstated can lead to differences in opinion about where to tip the balance. In big team/corporate engineering copying code can quickly result in ultimately way more code to understand for everyone with subtle differences and gotchas and styles which other people still need to find and wade through if a change becomes necessary. In a small team/single person project the tight control and alignment to exactly what you need can be a huge boon.
Ultimately all code relies on libraries and abstractions somewhere, sometimes they aid in reducing cognitive load, sometimes they don't and there's many factors involved in that. A skilled engineer can usually intuit when to use a library or copy code, but not everyone is skilled across all domains and everyone has blind spots and makes mistakes. In those messy realities I'd lean towards the advice of just use the library unless there's really strong reasons not to or the stakes are low.
Re LLMs specifically, assuming you review the code and understand it similarly to hand written code, I agree it's an equivalent shortcut. But for many who use LLMs that isn't true (no judgement intended on that, abstraction and not understanding the details of code is the point of libraries after all). When it's not true I don't really see any difference between using a library vs an LLM outside of now you're not going to get any updates in the future and you're replacing a random sampling of human expertise (the library author) with random sampling of LLM expertise. Whether an LLM output generally beats handwritten library code I leave up to personal opinion, but I don't think it's better on average (yet).
Agreed that drawing inspiration and copy pasting code is and always will be a part of software development. My concern with LLMs is that stack overflow posters and library authors are humans and typically want some form of recognition for their work, even if it is the miniscule breadcrumb of stack overflow upvotes or library download metrics. LLMs remove even that tenuous link when ideally instead we'd move towards greater recognition (and compensation) for the work open source contributors provide.
That's true, in a large enough organization, where people are more interchangeable, abstractions rule. That's a big part of why LLM adoption has been so rapid: the disposablility of people,...
That's true, in a large enough organization, where people are more interchangeable, abstractions rule.
That's a big part of why LLM adoption has been so rapid: the disposablility of people, championed by corporate culture. Removing human brains from increasingly more of the loop isn't even a new idea in that context.
My commentary is only that unqualified statements like "It's absolutely a straight upgrade" or "it's undeniably better in every other way" rub me the wrong way.
I get that, though I'd say in this case "it's absolutely a straight upgrade" is a person's experience, where they're well qualified to make absolute statements.
As far as my absolute goes, I'll happily add an "outside of corporate environments" qualifier. Also, if we were talking about a lot more than 300 lines of code it would be more nuanced.
The most recent example I was thinking of was a confetti canvas effect. No security to worry about, performance is good (I told the LLM it's "too slow" and it bucketed all particles to lower...
The most recent example I was thinking of was a confetti canvas effect. No security to worry about, performance is good (I told the LLM it's "too slow" and it bucketed all particles to lower collision checking time complexity). Compatibility in my case isn't a concern as this is for digital signage and I can test each device manually. Upgrades are an anti-feature here. I want it to stay the same. I'm doing this for a whole library of screen effects. It's the perfect vibe coding use case as I really am truly only going for a "vibe".
Yeah there's plenty of valid use cases for LLM library extraction, and what you've described certainly seems like one of them! I didn't mean to imply one should never do it, just that I don't...
Yeah there's plenty of valid use cases for LLM library extraction, and what you've described certainly seems like one of them! I didn't mean to imply one should never do it, just that I don't think it's always a benefit even for shorter portions of code.
This entire article kinda gave me weird vibes honestly and feels a bit... Chaotic? Rambling?
I don't know what you mean by a few lines. As a fellow software engineer I found it strange when you dropped this line.
Can you elaborate on what you are trying to imply here?
I stopped shortly after that because it feels like I was just reading someone who anger-dumped a rant on the Internet with no real purpose or even personal sense of quality.
I say this as genuinely kindly as I can, I think it is rather bizarre to go on a tirade about the "idiotic masses" and how simple they all are, while simultaneously having the post be full of typographic errata.
I want to give the benefit of the doubt here, but it's hard.
I have two major challenges to your argument. The first is that many sweeping arguments are completely unsupported.
Almost none of this is supported by argument. What’s the “old way” of doing economics, and who’s realized it isn’t needed? Factually, white collar jobs are growing, not shrinking; what does that mean for your argument? What, exactly, does “Islamic” culture mean to you and how does that make people not want to have white collar jobs anymore?
But more pressingly, this brings me to my second major challenge. You’re repeatedly asserting that someone - it’s not clear who - is intentionally shaping the world in an extremely causative fashion, starting from your initial argument that in the 1970s the US and UK “decided” to shift their role from industrial production to finance and science, and following through to your argument that someone “chose” Islamic culture to replace Europe’s culture with, and then to the argument about AI. My challenge to this is that you haven’t provided any evidence to suggest that any group of people can or is actively shaping the world in this way.
Let’s take the US, for example. Since the 1970s there have been ~10 different American presidents, depending on how you count, representing both major political parties. How could they possibly all have been colluding to intentionally move away from industry and towards “finance” and “science”? In the European example, how could it be that all these different countries are all deliberately trying to replace their own culture with Islamic culture? I will grant you that in very broad strokes, political establishments try to encourage certain things, such as free trade agreements generally being understood to allow manufacturing to offshore itself to areas where it is cheaper to do. But that’s not at all the same thing as someone deciding “we’re not an industrial country anymore, now we’re a services economy” and then sticking with that over the course of the next fifteen elections.
Finally, I would caution you that “Europe is deliberately trying to replace its people with immigrants and culture with Islamic culture” is playing with the line of what most people on Tildes (including myself) would consider racism, especially if the point is that people will then be happier cleaning toilets. It’s very, very difficult to make that sort of argument without also implying that Muslim immigrants in Europe are inherently bad because of who they are. There’s a pretty big difference between “Europe decided to expand immigration in order to broaden the labor pool, which naturally resulted in a lot of new immigrants from the near east and Africa” and “you need to completely replace the people,” if that makes sense.
Your definitions seem self-contradictory. "The power" no longer influences the internet but "the power holders" "shape the internet"? I know that there is probably a thought process behind these definitions but they're too vague to make sense.
(You could try writing a post that focuses solely on why "internet is the power" and what exactly that term means to you. Hopefully in the process you'll discover a better name for that phenomenon - something that will generate understanding rather than confusion.)
One use case for LLMs I don't see enough discussion of is regurgitating library code into my repo, but only the 300 lines I need as a single, clean, 0-dependency module. It feels so much better than going out to npmjs.com and rolling the dice on some hulking mass of sub-dependencies. And in this case the alternative would really be writing out a bunch of fancy code for a few hours. It's absolutely a straight upgrade. Whatever path you previously would have taken you're either getting a simpler end result, or one that takes minutes instead of hours to implement.
I think there's a balance to be had (NPM is on a far end of the spectrum) but having an llm statically emplace libraries for you does have downsides, enough that I wouldn't call it a straight upgrade. For one, you can't know you are actually getting the best version of that library's functionality, you're getting the LLMs interpretation of it which may be missing edge case issues or backwards compatibility support or performance optimizations. Second, you're now on the hook for upgrades and security fixes instead of the library. And third, it's contributing to a general tragedy of the commons where library authors have less reason to make new libraries or improve existing ones as feedback mechanisms go away. There's probably also licensing risk too but IANAL.
My philosophy has always been: just write the 300 lines rather than pull in the whole mess that's trying to solve a bunch of use cases you don't need. I don't mean copy them from the library wholesale, that usually takes longer anyway since you have to disentangle what you need from the web of interrelations. At most you're inspired by a novel strategy the library is using.
Thinking about backwards compatibility, edge cases and performance optimizations is just part of writing code. You know the scope, you know what it needs to do, you're thinking about performance while you're writing it. You may not get everything right the first time, but you can iterate, and when you're done you'll have added a few 100 tightly scoped lines of code to your project rather than 30,000 lines of code. It takes longer but it's undeniably better in every other way. It will run faster, it will be bug free (once you've fixed the bugs) and it will be easier to maintain and extend. We're talking about 300 lines of code after all, it's not difficult to reason about. In most languages it takes minutes, as opposed to hours, to read and understand 300 lines of code.
teaearlygrey's LLM shortcut is likely doing something similar. I could be wrong, I've never actually asked an LLM to extract functionality from a library, but based on my experience if you said "figure out how this works and then make a plan to implement the functionality in my application over here" what you're likely to get in the end is a somewhat less elegant version of what would happen if you wrote the code yourself. Or maybe you'd get a copyright violation, it depends on the model and your prompt. You can iterate on that too.
But the point is that drawing inspiration from existing code, and sometimes even copy/pasting (pour one out for stackexchange), has always been a part of software development. One person solves a problem and 1000 people copy or import their solution. You can make a case that it sucks that LLMs can accelerate the process, but they didn't invent it.
I said it's a balance, not to never copy/replicate library logic yourself. Absolutely use your own judgement as to when and where that makes sense. My commentary is only that unqualified statements like "It's absolutely a straight upgrade" or "it's undeniably better in every other way" rub me the wrong way. Everything has tradeoffs and your own comment even points out some of them.
The context is also important and if unstated can lead to differences in opinion about where to tip the balance. In big team/corporate engineering copying code can quickly result in ultimately way more code to understand for everyone with subtle differences and gotchas and styles which other people still need to find and wade through if a change becomes necessary. In a small team/single person project the tight control and alignment to exactly what you need can be a huge boon.
Ultimately all code relies on libraries and abstractions somewhere, sometimes they aid in reducing cognitive load, sometimes they don't and there's many factors involved in that. A skilled engineer can usually intuit when to use a library or copy code, but not everyone is skilled across all domains and everyone has blind spots and makes mistakes. In those messy realities I'd lean towards the advice of just use the library unless there's really strong reasons not to or the stakes are low.
Re LLMs specifically, assuming you review the code and understand it similarly to hand written code, I agree it's an equivalent shortcut. But for many who use LLMs that isn't true (no judgement intended on that, abstraction and not understanding the details of code is the point of libraries after all). When it's not true I don't really see any difference between using a library vs an LLM outside of now you're not going to get any updates in the future and you're replacing a random sampling of human expertise (the library author) with random sampling of LLM expertise. Whether an LLM output generally beats handwritten library code I leave up to personal opinion, but I don't think it's better on average (yet).
Agreed that drawing inspiration and copy pasting code is and always will be a part of software development. My concern with LLMs is that stack overflow posters and library authors are humans and typically want some form of recognition for their work, even if it is the miniscule breadcrumb of stack overflow upvotes or library download metrics. LLMs remove even that tenuous link when ideally instead we'd move towards greater recognition (and compensation) for the work open source contributors provide.
That's true, in a large enough organization, where people are more interchangeable, abstractions rule.
That's a big part of why LLM adoption has been so rapid: the disposablility of people, championed by corporate culture. Removing human brains from increasingly more of the loop isn't even a new idea in that context.
I get that, though I'd say in this case "it's absolutely a straight upgrade" is a person's experience, where they're well qualified to make absolute statements.
As far as my absolute goes, I'll happily add an "outside of corporate environments" qualifier. Also, if we were talking about a lot more than 300 lines of code it would be more nuanced.
The most recent example I was thinking of was a confetti canvas effect. No security to worry about, performance is good (I told the LLM it's "too slow" and it bucketed all particles to lower collision checking time complexity). Compatibility in my case isn't a concern as this is for digital signage and I can test each device manually. Upgrades are an anti-feature here. I want it to stay the same. I'm doing this for a whole library of screen effects. It's the perfect vibe coding use case as I really am truly only going for a "vibe".
Yeah there's plenty of valid use cases for LLM library extraction, and what you've described certainly seems like one of them! I didn't mean to imply one should never do it, just that I don't think it's always a benefit even for shorter portions of code.