☆ Yσɠƚԋσʂ ☆

  • 2.33K Posts
  • 2.8K Comments
Joined 6 years ago
cake
Cake day: January 18th, 2020

help-circle



  • Oh yeah forgot about limewire. :) And I’ve been noticing the same trend, a lot of people don’t really know how to torrent things anymore. It really is a strictly superior user experience. Once you have a file then nobody can take it away from you, it doesn’t expire, you can play it on whatever device you want whenever you want. The fact that people accept streaming along with all the limitations is really crazy to me. Even outside the question of cost, it’s just a shittier overall experience.


  • I am talking about interrogating the implications of the present world we live in. What I was pointing out is that the author makes a shallow analysis of the symptoms without following the threads to identify the root causes. You don’t need to be a philosopher to do that.

    I’m also not talking about an alternative history where AI might’ve emerged in a different form. I was pointing out the underlying causes of the negative effects associated with how this technology is used, and we need to be clear on that in order to do anything about the problem. The issue is capitalist control, and the solution is to develop this technology under public ownership the same way other open source technology is developed. Open alternatives from China are already the biggest threat to the whole model, so this is already starting to happen.

    I think people who are opposed to the way this tech is used should be thinking of how to wrestle it away from corporations, and to build it in the open. This is the whole concept behind having ownership of the means of production. In my opinion, that’s the only realistic solution to the problem in the long term.






  • The analysis in the post remains firmly at the level of phenomena, failing to address the fundamental contradiction of the capitalist mode of production. The blog post correctly points out that tools are not neutral since they shape people and social relations. All tools are material manifestations of specific production relations. However, the blog post treats AI as a tool or technology itself, failing to question why AI exists in this specific form at the current historical stage. The reason there is a tendency towards large scale models which are centralized and commercialized is that they are an inevitable product of the logic of capitalist accumulation.

    From the perspective of the base and the superstructure, after the highly developed capitalist productive forces, capital urgently needs a new means to accelerate circulation, reduce labor costs, and open up new areas of accumulation. So, the inefficiency and high energy consumption of AI are not technological defects, but rather a price that capital is forced to pay under specific historical conditions because true efficiency in form of distributed, open-source, and democratized AI cannot serve the maximization of monopoly profits. The waste, environmental damage, and ethical crisis of the AI ​​industry are essentially inherent contradictions of the capitalist mode of production. The problem stems directly from the contradiction between social production and private ownership.

    The post also discusses the idea of tools shaping people, but fails to clearly distinguish the different shaping forces of use value and exchange value on technological development. Under capitalism, AI primarily serves the needs of capital accumulation rather than the comprehensive development of a society. The whole AI makes humans stop thinking and stop creating argument is just describing the deepening of capitalist labor alienation in the digital age where workers are alienated from creative labour. The push to replace rather than enhance human capabilities is driven by the need for replaceable, standardized labor, rather than independent thinking subjects.

    Merely demanding rational use or ethical norms without addressing the private ownership of the means of production can only alleviate symptoms while doing nothing to address the root cause. The laws and ethics of capitalist society are themselves part of the superstructure and their fundamental function is to safeguard the interests of the bourgeoisie. As long as the means of production remain in the hands of a few monopolistic capitalists, any calls for ethical use are just empty moralizing.

    Finally, it’s worth noting that there is little room for letting us do what machines cannot do like appreciating predecessors and fighting for policy within the capitalist framework because such behaviors are systematically marginalized. True liberation lies in breaking down the social relations that determine the direction of technological development. The goal has to be to move the development of AI from serving capital accumulation to serving the free and comprehensive development of humanity.

    The core problem with the critique in the blog post is that while it is emotionally charged, it fails to rise to the level of a systematic analysis of the capitalist mode of production. Merely calling for critical use or humanistic concern is insufficient because it is essential to understand the relations of production in order to see past the illusion of tools controlling people.







  • Exactly, the argument that whether the code was written entirely by hand or produced by an LLM is the wrong thing to focus on. To see why, we have to consider how software development actually works at scale.

    There’s a view that code written by hand has to be more intentional, almost has to be by definition since it requires the maintainer to actually put it in there themselves. That’s, of course, true but once a project grows past a certain size or it has multiple maintainers, nobody really has the totality of the code in their heads. So, any new code that’s added is always done with limited understanding. Code being written by hand should not be equated with it expressing the intent faithfully; if that were the case, then we’d never have software bugs. Humans make mistakes all the time as is clearly evidenced by there being no lack of buggy code predating LLM use.

    I’m also not intimately familiar with most of the code in the projects I’ve been maintaining over the years. Any code I’ve written even a few months ago might as well have been written by someone else. When I need to make changes, I read through the code and figure out what it’s doing, and I rely on the test harness to make sure I don’t introduce regressions.

    It’s simply not feasible for humans to keep the entirety of large projects in their heads all at once. When you’re working on a project, you’re constantly forgetting and relearning code as you go. And the situation is even worse for projects where multiple people work together where nobody knows what everyone else was thinking. We look at the code and try to build up sufficient context in our heads to make the necessary changes. When we misjudge that context or misunderstand existing code, then we end up making mistakes.

    The way we judge whether projects are actually solid is by the level of specification and testing they have, the experience of the developers, and amount of usage they see in the wild. All of these same tools work just as well with LLM generated code as they do with code written by hand.

    Farming out design decisions to the LLM without reviewing the output or doing proper testing will almost certainly produce low quality code, but that is no different from somebody just slapping some code together to make a kludge rather than really thinking through a problem. Working with LLMs does not mean farming out your thinking to the machine. What these tools actually do is automate the mechanical aspect of producing the code. Once it is written, you can read it, understand it, and change it as you would with any other code.





  • The claim that LLMs are simply damage control for poor engineering decisions is a gross misrepresentation of the reality of maintaining a codebase the size of Linux. No human can hold the full state space of the kernel in their head. Memory safety is one class of bug, but the most subtle vulnerabilities are logic bugs such as race conditions, incorrect state transitions, misuse of APIs that cross module boundaries, or behavior changes during a refactor. None of these would be caught by Rust’s borrow checker or by typical static analysis tools. These problems emerge from interactions between subsystems written by different maintainers who were solving separate problems and weren’t aware of how features might interact in negative ways.

    LLMs, by contrast, can look across a far larger context and identify interactions across the entire codebase. They can trace the execution of a path through a driver, spot where a lock is held too long, or detect that a function’s contract is violated by a caller many levels deep. Humans simply cannot scale this kind of analysis to millions of lines because we can only hold so much information in our heads. Calling LLMs damage control is frankly dishonest in the extreme.

    Rust is a powerful tool for eliminating issues like buffer overflows and use-after-frees in new code, but it’s by no means a silver bullet. On top of that, the Linux kernel already has millions of lines of C that will never be rewritten. A Rust rewrite of the entire kernel would be a fantastical idea, and even if that magically happened you’d still have many kinds of problems such as logic errors, algorithmic complexity attacks, or unsafe blocks needed for hardware interaction which Rust would not help you with. The reality is that LLMs help find the same memory bugs in C code today, and many of these problems would simply not be found otherwise.

    The whole idea of having multiple supported kernels to break the monoculture is likewise fantastical, and ignores the sheer amount of work that goes into maintaining a project of that scale. It’s also completely orthogonal to the LLM question. If we had ten kernels then each would still be a giant codebase needing the same kind of automated analysis.

    Dismissing LLMs as damage control ignores the fact that much of all engineering is damage control, and the real question is which tools give us the best return on effort. LLMs currently provide a unique ability to surface hard to see interactions that no other tool catches.