Making

(beej.us)

75 points | by erikschoster 1 hour ago

11 comments

  • sashank_1509 45 minutes ago
    Very well said. I don’t like seeing hackernews submissions that are LLM generated.

    The joy of hackernews was seeing applied human ingenuity, most of these weren’t successful products anyway. Just like I don’t watch computer chess games, we should have an easy way to distinguish AI generated software, art etc and then I can happily avoid them.

  • jvanderbot 17 minutes ago
    Does a machinist who uses CNC qualify as a machinist?

    Is his required knowledge of metals, assembly complexity, tolerances, just waved away because he doesn't turn the dials or change the tools any more?

  • guybedo 8 minutes ago
    i guess there's different point of views here and it depends a lot on what you're trying to do.

    As a swe i've always enjoyed the process of designing solutions to problems: design a great architecture, find the right abstractions that make everything fit naturally, write good clean code, etc ... that's what i enjoy doing.

    Now there's the part where i've had these ideas for years that i've always though that i'd be cool to work on. But basically it would have required a 10 person team for months, out of reach. Now i have Claude, Codex and Grok and i've already built many projects.

    The code isn't pretty, i didn't enjoy it as much as i would have if it were done manually, but i did something i never could have done otherwise.

    There's some fun in the process though. I feel like a team manager and i occasionally step in to push for some architectural changes or code rewrites because things become too brittle because of not good enough architecture.

  • layer8 37 minutes ago
    > What's the real difference in that gray area? I'm not sure. I think it hinges on something that has to do with making versus asking to be made, even if that line isn't particularly clear.

    For me the difference is in the extent that I can reason about how changes in the input affect the observable behavior of the output. When the executable the compiler outputs doesn’t behave in the way I intended, then in 99.99% of cases this is completely on me, and, importantly, I could have predicted it from the source code. Conversely, I can analyze any such misbehavior by reasoning on the source code. This doesn’t hold to any remotely comparable extent for the relation between vibecoded programs and the prompts used to create them.

    • ike_a 24 minutes ago
      This seems like a very clear way of thinking about it.

      In making something, you develop a tangible understanding of and opinions for how and why your creation is how it is.

      I have a lot of vibecoded projects. I feel "ownership" in varying degrees proportional to the amount of care and depth I put into them.

    • skydhash 8 minutes ago
      Sounds very much like agency over the process versus agency over the outcome.

      Some are ok with deciding if and when the process should be started and whether the outcome is good and bad. But often they lack the judgment to truly decide what is good and what is bad. They trust the makers to provide equally good options in terms of lower concerns (that matters to the makers) and only make the judgment according to some other concerns.

      The main difference when using a compiler is that the compiler will (99.999...%) produce correct binary code for my programs and will fail loudly if it cannot. But the compiler is not concerned about correctness of the algorithm written in the programming language. Responsibilities are clearly outlined and the compiler does the job perfectly, while I try to do mine as well. So when I do a good job, I don't have to worry about the compiler part and I can assume the result will be good as well.

      LLM usage has no such clear line. Assuming the user can judge whether the outcome is good or bad according to the prompt, the LLM tool is not reliable enough to produce a good result for everything that was not specified in the prompt. Which is different when collaborating with humans. If you say to a professional artist "I want a batman drawing", you needn't check for missing toes and the numbers of arms.

  • saulpw 19 minutes ago
    I have been using vi/vim for 30 years and I had no idea about using ^K-M to insert an em-dash.
  • jddj 8 minutes ago
    I struggle to even remember the course grained details of things I've had AI do recently.

    Conversely, there are 100k+ LoC codebases from years ago that I can still generally walk through in my mind's eye

  • giancarlostoro 15 minutes ago
    > And when I do have Claude create something for me, I just can't say that I made it. Other people can, but I just can't.

    This is basically me. I still love having Claude build things for me, a lot of it is just things only I will ever use, but it fulfills my needs, and that's worth it for me.

    I use it two ways I guess: to get unstuck while coding something myself, and to automate building side-projects I have no time for but that linger in my head for years.

  • hbcdbff 21 minutes ago
    This, I’ve completely lost interest in side projects outside of work since the emergence of LLMs. It does nothing for me any more
    • jvanderbot 16 minutes ago
      I found _many_ of my side projects just evaporated. Total disinterest. But some were now front and center. I think the distinction was some of them were for learning or technically complex accomplishments, and some were genuinely things I wanted to have/use. That second category is getting ground down by LLMs now, and I enjoy that. The first category has only a few very slow/analog learning projects left.
  • royal__ 49 minutes ago
    We continue to grapple with AI and how it's impacting our lives by trying to find comfort in comparisons to the past, or to other things that we do. But the reality is, there's never been anything quite like this before, and it's forcing us to redefine how we value work, art, craftsmanship, and output. Sometimes, those redefinitions are extremely uncomfortable.
    • arnitdo 39 minutes ago
      How does this even contribute to the content posted?

      The only thing being "redefined" is corporate agendas to push the bar of "good enough" lower to the point where it lies below cheap, and equals wasteful.

  • bufbupa 14 minutes ago
    >It's not just the loss of the craft and the problem-solving challenge and whatever else. It's the loss of making.

    It's the loss of understanding. When you make something, you gain a deeper appreciation for the nuance of all that is required to breath life into it. When you outsource understanding to another (agent, contractor, w/e), you're losing the nuanced understanding of the creation.

    >After all, you create the prompts, don't you? You said you were proud of doing things. Isn't that doing a thing?

    This feels like the difference between putting together an ikea futon and building a hand-hewn table from logs. The fidelity of your understanding is different depending on how deeply you're engaging. But not felling and drying your own timber doesn't mean you can never make something from dimensional lumber.

    I'd take the author's word "making" to mean something more like "having enough understanding of the implementation of the task, that you could recreate the output without recourse to the same set of tools".

    Tested against their examples:

    >I had a new front deck put in [by a contractor]

    As a consequence of this addition, did you learn enough about decks so that you could you reproduce this feat if no contractor were available? If no, you didn't make the deck. If yes, you were probably watching/helping the whole time, and you can claim (at least partial) makesmanship.

    > any more than using a hammer to drive nails does.

    If you didn't have access to the hammer, could you still accomplish the task of attaching two boards together with a nail? Likely yes, use a rock. It's harder, but the understanding of driving the nail is transferable to other implements.

    > What if I had an AI-powered hammer and asked it to hit a nail for me? What's the difference? But at that point, I can't say that I hammered it.

    This one contradicted his compiler example. He says that he did write the Fibonacci program, even if the AI-powered compiler translated it to assembly. So by similar reasoning, you can claim you hammered a nail with an AI hammer, so long as you understood the aspects of hammering which the AI took care for you to such a degree that you could reproduce the effects even in the absence of the AI hammer.

    The crux of the tension is around "what did you learn from the implementation of this task". If you learned enough to reproduce the objective without the assistance of AI (perhaps much slower), then you can claim the high fidelity understanding that came from making. If you didn't internalize anything, and the AI/contractor managed complexity on your behalf, then the output was commissioned, not made.

    I think where people get worked up about this, is that it's not easy to tell what understanding other folks are taking away from their AI usage. It does seem like a bifurcating event where some people are going to net gain understanding of their world due to these new tools, while others will net lose understanding.

  • spiresofagartha 35 minutes ago
    I agree with the article. I've never understood the notion of some LLM people saying you shouldn't care about the end result, and you should do it for its sake. It made me feel like a narcissist and that I was programming for showmanship, but I think making is inherent to (most) people's satisfaction and it's hard to tell something was made by you when all you did was prompting.

    Maybe a hot take, but I do think, that even from seasoned developers, the idea they've been doing the 'logical' part so long they'd have it done anyway without AI and it'd only take more time is delusional, when, from personal experience, even when I code something I 'know' and I've 'done', I have to remember stuff, google what isn't ingrained in my brain, and so on.

    I don't know if the author would consider this a part of making, but a single thing you build is, obviously, a mix of things you've built. I no longer sense this minor feeling of 'making' when I'm doing something. To make a logic that's part of a bigger system and see it running, thinking how it's gonna be once it's all done... I no longer feel that.