I am right there with you. I kicked the phone addiction in various ways, but I really like to work on personal projects and they're all on the computer, much like my work, so I'm always on my computer.
I have a few tricks. I have a work laptop and a gaming computer, and I do all my personal work on the gaming computer. That helps separate the two. I have a workspace which gets me out of the house and keeps me focused while at work, so I can get it done quicker and ultimately spend less time on the computer. I also have a few outdoors hobbies, and a few indoors hobbies that are away from the computer. But of course I can't make progress on my computer projects off the computer, so that's still a conundrum I can't solve.
I am at the point where I wonder if maybe I should work outdoors or offline, in order to regain my online time. But I'm not sure where to take that.
One thing that kills me with this setup is having such different dev environments - I spend all day using particular tools, shortcuts, etc. on my work laptop (OSX) then when I try to use my personal computer (can virtualize whatever OS I want, most realistic is Ubuntu for dev) to do projects the flow is totally different and it really slows me down or I worry it will take too much mental bandwidth to switch.
I had the same problem for a bit. I used windows at work and OSX at home. The context switching was hell. I gave in eventually and use windows at home now as well. And you know what? It turned out cheaper, better and faster even though 99% of what I do is on Linux, in a VM.
I wrote an autohotkey script for windows to assign alt-* to most shortcuts which would require ctrl-*.
Alt is physically where Macs Cmd is, so I had Alt-A for Cmd-A, Alt-F for Cmd-F, Cmd-W and so forth. This made a big difference.
Also I installed EasyWindowSwitcher and assigned it to a shortcut, which gave me window-cycling like in mac.
The flipped ctrl/alt keys is the worst part for me. I really wish there was a setting in MacOS to flip them around without causing weird issues. Unfortunately, while you can flip ctrl/alt system-wide some apps already use the Linux/windows shortcuts (like terminal ctrl+c/ctrl+d for stop and exit) and then these are flipped, which drives me even more insane. The best shot is overwriting menu commands one by one, which is tiresome and still doesn't apply everywhere.
I just settled to learn both, but I still see myself ctrl+c copying on mac and when alt+c when back on my windows machine.
I have high hopes for WSL2 replacing MacOS or Ubuntu VM's for me, especially because Darwin is simply not a linux system and you really feel the difference once you work on natively compiled code.
> I have high hopes for WSL2 replacing MacOS or Ubuntu VM's for me, especially because Darwin is simply not a linux system and you really feel the difference once you work on natively compiled code.
That's exactly what I did two weeks ago, after years of working on macos I ditched it in favor of windows. I haven't looked back since. The native WSL-integration in windows' vscode is a blessing; you open vscode, it's already connected to wsl, you write your flask-app or whatever, and can access it from windows' chrome without intermediate steps. This setup feels leaps ahead of anything I've done on macos.
WSL integration love wears off pretty quickly I find. There are so many rough edges and broken things.
While debugging a UDP server recently I discovered that any attempt to capture anything via UDP was scuppered entirely by the networking abstraction. Also the bastardised lack of services is problematic.
Thus I’ve gone back to virtual box and Debian. You still can use VSCode but have to jump through some more hoops
Personally the more I use WSL the less inclined I am to ever use either direct Linux or MacOS again. Of course, that's WSL 2, there are definitely rough edges on WSL 1.
While I don't mind a specialized setup for work, you often don't really have a choice there or it comes with a lot of corporate pain. Just using whatever your team is using is the way of least friction.
At home I'm using my computer also for gaming and Windows is again simply the way of least friction.
I've run a hardware switch for my hard drives for a few years to switch between Linux and Windows (effectively cutting off power from some of my drives). However, this means I have to fully shutdown the system to switch environments and I saw myself mostly rather spin up a Ubuntu VM in Windows for personal projects.
I hope WSL2 brings the best of both worlds with the least friction.
Running desktop Linux on VM is horrible in my experience. Eg. Eclipse lags out.
I had problem with Windows randomly wrecking the Ubuntu boot sector on separate HDs, but using physical switches seems like a good idea! I'll try that.
Given the mention of rolling updates, I am assuming it is a reference to how up-to-date the packages are or the availability of packages for some software. While distros like Ubuntu will keep some packages on the bleeding edge (e.g. Firefox), most will be months behind. That presents periodic problems with software that uses its own addons mechanism or that is simply too recent to be incorporated into the package collections. I have run into problems with outdate extensions for Emacs and even expired signatures under Debian, but searching for fixes revealed similar problems under Ubuntu. Ever since switching to Arch, I have been a much happier cookie.
I've used a Mac, but would never consider it without swapping those keys (to make proper Ctrl/Alt for most apps, ... manually configuring the others). Also, a proper Alt+Tab app that works on window level is essential.
Windows is a bit more well behaved than OS X in this regard so swap them on Windows instead since the point is to not have to fight muscle memory. It'll take a bit of training to swap over, but then at least you're not having to swap between the two orderings unless you're frequently on other people's Windows computers.
I wouldn't worry about this too much. I agree with a sibling comment about standardizing on one being an option, and on the other hand if you do push yourself through I think your mental plasticity will improve as a result, so: win-win what ever you decide to do. Unless you measure your performance by output, I guess ;-)
I created a personal user account on my work laptop. It keeps all of my personal and work accounts separate but reduces the effort needed to keep the environments in sync. I use different gtk, browser, and terminal themes to provide context between the accounts which helps keep things isolated
I just do whatever I need to for work, then hop down to the garage and build guns or work on my project car.
Other days I work on the lawn and property.
It seems to work unless I pick up side gigs programming, then I end up spending the whole day behind a laptop anyway, but at least it's all constructive work and not pissing away time on the internet.
I try, but I realised that as soon as I sit on the computer, there's a 70%+ chance that I get sucked in. Then it feeds me just enough dopamine to discourage starting a more rewarding activity. It can take hours to break out of it.
On the other hand, if I don't touch the computer before noon, there's a solid chance I'll end up in the garage building things.
Unfortunately, I'll still need my laptop at some point, either to do research for a project or check things off my todo list. Just like that, I get sucked in.
Good ideas - for a while, before I had to switch it for work, I seperated work/fun by which OS I was on. Queue me picking up working on a new project and it changed that.
I have a few tricks. I have a work laptop and a gaming computer, and I do all my personal work on the gaming computer. That helps separate the two. I have a workspace which gets me out of the house and keeps me focused while at work, so I can get it done quicker and ultimately spend less time on the computer. I also have a few outdoors hobbies, and a few indoors hobbies that are away from the computer. But of course I can't make progress on my computer projects off the computer, so that's still a conundrum I can't solve.
I am at the point where I wonder if maybe I should work outdoors or offline, in order to regain my online time. But I'm not sure where to take that.