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

help-circle
  • Yes and no. There are many things that are much easier with Kubernetes, once you figure Kubernetes out.

    High availability is the most notable example — yes, it’s doable in docker, via something like swarm, but it’s more difficult. In comparison, the ideas of clustering and working with more than one server are central to the architecture of Kubernetes.

    Another thing is that long term deployments with Kubernetes can be more maintainable, since everything is just yaml files and version is just a number. If you store your config in code, then it’s easier to replicate it to another server, either internally, or if you share it for other people to use (Helm is somewhat like this).


  • This helm chart is not just matrix/synapse, but also element (web ui), and “matrix authentication service”, which adds SSO/OIDC support to a normal synapse instance, which is pretty neat. I haven’t seen any helm charts that include the full matrix stack, just separate synapse or element helm charts. And helm definitely makes deploying services to Kubernetes easier than other ways of deploying applications.

    The other reason why I like an official helm chart, is because I have seen unofficial one’s be stopped being maintained by the community member(s) maintaining them. With an official one, it will (probably) be maintained indefinitely.



  • I despise the way Canonical pretends discourse forum posts by their team members* are documentation.

    I’ve noticed they have been a bit better lately, and have migrated much of the posts to their documentation, but it seems they are doing it again.

    As this is developed, we will update this post to link to the new documentation and feature release notes.

    Pro tip: You could have just made the documentation directly, with the content of this post. Or maybe a blog post. But please stop with the forum posts. They are very confusing for people not used to these… unique locations.

    *Not that people are easily able to find this out when they don’t give any indication that the forum post is something other than just another post by a rando. Actually, I’m just guessing here, based on the quoted reply, for all I know this could be a post by someone unrelated to Canonical. The account is 3 months, and the post itself is identical to a regular forum post from a regular forum member…


  • Here’s my commentary on the options you listed in the image:

    Anaconda: They changed the licensing so that it’s not really fully FOSS, as the repos have restrictions on them. There are also other issues like this dark pattern of a download page.

    But, forgetting about the licensing or problematic company practices: The software itself is trash. Worst thing I’ve ever used. It’s sooooo slow to install packages when it’s doing the “solver” thing. You can use something faster like mamba or miniconda, but then you still have to deal with package availability being poor, as the anaconda repos don’t have everything, and much of what they have is often too old.

    Docker desktop: It’s proprietary. I mean you can use it, but you seem to be interested in open source stuff. Also see caveats to podman desktop below.

    Podman Desktop: Technically this will work. But podman desktop is really designed more for development of containerized applications, rather than developing in containers.

    Nix: Nix doesn’t work on Windows, so you would have to require WSL or something like that.

    Fedora VM: I recommend enlightenment as a desktop environment. Very small, but also modern and clean looking. You’ll have to configure it to be a bit more similar to windows, but it’s a lot more intuitive to use than i3.

    There are some other caveats to your environment. “The right .Net Sdks version” — however, the best extensions for C# development are proprietary and cannot be freely used in the fully FOSS versions of vscode.

    it also requires users to learn i3wm and possibly use the command line, which may not be ideal for everyone.

    Yeah, don’t do this. I agree with @utopiah@lemmy.ml, work with them, rather than forcing them to work with you. Collaboration goes both ways.

    Another recommendation I have is to just see how people in a similar circumstance do what you do. There are plenty of people who do software and game development on twitch, and you can just go on their streams and ask how they collaborate. One method I saw is using trello, a task management software, and artists would upload models there as deliverables. They already have their own workflow, which they probably work efficiently with. And it’s not really the job of an artist to integrate models and art into the game, that’s the programmers job.










  • Wish I could transcend into declarativity but the thread’s nix survivor ratio is grim

    Yeah lol.

    I will say, that for my server, I decided to use kubernetes + fluxcd for declaratively. My entire kubernetes “state” is declared in a git repo, and this is the popular, industry standard for things like this, called GitOps. It makes it very easy to add an app, since it’s just adding a folder + some new config files. And unlike Nix, Kubernetes and Flux are very well documented with much tooling as well. Nix doesn’t really have a working LSP or good code autocomplete, but with kubernetes, I can just start typing in a yaml file and then hit tab and it spits out the template for me. Code autocompletion with kubernetes feels much more similar to the tooling of other, more mature tooling

    It’s not as declarative as nix though. There are things missing, like OCI containers could theoretically shift if you don’t rely on hashes and some other nitpicks. But declarativity is a spectrum, and I feel like, outside of scientific scenarios (think simulations where versioning, hardware, runtime etc being the same is very important), I think many non-nixos solutions are declarative enough.


  • So, I use Arch, but I don’t use the AUR at all. Instead, I use nixpkgs to get stuff (admittedly only like 3 packages) not in the Arch repos.

    The main reason for this is the quality of AUR packages. Although I don’t really fear a malicious package, I do remember hearing about a package that moved a users /bin to /opt during the install phase.

    Something like that is literally impossible with Nix, due to the way that applications aren’t really installed to the system. But, nixpkgs also requires some level of vetting the package quality, which is also nice.

    I also use nix for managing all my development environments. For example, my blog github repo, has a few nix files at it’s root, and you should just be able to type nix-shell in folder, and then you will get an identical environment to me.

    declarative rollbackable immutability sounds really freakin’ AWESOME

    I have BTRFS snapshots set up, and with grub-btrfs, I can even boot from them and revert to an older kernel (my /boot is stored on BTRFS).

    However, I have given up on NixOS, for many reasons. The documentation is very poor, and it’s more complexity than it’s worth, to make my whole OS reproducible, rather than just my development environments. In addition to that, their are also issues with running certain apps that expect to see a normal FIlesystem Hierarchy, which nix does not provide. Although you can work around this with stuff like steam-run or creating a fake FHS using nix, I would rather not play that game.

    But, considering I installed some stuff in an Ubuntu 22 distrobox recently, because that was what VScode and Unity official provide repos for, maybe this doesn’t really matter. You can probably use distrobox on Nixos, but I’ve seen issues about GPU acceleration with distrobox (and other non-nix apps) as well.

    EDIT: I lied, I use the chaotic aur for some things.


  • I honestly don’t know how this could turn out.

    It could be an amazing change that results in much more progress for hardware acceleration on guests of various types (since that is what vmware is good at) in kvm…

    Or it could mean that they are dropping that feature from vmware altogether.

    Regardless, I like this change because it means I would be able to run vmware machines and libvirt kvm machines at the same time, at least when I am forced to use vmware workstation.

    I also dislike proprietary software in general, so I think less proprietary software and more FOSS is a good thing.





  • So I don’t know how much you know about the shell, but the way that the linux command line works is that there are a set of variables, called environment variables, which dictate so me behavior of the shell. For example, $PATH variable, refers to what directories to search through, when you try to execute a program in your shell.

    The documentation you linked, wants you to create a custom shell variable, called SCALE_PATH, consisting of a folder path, which contains the compiled binaries/programs of scale you want to run.

    This command: export PATH="${SCALE_PATH}/bin:$PATH"

    temporarily edits your PATH variable to add that folder with the scale programs you want to run to your path, enabling you to execute them from your shell.


  • Not quite a scripting language, but I highly recommend you check out cosmo for your usecase. Cosmopolitan, and/or Actually Portable Executable (APE for short) is a project to compile a single binary in such a way that is is extremely portable, and that single binary can be copied across multiple operating systems and it will still just run. It supports, windows, linux, mac, and a few BSD’s.

    https://cosmo.zip/pub/cosmos/bin/ — this is where you can download precompiled binaries of certain things using cosmo.

    From my testing, the APE version of python works great, and is only 34 megabytes, + 12 kilobytes for the ape elf interpreter.

    In addition to python, cosmopolitan also has precompiled binaries of:

    • Janet 2.5 MB
    • Berry 4.0 MB
    • Python 34 MB
    • Php 11 MB
    • Lua 2.1 MB
    • Bash 5.1 MB

    And a few more, like tclsh, zsh, dash or emacs (53 MB), which I’m pretty sure can be used as an emacs lisp intepreter.

    And it should be noted these may require the ape elf interpeter, which is 12 kilobytes, or the ape assimilate program, which is 476 kilobytes.

    EDIT: It also looks like there is an APE version of perl, and the full executable is 24 MB.

    EDIT again: I found even more APE/cosmo binaries:



  • I dunno what’s most appropriate for email, but I often joke:

    Isn’t open source kinda like a cult?

    It’s a not a cult I swear! Just switch to free software, and free yourself!

    I’ve also heard my friend say something along the lines of:

    Free software, free culture, free people

    Or maybe it was free world or free trade? I can’t remember.

    Although, for slogans like this, I might go with something that has more of an immediate effect, like shilling an adblocker.

    • Install uBlock Origin. Blocking ads is one of the easiest ways to increase your security.
    • Install uBlock Origin. It blocks more than just ads, but also tracker scripts that follow you around the net and collect your data.

    Or the ever so simple:

    • Free software means free as in freedom — not as in beer.

    Anyway, I partially agree with the other poster, but I think a one sentence quip at the end of an email is unobtrusive enough that it gets a pass. Of course, it depends on your specific workplace and how strict they are, but I would assume most workplaces have a little space for humanity.