I knew the day would come, the day on which the Linux guy in me will stop to fight. Recently I got to a point, that the development environment doesn’t matter. I was more like trying to learn develop application or other software on a Linux box. I was working mainly on Ubuntu Linux. On my laptop I have a Windows 7 64 bit preinstalled by the manufacturer. At work I am using a Windows 7 machine to develop Windows CE applications. Colleagues in the office use also Windows machines to develop for Linux Embedded targets. Even when they need to use Linux environment, they use VMWare player with Ubuntu installed and it’s sufficient.
Now I decided to dig out the forgotten Windows, clean it up from unused software, install updates and install needed tools. I will use also the VMWare player solution whenever I need Linux. I have also a netbook with Xubuntu installed. Mostly I am programming applications independent from the development environment. Right now I am programming for Android at home.
The good thing about the switch back to Windows OS is that finally I don’t have problems with my graphics card. I have a laptop with HDMI and VGA output (for projector). I also have an external monitor which is connected via HDMI. Although the HDMI connection works plug-n-play, the switch screens or configure monitors does not. Whenever I wanted to change monitor config to only laptop, two monitors or projector, I had to restart X.org. Now in Windows there are keyboard shortcuts and the hardware and software switches just fine between configurations.
Another good thing is that I can play some games to relax. I have missed this always on my Linux box. Also I have access to free Microsoft products via my University, so now I can use them.
Of course there are some tools which I will miss from the Linux OS. For sure I will miss the console, it was good to look at command line tools to output enormous amounts of text messages. I can use Cygwin, but it can’t replace the whole operating system stuff.
Tools that I have used on Linux are also on Windows. Eclipse, Google Chrome (by this I mean more like access to web tools – like Google Docs), LibreOffice are the biggest toolsets. Now I can use such tools like AVR Studio from Atmel. I know that I could use it on the Linux os with a VM in VirtualBox, but I don’t like this solution of virtualizing big software suites. I also don’t like to reboot to other OS. It’s also easier for me to focus on the work that I have to do when I have the same environment at work and at home (or more or less similar). Sometimes I got stuck just because I managed to run something on Linux at home and tried to do the same on Windows at work and it didn’t want to cooperate, because there were some tools missing or I had to replace them with other which I didn’t know how to use. So in the end I spent more time learning how to use tools and not how to solve my original problem. The same went with Windows to Linux tools run. Whenever I have got excited and found a solution to my problem at work and run it on my Windows workstation, then got back to home and tried to run it on Linux, I hit the wall of lack of tools or too complicated command line usage. Again I have spent and used all my energy and motivation on doing things twice. I don’t want to say that the time I have spent on learning to resolve some problems with toolchains and OSes, went to waste. No, not at all. I need to be productive. When I struggle the whole time with tools and don’t see any results, then I get unmotivated and I leave my project. If I will need to develop for Linux, then I will learn to use the tools. Now It’s better for me to have the same environment at home and at work.