switching to from windows to linux is one of the best choices i have made in years. the freedom it provides is unparalleled. the fact that it's 100% free, the open nature of it's development, the community focus, and the abundance of free software was enough to convince me to give it a try.
i have been a long time windows user, it's served me well over the years. but recently i have become overwhelmingly sick of all the issues related to running it. every month (patch tuesday, inevitably followed by exploit wednesday) there's a plethora of updates, none of which ever seem to be related to security or stability. the so called windows "command line" is the saddest excuse for a terminal i have ever had the displeasure of using. and the "new" version, windows 8, has taken 10 steps back in terms of usability. the metro ui looks like AOL in the 90's, everything is hidden away from the user, it takes all your previous knowledge about your OS and tosses it in the trash.
to be fair, i've had some linux experience before. in college we learned how to install it and connect to it via samba. i was given numerous live CDs featuring distributions like ubuntu, kororaa, and knoppix. i don't know why, but at the time i just wasn't interested in learning an entirely new OS. maybe my reluctance was based on the fact that i was still satisfied with my windows experience, maybe i was "too busy" learning new programming techniques, maybe it was fear of change. but whatever the reason, i just sort-of wrote linux off as a server OS.
recently i have been using the terminal more and more. with the advent of GIT, i had started using MinGW. this added *nix like commands to windows. the more i used it the more i realized i was trying to force windows to be linux. i would research how to do something in linux then have to decide how to pull that off in windows. i learned to love the simplicity to move files with a single command versus dragging and dropping between two windows. the more i use the terminal the more i hate the mouse. have you ever tried to manually rename more than 100 files in windows? it's a painfully long process. with one command and some regex (regular expressions) you can do it in a few seconds from the terminal.
one evening i had a lengthy conversion with my friend matt burdine, a long time linux user. he convinced me that there was nothing to loose and give it a try. if i dual booted, i could have the best of both worlds, and he was right.
my first step what to decide which distro to choose. in my research, i discovered there were a few main "flavors" of linux and a many distributions based on them. each having their own goals and opinions on how an OS should operate. i decided on debian, one of the main players, with a modern/active development community, lots of FLOSS/FOSS software packages, and many distros to choose from. this lead me to distrowatch, a great site that gives you all kinds of information about the most popular linux distros. based on many reviews i selected linux mint with the cinnamon desktop. at the time, a new version had just been released. mint was a real eye opener. i realized how much of a fully fledged operating system linux was. after a month or so, i was rarely booting into my windows partition anymore. mint helped me learn, from a very high level, how linux worked. and to be honest, it was extremely similar to windows in many respects. which was one of my biggest issues with mint. i was switching to linux to leave the windows world, not to just find a free clone of it.
this lead me to the heaven/hell that is distrohopping, switching between various linux distributions like an addiction. this practice has it's pros an cons. test driving multiple systems gives you a great overview of the terrain. quickly helping you to decide which you like, and which you don't. setting up a separate home partition, allows you to use your personal files on any of the distros you install. but this rapidly consumes all the space on your hard drive(s) by having to install (some of) the same software on each. for the next few months i had a new version on linux on my testing partitions ever week. i experimented with a number of ubuntu variants like kubuntu, xubuntu, lubuntu, etc. i used centos, elementary, puppy, fedora (redhat), netrunner, manjaro, backtrack (kali), and finally crunchbang.
there are two notable distros missing from the aforementioned list. ubuntu proper and archlinux. when first learning about linux i was obviously, digitally, acquainted with richard stallman, the founder of the free software foundation and GNU. i read an article he wrote about ubuntu's problems being backed by a corporation, and basically install spyware on everyone's machines. it made a lot of sense. and i figured if they were putting stuff like that into the source, what else is in there/will they add? it dissuaded me from using it. arch linux, on the other hand, is a DIY linux distro targeting proficient *nix users, offering tons of great software, build scripts, user repos, etc, but little in the way of help or support. archers are expected to maintain their own systems, work through and solve their own problems when issues occur. at this point in time, i do not feel that i am ready for that. but hopefully some day :D
i had seen the write up about #! (pronounced crunch bang) on distrowatch when waldorf was first released, and was immediately intrigued. it's based on debian stable, which i still feel is one of the strongest linux flavors, and featured the lightweight openbox window manager. after installing i was taken back by how minimal it's GUI was. no desktop environment, just a WM (window manager) and a rock-solid toolkit. many of the components of #! are from the XFCE project, which i was familiar with from some other distros i tired. after a few days i realized how unnecessary a DE (desktop environment) was for my purposes. my goal was to live in the command line, and i was doing just that. but when the moment arises that you need a file manager, thunar is there to help you out. thunar is a beautiful, bare minimum, file manager. you can visually explore the file system, move files around, have it suggest which applications you should use to open files with, etc. some other notable applications that come with #! are nm-applet, a network manager which makes connecting to wired/wifi/vpn networks a breeze. gparted, a GUI disk partitioning tool, and a/xrandr a dead simple screen resolution configuration tool.
but one of #!'s strongest points are the forums. it's a great community of friendly, insightful, intelligent individuals helping new users solve problems. the vast majority of my questions were solved by simply searching. most n00b questions have already been answered, many with multiple suggestions and updates as things change. the forums are also a "direct" link with other users and developers. they have posts asking the community for suggestions for new releases, posts about new software, and other topics related to the linux world. but this community is not only made up of #! users, there are many who use debian proper, or other debian variants, archers, even a few ubuntu users.
like many other linux users i keep a git repo of my dotfiles, the ui configuration files that make my personal linux system look and act the way it does. you can check them out on my git server or on github.
the voyage continues
it's now been a year since i embarked on my linux journey and it's far from over. i have long since deleted my windows partition, and have never looked back. that's partially thanx to wine, a tool that allows you to run windows software in linux. and partially due to the great free software available to linux users. linux gives you, the user, the freedom to use your machine the way you want it. it's open nature allows you to tweak ever minute detail of your system. yes allows, unlike windows which i was constantly hacking part to change things, which inevitably leads to system instability and/or lack of security.
i highly suggest giving linux a chance. it does have a learning curve, but how steep is based on which distro you select. mint and ubuntu are very windows-esque, and thus have a low barrier to entry. but "power-users", like myself, can choose to dive a deeply as you desire. linux is what you make it.