• ORBITER-FORUM will be temporarily closed at 2026-07-23 18:00 UTC while we complete some OF maintenance tasks. The amount of downtime is expected to take up to one hour, but probably less.

Humor Random Comments Thread

Is there another way to hold a spear? o_O
 
ancient man could meet an animal much cooler than a dinosaur
For example Dire wolf Smilodon Megatherium

Smilodon is wrong. Humans and Smilodon did in reality not share the same habitat, humans arrived much later in america, after the extinction of the Smilodon. Same for terror birds, though there is a possible overlap in Africa.

But we had huge elephants in Europe, that had been even larger than mammoths. And we hunted them. And butchered them professionally, including evidence of job training and specialization.

 
Is there another way to hold a spear?
In popular media, I see them most frenquently held with rear palm facing inwards, front palm outwards. It's a grip that was used sometimes, most frequently in certain situations in single combat as far as I can tell, and it does feel somewhat more natural and intuitive at first. Until you have to hold the bloody thing at or over your head and thrust from the top, then it just falls apart horribly.
 
So the stress is on the first syllable? Ach, pitty, it would sound way cuter with the stress on the "moose"...
I can't speak for other parts of the country but I have always heard it pronounced with the stress on the last syllable.
 
It’s pronounced like ‘vah Moose’ with the accent on the moose, at least in my neck of the woods.

The part that actually caught my eye was the ‘Oh crap! It’s a Thesaurus!’
 
In popular media, I see them most frenquently held with rear palm facing inwards, front palm outwards. It's a grip that was used sometimes, most frequently in certain situations in single combat as far as I can tell, and it does feel somewhat more natural and intuitive at first. Until you have to hold the bloody thing at or over your head and thrust from the top, then it just falls apart horribly.

Thats what I mean: If you just have to hold it, things might look different, but if you have to fight with it, youll stick to the hand placement that you need most of the time anyway. Also, I think the "amateur" placement is inferior, if you have to keep the spear in your hands while stopping an enemy/prey with it. It will simply push it out of your hand.
 
As they say... You"re born due to broken rubber, you die due to broken rubber'😂 . Could have been true, had it happened earlier, on the expressway. Annoying part is that this one had several pressure losses before this (including one right after being installed) but the garage was like 'nah, all is fine, stuff like this happens. I think a change might be in order, I know someone who experienced brake failure after having his car serviced there . Oh well, at least I changed a tire for the first time in my life 😂
Happened really close to my place, like 200m. Just slowly driving on it until home was quite tempting
IMG_20230221_190442.jpg
 
I would really look for a better mechanic there. :D

Pressure loss right after being installed is a no-go. You don't even look for the hole then. You take the tire carefully off the car and throw it into the bin.... and install a new one.

I once arrived when the new apprentice at the local village workshop was finishing work on my cars engine and was about to close the hood. Took me only a fraction of a second to notice, that three ignition cables had been in the wrong order and the forth one wasn't even properly plugged in. Luckily, I wouldn't even have made it out of the workshop that way. :D
 
I once took a traction unit in to the vehicle maintenance unit(VMU) at work with two lights out. He changed the bulbs, no luck. He changed the fuse, no change, he then took a screwdriver to the junction box, all the lights stopped working. It got fixed the next day by the senior mechanic, the apprentice learned lots that day. The problem was that a wire had worked loose from its connection, the apprentice was looking at the wrong end of the wire...
Last week I found the same guy under a trailer trying to work out where a fault was in 100m of wiring, most of which is not easily accessible.
I tend to be forgiving towords our mechanics, but always check their work though.
 
I once took a traction unit in to the vehicle maintenance unit(VMU) at work with two lights out. He changed the bulbs, no luck. He changed the fuse, no change, he then took a screwdriver to the junction box, all the lights stopped working. It got fixed the next day by the senior mechanic, the apprentice learned lots that day. The problem was that a wire had worked loose from its connection, the apprentice was looking at the wrong end of the wire...
Last week I found the same guy under a trailer trying to work out where a fault was in 100m of wiring, most of which is not easily accessible.
I tend to be forgiving towords our mechanics, but always check their work though.

My car had a similar problem in the past weeks. It reported that a light bulb has failed, which it really had, and required check, and kept on doing so after I fixed the light and it was working again.... After I ran out of good ideas, I left it to the professionals.

The mechanic I showed the car was as confused as I was.

Solution by the senior mechanic: Car required a firmware upgrade. 😒
 
It sounds dumb, but I was fooling around with the now famous Chat GPT AI and I kept getting it to crash by bragging about how 'it' won't ever experience human things like savouring a beer etc :ROFLMAO: ). Still on the waiting list for the Bing. It's a pity, I was hoping to poke around while it's still unhinged 😂
Buuut, the thing knows how to write code. Asked it to design an app that involved object avoidance via the main camera feed for the Mavic Mini, using the DJI SDK, and it started pouring out lines. It stopped short of giving me the whole code, because ' drones can be dangerous' etc, but anyone who knows to code might have had an idea about how the rest would look anyways. Note that, for the Ryze Tello , it absolutely gave the whole code in python, so it 'knows' the difference between that and a quad that can maybe carry some load and go for miles.

@GLS in the video thread gave me an idea to ask it to make mods for Orbiter. That it can't, as in it can only output text, but it could write code, so I asked it to code the aerodynamic handling for the X-33 , based on similar aircraft . This is what it wrote. Perhaps someone who knows coding might shed some light on the quality of it, my coding experience is limited to Pascal, unfortunately.

// Define the X-33 class
class X33: public VESSEL
{
public:
// Constructor
X33(OBJHANDLE hObj, int flightmodel);

// Destructor
~X33();

// Flight model override function
void clbkSetClassCaps(FILEHANDLE cfg);

// Flight model update function
void clbkPreStep(double simt, double simdt, double mjd);

private:
// Private variables for spacecraft dynamics
double mass;
double fuel;
VECTOR3 CoM;
VECTOR3 CoP;
VECTOR3 thrust_vector;
double thrust_magnitude;
double Isp;
double Cd;
double Cl;
double As;
double Ar;

// Private functions for spacecraft dynamics
void update_dynamics(double simt, double simdt);
void compute_forces_moments();
};

void X33::compute_forces_moments()
{
// Calculate current dynamic pressure
double v = length(vel);
double q = 0.5 * rho * v * v;

// Calculate lift and drag coefficients
double alpha = atan2(vel.z, vel.x);
double Cl = Cl0 + Cl_alpha * alpha;
double Cd = Cd0 + Cd_alpha * alpha + Cd_beta * beta * beta;

// Calculate lift and drag forces
double lift = q * As * Cl;
double drag = q * As * Cd;
VECTOR3 lift_vector = lift * normalize(cross(vel, CoP - CoM));
VECTOR3 drag_vector = drag * normalize(-vel);

// Calculate thrust force
VECTOR3 thrust_vector = thrust_magnitude * normalize(orient * thrust_direction);

// Calculate total force and moment vectors
VECTOR3 force_vector = lift_vector + drag_vector + thrust_vector;
VECTOR3 moment_vector = cross(CoP - CoM, force_vector);

// Set forces and moments on vessel
SetForce(force_vector);
SetMoment(moment_vector);
}
 
  • Like
Reactions: GLS
@GLS in the video thread gave me an idea to ask it to make mods for Orbiter. That it can't, as in it can only output text, but it could write code, so I asked it to code the aerodynamic handling for the X-33 , based on similar aircraft . This is what it wrote. Perhaps someone who knows coding might shed some light on the quality of it, my coding experience is limited to Pascal, unfortunately.
Seems OK after a quick look... it's missing the actual numbers, and it used VESSEL instead of VESSEL4, but on the other hand it wrote comments, so that already makes it better than 95% of programmers... :cautious:
 
Actually, if you read carefully over it, a mandatory callback function for VESSEL2 (or newer) is missing and the function snippets are loose ends that are never called. Also it uses a very weird and likely useless definition of propellant handling and thruster definitions.

The clbk* functions are not called by Orbiter if it is VESSEL.
 
Seems OK after a quick look... it's missing the actual numbers, and it used VESSEL instead of VESSEL4, but on the other hand it wrote comments, so that already makes it better than 95% of programmers... :cautious:

Yeah, it also comments a lot after the code as well. It keeps saying that it can't know the actual numbers, so it can only make so much, but that would be about it. It's weird , because it says it can't remember previous conversations, but when I started one from a different device etc and asked it to code for the Mavic, it started using the code for the Tello, so obviously it still thought it was the same thing and had to be reminded. Then, after it did write the right code, it wouldn't give me all of it exactly because it realised we're talking about a different , bigger quad :ROFLMAO: (as 'big' as a Mini is, it's stil way more capable than the Tello). Now, I'd ask it for more, but it locked me out for one hour when I tried to put it through a Turing test 😂.It failed one of the questions spectacularly, but in away that wouldn't be too surprising even for a human to fail. But asking it iffy stuff often ends up in getting a 'network error' or getting locked out etc.

edit: @Urwumpe Would be nice to know what the output would look like after that feedback, but it may take a while 😂
 
I think Ill keep on doing classic programming than trying to program an AI....
 
I think Ill keep on doing classic programming than trying to program an AI....
I think, as in the case of search engines etc, the code behind those might be nightmarishly complex. Then again, it's a neural net using machine learning, so it mostly codes itself to a certain extent. Not sure if that is good or bad.

In any case, if someone wants to implement it for an actual addon, I gave it the feedback (apparently I had to specify it's Orbiter2016 and not the old version), and this is what the output looked like

// Define the X-33 class
class X33 : public VESSEL4 {
public:
// Constructor
X33(OBJHANDLE hObj, int flightmodel);

// Flight model override function
void clbkSetClassCaps(FILEHANDLE cfg);

// Flight model update function
void clbkPreStep(double simt, double simdt, double mjd);

private:
// Private variables for spacecraft dynamics
double mass;
double fuel;
VECTOR3 CoM;
VECTOR3 CoP;
VECTOR3 thrust_vector;
double thrust_magnitude;
double Isp;
double Cd;
double Cl;
double As;
double Ar;
double bank_angle;
double pitch_angle;
double yaw_angle;
double altitude;

// Private functions for spacecraft dynamics
void update_dynamics(double simt, double simdt);
void compute_forces_moments();
};

// Constructor
X33::X33(OBJHANDLE hObj, int flightmodel) : VESSEL4(hObj, flightmodel) {
// Set initial values for private variables
mass = 27000.0;
fuel = 18000.0;
CoM = _V(0, 0, -5.6);
CoP = _V(0, 0, -4.2);
thrust_vector = _V(0, 0, -1);
thrust_magnitude = 300000.0;
Isp = 330.0;
Cd = 0.3;
Cl = 0.3;
As = 330.0;
Ar = 160.0;
bank_angle = 0.0;
pitch_angle = 0.0;
yaw_angle = 0.0;
altitude = 0.0;
}

// Flight model override function
void X33::clbkSetClassCaps(FILEHANDLE cfg) {
VESSEL4::clbkSetClassCaps(cfg);

// Set vessel mass and empty mass
SetEmptyMass(mass - fuel);
SetSize(10.0);

// Define propellant resources
AddPropellantResource("LH2", fuel);

// Define thruster groups
CreateThrusterGroup("main", 1, &thrust_vector, true, Isp, Cd, Cl, As, Ar);
}

// Flight model update function
void X33::clbkPreStep(double simt, double simdt, double mjd) {
// Update spacecraft dynamics
update_dynamics(simt, simdt);

// Calculate forces and moments acting on spacecraft
compute_forces_moments();

// Update spacecraft state
VESSEL4::clbkPreStep(simt, simdt, mjd);
}

// Private function to update spacecraft dynamics
void X33::update_dynamics(double simt, double simdt) {
// Update vessel velocity and position
VECTOR3 vel = GetRelativeVelocity();
VECTOR3 pos = GetRelativePos();
VECTOR3 acc = GetGravityRef()->GetAcceleration(GetPosition());
SetRelativeVel(vel + acc * simdt);
SetRelativePos(pos + vel * simdt + 0.5 * acc * simdt * simdt);

// Update vessel attitude
bank_angle += GetControlSurfaceLevel(AIRCTRL_BANK, 0) * simdt * 10;
pitch_angle += GetControlSurfaceLevel(AIRCTRL_PITCH, 0) * simdt *

Then I asked it if that is all (looked incomplete), and it went like '
No, that's just the class definition. You would also need to define the functions that correspond to the callback functions declared in the class, such as clbkSetClassCaps and clbkPreStep.

Here is an example of how you could define those functions for the X-33 class:'

// Define the X-33 class
class X33 : public VESSEL4
{
public:
// Constructor
X33(OBJHANDLE hObj, int flightmodel);

// Destructor
~X33();

// Flight model override function
void clbkSetClassCaps(FILEHANDLE cfg);

// Flight model update function
void clbkPreStep(double simt, double simdt, double mjd);

private:
// Private variables for spacecraft dynamics
double mass;
double fuel;
VECTOR3 CoM;
VECTOR3 CoP;
VECTOR3 thrust_vector;
double thrust_magnitude;
double Isp;
double Cd;
double Cl;
double As;
double Ar;

// Private functions for spacecraft dynamics
void update_dynamics(double simt, double simdt);
void compute_forces_moments();
};

X33::X33(OBJHANDLE hObj, int flightmodel) : VESSEL4(hObj, flightmodel)
{
// Set initial values for private variables
mass = 10000.0; // kg
fuel = 5000.0; // kg
CoM = _V(0, 0, 0); // m
CoP = _V(0, 0, 0); // m
thrust_vector = _V(0, 0, 0);
thrust_magnitude = 0.0;
Isp = 450.0; // s
Cd = 0.3;
Cl = 0.0;
As = 100.0; // m^2
Ar = 100.0; // m^2
}

X33::~X33()
{
// Destructor
}

void X33::clbkSetClassCaps(FILEHANDLE cfg)
{
// Set spacecraft capabilities in config file
VESSEL4::clbkSetClassCaps(cfg);

// Set fuel and mass properties
SetPropellantMass(THGROUP_MAIN, fuel);
SetEmptyMass(mass);
}

void X33::clbkPreStep(double simt, double simdt, double mjd)
{
// Update spacecraft dynamics
update_dynamics(simt, simdt);

// Compute forces and moments
compute_forces_moments();

// Update spacecraft state
SetThrusterGroupLevel(THGROUP_MAIN, thrust_magnitude);
SetForce(thrust_vector);
SetCoMOffset(CoM);
SetRotDrag(_V(Cd * As, Cd * As, Cd * Ar));
SetPitchMoment(_V(0, 0, Cl * As * 0.5));
SetBankMoment(_V(0, 0, Cl * As * 0.5));
SetLiftCoeff(Cl);
}

void X33::update_dynamics(double simt, double simdt)
{
// Compute spacecraft mass and fuel
mass = GetEmptyMass() + GetPropellantMass(THGROUP_MAIN);
fuel = GetPropellantMass(THGROUP_MAIN);
}

void X33::compute_forces_moments()
{
// Compute thrust vector and magnitude
thrust_vector = _V(0, 0, -thrust_magnitude);
thrust_magnitude = 50000.0 * GetThrusterGroupLevel

Though, I believe , in a way it's less of a headache to write your own code rather than to pour through hundreds of lines written by someone else, just looking for the slightest mistake and trying to see what it does etc
 
  • Like
Reactions: GLS
A happier anniversary today, the Flying Scotsman began service 100 years ago today.

Not the kind of locomotive I prefer. But certainly a worthy and important milestone of human art of engineering.

But it's still impressive. Occasionally I see the old beasts at my central stations or on the railroads...


Train drivers back then didn't become too old in their job. They were exposed to all weathers and at the end of their careers they mostly suffered from serious knee problems. It can take several hours to only get a huge cold locomotive running properly... nah that wouldn't be the kind of job I would chose these days (and I couldn't anyway since one had to become a metal worker first). Today there is a saying amongst train drivers: I'm lazy that's why I am a train driver 😂 That was actually the first thing I learned when I started training.

 
Back
Top