• 1 Post
  • 49 Comments
Joined 1 year ago
cake
Cake day: July 10th, 2023

help-circle



  • This message is displayed in the browser because Google asked your browser to do it, and your browser got the message and put it there.

    When displaying ads, the end user experience is 100% client-side. You are using your screen and speakers to observe it. You can turn off your speakers and screen if you want, which will effectively “block” the ad.

    But that is silly. Not only do you own your screen and speakers, but you have control of what you’re browser is doing, too (if you use a respectable browser). When HTML, CSS, JavaScript, and other content is downloaded, just that happened: file downloads. After it has been downloaded, your browser then consumes it.

    When it is consumed, a lot happens, but ultimately, the code in the browser displays content. Your (respectable) browser does all of this, and will change the look depending on local fonts, accessibility options, etc. With an ad block add-on, it will also remove these ads.

    However, when ads are removed, the DOM is mutated with deleted or replaced content. It is possible for a website to then write ad block detection scripts to see if the ad contents have been removed or not. There are many ways to do this, and this screenshot is the result of one way of doing it.

    However, enter the cat-and-mouse-chase of ad block block blocks. You can block your ads, then block the ad block block like this screenshot. These types of ad block rules are less common, but many public ones are available. Check the uBlock Origin lists in the setting page. By default, only about a third of the lists are enabled, and these extra blocks are in there.

    Another avenue of determining that ads were not loaded is for the server to inspect if client-side (you) requests were made to fetch the ads. Even if this is in place, the server cannot determine if you have actually watched the ad or not. It could try to do more client-side attempts at validating that you somehow displayed it, but again, that’s client-side.

    Imagine if you were sent a letter and a pamphlet in the mail. Imagine if the letter said that you could mail them back for a free sample of their product, but only if you read the pamphlet. They would have to trust that you read it, because you are reading your mail in the privacy of your own home. However, you could opt to toss the pamphlet (like an ad blocker) and never read it. It’s your mail, your home, and your choice.


  • Synthead@lemmy.mltoLinux@lemmy.mlThe Linux experice
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    If the package manager leaves you with broken dependencies, a broken system, or a system that “doesn’t work,” then there are significant bugs in how the distro has packaged things. It happens, but seldomly.

    Package managers aren’t “hard.” There are GUIs where you can search and install packages, even. In my opinion, if you have a Linux user that has avoided learning how package managers work, then they’re skipping a core foundation of how to use their operating system.




  • Also, how are you starting it? I’m looking at the Arch package in the AUR (not your distro, but just looking), and I notice that it includes a .service file. This means that it would be started as a service, and not as a user, like you’re probably attempting to do.







  • I agree. That would be absurd.

    However, I don’t like not having the option of using HTTP if I want to use it. It’s okay if the webserver redirects me, but I don’t like if my browser does it when I didn’t tell it to. I might want this when doing development, port tunneling, VPN stuff, etc. In most cases, it won’t matter, but when it does, it will be a pain in the ass.


  • I disagree. While in practice, this is often the same website, it is a different protocol and a different port. It just happens to use the same DNS address. You’re explicitly giving your browser a FQDN, and it is ignoring it and doing something else.

    I hope this feature can be disabled. Google has been ignoring the W3C and has shipped proprietary, insecure features in their chromium engine for a while now, so it wouldn’t surprise me if they made it permanent 🤷



  • For real. It’s so much better to think about using the screen space you already have. People can do what they want, but I am happy with one screen, a tiling window manager, and workspaces. I can have a dozen or more things going on, and have it packed on a workspace. Fullscreen a window of I need to, then pop it back.

    It’s incredibly efficient. I see stuff like this, and I imagine what it’s like to have text several feet away, screens covered by other screens, lots of neck fatigue, all the monitor borders… like it’s truly bad. It feels like someone watched a lot of TV and “felt” that this was the best way to do it without trying it.

    Butt I digress. It’s not my setup. If they’re efficient with it, more power to them.




  • Synthead@lemmy.mltoLinux@lemmy.mlWhat exactly does systemd do?
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    1 year ago

    From man systemd:

    DESCRIPTION
           systemd is a system and service manager for Linux operating systems. When run as first process on boot
           (as PID 1), it acts as init system that brings up and maintains userspace services. Separate instances
           are started for logged-in users to start their services.
    
           systemd is usually not invoked directly by the user, but is installed as the /sbin/init symlink and
           started during early boot. The user manager instances are started automatically through the
           user@.service(5) service.
    
           For compatibility with SysV, if the binary is called as init and is not the first process on the
           machine (PID is not 1), it will execute telinit and pass all command line arguments unmodified. That
           means init and telinit are mostly equivalent when invoked from normal login sessions. See telinit(8)
           for more information.
    
           When run as a system instance, systemd interprets the configuration file system.conf and the files in
           system.conf.d directories; when run as a user instance, systemd interprets the configuration file
           user.conf and the files in user.conf.d directories. See systemd-system.conf(5) for more information.