4 ms·
It's pretty amazing what you can do when you embrace LLMs, figure out how to build one high-quality rigorous project with them, and then start working on more p
by hombre_fatal 2mo ago
It's pretty amazing what you can do when you embrace LLMs, figure out how to build one high-quality rigorous project with them, and then start working on more projects.
You become a machine with your workflow, once again limited only by your time/energy, tokens, and your discretion on how to spend it.
- plastic-enjoyer 2mo ago> It's pretty amazing what you can do when you embrace LLMs, figure out how to build one high-quality rigorous project with them, and then start working on more projects. Indeed. But I think it's fair to say that just embracing LLMs is not enough.
- hombre_fatal 2mo agoI'd consider embracing to include developing expertise in the tool.
- bitwize 2mo ago[flagged]
- VCFundedGenYer 2mo agoUsing AI is cognitive surrender. It's not your code, it's not your work.
- onlyrealcuzzo 2mo agoUsing typewriters is surrender! Not your handwriting, not your work!
- some-guy 2mo agoI use AI all the time for coding, but a tool that non-deterministically reaches potentially a different output than I would have produced myself is not analogous to typewriters.
- qarl2 2mo agoYou yourself would be non-deterministic if we could rewind time. So what's the issue here? Not to mention, LLMs can be made deterministic if that were actually valuable. Seems like determinism is just the latest excuse to hate.
- some-guy 2mo agoIt’s not exactly determinism, it’s authenticity. If we rewind time, of course the words would be different. It’s not relevant to my argument. There’s a reason why the top comments of HN blog posts whine about articles that are clearly written by AI. I use AI constantly as a coding agent, but I care deeply about the authenticity of the words I write intended for other human beings to be my own.
- qarl2 2mo ago> It’s not exactly determinism, it’s authenticity. I hope you understand, by so glibly switching from "determinism" to "authenticity" you've just provided more evidence that this is just the latest excuse to hate. But that aside - what happens in a couple years, when LLMs inevitably improve, and their writing is objectively superior to human writing? And people who just want to read well-written material won't care about the authenticity? I suspect there will be another glib switch. Because the reality here is just that AI is hated. Full stop.
- bakugo 2mo agoI think it's pretty telling that the only response techbros have to that is some form of false equivalence, every single time.
- unknownfuture 2mo agoIf you can't see why your analogy is deeply broken I honestly don't know what to do for you.
- LPisGood 2mo agoIt’s not clear to me why people believe determinism has some special property.
- bad_haircut72 2mo agoWhen you read the code thats been generated and submit it as a PR it becomes deterministic
- unknownfuture 2mo agoYou still don't get it. Think about the act of writing with a pen. Now think about what a typewriter does in that context. Now think about what an LLM does in that context. Can you reason about how those are vastly different tools within the context of writing or communication, so much so that the comparison doesn't actually make any sense? Hint: it has nothing to do with determinism. It has to do with the nature of the work itself and the role of the person doing it. As an aside, this whole exchange really is just a perfect encapsulation of the outcome-focused versus process-focused individual. The outcome-focused person sees words in a document and whether an LLM produced them or a human typed them is a distinction without a difference. The process-focused person is utterly baffled that anyone could think those are in any way equivalent.
- qarl2 2mo ago> You still don't get it. HEH. I just read your comment three times and I definitely don't get it. I think its entire point is to express outrage about not getting it, rather than actually explain it.
- deleted 2mo ago[deleted]
- SmasherEpilepti 2mo agoThat's a terrible analogy. It's more like using a typewriter where the job is calligraphy. I use LLMs at work all the time, and it truly does feel like somebody else coding for me, and me reviewing, cleaning up, and asking for changes. It's really not my work, nor is it my code, but I'm still fine bringing it in. I also don't use LLMs on my personal code done in my free time because I want my brain to still be fully functional in a few years.
- cdelsolar 2mo agoI still use LLMs on personal code as well because I can build way more of it and I have way too many open source projects
- tmountain 2mo agoThere are lots of ways to have a fully functional brain besides writing code manually…
- SmasherEpilepti 2mo agoYes, and all of them involve exercising your mind regularly. I could let LLMs do my personal projects for me and then try to make up the difference with brain teasers, language learning, etc. I choose to exercise my mind because I still love programming, including writing my own code. I suspect that a lot of people who are going full hog on LLMs aren't actually making up the difference, and are simply offloading their thinking. I choose to not be one of those. I'll use them at work because they make me faster and most of the code is already not mine. It's a means to an end. My personal projects are for the fun and love of programming, not just to have some software in the end.
- LPisGood 2mo agoCould you not say the same about using a compiler or higher level language or a library you don’t understand or an algorithm you don’t understand or a chip that you don’t understand?
- deleted 2mo ago[deleted]
- inigyou 2mo agoYes. How many JavaScript bootcamp programmers don't know how memory works?
- agiacalone 2mo agoWhen I was in high school, graphing calculators were pretty new. New enough that most teachers had not yet encountered them. I was a pretty nerdy kid even then, and I saw graphing calculator as 'portable computer' in 1993! So, of course I wanted one. When our teachers found about them, they banned the use of graphing calculators, some teachers going so far as to only allowing 'four-bangers' (a basic one) for classes lower than Trig (I never got to Calc in high school). Funny, but your statement reminded me of what one of math teachers used to say: "If you use a graphing calculator, you aren't doing math." It seems really quaint today.
- teeray 2mo agoIt’s more like cheating off your neighbor’s math test than using a calculator
- nsxwolf 2mo agoIf I hand you a math problem, and you point your camera at it and write down ChatGPT’s answer, you are definitely not doing math.
- agiacalone 2mo ago"If I hand you a equation to solve, and you type in the numbers, hit enter on your programmatic calculator, and write down Texas Instruments' answer, you are definitely not dong math." <-- would have been my teachers' attitude too. Throw in "and when the batteries in your calculator die, you'll need to know how to do it by hand!" for good measure. :-) I jest...
- mysterydip 2mo agoI think the difference with the calculator analogies is a calculator just speeds up calculations you could do yourself (granted some very slowly). I can’t type in “sally has 35 apples, and wants to give an equal number to each of her 7 friends. how many apples does each get?” I have to know to do 35/7. But an ai will do that problem solving for me, with zero understanding on my part.
- TuxSH 2mo agoIMO it's fine if you use it to review hand-written code. Vibe-coding (and especially 100% slop projects) on the other hand, is indeed cognitive surrender as it's identical to cheating on homework back then.
- nickysielicki 2mo agoActually it is your code and it is your work.
- CursedSilicon 2mo agoThe legality around that has not yet been tested, so
- iAMkenough 2mo agoIn the same sense that hiring someone overseas to do your remote work job is submitting your code and your work.
- deadbabe 2mo agoThere's a time for cognition and a time for just moving quickly and getting shit done. Downloading a bunch of open source libraries and putting together some project with a bunch of glue code also requires little thinking, but before AI no one really said that was "cognitive surrender". People even got pats on the back... for using other people's work to build something.
- rasz 2mo agoits a decomp, it wasnt your code to begin with
- cdelsolar 2mo agoYes it is
- chollida1 2mo agoWhat about writing in C. If you use a compiler its not your code that's running and not your work. You are setting the bar way to high. We use LLM's for our coding and its most definitely our code and work. How would it be any different than a collogue writing code that you review and commit?
- bakugo 2mo ago[flagged]
- bitwize 2mo agoUsername checks out. You might be right. I'm a better programmer than most, but I'm nowhere near as good as I could be, and there is still so much I could learn and improve upon. But back when I was saying that "AI is better than most programmers", ~6 months ago, I figured people at my level were still somewhat safe, as the average programmer, even working professionally, is a shockingly low bar. Do not judge the entire profession by Hackernews posters; most of us are in the upper quartile or so. These days, for small to medium-sized tasks, frontier LLMs are consistently well within that upper quartile. People at my level have a lot to be concerned about, as most of our day-to-day can be automated away. Sure, there's need for judgement and architectural discipline, but in most shops that's done by the people we used to make fun of in the 2000s, who sit in design review meetings and produce box-and-arrow diagrams, not code. Those are now the real bringers of value to a software development company or division. At a bare minimum, it is irresponsible to ship code that has any sort of security requirement without using AI. Frontier models are able to discover zero days in minutes that would have taken months with human investigators, and if you're not auditing and red-teaming your own code with AI, someone else will use AI to pop it. You are just not working to a professional standard in 2026 if you're not using AI.
- bakugo 2mo ago> I'm a better programmer than most I don't think so. If you were truly better than most, you'd be proud of your work, instead of trying to avoid doing it at all costs, while accusing others who don't do the same of "not working to a professional standard." Can't write bad code if you don't write code at all, am I right?
- bitwize 2mo agoI am proud of my work, and I hate working with AI. But reality is what it is. The economics are what they are. And at the present time, writing code without LLM assistance is a mere handicraft, an idle pastime indulged in as a curiosity. It's like writing games in BASIC on the Commodore 64—no one is doing it anymore for serious stuff. Software engineering is the practice of formulating and implementing procedures to produce software at industrial scales to meet industrial needs. And right now, there is no future for industrial-scale software development without AI. People and companies who refuse to use it will be lapped, in terms of speed, quality, and security, by those who do use it.
- tom_ 2mo agoProducing shit code slowly hasn't held me back so far and I don't intend to start letting it do so now.
- xyzsparetimexyz 2mo agomatching decompilation is a verifiable target. Its hard to create slop that still matches. The same does not hold up for coding with llms normally.
- krystalgamer 2mo agoyou can create slop that matches, they're called "fake matches". it's basically when you coerce the compiler to output what you want and then the source looks unrecognizable. LLMs still produce some of these, specially on C++ decomps.You can see it most often when calling the base class constructor/destructor. Here's an example: https://github.com/emoluvjd2/thps2-demo-decomp/blob/33d2c12bbc4b1606fb3fb5690a2b59335a9127b7/src/CCHUNKBIT.h#L41 https://github.com/emoluvjd2/thps2-demo-decomp/blob/33d2c12b...
- whatsakandr 2mo agoAs a C++ dev, that operator delete looks like something I would see in prod.
- Karliss 2mo agoMatching decompilation is a verifiable target that ensures feature parity but it says nothing about being reasonable non slop decompilation. Disassembler output can relatively easily match original binary, I doubt anyone would consider it decompilation. Let's say you add requirement of being higher abstraction language than assembly. You can translate the assembly code 1:1 with simple string substitions to C code which would provably replicate the behavior of program perfectly. I would consider that more of hard coded emulation, opposite of JIT like ahead of time code translation. Just because the intermediate langauge is higher level language than assembly doesn't automatically mean that the program text operates at higher level of abstraction than assembly. I have seen plenty of decompilation projects where you start reading the code many functions contain nonsensical variable reuse (and name that match the register names), address calculations and memory casts and array calculations, arrays of function pointers, offsets within structures which strongly mirrors the assembly code. The problem is that you can't draw a hard line how good do the variable/function names need to be so that it can be considered decompilation instead of hard coded emulation. It's hard to draw a line for how much of higher level language features you need to use to be considered decompilation. It's hard to define how logical the control flow needs to be. The line becomes blurrier by system programmers approaching it from the other side. Sometimes an extensively optimized code can contain a lot more manual memory mangling, index and offset calculations, manual unrolling than the language requires. So many C programs with homebrew systems of emulating virtual functions using structs of pointers. In such situations it's hard to tell if decompilation is incomplete or whether program was written that way from start. Another possibility of junk decompilation (which perfectly compiles to byte identical copy of original executable) is program which depends on exact program layout in memory or undefined aspects of programming language. It would perfectly replicate original behavior on original hardware/compiler, but provide 0 insights in intended program behavior and fail miserably when attempting to modify the code or port it to different hardware/compiler. For example the "decompiled" code might intentionally peform out of bounds array access thus touching completely different variable or depend on fallthrough between functions lacking return statement. Taking it to the extreme would be something like: ``` char data[] = {0x10, 0x12, 0xab, 0xcf, ...}; // bytes corresponding to majority of original program. int main(){ ((void*())data)(); // cast the array to function pointer and execute it } ``` It might behave exactly like original program, but that's junk decompilation. You could add additional restriction that C program isn't allowed to exploit any undefined or machine specific behavior, but then there is very high chance that even original program wouldn't satisfy it. Original program might also contain parts of it written in assembly for performance reasons or because that was only way to access certain hardware features. What does it mean for decompilation? Is decompiled code not allowed to use the same techniques. If decompiled code is allowed to have some pieces of assembly what stops it from using it for everything. There is no way of knowing precisely how much assembly the original program used.