• 1 Post
  • 38 Comments
Joined 2 years ago
cake
Cake day: July 24th, 2023

help-circle

  • That would be block storage like glusterfs or ceph, or object storage like minio or rook.

    You could also use ZFS to provide PVCs for your Pods, with openebs.

    If the mini-servers don’t have hardware redundancy, I’d stick to Replicated Volumes only…

    If you go the openebs+ZFS route, you can make a kubernetes service (DaemonSet because it should run on every node) that makes and sends/exposes ZFS snapshots.


  • Here’s an article that does this: https://iridakos.com/programming/2018/03/01/bash-programmable-completion-tutorial

    I have done this for one of my own tools ta, which is a function that switches to a tmux session, or creates it if it doesn’t exist:

    # switch to existing tmux session, or create it.
    # overrides workdir if session name is "Work"
    function ta() {
            case "$1" in
                    Work) workdir="${HOME}/Work/" ;;
                    *) workdir="${HOME}" ;;
            esac
            if tmux has-session -t "$@" &>/dev/null; then
                    tmux switch-client -t "$@"
            else
                    tmux new-session -A -D -d -c "${workdir}" -s "$@"
                    tmux switch-client -t "$@"
            fi
    }
    
    # complete tmux sessions
    # exclude current session from completion
    function _ta_completion() {
            command="${1}"
            completing="${2}"
            previous="${3}"
            [[ "${command}" != 'ta' ]] && return
            current_session="$(tmux display-message -p '#S')"
            IFS=$'\a' COMPREPLY=( $(tmux list-sessions -F '#{session_name}' | grep -i "^${completing}" | grep -v "^${current_session}$"| tr '\n' '\a' ) )
    }
    # enable completion for ta function
    complete -F _ta_completion ta
    

    Usage

    $ tmux (starts session "0" by default)
    $ ta Personal # create session "Personal" because it doesn't exist
    $ ta Work # create session "Work" because it doesn't exist
    $ ta <tab> 
    0 Personal
    $ ta P<tab> -> $ta Personal
    $ ta <tab>
    0 Work
    

  • Artists will probably have their own setup, software and workflow that they are comfortable with. I’d recommend letting them use their own workflow, and just discussing the interface, so to speak: what file format(s) to use and such. I think GLTF is used for assets, but I’m definitely not an expert.

    As for other devs, most required tooling (e.g. Unity or Pycharm or whatever) are one-time installs that you can list somewhere. And language libraries/dependencies are a solved problem (e.g. pipenv, cargo, yarn).

    But if you really want to set this up, nix (or lix) is probably your best bet for a total devenv that is exactly reproducible, assuming that works for WSL (or no one uses windows).

    Otherwise docker/podman or devenv will probably be doable as well.











  • The details depend a bit on the audiostack of your distro, but they all have a cli program with which you can change inputs/outputs and volume; e.g. pactl for pulseaudio and wpctl for wireplumber.

    You’ll need a mechanism to find your triggers (I create a firefox tab with youtube/spotify, I have a music player active) and then you can act on it.

    Detecting voice in an audiostream is probably technically possible, but that sounds pretty hard to setup.





  • IIRC, within RHEL it goes fedora (next major) -> centos stream (next minor) -> RHEL (current major.minor).

    With Debian and its derivatives (e.g Ubuntu) this means that Debian-unstable corresponds to fedora, Debian-testing corresponds to CentOS stream and Debian-stable corresponds to RHEL. (Roughly of course).

    Ubuntu is based off of some flavor of Debian and is therefore downstream of it: Debian (unstable I think) -> Ubuntu -> Ubuntu LTS.

    But as far as which version has the newest packages then sure, your list is correct.