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

help-circle

  • 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.



  • Brain drain the world. Work visas for every person who can produce more than they consume. I’m talking doubling the US population, bringing in all the factory workers, farmers, miners, engineers, literally anyone who produces value.

    Okay, I mean, that’s coherent policy, I really don’t like the caveats of ā€œproduces more than they consumeā€ cause how do you quantify that, but yes, immigration is actually good…

    Can we raise the average IQ of America to be higher than China?

    aaaand it’s eugenics, fuck, how does this keep happening





  • The attitude to theoretical computer science re quantum is really weird. Some people act as if ā€œI can’t run it now therefore it’s garbageā€ which is just such a nonsense approach to any kind of theoretical work.

    Turing wrote his seminal paper in 1936, over 10 years before we invented transistors. Most of CS theory was developed way before computers were proliferated. A lot of research into ML was done way before we had enough data and computational power to actually run e.g. neural networks.

    Theoretical CS doesn’t need to be recent, it doesn’t need to run, and it’s not shackled to the current engineering state of the art, and all of that is good and by design. Let the theoreticians write their fucking theorems. No one writing a theoretical paper makes any kinds of promises that the described algorithm will EVER be run on anything. Quantum complexity theory, for example was developed in the nineties, there was NO quantum computer then, no one was even envisioning a quantum computation happening in physical reality. Shor’s algorithm was devised BEFORE THAT, before we even had the necessary tools to describe its complexity.

    I find the line of argumentation ā€œthis is worthless because we don’t know a quantum computer is engineeringly feasibleā€

    1. Insulting,
    2. Stupid,
    3. Lacking whimsy,
    4. Unscientific at its core.