Ten Things Every Java Developer Should Know About Unix is a really good list of things to keep in mind when working with Unix. Most of the items on the list really have nothing to do with Java (“You need to be special to use some ports” is just part of life in Unix), but they are all good things to keep in mind.
A couple years ago, I blogged that I had found a favorite distro (Xandros) and would be using it as my primary OS. Unfortunately, that didn’t take hold. I couldn’t get wine working under Xandros, so I needed to keep Windows around for Quicken. Eventually, I backslid to Windows 100%.
I now use a laptop as my primary machine, and that has only Windows on it. We do have an Ubuntu box at home, but that’s just an old, slow box that we use as a file store and a way for me to connect to the internet if I don’t want to pull out the laptop.
Even when I live in Windows, I still live in the bash shell. I couldn’t get through my typical workday without Cygwin. It’s a fantastic way to work with your computer, giving access to almost all of the great Unix utilities. Being comfortable in Cygwin has helped me be very comfortable in the Unix environments I use both at work and at school.