Comment by losvedir

Comment by losvedir 16 hours ago

39 replies

I'm sort of surprised to see that you used Claude Code so much. I had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Software Movement" types, about small programs, exquisitely hand-written, etc, etc. And I know Bun started with an extreme attention to detail around performance.

I would have thought LLM-generated code would run a bit counter to both of those. I had sort of carved the world into "vibe coders" who care about the eventual product but don't care so much about the "craft" of code, and people who get joy out of the actual process of coding and designing beautiful abstractions and data structures and all that, which I didn't really think worked with LLM code.

But I guess not, and this definitely causes me to update my understanding of what LLM-generated code can look like (in my day to day, I mostly see what I would consider as not very good code when it comes from an LLM).

Would you say your usage of Claude Code was more "around the edges", doing things like writing tests and documentation and such? Or did it actually help in real, crunchy problems in the depths of low level Zig code?

vector_spaces 15 hours ago

I am not your target with this question (I don't write Zig) but there is a spectrum of LLM usage for coding. It is possible to use LLMs extensively but almost never ship LLM generated code, except for tiny trivial functions. One can use them for ideation, quick research, or prototypes/starting places, and then build on that. That is how I use them, anyway

Culturally I see pure vibe coders as intersecting more with entrepreneurfluencer types who are non-technical but trying to extend their capabilities. Most technical folks I know are fairly disillusioned with pure vibe coding, but that's my corner of the world, YMMV

  • Aurornis 14 hours ago

    > Culturally I see pure vibe coders as intersecting more with entrepreneurfluencer types who are non-technical but trying to extend their capabilities. Most technical folks I know are fairly disillusioned with pure vibe coding, but that's my corner of the world, YMMV

    Anyone who has spent time working with LLMs knows that the LinkedIn-style vibecoding where someone writes prompts and hits enter until they ship an app doesn't work.

    I've had some fun trying to coax different LLMs into writing usable small throwaway apps. It's hilarious in a way to the contrast between what an experienced developer sees coming out of LLMs and what the LinkedIn and Twitter influencers are saying. If you know what you're doing and you have enough patience you really can get an LLM to do a lot of the things you want, but it can require a lot of handholding, rejecting bad ideas, and reviewing.

    In my experience, the people pushing "vibecoding" content are influencers trying to ride the trend. They use the trend to gain more followers, sell courses, get the attention of a class of investors desperate to deploy cash, and other groups who want to believe vibecoding is magic.

    I also consider them a vocal minority, because I don't think they represent the majority of LLM users.

  • dijit 15 hours ago

    fwiw, copilots licence only explicitly permits using its suggestions the way you say.

    putting everyone using the generated outputs into a sort of unofficial grey market: even when using first-party tools. Which is weird.

    • [removed] 8 hours ago
      [deleted]
    • lupire 15 hours ago

      Can you link to more info about this?

  • adventured 15 hours ago

    I'll give you a basic example where it saved me a ton of time to vibe code instead of doing it myself, and I believe it would hold true for anyone.

    Creating ~50 different types of calculators in JavaScript. Gemini can bang out in seconds what would take me far longer (and it's reasonable at basic tailwind style front-end design to boot). A large amount of work smashed down to a couple of days of cumulative instruction + testing in my spare time. It takes far long to think of how I want something to function in this example than it does for Gemini to successfully produce it. This is a use case scenario where something like Gemini 3 is exceptionally capable, and far exceeds the capability requirements needed to produce a decent outcome.

    Do I want my next operating system vibe coded by Gemini 3? Of course not. Can it knock out front-end JavaScript tasks trivially? Yes, and far faster than any human could ever do it. Classic situation of using a tool for things it's particularly well suited.

    Here's another one. An SM-24 Geophone + Raspberry PI 5 + ADC board. Hey Gemini / GPT, I need to build bin files from the raw voltage figures + timestamps, then using flask I need a web viewer + conversion on the geophone velocity figures for displacement and acceleration. Properly instructed, they'll create a highly functional version of that with some adjustments/iteration in 15-30 minutes. I basically had them recreate REW RTA mode for my geophone velocity data, and there's no way a person could do it nearly as fast. It requires some checking and iteration, and that's assumed in the comparison.

    • ohyoutravel 11 hours ago

      Yeah I had OpenAI crank out 100 different fizzbuzz implementations in a dozen seconds—-and many of them worked! No chance a developer would have done it that fast, and for anyone who needs to crank out fizzbuzz implementations at scale this is the tool to beat. The haters don’t know what they’re talking about.

dgellow an hour ago

I love zig, in my experience claude code is extremely good with the language if you invest lots of time on design sessions, to the point where I spend >90% of my time only discussing design with claude. The fact it has easy access to sources of the whole stdlib by just downloading the zig tarball makes it really simple to have a feedback loop where it implement most of the boilerplate on its own. The quality of AI code is really something that can be well controlled with clear guidelines, strict reviews, comprehensive design sessions, and a great test infrastructure

LexiMax 15 hours ago

> I had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Software Movement" types, about small programs, exquisitely hand-written, etc, etc.

I feel like an important step for a language is when people outside of the mainline language culture start using it in anger. In that respect, Zig has very much "made it."

That said, if I were to put on my cynical hat, I do wonder how much of that Anthropic money will be donated to the Zig Software Foundation itself. After all, throwing money at maintaining and promoting the language that powers a critical part of their infrastructure seems like a mutually beneficial arrangement.

abnercoimbre 15 hours ago

Handmade Cities founder here.

We never associated with Bun other than extending an invitation to rent a job booth at a conference: this was years ago when I had a Twitter account, so it's fair if Jarred doesn't remember.

If Handmade Cities had the opportunity to collaborate with Bun today, we would not take it, even prior to this acquisition. HMC wants to level up systems while remaining performant, snappy and buttery smooth. Notable examples include File Pilot [0] or my own Terminal Click (still early days) [1], both coming from bootstrapped indie devs.

I'll finish with a quote from a blog post [2]:

> Serious Handmade projects, like my own Terminal Click, don’t gain from AI. It does help at the margins: I’ve delegated website work since last year, and I enjoy seamless CI/CD for my builds. This is meaningful. However, it fails at novel problems and isn’t practical for my systems programming work.

All that said, I congratulate Bun even as we disagree on philosophy. I imagine it's no small feat getting acquired!

[0] https://filepilot.tech

[1] https://terminal.click

[2] https://handmadecities.com/news/summer-update-2025/

  • kopochameleon 14 hours ago

    Finding this comment interesting, parent comment didn't suggest any past association but it seemingly uses project reference as pivot point to do various outgroup counter signaling / neg bun?

    • abnercoimbre 13 hours ago

      I understand the concern, but really? I found this quote enough to offer proper comments:

      > had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Software Movement" types

      Folks at Bun are "Zig people" for obvious reasons, and a link was made with Handmade software. This happened multiple times before with Bun specifically, so my response is not a "pivot" of any kind. I've highlighted and constrasted our differences to prevent further associations inside a viral HN thread. That's not unreasonable.

      I also explicitly congratulated them for the acquisition.

      • tomnipotent 9 hours ago

        > and a link was made with Handmade software

        I'm willing to wager that 99.99% of readers do not associate "Handmade" with the org you're associated with, and that most didn't know it existed until this comment. So yes "really", without OP replying, it's understandable that the poster you're replying inferred it had nothing to do with you.

      • losvedir 11 hours ago

        Indeed, you cleared up exactly the misconception I had. Thanks for chiming in to clarify

      • [removed] 11 hours ago
        [deleted]
  • eps an hour ago

    I'm pretty sure the GP was referring to https://handmade.network as their manifesto made multiple rounds here, was discussed at length and far more obviously related to "handmade movement" remark than your org.

  • jatins 8 hours ago

    I think you may have confused parent commenter's "Handmade software movement" types comment to Handmade cities which doesn't seem related to me other than the common word handmade

  • biofunsf 9 hours ago

    I might missing some context. Just to check my understanding: HMC and Bun aren't a good match anymore because Bun devs use LLM/AI tooling more than HMC? Basically to really level up a system is incompatible these tools? (IYHO)

    Thank you! I appreciated how you wrote up this clarifying.

  • kristianp 11 hours ago

    I like that the filepilot download is 2.1MB. That really illustrates the difference between handmade style stuff and well, most other stuff.

Aurornis 15 hours ago

> I had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Software Movement" types, about small programs, exquisitely hand-written, etc, etc.

In my experience, the extreme anti-LLM people and extreme pro-vibecoding people are a vocal online minority.

If you get away from the internet yelling match, the typical use case for LLMs is in the middle. Experienced developers use them for some small tasks and also write their own code. They know when to switch between modes and how to make the most of LLMs without deferring completely to their output.

Most of all: They don't go around yelling about their LLM use (or anti-use) because they're not interesting in the online LLM wars. They just want to build things with the tools available.

  • hiduck 13 hours ago

    more people should have such a healthy approach not only to llms but to life in general. Same reason I partake less and less in online discourse: its so tribal and filled with anger that its just not worth it to contribute anymore. Learning how to be in the middle did wonders to me as a programmer and I think as a person as well.

    • throwaway-0001 9 hours ago

      Personally I hate this “in the middle” as it’s so relative you can shape to fit your narrative.

      For example: what’s in the middle for programming?

      For me 0 is writing 0 and 1. For others 0 is making the nand ports.

      And 100 is ai llm vibe.

      So 50/middle would be what exactly? It all depends.

      Same for anything really. Some people I know keep saying not 8 not 80 to mean the middle.

      Like what’s in the middle for amount of coding per day? 12 h? 8h? 2h?

      What’s middle for making money? 50k, 500k, 500m?

      What’s the middle for taking cyanide ? 1g? 1kg?

      What about water? What about food? What about anything?

      As you can see, it’s all relative and whomever says it, is trying to push his narrative as “middle” aka correct, while who does more or less is “wrong”.

      • epolanski an hour ago

        You can hate it all you want but the world ain't black or white but a scale of greys. You're over focusing on which exact shade of grey one's talking, but it's indeed relative.

        > So 50/middle would be what exactly? It all depends.

        Using LLMs to explore code bases, doing deep research, asking it to do code reviews or find bugs, but not pushing code that LLMs have authored might be one example in the middle.

      • hiduck 6 hours ago

        I think both me, and person before me, were commenting more about the fact that taking reserved approach is just healthier and prevents "shitstorms" in discussions that are non existent in current internet landscape. Without offending you, but creating a straw man scenario about how much cyanide one can take and getting angry at it is exactly what I had in mind; I just code, I want to code, sometimes use llm or stack overflow or ask another person for advice about code. The approach in the middle is not taking to the extremes, and making use of any available tools to do our work/hobby and just live life and not be a target of hate (I received hateful messages and even one death threat over a comment where I said that I asked Claude to explain some concept in Zig). I could go and say that "in the middle" is more of a metaphor to just being reserved about stuff but I would be probably called out for "moving goal posts" and "backtracking on own comment". Sorry if something is written weirdly, English is not my first language, I'm open to talk more tho.

  • matwood 4 hours ago

    Yep. And there's a lot of people making use of LLMs in both coding and learning/searching doing exactly that.

    One of my favorite things is describing a bug to an LLM and asking it to find possible causes. It's helped track something down many times, even if I ultimately coded the fix.

weird-eye-issue 14 hours ago

"exquisitely hand-written"

This sounds so cringe. We are talking about computer code here lol

  • mock-possum 4 hours ago

    Bespoke handcrafted ethically sourced all natural cruelty free source code

dgroshev 12 hours ago

I'm not sure about exquisite and small.

Bun genuinely made me doubt my understanding of what good software engineering is. Just take a look at their code, here are a few examples:

- this hand-rolled JS parser of 24k dense, memory-unsafe lines: https://github.com/oven-sh/bun/blob/c42539b0bf5c067e3d085646... (this is a version from quite a while ago to exclude LLM impact)

- hand-rolled re-implementation of S3 directory listing that includes "parsing" XML via hard-coded substrings https://github.com/oven-sh/bun/blob/main/src/s3/list_objects...

- MIME parsing https://github.com/oven-sh/bun/blob/main/src/http/MimeType.z...

It goes completely contrary to a lot of what I think is good software engineering. There is very little reuse, everything is ad-hoc, NIH-heavy, verbose, seemingly fragile (there's a lot of memory manipulation interwoven with business logic!), with relatively few tests or assurances.

And yet it works on many levels: as a piece of software, as a project, as a business. Therefore, how can it be anything but good engineering? It fulfils its purpose.

I can also see why it's a very good fit for LLM-heavy workflows.

  • smj-edison 12 hours ago

    I can't speak as much about the last two examples, but writing a giant parser file is pretty common in Zig from what I've seen. Here's Zig's own parser, for example[1]. I'm also not sure what you mean by memory unsafe, since all slices have bounds checks. It also looks like this uses an arena allocator, so lifetime tracking is pretty simple (dump everything onto the allocator, and copy over the result at the end). Granted, I could be misunderstanding the code, but that's the read I get of it.

    [1] https://codeberg.org/ziglang/zig/src/commit/be9649f4ea5a32fd...

    • dgroshev 5 hours ago

      As it happens, the commit I linked fixes a segfault, which shouldn't normally happen in memory-safe code.