WTF Bites



  • Capture.png
    :wtf: program is able to install a browser extension without asking?



  • @HardwareGeek Of course it can. If you can add extensions in Chrome without Chrome running elevated, then so can any other program running with your user account's privileges.



  • So there's this interface named IServiceCollection, it has multiple methods of the kind .Add(x), .AddTransient(x) that you use to add services to it.

    ...but why the hell are all those methods implemented as extension methods? Since when is the main purpose of an interface implemented almost entirely through extension methods?



  • @anonymous234 said in WTF Bites:

    So there's this interface named IServiceCollection, it has multiple methods of the kind .Add(x), .AddTransient(x) that you use to add services to it.

    ...but why the hell are all those methods implemented as extension methods? Since when is the main purpose of an interface implemented almost entirely through extension methods?

    I don't think it's possible to make all the methods implemented as extension methods, because the extension methods can only use the interface itself. But it is possible to only have one method in the interface proper, and then a bunch of extension wrappers around it. The point is providing convenience of the different calling conventions without having to implement all of them in each object implementing the interface and risking implementing them inconsistently.


  • Banned

    @anonymous234 until very recently, C# didn't have default implementations of interface methods. So you had a choice - either give a default implementation of a method and disallow overriding, or allow overriding and force every interface implementer to override every time. So natural pattern emerged - things likely to be overridden were default-less interface methods, while things unlikely to be overridden were extension methods. Of course, because of Sturgeon's law, developers frequently misjudged which one to choose in a particular scenario.

    Now that C# 8 has default interface methods, we can all forget about it and put everything on the interface. In like 10 years, when everyone finally upgrades. Also, the one thing that matters the most and could benefit from this change the most - LINQ - is forever going to be extension methods

    Fun fact: .Net runtime internally uses switch-typeof pattern in LINQ methods implementation, specifically because there were no default interface methods before C# 8.



  • @Gąska said in WTF Bites:

    until very recently, C# didn't have default implementations of interface methods. So you had a choice - either give a default implementation of a method and disallow overriding, or allow overriding and force every interface implementer to override every time

    Right, I keep forgetting that OOP is often pretty bad at doing the things it's supposed to be good at.



  • @Rhywden said in WTF Bites:

    What I cannot quite understand, however, is why the damn table salt is bought out as well. I mean, if I'm cooking I'll use maybe half a tablespoon. What in the world do you need that much salt for?

    I have a container from 1989. At one time, with much hype over too-much-salt, I figured I'd track how much I used. Obviously (at this point) not much. But then I'm not doing much cooking either... My salt intake is all natural processed foods!



  • @Watson said in WTF Bites:

    @Rhywden said in WTF Bites:

    What I cannot quite understand, however, is why the damn table salt is bought out as well. I mean, if I'm cooking I'll use maybe half a tablespoon. What in the world do you need that much salt for?

    I saw shelves denuded of bottled water. So at least they're prepared in case the metropolitan supply stops working.

    If all those employees kick the bucket, that will be important! Hope you got your solar panels and batteries installed too!



  • @Mason_Wheeler said in WTF Bites:

    @HardwareGeek Of course it can. If you can add extensions in Chrome without Chrome running elevated, then so can any other program running with your user account's privileges.

    Similarly, since Chrome's exe sits in your AppData folder so it can update without elevating, anything else can "update" it as well. Or maybe it can only do so if you're not running Chrome at the time



  • @hungrier I was definitely running Chrome at the time. The notification appeared when I woke it up from sleep this morning, or at least that's when I first saw it; it could have happened when it was not asleep during the night. My guess is that it was Adobe Reader, which was also running, that was trying to foist it's Chrome plugin on me.



  • @HardwareGeek I meant specifically updating the executable, because the file would be locked while it's running. Plugins can be added whenever



  • @JBert said in WTF Bites:

    Careful though, being on the receiving end of a good beating might not be entirely hygienic. I recommend a good pair of running shoes.

    :um-actually: I don't think I have to worried. Beatings would not comply with the current policy of avoiding unnecessary personal contact.

    Filed under: The cough is mightier than the fist.



  • @levicki Hmm, good thing my work laptop has an old, outdated copy of Office 2013, eh?



  • @levicki said in WTF Bites:

    Also, Office 365 will install Chrome plugin that forces Bing search as default and prevents changes unless uninstalled. And it will probably get reinstalled with each Office update.

    Pretty much as soon as the announcement was made they walked it back, so they won't do that. But maybe they will later anyway, who nose



  • @levicki said in WTF Bites:

    I struggle to see anything good about old, outdated copies of anything.

    💰 Still running Access 2007 on one machine... (needed for my dog club's membership list)



  • @levicki Maybe this has changed recently, but wasn't it common for iPhone users to set up a "bullshit" folder with Stocks and other default non-uninstallable apps, specifically because you couldn't get rid of them?



  • @levicki TIL



  • @levicki Thinking a bit more about it, I don't think removing the Contacts app would do anything, since the actual contacts are stored elsewhere. But it's moot anyway since there's no officially supported way to remove built-in apps


  • Discourse touched me in a no-no place

    @HardwareGeek said in WTF Bites:

    Hmm, good thing my work laptop has an old, outdated copy of Office 2013, eh?

    It's still supported, at least.

    The company I work for is migrating to Office 2013. This is definitely the right topic for that.


  • Banned

    Huawei theme gallery browser asks for permission to make phone calls. It says it's for GUID generation.



  • @levicki So Android literally pwns the iPhone



  • @levicki said in WTF Bites:

    There is one thing Android is good for it seems

    That's one more than iPhone :trollface:


  • Banned

    @levicki said in WTF Bites:

    @hungrier There is one thing Android is good for it seems:

    Makes me think of the many times I've used Linux live-CD/USB to repair Windows.


  • Discourse touched me in a no-no place

    @Gąska said in WTF Bites:

    Makes me think of the many times I've used Linux live-CD/USB to repair Windows.

    I think my first professional use of Linux was using a Linux Live CD to fix a broken Windows install, and the second was using one with ntpasswd to remove the local Administrator password on a Windows 2000 machine. Or the other way around.


  • BINNED

    @levicki said in WTF Bites:

    Status: I really hate Android.

    Google Play store is a fucking mess and not just 3rd party apps, but Google ones as well.

    For example:

    Google Maps - Navigate & Explore <- this was on the phone by default, can't be uninstalled
    Google Maps Go - Directions, Traffic & Transit <- this is now advertised as similar when I go to update the one above
    Android Auto - Google Maps, Media & Messaging <- this one shoveled in by a software update, also can't be uninstalled

    WHAT THE ACTUAL FUCKING FUCK?!?!?!!? HOW MANY MAP APPS DO YOU FUCKING HAVE?!?!?!?!?!

    People complain about Apple walled garden all the time but even Apple lets you uninstall shit.

    They need to create new apps faster than the old one are killed, otherwise they might end up with a negative number of map apps at some point. :mlp_shrug:

    Filed under: insert your own joke about "velocity" here


  • Discourse touched me in a no-no place

    @topspin said in WTF Bites:

    Filed under: insert your own joke about "velocity" here

    African or European Google Maps?

    INB4: Yes


  • BINNED

    @loopback0 said in WTF Bites:

    @Gąska said in WTF Bites:

    Makes me think of the many times I've used Linux live-CD/USB to repair Windows.

    I think my first professional use of Linux was using a Linux Live CD to fix a broken Windows install, and the second was using one with ntpasswd to remove the local Administrator password on a Windows 2000 machine. Or the other way around.

    You can just use the recovery console for that.

    My first "use" of Linux was: okay, so I got this Linux CD, let's try it. What do you mean, it doesn't recognize my mouse?
    Second time around the hardware support got good enough that I gave up on the modem, so at least I got much farther than the mouse.


  • Discourse touched me in a no-no place

    @topspin said in WTF Bites:

    You can just use the recovery console for that.

    No, in both cases I ended up using Linux because the various Windows recovery tools failed to do it.


  • Notification Spam Recipient

    Status: flabbergasted.

    d75dbede-697c-49f7-90bf-fa9f532594b4-image.png

    :um-actually: The installer isn't located there necessarily.
    :um-actually: Which leads to the installer folder structure looking like this:

    ca2f3bd3-2f79-4c07-b962-6209e9076ec9-image.png

    The more I discover about this installer the more I have to censor.


    Filed under: And then the murders began


  • Banned

    @Tsaukpaetra said in WTF Bites:

    The more I discover about this installer the more I have to censor.

    First thought after reading this: "oh, he's making a Psychonauts reference - he deploys censors in his brain to block off the knowledge of this abomination!"

    But yes, swearing profusely is absolutely the right reaction.


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    block off the knowledge of this abomination!

    For example, here is a task in the installer that.... WTF is this even?

    85d38936-e616-4dc6-9627-38d85d8737c1-image.png

    1. I'm 82 percent certain the environment variable VIRTRACONTENT is not defined.
    2. Why is the name of the activity Launched Application: CMD PID: 21096 ? Literally none of that will ever be true...
    3. aEWFAweogaetih g4alkw4renhyasn54?Y>@<W?>$

  • Banned

    @Tsaukpaetra wait - is this an installer definition or installation log? Because either of these would have no use for half of these fields.

    As for %VIRTRACONTENT% - it might be set by the installer process and inherited by spawned subprocesses. It's actually a fairly sensible way of handling that.


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    @Tsaukpaetra wait - is this an installer definition or installation log? Because either of these would have no use for half of these fields.

    installer task definition

    As for %VIRTRACONTENT% - it might be set by the installer process and inherited by spawned subprocesses. It's actually a fairly sensible way of handling that.

    It might be set by the installer. Somehow. It's not denoted literally anywhere (config file or GUI or otherwise), so I have to assume this is vestigial config from another client's configs that "accidentally" made it into our copy.

    There are actually quite a few configs that are apparently unreferenced after all....



  • @levicki said in WTF Bites:

    I guess you could also use Android phone to scrape shit off your anus when you are out of toilet paper

    Actually, that's one place iPhone is superior to Android since you can bend it to shape so it does a better job :tro-pop:



  • @topspin said in WTF Bites:

    @loopback0 said in WTF Bites:

    @Gąska said in WTF Bites:

    Makes me think of the many times I've used Linux live-CD/USB to repair Windows.

    I think my first professional use of Linux was using a Linux Live CD to fix a broken Windows install, and the second was using one with ntpasswd to remove the local Administrator password on a Windows 2000 machine. Or the other way around.

    You can just use the recovery console for that.

    My first "use" of Linux was: okay, so I got this Linux CD, let's try it. What do you mean, it doesn't recognize my mouse?
    Second time around the hardware support got good enough that I gave up on the modem, so at least I got much farther than the mouse.

    My first use of Linux was after fiddling with Minix, I got the most andof everything working fairly ok, assistapart from the sound board. That required me decompiling and fixing a pointer bug. Which was a pretty hard thing to do, given that I'd barely learned what programming was, through getting my grubby mitts on a turbo Pascal compiler and just brute forcing how to make code do stuff, because of this being in the days of bbses.
    Still, it was more stable than the micro soft os of the same time.


  • BINNED

    I just realized that with the "it just works" philosophy of Macs, I have no idea how to fix it when it doesn't. At least with windows, I had run into enough problems to get knowledgeable about fixing things. But over at Apple they apparently think
    :thinking-ahead: "don't need error messages if you don't have errors."

    What happened: I tried to launch steam and macOS helpfully told me that it cannot be launched and must be updated. Because fuck backwards compatibility, that's why. So I delete the Steam.app from Applications, while briefly wondering that it's only 5 MB and if that's really all there is or if I'm missing something. Go to steam's website, download the current version and install by copying over. Starting it I get the usual prompt that this comes from the web and if I want to open it. Click open and nothing happens. Wait a bit, open again, nothing. No error messages or anything.
    I open a terminal window and try open Steam.app. Also no error messages.

    What to do now? Let's see what Apple helpfully tells you how to troubleshoot. Google gives me:

    1. Check for an updated version
    2. Well, basically, check for an updated version


  • @topspin Basically, Apple's fine...as long as nothing goes wrong. And then you're screwed. Especially if it's not done the Apple Way™. Which is usually a major :wtf: in its own right.


  • BINNED

    @Benjamin-Hall said in WTF Bites:

    @topspin Basically, Apple's fine...as long as nothing goes wrong. And then you're screwed. Especially if it's not done the Apple Way™. Which is usually a major :wtf: in its own right.

    Yet another reason I hate updates.
    "Hey there, please install this 10 GB update so you can switch your applications over to Dark Mode™. Oh, btw, your old apps won't run anymore."


  • Notification Spam Recipient

    @levicki said in WTF Bites:

    @Tsaukpaetra said in WTF Bites:

    I'm 82 percent certain the environment variable VIRTRACONTENT is not defined.

    It probably was when they made that step.

    Sure, maybe. I don't really care; I'm convinced that config file isn't even used, so maybe it's just more vestigial nonsense.

    Why is the name of the activity Launched Application: CMD PID: 21096 ? Literally none of that will ever be true...

    Because that's how they recorded the step?

    This assumes that some kind of macro recorder was used to generate these steps. In which case, it almost makes sense. But, not really. Because every other step would have had shit like that, and none do....

    aEWFAweogaetih g4alkw4renhyasn54?Y>@<W?>$

    Hey let me comfort you a bit -- that installer is most likely written in .Net Framework -- I recognize CreateNoWindow name from System.Diagnostics.Process.StartInfo property. If all else fails you can just use .Net Reflector, dnSpy, or now even Visual Studio to decompile the shit out of it and fix whatever seems to be broken.

    I'm not that invested. Really, I'm just trying to fix up the configuration so it actually launches the installers in silent mode (it's called a one-click installer that requires several dozens of attended clicks. Go figure).


  • Discourse touched me in a no-no place

    @topspin said in WTF Bites:

    "Hey there, please install this 10 GB update so you can switch your applications over to Dark Mode. Oh, btw, your old apps won't run anymore."

    :womm:


  • Notification Spam Recipient

    @loopback0 said in WTF Bites:

    @topspin said in WTF Bites:

    "Hey there, please install this 10 GB update so you can switch your applications over to Dark Mode. Oh, btw, your old apps won't run anymore."

    :womm:

    d21ab3fa-7ac0-47e6-95a1-94cd498de307-image.png


  • Discourse touched me in a no-no place

    @topspin said in WTF Bites:

    while briefly wondering that it's only 5 MB and if that's really all there is or if I'm missing something

    Steam stores its stuff in ~/Library/Application Support/Steam.

    Try deleting ~/Library/Application Support/Steam/Steam.AppBundle and launching Steam.app again.



  • 1199672f-7d00-49dc-b68d-dcf925f15a5e-image.png

    This is not true at all; I'm subscribed to lots of active channels, and my subscriptions show up on my phone. :wtf:


  • Notification Spam Recipient

    @Tsaukpaetra said in WTF Bites:

    I'm not that invested. Really, I'm just trying to fix up the configuration so it actually launches the installers in silent mode (it's called a one-click installer that requires several dozens of attended clicks. Go figure).

    $deity damnit. Apparently, the tasks that load other tasks don't load, I'm assuming because the Current Directory is not the location of the running program, or something. Sadly, the log is (as expected) unhelpful...

    94efbc06-1519-4259-aa83-5e4c7dfe9150-image.png

    I fucking hate this thing....

    Edit: Dammit and it works under a full user account. WTF....


  • Discourse touched me in a no-no place

    @Carnage said in WTF Bites:

    That required me decompiling and fixing a pointer bug. Which was a pretty hard thing to do, given that I'd barely learned what programming was

    The best way to learn to program is to actually do it. 👍


  • Discourse touched me in a no-no place

    @topspin said in WTF Bites:

    What happened: I tried to launch steam and macOS helpfully told me that it cannot be launched and must be updated.

    Sounds like it was a 32-bit application. The system libraries to support that are gone. The fact that they were going has been widely trailed. The other reason for silent failures like that is if the code signature is broken or absent. Which can make updating from other versions “fun”…


  • BINNED

    @levicki said in WTF Bites:

    @topspin said in WTF Bites:

    What happened: I tried to launch steam and macOS helpfully told me that it cannot be launched and must be updated.

    Is Steam client still 32-bit by any chance?

    Yes, it was. That's what the one error I got complained about. However, the newly installed steam client is 64 bit (supposedly) and fails silently.
    However, it really doesn't matter because I since found out that even it the steam client did work, the game isn't available as 64 bit anyway.

    @topspin said in WTF Bites:

    so you can switch your applications over to Dark Mode

    Hey at least Apple's dark mode works well unlike Windows'.

    I'd prefer having working applications than working dark mode that I need to turn off. :mlp_shrug:

    @dkf said in WTF Bites:

    @topspin said in WTF Bites:

    What happened: I tried to launch steam and macOS helpfully told me that it cannot be launched and must be updated.

    Sounds like it was a 32-bit application. The system libraries to support that are gone. The fact that they were going has been widely trailed. The other reason for silent failures like that is if the code signature is broken or absent. Which can make updating from other versions “fun”…

    Correct, see above. That was the part that still gave an error message, not the part that failed silently.


  • BINNED

    @loopback0 said in WTF Bites:

    @topspin said in WTF Bites:

    while briefly wondering that it's only 5 MB and if that's really all there is or if I'm missing something

    Steam stores its stuff in ~/Library/Application Support/Steam.

    Try deleting ~/Library/Application Support/Steam/Steam.AppBundle and launching Steam.app again.

    I looked for ~/Library/Steam and didn't find anything. Will check this when I get home, thanks!

    So, since mac applications usually don't come with installers/uninstallers (a good thing when they're actually fully contained, bad otherwise), how is the average mac user who just deletes the .app folder supposed to clean that up? I assume there's tons of stuff in there somewhere.


  • BINNED

    d0f4f0bc-f864-419a-b786-fe909571d4fd-image.png

    What?! :wtf_owl:
    No. No!

    In what world is concatenation of symbols equal to exponentiation? I mean, I get interpreting 2x as 2*x, but this is just wrong!


  • Discourse touched me in a no-no place

    @topspin said in WTF Bites:

    In what world is concatenation of symbols equal to exponentiation?

    MathWorld!


Log in to reply