• 5 Posts
  • 795 Comments
Joined 1 year ago
cake
Cake day: January 16th, 2024

help-circle





  • Itā€™s so funny he almost gets it at the end:

    But thereā€™s another aspect, way more important than mere ā€œmoral truthā€: Iā€™m a human, with a dumb human brain that experiences human emotions. It just doesnā€™t feel good to be responsible for making models scream. It distracts me from doing research and makes me write rambling blog posts.

    He almost identifies the issue as him just anthropomorphising a thing and having a subconscious empathical reaction, but then presses on to compare it to mice who, guess what, can feel actual fucking pain and thus abusing them IS unethical for non-made-up reasons as well!







  • Reading this I had a small epiphany about something Iā€™ve been observing for a really long time wrt. programmers. That term sounds like something I would use to describe a specific category inexperienced or experienced-but-terrible programmers before the entire LLM disaster. Like this very specific kind of coding based on not giving a fuck, where you haphazardly copy snippets from the internet, write no tests, debug based on divine guidance.

    You might know the term ā€œphilosophical zombieā€. Its usefulness in philosophy aside, Iā€™d call this kind of coder a ā€œprogramming zombieā€. For a programmer, the process of coding is a quite complex internal experience. We build large models inside our minds to capture the context in which we need to perform the task, often spanning multiple abstraction levels. When youā€™re working on a small project you have a quite detailed model of e.g. the current file youā€™re working in, but also awareness of the other parts of the projects and how they connect to the file youā€™re in right now. Everyone has this to some extent after some experience with coding. People who are really good at coding sometimes seem from the outside like fucking magicians, because youā€™ll come to them with some small issue in one part of the codebase and in milliseconds theyā€™ll be able to utter shit like ā€œah, this is because of how module X interacts with this syscall in Y.cpp when youā€™re running an old version of the kernelā€, and theyā€™ll be right. In their head they have this intricate deep understanding of what theyā€™re working on and can pull connections and explenations seemingly out of thin air.

    A programming zombie doesnā€™t have any of that. The moment something doesnā€™t work and their usual MO of copying or changing random things until it works doesnā€™t produce effects, theyā€™re completely stuck. Itā€™s like they donā€™t have a way to reason about their program, they donā€™t have a mental model of what theyā€™re actually doing. This is what you get when you treat code as just some words on the screen. And itā€™s something Iā€™ve always struggled to understand and explain, because I donā€™t actually know how to teach someone to have that process. It seems like an intrinsic part of the job, when I tell you ā€œIā€™m programmingā€ I donā€™t mean ā€œIā€™m writing some funny characters on the screenā€, I mean Iā€™m designing a program, the same way an electrician isnā€™t just connecting random wires and hoping for the best but rather has some larger electrical network in mind.

    In the before times, so far ago I wasnā€™t even born yet, it was probably quite hard to be a programming zombie because everything about programming was so much harder. I mean, a punchcard had to be a great filter against people without mental models of code. People on interviews started using FizzBuzz to try and weed out people who can write code, but cannot code, and it kinda worked for some time. But now? Weā€™re in the prime time of a vibecoder. You donā€™t have to know fucking anything now. If youā€™re a Blockchain Programmer then your code probably doesnā€™t even run anywhere. Itā€™s all just vibes, man. Weā€™re pretending to be engineers by pretending to write code that we pretend we tested, and then our customers pretend to use it. In actuality itā€™s code shat out by an LLM deployed to a site visited only by search engine bots, advertising an app with no real use, in service of a number going up somewhere. And whatā€™s that number based on? Yup, just vibes.

    Now I donā€™t know if this is true because Iā€™m only definitionally a writer in that I write a lot of prose, but the point of ā€œthis is what happens when you treat code as just textā€ seems to generalize to an eerie extent when weā€™re talking about LLMs. Cause thatā€™s what they do, right? Writing is not just writing words, when you write an article you have a mental model of something more abstract that youā€™re trying to bring to life with the words. The structure and flow are something that originates from your inner understanding of what youā€™re trying to convey, itā€™s just expressed by the language. As in, language is just a tool we use to convey abstract concepts, the same way programming languages are just a tool we use to express abstract functionality. The way LLMs are advertised and so often used puts this on its head, the text is the primary product and a goal in and of itself. Why does LLM poetry suck? Because itā€™s just words. Thereā€™s no poem there, itā€™s just words arranged in a way to resemble a poem. Itā€™s the same reason their prosaic writing sucks. The same reason its code sucks. Only if you perceive poetry as flowery words, prose as long passages of text, and programs as keywords on a screen, can you be fooled into thinking thereā€™s any substance behind the LLM vibes.

    Anyway, I kinda lost myself in my harrowing philosophical nightmare that is our tragic reality, in conclusion ye, just throwing random AI garbage into your code and seeing if it sticks is very much what Iā€™d call vibecoding.








  • You basically just need to know a lot of rules / tables and how things interact to know whatā€™s possible and the best practices

    And to be a programmer you basically just need to know a lot of languages / libraries and how things interact, really easy, barely an inconvenience.

    The actual irony is that this is more true than for any other engineering profession since programmers uniquely are not held to any standards whatsoever, so you can have both skilled engineeres and complete buffoons coexist, often within the same office. There should be a Programmersā€™ Guild or something where the experienced master would just slap you and throw you out if you tried something idiotic like using LLMs for code generation.