• 1 Post
  • 18 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle
  • Everything Wordpress is heavily infested with that. However you don’t have to let it impact you – it kind of looks to me like they pressure commercial vendors to put their stuff under the GPL if they’re wanting to offer a free version, so there’s a robust ecosystem of actually-FOSS tooling for it. My experience has been that it’s always worked pretty well in practice; you just have to keep your nope-I’m-not-paying-for-your-paid-version goggles firmly affixed. (Also, side note, GPT does an excellent job of writing little functions.php snippets for you to enable particular custom functionality for your Wordpress install when you need it.)


  • Wordpress 1,000% (probably coupled with WooCommerce but there are probably some other options)

    I honestly don’t even know off the top of my head why you would use anything else (aside from some vague elitism connected to the large ecosystem of commercial crap which has tainted by association the open source core of it) – it combines FOSS + easy + powerful + popular. You will have to tiptoe around some amount of crapware in order to keep it pure OSS though.



  • I saw some supposed-expert-for-what-that’s-worth on reddit according to whom this isn’t quite accurate. He said the doctrine he’d been taught was, if you get hit in a tank then it’s highly likely that more is coming, so aggressively moving in the direction from which the fire came and shooting the shit out of anything you see is your best chance for survival.

    This was a comment on a video of Russian tanks getting blown up, and he said the Russian response he was observing, of stopping the tank moving, wandering around briefly, and then trying to get away with obstacles blocking you was basically the fastest way to get yourself and everyone in your tank killed. So at least the US box of this graphic should read: “FUCK EM UP FUCK EM UP MEAT’S BACK ON THE MENU”


  • This is a long time coming TBH. It hasn't made sense for at least 10-15 years for Microsoft to still be trying to "win" against Linux. To me when I see it it seems weird. It's like your old grandpa who still talks about the "japs" when he sees someone driving a Toyota.

    Linux runs most of the smartphones in the world, and a BSD fork runs the rest. It's done. No one is going to deploy Windows Server 2023 edition to run their web services unless something's gone pretty badly wrong. We're all focused on AI and cloud computing now, and have been for some time.

    The most critical thing a business can do to remain successful is recognize and adapt to the new reality.


  • Almost as if the whole endeavor is a ridiculous counterproductive waste of time.

    It would be possible to implement a "slur filter" on the reader's side, that automatically redacted a configurable list of bad words from any comment on any instance… but I suspect that the percentage of people who would enable it, and the general community feedback on it, wouldn't be what the person who made the decision wants to hear. Doing it on the sender side provides a convenient pretense of "I'm doing a good thing here" because it prevents that feedback.


  • mo_ztt ✅@lemmy.worldtoLinux@lemmy.ml*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago
    1. Settings & Beta -> Data controls -> Export data
    2. Unzip
    Python 3.11.3 (main, Apr 21 2023, 11:54:59) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import json
    >>> with open('conversations.json') as infile:
    ...     convos = json.load(infile)
    ... 
    >>> for convo in convos:
    ...     for key, value in convo['mapping'].items():
    ...         message = value.get("message", None)
    ...         if message:
    ...             parts = message.get("content", {}).get("parts", [])
    ...             for part in parts:
    ...                 if 'text to search' in part:
    ...                     print(part)
    
    1. Customize to taste



  • I mean… if a friend used the word “female” in an obviously innocent way, and so I kicked them out of my house and told them they could never come back, I think the consequences that I would experience in terms of what my other friends said to me would be pretty similar to the consequences this particular mod team is experiencing. “You’re not free from people criticizing your actions or taking action against you” applies both ways, I think.

    There’s nothing wrong with removing toxicity

    There is, though, if you define “toxicity” in a totally weird and nonsensical way. What I’m objecting to is the crazypants definition of toxicity, not the idea of removing actual toxicity from public spaces. Was that not already evident from what I wrote?

    I bet you think Musk is doing a good job with Xwitter too.

    Nice thought-terminating cliche. I am not your enemy; it sounds like you’ve decided that I am, as a way of dismissing whatever I have to say, but I can assure you that I’m not whatever cliche you have in mind. You can look over my post history if you still feel like I am.



  • I’m trying so hard not to use the downvote button as a “disagree” button here.

    Reality matters. If the post obviously didn’t mean anything bad, and there’s no realistic way that any real human person might be hurt in any way by reading the post title, then banning the post is pure wankery. Yes, even if it’s “incel language.” I would go further than that and also support all kinds of speech that actually might be offensive or hurtful to some person reading, for some variety of reasons, but this is so clearly on the “just let it be and worry about issues that are genuine issues instead” side that I’m having trouble believing that the people defending it are sincere.

    When the did the left get so thin skinned? What happened to the ACLU defending neo-Nazi rallies? Why pick a battle about something so silly the “winning” of which carries no benefit to anybody?




  • You shouldn’t have to… as I understand it, if it’s showing up on your server, that means your server authenticated it. Given the general flakiness of all this software and Lemmy in particular, I wouldn’t put too much reliability on that, but that’s the theory.

    If you do want to double-check it yourself, I know partially how to do it. You don’t have to get the key from the database; it’s probably simpler and safer to get it from your user’s JSON. Here’s a super-basic script to dump a fediverse endpoint’s contents:

    import requests
    import json
    import sys
    
    def fetch_and_pretty_print(url, headers=None):
        # If headers are not provided, set default to fetch ActivityPub content
        if headers is None:
            headers = {
                'Accept': 'application/activity+json',
                'User-Agent': 'Fediverse dump tool via @mo_ztt@lemmy.world'
            }
        
        try:
            response = requests.get(url, headers=headers)
            response.raise_for_status()  # Raise an exception for HTTP errors
    
            # Try to parse JSON and pretty print it
            parsed_json = response.json()
            print(json.dumps(parsed_json, indent=4, sort_keys=True))
            
        except requests.RequestException as e:
            print(f"Error fetching the URL: {e}")
        except json.JSONDecodeError:
            print("Error decoding JSON.")
    
    if __name__ == '__main__':
        fetch_and_pretty_print(sys.argv[1])
    

    If I want to validate your comment, I would start by getting your public key via your user’s endpoint on your home server. I could save that script up above as fetch, then run python fetch https://lemmy.mindoki.com/u/Loulou, and in among with a bunch of other stuff I would see:

        "publicKey": {
            "id": "https://lemmy.mindoki.com/u/Loulou#main-key",
            "owner": "https://lemmy.mindoki.com/u/Loulou",
            "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArRwWZneP9efCrsymHDE2\nsJAHojjxE4A2Q3Hquwt7s/HPTAi3gKP7NKCRSH7XVPtGhieJdtDeoLMkitvZXCUX\nS1pZArTYihuLeOwbB+JrAHZpWr1sYpazspUPvl3MhDAOOCCAnSeqsMNPNd8QX1Tf\nN/3Bp4PRVmp9E968L61h93L5N3B7VxZ37kbzKFXrhmU6qFQbAoVQvHtojCD6WqR2\nMb84eJy5QBN+0SjvGR8LRE0iJZiwYvVXKNoEyOqr4Fw8YnELi3TYbfxX++0uXw97\ne+/rFgaa/QVCSopUbHkuX/ZfjzCdBAI+aqXsbmYLgdxdRDHur0k53aCh3u0t/IDL\nHQIDAQAB\n-----END PUBLIC KEY-----\n"
        },
    

    I don’t know off the top of my head how you could navigate your way to the fediverse JSON for your comment, or how to verify its signature once you find it (I tried to get the post by dumping your user’s outbox and the lemmy_support community’s outbox, but neither of those worked the way I expected it to), but that all might be a helpful starting point. I know that according to the docs, anything that was created by your user and then federated is supposed to be signed with that key so that other servers can authenticate it.


  • Here’s quite a good overview. The short answer, I think, is that the signature is embedded into the JSON object representing the post / upvote / whatever, which then gets passed around server-to-server (and each server checks the signature against the original server’s TLS certificate). It’s not something you can get your head around just by asking a couple simple questions but it’s a pretty fascinating design when you get your head around it.


  • I’ve had plenty of unpopular-opinion arguments here (example) and I’ve literally never had a post or comment removed that I know of. On reddit it happened several times from “both sides” of the traditional spectrum. I.e. the mods here are significantly less ban-happy than they were on reddit (although you’ll definitely get downvoted for saying certain things depending on which community / which instance). Also, because of the smaller size and the UI differences it actually doesn’t make too much difference if you get downvoted – your stuff won’t get hidden; it’ll just get a sort of scarlet letter of WE DON’T LIKE THIS MAN SAYING THIS, but everyone can still read it.