Over a decade ago, I encountered an Apache project called Guacamole, designed for remote desktop control. Even then, while reading its protocol, it felt like Guacamole had major design flaws: text-based frames, Base64 for image transmission - seriously?
Back then, I tried to rewrite it in Go, but the project stalled when I hit a wall with cgo calls as I tried to gradually sunset Guacamole.
Occasionally, over the past weekend, I spent two days completely redesigning the protocol, moving to a pure binary stream, and rebuilding the whole VNC/RDP/SSH/K8S clients in pure Go