fnrslvr
The Bodyweight Fitness subreddit provides similar routines, as well.
http://www.startbodyweight.com/
https://www.reddit.com/r/bodyweightfitness/
There are also a lot of resources on youtube if you want video demonstrations/walkthroughs. Calimove was pretty useful for me.
https://www.youtube.com/@calimove
That said, I was probably in the best shape of my life back when I used to do indoor rock climbing three days a week. It incorporates a satisfying combination of technique/problem-solving and physical strength/endurance.
I don't think that adding catobar support for modern fighter platforms is viable for all of these small carriers that are incorporating the F-35B. Admittedly my understanding of the situation is very shaky, but by all accounts I've heard, the catapults and arrestor gear place very significant strain on even the US supercarriers. More countries used to operate catobar carriers in the past (such as my home country of Australia, up until the retirement of the Melbourne and a decision to discontinue fixed-wing carrier ops), which I suspect has to do with the operation of lighter aircraft from the carriers at the time. (~7t max takeoff weight for a Sea Venom, ~11t for a Skyhawk; compare to ~30t for a Super Hornet or an F-35C.) Maybe the situation has gotten better with EMALS cats, but we're yet to see this technology used to make baby catobar carriers a thing, so who knows?
The countries in question would likely need to upgrade from their ~25000t LHDs to something with at least the displacement of the 40000t Charles de Gaulle. (Not to mention that most such carriers use nuclear power for both propulsion and to power the cats and traps.) Such vessels would come at great expense, and likely also have significantly larger crewing requirements, which tends to be a pain point for middle-power navies. I also don't think a lot of these vessels would've been built bigger in anticipation of catobar requirements, as they were largely originally specced for helicopter deck and amphibious roles. The F-35B really seems like an opportunity which all of these countries have siezed upon after seeing it come to fruition.
Again, it seems like you have a case with the Queen Elizabeths, though it seems like the UK balked at the cost of fitting catobar, if that's any indication.
As to whether the costs would've been offset by savings in the development of the F-35B, I don't even think we're talking about costs on the same magnitude here. For reference, total R&D costs for the F-35 as of 2019 were $71.9billion in 2012 dollars. Building and sustaining big boy carriers for middle-power countries would've cost the JSF partners hundreds of billions of dollars, easily.
The F-117 was central to SEAD operations during Desert Storm, and the F-35 is regarded as the most credible SEAD platform in the USAF inventory today.
The F-35B may have started as a Marines ask, but it seems to have become an export success with countries that aren't really up to footing the costs for catobar-capable flat-tops for modern fighter aircraft during peacetime, e.g. the UK, Japan, Italy, Korea, potentially Spain.
The Marines have also been exploring the F-35B in austere basing, EABO conops, airborne amphibious ops, etc., so it's not just carrier ops.
It has been a lead weight on the JSF development project, for sure, but the F-35B does seem to provide an intriguing capability now that it's a thing. I'm also not convinced that a dedicated STOVL project would've given a more suitable plane -- it really seems like you would want the whole stealth + advanced sensor/avionics package on your jump jet to meet needs like naval LHD-borne fixed-wing AEW/air interceptor/task group anti-air range extender, airborne amphibious ops CAS, etc. Owing to the difficulties encountered by the JSF in supporting the F-35B, I doubt it's going to be succeeded by another platform for a very long time.
fwiw, if you're looking for a particular kind of strike target, the F-35 is widely regarded as the USAF's most credible SEAD/DEAD platform. It's suitable for a wide range of other roles, but SEAD really sets it apart.
My understanding is that the "dogfighting is over" rhetoric stopped being proven wrong during the Iran-Iraq war, when Iraqi fighters started mysteriously exploding in the sky during operations.
What? This is pretty much standard practice across the board in military procurements. For example, as part of SAAB's Gripen bid for Canada, they would arrange for the aircraft to be produced, assembled, and maintained in Canada if the Gripen were selected. Countries do this for a variety of reasons -- yes, to bolster local industry, but also to give them a leg-up on sovereign sustainment of the platform, and so that they can ramp up manufacture to meet their own needs in the event of a war.
For example, Australia became the sole operator of the F-111 from when the USAF retired it in 1998, until the RAAF retired it in 2010. The Australian Army also found itself in the position of sole operator of the ARH variant of the Eurocopter Tiger, a situation which lead to severe sustainment issues and exorbitant per-hour flight costs (estimates of up to AU$34k), and eventually lead to the 2021 decision to replace them with Apache Guardians.
This response might come off as a little facetious, but seriously, I think the idea of "founding" industrial computing languages/platforms upon theoretical research models of computation misunderstands the relationship between theory and practice. There is a relationship for sure, the research on these models usually does want to translate into real-world implications somehow, but your functional programming language is not the literal lambda calculus.
Sometimes that could mean using the lambda calculus, particularly in study of language theory and type systems. Other times that could mean some sort of black box model, such as when proving lower bounds for solving problems using specific operations (see e.g. the sorting lower bound). Yet other times, like when establishing the ground-zero of some new variety of computational hardness, I can't think of many more suitable models to cut up into pieces and embed into the substrate of some other problem than those based upon Turing machines.
Maybe computer science is about giving, to borrow a little bit from Hilbert, finitary representation to infinitary structures. (Finitary representation with other properties of interest, such as tractability and whatnot, of course.)
Turing's universal machine is the original dependency inversion of our field: instead of specifically studying the programs that can be written for any particular hardware device, we largely study phenomena that are regarded as computation as defined by the Church-Turing thesis, and require that the hardware vendors supply suitable universal machines which can instantiate the phenomena of our study. Or field is the science of computers -- every program is a blueprint for a computational device -- but we choose to simulate most of our blueprints using universal machines, so that we don't have to send each one off to the silicon fab separately.
More-or-less this. I'm going to take this as an opportunity to drop one of my favourite quotes, because I can't help it:
"The view that machines cannot give rise to surprises is due, I believe, to a fallacy to which philosophers and mathematicians are particularly subject. This is the assumption that as soon as a fact is presented to a mind all consequences of that fact spring into the mind simultaneously with it. It is a very useful assumption under many circumstances, but one too easily forgets that it is false. A natural consequence of doing so is that one then assumes that there is no virtue in the mere working out of consequences from data and general principles."
-- Alan Turing, Computing Machinery and Intelligence
I singled out "outputting 0" on every input because it's among the simplest possible specs you could try try to check with the kind of "very powerful semantic analysis" tool the top-level post was hoping for. In practice you probably want to check a more complex spec -- you want your code to solve a specific problem on whatever input it receives -- but if the "always output 0" spec is impossible to automatically check, then what hope do more relevant specs have?
Call the time bound c|x|^k, where x is the input and c and k are constants.
I see what point you're making, and I agree that you get yourself a nice, merely coNP-complete problem if you're willing to cut off the space of inputs at a point by enforcing a constant time bound or whatever. More than anything, this kind of argument makes me shudder at just how hard the very worst stuff in NP must be.
Each of these things aims to allow the user to specify a task in a restricted model of computation. In turn, it tends to be possible for the engineer writing the solver to build an engine capable of very radical transformations, optimizations, and analyses, that generally can't be matched by compilers and interpreters for Turing-complete programming languages.
For example, finding out whether a time-bounded Turing machine outputs 0 all inputs is still undecidable. (coRE-complete, in fact. That's better in some sense than the Pi_2-completeness of the same problem for Turing machines without the time bound, but since neither admits a solution in the form of a computer program, a lot of people would consider the difference an academic curiosity only.)
This is the problem. Interesting computing is some impossibly complex (undecidable, in fact) subset of all computing, that you try to get inside of via the practice of software engineering. Turing's theory of computation provides reasoning tools which allow us to bring rigor to the idea that building correct software that does useful things is generally difficult.
> Designing a computing model that only covers what's useful while also making it convenient appears to be a long standing open problem.
Per the above point, depending on how you characterize this goal, it's probably impossible to accomplish.
> TC isn't quite the actual top! There are ways to make problems that, even with an oracle for solving Halting, are still hard [0].
I'm not sure why you're raising the subject of the degrees here. Malicious software doesn't need to have hypercomputational powers to be a threat.
I think we agree that as a matter of actually building the topic of NP-completeness, nailing down a concrete model of computation for the verifiers which can itself be operated upon constructively is vital.
*Or some other simple model of computation that's polynomially invariant wrt Turing machines, but at this point I don't think "you don't need Turing machines" remains as salient.