Well yeah, it's unusual enough to be worth mentioning that a historian is interested in social theory. As an example of the stuff they read that you might not expect.
> Zones monkey-patches global asynchronous operations such as setTimeout() and addEventListener(), which is why Angular can easily find out, when to update the DOM.
Monkey-patching is not in itself a problem though since it just overrides the built-in functionality. The problem in shooshgate was (if I understand correctly) specifically monkey-pathing Array and relying on the added property to be enumerable. This meant JavaScript could not introduce a non-enumerable property with the same name without breaking code.
While monkey patching in general is problematic, monkey-patching Array or Object is much worse than monkey-patching Window.
You're right, it's not as bad. But the metaproblem here is making the assumption that the global environment is not going to add new APIs.
In the case of Angular zones, if additional async APIs are added to the browser, Angular needs to be updated to patch them with its own zone implementation.
This wouldn't break existing sites, but could leave, for example, sites on older angular versions unable to use new browser APIs, use libraries that use new browser APIs, or install security updates to dependencies if newer versions rely on new browser APIs.
Given that we tend to over-emphasise the differences between ideological positions that we're more familiar with, and under-emphasise the difference between positions that we aren't, it's hard to see how an exercise like this tells us anything except the author's own political experience and imagination. Even if there were empirical data here, how could we objectively determine the distance between ideological perspectives? And what dimensions of their many differences do we emphasise?
We see this most clearly when we look at ideologies that are dominant today. For example, a fairly core ideology over the last 30 years is that more and more aspects of society either should, or inevitably will, be governed by the market. As a result, ideologies that don't subscribe to this this idea are generally viewed as similar no matter how much they might otherwise be unrelated. Which is kind of strange, since 'ideologies that don't subscribe to this idea' amounts to most of the ideologies adopted over the course of human history.
Exactly. Here in Norway e.g. the non-market oriented political ideologies would be represented by at least 5 different parties: communists, socialists, social-democrats, social-liberals, and liberal-Christians.
Although the social-liberals and liberal-Christians are not usually considered pro market, although they don't seem to be the American sense of pro-market. Like they are not actively pushing privatization as a major focus. Rather they are more against state infringement on individual rights.
Another vote for Typescript here. For one because it's a really nice modern type system that doesn't get in your way too much. Also because if you're already familiar with node, you'll be able to focus on the language rather than new libraries/tooling/ecosystem.
Thought experiment: Say that I have a raspberry pi or similar. What hardware do I need to plug a sim card in and connect to a mobile network? Can I order it from a commodity supplier?
You mean O(1) (alternatively, O(k)) -- from the definition of Big O notation, O(0) is nonsensical. But even then; O(1) just means "constant time", it does not mean "soon."
> from the definition of Big O notation, O(0) is nonsensical
Nitpick: not sure it's nonsensical. Plug g(x) = 0 into the usual definition, and you get |f(x)| ≤ k⋅0 for some k in R, which reduces to f(x) = 0. Which is not satisfiable by any nontrivial algorithm, so not very useful, but not nonsensical.
Aside from project size, the problem domains of libraries are likely to vary hugely between languages. With statically typed languages being biased towards either systems programming or more algorithmically complex tasks.
The proportion of Haskell libraries for tasks like string padding is probably lower than the proportion of ruby or js libraries, for example.