Sure, we can run the math on heat dissipation. The law of Stefan-Boltzman is free and open source and it application is high school level physics. You talk about 50 MW. You are going to need a lot of surface area to radiate that off at somewhere close to reasonable temperatures.
There’s more to it than that though. The solution using the least possible lines is often inscrutable and brittle. The art is in finding the right level of abstraction which can deliver the performance required while being sufficiently legible. Depending on the specific problem you have to weight your solution accordingly, if performance is critical you must often forfeit legibility. The art is in recognising and dealing with trade offs.
when building an airplane one of the goals is to figure out what you can remove without affecting the stability of the plane. performance (use of fuel) matters here too. so it's kind-of the same thing?
They say that prediction is difficult, especially when it is about the future. Unwise economic policies may be punished quickly, slowly or might be revoked before punished severely. The question is how much risk one is willing to take. Another matter is of morality. Being invested into something means supporting its practices and being partly responsible for them.
Incorrect. The rules based order was first attempted after the first world war and then created after the second one. These are lessen that have been bought with blood. Lots of blood. Megaliters of it. The incredible stupidity of throwing that away is absolutely disgusting.
The "rules-based international order" was a fiction popularized by US policy makers who wanted to quietly substitute it for international law, so they could violate said laws, while still vaguely gesturing at moral authority.
"In the 1940s through the 1970s, the dissolution of the Soviet bloc and decolonisation across the world resulted in the establishment of scores of newly independent states.[67] As these former colonies became their own states, they adopted European views of international law.[68] A flurry of institutions, ranging from the International Monetary Fund (IMF) and the International Bank for Reconstruction and Development (World Bank) to the World Health Organization furthered the development of a multilateralist approach as states chose to compromise on sovereignty to benefit from international cooperation.[69] Since the 1980s, there has been an increasing focus on the phenomenon of globalisation and on protecting human rights on the global scale, particularly when minorities or indigenous communities are involved, as concerns are raised that globalisation may be increasing inequality in the international legal system.[70]"
Laws aren't fictitious just because people/countries break them. No one writes a law thinking "that settles that, no more embezzling." Laws simply tell you how that system works: you embezzle, FBI arrests you, you get tried, etc.
Also the US always made a big deal about not joining various treaties, with their reasoning explicitly being "we actually plan to do a lot of things that would violate that treaty." In that sense, that shows the US actually had respect for those institutions.
Also, the west benefited from this arrangement. Most western countries could benefit from the rules based order, and when they needed a little pump, the US broke some rules and brought home a treat for the home team. You might argue this undermines the whole enterprise, but my counterargument is this is the longest period of relative peace and prosperity humankind has ever experienced, so although it wasn't perfect, it was a huge improvement.
Ofcourse people break laws. But they are enforceable and the authorities have absolute power to enforce them. Putin can get away doing whatever the f he wants but nobody in Canada can get away with breaking any law they want whenever they feel like it, for example. That's the difference between the very real Canadian laws over Canadians and "international law" over nobody. Now Canada can pass a law that is in line with some international agreement, but it's still the law of Canada. Other laws don't apply in Canada. Canadian laws don't apply in other countries. And that's about it. If we had world elections, world government, world police, world courts and world laws, with all countries giving up their sovereignty to those institutions then we'd have "international law". Until then we don't.
International law is different, but everyone knows the scenario where like, the ICJ tries and imprisons Putin is remote. Almost as remote as Trump being tried for treason tho....
I'm not sure "everyone knows" applies here. This is one of these situations where the language is intentionally confusing. Because most people when they hear about laws have certain assumptions about what those are and how they work.
In this case this assumption is completely disconnected from reality. So yes, neither Trump, nor Putin, nor Starmer, nor Macron, nor any US citizen, and likely no citizen, or government of no country with any sort of power (India, China) or with a patron country with power isn't subject to any "international law". I.e. doesn't exist, it's just a word salad to manipulate the masses.
Rich and powerful people go to jail all the time. SBF? Ghislaine Maxwell? Maybe that boundary is pushed but at least in theory in the "western/democratic" world you can't get away with breaking the law simply by having power (and yeah Trump and such - but in general). So sure, there is some erosion of rule of the law in the western world, but it's still a thing.
But you are right that people assume that. They also assume the rich pay no taxes. So they "assume" a bunch of nonsense. Some once told me assume makes an ass of you and me.
I think people think the US is supposed to follow this thing called international law, or at least they'll express some outrage when it doesn't.
The manipulation is that people believe in this thing called international law as something that anyone has to follow where in practice no country would ever let international law supersede its laws if it went against their interest and there is no mechanism to force this. You keep seeing news about this and that being against international law (be it Israel or the US or Russia, would be the typical use case) and people actually think this is a real thing, like there's some law book somewhere that applies universally to every country. Very few people have the real and correct understanding that these are just norms or treaties or agreements that countries decide to follow or not on a case by case basis as per their interest, i.e. not a law in any real sense of the word.
Well but I think those instances are like, "wow this dude actually went to jail? how badly did he fuck up?" or whatever. Like, a counter example is like, one person went to jail for the financial collapse of 2008--to the surprise of no one (though, a fair amount of justified outrage). Rich people also frequently pay no taxes, like famously Amazon.
But, I don't think people have a detailed understanding of these things. I do agree they're at best fuzzy about what international law is (I am also fuzzy on it). I just don't understand what's manipulative about it. Like, what are people induced into doing based on the premise that the US follows international law? I think anyone operating in that sphere (international shipping, piracy outfits, aid organizations, criminal syndicates) is probably savvy enough to know the US will just blow you up and lie about it for thirty years.
Laws are enforced by sovereign countries that have police and courts etc. "International law" has "laws" (well very few if any) with no sovereignty. That's what makes it fiction. It's just newspeak to make people think that there are laws that exist outside the system of countries, and there aren't, at least no binding ones that countries can't and don't override. That's not a law.
Ofcourse laws, like any other human constructs, are invented by us and don't have independent existence.
When I drive to work here in Canada the "international police" stopping me for violating the "international traffic laws" is really not a concern.
I acknowledge that the 20th century was marked by much bloodshed, but this wasn't limited to the world wars and it continues violently into the 21st century.
If the world is governed by rules, why does the United States maintain a considerable number of military bases around the world, far exceeding the total number of military bases of all other countries combined?
Why is the American military budget so much higher than the combined military budgets of all other countries?
> If the world is governed by rules, why does the United States maintain a considerable number of military bases around the world, far exceeding the total number of military bases of all other countries combined?
It's the other way around. Rules are tools of peace. No peace, no rules. But if you want peace then you have to be ready to wage war. It's called deterrence and the EU is learning this just now, again. That's also one reason why the USA has been called the world police... because it was true.*
If nobody enforces the rules any more, things break down and we close in on violence. It is plain to see on the global scale, e.g. Russia's war against Ukraine, and also the domestic scale, e.g. ICE's violence against their own citizens in the USA.
> Why is the American military budget so much higher than the combined military budgets of all other countries?
The US military budget is about three times that of the EU or China's, or about a third of all military spending on the globe. Obviously, this is much higher than any single entity, but not all other countries combined.
* Frankly, being the world police has had a lot of benefits for the USA. Why they are abdicating this position to run a protection racket instead is for wiser people than me to answer.
You're confusing rules with treaties, agreements, and balance of power.
Yes- When there is one super power in the world and it says if you don't behave a certain way we're gonna bomb the heck out of you, or boycott you, you get a certain behavior. Even then you might get some actors (like North Korea, or Iran, Yemen, Russia, China and more) that have no problem openly defying and challenging the super power to some extent.
When the balance shifts and you have other blocks with more power that feel comfortable in defying that super power (like China or Russia today) then you see that changing.
There are no "absolute" rules. There are power dynamics, countries, interests, politics. Rules can exist only within a structure that can enforce them, like a country.
Whether or not a 'LIO' exists is not that interesting to me. What is interesting is what actually exists and what has happened in history. What actually exists is an enormous shock after, for instance, world war one where the question arose how it is possible that basically an entire generation of young men was slaughtered. E.g., every small village in France has a memorial of the fallen soldiers during world war one. For many decades after the war commemoration were/are still being held. It used to be that competing for territory was just the normal thing countries did. Then, it became clear that this has a potentially enormous cost in human lives. The obvious conclusion for people who are not sleepwalking through life and through history, is that any political leader who advocates for a change in country borders and does so much as hint to violent means of doing so is totally deranged and immoral. A similar shock has gone through the world after world war two, which, for instance, lead to the creation of the declaration of universal human rights. Among the decent public, it is also concluded that a violation of human rights is deranged in immoral.
I agree most countries, certainly western countries, have realized that waging the kind of wars like WW-I and WW-II is not a good idea. But there have been a lot of war and killing anyways since the world wars and there have been a lot of new borders redrawn and countries formed. In more recent times we have Putin invading Ukraine and the general instability of the post cold war Eastern Europe.
So the calculus has changed for many reasons. But "new order" is not one of them. The so called new order was a result of the calculus changing, not the other way around. Countries fight for power in other ways and other societal changes also influence their decisions. I.e. you are confusing cause and effect. Now we have different dynamics, not a collapse of world order, things have shifted very slightly. "The end of the world as we know it" gets a lot of clicks on social media but it's not like we're suddenly having WW-I all over again and it's not like that order you thought was absolute really was. It's just that's how the alignment of interests landed.
Sure, high level is the goal. But the question is whether the abstractions are the correct ones that fit the problem. Almost all software that I have encountered that was painful to work with chose a framework that did not apply to their situation.
E.g., develop a generic user interface framework which makes it very quick to produce a standard page with a series of standard fields but at the same time makes it very painful to produce a non-standard layout. After that is done it is 'discovered' that almost all pages are non-standard. But that 'discovery' could also have been made in five minutes by talking to any of the people already working for the company....
Another example: use an agent system where lots of agents do almost nothing, maybe translate one enum value to another enum value of another enum type. Then discover that you get performance problems because agent traffic is quite expensive. At the same time typical java endless typing occurs because of the enormous amount of agent boilerplate. Also the agents that actually do something useful become god classes because basically all non-trivial logic goes there....
> Sure, high level is the goal. But the question is whether the abstractions are the correct ones that fit the problem.
Not quite. The path to high level always involves abstractions that fit the problem. There is still room for a decision to replace high-level with low-level in some very specific bits of a hot path, but that decision also takes into consideration the tradeoffs of foregoing straight-forward high-level solutions with low-level versions that are harder to maintain. The sales pitch to push code that is harder to maintain requires a case that goes way beyond performance arguments.
The difference is that in C one is supposed to do allocations and deallocations oneself. Then move semantics is just pointer assignment with, of course, the catch that one should make sure one does not do a double-free because ownership is implicit. In C++ ownership is indicated by types so one has to write more stuff to indicate the ownership.
> The difference is that in C one is supposed to do allocations and deallocations oneself
No, you should only use the heap if necessary.
The bigger issue in C is there is no concept of references, so if you want to modify memory, the only recourse is return-by-value or a pointer. Usually you see the latter, before return value optimization it was considered a waste of cycles to copy structs.
In the embedded world, its often the case you won't see a single malloc/free anywhere. Because sizes of inputs were often fixed and known at compile time for a particular configuration.
With 'auto' it is so very verbose. It can be shorter. Let us put "using TP = std::chrono::steady_clock::time_point;" in some header file to be used in many places. Now you can write
TP start = TP::clock::now();
do_some_work(size);
TP end = TP::clock::now();
I prefer to put the `using` in the block where you need the std::chrono code, which keeps it local and tidy. Putting it in a header is declaring a global type and asking for trouble; at least bound it in a namespace or a class.
I agree that auto should be used as little as possible. There are good uses, though. It is okay to use when the type is trivially inferred from the code. What is auto in "auto ptr = std::make_shared<MyNiceType>();". Everybody who knows any C++ knows. Also, lambdas do not have a type that can be written down, so it is okay to use auto for them.
I also prefer not to use auto when getting iterators from STL containers. Often I use a typedef for most STL containers that I use. The one can write MyNiceContainerType::iterator.
Pre LLM agents, a trick that I used was to type in
auto var = FunctionCall(...);
Then, in the IDE, hover over auto to show what the actual type is, and then replace auto with that type. Useful when the type is complicated, or is in some nested namespace.
reply