• 6 Posts
  • 43 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.






  • Aaah, got it. Right, depending on the version of Windows, keeping it off the internet permanently might make it less prone to doing random stuff. To me it’s highly unlikely that keeping it off the internet will increase security; there will be machines that are way more attractive targets for evildoers (because of the people on them doing stuff) and evil deeds that are way more dangerous than changing the signage. But if you just want to keep its configuration simple so the signs don’t mess up then that kind of makes sense to me.

    I think I misunderstood your setup a little; I thought the signs were their own hardware with their own IP addresses. If they’re just screens of the windows machines it’s a little simpler. You actually can set it up so that machine can see the LAN but never the internet, just by setting it with a static IP configuration with no gateway set. Then you have to go VPN to some other machine on its network, and then hop from there to the local-LAN-only machine that’s hooked to the signs.

    I actually forgot until just right now, but one time when I had this problem, I set up a Chromebox which was set to display a web page in full-screen mode, and used an extension which auto refreshed the page every few minutes, and then set up the web page to look exactly how I wanted it to (I used a Google Docs static export of a spreadsheet page, so I could automatically gather the right data from formulas and then futz around with the spacing and sizing and etc until it looked the way I wanted it to). You could do a similar thing, with a page that was served from some other place on your LAN. Then, the signage machine itself would never need to be accessed remotely or have any access to the internet; you could just unset the gateway, and periodically or automatically update the page that was getting served from the other machine without needing to touch the signage machine.

    Anyway good luck, hope all this gives you some ideas. Probably your IT department will have specific ideas how they want to set it up anyway, but going into it with things a little thought through might help yes.


  • Why do you want to keep it off the internet, though? That’s going to make things more complex both in the setup and in the day-to-day operation. The example you listed of being difficult to upload files is one example. The only reason I can think of to do it that way would be for security but I’m not sure how much actual security benefit it would carry.

    How about this? You could do the two-interface solution like I described, but have the internet-facing interface disabled most of the time – could be disabled in Windows settings, so someone has to have physical access to the machine in order to reenable it when you want to update the sign. Or, it could be disabled at the switch / router level: Just disable the port for that machine, and reenable it temporarily any time you need remote access to the machine to do something, but in the steady state leave it on its own little disconnected network with only the machine and the signs, and no internet access anywhere.


  • What I would do in this scenario is give the Windows machine two network interfaces, and have the second interface connected to a little static network with just the signs and the Windows machine on it (i.e. no internet access). Then, you can access the Windows machine through TeamViewer or whatever. It’ll have access to the internet but the signs won’t be directly visible from the internet. And if someone from the internet is accessing your internal network to tamper with the signs via the Windows machine then you have bigger problems than them tampering with the signs.




  • 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.



  • 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.


  • It’s a symptom of a general lack of respect and lack of desire to collaborate with one another. Compared to real problems you’ll face in trying to communicate and collaborate towards a goal, it’s a miniscule level of effort required to get on the same page with what things are called and then roughly stick to it going forward.

    Is the difference in naming going to make a difference? Maybe. The little extra bit of cognitive load and confusion that can result may or may not hurt, although it definitely won’t help. How about the lack of shared desire to put in the effort that it takes to operate as a cohesive unit; is that going to make a difference? Yes, yes, a thousand times yes.

    It may or may not be something worth stressing over or trying to fix on your end (sometimes it just be that way), but it’s definitely not unimportant.


  • You’re not going to want to hear this, but this logic (i.e. “But MY side is the RIGHT one, so it’s different”) is exactly why the right wing thinks Trump shouldn’t go to prison and it’s okay when they cheat in elections.

    I do agree with you that the left wing is the right side of history. That doesn’t mean someone who’s on the other side suddenly shouldn’t be an executive of anything.


  • You’re not going to want to hear this, but this logic (i.e. “But MY side is the RIGHT one, so it’s different”) is exactly why the right wing thinks Trump shouldn’t go to prison and it’s okay when they cheat in elections.

    I do agree with you that the left wing is the right side of history. That doesn’t mean someone who’s on the other side suddenly shouldn’t be an executive of anything.


  • Why was appointing Eich as CEO so controversial? It’s because he donated $1,000 in support of California’s Proposition 8 in 2008, which was a proposed amendment to California’s state constitution to ban same-sex marriage.

    I want to try a thought experiment. Imagine that you observe this comment in reaction to the above:

    I just don’t get why the author is so pissed about their political contributions. Guess what, people who are involved in big business are usually right-wing and support right-wing organizations. Shocking. Who could have known. I don’t even want to imagine how the author comes to the conclusion that this is some big conspiracy but I think we all know what political spectrum that guy belongs to.

    What I just wrote is a mirror-image version of the top rated comment on that article from a few days ago about the Mozilla foundation funding left-wing organizations. Do you agree with one of those statements and not the other? If so, why?

    It is one-sided to say that someone involved in Brave should only be “allowed” to do so if he doesn’t support anything conservative. Just as would be one-sided and wrong to say that Mozilla shouldn’t be “allowed” to support left-wing organizations. Flipping it around, and looking at the reaction when it’s the other way around, is an easy way to analyze your own internal reactions on it.

    (Generally, I’m in agreement with the idea that you shouldn’t use Brave because of all these other shady things; just this one part jumped out at me as one thing that’s not like the others.)


  • Yah dude. I am a super newcomer to Lemmy, but when I started up it was refreshing that it was cerebral and different and marched to its own beat. I never even really noticed how much image / meme content had taken over reddit, until I saw a place without it. I didn’t agree with the tankies. But, there are tankies! This place is great. It’s different and authentic. I like it. And now, over the last couple of months I’ve been carefully attempting to keep my subscriptions on Lemmy to the factual stuff and eliminate from the feed stuff that’s memes or “Hold my whatever, I’m going in!” just kind of time-wasting.

    And yet, even in the “good” parts I’ve been seeing this takeover of people who are… I don’t even know what they’re doing. I think it’s just sort of this dopamine loop that they want to come on and yammer. I’m sort of assuming that this is maybe a problem only on the big instances, that may be better on Mastadon or on more form-a-community type of instances? Maybe? I hope so.


  • Naturally, the operator called in the operating-system developers. They found the bandit ghost jobs running, and X’ed them… and were once again surprised. When Robin Hood was X’ed, the following sequence of events took place:

      !X id1
    
      id1:   Friar Tuck... I am under attack!  Pray save me!  (Robin Hood)
      id1: Off (aborted)
    
      id2: Fear not, friend Robin!  I shall rout the Sheriff of Nottingham's men!
    
      id3: Thank you, my good fellow! (Robin)
    

    Each ghost-job would detect the fact that the other had been killed, and would start a new copy of the recently-slain program within a few milliseconds. The only way to kill both ghosts was to kill them simultaneously (very difficult) or to deliberately crash the system.

    Finally, the system programmers did the latter… only to find that the bandits appeared once again when the system rebooted!

    -Classic hacker bedtime story



  • The town was infested with some sort of radioactivity from underground that was hurting people. I had to crawl underground, through these super-tight tunnels deep under the earth with things getting more and more evil as I went, until I was able to track the source of the radioactivity to a giant monster that lived back up on the surface (via the tunnels) in an abandoned barn. I had to fight the monster, but I could fly inside the barn. I ripped its head off, but every time I did, it was just like a big rubbery mask and a new head grew back, until I figured out how to do it fast enough that it wouldn’t have time to pop a new head out. When I did that, the real head came out: Tux the Linux Penguin.

    That broke the immersion enough that I woke up, all amped up from adrenaline from fighting the monster.