Hacker Newsnew | past | comments | ask | show | jobs | submit | krig's commentslogin

Fredrik, your co-founder has erased all good-will your company ever had. Sucks to be you.


You can't post like this here, no matter how wrong someone else is or you feel they are.

You may not owe founders whose cofounders you feel are behaving badly better, but you owe this community better if you're participating in it.

If you'd please review https://news.ycombinator.com/newsguidelines.html and stick to the rules when posting here, we'd appreciate it.


    --dangerously-skip-reading-the-article


I mean, one doesn't even need to read the article to learn that the blame went to both companies - it's even in the title here on HN.


There are binaries for Mac here:

https://codeberg.org/GramEditor/gram/releases/tag/1.0.0

The binary release for Linux is a bit rough, there's an `install.sh` script in the repo which can install the tarball for you. For the next release there will be flatpaks, .deb and .rpm available.


Those images are generated from a training set, and it is already well known and reported that those training sets contain _real_ CSAM, real violence, real abuse. That "generated" face of a child is based on real images of real children.


Indeed, a Stanford study from a few years back showed that the image data sets used by essentially everybody contain CSAM.

Everybody else has teams building guardrails to mitigate this fundamental existential horror of these models. Musk fired all the safety people and decided to go all in on “adult” content.


What Stanford study?

If you mean the one titled "Generative ML and CSAM", I can't see any mention of your claim in that study. Care to explain?

https://fsi.stanford.edu/publication/generative-ml-and-csam-...


> Prior to Bun, there was little focus on performance.

This is just completely insane. We went through more than a decade of performance competition in the JS VM space, and the _only_ justification that Google had for creating V8 was performance.

> The V8 engine was first introduced by Google in 2008, coinciding with the launch of the Google Chrome web browser. At the time, web applications were becoming increasingly complex, and there was a growing need for a faster, more efficient JavaScript engine. Google recognized this need and set out to create an engine that could significantly improve JavaScript performance.

I guess this is the time we live in. Vibe-coded projects get bought by vibe-coded companies and are congratulated in vibe-coded comments.


This missed the mark - Bun optimized systems whose predecessors were often implemented as JS libraries with a high number of syscalls. V8 is super fast for web usecases but your typical webpack / react compiler as implemented in JS had tons of unnecessary bottlenecks.


> Vibe-coded projects get bought by vibe-coded companies

this is so far from the truth. Bun, Zig, and uWebsockets are passion projects run by individuals with deep systems programming expertise. furthest thing from vibe coding imaginable.

> a decade of performance competition in the JS VM space

this was a rising tide that lifted all boats, including Node, but Node is built with much more of the system implemented in JS, so it is architecturally incapable of the kind of performance Bun/uWebsockets achieves.


> Bun, Zig, and uWebsockets are passion projects run by individuals with deep systems programming expertise. furthest thing from vibe coding imaginable.

Sure, I definitely will not throw projects like Zig into that bucket, and I don't actually think Bun is vibe-coded. At least that _used_ to be true, we'll see I guess...

Don't read a snarky comment so literally ;)


From the article: "Over the last several months, the GitHub username with the most merged PRs in Bun's repo is now a Claude Code bot."


> Node is built with much more of the system implemented in JS, so it is architecturally incapable of the kind of performance Bun/uWebsockets achieves

That sounds like an implementation difference, not an architectural difference. If they wanted to, what would prevent Node or a third party from implementing parts of the stdlib in a faster language?


uWebsockets, which is the foundation of the network and http server stack in Bun, as I understand it, is a compatible 3rd party extension to Node.js that gives it similar performance on HTTP implementation.

The key architectural difference is that Node.js implements the HTTP stack and other low level libraries in JavaScript, which gives it memory safety guarantees provided by the v8 runtime, while Bun/uWebsockets are a zig/C++ implementation. for Node.js, which is focused on enterprise adoption, the lower performance JS approach better aligns with the security profile of their enterprise adoption target.


This announcement made me check in on the arbitrary code execution bug I reported that the Bun Claude bot created a PR for about 3 weeks ago:

https://github.com/oven-sh/bun/pull/24578

So far, someone from the bun team has left a bunch of comments like

> Poor quality code

...and all the tests still seem to be failing. I looked through the code that the bot had generated and to me (who to be fair is not familiar with the bun codebase) it looks like total dogshit.

But hey, maybe it'll get there eventually. I don't envy "taylordotfish" and the other bot-herders working at Oven though, and I hope they get a nice payout as part of this sale.


So you pushed a PR that breaks a bunch of tests, added a 5 layer nested if branch block that mixes concerns all over the place, then ignored the reviewer for three weeks, and you’re surprised they didn’t approve it?


The OP directly says:

> that the Bun Claude bot created a PR for about 3 weeks ago

The PR with bad code that's also been ignored was made by the bot that Bun made, and brags about in their acquisition post.


I just reported the bug, it was the bot that was proudly mentioned in the announcement which created the PR and the code...


> So you pushed a PR that breaks a bunch of tests, added a 5 layer nested if branch block that mixes concerns all over the place, then ignored the reviewer for three weeks, and you’re surprised they didn’t approve it?

...Did you miss the part where Bun used Claude to generate that PR?:)


I misinterpreted that first comment too. To clarify:

1. User krig reports an issue against the Bun repo: https://github.com/oven-sh/bun/issues/24548

2. Bun's own automated "bunbot" filed a PR with a potential fix: https://github.com/oven-sh/bun/pull/24578

3. taylordotfish (not an employee of Bun as far as I can tell, but quite an active contributor to their repo) left a code review pointing out many flaws: https://github.com/oven-sh/bun/pull/24578#pullrequestreview-...


Right, this is accurate. Except I thought taylordotfish worked for bun, so I guess no one at bun has looked at it at all then.


I did.


I’ll remove even more and _still_ call it a lisp and there is nothing you can do to stop me.

Any memory management solution will run out of space and terminate unless there is literally infinite memory available.

But I guess hash tables is what people think about when thinking about what makes something a lisp or not.


Whereas in contrast, you cannot have a race this kind of race for the bottom with most other languages; tripping over the other contestants to see who can remove the most features, yet still have Python or Java.

See?

There you go, mrweasel; I think we hit the nail on the head.


Dude, I find it utterly offensive that you and the other guy keep referring to all these interactions with Bill where he was a mean boy, and yet the closest to an actual quote or reference is some Gemini slop? If you're going to be that lazy, it would be easier to not post anything at all.

https://anthonymoser.github.io/writing/ai/haterdom/2025/08/2...


So you feel offended on behalf of someone else?

I found the comment(s):

[REDACTED]

> I am closing this PR because it would be quicker for me to write my own bindings than explain everything wrong with it and then hope they get fixed correctly.

The funny thing is that we are talking about a vendor library, one that does actually work (I tested it as I needed curl in Odin)! Seems like the major issues were purely stylistic.

BTW "Please try to keep the original naming conventions and DO NOT change it to Odin's core convention." and "Maybe remove the CURL prefix?" are contradictory.

It is "CURLOPT" in curl.h. "OPT" seems out of place. I am not even sure what I would have named it were I to follow his advice. You?


Is that really the whole reason for this grudge? He gave you a bunch of comments to work from! I was expecting a lot less from your description.

I don't find it too hard to figure out what he meant - he doesn't want to you change the case style of procedure calls, but he _does_ want you to remove redundant namespacing as in the CURL prefix.

Maybe you could have looked at some other vendored libraries to see how they handled things like constant naming and other formatting?


I posted the link and now the PR is getting filled with comments. Lord. This is why I did not want to look for and post the link to begin with!

Some guy did ask questions I would have asked, at least.

Back to the CURL prefix, what is wrong with it? It is how it is in curl.h and without it, it looks kind of meh. What would the "CURL" distinct type be without the CURL prefix? :P

I hope I did not make a mess just by posting the URL. I will remove it. I do not need more (supposedly trolls) in there and make more of a big fuss than I did on here.


> Back to the CURL prefix, what is wrong with it?

It prevents stuttering when using it `curl.CURL_*`.

> What would the "CURL" distinct type be without the CURL prefix?

`CURL` isn't a prefix there.

Take more time to think things through.


I did, thank you. Please explain why would anyone (end user of library) ever want "curl.CURL_GLOBAL_ALL", for example? If anything, it should be private. If you really want to go there, sure. I think it is YOU who should think things through. I get that you are filled with hatred, but come on man. Think. Why would anyone want to call "curl.CURL_GLOBAL_ALL" from a binding which is supposed to be used as a high-level curl library? If it is possible (I have no idea) to make it private, then it should be made private. It is not intended to be used by the users of the library, is it? The higher level functions are the ones supposed to be used by them, and they seem to be named correctly from a quick glance.

If you reply, do so without ad hominems and with some respect. Thank you.


Last question I'll answer, because you aren't doing any of this is good faith.

You mean `curl.GLOBAL_ALL`, and it's for https://curl.se/libcurl/c/curl_global_init.html


  // CURL_GLOBAL_ALL combines all initialization flags.
  CURL_GLOBAL_ALL: i64 = 3
It has nothing to do with "curl_global_init()". This - which is a high-level function intended to be called by the users of the library - has:

  init :: proc() -> (ok: bool) {
    return curl_global_init(CURL_GLOBAL_ALL) == 0
  }
As you can see, higher-level function calls low-level function. The higher-level function does not have "curl" as the prefix.

My question still stands and has not been answered.


> So you feel offended on behalf of someone else?

It's called trolling. He hasn't made a single productive comment.


I used the word "childish" to describe posting comments about someones personality without any references or examples, and here you are doing the same but adding Gemini to the mix... and I'm the troll? :)


I do not disagree.


I'm offended by the Gemini slop!


So there is me, jibal, who else is a troll according to you? And who is the one trying to restrict knowledge just because of trolls? I saw the questions on GitHub. They make sense and I am sure people would like to hear the answer. I know I do. Perhaps the PR guy does, too, Lord knows. I think it is unfair to everyone just because of your allegations, and kind of confirms the things that have been said, but the scope extends. Unfortunately.


What in the world... jibal was the one who called _me_ a troll, I never called anyone a troll. Lord knows what is happening in this comment section at this point.


I lost the plot, too, both on here and on GitHub. The PR got locked, too. This was not my intention, I hope it will not affect anyone, I kind of feel bad for the PR guy now. sighs. He has no idea about this mess.


This is super cool!

I could imagine writing a very basic forth or lisp compiler in assembler, but even that would be quite the project.


Some day I might write a walkthrough of it, but it’s just a toy really.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: