• 0 posts
  • 27 comments
Joined 2 years ago
Cake day: March 27th, 2024
  • Yeah, complexity is a valid concern. But if your workflow stands to benefit from the performance gains, I’d say it’s a worthy trade-off.

    The server/client model that Foot uses is actually pretty clever for RAM-constrained situations, especially if you’re spawning tons of terminal instances. AFAIK, it’s not fundamentally impossible with GPU terminals. Ghostty has single-instance mode on Linux that shares some resources, but the RAM savings aren’t as dramatic because GPU terminals maintain texture buffers and rendering state in VRAM per instance.

    The catch with Foot’s approach is all I/O gets multiplexed on a single thread. That’s fine for lightweight usage, but for workflows like mine that involve heavy TUIs and multiple tmux sessions with dozens of windows/panes with big scrollback buffers, it becomes a bottleneck when one or more panes are flooding output from scripts/playbooks/etc.

  • Like daq mentioned, reduced battery life is one downside if you’re on a laptop. RAM usage is also higher, usually 50-100MB more per instance than traditional terminals (sometimes more depending on the terminal and your config).

    In terms of Ghostty specifically, it’s still a fairly young project, so the chance of hitting an edge case issue is higher than if you were using a more mature GPU-accelerated terminal.

  • Bias warning: I spend most of my workdays in the terminal, and I’m also a contributor to Ghostty.

    The most noticeable difference is smoothness when you’re doing intensive terminal work like scrolling through large log files, running TUIs like btop/lazygit/yazi/lnav, or using multiplexers like tmux with multiple panes. Without GPU acceleration, you’ll see stuttering and lag with heavy output or complex interfaces.

    It also makes a big difference in editors like Neovim, especially with syntax highlighting in large files or when scrolling quickly through code. The rendering just feels snappier and more responsive overall.

    Basically, if you spend significant time in the terminal (like I do), the improved responsiveness is immediately noticeable. If you mostly use it for basic shell commands, the benefit is negligible.

  • Pretty sure you could run Pulp in pull-through mode and add your local Forgejo/whatever registry as a remote, which would at least give you a unified “pull” URL. Then just use Forgejo actions to handle the actual build/publish for your local images whenever you push to main (or tag a release, or whatever).

    Pulp might actually be able to handle both on its own, I haven’t ever tried though.

  • Yeah serverpartdeals is legit. Between work and home, I think I’ve tested & deployed 150+ drives from them over the last 3yrs. No duds, no failures, no complaints. Great customer service on the corp side for big orders, too. 10/10 would recommend.

  • Oooh, ouch looks really neat! May actually cause me to retire my extract function. It suddenly feels a little incomplete by comparison, lol.

    # Extract any archive
    extract() {
            if [ -f "$1" ]; then
                    case $1 in
                    *.tar.bz2) tar xjf "$1" ;;
                    *.tar.gz) tar xzf "$1" ;;
                    *.bz2) bunzip2 "$1" ;;
                    *.rar) unrar x "$1" ;;
                    *.gz) gunzip "$1" ;;
                    *.tar) tar xf "$1" ;;
                    *.tbz2) tar xjf "$1" ;;
                    *.tgz) tar xzf "$1" ;;
                    *.zip) unzip "$1" ;;
                    *.Z) uncompress "$1" ;;
                    *.7z) 7z x "$1" ;;
                    *) echo "'$1' cannot be extracted via extract()" ;;
                    esac
            else
                    echo "'$1' is not a valid file"
            fi
    }