Programming thread

  • 🔎 If you see an alert for analytics.usips.org, this is a self-hosted system I am running as a test. It is GDPR compliant and collects no invasive information.
  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account
And to close this diatribe, I am convinced LLMs will fail in the long term. The hard technical material required to feed them is already running out online and replaced by LLM-generated slop. Even technical books are now often LLM-generated. This will lead to LLMs providing stale, out-dated output, or just experiencing model collapse.
If AI development stopped tomorrow, and Anthropic and OpenAI switched purely to inference as a service, thousands of entry level programmers would still be out of a job, and the US junior pipeline would still be smashed.
There's no going back from this. Even if Anthropic and OpenAI died tomorrow, open 30B models would still be sufficient in replacing juniors, and Nvidia would be more than willing to produce the hardware and sell it at just the right price to undercut them.
It was never about being good. It was about killing the juniors to drive down supply.
 
If AI development stopped tomorrow, and Anthropic and OpenAI switched purely to inference as a service, thousands of entry level programmers would still be out of a job, and the US junior pipeline would still be smashed.
There's no going back from this. Even if Anthropic and OpenAI died tomorrow, open 30B models would still be sufficient in replacing juniors, and Nvidia would be more than willing to produce the hardware and sell it at just the right price to undercut them.
It was never about being good. It was about killing the juniors to drive down supply.
Languages and technology in general won't stand still and AI companies won't have much data to train on, now that everyone knows whatever valuable they put online will be immediately plundered and exploited by AI companies. New information will become walled or just not shared online. Or at least that is my assumption.
 
Writing code was never the hard problem of software, which is why I think using LLMs is misguided. If I understand the problem and understand the solution and know what kind of architecture I want to go with, then 99% of issues have been solved. Writing the code is just putting it all together.
🧑‍🌾"Hey, plumb this fucking property through 15 layers of abstraction for me and wire it into a unit test and run it"
🤖 OK BOSS IT RAN FINE
🧑‍🌾"Thanks."

I'm not giving that up. I'm also not going to be able to just shit out a tree traversal from memory because my memorization doesn't work that way. I don't want to fucking deal with copy pasting and endlessly hitting key combos for go to implementation NOT THE INTERFACE THE IMPLEMENTATION. I hated that shit.

It was always easier for me to think about "ok, data flows like this, then I do the actual computing here" than to type the syntax.

You're right that writing the code is the easier part because that's what the AI does for you and the AI can't architect for shit.

I would also argue that not writing your own code deprives you of a discovery process. While writing, you might spot mistakes in your own assumptions, or might spot mistakes elsewhere in code. I've started calling this AI myopia. You only see what the LLM sees. But I guess this doesn't matter if your project is purely LLM-generated and you don't have considerations like efficiency, timing, etc.

Please tell me the last time you were paid to run a profiler. I write web apps so I can count on one hand. If you're writing microcontroller shit, great. Wish I got into that.

But I'd also use a profiler instead of pre-optimize (besides literal correctness or obvious shit like tree here, hash there).

Again, the majority of my job is just plumbing shit and fixing shitty jeet SQL.

Ultimately I blame the whole "learn to code" bullshit. It filled the profession with people who had no business being in the profession, either due to wrong incentives ($) or incompetence. This influx only hindered development, as they required constant handholding and oversight. Now, instead of fixing this by getting rid of useless developers and optimizing ways of working, we are bringing in LLMs to enable the incompetent developers to do even more damage.

Companies don't train or mentor for fuck. That's part of why I hate this industry and really just see programing as means to an end. I don't care if my plumber is an artisanal gluer of plastic or threader of metal.

FWIW my ability to find problems and fix them is accelerated because instead of having to remember syntax for git blame (or wahtever) I just go "hey go find the jackass who wrote it".

My dude, speak for yourself.

And to close this diatribe, I am convinced LLMs will fail in the long term. The hard technical material required to feed them is already running out online and replaced by LLM-generated slop. Even technical books are now often LLM-generated. This will lead to LLMs providing stale, out-dated output, or just experiencing model collapse.

The fact that they're able to see isomorphism in code (how many data structures are there, really?) and plumb in the props that are used for logical whatever or just passed through as well as they can now is something you can just handwave away because you want to be paid to type.

At webdevjob I haven't written a line of code in over a year.

OTOH it's web dev and I hate that shit and someone telling me to be a calligraphy master for javascript is a faggot.
 
Vendoring everything is the way to go. And aggressively delete the parts of the vendored stuff you don't use.
High upfront and maintenance (updating) cost, but in every other way it's so much better than the alternatives. You don't have to go so far like vendoring the compiler and you can skip extremely stable libraries like curl and sqlite.
 
If AI development stopped tomorrow, and Anthropic and OpenAI switched purely to inference as a service, thousands of entry level programmers would still be out of a job, and the US junior pipeline would still be smashed.
There's no going back from this. Even if Anthropic and OpenAI died tomorrow, open 30B models would still be sufficient in replacing juniors, and Nvidia would be more than willing to produce the hardware and sell it at just the right price to undercut them.
It was never about being good. It was about killing the juniors to drive down supply.
If you destroy entry level jobs, you will eventually run out of regular/senior developers.
And I doubt you can make a regular out of junior who just prompts LLMs.
It's gonna be a weird job market in a decade. Especially that computer performance improvements are slowing down considerably.

Companies don't train or mentor for fuck. That's part of why I hate this industry and really just see programing as means to an end. I don't care if my plumber is an artisanal gluer of plastic or threader of metal.
Honestly, that's one of the biggest issue in IT imho. Even if juniors are shit, but willing to learn they can't. There is sparse documentation, no one gives a fuck, so eventually most just coast. In most cases people just cargo cult development process, hoping that they will get enough experience on paper to jump into next, better paid role.
 
Last edited:
Again, the majority of my job is just plumbing shit and fixing shitty jeet SQL.
I understand, but at the same time it's unfortunate you don't enjoy what you do on some foundational level.

It's gonna be a weird job market in a decade. Especially that computer performance improvements are slowing down considerably.
At least my long bet is that the market will be starved for people who can think outside of the prompt.
 
I understand, but at the same time it's unfortunate you don't enjoy what you do on some foundational level.
It is a job, dude. Most of the cool stuff I do that is fun is outside of work, and often I use AI to scaffold up all the boring shit because it is a snooze fest.
 
Even if juniors are shit, but willing to learn they can't. There is sparse documentation, no one gives a fuck, so eventually most just coast. In most cases people just cargo cult development process, hoping that they will get enough experience on paper to jump into next, better paid role.
When I was a junior I got mad at the fact that we don't have any documentation in the project, so I wrote a shitton about the stuff I've been dealing with on the daily basis. I codified a lot of knowledge that existed on a tribal level. My only reward was that people who saw I wrote the docs went straight to me demanding I spoon-feed the exact same knowledge I wrote about in the docs. They were too lazy to actually read the documentation I wrote. I've ran into a similar mindset in the few other places and eventually I stopped caring myself, there's no point in putting all this effort into something no one will ever use or appreciate.
 
I'm just going to leave this here based on my recent experience, which I think is on-topic given AI and Programming topics are now inextricable...


1786621897989.png
 
When I was a junior I got mad at the fact that we don't have any documentation in the project, so I wrote a shitton about the stuff I've been dealing with on the daily basis. I codified a lot of knowledge that existed on a tribal level. My only reward was that people who saw I wrote the docs went straight to me demanding I spoon-feed the exact same knowledge I wrote about in the docs. They were too lazy to actually read the documentation I wrote. I've ran into a similar mindset in the few other places and eventually I stopped caring myself, there's no point in putting all this effort into something no one will ever use or appreciate.
I write it for myself. So when I come back 6 months later and say, "What fucking idiot wrote this?" and realise it is me, then I have something at least explaining why I did something that way.
 
I understand, but at the same time it's unfortunate you don't enjoy what you do on some foundational level.

"Huh, this query can be improved. Let's look at the query planner. Let's look at the data. Let's do this." <- We agree on this part

"Fuck writing the syntax tho." <- Not this though.

If anyone enjoys plumbing props through 15 intermediate objects and interfaces y'all need help tho ngl.
 
I've seen so much stuff about what LLMs can and can not do. Sometimes I think about posting my opinion but then I decide to wait until ChudBound 2 is released to say: I barely wrote a single fucking line of code with my sloppy human hands, and it cost me $20 a month


Of course it's easy to understand why someone who has no talent and/or finds no joy in software development would use an LLM. But I'm confused whenever I encounter someone who does have that talent and joy and uses LLMs anyway. I know you have the talent from your past projects, and the fact that you wrote them for TempleOS in the first place instead of something more "practical" makes me presume you have the joy.

So what did the LLM do for you? As those lines of code came barfing out of the machine and compiled, did you feel as much satisfaction as you did for your past projects?

What would Terry say about vibe coders?

It was never about being good. It was about killing the juniors to drive down supply.

Was it? Do you think the rise of vibe coding was some sort of conspiracy to make senior devs more valuable in the long run?

Well… if that's going to kick in soon, that'd be nice… any day now…
 
But I'm confused whenever I encounter someone who does have that talent and joy and uses LLMs anyway.
I take a hybrid approach. The LLM gets all the grunt work, make a UI, add a button, and a button and a button, all cut and paste stuff. Add all the USB descriptors which comes straight out of the example code with small changes.
Then I get to do the fun stuff like managing state machines for UDP input and output, doing all the code the controls the physical world, I2C emulation of an SSD1306 display, convert the data stream to RLE encoding to ship it over the wire, etc. Sure the LLM can do that too, but I spend too much time explaining when I can do all the fun stuff faster.
 
I like LLMs because it means I can work on more meaningful problems.

Code has never been the problem space. And being honest, I treat LLM code more or less the way I treat dependencies - I don't care what's going on over there as long as it works, and anything that needs to be "mission critical" I can vendor myself.
 
I like LLMs because it means I can work on more meaningful problems.

Code has never been the problem space. And being honest, I treat LLM code more or less the way I treat dependencies - I don't care what's going on over there as long as it works, and anything that needs to be "mission critical" I can vendor myself.

Done TDD with LLMs yet?
 
Anyone know a high performance way to render 3d scenes in the browser? I'm trying Three.js but it's limited in both performance and what I can do, especially since I have to use J*vascr*pt.

The only other options I know of is using a framework (e.g Raylib) or graphics library (OpenGL, SDL2) that compiles to WASM, but I've found emscripten to be annoying to work with (will fail to compile code that is supported within SDL2 but not emscripten, for example. Also complicates the build process).
You would probably want to use WebGL, WebGPU still isn't perfect (or finished). As for using JavaScript vs WASM, JavaScript will probably get better performance with less effort but WASM may be able to get higher performance but I haven't really gone deep enough to check, the main issue with high performance WASM is that crossing the bridge from WASM to JavaScript (aka any calls to WebGL) are not particularly fast but you could make your own way to batch calls and only pass it through to JS once per frame, though if you'd prefer WASM in general, I'm also not sure how much of a bottleneck it ends up being but it is a noted issue that they're saying they will address when WASM is made less shit at some point.

You can also just make your own WebGL bindings and basically map it to OpenGL which would also let you compile to both WASM and native platforms. You don't need emscripten though it is a bit more work if the language doesn't have WASM support built in though it's not the worst, if you're using a C or C adjacent language you just need to declare `__heap_base` as a uint8_t and getting the address of that will give you the start of the heap and you can just rework some open source malloc to use that as the memory source. The Odin WASM JavaScript file is also a good reference for how to implement WebGL bindings.
 
So what did the LLM do for you? As those lines of code came barfing out of the machine and compiled, did you feel as much satisfaction as you did for your past projects?
LLMs enable me to do more in less time, which also means it enables me to do things I would never consider doing because it would be not be worth the labor. It's as simple as that. It's not that deep.

Anyone who feels this way genuinely has never actually used modern LLMs in modern coding harnesses. Every day I see endless takes about AI and they're all clearly out of touch, ignorant, and coping. I have never in my entire life seen something so objectively and trivially demonstrably true get outright denied by so many people with so little effort.

"It's bad" said the person who has literally never tried it. "It can't do possibly understand programming language syntax" said the person who refuses to try.

The "joy of programming" is not masturbating over syntax, it's about actually doing stuff. The performance and stability of my game engine can be objectively measured. The cleanliness of the code is irrelevant. My code has never been clean, and practically uncommented. The measurement of the engine is not the subjective opinions on code style, it is the profiled performance.

Mike Acton himself said "writing code is not your job" 11 years ago: https://www.youtube.com/watch?v=rX0ItVEVjHc&t=1360s
Harold Abelson re-iterating that the tools are not computer science: https://www.youtube.com/watch?v=-J_xL4IGhJA&t=28s

PS. one the benefits of doing ChudBound 2 this way is I can demonstrate while people talk. How can my results be like this, on a $20 month a plan, while everyone else says it's useless? I'm not a corpo. I have a track record. I'm working on a weird unique project. I'm in a perfect position to show everyone the truth, which I did. Now everyone is like "don't you feel sad?", no, I don't.
 
It's worth not burying the lede on why (I think) Crunk's experience was so positive because it's a microcosm of the rest of the industry. He said he didn't do anything fancy beyond prompting, but there's a lesson to extract from his docs/ whether or not he worked the way I'm assuming.

Beyond the self-contained implementation of the engine, applying a rigorous pattern of iteratively refining ADRs before handing that design decision off to an LLM is the fundamental basis of agentic coding (re: openspec). This is what corpos use to go straight from Jira tickets to pull requests without any humans in the loop.. It's what Linkedin boomers mean when they say "coding" is solved. It's exactly what recently laid-off devs are complaining about, especially when they say coding isn't "satisfying" anymore.

Good? Bad? Satisfying or not? Does it matter? Did it ever matter? Can you imagine a future where compiled binaries are diffused from noise just like how images are generated right now, skipping programming languages entirely?
 
It's worth not burying the lede on why (I think) Crunk's experience was so positive because it's a microcosm of the rest of the industry. He said he didn't do anything fancy beyond prompting, but there's a lesson to extract from his docs/ whether or not he worked the way I'm assuming.

Beyond the self-contained implementation of the engine, applying a rigorous pattern of iteratively refining ADRs before handing that design decision off to an LLM is the fundamental basis of agentic coding (re: openspec). This is what corpos use to go straight from Jira tickets to pull requests without any humans in the loop.. It's what Linkedin boomers mean when they say "coding" is solved. It's exactly what recently laid-off devs are complaining about, especially when they say coding isn't "satisfying" anymore.

Good? Bad? Satisfying or not? Does it matter? Did it ever matter? Can you imagine a future where compiled binaries are diffused from noise just like how images are generated right now, skipping programming languages entirely?
is this shit even english

i like llms but what the fuck am i reading
 
Back
Top Bottom