WTF Bites


  • Discourse touched me in a no-no place

    @topspin said in WTF Bites:

    CodeSOD bite:

        virtual void Solve(COutput *output,
                           CIntegration ****integration,
                           CGeometry ****geometry,
                           CSolver *****solver,
                           CNumerics ******numerics,
                           CConfig **config,
                           CSurfaceMovement **surface_movement,
                           CVolumetricMovement ***grid_movement,
                           CFreeFormDefBox*** FFDBox,
                           unsigned short val_iZone,
                           unsigned short val_iInst);
    

    :wtf: What the...

    Three levels of indirection in pointer handling is a lot, as each level usually means something different (such as "an OUT parameter providing an array of pointers to things"). Four comes up very occasionally (and requires being very careful!). Six levels... 😱 Something is horribly wrong. And probably desperately inefficient too, as that many levels of dereferencing is going to be "fun" with caches.

    Also, the naming convention for those types sucks. πŸ˜‰


  • BINNED

    @dkf said in WTF Bites:

    @topspin said in WTF Bites:

    CodeSOD bite:

        virtual void Solve(COutput *output,
                           CIntegration ****integration,
                           CGeometry ****geometry,
                           CSolver *****solver,
                           CNumerics ******numerics,
                           CConfig **config,
                           CSurfaceMovement **surface_movement,
                           CVolumetricMovement ***grid_movement,
                           CFreeFormDefBox*** FFDBox,
                           unsigned short val_iZone,
                           unsigned short val_iInst);
    

    :wtf: What the...

    Three levels of indirection in pointer handling is a lot, as each level usually means something different (such as "an OUT parameter providing an array of pointers to things"). Four comes up very occasionally (and requires being very careful!). Six levels... 😱 Something is horribly wrong.

    Definitely. As @aitap has linked to the usage, at least two of them seem to be fixed indices, not variable:

    solver_container[iZone][iInst][MESH_0][ADJFLOW_SOL]->SetAdj_ObjFunc(geometry_container[iZone][iInst][MESH_0], config_container[iZone]);
    

    Should find some better way to abstract this, but it looks like it could at least be:

    solver_container[iZone][iInst].fine_mesh.adj_flow_solver->SetAdj_ObjFunc(...);
    

    And probably desperately inefficient too, as that many levels of dereferencing is going to be "fun" with caches.

    I guess that doesn't matter, because (totally assuming here, might be wrong) I think the innermost level already does expensive things like computing some values over the whole grid, so whatever loops over this is far from a tight loop.
    Mostly I think these types are a code smell and hint at a lack of abstraction. Doesn't say anything about the technology of the program itself, this is just :bikeshed:-ing.

    Also, the naming convention for those types sucks. πŸ˜‰

    Yup.


  • area_pol

    @topspin said in WTF Bites:

    CodeSOD bite:

        virtual void Solve(COutput *output,
                           CIntegration ****integration,
                           CGeometry ****geometry,
                           CSolver *****solver,
                           CNumerics ******numerics,
                           CConfig **config,
                           CSurfaceMovement **surface_movement,
                           CVolumetricMovement ***grid_movement,
                           CFreeFormDefBox*** FFDBox,
                           unsigned short val_iZone,
                           unsigned short val_iInst);
    

    :wtf: What the...

    Apparently, three-star programmers are now passΓ©.


  • BINNED

    @strangeways Programmer? Six stars. Hotel? Trivago.


  • Discourse touched me in a no-no place

    @topspin said in WTF Bites:

    Trivago

    588c042c-9b45-4f07-a523-821726f9c9f4-image.png



  • @Carnage said in WTF Bites:

    @levicki I've moved on to other search engines, and I'm getting better results than Google gives.

    You can't just make a statement like that without saying what search engines are giving you better results.



  • @jinpa said in WTF Bites:

    @Carnage said in WTF Bites:

    @levicki I've moved on to other search engines, and I'm getting better results than Google gives.

    You can't just make a statement like that without saying what search engines are giving you better results.

    I sure can! :trollface:


  • Considered Harmful

    @strangeways said in WTF Bites:

    @topspin said in WTF Bites:

    CodeSOD bite:

        virtual void Solve(COutput *output,
                           CIntegration ****integration,
                           CGeometry ****geometry,
                           CSolver *****solver,
                           CNumerics ******numerics,
                           CConfig **config,
                           CSurfaceMovement **surface_movement,
                           CVolumetricMovement ***grid_movement,
                           CFreeFormDefBox*** FFDBox,
                           unsigned short val_iZone,
                           unsigned short val_iInst);
    

    :wtf: What the...

    Apparently, three-star programmers are now passΓ©.

    For some reason, I find it disturbing that each parameter is a different arity of indirection. FFS, at least be consistent.



  • @levicki said in WTF Bites:

    Status: Switched to Firefox after finding a way to import custom search engines (make a web page on a web server, add link rel search with a link to opensearch xml file to it, open page in firefox, click on ... button in url bar, click add search engine -- why have a simple import button when you can have a roundabout way with a gazillion steps, grrr).

    You can right-click on a search box text input and do "add a keyword for this search" but apparently that's Differentβ„’ from adding a search engine.



  • @levicki Yes, I know. It adds a keyword so you can do e.g. msdn added sugar and it'll do that search. It seems close enough to adding a search engine to where I thought that was an easy way to do it, but that's a separate feature from the search engines listed under settings -> search.


  • Discourse touched me in a no-no place

    @hungrier said in WTF Bites:

    @levicki Yes, I know. It adds a keyword so you can do e.g. msdn added sugar and it'll do that search.

    Oh shit, this is how this works.
    Having never actually tried it, I assumed (mostly from it adding it to the Bookmarks folder) it did something different like an idiot and ignored it.



  • @levicki It is, though; the "Add keyword" rightclick option generates a bookmark that doesn't show up in that list

    61ee2624-c600-46d5-a7e6-a23d371e2198-image.png

    d315c6ce-99b3-4268-ba26-2643324ac532-image.png

    22f13550-20cb-4ab6-a53a-aed2662abc41-image.png

    e: I do agree with this:
    @levicki said in WTF Bites:

    The only thing missing in that settings -> search pane is an Add button which would allow you to add the XML file directly.



  • Apparently SMS read receipts are a thing. Why?!?!?! Now I'm getting spam text messages and it sends read receipts back if I accidentally open the thread! So the spammers know my number is valid! 😑



  • @mott555 said in WTF Bites:

    Apparently SMS read receipts are a thing. Why?!?!?! Now I'm getting spam text messages and it sends read receipts back if I accidentally open the thread! So the spammers know my number is valid! 😑

    and of course your messanger app is badly designed such that you can't turn that off becuse Apple, and you need to open the thread in order to block the incomming number because Apple, and you can only block 8 numbers at a time. Becasue Apple,

    oh, sure you can have more than eight numbers in the blocked list, but because Apple only 8 of them work at a time, and it won't tell you which eight are currently working, because Apple.

    ..... was i too subtle about my FUCK APPLE feelings on this matter?

    ;-P



  • @Vixen My phone's an older Android.



  • @mott555 said in WTF Bites:

    @Vixen My phone's an older Android.

    ........ any chance you can pretend instead of apple i said whichever manufacturer actually produced your phone?

    ...... no?

    ah well.... it was worth a try.



  • @Vixen said in WTF Bites:

    @mott555 said in WTF Bites:

    Apparently SMS read receipts are a thing. Why?!?!?! Now I'm getting spam text messages and it sends read receipts back if I accidentally open the thread! So the spammers know my number is valid! 😑

    and of course your messanger app is badly designed such that you can't turn that off becuse Apple, and you need to open the thread in order to block the incomming number because Apple, and you can only block 8 numbers at a time. Becasue Apple,

    Umm. I can turn off "Read Receipts" just fine in iOS by going into the Messages section of settings?

    This option is four rows above "Blocked contacts" where I can type in numbers to block just fine without ever having to open anything else?

    And two rows below that is the option "Filter unknown contacts".


  • Discourse touched me in a no-no place

    @Vixen said in WTF Bites:

    and of course your messanger app is badly designed such that you can't turn that off becuse Apple, and you need to open the thread in order to block the incomming number because Apple, and you can only block 8 numbers at a time. Becasue Apple,

    As funny as the whole "accaVixen doesn't like Apple" gambit is, there is an option to turn this on/off in the Messages app. IIRC you actually have to enable it rather than the other way around.

    @Vixen said in WTF Bites:

    oh, sure you can have more than eight numbers in the blocked list, but because Apple only 8 of them work at a time, and it won't tell you which eight are currently working, because Apple.

    Wat?

    @Vixen said in WTF Bites:

    ..... was i too subtle about my FUCK APPLE feelings on this matter?

    Obviously not but considering how many actual reasons there are to go "APPLE STUPID LOL", you could probably have avoided spouting made up rubbish.



  • @loopback0 said in WTF Bites:

    probably have avoided spouting made up rubbish.

    not probably, definitely.

    but then the point wasn't about avoiding spouting rubbish. the point was to spout rubbish and see who couldn't avoid rummaging through it.

    That's far more fun. Tune in next week when i rant about WinBlow$ and the week after that when I rant about Dumbuntu. It'll be grand.


  • Discourse touched me in a no-no place

    @Vixen Nice try but no cigar.



  • @loopback0 said in WTF Bites:

    @Vixen Nice try but no cigar.

    suit yourself

    09d25dae-75d5-4e89-b73a-d4f2d1ebb282-image.png



  • @loopback0 said in WTF Bites:

    @Vixen Nice try but no cigar.

    So sad, I like cigars
    32529018-160e-42ca-a3cd-7a0aafbe8149-image.png



  • Trying to figure out Spring X509 authentication. I made my own crappy CA, added it to the jvm cacerts, even tried restarting the VM that I'm doing it on. Made a cert for the host and added that to tomcat config, which worked and allowed me to access the app over https. So far so good. Then I made another cert for the browser and imported it there. Now the server doesn't trust the CA that signed the browser cert, even though it's the same CA that signed the host cert. What gives?



  • This post is deleted!

  • BINNED

    @error said in WTF Bites:

    @strangeways said in WTF Bites:

    @topspin said in WTF Bites:

    CodeSOD bite:

        virtual void Solve(COutput *output,
                           CIntegration ****integration,
                           CGeometry ****geometry,
                           CSolver *****solver,
                           CNumerics ******numerics,
                           CConfig **config,
                           CSurfaceMovement **surface_movement,
                           CVolumetricMovement ***grid_movement,
                           CFreeFormDefBox*** FFDBox,
                           unsigned short val_iZone,
                           unsigned short val_iInst);
    

    :wtf: What the...

    Apparently, three-star programmers are now passΓ©.

    For some reason, I find it disturbing that each parameter is a different arity of indirection. FFS, at least be consistent.

    Well, I’m sure they can’t just make all of them 6 star because it just doesn’t work like that. There’s got to e meaning behind it, it’s not arbitrary.
    The problem is that you can’t tell what it means and it’s incredibly confusing.


  • BINNED

    @TimeBandit said in WTF Bites:

    @loopback0 said in WTF Bites:

    @Vixen Nice try but no cigar.

    So sad, I like cigars
    32529018-160e-42ca-a3cd-7a0aafbe8149-image.png

    Nobody gets impeached better than I do! 🚎

    Wait, is this even the right woman in the picture? I’m not sure.



  • @topspin said in WTF Bites:

    Wait, is this even the right woman in the picture? I’m not sure.

    It's harder to recognize her when she's not on her knees with something in her mouth :trollface:


  • Banned

    @TimeBandit said in WTF Bites:

    @topspin said in WTF Bites:

    Wait, is this even the right woman in the picture? I’m not sure.

    It's harder to recognize her when she's not on her knees with something in her mouth :trollface:

    Then she kneels down and it gets even harder? :giggity:



  • @mott555 said in WTF Bites:

    @Vixen My phone's an older Android.

    My Android (8.0) can. I went into Messages, Settings, Advanced Messaging and turned off "Share read status". Evidently turning off "Advanced Messaging" kills not only larger files (>1M), getting read receipts, and seeing when someone is typing, it also kills group messages (which I use).



  • @loopback0 said in WTF Bites:

    IIRC you actually have to enable it rather than the other way around.

    Android is auto-enabled. I didn't know about this and just turned it off now.

    edit: Oh, might be provider dependent... I'm on AT&T.


  • :belt_onion:

    @error said in WTF Bites:

    Every modal dialog in existence needs to FOAD in a fire.


    And every programmer who uses a modal window need to be killed to death repeatedly.

    It is a completely insane idea that has no legitimate reason to exist.


  • Considered Harmful

    @El_Heffe said in WTF Bites:

    It is a completely insane idea that has no legitimate reason to exist.

    It usually exists because programmers are too :kneeling_warthog: or too incompetent to handle multiple concurrent windows.



  • @error Years ago I used some software where the windows were non-modal, but if you used more than one of them at a time it would overwrite your data in unpredictable ways.



  • @levicki said in WTF Bites:

    If the server trusted that same CA without explicitly being told to, it would allow anyone to use any certificate issued by that CA to access HTTPS pages. I know you are messing around but usually that's not what you want to allow. You want server to explicitly trust a client cert so you can remove said cert if it is later compromised.

    I buttumed that adding the CA to the JVM's cacerts and/or the server itself using a cert signed by that CA would be trustworthy enough. Obviously in prod they'll have their own real certs with a real CA, on both server and client, but before it gets to prod I need something to work with.



  • @levicki said in WTF Bites:

    @hungrier What webserver is that piece of shit using? Both Apache and nginx are trivial to set for mutual authentication.

    On a side note, this is reason 1,167 why I don't use face creams:

    The woman’s son told a local news outlet that his mother knew that the cream was adulterated somehow, but she used it anyway because it worked better than other creams.

    What's a little poisoning among friends when it gives you slightly smoother skin than the other not quite as poisonous stuff?



  • @Carnage I'm reminded of the (apocriphal?) fact that the porcelain painters in Industrial-Revolution Britain were renowned for their delicate features and perfect skin...because they were exposed to copious quantities of heavy metals in the pigments. Of course, they also died of "consumption" and other diseases at incredible rates and generally didn't live long at best...



  • @levicki said in WTF Bites:

    @hungrier What webserver is that piece of shit using? Both Apache and nginx are trivial to set for mutual authentication.

    Tomcat. It's entirely possible that there's some configuration that I'm missing, and that it's brain-dead easy if you know it, but I'm not in that position.

    Anyway it's the weekend, I'll keep trying to figure it out on Monday


  • Discourse touched me in a no-no place

    @mott555 said in WTF Bites:

    @Vixen My phone's an older Android.

    You can change the default SMS app on Android (and the apps for many other system services too). This is a good thing, as the vendor-supplied one often sucks.


  • Discourse touched me in a no-no place

    @El_Heffe said in WTF Bites:

    @error said in WTF Bites:

    Every modal dialog in existence needs to FOAD in a fire.


    And every programmer who uses a modal window need to be killed to death repeatedly.

    It is a completely insane idea that has no legitimate reason to exist.

    Application-modal or global-modal? The former can occasionally be useful (more often so in kiosk-like apps) and common interaction patterns on Windows kind of required doing things this way until a few years ago, but global-modal dialogs are a mortal sin and a crime against humanity.

    I'm looking at Windows Update particularly here for some reason.


  • Discourse touched me in a no-no place

    @hungrier said in WTF Bites:

    @levicki said in WTF Bites:

    @hungrier What webserver is that piece of shit using? Both Apache and nginx are trivial to set for mutual authentication.

    Tomcat. It's entirely possible that there's some configuration that I'm missing, and that it's brain-dead easy if you know it, but I'm not in that position.

    Anyway it's the weekend, I'll keep trying to figure it out on Monday

    If I remember right, you need to make sure your local CA cert is in the trust store of the opposite side of the connection from the side that is trying to use a cert issued by the CA to make an identity statement. Some applications (e.g., browsers) don't really separate the different types of stores of keys by purpose as they almost never care enough. Servers often need to be more careful, and Java's security support definitely originated in that space.

    You can enable detailed logging of the security handshake to debug this (using options that I always have to look up when I need them πŸ˜‰) but you don't keep that on in production because the security layer is actually very verbose when told to be.


  • Notification Spam Recipient

    Status: setting up OpenMediaVault. Out of the box, it's a little out of date (naturally). There's an option in the web interface to "run apt-get upgrade". Click on it.

    Everything seems alright, except when it gets to postfix, it apparently asks a question (:wtf_owl: ) and gets stuck, because the web UI doesn't open the terminal's standard-in. 😀

    Can't cancel, have to go to the shell and kill the apt process and childs.

    Fixing shit using debconf --configure -a (as prompted), and running apt-get upgrade in the shell and... I'm not prompted about what mailbox type I have. :wat:

    Fucking Linux...



  • @dkf said in WTF Bites:

    global-modal dialogs are a mortal sin and a crime against humanity.

    And don't get me started on dialogs (installers and splash screens mainly) that are so fucking important that they have to set the always-on-top bit.


  • BINNED

    @dcon said in WTF Bites:

    @dkf said in WTF Bites:

    global-modal dialogs are a mortal sin and a crime against humanity.

    And don't get me started on dialogs (installers and splash screens mainly) that are so fucking important that they have to set the always-on-top bit.

    That wouldn’t be much of a problem if you could change that yourself, but of course KDE is the only usable desktop that let’s you do this.



  • 8ef6565c-c0b3-47c8-8fc2-7bda1bedbec6-image.png

    Oh boy I can't wait to finally uninstall Python 2!

    Do you want to continue (Y/n)?  y
    
    ╔════════════════════════════════════════════════════════════╗
    ╠═ Creating update staging area                             ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Uninstalling: BigQuery Command Line Tool                 ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Uninstalling: BigQuery Command Line Tool (Platform Sp... ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Uninstalling: Cloud SDK Core Libraries                   ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Uninstalling: Cloud SDK Core Libraries (Platform Spec... ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Uninstalling: Cloud Storage Command Line Tool (Platfo... ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Uninstalling: gcloud cli dependencies                    ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Installing: BigQuery Command Line Tool                   ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Installing: BigQuery Command Line Tool (Platform Spec... ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Installing: Cloud SDK Core Libraries                     ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Installing: Cloud SDK Core Libraries (Platform Specific) ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Installing: Cloud Storage Command Line Tool (Platform... ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Installing: gcloud cli dependencies                      ═╣
    ╠════════════════════════════════════════════════════════════╣
    ╠═ Creating backup and activating new installation          ═╣
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
    
    Performing post processing steps...failed.
    WARNING: Post processing failed.  Run `gcloud info --show-log` to view the failures.
    
    Update done!
    
    To revert your SDK to the previously installed version, you may run:
      $ gcloud components update --version 271.0.0
    
    ( was unexpected at this time.
    C:\Program Files (x86)\Google\Cloud SDK>gcloud topic startup
    \Google\Cloud was unexpected at this time.
    C:\Program Files (x86)\Google\Cloud SDK>gcloud
    \Google\Cloud was unexpected at this time.
    C:\Program Files (x86)\Google\Cloud SDK>gcloud info --show-log
    \Google\Cloud was unexpected at this time.
    

    Oh. Well, so much for that hobby project I guess...


  • BINNED

    @levicki we have sa nice thread about that somewhere :arrows:, but I can’t find it right now.


  • Notification Spam Recipient

    @topspin said in WTF Bites:

    @levicki we have s nice thread about that somewhere :arrows:, but I can’t find it right now.

    I'm helping!

    https://what.thedailywtf.com/topic/23080/big-list-of-software-that-cannot-handle-spaces-or-accents-in-paths



  • I logged into Origin for the first time in 5 years (yeah, :trwtf:) to buy a gift for my daughter. My login credentials were expired. Ok, it's been 5 years. Do the password reset thing. I try to use the same password. Nope. Because I can't reuse an old password? No, because it's too long and "contains unsupported characters." They made their logins less secure by reducing the maximum password length and banning non-alpha-numeric characters. :headdesk:



  • @levicki said in WTF Bites:

    @LB_ It's end of the 2019 and software still chokes on spaces in filenames... :frystare:

    One day someone will invent quotation marks and it'll be solved forever



  • Last minute Christmas shopping. Clothes for my son, who at age 23 still manages to tear the knees out of all his pants (not the "stylish" kind of ripped jeans, either). Since he's several states away and anything tangible I might buy won't get there by Christmas, I buy him a gift card to Kohl's, because something less specific might get spent on games or gunpla. Well, I try to. I buy a gift card to be emailed to him. I get a confirmation email thanking me for my order. 20 minutes later, I get another email telling me my order could not be completed and had been cancelled. Try again an hour or so later; same thing happens.

    In addition to the game stuff from Origin, my daughter asked for a winter coat with a hood. No problem, especially since the game stuff was a lot less than I spent on clothes for my son. She wanted Target, since the only Kohl's in her area isn't convenient for her to get to. I looked through the coats on Target's website, didn't see anything that jumped out at me as something she'd like, and decided to get her a gift card, too, in an amount sufficient to buy any but the most expensive of their coats. Order goes through; get confirmation email. Two hours later, "Sorry, we had to cancel."

    :wtf:? Two different websites. Two different companies. Two different payment methods (one of which had worked just fine for Origin; my daughter was already playing with her new DLC when I was talking to her on the phone this afternoon).



  • You've been blacklisted by your bank and don't know it yet?


Log in to reply