The mumblings of a Christian autistic husband, dad, IT guy and amateur radio operator - Will Brokenbourgh / AF7EC
Crazy Distro Shuffle Days
First off...Happy New Year! :-D I've been a bit lazy blog-wise as my last post was in April of last year. Bad me! BAD ME!!! :-P I haven't been goofing off too much, though...I've moved away from the unfavorable climate and rough neighborhood of my previous residence and into a beautiful and less rough neighborhood. Praise God!
Now, onto my post proper. As you may know, I have Aspergers Syndrome, which the medical community is proposing to roll into one broad diagnosis...autism spectrum disorder (I think that's what they said). Whatever they call it, it's not going to change who I am...I'm still going to have social awkwardness, still will have times where I'm hyper-focused on just one, two or three things, etc. One thing I get caught up with a lot is having a properly functioning and reliable operating system.
What I'm looking for
I've been a big fan of Linux for many years now. Sure, Linux has a lot of shortcomings, but the ability to download the source code of a software package you're using, hack around with it, compile it and use it the way I want really rocks compared to waiting for a mega huge software corporation to think about improving their software. I like flexibility. I like choices. I like freedom. I like openness. Linux really fits the bill in most of those categories.
Reliability and dependability is a huge deal to me. My computer is the center of my everyday work. It just has to work, no matter if I'm coding a new support tool or remoted into a customer to fix an issue they're having. If I have a kernel panic, my whole desktop freezes or a recent system update bricks my computer ten minutes before opening time, it makes me look flaky to the customer, disrupts my workflow and causes major anxiety.
Simplicity and relatively pure software packages are another important factor. I don't like when some hot-shot developer with some certain distro decides to put put fins on Geany or rewrites Thunar to do barrel-rolls. Yeah, adding good features is always welcomed, but adding odd or strange features, or forcing changes on users without the option to disable them is cause for a distro change in my book. Leave it as pure as possible and let the user monkey with it, if they so please.
Easy package management is another biggy. Yeah, sure, I guess I could be all 1337 and manage the packages on my system manually, by memory, but why be a glutton for punishment? If I find I need to install Gimp or vpnc in a hurry, I really prefer to issue a couple of commands to download and install it. (I had to fudge a little on this point with my current OS, as you'll see later). In the same vein: decent update mirror choices is a big plus. If a distro has two or three mirrors residing on small, slow internet connections in a far-away country, it's not going to be fun trying to frequently update or install new packages.
What I've tried
A while ago, for just over a year, I was a dedicated Arch Linux user. I got addicted to running pacman all of the time, checking to see if there was yet another update. Sometimes things would get broken after an update, but the Arch Linux news page would usually have some notice about the affected package and would offer a helpful workaround. After a while, though, some of the folks on the Arch forums became increasingly nasty and overly critical instead of helpful. The world is already full of challenges and difficult situations...why deal with more of that on your OS's forums? There were other software and installer changes that finally pushed me completely away from Arch Linux. I'm sure they don't give one stinkin' care about me not being part of their community anymore. If you can't hang with the bright boys, get jumped out, and all that.
So a distro hunting I went. Since I ran Debian Squeeze on my server, I thought I'd give that a try on my desktop. In all fairness, while Squeeze was pretty stale at the time, it sure seemed snappy and responsive. Debian has a huge software repo and just about anything you'd want is on it. As great as that was, the packages were just too old for me. I absolutely needed Python 2.7 or higher, but Squeeze only had 2.6. I could download, compile and throw 2.7 in /usr/local, but I'm weird about mucking up my system like that. Soon I was finding other packages were too old, and it quickly became apparent that I would need to find something better. At the time, Debian Wheezy was just too unstable, so off I went again...
Next I tried the oh so stylish Linux Mint. Clem and the gang are very gracious and fairly helpful when you need assistance, and I've been eying the development of both MATE and Cinnamon for a while now...waiting for them to be a little more mature and reliable. I downloaded and installed the latest Mint, but seems like after updating the system the first time, and rebooting, things would get stuck. When a distro is that unreliable after just one update (even if it's mentioned in some tucked-away release note) it cannot stay on my hard disk. Mint is beautiful and today Cinnamon is really coming along...maybe someday it'll be more reliable and 'just right' for me.
Next on the distro hop was Ubuntu 12.04 LTS. Let me say that I'm not a huge fan of Ubuntu. I have misgivings about how Ubuntu has been run and how developers, and the community in general, have been treated. I also really do not like the whole Unity train-wreck. So because I wanted something similar to Debian, but more updated, I went against my better judgement and tried Ubuntu...but only the alternate install, and I installed my Xfce system manually instead of choosing a 'canned' meta-package. 12.04 LTS was fairly nice, but as with Arch, the Nouveau open-source NVIDIA driver caused problems. It would frequently flicker or momentarily corrupt the bottom half or quarter of my screen, especially when certain tasks were running. That's just not acceptable to me, so I tried Ubuntu's versions of the proprietary drivers. They did not have the flickering and corruption, but they performed slowly and kept complaining that my 1.5-year-old motherboard's integrated video was too old and unsupported. Sheesh. So I installed the proprietary driver directly from NVIDIA. That gave me better performance, but things just didn't feel right to me. Yeah, that's not a very technical or scientific explanation...but it was bothering me, so I had to find yet another choice out there.
At this point in the game, Debian Wheezy had progressed into a more stable distro, though still in testing. I decided to give it yet another shot (as I've tried it out a couple of times, wiping it after a day). The packages were not all that cutting edge, but Wheezy has Python 2.7, has Gimp 2.8 but curiously only has Xfce 4.8. There's nothing really wrong with 4.8, so I did my best to forgive that point and move forward. Things have gone well using Wheezy, but even with the proprietary NVIDIA driver, it seems as if most of the Linux distros I've tried are just so laggy in the video performance area (and I'm not even talking about gaming or playing video files). My box is a decent four-core AMD machine with 4 GB of RAM, so it shouldn't perform too slowly, yet Linux seems to drag around like a tired old dog.
I have two hard drives in my box, and they are broken into a few partions each. I took advantage of this and tried out PC-BSD on the extra partions. I have to say that PC-BSD really opened my eyes to what my computer can really do! PC-BSD is based on FreeBSD, with a relatively helpful installer that can set up ZFS file-systems in a snap. While PC-BSD's installer is a little odd, and the GTK-QTish style forced on you in Xfce is pretty funky, my video card performed very well...way better than any Linux distro I've tried yet. PC-BSD also allows you to install most popular packages fairly easily, though I found the reliability and performance of the AppCafe app to be pretty wretched. It would freeze, crash, refuse to work, etc. Not fun. Also, some apps such as Firefox had really ugly font rendering. I figured out a fix for that later on, but PC-BSD just didn't stay on my computer long enough...it was time to move on.
And the winner is...
FreeBSD! My dear reader, FreeBSD is like a sophisticated and intelligent woman...difficult to get to know at first...who is surrounded by caustic and judgemental friends. Settle down, commit, take the time to know 'her' and eventually marry 'her', and you'll find, after a while, yourself to be very content. For me, the relationship with FreeBSD has been on again, off again, but this time around, I really think it's going to 'stick'. I've finally found some answers to important issues, such as accessing my ext4 drives, or cleaning up after vpnc wrecks my resolv.conf file. Yes, I built all of my Xfce DE and other apps from the ports sources, but man is it worth it! For the most part, my system performs the way it should, without the lag and choppiness that all recently tried Linux distros have exhibited. Yes, it's a bit different than Linux, but it's similar enough that I'm not totally lost.
So the final score is: Debian Wheezy: 1, FreeBSD 9.1: 1, all others: 0. I still have Wheezy set up and installed on my other partition, but FreeBSD is the default, and for good reason. I'm hoping I don't run into any killer issues that will prevent me from continuing to use FreeBSD. I'm enjoying the speed and responsiveness, while sacrificing some of the convenience of instant package installation gratification.
(Hopefully I will post my font-rendering fixes in a follow-up post. If I don't, pester me about it, k? ;-) )