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

It's a bit contrived, but a global with a nontrivial constructor can spawn a thread that uses another global, and without synchronization the thread can see an uninitialized or partially initialized value.

I haven't written C++ in a long time, but isn't the issue here that the initialization order of globals in different translation units is unspecified? Lazy initialization avoids that problem at very modest cost.

Yeah, that is part of it.

I'm not sure what you're talking about. The most popular stories are the ones when they detain US citizens, rough them up, and then dump them on the side of the road somewhere without even apologizing.

[1] https://www.theguardian.com/us-news/2026/jan/13/ice-immigrat...

[2] https://www.pbs.org/newshour/nation/a-u-s-citizen-says-ice-f...

[3] https://www.propublica.org/article/immigration-dhs-american-...


I assume this is probably a function of our respective locations, because the most popular stories I see as an 'outsider' are those that would discourage tourism or immigration, not those that would worry already-citizens.

To address your stories specifically, my point would be that I'm still not sure whether this shows the US is notably worse on this than any other place.

E.g. https://en.wikipedia.org/wiki/Windrush_scandal


Was Saddam's Iraq (post Desert Storm when he no longer had the ability to wage offensive war) really that bad compared to what came after?


For a large share of the population, yes, by a huge margin. For an even larger share, no, by a large margin.

Both regimes were deeply racist.

Anyway, I don't think that information entered on the US decision making in any way.


You mean immediately post Desert Storm when this happened? https://en.wikipedia.org/wiki/1991_Iraqi_uprisings


HN really can't handle comments like these huh.


You first, buddy.


Things like retirement posts have always been vetted (if not written by) PR agencies, so in that sense I think it would be a good thing if the mass delusion of parasocial relationships with celebrities were indirectly broken by AI-created skepticism.

However, I agree that ordinary people filtering and flattening their communication into a single style is a great loss.


If your gut response is "here's a way to make the code better" then, yeah, you missed the entire point of the post.


I was hoping for discussion and got a zero content kneejerk response


The point of the article is that the system is not representable in code so all the tools FP provides are useless in systems programming.


You my friend need more milewski in your life and let go of the idea that code and data are different things.


In this case, we don't have good data representations for code which produces or consumes structured data, where the structure of that data changes over time. We have some pieces figured out for certain domains, such as database schemas, but we do not have a "theory-of-everything" for enforcing types/structure across all domains of our systems. The domain addressed by GraphQL, HTTP APIs, is another instance of this same problem.

There are experimental systems like Unison that keep old versions of your code alive as data, which are fascinating solutions to the underlying problem.


Did you just state that FP cannot solve the problem because some protocol wont allow you to specify types in the manner?


Did you read the article? The issue isn’t code vs. data, it’s code vs. system state. The system can be in states not model-able by code, e.g. versions 1 and 2 of a piece of software running concurrently. Other examples I can think of are things like nodes going down, database consistency, etc.


Technically, not "not model-able" but "not modeled". As in, the effort was not done, and is easy to omit. And doing it in the general case is a lot of work, hence the expand-contract and only-two-versions designs.


These are vacuous statements.


> All Java programs "really" happen in the IO + Either monads

People say things like this all the time, and I think it's a vacuous assertion. While there is probably some very narrow view where returning early with an error, throwing an exception, and binding in Either are the same thing, such a view ignores a lot of important context (e.g. all of imperative programming). This is why you have to qualify it as "IO + Either", but that doesn't say anything at all because everything is possible in IO.


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

Search: