WTF Bites
-
@acrow I don't fully believe that article. In large part because as far as I can tell most helicopter blades don't have any washout. I also don't believe the benefit is as big as the article claims. There seems to be some snake oil peddlership involved here.
Also I am rather confident the risk of hitting the tail boom would be similar in all helicopters—all of them would be designed so that the rotor structural limits are exceed before the rotor contacts the tail boom anyway, and most of them are designed with similar structural limits.
At the end of the day it is much more useful to train how to avoid getting into the dangerous situation, just like for fixed wing aircraft it is more useful to train how to avoid spin, because a spin in base-to-final turn is not recoverable in the available height even with good spin recovery training either.
-
At the end of the day it is much more useful to train how to avoid getting into the dangerous situation, just like for fixed wing aircraft it is more useful to train how to avoid spin, because a spin in base-to-final turn is not recoverable in the available height even with good spin recovery training either.
With helicopters you don't really have any choice. when the engine dies for whatever reason, you either crash or make an autorotate landing. It's not something you as a pilot did that caused it, but you as a pilot can, if trained, make it out alive, maybe.
-
@Carnage That's autorotation. For loss of power, you have to be ready to react. You have to be ready to react to loss of power in a fixed-wing aircraft too though you generally have more time for it there, but you still need to establish proper gliding speed there.
But settling with power (vortex ring state) is similar to a spin of a fixed-wing aircraft. In both cases you get in it by mishandling the controls and while in both cases you can recover, you need some altitude to do it and if you don't have it, you are in a fix. So in both cases it is most important to learn to recognize the approach to it and regain the control before it becomes a problem.
-
The future is dumb
-
@Applied-Mediocrity said in WTF Bites:
The future is dumb
Did you hear about next gen graphics cards yet? Apparently something like the 4080 might be looking at 500+W just for the GPU. Good thing that energy prices are low as ever...
-
@Applied-Mediocrity said in WTF Bites:
The future is dumb
Did you hear about next gen graphics cards yet? Apparently something like the 4080 might be looking at 500+W just for the GPU. Good thing that energy prices are low as ever...
The M1/M2 is blazing a new trail. GPUs are kinda at a diminishing returns curve compared to a bunch of years ago where every two years an upgrade meant a yuuuge difference. My old 1080 Ti is still trucking along acceptably at max fancy in most games (except for RT). I don't think that graphics that hungry will be sustainable in the long run. Soon enough you're gonna have to run your gaming rig on it's own phase.
-
My old 1080 Ti is still trucking along acceptably at max fancy in most games (except for RT). I don't think that graphics that hungry will be sustainable in the long run.
About 7 years ago, I got an R9 Fury (or maybe a Fury X; it was 7 years ago!) and that's still trucking along nicely in pretty much all games given that it isn't driving a 4k display and isn't being asked to do raytracing. At that time, I expected it to last around 2 years, yet it has done 3½ times that, which is pretty wonderful return. It might help that it has never been overclocked, as I know that really shortens the live of parts (if it didn't, manufacturers would sell it as going at the higher speed for a bigger price and pocket the profit).
-
Those wacky Japanese
-
In both cases you get in it by mishandling the controls and while in both cases you can recover, you need some altitude to do it and if you don't have it, you are in a fix. So in both cases it is most important to learn to recognize the approach to it and regain the control before it becomes a problem.
Except you can get in VRS due to an unlucky gush of wind. And helicopters are often used in low altitude work because they can. So being in low altitude and getting into VRS is about as much in the pilot's hands as quitting his job. Then the only question becomes, when VRS happens, whether they can do anything about it, with the little altitude they do have left.
-
as far as I can tell most helicopter blades don't have any washout
The washout seems to be formed by the blade flexing, according to this book. Maybe. I'd like to read the whole chapter but Google doesn't, so...
-
Status: wtf roflcopter
-
GNOME
compelling
They shirley had one of the other senses in mind.
-
-
@Tsaukpaetra said in WTF Bites:
I know! We'll use a parallel data stream addressable by the
filenameinode!What is this "filename" thou weakest of?
Uhm, I was under the impression that the filesystems with inodes are also the filesystems that don't support alternate data streams...
Or at least, operating systems that commonly use such filesystems don't, which to me is the main obstacle to programmers ever getting a standardized API to list and access them.
-
@Applied-Mediocrity said in WTF Bites:
@Gern_Blaanston said in WTF Bites:
Those wacky Japanese
Paging @DogsB
What the hell! Damn weebs!
-
@Tsaukpaetra said in WTF Bites:
I know! We'll use a parallel data stream addressable by the
filenameinode!What is this "filename" thou weakest of?
Uhm, I was under the impression that the filesystems with inodes are also the filesystems that don't support alternate data streams...
Or at least, operating systems that commonly use such filesystems don't, which to me is the main obstacle to programmers ever getting a standardized API to list and access them.Modulo my limited understanding of what NTFS does there: xattrs are basically the same thing, although most people would consider using them for significant amounts of data an abuse.
-
@LaoC Strangely enough, xattrs are not actually free-form. They have defined namespaces and mostly there is a defined set and nobody would use them beyond that. But mainly
@Tsaukpaetra said in WTF Bites:
this configuration
If only there was some way to denote the format of a file,..
I know! We'll use a parallel data stream addressable by the filename!
This is really, really wrong. The xattrs, nor the alternate streams or anything similar, won't follow the file around when you copy it, write it to a USB key (which has VFAT on it), pack it into a .zip, send it via e-mail etc.
For any practical purposes the only thing that works is if the format can be correctly guessed from the content itself.
-
xattrs are basically the same thing, although most people would consider using them for significant amounts of data an abuse.
xattrs even have size limits. Wikipedia says up to 64kB in theory, but less on most file systems. IIRC ADS on Windows don't really have any limits (other than what the normal file streams have).
-
In some of our projects we use Refit. If you don't know what it is - it's a library for calling REST apis. You create an interface of api client you want, add some refit attributes, and puff! the client gets created during compilation, type safe and all. It's like magic.
Cool, except in one situation, where we are interested in details of a failed call. With refit, when a call is successful, you get deserialized ApiResponse<T>, which is convienient. On failure, you also get ApiResponse<T>, but T content is null. What if you want to dig out some additional info about a failed call? Let's see...
private readonly HttpResponseMessage response;
Oh. It's private. But shirley there's a way to get it, some accessor or method or... nope.
Hmm, there is something promising though: EnsureSuccessStatusCodeAsync(). It populates Error property on ApiResponse and raw response is there, great!Damn, it throws an exception if status is not successful. Well fuck it, let's just trycatch this. Ah, sorry, now I see it clearly - it should throw a sensible exception, but instead it fails on some internal crap and throws ArgumentException with zero useful info.
All of this went great. What do? I guess I'll have to inherit from ApiResponse<T> to add this already existing field, but public, and roll out our own deserializer.
public sealed class ApiResponse<T>
-
What do? I guess I'll have to inherit from ApiResponse<T> to add this already existing field, but public, and roll out our own deserializer.
Wouldn't
private
(instead ofprotected
) prevent you from doing this even if the class wasn't sealed?
-
What do? I guess I'll have to inherit from ApiResponse<T> to add this already existing field, but public, and roll out our own deserializer.
Wouldn't
private
(instead ofprotected
) prevent you from doing this even if the class wasn't sealed?Not with custom deserializer - with it I get raw data and populate all fields.
-
Oh. It's private. But shirley there's a way to get it, some accessor or method or... nope.
Looks like it is time to use reflection to pick the stuff out of the guts. This issue looks related:
-
Oh. It's private. But shirley there's a way to get it, some accessor or method or... nope.
Looks like it is time to use reflection to pick the stuff out of the guts. This issue looks related:
Yeah, this issue comes up since 2016 at least. With usual "hahaha, you want to do what?" responses from people-who-know-better.
All it would take is changing this accessor to public. But no, ENCAPSULATION BITCH!
Solution from your link doesn't work, because Error is null. Of course it is.
-
@MrL ENCA…WAT?
The purpose of encapsulation is reducing coupling. Bu the error is part of the interface of the server the client is coupled to anyway, so making it private encapsulates nothing. It just throws users sticks under their feet.
-
The newspaper FAZ presents in an advertorial:
Snakeoil production & sales by software companyComforte
:
(paywalled)Software Company Comforte
"We offer absolute security"
Cybersecurity specialist Comforte has developed unbreakable encryption software. Credit card users benefit from this.
-
@BernieTheBernie said in WTF Bites:
absolute security ... unbreakable encryption
-
@BernieTheBernie It cannot be broken
führerfurther if it's already broken by design.
-
Solution from your link doesn't work, because Error is null. Of course it is.
Suspected as much. It's more that that's the issue to pile reports onto, including posting "here's the workaround with reflection because fuck you for not understanding how horrid some use cases really are". If that doesn't make someone sit up and take notice, nothing much will.
Still not a
200 FILE_NOT_FOUND
, which I've seen for real.
-
@HardwareGeek said in WTF Bites:
@BernieTheBernie said in WTF Bites:
absolute security ... unbreakable encryption
They onepad everything? Stunning and brave.
-
@BernieTheBernie said in WTF Bites:
The newspaper FAZ presents in an advertorial:
Snakeoil production & sales by software companyComforte
:
(paywalled)Software Company Comforte
"We offer absolute security"
Cybersecurity specialist Comforte has developed unbreakable encryption software. Credit card users benefit from this.Sounds about as cranky as the “Kryptochef“ with his retarded “Vollbitverschlüssung“.
Unfortunately can’t find an English translation, but he’s a bit of a long-running meme on German forums, not quite but almost on the crank level of the time cube of encryption.
-
Context: This is a picture from a hotel room for three people.
-
Context: This is a picture from a hotel room for three people.
Perfect place to practice voyeurism?
-
hotel room for three people.
Perhaps the hotel assumes that three people sharing a room comprise a ménage à trois.
-
@HardwareGeek said in WTF Bites:
hotel room for three people.
Perhaps the hotel assumes that three people sharing a room comprise a ménage à trois.
Yeah the two-person rooms have curtains!
-
Still not a 200 FILE_NOT_FOUND
Well, if I understand @MrL's problem correctly, that would be one way to "solve" it...
-
@ixvedeusi said in WTF Bites:
Still not a 200 FILE_NOT_FOUND
Well, if I understand @MrL's problem correctly, that would be one way to "solve" it...
I had to write code like that. The code was very passively aggressively commented and explained that the system on the other end was developed by nincompoops that couldn't.
-
@Rhywden At least people coming out of the shower are not completely in view of the exit door. Just barely.
-
xattrs are basically the same thing, although most people would consider using them for significant amounts of data an abuse.
xattrs even have size limits. Wikipedia says up to 64kB in theory, but less on most file systems. IIRC ADS on Windows don't really have any limits (other than what the normal file streams have).
I thought you could have like one block per basically any number of attributes but it turns out at least ext4 limits the total space to 4k per file.
-
@Rhywden Was that at nh hotels? They also have rooms with a glass walled shower inmidst the room...
-
@ixvedeusi said in WTF Bites:
Still not a 200 FILE_NOT_FOUND
Well, if I understand @MrL's problem correctly, that would be one way to "solve" it...
No, FILE_NOT_FOUND would fail deserialization to T, so the same result as 400 BUT_WHAT_REALLY HAPPENED_X.
-
@MrL The server would have to always return a 200 and have a
success
field in the response and anerror
ormessage
optional field set ifsuccess == false
. That way T would contain those fields, so it would still deserialize fine.
-
@MrL The server would have to always return a 200 and have a
success
field in the response and anerror
ormessage
optional field set ifsuccess == false
. That way T would contain those fields, so it would still deserialize fine.Yeah, but then you pollute all your Ts with those fields. Not to mention you probably don't have control over the responding server to begin with :|
-
@MrL Sure. I think I've seen that approach somewhere, but it sure is brain-damaged.
-
Yeah, but then you pollute all your Ts with those fields.
If you follow my original suggestion (and yes that's implausibly assuming you can modify the server) you're already in land and at that point you might as well go all the way. Hence the little clowny face in that reply.
More seriously though, I suspect that this kind of bullshit is how we end up with these
200 FILE_NOT_FOUND
responses: Some library like this refit thing does the "Wat is error handling LOL" derp and rather than applying the clue-bat to the devs or throwing out the broken piece of shit, the library users pile another layer of WTF on top to make it work. Rinse and repeat a few times with other issues and you end up with the current state of the internet.
-
@ixvedeusi said in WTF Bites:
pile another layer of WTF on top to make it work. Rinse and repeat a few times with other issues and you end up with the current state of the internet.
Yes, it's a layer cake of stupidity. All of IT.
-
I recently had to smack down a situation like that.
In my case I have a POST to send an item to an API and sometimes for it’d get through, do its thing, but CloudFlare in the middle would hit me with a 52x code so I had no way of knowing that the object was successfully received.
They wanted to return 200 for success and also a 200 for “we already had that, here’s the id for it” but with different return structures.
I’m like… either return the whole structure as is (so it looks the same and the result is meaningfully somewhere in the region of idempotent, all orders from my side contain unique keys so two POSTs containing the same order id cannot be placed twice from my side), or give me a different error code back so I know what’s happened and can deal with it meaningfully.
-
I recently had to smack down a situation like that.
In my case I have a POST to send an item to an API and sometimes for it’d get through, do its thing, but CloudFlare in the middle would hit me with a 52x code so I had no way of knowing that the object was successfully received.
They wanted to return 200 for success and also a 200 for “we already had that, here’s the id for it” but with different return structures.
I’m like… either return the whole structure as is (so it looks the same and the result is meaningfully somewhere in the region of idempotent, all orders from my side contain unique keys so two POSTs containing the same order id cannot be placed twice from my side), or give me a different error code back so I know what’s happened and can deal with it meaningfully.
We 'work with' a company that does this all the time - multiple return structures for the same request.
Why? Because their system is a rotting pile of javascript excrements, with gigantic if trees trying to piece together what data it actually received from somewhere (or itself).
-
gigantic if trees trying to piece together
Except without javascript whatsoever...
-
@MrL The server would have to always return a 200 and have a
success
field in the response and anerror
ormessage
optional field set ifsuccess == false
. That way T would contain those fields, so it would still deserialize fine.Actually, the server will return
200 OK
with an HTML document describing the error (instead of the usual JSON or XML or whatever format). Because of course it does.
-
gigantic if trees trying to piece together what data it actually received from somewhere
Seems like something I'd probably use polymorphism for, and just let the secret magic gnomes work out by giving them hints and then just be able to ask the object what type it is.