|Linux Mint 16 RC VM running Java 7 u45, Apache ServiceMix 4.5.3, and Google Chrome 31|
I've installed two more Linux VMs on my little ol' Windows 8.1 notebook using VMware Player 6.0.1. They're Linux Mint 16 RC and Fedora 20 Beta. No need to clog the entry with numerous installation screen captures from both; if you've worked with either Linux Mint 15 or Fedora 19, then there's little if any difference between the two. The primary reasons for moving up to the next release are the software updates.
I installed both with the Cinnamon alternative desktop. From a personal perspective I prefer Linux Mint 16's Cinnamon over Fedora's because of Mint's leaner window decorations. When I can change the desktop wallpaper and be done with personalizing for productive use I call that a small personal victory. That happened with Mint, but I still wanted to find a way to narrow the rather large window top, and paradoxically, widen the rest of the window borders to make it easier to grab and resize with Fedora's Cinnamon.
Having made that observation, I also have to observe that Fedora 20 has the latest tools, specifically clang/llvm. Mint 16 has clang version 3.2 (like it has with Mint 15), while Fedora 20 has version 3.3. Clang v3.3 is C++11 feature complete, which is what I'm looking for. While both distributions have gcc 4.8.1, and gcc became C++11 feature complete with the release of 4.8, I'm looking to see if I can move off of gcc and onto clang. My reasons to do so have to do with technology as well as my dislike of gcc politics. Since Mint 16 is a release candidate, it is what it is. I'm going to investigate a sane and rational way to step up to clang 3.3 on Mint 16.
What They Both Have in Common
- Both distributions allowed the installation of VMware tools within the VM. In the case of Fedora, I had to uninstall the open-vm packages first. All modules compiled, which means that both Mint 16 and Fedora 20 mount the Windows 8.1 host shared folder. This is a Good Thing.
- Both distributions have the latest Java 7, update 45, installed. In the case of Mint 16 it came with Java 7 update 25 out of the box, which is not so good, as that's two releases behind the current update 45. I even installed Java 8 build 115 on Mint 16, but Apache ServiceMix 4.5.3 failed to execute under Java 8, which I suspected might happen. I may grab the ServiceMix sources and attempt a rebuild under Java 8 just to see if that works. Otherwise, all my Java tools work just fine on both distributions.
- Most of the common packages I checked (with the notable difference being clang) are at the same versions or very close not to be noticeable (again, with the notable exception being clang). So it's a tossup between very specific needs and personal tastes as to which one to choose.
My biggest set of peculiarities was experienced with Mint 16 and Java. As usual I uninstalled Mint's version of Java and installed the Oracle version from the tarball, using the following set of steps:
- cd /
- sudo mkdir -p /usr/lib/jvm
- cd /usr/lib/jvm
- sudo tar xzf /mnt/hgfs/Share/jdk-7u45-linux-x64.tar.gz
- sudo ln -s jdk1.7.0_45 java
- sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java/bin/java" 1
- sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java/bin/javac" 1
- sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/java/bin/javaws" 1
If you're wondering why the java softlink, it's so I can easily switch to a different release (such as Java 8) for development and testing. The single softlink makes switching dead simple.
Minor nits notwithstanding, it's a good time to be working with Linux, at least from the perspective of Ubuntu/Mint and Fedora. And I have a reason for this...
One Good Reason to Use Linux
For years I've read five- and ten-reason-articles about why you should dump Windows for Linux. And every time I've read those article I've wanted to grind my teeth in frustration because they were written by well-meaning but naive Linux advocates who didn't understand either operating system very well and spewed a lot of poor facts. But now I have one singular reason for possibly considering Linux over Windows.
The National Security Agency - NSA
I don't trust Windows, and I'm not so sure I even trust Linux. I've thought long and hard about BSD, especially Open BSD, but I don't know if I could set up an Open BSD system to support the kind of development I'm interested in, which includes the latest Oracle Java, Java tools such as Tomcat 8 and Apache ServiceMix, IDEs, and the latest C/C++ compilers. And throw in Google Chrome for good measure.
I have no critical need for multimedia support, but it sure would be nice to have, not to play back MP3s and ripped movies, but because audio and video are application mainstream. And then, of course, there's the driver support issue. BSD is a huge unknown for me, and I don't have the spare cycles these days to sort it all out and then go out hunting/creating solutions for the important, but missing, bits.
Whatever, sooner or later (probably sooner I fear) I'm going to have to sort this out. It's not that I feel Microsoft is in cahoots with the NSA, it's that the NSA is lying to everyone and has been secretly collecting zero-day Windows exploits in its ongoing weaponization of the Internet. I keep every tool and operating system up-to-date, all patches, complex and differing passwords, and in general try my best to practice good common sense use of the Internet. But there are a lot scary bad crazy smart people working at the NSA, and I have no doubt that given a half-way reason to do so they could exploit the hell out of my systems and there'd be almost nothing I could do to stop them. And I hate that deep feeling of fear.
I used to feel that kind of fear about the Chinese. Now I find there are even more of those crazy smart evil bastards working at Ft. Meade. I need a hardened defensive computing posture against just about everybody. And I need it now.