I haven’t been spending time on my hobbies the past few weeks. Work obligations, plus a brief vacation and family in town has taken up all of my free time.
In situations like this I go into a passive “soak up info” mode where I don’t do a lot of active stuff (like program or play music). I mostly read books and try to learn new tools. Right now I’m reading “The Design of the Unix Operating System” by Maurice J. Bach, and I’ve been playing with GNU Screen as a tool for monitoring serial communication and maintaining a persistent development environment.
GNU Screen is a neat tool. It’s a way to run a program (like emacs or man or other terminal processes) with the ability to jump out of it without actually exiting the program. It’s like multitasking in one terminal window. I used to have several terminal windows open if I needed to edit various files at the same time, or have a man page pulled up. This lets me work within one terminal window. The other extremely important benefit is that these processes stay alive even if I exit the terminal. I can come back later and resume the session. Furthermore, I can resume the session from another computer by logging in via ssh. This gives a sort of persistence that is important to me. I like having the ability to resume exactly where I left off when I inevitably need to walk away from a project for a few days.
There is a similar tool called TMux that I might play with later. It’s more complex. My only complaint with Screen right now is that I can list all the still-open sessions that are running, but they aren’t named anything sensible. Maybe there’s a command line toggle to name them or show them differently – I’m still researching that.