• 1 Post
  • 5 Comments
Joined 1 year ago
cake
Cake day: June 8th, 2023

help-circle
  • First of all, you can assume the server can infer this in a number of ways - there is actually no way to fully block it, but we can try.

    The main issue for privacy is that it makes your browser behave in ways that are a bit too specific (i.e. less private by comparison with the rest of the browsers in the known universe).

    As for techniques the site can use

    • javascript can test the geometry of something that was rendered to draw conclusions - was this font actually used? test several options and check for variations
    • measure font work between network events i.e. generate a site that makes the browser use unique links for 1) fetches a font 2) renders text and 3) only then another fetch - measure the time between 1) and 3) and draw conclusions. Repeat for test cases and draw conclusions - e.g. is the browser really fast using monospace vs custom huge font? not a great method, but not completely worthless
    • some techniques can actually do some of this without Javascript, provided you can generate some weird CSS/HTML that conditionally triggers a fetch

    By the away not downloading the fonts also makes you “less private”. Some of this is a stretch but not impossible.

    Now for a more practical problem. Lots of sites use custom fonts for icons. Which means some sites will be very hard to use, because they only display buttons with an icon (actually a letter with a custom font).

    FWIW these two lines are in my Firefox profile to disable downloads and skip document provided fonts:

    user_pref("gfx.downloadable_fonts.enabled", false);
    user_pref("browser.display.use_document_fonts", 0);
    

    If someone has better/different settings please share.

    Finally the Tor browser folks did good work on privacy protections over FF. Maybe their issue tracker is a good source of inspiration https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/18097


  • I don’t quite agree with some of the rationale

    1. I do think users have benefited from Open Source, but I also think that there has been an a decline in Open Source software in general
    2. I don’t think contracts are a good analogy here (in the sense that every corporate consumer of the software would have to sign one)

    Having said this I do understand where he is coming from. And I agree that:

    1. a lot of big companies consume this software and don’t give back
    2. corporate interests are well entrenched in some Open Source projects, and some bad decisions have been made
    3. he does raise an interesting point about the commons clause (but them I’m no laywer)

    I would like to remind everyone that the GPL pretty much exists because of (1.). If anything we should have more GPL code. In that regard I don’t think it failed us. But we rarely see enforced (in court). Frankly most of our code is not that special so please GPL it.

    Finally I think users do know about Open Source software indirectly. In the same way they find out their “public” infrastructure has been running without permit or inspection the day things start breaking and the original builder/supplier is long gone and left no trace of how it works.

    Since these days everything is software (or black box hardware with firmware) this is increasingly important in public policy. And I do wish we would see public contracts asking for hardware/firmware what some already for software.

    I wont get into the Redhat/IBM+CentOS/Fedora or AI points because there is a lot more going on there. Not that he is not right. But I’m kind of fed up with it :D




  • I’m a bit of terminal nerd, so probably not the best person to talk about desktop. I don’t have many thoughts with regards to app development or layout for accessibility. What I really would like is for distros to be accessible from the ground up, even before the desktop is up.

    The best example of accessibility from the ground up I saw for linux was talking arch, an Arch Linux spin with speech. Sadly the website is gone, but we can find it in the web archive

    in particular there was an audio tutorial to help you install the live cd (you can still ear it in the archive):

    Here are a few resources, which are pretty dated but I wish they were the norm in any install:

    Now going into your points:

    How should a blind Desktop be structured?

    To be honest I don’t expect much here. As long as context/window switching signals you properly you are probably fine. I have not used gnome with orca in a long time, but this used to be ok. The problems begin with the apps, tabs and app internal structure.

    Are there any big dealbreakers like Wayland, TTS engines, specific applications e.g.?

    Lots.

    Some times your screen reader breaks and its nice to have a magic key that restarts the screen reader, or the entire desktop. Or you just swap into a virtual console running speakup/yasr and do it yourself :D

    TTS engines are probably ok. Some times people complain about the voices, but I think it is fine as long as it reliably works, does not hang, responds quickly.

    Specific applications are tricky. The default settings on a lot of apps wont work well by default, but that is not surprising.

    I do think that a lot of newer apps have two problems

    1. they are not configurable or scriptable at all, there is only one way to do things and no way to customize it. Opening tickets to patch each and every feature is not feasible.
    2. They frequently go through breaking release cycles that nuke old features, so you need to relearn all your tricks on the next major release and find new hacks

    I can give you two good-ish examples, both Vim and Mutt can work very well with a terminal screen reader, but it is a lot of work to configure:

    • with vim you need to disable all features that make the cursor jump around and draw stuff (like line numbers and the ruler)
    • with mutt every single string in the screen can be customized, so you even insert SSML to control speech and read email

    I think you can find similar examples in desktop apps too.

    What do you think would be the best base Desktop to build such a setup on?

    no idea to be honest. Gnome use to have support. I suppose other desktops that can be remote controlled could be changed to integrate speech (like i3 or sway).

    Would you think an immutable, out of the box Distro like “Fedora Silversound”, with everything included, the best tools, presets, easy setup e.g. is a good idea?

    I have never used Silversound. But the key thing for me is to be able to roll back forward to a working state.

    How privacy-friendly can a usable blind Desktop be?

    I think it should be fine. People with screens have things like those Laptop Screen Privacy Filter, people using audio have headphones. Depending on your machine you can setup the mixer so that audio never uses the external speaker.

    I don’t recall the details but you can also have some applications send audio to the external speaker while others use your headphones (provided they are a separate sound card, like usb/bluetooth headphones).

    Also, how would you like to call it? “A Talking Desktop”?

    Urgh, Shouting Linux.


  • This is a really nice summary of the practical issues surrounding this.

    There is one more that I would like to call out: how does this client scanning code end up running in your phone? i.e. who pushes it there and keeps it up to date (and by consequence the database).

    I can think of a few options:

    1. The messaging app owner includes this as part of their code, and for every msg/image/etc checks before send (/receive?)
    2. The phone OS vendor puts it there, bakes it as part of the image store/retrieval API - in a sense it works more on your gallery than your messaging app
    3. The phone vendor puts it there, just like they already do for their branded apps.
    4. Your mobile operator puts it there, just like they already do for their stuff

    Each of these has its own problems/challenges. How to compel them to insert this (ahem “backdoor”), and the different risks with each of them.