davedx 10 hours ago

Some criticism of the author here regarding how they structure their diffs.

They "made something ~100 tflops faster" and peoples' comments are "their commit messages are bad"? You guys would hate how John Carmack worked, too

  • mhh__ 7 hours ago

    https://github.com/oliverbenns/john-carmack-plan you can read carmacks old .plan files

    They're mostly not exactly prose but remember this was almost 40 years ago when the dominant style of writing code in some places was still ye olde K&R C with one letter variable names and goto everywhere

  • kilpikaarna 10 hours ago

    I was appreciative/shitposting.

    Would love to see Carmack's commit messages. Just the other day I unsuccessfully tried to look for pictures of his office newer than QuakeIII era. Want ti figure out his ergonomics for working (presumed) 10h days well into middle age.

RestartKernel 14 hours ago

I much prefer this over those AI generated commit messages that just say "refactored X" every single commit.

  • spullara 13 hours ago

    what kind of AI are you using that generates shitty commit messages? This a common kind of message from Claude / Augment:

        Fix dynamic channel list by passing auth via metadata
        - Pass userId and userEmail in metadata when calling HTTP transport
        - AuthenticatedToolsProviderFactory now reads from context.metadata
        - Each tools/list request creates a fresh ToolsProvider with authentication
        - Execute command description now correctly shows currently online machines
        - Tested locally and working correctly
    • xnorswap 12 hours ago

      > - Tested locally and working correctly

      This is completely meaningless and just pollutes the log.

      • joegibbs 10 hours ago

        God I can't stand it when I get this kind of output from Claude, they really need to train it out for Claude 5.

        "[Tangentially related emoji] I have completed this fully functional addition to the project that is now working perfectly! There are now zero bugs and the system is ready for deployment to production! [Rocketship emoji]"

        Then of course you test it out and it doesn't work at all! It's very grating. It would be more bearable if it hedged its claims a bit more (maybe that will negatively affect the quality of the results though - if training a model to output insecure code also makes it a murderous Hitler admirer then, since when humans hedge their output is less likely to be perfect, it may mean it pushes the model to output code that is less than perfect).

        • sheepscreek 7 hours ago

          > "[Tangentially related emoji] I have completed this fully functional addition to the project that is now working perfectly! There are now zero bugs and the system is ready for deployment to production! [Rocketship emoji]"

          This made me laugh so hard. Never trust an AI model saying “There are now zero bugs”! Weaponized incompetence? :)

          As a side note, I absolutely am in love with GPT-5 and GPT-5-codex. When I talk to it, it feels like talking to a peer and not an over enthusiastic (but talented) junior with potential. GPT-5-codex on high has been exceptional at debugging insidious bugs.

      • cratermoon 5 hours ago

        And there's at least an 80% chance one of those items is, in fact, not in the commit.

    • WildGreenLeave 13 hours ago

      It is missing the (to me) most important part. The reason why these changes are made.

      • _joel 8 hours ago

        Set a PR template up, that demands those sections are filled in. Could probably do that down to the commit level with pre-commit but realistically you'd want that level of detail in the in the PR. Also add issue id to the commits too, that way you can pull them up easily and get more context.

      • jjcob 12 hours ago

        I hate it when I look at some code, wondering why I added a refresh call at that point, I do a git blame to find the commit message, and it says "add refresh call".

      • stpedgwdgfhgdd 13 hours ago

        True, you need to instruct the AI agents to include this.

        In our case the agent has access to Jira and has wider knowledge. For commit messages i don’t bother that much anymore (i realise typing this), but for the MRs I do. Here i have to instruct it to remove implementation details.

      • darrenf 12 hours ago

        Isn't "Fix dynamic channel list" the reason?

    • dspillett 11 hours ago

      > - Tested locally and working correctly

      If a human puts that, I doubt it. If I know they are using “AI” to fill in commit message I'll just assume it is a complete hallucination.

    • RestartKernel 13 hours ago

      GitHub Copilot for one, and I'm pretty sure JetBrains' offering does the same.

      • spullara 3 hours ago

        JetBrains does a good job on them as well. Copilot is shit.

    • lloydatkinson 13 hours ago

      Every time I’ve tried to use AI for commit messages its designers couldn’t be bothered to get it to take into account previous commit messages.

      I use conventional commit formats for a reason, and the AI can’t even attempt it. I’m not even sure I’d trust it to get the right designation, like “fix(foo)!: increase container size”.

  • rkomorn 14 hours ago

    So AI really does learn from humans...

  • [removed] 13 hours ago
    [deleted]
IshKebab 14 hours ago

I think it's fine if you squash it. I have no idea why they didn't squash it before pushing to GitHub though.

  • speedgoose 14 hours ago

    They probably didn’t care. And having many small commits instead of a big squashed one can be useful when using git bisect for example.

    • davedx 11 hours ago

      Yeah. I have never in my entire career thought "there are too many commit messages" when doing code archeology, but I have sometimes thought "damn, this commit is huge"

      • IshKebab 4 hours ago

        I have all the time. When git blame says "fix a typo" or when you look at a commit graph and see spaghetti.

        • __david__ 3 hours ago

          I like `tig blame` for this. It has a key (comma, maybe?) that pops back to the file just before the change on the highlighted line so you can quickly work your way backwards through non-changes like you describe. It doesn’t deal with renames well, though.

    • IshKebab 4 hours ago

      Not really because CI only needs to pass for the final commit so it's super unlikely that the intermediate ones work.

  • tkfoss 10 hours ago

    They squashed it before pushing to main.