• 2 Posts
  • 26 Comments
Joined 2 years ago
cake
Cake day: August 10th, 2023

help-circle
  • In my opinion, you are starting too big. It’s better to start smaller. Many locations have a “Linux User Group” or “hackerspace” or a “Computing Club”. (Those are exact keywords you can try searching for).

    And often times, those organizations host their own small set of services for their members. For example, when I was searching for help on how to set up something with Kubernetes, I came across this blog, where the blog author hosts services for their “Chaos Computing Club”, like proxmox, nextcloud (has a calendar app), matrix, and forgejo.

    Instead of trying to spin up a set of services for the whole “FOSS Community” start smaller and just host for your local groups. Maybe your local hackerspace already hosts these services.

    To find local meetups, I checked out https://meetup.com/, which has a lot.

    As for me personally, I am trying to put together services for my Cybersecurity club at my school, right now I have centralized identity, and virtual machine hosting for members to access and play with, but I want to also host extra services like the stuff you mentioned, because the reasons why you want them are good.

    On my blog, I discuss my plans and steps: https://moonpiedumplings.github.io/projects/build-server-6/

    I think creating a “FOSS hub” overall is a really really big challenge because all of these groups that make up the FOSS world have a heterogeneous set of overall interests, and an even more heterogeneous set of users.

    A simple example is the language barrier. Fun fact: There exist alternatives to apps that primarily have English as their first language, but in other languages first, centering around the communities those languages are used in. For example, the opendesk docs are in German first. Of course, there are English docs for things like engagement, but the problem is that —

    For something like a FOSS hub, user engagement is critical, and one of the best ways to have engaged users is dogfooding, where users contribute back to this software they use. But with software that treats one language or another as a first class citizen, there is becomes a bump, when users want to dogfood.

    The other problem is that the users themselves have different needs and wants. One user or set of users hates email and never wants to touch it. Another wants to exclusively use plain email for everything, including as an alternative to code forges, discussion platforms, and scheduling systems. One set of users prefers discord, the others prefer irc. They meet in the middle on matrix, but this other set of users hates matrix due to being VC funded and it’s just a clusterfuck.

    You cannot make both groups of users happy. When you try to please everybody, you end up pleasing nobody.

    What you can do, however, is catch the needs of your local groups and slowly expand from there. I think a FOSS Hub is possible, but I think trying to start it as a foss hub is bound for failure because the scope is too large.

    I think the closest thing right now is disroot, which hosts a lot of services, but again Disroot uses XMPP whereas some people may prefer Matrix for this usecase, and plenty of other nitpicks.










  • I’m pretty sure it’s possible to use timeshift to create backups on another drive using rsync (instead of btrfs). They are incremental, and deduplicated, as well.

    But the other commenters are correct, timeshift is not a backup tool, it’s more for snapshots to undo system changes you may not want. In addition to that, it doesn’t do user files by default — because again, it’s not a backup tool.

    btrfs send/receive technically does what you want, using btrfs to do backups to another drive, but I don’t think any GUI app supports it. Plus, you would have to create snapshots for btrfs from the command line.

    Your best bet are apps explicitly designed for this usecase, like someone mentioned pika, or borg or restic are good choices. They don’t do BTRFS, but they do incremental, deduplicated updates in a user friendly way.





  • Should be awful for gaming. It’s possible to run x86 things with emulation, sure, but performance (especially single-thread)

    Most modern software (games excluded), is dynamically compiled. This means that it’s not all one “bundle” that runs, but rather a binary that calls reusable pieces of code, “libraries” from the binary itself. Wine is dynamically compiled.

    What makes modern x86 to arm translators special, is that the x86 binary, like an x86 version of wine, can call upon the arm versions of the libraries it uses ­— like graphic drivers. It’s because of this that the people on r/emulationonandroid managed to play GTA 5 with 30 fps via the computer version. There definitely is overhead, but it’s not that much, and a beefy machine like this could absolutely handle it.

    https://moonpiedumplings.github.io/blog/scale-22/#exhibition-hall

    The Facebook/Meta table had a booth where they had an ARM macbook that was running steam and they were installing games on it.


  • ut I honestly doubt ARM can with the overhead of emulation

    Most modern software (games excluded), is dynamically compiled. This means that it’s not all one “bundle” that runs, but rather a binary that calls reusable pieces of code, “libraries” from the binary itself. Wine is dynamically compiled.

    What makes modern x86 to arm translators special, is that the x86 binary, like an x86 version of wine, can call upon the arm versions of the libraries it uses ­— like graphic drivers. It’s because of this that the people on r/emulationonandroid managed to play GTA 5 with 30 fps via the computer version. There definitely is overhead, but it’s not that much, and a beefy machine like this could absolutely handle it.

    https://moonpiedumplings.github.io/blog/scale-22/#exhibition-hall

    The Facebook/Meta table had a booth where they had an ARM macbook that was running steam and they were installing games on it.






  • Right, but you could have just made one yourself

    And then there would be a bus factor of one. It’s not just about making a helm chart for myself, it’s about having something that can be shared with the community, that doesn’t depend on any single person to be maintained and updated.

    It’s about having an organization that provides “packages” for Kubernetes, for people/orgs that don’t have the time, expertise, and energy to maintain them.

    I greatly respect Ananace, who is in the comments of this post, and mentioned their Helm charts. The work is excellent. But looking through the commits, it’s just one person, doing something that primarily consists of bumping version numbers. Contrast this to the Matrix ESS helm chart, where the commits consist of many more contributors, and also include feature additions to the helm chart.


  • Hello Ananace! :)

    I actually have seen your helm charts many, many times before when searching for matrix, synapse, or lemmy on Artifacthub.

    An official helm chart isn’t really a hard requirement to me, even if I were to use one and it were to stop getting maintained, I could continue on my own. But an official helm chart has big community benefits that are very important to me. Like, there becomes the option of paid support, which is a must have for many entities. Also, an official organization may support a wider variety of usecases than someone making helm charts for personal use.

    I also ended up chatting with one of the core devs of Synapse about ways to improve regular Python Synapse for use with Kubernetes back in the ending of January, so hopefully it’ll improve in that direction when time allows

    Do you know anything about the claims that they have rewritten synapse in rust?