WTF Bites



  • If you use this default Windows desktop background:

    0_1522171350450_c59e0212-d111-49ed-975b-59b6485738cf-image.png

    The title bar of the new Firefox is literally the same color as your desktop:

    0_1522171419556_bcfb3e1b-3c57-42fa-a320-f512a7fa72ad-image.png

    So it looks like it's windows controls are just floating in a void. Weird.

    (Yes, yes, I know it's not Firefox's fault, but it's still their problem.)



  • @blakeyrat I think your monitor settings may be jacked up because I can see the title bar, in a distinctly different colour from the background.


  • Banned

    @blakeyrat said in WTF Bites:

    @gąska said in WTF Bites:

    Please make PR for the feature you're working on, I'd like to see the changes.
    But I haven't finished it yet. It's not ready for merge.
    Yes, but it's easier to browse changes that way. We don't have to merge it.

    Wait, what are you using where they can't do their own diff from your branch without a PR?

    The thing is, they can. This poor lad must have never noticed the right button. Granted, she's data scientist, not developer.


  • Discourse touched me in a no-no place

    @gąska said in WTF Bites:

    Granted, she's data scientistpretend statistician, not developer.

    FFReality


  • Banned

    @dkf she can be pretend acrobat for all I care, but she's the one deciding what features my project should have.



  • @lb_ Not if I want to use them with std::condition_variables, because they take std::unique_lock<std::mutex> specifically. Not even overload for std::recursive_mutex, so I also had to fix the class not to abuse the recursion.

    We actually had our own wrappers for mutexes from earlier on and I did make sure they were in error-checking mode in debug. However I needed condition variables and we did not have wrapper for that, so I wanted to use the C++11 ones instead of writing it.


  • BINNED

    @dkf said in WTF Bites:

    @gąska said in WTF Bites:

    Granted, she's data scientistpretend statistician, not developer.

    FFReality

    My data scientist friends will not be amused to hear that. Love it. 👍 :smiling_face_with_open_mouth_closed_eyes:



  • @gąska said in WTF Bites:

    ... lad ... she's ...

    🥑 thread is :arrows:.


  • Banned

    @hardwaregeek I always thought "lad" is short for "lady". TIL, I guess :mlp_shrug:



  • @gąska "Lad" is a boy. "Lass" is a girl.

    Filed under: "Lassie" was a dog of ambiguous sex.


  • Dupa

    @gąska said in WTF Bites:

    @hardwaregeek I always thought "lad" is short for "lady". TIL, I guess :mlp_shrug:

    😂

    You go, gal!


  • Banned

    @kt_ I'm more of a liter guy myself.



  • [from earlier today] Uh, YouTube, that's not the thumbnail I uploaded...

    0_1522220863026_9fe389d7-3235-436f-9b7a-1b8ab546e386-image.png


  • Fake News

    @ben_lubar Could it be Youtube's auto-clickbait machine learning feature?



  • @jbert said in WTF Bites:

    @ben_lubar Could it be Youtube's auto-clickbait machine learning feature?

    The original thumbnail I uploaded through the API was 3.5MB, so I guess their rule is "if it's over 2MB, we'll reject it and also give you some random 12 year old girl's makeup tutorial video thumbnail".


  • Dupa

    @gąska said in WTF Bites:

    @kt_ I'm more of a liter guy myself.

    That's exactly what "gal" stands for: liter guy -> guy liter -> gal.


  • 🚽 Regular

    What's up with Windows Explorer not letting me rename a file if the source and destination have the "same" name?

    Today it wouldn't let me remove the space at the beginning of a file's name, which made it stick out like a sore thumb at the top of the alphabetWindows-1252? UTF-16?ical order.


  • Java Dev

    TIL that Messenger will treat an IP address as a valid link to a website and try to onebox it.

    0_1522239961868_fbmess0000.png


  • BINNED

    @topspin said in WTF Bites:

    Sutter explicitly mentioned the Qt moc as one example of things he'd rather have the compiler do than a meta-compiler, if I remember correctly.

    Please. MOC can be a huge pain at times. It's fiddly and requires constant manual running of qmake on a purely "annoying, but not critical" problem, down to a recent case where I had it completely ignore namespacing and splitting up stuff in multiple projects, causing to use the wrong file in the wrong place (specifically, both a library I tried to use and my code contained a file named httpserver.h and it just blindly tried to use the wrong one, even though they were in separate projects and properly namespaced as well).



  • This is fine.

    Source: @mhanley_duo


  • area_can

    @atazhaia FB does the oneboxing from their servers, right? I wonder if it's possible to be sneaky and learn anything about their internal network(s)...



  • @cvi said in WTF Bites:

    @ben_lubar said in WTF Bites:

    whaaaaaaaaaaaaaaaaaaaa

    Told you that the dark side was more fun. (Wait till you hear about the meta-classes proposal!)

    I don't see anything there that can't already be implemented normally by using templates, classes, inheritance, namespaces, bitfields, and so on.



  • @Gąska said in WTF Bites:

    This poor ladlass must have never noticed [...] she

    CTFS



  • @Zecc said in WTF Bites:

    What's up with Windows Explorer not letting me rename a file if the source and destination have the "same" name?

    Today it wouldn't let me remove the space at the beginning of a file's name, which made it stick out like a sore thumb at the top of the alphabetWindows-1252? UTF-16?ical order.

    So the workaround is to rename  myfile.txt to myfile_real.txt and then to real_myphp_real_myfile.txt and then to myfile.txt.



  • @djls45 said in WTF Bites:

    I don't see anything there that can't already be implemented normally by using templates, classes, inheritance, namespaces, bitfields, and so on.

    Yes and no. Guess it depends a bit on what you mean by that.

    Of course you can implement things normally already, you can do that with any half-competent language. The point is to make the language more convenient. Up-thread there's the example of being able to eliminate the Qt-moc compiler and do that natively. Overall, it enables a bunch of code-generation, and ties in with compile-time reflection. You can check/enforce a bunch of things automatically at build-time (like the "interface" and "value" examples). Without relying on external tools.



  • @cvi You can write interfaces in C++ with abstract/template classes already. And the value thing just attempts to abstract away the implementation of copy constructors, comparisons, etc., but the code for those still need to be written; they're just in a different place under this proposal (and again, you can use templates if you need some level of abstraction). It complicates the code instead of simplifying it.



  • @djls45 Yes, but as mentioned, with the proposal you can (for example) enforce that the interface only contains public virtual methods. And you can inject a virtual destructor by default - which will cut down on people forgetting to do so. You can name it "interface" up-font too, which makes the code more clear and brings a number of guarantees that are actually enforced (rather than promised by documentation or convention only).

    And it collects all that code in a single place (like shown in the value example). This means that there is a single copy of what essentially amounts to annoying boilerplate.code, instead of having it repeated many times. Not sure why that would make something more complicated. (Yes, you can do similar things by abusing inheritance, but that doesn't exactly make code less complicated.)

    In the end, you will have less code (or more generic code in a library), and you have the possibility of enforcing/checking the things you want to guarantee more than before. Why would this be a bad thing?



  • @ben_lubar Yeah but that video looks more fun.



  • @djls45 said in WTF Bites:

    @cvi said in WTF Bites:

    Told you that the dark side was more fun. (Wait till you hear about the meta-classes proposal!)

    I don't see anything there that can't already be implemented normally by using templates, classes, inheritance, namespaces, bitfields, and so on.

    Given that the metaclass generates normal templates, classes, inheritance, namespaces, bitfields, and so on, there can't be. And still, nothing of what they can do is possible with the C++ compiler today. It can be done with a separate code-generator, like the Qt MOC or the Open C++.

    @djls45 said in WTF Bites:

    but the code for those still need to be written; they're just in a different place under this proposal

    The point is to generate the code. So in a sense it will still need to be written, but it will be written by machine, not human. And while the human still has to write the machine first, he only needs to do it once, not for each use.


  • Java Dev

    @bb36e said in WTF Bites:

    @atazhaia FB does the oneboxing from their servers, right? I wonder if it's possible to be sneaky and learn anything about their internal network(s)...

    Think so, yeah, as they add their own tracking URL to each link posted. Although it's not the only oddity I've noticed. If I am fast enough on pasting a link and sending the message, FB has no time to create the onebox and will just display the link as-is. If I paste a link and wait a couple seconds it will create the appropriate onebox. For images I think they even download them to their own servers and host them from there.

    I've also once had an FB violation from something posted in a private chat. I posted a link to an image, and the entire message was deleted a bit later and I got a notice about having violated the FB guidelines from posting it. But it was a private chat. None in the chat reported it. Other images linked from the same site were not affected. So I wonder if someone was stupid enough to post it publicly, and FB sent a violation notice to anyone who had shared the same link.



  • @djls45 said in WTF Bites:

    So the workaround is to rename  myfile.txt to myfile_real.txt and then to real_myphp_real_myfile.txt and then to myfile.txt.

    Or open a command prompt and ren " myfile.txt" myfile.txt.



  • @scarlet_manuka said in WTF Bites:

    @djls45 said in WTF Bites:

    So the workaround is to rename  myfile.txt to myfile_real.txt and then to real_myphp_real_myfile.txt and then to myfile.txt.

    Or open a command prompt and ren " myfile.txt" myfile.txt.

    Or open a REAL command line and type mv instead of ren.


  • Considered Harmful

    @ben_lubar said in WTF Bites:

    @scarlet_manuka said in WTF Bites:

    @djls45 said in WTF Bites:

    So the workaround is to rename  myfile.txt to myfile_real.txt and then to real_myphp_real_myfile.txt and then to myfile.txt.

    Or open a command prompt and ren " myfile.txt" myfile.txt.

    Or open a REAL command line and type mv instead of ren.

    Both work in PowerShell, a REAL command line. But renaming is faster than moving.



  • @pie_flavor said in WTF Bites:

    @ben_lubar said in WTF Bites:

    @scarlet_manuka said in WTF Bites:

    @djls45 said in WTF Bites:

    So the workaround is to rename  myfile.txt to myfile_real.txt and then to real_myphp_real_myfile.txt and then to myfile.txt.

    Or open a command prompt and ren " myfile.txt" myfile.txt.

    Or open a REAL command line and type mv instead of ren.

    Both work in PowerShell, a REAL command line. But renaming is faster than moving.

    I'll take one fewer keystroke over 0.00001 seconds of execution time savings.


  • 🚽 Regular

    Not that anyone cares, but I used the "without leaving Windows Explorer, rename to 'FUCK YOU EXPLORER filename.ext', rename again to 'filename.ext'" technique.

    I may have used '-' instead of 'FUCK YOU EXPLORER' though. But the thought counts.


  • Java Dev

    Current top sellers on Komplett:

    0_1522316454786_komplett-topsellers.png

    I figure they go by amount of money made rather than amount sold for some :wtf: reason, because I can't imagine them selling a large number of very high-end professional GPUs. Although I am also wondering if all the other top sellers really are top sellers based on number sold, as they're all high-end stuff. Hmm...

    (Also, the cheeky bastards are selling that own-built high-end gaming PC with a 7700K rather than updating it to a 8700K. Naughty!)



  • @zecc said in WTF Bites:

    I may have used '-' instead of 'FUCK YOU EXPLORER' though.

    It's such a common sentiment, it's only sensible to have a shortcut for it.


  • Discourse touched me in a no-no place

    @dcoder said in WTF Bites:

    This is fine.

    Given the number of intrusion attempts I've had off AWS network blocks recently, it's not entirely wrong.


  • area_can

    @atazhaia said in WTF Bites:

    If I am fast enough on pasting a link and sending the message, FB has no time to create the onebox and will just display the link as-is.

    I've seen this too. My explanation is that messenger is a shit



  • @scarlet_manuka said in WTF Bites:

    It's such a common sentiment, it's only sensible to have a shortcut for it.

    What you're saying is that explorer should automatically expand a prefix "-" to a prefix "FUCK YOU EXPLORER" when you rename files.


  • BINNED

    @cvi said in WTF Bites:

    What you're saying is that explorer should automatically expand a prefix "-" to a prefix "FUCK YOU EXPLORER" when you rename files.

    If the renaming is done automatically, shouldn't it be "FUCK ME EXPLORER" 😕



  • @onyx said in WTF Bites:

    Please. MOC can be a huge pain at times. It's fiddly and requires constant manual running of qmake on a purely "annoying, but not critical" problem,

    Mmmm... not quite sure what you were doing, but MOC runs with moc, not qmake. Unless you had files that did not need to be MOC'ed and now need to (and yes, manually rerunning qmake is sometimes necessary as the Makefiles it generates doesn't catch this -- although since we've migrated our build system from qmake to cmake, I have never had this issue again, so maybe cmake is smarter and this really is a qmake issue, not a MOC one?), I have never seen that case.

    I don't like MOC though, it has too many subtle gotchas. One that bit me not that long ago is that #define values passed to the compiler (as in -Dfoo="bar baz") get quoted differently when passed to MOC or to the compiler itself. Although that one might be a VS issue more than a MOC one. Still hugely annoying and took me ages to work out.


  • BINNED

    @remi Yeah, I skipped over a step, it was qmake that wrote the moc files incorrectly IIRC. But in the end, I see the necessity for moc files to be the problem here, basically having to add extra steps over the standard linking to make things work.

    Dunno, my annoyance might be misplaced, but still, if there were no need for the extra generation of yet another layer during compilation... I just have a hunch it would make everything run smoother and with less gotchas 🤷♂



  • @onyx said in WTF Bites:

    But in the end, I see the necessity for moc files to be the problem here, basically having to add extra steps over the standard linking to make things work.

    Oh yeah, I agree with you on that. But I'd say for most cases, this is an annoyance that can be ignored. I guess if Qt was designed from scratch today, it'd use a different system (with modern C++ features, I believe they could get similar results without it -- not identical, but accomplishing the same overall goal), but that's too late for that.

    I just have a hunch it would make everything run smoother and with less gotchas 🤷♂

    Definitely. There are a couple of very common ones that you quickly learn (forgetting Q_OBJECT leads to basically incomprehensible linker errors), and then there are the really weird ones that you almost never see, but when you do (for me that's less than once per year, so that's OK-ish), they are so weird that no-one has documented them and you loose days trying to figure them out. At least that's how it works for me.



  • @atazhaia said in WTF Bites:

    If I am fast enough on pasting a link and sending the message, FB has no time to create the onebox and will just display the link as-is. If I paste a link and wait a couple seconds it will create the appropriate onebox.

    In the desktop site, it does this, but if you notice, it sends both the link and the onebox.

    You can paste a link, then delete it from the message, and still send the onebox (or you can delete it and type some other message, and send that message along with the onebox). Or you can paste the link, then delete the onebox (there's a little X you can click), and send just the link... this is the same result as when you send it before the onebox gets created. I see this as more of a feature than a bug, since it lets you preview the onebox and decide whether you want to send that, the link, or both.

    Once the onebox gets added, it's basically just an attachment -- unlike an attachment, though, which blocks you from sending the message until it finishes uploading, the onebox doesn't block you from sending the message before it's generated.

    I can't remember whether the messenger app lets you do this or not... actually, I think the messenger app just sends the link without oneboxing it.

    @atazhaia said in WTF Bites:

    I wonder if someone was stupid enough to post it publicly, and FB sent a violation notice to anyone who had shared the same link.

    That seems likely.



  • @ben_lubar said in WTF Bites:

    I'll take one fewer keystroke over 0.00001 seconds of execution time savings.

    After you've spent hundreds of hours learning that shitty interface in the first place. Count the true cost here.



  • @blakeyrat said in WTF Bites:

    After you've spent hundreds of hours learning that shitty interface in the first place. Count the true cost here.

    And just ignore the fact that you have to resort to that "shitty interface" because the GUI one is buggy :rolleyes:


  • Discourse touched me in a no-no place

    @pie_flavor said in WTF Bites:

    But renaming is faster than moving.

    I'll give you a hint: within a filesystem the two operations use the same syscalls…


  • Discourse touched me in a no-no place

    @remi said in WTF Bites:

    forgetting Q_OBJECT leads to basically incomprehensible linker errors

    Dude, it's C++. 99% of all errors are effectively incomprehensible.



  • @dkf said in WTF Bites:

    Dude, it's C++. 99% of all errors are effectively incomprehensible.

    Here's a fun one I reported recently:

    #include <cstddef>
    
    struct structure final
    {
    };
    
    template<bool b, typename T = structure>
    constexpr auto has_members() noexcept
    {
    	if constexpr(b)
    	{
    		return offsetof(T, member2);
    	}
    	return 0;
    }
    
    static_assert(has_members<true>());
    
    int main()
    {
    }
    
    

    MSVC compiler output:

    1>------ Rebuild All started: Project: test, Configuration: Debug Win32 ------
    1>Main.cpp
    1>main.cpp(13): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1>Done building project "test.vcxproj" -- FAILED.
    ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
    

    Yeah, 0 errors is just too much to try and recover from.


Log in to reply