Earthquake risk and water scarcity are true, and these issues have been endemic, and they happen exactly at the major population centers / agricultural areas.
> Would the US tolerate mexico become a china military ally? Doubtful. One of the unwritten laws.
Exactly. The Ukraine situation would be tantamount to Canada or Mexico entering into a military alliance with Iran -- not acceptable and a direct cause of war.
> Exactly. The Ukraine situation would be tantamount to Canada or Mexico entering into a military alliance with Iran -- not acceptable and a direct cause of war.
How is it any different to Finland joining NATO? (which they just did).
> The difference is the shared history and language.
I don't think a language matters with a war with NATO.
> Also, they are really not happy about it.
Yet there is no war, shows you that NATO really works as a deterrence to Russia and that it had nothing to do with Ukraine being close to Russia and in NATO.
Ukraine did not enter any military alliances with anyone they just wanted to stop being a puppet/client state of Russia.
Also the only two things Russia has going for it are their energy resources and their nukes. It's a poor second tier/regional power without that (even with the oil/gas/etc. it still has a 2.5x lower GDP than Germany despite an almost 2x higher population).
Correction: "I'm planning on staying at four hotels, but there might be more depending on how my trip goes (because it's not completely 100% planned out)."
"Consists of" creates a minimum bound, not an exact amount.
For that matter, meaning was already lost in the original post: If "comprised of" was used in the original sentence, it would mean at least one of the hotels was a destination itself rather than just a place to stay (a historic building or something, for example).
It really depends on sentence flow. With the usual SVO order, the subject becomes the focus.
If the context or dialogue goes like this: "Where are you staying for your vacation?" then the logical subject of the answer should come first, e.g. "I am staying ..."
However if the lead-in focuses more on the itinerary rather than the traveler, e.g.
"What is your plan? Can you describe your itinerary?" then it makes a lot of sense to start with "My itinerary involves..." or "My itinerary consists of..." or for a passive voice, "My itinerary is composed of..."
"I plan on staying at four hotels.", if you want to more accurately preserve the original meaning (just because it's on the itinerary doesn't mean I'll actually be staying at all four hotels, but it does typically mean there's a plan I intend to follow).
This is a negative way to look at China's history.
As a Chinese-American, whose family and friends all profited greatly from China's rise, I do wonder, how much of that profit was just being lucky enough to support the "winning team," and how much blood was shed on the other side.
We have a model for that in your birth country (American Civil War). But from my fractured knowledge of Chinese history, there's been a lot less backpedaling vis-a-vis the Civil War on ideological differences between the winning and losing side (and we mostly lament those as regression instead of progress).
In China, things have come back. People who escaped were invited back with promises of better treatment, even given platforms (eg, martial arts) but who knows what we Earthlings have lost from people who didn't. Biomechanics, biology, art, technology, philosophy...
However, you don't have to if you die and pass the property down to your spouse and/or children. This is the step-up in basis and is key to building generational wealth in the US.
> This is the step-up in basis and is key to building generational wealth in the US.
Yes, but for most people, that's not really a benefit. It's possible to exclude the first few hundred thousand of capital gains taxes on a primary residence anyway. So even without the step-up basis, the tax burden on these properties would be tiny.
Property taxes are a much more significant form of taxation than capital gains. And would be even without any preferential treatment.
I think TypeScript's decisions about these methods were done either because early versions of the transpiler couldn't detect certain behaviour or to make the language friendlier to work with.
If you have a function `widgetifyFoo(object: Foo)` and some JSON that you're pretty sure returns a `Foo`, you'd like to be able to do `widgetifyFoo(JSON.parse(data))`. With `any` the method call should just work, but with `unknown` you need to be explicit in what kind of data you're expecting (`widgetifyFoo(JSON.parse(data) as Foo)`). That may be too verbose for some.
The `[1, 2, undefined].filter(x => !!x)` typing is just a limitation of the transpiler. The end result will be an array containing two numbers, but you need to do some complicated validation to get the type right; `filter`s can be very complex if you want them to be, and they do by contract return a (sub)selection of the input. The type guarantee you want as a developer is based on the implementation rather than the underlying type system.
I suspect the `Array.includes` implementation to be a choice by the devs. The check will only succeed if the type matches, so you have a choice between setting the right type on your array (`"matt"|"sofia"|"waqas"|"bryan"` if you want to check for `"bryan"`) or using the type error you receive as an indication your check makes no sense. If you have an immutable array of specifically `["matt","sofia"]`, why even check for `"bryan"`? It won't be there, unless you make a mistake!
Javascript will obviously happily call the method for you and do what you expect, so TypeScript is breaking valid JavaScript standard API code here. That said, I agree with the TypeScript devs that they made the right choice on that one.
> I suspect the `Array.includes` implementation to be a choice by the devs. The check will only succeed if the type matches, so you have a choice between setting the right type on your array (`"matt"|"sofia"|"waqas"|"bryan"` if you want to check for `"bryan"`) or using the type error you receive as an indication your check makes no sense. If you have an immutable array of specifically `["matt","sofia"]`, why even check for `"bryan"`? It won't be there, unless you make a mistake!
That logic only applies to searching for a constant, and in that case it should go a step further and complain that you're using .includes at all. There's no reason to search for the constant "bryan" or the constant "matt".
The only time it makes sense to use .includes on this array is with a string of [semi-]unknown contents. And yet that's what gets blocked. The typing is wrong.
If you typed the array as string[], it would generally work, but then the compiler wouldn't be able to warn you that users.includes("matt") is always true. And it wouldn't be able to warn you that users.includes("bryan") is always false.
I could at least understand the use case for a narrow includes if you explicitly typed the array as `("matt"|"sofia"|"waqas")[]`. But that's not the type of the array. The type is `readonly ["matt", "sofia", "waqas"]`. There's always exactly one of each. There is never a reason to feed a string of type `"matt"|"sofia"|"waqas"` into includes. The only sensible parameters for includes are types that intersect with `"matt"|"sofia"|"waqas"` but can be other things too. Which means the most sensible parameter type to derive is `string`.