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

I'd say TypeScript is currently the best choice for agents. For one, MCP tooling is really solid, the language itself is easy, fast to develop in, and not esoteric.


I hear this constantly but never see any examples of what they actually mean, or it's coming from misunderstandings of what the language is. I've seen people say how well the async code could be if Rust got a garbage collector. For the borrow checker specifically, I think it's important to understand smart pointers, Cell/RefCells, other primitives, and the fact that you don't have to solve everything with references.


> it's coming from misunderstandings of what the language is

“You are just not holding it right.”

Rust borrow checker indeed does force you to make contorsion to keep it happy and will bite you if you fail to take its particularity into account. It’s all fine and proper if you think the trade-off regarding safety is worth it (and I think it is in some case) but pretending that’s not the case is just intentionally deluding yourself.

The people here implying that the BC forces you to use a good architecture are also deluding themselves by the way. It forces you to use an architecture that suits the limitations of the borrow checker. That’s pretty much it.

The fact that such delusions are so prevalent amongst part of the community is from my perspective the worst part of using Rust. The language itself is very much fine.


Can you give me an example of what the borrow checker prevents you from doing without calling Rust developers delusional? The hardships are way overstated, in my opinion. One issue I can think of newcomers might have is immutable and mutable references. You can't borrow as mutable something already borrowed. Let's say you have a reference to a Vec element, then you add an item to Vec. The realloc could invalidate that reference, which Rust prevents. Using Cell/RefCell also helps if you don't want to deeply nest &mut. Rust is definitely hard, but after a while it's fine and you kind of get how even if using another language you still have to think about memory.


I’m not calling Rust developers delusional. I’m calling people pretending the borrow checker doesn’t force you to specifically architecture your code to suit it delusional.

> Rust is definitely hard, but after a while it's fine and you kind of get how even if using another language you still have to think about memory.

That kind of comment is a typical exemple. It’s not that you have to think about memory. You have to understand the exact limitations of the analyser Rust uses to guarantee memory safety. I don’t understand why it’s so hard to accept for some part of the Rust community.


From crates.io, `serde` is a 76.4 KiB dependency. And from what I've seen looking through the code, it's pretty minimal.


I'm seeing this kind of sentiment a lot on hnews, which is weird because it's owned by YC. This is not how investors or businesses work. Government's job is not Sam's job, his job is OpenAI.


> his job is OpenAI

And it's society's job to hold him to account. That $7T isn't coming from nowhere: it's ultimately sourced from the graft and economic contribution of millions of people. However small their individual contributions might be perceived as, they're real. Society has every right to scrutinise and challenge plans: the bigger the plan, the bigger the societal impact, the more it should be scrutinised.


Holding him to account is what taxes do, which are allocated by the government. Should taxes be increased? Should there be a wealth tax? I don't care, but it feels wrong when people expect CEOs or investors to somehow fix the world's problems.


I like using "resource names" defined by Google's AIP (https://google.aip.dev/122). For example, the name "users/1/projects/42" is a nested project resource of a user "users/1". TypeScript type could be "users/${number}".


Because they use slashes, those are kinda annoying to use in web UIs.

Say, /view/users/jdoe/foo -- is that foo a resource, or a URL my web framework can use to e.g. fetch data & components SPA style?

With a flat /view/user_jdoe/foo, you don't have that source of confusion.


That's an amazing headline.


I assumed that the headline was an example of nonsense text generated by ChatGPT (to what end?) - turns out that would have been better than the truth.


I edited it from the original, and didn't use generative AI to do it (other than my own built in version). :)


I keep getting a crypto trading bot ad with AI generated Elon Musk. Ad blockers are necessary.


Is there a way to protect against the "Denial of wallets" attack?


Yes, there is a way to protect against that attack!

All you need to do is have triggers in place that will shut down or slow down your service when the costs are exceeding some amount.

(If you get a moment of viral growth, you can always disable the trigger.)

Unfortunately, AWS makes it extremely difficult to build such a trigger, and I'm not sure about other cloud providers.


There’s always rate limiting. Cloudfront supports it, API gateway support it, and it’s super easy to set up.


Why do people always complain about unrealistic standards? I can't see how that would be bad. The problem is repeated dopamine hits.


While dopamine hits almost certainly plays a role, We need to be more mindful of our uses of “The problem is…” when we’re discussing complex nuanced fractal-tier depth subjects.

There will almost never be one (or The) problem.

I know it’s semantic, but I think particular thing matters, even in casual discussions that don’t demand rigor. It’s lazy of us to delude ourselves that something like this is only one issue. Particularly when it’s used in response to tear down someone else’s hypothesis—this just needlessly stifles more conversation.


It's both.


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

Search: