Triabolical_

Triabolical_ t1_j27ivjd wrote

To oversimplify...

In studies you are looking for what is known as statistical significance, which is basically shorthand for it being very likely that the effect you are seeing is a real effect rather than just being an unlikely chance effect.

If you are looking at the effects of a drug, perhaps the effect that you are seeing is just random chance - the people who took the drug just randomly got lucky and the people who didn't take the drug got unlucky.

So you do replication to rule out that chance. If you do two independent drug trials and they both show the same effect, the chance that it is due to random fluctuations is much smaller.

1

Triabolical_ t1_j27hw5e wrote

The other answers are good but are missing some nuance.

The difference between compiled and interpreted is when the translation operation is done. In compiled languages, the translation is done all at once before the code is shipped, and in interpreted languages, it is done when it is run.

There are hybrid approaches, however.

C# is a compiled language, but it's not compiled to machine code - it's compiled to an intermediate language known as ".NET intermediate language" or ".NET IL". That code is then compiled into machine code on the user's machine, but it's done in small chunks using what's known as a "just in time" compiler, or JIT. Except some code that will get used all the time gets compiled into machine code once to avoid the overhead of doing it all the time.

There are other approaches that compile the language to an intermediate language called "p code", and that p code is interpreted when it is executed.

3

Triabolical_ t1_j2674pp wrote

I have a video on NASA's current NTP program and a series on a bunch of different nuclear designs. And a video on using NTP designs to build a space tug.

This area is a bit of a hobby of mine.

The problem with NTR designs is that the old projects such as NERVA weren't really designed to build real engines. They did a lot of testing and came up with something that kindof worked but still had issues.

There have been numerous designs since then and a lot of assertions about how great NTR will be because "will you look at that Isp?".

There are two big obstacles.

The first is weight. The combustion chambers in chemical rockets are mostly empty space so those engines are light, while NTR engines have heavy nuclear cores. They also require shielding to keep from irradiating the payload, and their Isp benefit comes because they use liquid hydrogen, which requires larger tanks than chemical rockets (LOX is around 15 times more dense than LH2).

The second issues is durability. Chemical engines run at temperatures up to around 3300 kelvin, but NTR are typically designed at 2700K and a lot of the NERVA versions ran closer to 2200K. The problem is that it's really hard to design a reactor that runs with a very high thermal load and holds together, but you need that high temp or you don't get the Isp that you are hoping for. The nerva designs tended to spit their insides out during full power runs; this was somewhat fixed with plating the inside of the propellant channels, but they never achieved significant full-power runs with one engine.

You will find lots of assertions that new materials and new designs will fix these issues. NASA's NTR program gives us a chance of actually answering those questions, but they've set the bar fairly low in my opinion, which improves the chances of success - actually building and maybe testing a flight reactor - which is the right goal at this point of time.

5

Triabolical_ t1_j1aq9t2 wrote

Interesting.

Your HOMA-IR would suggest that you are mildly insulin resistant, though opinions differ on what a good threshold is.

I believe the symptoms you are getting and the low blood glucose is a sign of reactive hypoglycemia. I don't have enough knowledge about dumping syndrome to have any opinion on it.

I can tell you that I had pretty significant reactive (or postprandial) hypoglycemia - I'd get back from lunch and 90 minute later I'd really want to go to sleep.

For me, the fix was to switch from the sandwiches and burritos I was eating to something that was much, much lower in refined carbs - salads and burrito bowls without the carbs. I ended up full keto and these days I'm what I would call "keto adjacent".

Given that you are having issues with carbohydrate intake, going low-carb for a while would be an interesting experiment.

1

Triabolical_ t1_j1986ba wrote

What do you get from HOMA-IR?

Note that OGTT is *not* a measure of insulin resistance, it's a measure of carbohydrate tolerance, and there are a number of things that affect carbohydrate intolerance.

If you are carb intolerant, eating a lot of carbs is not a great idea in my opinion. What does your diet look like?

WRT sleep apnea, it is associated with insulin resistance but there's not agreement on which way the association goes.

2

Triabolical_ t1_j17d7m9 wrote

There is no consensus on insulin resistance, but this is what I think is going on...

The best measurement for insulin resistance is known as a "hyperinsulinemic euglycemic clamp". It's a fairly invasive procedure and is therefore only used sometimes in research settings.

Therefore much of the research uses measures that correlate well with the euglycemic clamp technique. A commonly-used one is known as HOMA-IR, and it is calculated using fasting insulin and fasting glucose. Because of the way the formula works, it is more of a measurement of insulin, and therefore high values are an indication of hyperinsulinemia, or constant elevated insulin.

This makes it a far better measure of metabolic health than HbA1c, which is what is commonly used to diagnose prediabetes and type II diabetes, but it's not often used.

The hyperinsulinemia is responsible for a lot of issues that come from prediabetes or type II - it makes is harder to metabolize fat and that leads to elevated weight gain and high triglycerides.

As for what causes the hyperinsulinemia, that's where there's a lack of consensus.

My opinion is that excess fructose leads to fat accumulation in the liver, which leads to NAFLD, which leads to the liver making too much glucose (disregulated gluconeogenesis), and that is what leads to the hyperinsulinemia - the constant supply of glucose means insulin levels cannot go back to normal.

To fix insulin resistance, you need to get rid of the hyperinsulinemia. From a mechanistic standpoint, that would mean somehow dealing with the disregulated gluconeogenesis. You could either fix the fat accumulation in the liver - somehow - or you could make the glucose wanted rather than unwanted.

In other words, you need to be in ketosis - a state where gluconeogenesis is normal. Which means either a very-low-carb diet, a very-low-calorie diet, or a fasting diet.

If you look at the clinical evidence for treating type II diabetes, the only real effective treatments are gastric bypass (forced low calorie diet), low-calorie diets (<800 cal/day), or keto diets. There is also some evidence for fasting, though that is less studied.

The other common diets significantly underperform these options.

2

Triabolical_ t1_ixjwabm wrote

> Is this even relevant to the situation either in c# having such qualifiers or in classes and structs being sufficiently similar for that to be feasible (if only everything had been different)?

C++ is pretty much that way; structs and classes are mostly the same thing and the developer chooses whether they want to allocate it on the stack or whether they want to put it in dynamic memory.

In C# - and managed languages in general - class instances are always allocated in dynamic memory. Structs were really just added for windows interop, though they do have other limited uses.

2

Triabolical_ t1_ixigt2n wrote

I was the test lead for the C# compiler and spent a lot of time in design meetings...

"class" and "struct" come from C++ though there they only have a difference in visibility, not in behavior.

"class" is the obvious choice for the main construct as that's what's used in many other languages.

Then we needed a name for something that's kindof like a class but not the same thing. It turns out that coming up with names for things in languages is really hard, as many of the non-reserved words are already used by programmers in a lot of cases. C# was a new language at that time but there were already developers writing the base class libraries in C# and their feedback was "don't take away names from us".

They were virtually all C++ developers, and nobody who writes C++ code was going to call something "struct" because it was a reserved word, so it was available, and we wanted something very distinct from "class" because the intended usage was so different.

That was a pretty early decision during language design.

Later the team came up with the concept of "conceptual keywords" - keywords that were reserved but only in specific situations. The words "get" and "set" for properties are a good example of that. If we'd done that earlier, we might have done something different with struct though I think we probably would have stuck with it as a name.

Not that the conceptual difference between classes and structs isn't quite confusing and very different than how C++ views the world, but that was inherently going to happen moving from an unmanaged to a managed world.

Thanks for letting me take a trip back on memory lane.

2

Triabolical_ t1_ixg5ier wrote

>A Class is like a Struct, but it can perform functions. The functions are part of the data stored in that object. Classes have done other features that Structs don't, but basically, think of it as Struct with functions.

Structs in C# have functions.

The big difference is that structs have value semantics and classes have reference semantics (almost always with very rare exceptions)...

3

Triabolical_ t1_ixg5avj wrote

>I'm not a C# dev so while the rest may be close enough, Imma have to just have a go at describing structs: I'm pretty sure they just typed sets of properties... Like a class without methods... Like you might instead make a pie struct (because honestly, pies probably don't need methods, they don't DO a lot, and they're probably not dynamic or complex enough to need a constructor) so then you just make a "feast" class that has a bunch of food struct-typed properties with single eat method that takes the name of a food and subtracts from its quantity

Structs are value types, while classes are reference types.

Structs exist in C# so that you can easily implement types with value semantics - like a bignum class - and to do interop with windows system APIs that were written with C and therefore require a very specific memory layout.

Struct *mostly* operate like classes; both can have methods with them.

1

Triabolical_ t1_ixg4zlo wrote

class vs struct

Structs are designed for very limited scenarios.

For what are called "value types" - types that behave like numbers or strings. They behave in the ways that we expect numbers to behave.

When you want to use system functions that expect a very specific layout of data in memory. I Windows, this is typically system stuff that is written with C or C++.

Unless it's one of those cases, you shouldn't use structs. You should use classes.

method vs constructor

Consider this code (written from memory, so it might have some errors ):

class MyNumber
{
private _number;

public MyNumber (int number) // constructor
{
_number = number;
}

public void PrintNumber()
{
Console.WriteLine(_number);
}
}

This class stores and prints out a number.

When this class is used, we always want it to have a number associated with it rather than a default value. If we try to write this:

MyNumber number = new MyNumber();

the compiler will complain. We need to write:

MyNumber number = new MyNumber(1345);

That ensures that instances of the class are in a known state - that is why we want to use constructors.

In this example, PrintNumber() is a method. It's not special the way a constructor is.

Hope that helps.

&#x200B;

&#x200B;

&#x200B;

Methods are chunks of code that are associated with a specific class. The important part of a method is that it has access to the private class variables associated with a method

2

Triabolical_ t1_iws3kpw wrote

Like most large organizations, that's not something NASA tracks.

You can be sure that somebody in management hit their budget through that maneuver.

I used to work for a software company with developers that cost $200K a year (salary + benefits + stock + etc.) and were willing to do extra work if they only got $2500 laptops, but the company wouldn't do it. Somebody probably got promoted for that one.

1

Triabolical_ t1_itapscj wrote

&gt; Am I right in understanding that this is the tricky balance you need to strike? And shooting for Pe=Pa is where it happens to be optimized for thrust?

The tradeoff is complicated.

First stage nozzles are always compromises. A smaller nozzle is a better match at takeoff and it lets you fit more nozzles underneath the base of the rocket. A larger nozzle is better later in the first stage burn as it's a better match to the lower ambient pressure. However, if it's too big there will be significant flow separation at sea level and that can break the nozzle.

And it gets more complicated with design choices. Rockets like the Falcon 9 stage fairly early, so they have nozzles that are decent compromises between sea level and vacuum. Rockets like the Atlas V stage much higher and therefore the first stage spends more time in vacuum. And rockets like the shuttle run their engines all the way to orbit, so vacuum performance is far more important.

Second stage engines are generally easier; you generally just put on the largest nozzle that will comfortably fit.

1

Triabolical_ t1_is94dp4 wrote

When you eat something, the production of ghrelin is reduced and that is one of the factors that reduces hunger.

Carbs actually reduce hunger the most, but after a couple of hours the body has burned through those carbs and there's often a rebound of ghrelin higher than it started with. That's what's the behind the idea of "ate a lot of carbs, hungry two hours later" came from.

1

Triabolical_ t1_ir1k9mq wrote

The problem with space debris is that many of the pieces are in drastically different orbits - especially the debris from ASAT tests - and there's no easy way to deal with that.

It's quite expensive fuel-wise to get from one orbit to another - especially at the altitudes where debris is the biggest issue - and you will need to somehow capture debris that might be coming at your satellite at thousands of meters per second of velocity. You need to make sure it doesn't hit your satellite and create more debris.

2