Hacker Newsnew | past | comments | ask | show | jobs | submit | Narushia's commentslogin

My additional recommendations:

1. You don't need a separate browser extension for blocking cookie notices, Ublock Origin can do that just fine. You just need to enable the cookie notice filters in the settings (they are disabled by default).

2. AdAway on Android allows network-level blocking without resorting to a VPN (it's based on /etc/hosts). Though it does require root.


But Consent-O-Matic doesn't just block cookie notices, it clicks on the appropriate buttons to deny them first for the major kinds of cookie dialogs.

I refuse to engage with them on principle and will not signal denial or acceptance, because doing so would legitimise this farcical, dilettante excuse for a government "solution".

It's not a government solution. All they have to do is not track you.

Private industry invented these dialogs in the hope that you'll be too tired to deny anything.


I get the point you're trying to make, but it absolutely is a government solution, because it was obvious to anyone that this would be the result. And there has been nothing done to remedy or even admit their failure. Asking big tech nicely not to be evil has never worked. Besides, there are plenty of cases where websites without tracking have the popups anyway, just to be on the safe side from the wrath of EU bureaucracy.

Isn't the point of the notices that you have to explicitly agree to them for the site to be allowed to track you? Wouldn't never accepting be equivalent to rejecting?

Some of them still come preset to accept all.

Is that legal per the GDPR?

The problem with ad blocker apps on Android is that they always require a either a VPN, in which cases my banking apps don't work, or root, which is getting harder and harder to get and probably also breaks my banking apps.

However, I have found that using NextDNS as a private DNS server works and doesn't cause any problems like this.


I'm still having good results with root, Magisk, and Play Integrity Fix. That does involve some knowledge and effort though, so what I point others to is Mullvad DNS, which is free: https://mullvad.net/en/help/dns-over-https-and-dns-over-tls

Don't forget to give apps that fuck with you in the name of security 1-star reviews!


> Mullvad DNS

This works the same way as NextDNS on Android but is less customizeable.


True, but it doesn't require an account, and is free for unlimited use. Not having to sign up for anything is a plus when I'm recommending things to others.

> You just need to enable the cookie notice filters in the settings

I didn't know it existed. FWIW, it's under Settings > Filter lists > Cookie notices.


I'd be surprised if it did, there's no technical reason to require those. Also, SafetyNet is deprecated in favor of Play Integrity, so you're not likely to see the former in any new apps/services.


> I'd be surprised if it did, there's no technical reason to require those.

That has never stopped Google from requiring Play Services.


> it’s nothing like dreaming.

That's interesting. When I close my eyes and imagine "seeing" things, I would actually describe it as pretty much exactly like the sensation I have when I "see" stuff in dreams. To me, this similarity is especially clear when I wake up in the middle of a dream, then close my eyes while awake — I can continue where I left off, and it "looks" exactly the same as in the dream.

But I agree that it doesn't feel like "sight", as in the physical act of seeing with your eyes.


I think I am aphantasic or mostly so. I don't see visualizations but have vague echoes of their derived properties like spatial structures. It is almost like proprioception if I were some amorphous being that could spread out my countless limbs to feel the shape of the scene.

But, I do have vivid, sometimes lucid, dreams. I would say they are exactly like seeing and being in terms of qualia. It feels like my eyes, and I can blink, cover my face, etc. It's like a nearly ideal, first-person VR experience.

They are unlike reality in that I can be aware it is a dream and have a kind of detachment about it. And the details can be unstable or break down as the dream progresses.

Common visual problems are that I cannot read or operate computers. I try, but the symbolic content shifts and blurs and will not remain coherent.

Motor problems include that I lose my balance or my legs stop working or gravity stops working and I start dragging myself along by my arms or swimming through the air, trying to continue the story.

If I've been playing video games recently, I can even have a weird second-order experience like I am fumbling to find the keyboard and mouse controls to pilot myself through the dream! That is a particularly weird feeling when I become aware of it.

I feel like I have recurring dreams in the same fictional places, but they can have unreal aspects that lead me to get lost. Not like MC Escher drawings, but doorways and junctions that seem to be unreliable or spaces that don't make sense like the Tardis.


uv has played well with Docker in my experience, from dev containers to CI/CD to production image builds. Would be interested to hear what is not working for you.

The uv docs even have a whole page dedicated to Docker; you should definitely check that out if you haven't already: https://docs.astral.sh/uv/guides/integration/docker/


> Any good solutions for passing secrets around that don't involve environment variables or regular plain text files?

Honestly, my answer is still systemd-creds. It's easy to use and avoids the problem that plain environment variables have. It's a few years old by now, should be available on popular distros. Although credential support for user-level systemd services was added just a few weeks ago.

A TL;DR example of systemd-creds for anyone reading this:

    # Run the initial setup
    systemd-creds setup

    # This dir should have permissions set to 700 (rwx------).
    credstore_dir=/etc/credstore.encrypted
    # For user-level services:
    # credstore_dir="$HOME/.config/credstore.encrypted"
    
    # Set the secret.
    secret=$(systemd-ask-password -n)
    
    # Encrypt the secret.
    # For user-level services, add `--user --uid uidhere`.
    # A TPM2 chip is used for encryption by default if available.
    echo "$secret" | systemd-creds encrypt \
        --name mypw - "$credstore_dir/mypw.cred"
    chmod 600 "$credstore_dir/mypw.cred"
You can now configure your unit file, e.g.:

    [Service]
    LoadCredentialEncrypted=mypw:/etc/credstore.encrypted/mypw.cred
The process you start in the service will then be able to read the decrypted credential from the ephemeral file `$CREDENTIALS_DIR/mypw`. The environment variable is set automatically by systemd. You can also use the command `systemd-creds cat mypw` to get the value in a shell script.

At least systemd v250 is required for this. v258 for user-level service support.


Would be cool if this also had a `retry` sub-command, for running any commands with an exponential backoff retry logic. Similar to these Rust tools:

https://github.com/demoray/retry-cli

https://github.com/rye/eb


NFS v4.2. Easy to set up if you don't need authentication. Very good throughput, at least so long as your network gear isn't the bottleneck. I think it's the best choice if your clients are Linux or similar. The only bummer for me is that mounting NFS shares from Android file managers seems to be difficult or impossible (let alone NFSv4).


I think you can serve NFSv4 and also NFSv3 at the same time for those Android apps (e.g. Kodi).


Yes, that's what at least the `nfs-server` service on Fedora does by default. And VLC also supports v3 on Android… maybe they use the same implementation as Kodi behind the scenes? It's weird the v4 support is so spotty still, even though it has been around for two decades. Even NFS v4.2 is almost ten years old at this point.


I looked into this a while ago and was surprised to find that no file explorer on Android seems to support it[1]. However, I did notice that VLC for Android does support it, though unfortunately only NFSv3. I was at least able to watch some videos from the share with it, but it would be nice to have general access to the share on Android.

[1] Of course, I didn’t test every single app — there’s a bucketload of them on Google Play and elsewhere…


Yes ! they are using a a client library for that https://github.com/sahlberg/libnfs


Interesting, the readme for that library says that NFSv4 is supported. So that likely means that VLC is doing something wrong on their side, because only NFSv3 works?


By default, Mypy warns you if try to reassign a method of any object[1]. It will also warn you when you access non-existent attributes[2]. So if you have a variable typed as `object`, the only attributes you can manipulate without the type checker nagging are `__doc__`, `__dict__`, `__module__`, and `__annotations__`. Since there are very few reasons to ever reassign or manipulate these attributes on an instance, I think the `object` type gets us pretty darn close to an "unknown" type in practice.

There was a proposal[3] for an unknown type in the Python typing repository, but it was rejected on the grounds that `object` is close enough.

[1]: https://mypy.readthedocs.io/en/stable/error_code_list.html#c...

[2]: https://mypy.readthedocs.io/en/stable/error_code_list.html#c...

[3]: https://github.com/python/typing/issues/1835


Thanks, I didn't have this context. I'll start using this!


In my opinion the sheer volume of "close enough" choices is what ruins Python's type system.

It's "close enough" to a usable type system that it's worth using, but it's full of so many edge cases and so many situations where they decided that it would be easier if they forced programmers to try and make reality match the type system rather than the type system match reality.

No wonder a lot of people in the comments here say they don't use it...


I think they can get away with the "close enough" solutions since Python's type annotations don't have any runtime contracts by default. Might be off-putting to people who are more familiar with statically typed languages (though not always, in my experience).


I would buy that argument more if Typescript didn't exist.

You can live with the "close enough" if you're writing a brand new greenfield project and you prevent anyone from ever checking in code mypy doesn't like and also don't use any libraries that mypy doesn't like (and also don't make web requests to APIs that return dictionary data that mypy doesn't like)

Retrofitting an existing project however is like eating glass.


That's what I use it for. If you type something as `object`, static type checkers can just narrow down the exact typing later.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: