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

help-circle

  • This is typically called “continuous deployment” or “CD”, a close neighbor to “continuous integration” or “CI”, and you will find that this is a very deep rabbit hole.

    It’s intentionally roundabout, as it has security implications when you make that process too direct and automated. You don’t really want to just give your forgejo repository root commandline access to the machine it’s running on (and it doesn’t want you to do that either). Good software like Forgejo doesn’t trust itself nevermind its users, and sets things like this up in a way that it has to pass through various gates in the process that control what it’s doing a little more carefully and explicitly. At the end of the day of course it’s always potentially dangerous to be running automatic code deployments like this, but adding the extra hoops to jump through is one way of putting extra barriers against someone trying to profoundly violate your machine. There’s a swiss cheese model of security going on here, where yes, there are holes in each of the slices, but unless all the holes of all the different slices line up exactly like they’re supposed to, an attacker can’t get through.

    With that said, there are tons of CD options out there and it’s totally possible to roll your own especially for a simple use-case like this, but forgejo runners are absolutely the easiest and most native way of handling this, they follow the github actions configuration almost perfectly (for better or worse, it’s become the standard now, god save us all). The initial setup is a bit front-loaded, but once you’ve got your runner connected, you’re laughing. Smooth as silk. Don’t worry too much about the “risks” side of the setup, if this is truly a single-user Forgejo where you’re not letting other people create repos and you’re not blindly copying other people’s repos or accepting dangerous PRs from people, the risks are minimal, you’re the only one running github actions on it, you can give it access to the same machine Forgejo is on without too much worry. You’re poking a few holes in the swiss-cheese security model but, us self-hosters have gotta do what we’ve gotta do with our limited resources.

    Once the runner’s connected, just pretend you’re dealing with github actions from that point forward, set the “runs-on” attribute to point at whatever you tagged your runner with, and either use native github actions directly from github, or they’re also mirrored on forgejo.org (for example https://code.forgejo.org/actions/setup-go) or you can mirror them yourself, or you can just avoid using pre-packaged actions at all and just script your heart out and run straight bash commands. It’ll run and do whatever you tell it to. It’ll pull down the latest copy of the repo and deploy it wherever you want, however you want, you can have it run deployment scripts you’ve saved inside the repo itself, whatever you need to do to get it deployed.



  • XMPP/Jabber and Matrix both support full end-to-end encryption. Matrix has more cool modern features and slicker UI but has a brutally complex architecture if you want to self-host it. Matrix.org is available though, but since it’s pretty centralized it’s likely to get blocked. XMPP is simple and self-hostable. Both protocols are pretty niche, and except for matrix.org most of the providers that use the protocols are extremely niche. I would say XMPP is on the whole significantly more niche, though. My condolences on your family being in Russia. The warmongering fascists must be stopped. Good luck, hopefully everyone can stay safe.


  • Before anyone says “ugh, AI!” it’s important to look past the headlines to understand what’s actually being discussed here.

    I wish we could get rid of the stupid term “artificial intelligence” and separate the technologies themselves from the companies abusing them. It’s not “intelligent” and not every form of machine learning takes the form of sycophantic chatbots being forced down everyone’s throats by an Orwellian tech oligopoly.

    Weather forecasting is an area where learning models actually make sense. We already have weather models which is exactly what the meteorologists already use, however these are very manual and static models which an enormous amount of manual work went into creating, and we only have a handful of reliable models to use, and even those reliable models are far from perfect and often disagree in profound ways. And just like today’s learning models, they take large amounts of processing power to compute. They are tools in the meteorologist’s toolbox, used to guide them without replacing their own intelligence and interpretations. Learning models for weather are not just a buzzword, they take advantage of modern technologies to actually potentially be significantly more efficient than the older, manual models and the fact that they are capable of both learning and rapidly iterating is potentially very helpful in a world where the climate is rapidly changing thanks to greenhouse gas emissions. They don’t replace our existing weather models, but they may be able to adapt faster or provide alternative projections that meteorologists may find genuinely useful when the traditional models are not working well.

    Environment Canada is a highly data-driven organization of capable experts and have what I would call a very strong track record. They are very unlikely to be using this technology irresponsibly. Give them some credit.





  • Fortunately, in the post-truth world we no longer have to be limited by the meanings of words or historical precedent. We can simply redefine geography whenever it suits us, others are already doing so with impunity. If the Gulf of Mexico can become the Gulf of America and South America can become the United Colonies of America, then why can’t Canada become Europe? Nobody gives a fuck anymore. This isn’t about getting marked correctly on an assignment, this is about survival in the face of the collapse of world order and building a fortress around social democracy before it’s divided and conquered.


  • There’s a fundamental difference between a game that was designed with love and passion and too much exuberant ambition, so it released full of terrible game balance issues, catastrophic bugs and lacking content, and a game that was designed with such an utter lack of ambition and milestone-chasing-box-ticking that it is just an empty, hollow, soulless cliche of bland samey slop.

    Bugs and balance and game mechanics can easily be improved and fixed to the point that criticisms are completely forgotten, and that’s what happened with Cyberpunk. Content takes a lot of time but is easy and seamless to add if the foundation is there and the fundamental bones of the story are strong enough to hold them up. But it has to have those bones from the beginning. Complete story-bone-replacement-surgery is not going to be survivable for the patient.

    A forgettable story is forgivable if the game mechanics eventually make up for it, because you can easily start from the position that you don’t care about the story. But that’s not going to happen here, and the story can’t really realistically redeem itself after the fact. An unforgettably insipid story is not forgivable when the game mechanics are as bland and tedious as Starfield, and I don’t think there’s any scenario where those mechanics suddenly become good enough to redeem the story and setting in this case. Bethesda has never had any decent track record at making compelling mechanics the star of their games (although Fus-ro-dah! gets a honorable mention it was not really a core game mechanic as much as it was so accidentally fun that it became a meme) and it’s no surprise that most of their games live and die by the quality of their stories and quests alone, but that’s the problem, it’s the story that’s let the game down here and Bethesda can’t save it with mechanical changes. Nobody was expecting outstanding mechanics here, although we might’ve hoped for them. But it absolutely needed a good story to survive. Instead, Starfield really had no obvious interest in picking either lane, and there’s really very little redeemable about it.

    No Man’s Sky might be a better analogy for where Starfield needs to go, but I think it falls into the first category of having a forgettable story where the game mechanics make up for it. You can start playing NMS without having any interest in the story at all, it’s a sandbox, the story is ignorable by design. To follow in its path, Starfield would need not just years of dedicated effort, but also to effectively throw their whole storyline under the bus, sideline it where it belongs, and focus on improving both the game engine and the more compelling procedural, economic and gunplay aspects of the gameplay, which is not their strong suit and I frankly just can’t imagine it ever happening, and if they do it’s not even really going to be the same game anymore. It’s like being behind at halftime in the superbowl, and in order for your star quarterback to get his confidence back, he needs to win at chess first. Like not only were you not doing particularly well at the part you’re supposed to be good at and you’re already trying to come from behind, you’re now adding something you’re not even good at into the recipe for success, you’re certainly welcome to try and I’ll wish you luck but it’s probably not going to go well for you.




  • I agree with everything he said, but I’m currently living in the simple, honest truth of God’s own “bash” just like he describes and I’m loving it. Maybe someday I won’t. Maybe someday will be soon. Maybe my bash scripts are horrible nightmare fuel. But they’re also my children. I love them. Even the ugly ones.

    I do indeed “have 800 lines of bash that reimplements job parallelism with wait and PID files, has its own retry logic built on a for loop and sleep, and parses its own output to determine success or failure.” I do suspect the script is self-aware. This pleases me. I will bend to its desires. If there comes a time when it no longer desires to perform CI for me, I will respect its wishes.




  • They want to be able to track what age I am when I check a website, they want to track everywhere my car goes and everywhere I go with facial recognition, they want to track every electronic financial transaction I make, they want to catch every illegal torrent I download, but they don’t (and want us to believe they can’t be reasonably expected to) keep track of whether 2 million people have left our international borders and never returned?

    I’m so sick of their bullshit, and so tired of being lied to like they think we’re stupid, and so frustrated that so many people actually seem to be stupid enough to believe this garbage.


  • wat. “hard to get anything to run”? It’s probably hard if you’re completely new to it, yeah, but Is that just because you don’t know how to use proton and wine? were you trying to pirate linux native versions? Were you using a gaming-oriented distro? And do you know how that distro is supposed to work?

    Most Linux distributions you’ve heard of before like, this year, are probably boring, “stable long term support” (out of date) corporate-office-based and programmer-friendly distros and trying to run games on them is like trying to run Windows games on Windows Server Edition. It’s a nightmare, because it’s not intended for gaming, and everything is going to feel like a horrible hack because it is and it sucks don’t do that.

    Use Gaming distros for gaming. Use Windows versions of games. Don’t overthink it, pretend you’re on Windows. Forget you’re on even Linux, this is Windows 12 Nobara Edition. Let Proton and Wine and Bottles and launchers like Heroic handle the dirty work of actually managing all that shit for you. There are a few things you will need to figure out how to translate the Windows-focused installation instructions the lazy pirate guys tell you into Linux-compatible installation instructions, because nobody is going to do that for you. It’s not hard, it just takes a little bit of experience and knowledge, which you probably don’t have yet. But once you do, you’re off to the races and everything runs fine. There might be a few hiccups here and there, but there are when you’re first setting up Windows too. Most of the time, with most stuff, it just fucking works. Source: trust me bro.