Installing Linux or How I Stopped Worrying and Learned to Love the Penguin
Tags: linux
Published: 2020-01-27 04:32:35

##Why I made the jump:
Windows is great for a lot of things but using it as your development environment, not so much. Sure, Microsoft has made some advancements recently that makes things easier: virtual desktop support on Windows 10, Windows Subsystem for Linux, and the oh so wonderful VSCode, but it's not without it's headaches even still.

One of the problems is you actually need Windows 10 to get the aforementioned features and if you were like me with a absolutel fossil of a laptop still running Windows 7 you're left with the nightmare of actually installing it. I still have PTSD over loosing an entire day's worth of course work due to downloading 40 gigs worth of OS. Who knows many hours of sleep I've lost to  waking up in a cold sweat, the memory of that sky blue screen mocking me with it's slowly creeping percentage while my colleagues coded away. 

| ![windows10install](https://i.pinimg.com/originals/5e/32/8d/5e328dc11b7b8b20154c39779fae3aa8.jpg) | 
|:--:| 
|<center> THE HORROR </center>|

Afterwards my experience with coding on Windows was still a bumpy ride- often times things never worked out of the box and needed some asinine work-around I'd spend way too long googling, and I was assured by many that it wouldn't get any better. So I decided to make the jump into the scary new world of an unfamiliar OS.

##How to actually get it installed:

The first step you have to make is picking your distribution or distro. Linux just isn't one Linux, as an open-source OS there's a variety of versions that all have a different focus. Fancy yourself an ethical hacker who wants to find security holes to fix then give [Kali](https://www.kali.org/) a try. Maybe you want to fully embrace that open-source life and grab [Fedora](https://getfedora.org/). Me? I just wanted to code with minimal headache and switch to a new OS with little learning curve- so I settled on [Mint](https://linuxmint.com/): a lightweight distro that comes preloaded with a Windows-esque GUI.

|![linuxdistros](https://tr3.cbsistatic.com/hub/i/r/2017/06/19/0e787ac4-a038-4eaf-bbcc-9b4f33bf116b/resize/1200x675/86401820f410cd010605341d27fced52/distrohero.jpg) |
|:--:| 
|<center> Seriously, there's a lot of 'em </center>|

From there, you actually got to install the sucker- thankfully Mint has some easy to follow [documentation](https://linuxmint.com/documentation.php) that lays out the process. You'll need some sort of boot medium- a usb drive preferably, but burning the ISO on a disk will also work. Next you'll slap your boot medium into your computer, restart it and change the boot order in your BIOS to load Mint. If you've never messed with BIOS before, check out [this guide](https://www.howtogeek.com/129815/beginner-geek-how-to-change-the-boot-order-in-your-computers-bios/), it's not as scary as you might think.

Once you've set that up you'll boot into a live version of Mint that's running off of the boot medium. It'll operate the same as the real deal, though you won't be able to save any changes you make, this will give you a opportunity to click some buttons and make sure nothing exploded. Once you're satisfied that everything is in working order, run the install wizard located on the desktop which will walk you through the process of either formatting your drive for a pure Linux install, or set up a partition so you can dual-boot into either OS. And that's it. It was such a surprisingly easy experience I was left wondering why I was so worried in the first place.

##What I think about it:

I've been using Mint for about a week now, and so far, I love it. All your familiar shortcuts work, and minus a few slight changes in the UI, it works almost exactly like a Windows OS. It feels natural to use and your average user will barely notice the difference. But the thing I really love the most is that if you start digging around and pushing buttons...you can break the crap out of it.

I know that sounds counter-intuitive. Why would you want something you can break? Because to truly get the most out of something you've got to take off the training wheels. Way back when dinosaurs roamed the earth and I got my first computer with Windows 98- I pressed every button, typed things in the command line I really shouldn't of, deleted files that bricked the entire OS, and had to re-install multiple times. But in doing so, I learned the in's and out's of that machine. Pulling it apart and looking at all the parts gave me a more intimate understanding of how to fix things when everything went fubar.

Linux gives you a lot of power. Can't run a command normally? Prepend sudo (super user do) to the front of it and <em>BAM</em>, you're the master of your own destiny. But, as Uncle Ben said in the superior Raimi Spiderman flicks (don't @ me), "Great power comes with great responsibility." If you run 'sudo rm -rf' in your root folder, <em> you won't feel so good.</em>

|![spooderman](https://media1.tenor.com/images/934ff60b97a0c35667b2210e786cdc5a/tenor.gif?itemid=12094481) |
|:--:| 
|<center> A visual representation of your hard drive when you run '$root sudo rm -rf' </center>|

On the topic of the terminal commands: they're likely my biggest gripe about Linux. Apparently the Linux devs have an allergic reaction to typing or easy to understand alias for commands. They're all some esoteric acronym followed by an entire alphabet of -flags that only a Google search will reveal the meaning of. <em>grep</em> stands for "Global regular expression print" which is a very useful command who's acronym sounds like a sound a dying animal would make.

Regardless, I've very much enjoyed my experience with Linux and I'm quickly becoming one of 'those people'. It's only a matter of time before I slap a penguin sticker on the back of my laptop and start making childish jokes about 'fsck', and I invite you to become one too.