• 0 Posts
  • 31 Comments
Joined 1 year ago
cake
Cake day: July 2nd, 2023

help-circle



  • It is, though. Safari has native support for 3rd party adblockers, it’s just that many people don’t know. AdGuard is one of the good options. Safari is doing the actual blocking for the most part (the extension just hands over the filterlists), but nowadays some of the adblockers include an optional extension that applies some rules for complex ads that are not supported by the Apple API, such as on YouTube. As an end user you just have to install and enable the adblocker.

    Then there are also other browsers available with built-in adblockers. Admittedly those are all limited in some ways because they’re forced to use the same browser engine (outside of the EU), but they are very effective at blocking ads.


  • WSL 1 is a compatibility layer that lets Linux programs run on the Windows kernel by translating Linux system calls to Windows system calls, so in that sense I understand the name: it’s a Windows subsystem for Linux [compatibility]. It doesn’t use the Linux kernel at all. With WSL 2 they’re using a real Linux kernel in a virtual machine, so there the name doesn’t make much sense anymore.


  • I’m not sure, it depends on your configuration and blocking list. I don’t use native tracking protection, and my blocklist (oisd) prioritizes functionality over blocking, so in my case everything just works and I don’t have anything special added to my whitelist. I don’t like DNS blocking to be in the way and I also share my configuration with some family members, so that’s why I’ve made this choice, but if you prefer a stricter approach you might have to do some whitelisting.


  • If the iCloud Private Relay ODoH DNS server is used it will show up as a DNS leak, even if the IP address from its response isn’t used for browsing. For privacy it doesn’t matter, as with ODoH the DNS resolver doesn’t know your IP or identity, the most important thing is whether it will bypass the NextDNS blocklist. In my testing I couldn’t visit any website that was blocked by NextDNS, meaning that the iCloud DNS resolver wasn’t used as the primary DNS resolver, which matches with their documentation (that page 10 that I linked to earlier). Note that Apple will only use a custom DNS resolver if you’re using the native DoH option, so for example the configuration that you can get from https://apple.nextdns.io/.

    You can easily test it yourself: block a hostname in NextDNS that you haven’t visited recently (due to cache) and try to visit it in Safari.

    I don’t know why Apple still uses the Cloudflare DNS resolver even if it seems to be ignoring its responses. Maybe they use it for some custom metadata that’s sent along with the request which somehow is important for the relay. All I know is that I’ve never seen it bypassing the NextDNS blocklist, which again is exactly how it’s documented by Apple.


  • So for some reason Apple keeps using their DNS resolver even with a custom DoH resolver configured, but in my testing it didn’t affect the blocking capabilities of NextDNS at all, meaning that the answers from their resolver are just ignored (or used for some other purpose). The way NextDNS knows that you’re using another resolver is by letting the browser resolve some unique hostnames, so that way it will show up even if the answers from that resolver aren’t used. As to why Apple does this I don’t know. In theory it could be the case that Apple just used whichever answer arrives first and that NextDNS just happened to be faster in my testing, but that doesn’t match with how it’s documented in their PDF.

    Which one to pick (if you don’t just want to use them at the same time) depends on what your goal is. I use iCloud Private Relay + NextDNS + AdGuard, but nowadays I mainly use another browser with a built-in adblocker, so iCloud Private Relay and AdGuard aren’t used in that case.

    I use NextDNS everywhere I can and use a list that prioritizes not breaking anything. It’s a nice backstop. It’s not a replacement for an in-browser adblocker in my opinion, unless you don’t care that it’s less effective.


  • Contrary to common believe, iCloud Private Relay and NextDNS are compatible and can both be enabled at the same time, see page 10 of https://www.apple.com/icloud/docs/iCloud_Private_Relay_Overview_Dec2021.pdf. When you try to visit a blocked hostname in Safari, you’ll see that it won’t work. This is something that I’ve personally confirmed.

    What NextDNS solves and iCloud Private Relay doesn’t, is blocking hostnames system wide, thereby completely blocking some ads and tracking. What iCloud Private Relay solves is hiding your browsing traffic a bit better within your local network and from your ISP, as well as hiding your IP from trackers and hiding your identity from their DNS resolver (not from NextDNS, though).

    Some background information why using HTTPS together with encrypted DNS doesn’t fully hide which websites you visit (yet): https://blog.cloudflare.com/announcing-encrypted-client-hello.

    If I had to choose, I’d go with NextDNS for system wide blocking and I’d add an adblocker browser extension to block trackers and ads that can’t be blocked with DNS based blocking. But you don’t have to choose and can use both at the same time.





  • It’s Markdown syntax. You can actually format it nicely in a code block:

    bool isEven( long long x ) {
      if ( x < 0 ) x = -x;
      if ( x == 1 )
        return false;
      if ( x == 2 )
        return true;
      return isEven( x - 2 );
    }
    

    You do that by adding ``` above and below it. To force single line breaks, you can terminate your sentences with two spaces, or a backslash.


  • But then when you’re talking about 10:00 hours without specifying anything else, it actually means something completely different in the local context, apart from it being the exact same time globally. It doesn’t tell you whether it’s night or day at the other persons location. Your default point of reference in that system is the world, while even today, time is mostly used in a local context for most people. When I’m talking to someone abroad and I say “my cat woke me up at 5:00 in the morning”, I expect the other person to get the meaning of that, because the other person understands my local context.

    When planning meetings you’d have to now the offset either way, because I’m not going to meet at idiotic times if there is an overlap in working hours between the two countries, which is something that you’d have to look up regardless of the time system. And if I send out a digital invite to someone abroad, the time zone information is already encoded inside it, and it shows up correctly in the other person’s agenda without the need to use a global time. In that sense UTC already is the global time and the local context is already an offset to that in the current system. We just don’t use UTC in our daily language.

    But if it helps: I do agree that in an alternative universe the time system could’ve worked like that and it would have functioned. I just don’t see it as a better alternative. It’s the same complexity repackaged and with its own unique downsides.


  • But with such a system in place, what are we actually solving? If we’re agreeing on offsets (which would happen in a sane world), we’re just moving the information from one place to another. In both systems there is a concept of time zones, but it’s just the notation that’s different, which adds a whole new bunch of stuff to adapt to that’s goes very much against what is ingrained into society, without offering much in return. It’s basically saying “it’s 10:00 UTC, but I’m living in EST, so the local offset is -5 hours (most people are still asleep here)” [1]. Apart from the fact that you can already use that right now (add ISO 8601 notation to the mix while you’re at it), it doesn’t really change the complexity of having time zones, you just convey it differently.

    Literally the only benefit that I can come up with is that you can leave out the offset indicator (time zone) and still guarantee to be there at the agreed time. Right now you’d have to deduct the time zone from the context, which is not always possible. That doesn’t outweigh the host of new issues that we’d have to adapt to or work around in my opinion.

    [1] In practice we would probably call that 10:00 EST, which would be 10:00 UTC, but indicate the local offset.


  • Sure, but roughly speaking you know that 14:00 local time is probably okay for a business call, whereas 2:00 local time is probably not. You can get that information in a standardized way and the minor deviations due to local preferences and culture can be looked up or learned if needed. In contrast, with the other system there is no standard way of getting that information, except for using a search engine, Wikipedia, etc. The information not encoded anymore in the time zone, because there is no timezone.

    Also, consider this: every software program would have to interpret per country what “tomorrow” means. I mean, when I’m postponing something with a button until tomorrow morning, I sure want to sleep in between. I don’t want tomorrow morning to be whenever it’s 8:00 hours in my country, which can be right after dinner. That means yet again that we need to have a separate source giving us the context of what the local time means, which is already encoded in the current system with time zones.

    Not to mention the fact that it’s plain weird to go to a new calendar day in the middle of the day. “Let’s meet the 2nd of January!” That date could span an afternoon, the night and the morning after. That feels just plain weird and is not compatible with how we’re used to treat time. Which country will get the luxury of having midnight when it’s actually night?



  • Because time relates to the position sun and tells us something about what period of the day it is in that timezone. Your proposal would strip off that information, which means that you would have to look up in a different system what the business hours are in another country, when it’s night, etc. That means that you’re basically reinventing timezones by putting them in a separate system, which defeats the purposes and makes it more complicated than it already is.

    Sure, time differences might be a bit cumbersome, but timezones have a name and can be converted from one to another. Also, most digital calendars (for meetings, etc) have timezone support and work perfectly fine when involving people from multiple timezones. To find a good moment to meet, you will still have to keep the time difference in mind, but in the current system you can at least take it into account just by looking at the time difference.