If I know I am going to have my day broken into sub 1hr chunks thanks to meetings and such, I pretty much write off the day entirely. It takes time to get into the flow state, some studies cite over 20 minutes, and once you are in it you want to stay in it for like four hours. No emails to follow up with, no slack, no zooms, no one tapping your shoulder, no conversations about the weekend distracting you on the periphery, just you and your task at hand.

It's pretty ironic, because this is how a lot of people study in the library at college,show up and stay all night grinding in the flow state with your phone shut off. Yet when you graduate to the work place, you seldom have the opportunity to work like how you've been training to work for all your advanced schooling ever again.

With respect to the article and maintaining context while coding for different projects, I find having a tmux session for each individual project super helpful.

Having tmux sessions for each open task is a life-saver, especially in an environment where I do all my work on a remote server. Now I can close the laptop lid and never lose work. Simply reopen the ssh connection and keep going.

Its especially helpful for stuff where I haven't touched it in a while too. One alias and boom, I'm back in a session with a pane with my editor open, a pane with the log, a pane with some notes, and a pane with the shell displaying the last line of code I ran from when I was last working on this pet project over six months ago. Right where I left everything and I can jump back in as if I was working on it an hour ago.

I have a separate VS Code window connected to a dev container for each project that stays open for days, weeks or months at a time. Does the tmux approach materially improve upon that setup? Genuinely curious if I’m missing out on something here.

Maybe, you can SSH to GNU Screen and attach where you were, perhaps from your phone to just read. You could do the same with rdesktop to something x11, but you'd need more than a 256MB VM for that. If you have this running 24x365 then you'd spend more energy/money.

To all above: but machines reboot, also, not? Even our coorp Linuxes now succumb to ugly IT update reboot cycles, Cloud VMs even more ephemeral, and lets not even start with dev containers... One can script tmux sessions to some degree, but still loosing a lot of state (editor open ther, shell history here..).

I hardly reboot a machine unless I am intending to, but there are plugins for tmux for this too.

https://github.com/tmux-plugins/tmux-resurrect

https://github.com/tmux-plugins/tmux-continuum