TLDR; unfinished wood that is rinsed and dried on all sides will naturally trap and kill bacteria as it dries. Any finish interferes with this process.
Check out VSCode's "Ruby in Visual Studio Code" page [1].
Ruby LSP already does quite a bit and started gaining go-to method abilities last month [2], though it isn't complete quite yet [3]. It's build on Prism, so promises to be more robust than past attempts. Shopify has been moving fast on improving things here.
The Rdbg integration works great too [4]. Just add a `launch.json` and VSCode can hook into the very nice capabilities Koichi Sasada has been adding to the official `debug` gem.
Perhaps if the software is more isolated? Many good points here, and I absolutely can avoid a lot of maintenance by my choice of languages and libraries, BUT just being online (or even on-network) forces quite a bit of maintenance.
I'm generally writing web apps, requiring me to keep up with a stream of security updates just to stay online: browsers deprecated TLS 1.0 and 1.1 [1], browsers require TLS certificates to be renewed ~annually, languages only fix security vulnerabilities for the last few releases, etc. Even linux kernels are getting shorter support going forward. [3]
The ARRL Ham Radio License Manual, 3rd edition, section 1.1 explains the term:
> How did “amateur” become “ham”? The real answer is unknown! Even before radio, telegraphers referred to a poor operator as a ham. Perhaps this was derived from a poor operator being “ham-fisted” on the telegraph key — an operator’s “fist” referred to his or her distinctive style over the wires. With all radio stations sharing the same radio spectrum in the early days, commercial and military operators would sometimes refer to amateurs as hams when there was interference. Regardless, amateurs adopted the term as a badge of honor and proudly refer to each other as “hams” today.
While you'd buy the latest 5th edition from the ARRL [1] to prepare for the exam, the older 3rd edition is freely available online [2].