• 1 Post
  • 341 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle
  • I think ActivityPub is closer to the right answer than ATProto, and ActivityPub’s issues (though many, as the author notes) are more manageable in the long run. I think the article makes a good analysis of the fundamental differences, but is a bit glib in referring to Piefed’s topics and discussion merging as a “joyful mess”. It’s not a mess at all. It’s making order out of the chaos, and it’s the right way to build on top of ActivityPub into something that is actually fluid enough for users to actually use.

    Mailing lists were built on top of federated email in much the same way, and they formed enduring, resilient, well-structured communities, some that continue to this day (the LKML being perhaps the most notorious)

    I think ATProto makes creating enduring communities too difficult, and BlackSky illustrates that perfectly. The author’s criticism of ActivityPub, on the other hand, seems to be that it makes creating communities too easy, and this results in a “mess”. I disagree, I think the mess is a necessary and inevitable part of having community. Communities are messy. They fracture and schism, they rejoin and reshape themselves. That’s normal. It is the responsibility of the software to make sense of the mess and make it presentable, and with ActivityPub, that is not only possible, it is happening. Piefed is the present example. I expect there will be more examples, and a wider variety of them, as the ecosystem continues to develop.

    I think the biggest thing that ActivityPub still needs is better portability, for both users and communities, to allow moving servers more seamlessly. The “Personal Data Server” of Bluesky is not a bad concept, although I don’t love their implementation. I think ActivityPub can find a way to handle portability even better, but it doesn’t seem like it’s been a priority, and that’s fine. But it will need to happen eventually.


  • I think it’s a fair criticism. The combat/random encounters are generally the most tedious part of any jRPG but certainly FF in particular. There are some really unique and interesting random battles or areas where the constant battling is intense and exciting rather than annoying, but they are rare.

    Overall though, I think the rest of FF7 more than makes up for it. I can certainly understand not being able to get past that though, although I’m curious how far you got. The game goes through a lot of different “stages”, which is one of the things I like about it, but it means the gameplay while you’re stuck in Midgar is quite distinct from the open world, and becomes distinct again once you get access to the Golden Saucer, or the airship, or into Midgar again.


  • FF has been steadily turning from actual role playing games where the gameplay was once in the driver’s seat and the scenes and story add spice and flavor, to vaguely interactive “cinematic experiences” where the story being endlessly shoved down your throat is the purpose, and the gameplay is just a repetitive distraction from the real novelty which is the crazy stories and cutscenes they come up with.

    Ironically FF7 itself was probably the beginning of that trend, thanks to the ability of Playstation CDs to hold so much FMV compared to the limits of ROMs at the time. They dove in headfirst and never looked back, and that came to define the franchise from that point forward. 3 Discs of FMV was pretty over-the-top for their first release on the platform, but the franchise’s addiction to relentless cinematics never waned, it only increased. And the relegation of gameplay being put in the passenger seat, then the back seat, then the trunk, then dragged behind the vehicle to its inevitable death as the art and story become the sole focus became more pronounced with each new entry in the series.

    I loved FF7 (and 8, and somewhat less 9, and even 10, and 12 have some redeeming qualities) but the steady and continuous trend away from compelling gameplay towards visual spectacle is abundantly clear.

    I haven’t played an FF game since 12, remakes or otherwise, and I don’t plan to. I’ve read the writing on the wall, and I see who they’re making games for, and it’s not me. Maybe it’s other people. Maybe it’s themselves, I don’t know. All I know is it’s not me. I have no interest.


  • Split DNS typically refers to splitting the DNS results of a single, existing DNS server depending on who asks it, which is not what you want here, because that same server would be serving both external clients and internal ones and would need to differentiate between them.

    You want an internal DNS server JUST for your own LAN, and its full-time job is very simple: to have all your local machines pointed at it for DNS, then it will either pretend it’s authoritative and return the proper local IPs for whatever name you ask it for that’s supposed to be on the local network, OR it forwards any other requests it doesn’t consider itself “authoritative” for onwards to your Adguard or other DNS provider to get a real authoritative external IP in response.

    The very simplest option for a bare-bones, basic DNS server that will do what you need is dnsmasq. Here is the default sample config for reference. Simply leave all “dhcp” related settings in the config commented out and you’ll probably also want to set:

    • no-hosts (won’t use the /etc/hosts file)
    • resolv-file (an /etc/resolv.conf style file that tells it what actual nameservers to use for all other queries)
    • and either address=/sub.domain.tld/192.168.1.1 (for the subdomain and everything under it)
    • or host-record=sub.domain.tld,192.168.1.1 for only that specific subdomain exactly

    Then change all your local DNS servers to point at dnsmasq’s IP address (you typically would do this at whatever device is handing out IPs on your network with DHCP, for example the router)

    I think that’s pretty much it.


  • To me, it makes sense for things that are simple to review, have clear, binary acceptance criteria, and little to no meaningful attack surface or dangerous failure modes. If you are trying to make an AI develop a bulletproof filesystem device driver or network stack you’re a fucking maniac and should be pilloried in the town square. If you want to throw an AI-generated github actions build script at me that’s perfectly fine and once I’ve reviewed it thoroughly it doesn’t bother me one bit if it’s AI-generated.



  • Among several other things, yes, that is indeed one of my bugbears, I could name countless others too.

    But like I implied it’s not just one specific bad decision for me, just the general attitude and direction of the developers. Not that they’ve lost the plot completely, but that they just have a specific plot in mind that diverges pretty significantly from mine and it is never going to satisfy me. Every time it updates the feeling grows that it’s always going to be a struggle to get the game I want to play out of Avorion’s future, that I’m always going to have to be plastering mods over top of the decisions I don’t like, and it’s just… exhausting.



  • The purpose of the health check is to allow docker itself to talk to whatever service is running on the container to make sure it’s always responding happily, connected to everything it needs to be connected to for proper operation, and is not overloaded or stuck somehow.

    Docker does this by pretending to be a web browser, and going to the specified “health check URL”. The key thing I think you’re missing here is that the health check URL is supposed to be a URL that, ideally, runs on your container and does some meaningful checks on the health of your service, or at the very least, proves that when you connect to it, it is able to serve up a working static page or login page or something (which doesn’t actually prove it’s working completely, but is often good enough)

    Now, you’re probably wondering why this isn’t automatic, and the answer is because there’s no standard “health check URL” that fits all services. Not all services even respond to URLs at all, and the ones that do may have different URLs for their health checks, they may need different hostnames to be used, etc.

    By setting health check URL to example.com, basically what you’re doing is constantly testing whether the real-world website https://example.com/ way over there somewhere is working, and as long as it is, docker assumes your container is fine. Which it might be, or it might not be, it has no idea and you have no idea, because it’s not even attempting to connect to the container at all, it’s going to the URL you specified, which is way out there on the internet somewhere, and this effectively does nothing useful for you.

    It’s understandable why you probably thought this made sense, that it was testing network connectivity or something, but that is not the purpose of the health check URL, and if you don’t have a meaningful URL to check, you can probably just omit or disable the healthcheck in this case. Docker only uses it to decide if it needs to restart the container or alert you of the failure.



  • Avorion… like, don’t get me wrong, I’ve got 1,200+ hours in it, and on paper it still features literally everything that is like digital crack cocaine to me… but the updates and changes just keep going in directions that don’t interest me, at all, and even though they’re not explicitly bad per se, I find myself overwhelmed with disappointment about what the updates could’ve been, and I just become less interested, and end up playing less and less, to the point that I never even bothered installing it in 2025 and still don’t have it installed and when I do install it I generally just play it for a little bit and quickly become bored and disillusioned and end up going back to the X series or something to scratch the itch that it’s just not scratching for me anymore.



  • cecilkorik@lemmy.catoSelfhosted@lemmy.worldWhat else should I selfhost?
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    17 days ago

    Before you even start, consider adopting an ‘infrastructure as code’ approach. It will make your life a lot easier in the future.

    Start with any actual code: If you have any existing source code, get it under git version control immediately, then prioritize getting it into a git hub like forgejo to make your life easier in the future. Make a git repository for your infrastructure documentation, and record (and comment/document too if you’re feeling ambitious) every command you run in a txt file or an md file or a script, and do that as religiously as you can while you’re setting up all this self-hosted stuff. You may want to dig it up later to try and remember exactly what you did or in case stuff goes wrong and you need to back off and try again. It might seem pointless now, but a year from now, you’ll thank me.

    Especially prioritize getting your git stuff moved into a self-hosted forgejo if any of your stuff is hosted on the microsoft technoplague called github.


  • I ran Matrix for like a year, and pretty much hated every minute. It was fragile, complicated, and incredibly, bafflingly resource intensive. Matrix is an overengineered nightmare in my opinion, and it seems to be quickly distancing itself from self-hosters while pursuing enterprise usage. Neat technology, horrible implementation, misguided company.

    XMPP is a breath of fresh air in comparison. Just like we still use email everywhere (even for authentication nowadays, fun!), XMPP is not obsolete simply because it’s older. It’s a solid foundation, plenty extensible, and does almost everything I can imagine needing to do without unnecessary complexity.

    Matrix’s bridges are its killer feature, and it’s nice… when it works. But it’s simply not worth the headache of dealing with Matrix, in my opinion.


  • If the polls are rigged, does that imply that most Israelis don’t support the genocide? So … you think you’ve got a majority of people who don’t support the genocide and with that majority you plan to do … nothing? Just gonna … let the minority do what they want?

    There’s a word for that, the word is “support”. You might not think you’re supporting it, but if you’re not doing something to fight it, then yes, you are supporting it. Get to work. Nobody ever promised that doing the right thing has to be easy.



  • Lots of enabling in your comment.

    People like you, with no control over the big decisions. Just like Palestinians can’t control Hamas, Russians can’t control Putin, US citizens can’t control Trump, and so on.

    If people can’t control their own governments, who can? Who should? Other people’s governments? Is that how you think it’s supposed to work? That’s why Israel is obliterating Gaza? Because Gaza can’t get rid of Hamas themselves so Israel is going to do it for them? Do you think that is justified and the right way to do things? Is it Canada’s job to rescue the US? Is it Europe’s responsibility to stop Russia?

    Are Iranians responsible for the Iranian regime? Yes, they are, that’s why they’re fucking protesting and dying in the streets right now. Resist, fight back, don’t comply, undermine your illegitimate government until they can be toppled.

    Take responsibility. I am responsible for the actions of my government and my country. And so are you. You will be held responsible. And you should be. Other countries are not responsible for fixing your shit. You are. Fix it. Figure out how. Stop acting like it’s somebody else’s problem and you are just a humble peasant. Humble peasants can start revolutions. Lazy citizens who are happy with the status quo while pretending they don’t agree with it do not start revolutions. Which one are you?


  • I don’t want the free petition websites online getting my personal network’s info and sharing or selling it, hence the interest in self hosting.

    So either you’re creating a petition with a size of exactly “1” or you’re asking other people to trust YOU with their personal info instead, or you’re asking for a federated solution (extremely difficult to establish a verifiable web of trust framework, and STILL shares your “personal network’s info” whenever it federates or validates its data to dozens of other servers).

    None of these scenarios are viable for creating a petition that anyone is going to take seriously (to the extent that anyone takes petitions seriously at all)


  • fail2ban mainly, but also things like scaling login delays (some sort of option often built into the software you’re running, but just as often not configured by default), or if you’re feeling particularly paranoid account locking after too many failures, and in general just not using default, predictable, common usernames or weak passwords, and honestly it’s even helped a bit by having slow hardware and throttled network bandwidth.

    The goal is to make it so that someone can’t run a script that sends 100 million login attempts per second for common or stolen usernames and passwords and your server just helpfully tries them all and obediently tells them none of those worked… until one of them does.

    Not only does this encourage them to TRY sending 100 million login attempts per second because your server isn’t refusing it, which is a huge waste of bandwidth and resources, it also makes it really likely that they’re eventually going to guess one right.


  • It’s basically a free single-player demo with extra steps. Not being able to play on legitimate servers is realistically a huge drawback, honestly. And also, Microsoft knows it’s a huge opening for “piracy” which is why they’ve created Bedrock edition which is where all their monetization efforts and future content updates will be increasingly directed.

    Neither you nor I are supposed to ever care about Bedrock, or are ever expected to pay a cent for Minecraft. We are a tapped resource financially with nothing left to give and trying to get more money out of us and our community would be like trying to get blood from a stone. But that doesn’t mean we’re not important. Our role, even as free-to-play pirates in the Minecraft ecosystem, is to create content and create brand awareness, to keep it trending and on people’s radar, so that when children and whales are drawn to it, Microsoft makes sure the first thing they see is some Bedrock edition thing and they can start shelling out cash immediately.

    The whales, children, and naive parents are where the free money is. We’re just part of the advertising pipeline aimed at those demographics. We create buzz, they buy.