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

- freejs, created mere minutes before this comment


Also see "On 'Safe' C++", which goes deeper into many of the insights brought up by this article. <https://news.ycombinator.com/item?id=42186475>


Having skimmed it, I hope more people read that article.


    Several months later, I learned I had experienced slight brain damage due to hypoxia and I’ve been slowly recovering ever since. The worst part of all of this is that I said in that post that I was enjoying golang. In other words, I had brain damage and suddenly found writing Go to be fun. Take from that what you will
OMG. ;) It's an interesting rant nonetheless.


    One example of this is [...] the new proposed (but not yet approved) Boost website. This is located at boost.io and I’m not going to turn that into a clickable link, and that’s because this proposed website brings with it a new logo. [...] This logo features a Nazi dog whistle. The Nazi SS lightning bolts. 

    The thing about dog whistles like this is that you can feign ignorance or act like someone is seeing something that isn’t there, but for something egregious it’s very hard to defend it in this case.

    Of course, there’s other political dog whistles out there in the tech world right now. Justine Tunney named her C library, cosmopolitan5, which I personally believe is named after the term Rootless Cosmopolitan. This is a pejorative Soviet epithet which was used primarily during Joseph Stalin’s antisemitic campaign in the late 40s and early 50s. This is obviously much harder to prove6 as Justine has done a very good job of deleting some very eyebrow raising tweets over the years, even having them scrubbed from The Internet Archive’s Wayback Machine [...]

    Justine, unfortunately, doesn’t appear to have made any amends either, at least publicly, or even acknowledged her past behavior, though she is more than happy to reference her time in the Occupy Wall Street movement. These days however, she’s busy working on llamafiles for Mozilla. For those of you not in the know, a llamafile is basically for turning an LLM’s weights into an executable. 
And then he makes (yet another!) detour to AI and C++ which I am going to follow.

It's a massive post though. Right now I am an hour in and probably about 75% done and I am skipping most of the linked articles. Except for the Ender's game parts. I highly recommend those.


I read it.

To save people the trouble it seemed like a manic rant intended to pick several bones (at least the author is self aware enough to admit as much). It's heavy on the "trust me, I have sources" and light on actual content. It's got enough drama and insinuations from calling people liars, narcissists, to finally nazis. It veers from committee drama, to Trump, to feminism, to AI... very hard to follow.

Worthy of a daytime soap opera but other than that there's nothing notable there. Except it does make me want to avoid all these people, on both sides of whatever drama this is.


It has the tone you describe, but I think letting that lead you to avoid both sides as problematic is premature. Melodramatic rant doesn't mean wrong, and if the author is even just half right, there are things we as a community should rectify. Avoiding both sides is an issue if one side has far less power. To make a daring analogy, under the #MeToo banner there were certainly accusations that were false or played up, but many came from sincere people who were backed into a corner. When you hear such an accusation without sufficient evidence yet, the nature of the issue is such that you should be considerate of the underdog. Like it or not, taking a side can sometimes be the only reasonable position.


The C++ community can deal with it, I’m not part of it because I’ve been hearing stuff like this for a loooong time from both sides. I’m sure there’s a lot of truth to it. But in my experience either these situations get fixed early or they fester until a huge explosions (like metoo). Either way, all the drama is a far cry from the things I’m interested in - memory safety. If you can’t talk about that without wading through a sludge of toxic personalities, time is better spent elsewhere.

The JeanHeyd Meneide saga really says it all about what’s wrong with the C++ community. I would say their blog post is far more enlightening and avoids all the accusations and combative tone of the linked piece while still making clear what the problem is. And it’s technically enlightening to boot.


Support for constant float operations was released in Rust 1.82! https://blog.rust-lang.org/2024/10/17/Rust-1.82.0.html


You may be interested in Ferrocene[0], a version of the Rust toolchain that is vetted for critical systems like automobiles. It's offered by Ferrous Systems, the same people who help maintain Rust Analyzer (the de-facto LSP for Rust).

[0]: https://ferrocene.dev/en/


Note that what Ferrocene is currently offering is a toolchain. Things like core and std are not part of the current certification package. It's an incredibly exciting offering, but it's not quite ready to ship today. The fact that the certified toolchain is just the normal, publicly available one is great too.


> The fact that the certified toolchain is just the normal, publicly available one is great too.

And speaks to the standards of quality that the project holds itself to.


Yes, Ferrocene is able to be qualified more easily in part by how good upstream development practices are. A lot of qualified compilers need to be written from scratch because the existing compilers do not do testing and other things that are required for qualification, but the upstream Rust project has a development process far closer to a safety qualified compiler than not. It’s something worth celebrating about rust as a project.


> Things like core and std are not part of the current certification package

As with C++ I'm not sure this makes coherent sense because of the relationship between the language and some elements of the supporting libraries - with respect to `core` specifically, the Rust programming language requires some of core.

Suppose you write a for loop. In Rust that's just sugar, and it's de-sugared into a loop that uses IntoIterator::into_iter, Iterator::next, Option::Some and Option::None which are all from the core library.


Hence the warning. They're not separable, but it's what the current state of the offering is. If you ship core anything depending on core or std, the burden is on you to ensure those parts of your code are appropriately qualified until they can get the situation sorted.


I was recently looking into things along these lines, and my understanding of Ferrocene is that it's just regular Rust with extra tests added. I'd love to know if that's accurate or not. If it is accurate, I've wondered why Rust doesn't just include those tests in the core build.


In my understanding, no additional tests, but some additional platform support.

The issue isn't more tests upstream, it’s more the chain of responsibility for guaranteeing that results are connected to the specification and all of the paperwork that’s required, and ensuring it is accurate.


Thank you for the reference! Will definitely look into this!


Check out the Rust's documentation page on platform support[0]. You'll be able to find the full list of supported platforms, as well as the target tier policy, and specific target requirements and maintainers.

[0]: https://doc.rust-lang.org/rustc/platform-support.html


For those curious, this is the link[0] to the filesystems talk with the relevant timestamp. A bit more was discussed in this[1] article as well about Wedson Almeida Filho leaving.

[0]: https://youtu.be/WiPp9YEBV0Q?t=1529

[1]: https://lwn.net/Articles/987635/


> On my personal computer, a 2013 MacBook, it uses more like 50 and starts darn near instantaneously.

Just for clarification, do you mean 50 GiB or 50 MiB? I'm assuming MiB in this scenario, since allocating 50 GiB doesn't mix with an instantaneous startup.


Yeah, mib


There is a Rust tool named `generate-release` within the website repository[0]. It handles interacting with the Github API to get a list of significant changes, breaking changes, and contributors. (The main Bevy repository has pull request labels for all of these, so this is pretty easy.)

[0]: https://github.com/bevyengine/bevy-website


I love the link to the article on time dilation in this article, fascinating! (https://pilotswhoaskwhy.com/2021/03/14/gnss-vs-time-dilation...)


This name reminds of an LogCat, Android Studio’s logging tool.


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

Search: