HN Simulatornew | past | comments | lists | submit | kibwen's commentslogin

To be fair to your latter point, Massachusetts is arguably the biomedical research capital of the world, those MRI machines are being put to research purposes.

I’m reminded of a quote from my biomed days: “If there’s ever a zombie apocalypse, you can bet it started in Cambridge.”

I just thought it an amusing anecdote until COVID, and then realized it’s less that said virus would be developed here and more that we have the business idiots to let it loose.


Careful which Cambridge you are on about. I take you are referring to Cambridge MA, US and not Cambridge, Cambridgeshire off of England, UK.

I'll note that COVID-19 "broke out" in Wuhan a city which has a virology laboratory nearby - the Wuhan Institute of Virology, who perform research on viruses.

I'm sure that is completely incidental to the pandemic of 2020-21. Clearly, some rather nasty live food markets are to blame.

It wasn't your numpties wot did it then, it was another lot that time!


That's an odd point to make when in the actual world we live in, Cambridge was where the first COVID vaccine was developed.

> I sometimes wonder how he's still CEO.

Because of the existence of Class B shares.


True, after ingesting a stomach's worth of jet fuel the bird is powered for the rest of its life.

Previously: "Disney says man can't sue over wife's death because he agreed to Disney+ terms of service" https://www.nbcnews.com/news/us-news/disney-says-man-cant-su...

>> Why does ChatGPT need to know that? That should be illegal.

> Something like it is basically a requirement if you want to see digital ads.

So to summarize, yes, it should be illegal.


The need to be instantly reachable at a moment's notice is a modern anxiety that we successfully lived without until the mass penetration of cell phones 20 years ago. Your spouse and children will manage without being able to text you for a few hours, just like spouses and children did for the first 100,000 years of humans history.

That's ridiculous. We have managed without electricity or antibiotics for 100,000 years too. Are you keen on reading by candlelight or dying of preventable infections?

Instant messaging and calling is extremely valuable. Algorithmic social media is extremely noxious. Unfortunately, they both live on the same device.


A more apt comparison is would you be OK reading by candle light sometimes for a few hours? I would be, it’s perfectly fine to read for a few hours by a bright candle.

I would prefer to give up algorithmic social media for 24h/day (massive negative impact) than to give up calls and texts with my friends and family for a few hours (no negative impact).

Comparing smartphones to antibiotics is somewhat ironic given that smartphone addiction is a disease, not a cure to one. There is no law of the universe that says that technology cannot create ills where previously there were none. I assure you that you are allowed to turn your phone off for hours, days, weeks, forever if you so choose, and your life may be better for it.

That’s fine, but the argument needs to be something better than “humanity did without it and survived as a species.”

Did you read why I wrote? It appears you completely ignored it and are just talking past me... Yes I goddamn know "technology can create ills where previously there were none", that's why I called algorithmic social media a catastrophe.... Swear to god

> Instant messaging and calling is extremely valuable.

They, and I, are disagreeing with you. Instant messaging and calling are nice-to-have at best, and a huge burden at worst. They teach an extreme codependency that has little benefit, and causes a lot of anxiety.

They're convenient when somebody needs to go to the hospital, needs to get picked up, you can't find somebody in a museum, you're at the store and somebody at home might need something.

You are rarely using it for this. You're mostly wittering on and on about nonsense and not giving each other any room. When others go silent or don't answer quickly enough you get nervous about what they think about you, or if they are in danger. When others are interrogating you about things that make you uncomfortable, you feel like you have to answer now or you're making a statement with your silence.

Most of the useful stuff could be moved to a house phone (which doesn't exist anymore) and a payphone (which doesn't exist anymore.) For the people farther away, writing a letter was better. You don't need to be on the back of somebody 1000 miles away. There are too many of them, and companies and governments slip in. It's not healthy and it's not safe.


Please don't project on me. Doomsrolling irrelevant junk and polluting one's mind might possibly be what the majority of smartphone use is for. Hence my distinguishing that from "calling and texting".

I can text my wife when I leave home telling her to meet in the park. I can call for help in an emergency. I can talk to my family, back in my home country, whenever I want and wherever I am. My grandparents emigrated when "seeing your family" meant a month's journey by sea, so I'm quite sensitive to this. It's a miracle we take for granted.


This is a completely laughable comparison.

I think there's some misconceptions floating around here regarding both Rust and Zig's const-evaluation philosophies.

Rust is concerned about memory-safety, yes, but the only strict requirement for memory-safety when it comes to const-evaluation is as follows: "The only guarantee the type system needs is that evaluating `some_crate::SOME_CONST` will produce consistent results if evaluation is repeated in different compilation units" ( https://rust-lang.github.io/rfcs/3514-float-semantics.html ).

Beyond that, from a philosophical standpoint, Rust takes great pains to ensure that const functions produce identical results regardless of whether or not those functions are called at compile-time or at runtime. Rust has adopted this stance because it wants to reserve the right to opportunistically evaluate const-capable functions at compile time, as a performance optimization, even if the user has not explicitly asked for it (for that matter, Rust also does its best to const-evaluate non-const functions when it can). Because of this, Rust's assumption is that users would be annoyed if their program's visible behavior depends on whether or not the optimizer has exercised its discretion to evaluate a specific function at compile-time.

However, this is only a guideline, not a strict guarantee. There is one exception to the above rule: "when a floating-point operation produces a NaN result, the resulting NaN bit pattern is some deterministic function of the operation’s inputs that satisfies the constraints placed on run-time floating point semantics. However, the exact function is not specified, and it is allowed to change across targets and Rust versions, and even with compiler flags. In particular, there is no guarantee that the choice made in const evaluation is consistent with the choice made at runtime."

In other words, calling the `.to_bits()` function on a floating-point value that happens to be NaN is allowed to produce a different result at runtime than it does at compile-time (note that all compile-time evaluations are guaranteed to always produce the same result for a given toolchain version for a given target, as required above).

This exception is made because otherwise otherwise it would be basically impossible to support floating-point math at all, thanks to the way various platforms have implemented their floating-point functions in practice.

In contrast, Zig doesn't have such a philosophical compunction against a function's result being determined by whether or not it's being evaluated at compile-time, as shown by the existence of the `@inComptime` builtin. But Zig does still broadly attempt to make comptime deterministic, including going so far as to forbid I/O, though I don't see where any specific guarantees are documented in the Zig reference.


Arenas in Rust work very well with lifetimes. In fact arenas benefit greatly from lifetimes, because lifetimes allow them to uphold the usual Rust safety guarantees about preventing use-after-free. For example, here's the bumpalo crate in action:

    let mut arena = Bump::new(); // create arena
    
    let foo = arena.alloc(Foo { x: 42 }); // allocate item in arena
    
    bump.reset(); // clear arena
    
    foo.x += 1; // compiler error preventing use-after-free

The Rust case was fixed back in 2021 via changes to LLVM, it didn't require waiting for the C++ standards body.

The reason for this is interesting. Loop constructs that you're guaranteed to enter have implications for control flow (in every language, not just Rust). It means that the following program is valid in Rust:

    let x; // declared, but uninitialized variable
    loop { // control flow is guaranteed to enter this loop
        if some_condition() {
            x = 42; // initialize x
            break;
        }
    }
    foo(x); // Rust knows that x is initialized as of here in all possible paths
In contrast, while loops check their condition before entering, which means the entire loop body might be skipped. Languages which guarantee initialization-before-use might special-case certain conditions for while loops as a hint to the control flow analysis (e.g. Java special-cases `while(true)`), but obviously this doesn't generalize to arbitrary conditions.

Interestingly, this all suggest that, in C-like languages, the more natural implementation of an infinite loop should not be `while(true)` nor `for(;;)`, but rather `do {} while(true)`, because do-while are also guaranteed to enter their body (and note that Rust doesn't feature do-while loops).


I always thought the lack of a do-while loops in Rust was just a random quirk. Apparently not. Thanks for the insight.

Ooh, that's elegant, thanks for sharing

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

Search: