cultural reviewer and dabbler in stylistic premonitions

  • 95 Posts
  • 402 Comments
Joined 3 years ago
cake
Cake day: January 17th, 2022

help-circle
  • When it’s libre software, we’re not banned from fixing it.

    Signal is a company and a network service and a protocol and some libre software.

    Anyone can modify the client software (though you can’t actually distribute modified versions via Apple’s iOS App Store, for reasons explained below) but if a 3rd party actually “fixed” the problems I’ve been talking about here then it really wouldn’t make any sense to call that Signal anymore because it would be a different (and incompatible) protocol.

    Only Signal (the company) can approve of changes to Signal (the protocol and service).

    Here is why forks of Signal for iOS, like most seemingly-GPLv3 software for iOS, cannot be distributed via the App Store

    Apple does not distribute GPLv3-licensed binaries of iOS software. When they distribute binaries compiled from GPLv3-licensed source code, it is because they have received another license to distribute those binaries from the copyright holder(s).

    The reason Apple does not distribute GPLv3-licensed binaries for iOS is because they cannot, because the way that iOS works inherently violates the “installation information” (aka anti-tivozation) clause of GPLv3: Apple requires users to agree to additional terms before they can run a modified version of a program, which is precisely what this clause of GPLv3 prohibits.

    This is why, unlike the Android version of Signal, there are no forks of Signal for iOS.

    The way to have the source code for an iOS program be GPLv3 licensed and actually be meaningfully forkable is to have a license exception like nextcloud/ios/COPYING.iOS. So far, at least, this allows Apple to distribute (non-GPLv3!) binaries of any future modified versions of the software which anyone might make. (Legal interpretations could change though, so, it is probably safer to pick a non-GPLv3 license if you’re starting a new iOS project and have a choice of licenses.)

    Anyway, the reason Signal for iOS is GPLv3 and they do not do what NextCloud does here is because they only want to appear to be free/libre software - they do not actually want people to fork their software.

    Only Signal (the company) is allowed to give Apple permission to distribute binaries to users. The rest of us have a GPLv3 license for the source code, but that does not let us distribute binaries to users via the distribution channel where nearly all iOS users get their software.


  • Downvoted as you let them bait you. Escaping WhatsApp and Discord, anti-libre software, is more important.

    I don’t know what you mean by “bait” here, but…

    Escaping to a phone-number-requiring, centralized-on-Amazon, closed-source-server-having, marketed-to-activists, built-with-funding-from-Radio-Free-Asia (for the specific purpose of being used by people opposing governments which the US considers adversaries) service which makes downright dishonest claims of having a cryptographically-ensured inability to collect metadata? No thanks.

    (fuck whatsapp and discord too, of course.)


  • it’s being answered in the github thread you linked

    The answers there are only about the fact that it can be turned off and that by default clients will silently fall back to “unsealed sender”.

    That does not say anything about the question of what attacks it is actually meant to prevent (assuming a user does “enable sealed sender indicators”).

    This can be separated into two different questions:

    1. For an adversary who does not control the server, does sealed sender prevent any attacks? (which?)
    2. For an adversary who does control the server, how does sealed sender prevent that adversary from identifying the sender (via the fact that they must identify themselves to receive messages, and do so from the same IP address)?

    The strongest possibly-true statement i can imagine about sealed sender’s utility is something like this:

    For users who enable sealed sender indicators AND who are connecting to the internet from the same IP address as some other Signal users, from the perspective of an an adversary who controls the server, sealed sender increases the size of the set of possible senders for a given message from one to the number of other Signal users who were online from behind the same NAT gateway at the time the message was sent.

    This is a vastly weaker claim than saying that “by design” Signal has no possibility of collecting any information at all besides the famous “date of registration and last time user was seen online” which Signal proponents often tout.




  • You can configure one or more of your profiles’ addresses to be a “business address” which means that when people contact you via it it will always create a new group automatically. Then you can (optionally, on a per-contact basis) add your other devices’ profiles to it (as can your contact with their other devices, after you make them an admin of the group).

    It’s not the most obvious/intuitive system but it works well and imo this paradigm is actually better than most systems’ multi-device support in that you can see which device someone is sending from and you can choose to give different contacts access to a different subset of your devices than others.









  • I started to python one and half week ago. So I’m still beginner.

    Nice work! Here are a few notes:

    The WeatherApp object has a mix of attributes with long-term (eg self.LOCATIONS) and short-term (eg self.city) relevance. Instance attributes introduced in places other than __init__, which makes it non-trivial for a reader to quickly understand what the object contains. And, actually, self.{city,lat,lon} are all only used from the add_city method so they could/should be local variables instead of instance attributes (just remove the self. from them).

    There seem to maybe be some bugs around when things are lowercase and when not; for example checking if self.city.lower() in self.LOCATIONS but then when writing there the non-lower self.ctiy is used as the key to self.LOCATIONS.

    The code under if rep == "1" and elif rep == "2" is mostly duplicated, and there is no else branch to cover if rep is something other than 1 or 2.

    It looks like the config only persists favorites so far (and not non-favorite cities which the user can add) which isn’t obvious from the user interface.

    Passing both location and locations into WeatherAPI so that it can look up locations[location] is unnecessary; it would be clearer to pass in the dict for the specific location. It would also be possible to avoid the need for LOWLOCATIONS by adding a non-lowercase name key to the per-location dictionaries that just have lat and lon right now, and then keeping LOCATIONS keyed by the lowercase names.

    HTH! happy hacking :)



  • Arthur Besse@lemmy.mltoAsklemmy@lemmy.ml*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    1 month ago

    The primary purpose of those buttons is of course to let those sites track everyone’s browsing activity across every site that uses them, which does not require that anyone ever click on them.

    Even if less than 0.0001% of people click them, anyone with an SEO/spammer “grindset” will assure site operators that the potential benefit of someone sharing a link they otherwise wouldn’t have is still at least theoretically non-zero. And, since there is absolutely no cost at all besides an acceptable number of extra milliseconds per pageload, really, it would be downright irresponsible not to have them there!



  • Arthur Besse@lemmy.mlMtoLinux@lemmy.mlWhat was Linux like in the 90s
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 month ago

    encryption would prevent the modem from seeing it when someone sends it, but such a short string will inevitably appear once in a while in ciphertext too. so, it would actually make it disconnect at random times instead :)

    (edit: actually at seven bytes i guess it would only occur once in every 72PB on average…)




  • Arthur Besse@lemmy.mltoOpen Source@lemmy.mlEU OS
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 month ago

    As I wrote in the thread about this last month on !linux@lemmy.ml:

    I wonder how much work is entailed in transforming Fedora in to a distro that meets some definition of the word “Sovereign” 🤔

    Personally I wouldn’t want to make a project like this be dependent on the whims of a US defense contractor like RedHat/IBM, especially after what happened with CentOS.

    and, re: “what do you mean ‘redhat is a defense contractor’?!”: here are some links.

    screenshot of RedHat PDF saying: Compress the kill cycle with Red Hat Device Edge.
Deploy on any aircraft, pod,
sensor, or C2 node
 Ability to comply with
cybersecurity requirements
Executive summary
The U.S. Air Force and its mission partners are fielding new mission capabilities on airframes and
command-and-control (C2) nodes to compress the kill chain. The find, fix, track, target, engage,
assess (F2T2EA) process requires ubiquitous access to data at the strategic, operational and tactical
levels. Red Hat® Device Edge embeds captured, analyzed, and federated data sets in a manner that
positions the warfighter to use artificial intelligence and machine learning (AI/ML) to increase the
accuracy of airborne targeting and mission-guidance systems. Challenges of edge computing on
aircraft and other tactical C2 edge nodes include delivering consistent capabilities on diverse
hardware (new and old, connected and disconnected), meeting airworthiness security requirements,
and efficiently sustaining software at scale. The Air Force can meet these requirements with
Red Hat Device Edge, the edge-optimized software platform that is hardware agnostic.
Opportunity: Use edge technology to defeat the adversary
The Air Force and its partners are developing innovative capabilities on airborne and ground systems
to gain battlespace advantage, including:
 Coalescing and stratifying data to feed AI/ML at the edge to increase the accuracy of
targeting and mission-guidance systems and compresses the mean time to detect (MTTD),
make sense and act across all warfighter domains.
 Delivering near real-time data from sensor pods directly to airmen, accelerating the
sensor-to-shooter cycle.
 Supporting Agile Combat Employment (ACE) in the highly contested
21st-century battlespace.
 Sharing near real-time sensor fusion data with joint and multinational forces to increase
awareness, survivability, and lethality.
“With Red Hat Device
Edge Lockheed Martin
is leading the infusion
of cutting-edge
commercial technology
into military capabilities
that deliver advanced
solutions to our
customers. Unlocking
these AI technologies
can help national
security decision
makers stay ahead of
adversaries, enabling
a safer and more
secure world.”
Justin Taylor
Vice President, F-22 technology,
Lockheed Martin 1
1 Red Hat press release. “Lockheed Martin, Red Hat Collaborate to Advance Artificial Intelligence for Military Missions,”
25 Oct. 2022.

    (source)