Hey, thanks so much for introducing me to the term "akrasia" because it works perfectly to describe a phenomena that happens to me as well. And my solution is similar, if admittedly much lower tech (I comment/uncomment lines of my etc/hosts file to switch modes).
But it was the rest of your post, describing the way in which you're environment has morphed with you over the years, and how you've been able to really dial in your computing experience...it's so striking! There are few people who can say the same. I certainly cannot. I have personally gone through perhaps 3 complete redos in my adult life. But it's disruptive and bad, and I have to admit I feel some envy that you've been able to maintain a single coherent thread of evolution for so long. You must move around incredibly smoothly - I'd be curious to see a video of a few cycles of a build-test-debug cycle with your setup. I would also be curious to know how your file-system is organized. That seems to be the most difficult problem of all!
> I have to admit I feel some envy that you've been able to maintain a single coherent thread of evolution for so long
What I find most interesting is how fundamentally it's changed over time while maintaining continuity over those years. In college, I had a tricked-out compiz setup with wobbly windows and a skydome and a wallpaper set via script and a bunch of other cool frills, a far cry from the spartan, productivity-focused keyboard-only setup I have now (I don't even have a wallpaper because a tiling wm means I can never see it). But at any given point, the majority of my workflow was similar to what it was the year before, and many of my config files date back to when I first started using Linux. Even when switching to i3, I already had a very keybinding-heavy workflow, so I just needed to learn one or two extra keybindings to get started, providing a gentle transition from my previous setup until I became more of an i3 power user.
> I'd be curious to see a video of a few cycles of a build-test-debug cycle with your setup
For work, I use a single screen session per "task". Im an MLE working on autonomous vehicles, so my environments vary, but I tend to avoid GUIs so every workflow (except browser-based tools like tensorboard or github code reviews) can fit within my screen sessions. Switching from my dual-monitor workstation to my laptop is pretty seamless; the same screen session is used for each task, but mapped to fewer visible windows at a time.
> I would also be curious to know how your file-system is organized
I'd imagine so; the biggest reason this isn't interesting is that I simply don't keep that much on my local filesystem, at least for personal use. I have a repos directory and a scripts directory, and then I pretty much just use the Debian defaults. Perhaps my Google Drive structure would be more interesting, but even there the structure is pretty straightforward, with folders like Finances and Career.
For work it's slightly more complex, but also more driven by the environment tools that work provides (eg a datasets folder that gets mounted into the Docker images I use to train models).
But it was the rest of your post, describing the way in which you're environment has morphed with you over the years, and how you've been able to really dial in your computing experience...it's so striking! There are few people who can say the same. I certainly cannot. I have personally gone through perhaps 3 complete redos in my adult life. But it's disruptive and bad, and I have to admit I feel some envy that you've been able to maintain a single coherent thread of evolution for so long. You must move around incredibly smoothly - I'd be curious to see a video of a few cycles of a build-test-debug cycle with your setup. I would also be curious to know how your file-system is organized. That seems to be the most difficult problem of all!