DEV Community

Michael Minshew
Michael Minshew

Posted on

Why I switched to Linux and what I'm using Today

A few months ago I made the hard switch over to running Linux on my work laptop and haven't looked back even once.

I've been a windows user since 3.1 and never jumped onto the Apple craze, I like Apple's products and use my wife's Macbook on occasion but mostly stayed with windows as I'm a gamer (not trying to start an os war). I liked Windows, was familiar with it and didn't really have a desire to change. I messed around with Linux on occasion growing up running it parallel to windows but as I wasn't really into programming and was always into gaming (Shame on me for wasting my youth on King's quest and Total annihilation) as a result I never really made the plunge.

Last year I got into programming with the idea of switching careers from Ecommerce data analytics and project management into development and started teaching myself to code on windows 10. I love windows 10 and use it as my non work OS but I kept bumping into hiccups when I wanted to install or run things. C was a beast to get installed on Windows and it always felt like there was always an added layer of stuff between me and coding no matter what code I worked on. Coding is hard enough as it is and I was getting frustrated.

Early last year I was working through Zed Shaw's "Learn Python the Hard Way". He recommended that I learn the command line and had a quick tutorial to get into it. I fell in love and immediately switched over as much as I could to using the command line and manually configured my Powershell to run my stuff. Nostalgia from DOS notwithstanding it was just fun using the command line to navigate and easier than I had always assumed it would be. (I'll note that configuring powershell is not fun)

Last year something remarkable happened. Microsoft actually allowed BASH (born again shell a popular shell and command language) and a linux instance to be run on Win10 and I started messing around with it. I was sold, I could run nearly all my languages from the same shell with almost no effort. I could install python in a few keystrokes, run a c program and then setup a python program with almost no effort at all.

The only problem was that I was doing all my work on a Linux environment inside of windows and it was annoying to get my code into more normal work flows in windows and onto Github desktop which I started using around that time. So after a bunch of procrastinating I finally grabbed all my code off my windows 10 work laptop and installed Ubuntu Linux. Overnight my work flow improved drastically and now I almost prefer using my work laptop for personal everyday use. I would heartily recommend that anyone who does any coding switch to Linux, the ease of use, simplicity of installing and working with tools is incredible. Once again I love windows 10 but Linux is slowly stealing my heart.

I do recommend that if you switch to linux to start with Ubuntu and try a different flavour of the OS as Ubuntu is extremely easy to work with. I did not like the setup and desktop of Base Ubuntu though so I am using plasma Kubuntu and loving it.

There are a bunch of great Linux Distros though such as CentOS or ARCH. I'm just recommending ubuntu/kubuntu as its extremely easy to get started on and its very popular and well supported if you need some help. Plus you can download it to a flash drive and demo run it from the flash drive without having to install to get a feel for the OS.

I am currently using the following setup to run most of my code and work tools.

OS:Kubuntu 16.04
Desktop Flavour:KDE Plasma Version 5.8.8 (much prettier and UX friendly vs base Ubuntu In my opinion.)

Web Browser: Chromium and Firefox
Version Control:Git with the Gitkraken desktop platform.
Shell: Konsole (Bash)
Text Editor: Primarily Atom and occasionally vim(getting the hang of it slowly) and just installed Emacs for lisp a few hours ago.
Image Editor: Gimp
IM: Slack desktop or Google Hangouts
Languages I'm working with: C, Python3, Ruby, Clisp(just installed this today)

The only thing that I do miss is the windows version of notepad++ I haven't found a Linux version that is exactly the same but thats a small price to pay for the faster time to get into my flow, faster and easier installation of software and overall better experience that Linux has brought me.

In addition I can do server work easily, completely customize every part of my desktop, easily setup keyboard shortcuts to run programs or scripts (Windows 10 can do this somewhat as well) and can install the C compiler in one short sentence(I can't emphasize enough how easy installing programs is on Linux, most programs are a single sentence typed into the console and a quick "y" press to confirm installation.)

I hope this is insightful and encourages someone else to make the jump into Linux for doing development work, I have enjoyed the OS so much that I'm actually taking courses on Linux administration and working on becoming a power user. Something I never felt inspired to do on Windows. Thanks for reading and keep on Coding.

Latest comments (47)

Collapse
 
andyst81 profile image
andyst81

It seems like I've gradually made the switch too. I find myself using Windows and MacOS less and less nowadays - I almost exclusively boot up Ubuntu. I'm toying around with the idea of getting rid of Windows from my laptop entirely and going full force Linux.

Collapse
 
pawelsmolka profile image
Paweł Smołka

I love Linux for my combo:
os: arch with yaourt
wm: bspwm + compton
editor: spacemacs (emacs on drugs :D) with evil mode (vim-like edition but boosted with emacs power)

I run apps I develop in docker containers, same that are used on production. A little more resources is taken druing dev stage but it brings awesome portability and fast setup for colegues joining projects.

Gonna make some unixporn post some day ;)

Collapse
 
shostarsson profile image
Rémi Lavedrine

Your title brings me to that article.
I was very interested to ear about your journey from Windows to Linux.
I tried Linux in 2004 and at that point I had a very hard time with. Nothing was working and my very first laptop literally broke using Linux.
That was a very bad first experience from the Open Source Community. :-D

Then a few years later, I tried Linux again, and it was way better.
And I am now a full time Linux user.
Thanks to Web development, the software proposition on Linux is as great as it is on any other platforms.
And I must say that for photography management it is even better than on Windows or MacOS (Darktable and Shotwell is a perfect mix).
I really love Ubuntu for its huge compatibility with hardware and software but I indeed changed the flavour and installed Ubuntu Budgie.
That gives the best of the Solus desktop environment but in Ubuntu which has, at the moment, a great number of softwares available.

Had a great time on Linux.

Collapse
 
junocomputers profile image
Juno Computers

Juno Computers makes it very easy to switch to Linux. Check us out!

junocomputers.com/

Collapse
 
erinlmoore profile image
Erin Moore

I switched to Linux because I am very cheap 😂. I was building a computer to save money so I certainly wasn't going to spend any on the OS.

Collapse
 
theminshew profile image
Michael Minshew

That's a fantastic reason. Should have mentioned that lol.

Collapse
 
nitin profile image
Nitin Bisht

I am a windows 10 user, just started into development and I want to switch to Linux but My hard drive is almost full (900 GB / 1TB), and I don't want to loose my data how can I switch without loosing any data, Is there any way to do that without parallel boot and just use only Linux.

Collapse
 
shostarsson profile image
Rémi Lavedrine • Edited

A NAS would be a good solution.
Push all your data to the NAS and access it from you Windows or Linux that you installed on Dual Boot (that's what I'm doing and it works pretty well from the last 5 years ).

Collapse
 
5bentz profile image
5bentz • Edited

By 'parallel boot', I assume you mean 'dual boot'. Don't be afraid of having a dual boot and using only Linux ;)

Since an Ubuntu flavor takes fewer than 10G, you should consider shrinking your last partition to free enough space for installing Linux. 30G is more than enough to install various IDEs, toolchains, etc.
Then, you can simply mount your 900G partition(s) on Linux to access your data. No loss at all.

Of course, backup your data regularly & especially before the shrink & the installation ;)

Collapse
 
theminshew profile image
Michael Minshew • Edited

You can put Ubuntu on a flash drive and run it as a test that way. You'll have the option to try out the OS or format your hd. Just choose the test out option. There's a few other ways but this one is the simplest.

You can try the linux subsystem on windows 10 though right now as Bash and base linux is available now. Assuming you have room this is a fantastic way to get some practice and learn the command line and get the basics in.

here's a quick tutorial. (i edited this from the original post as this method is much simpler)
howtogeek.com/249966/how-to-instal...

for the ubuntu test:
They have a tutorial here. tutorials.ubuntu.com/tutorial/try-...

Collapse
 
nitin profile image
Nitin Bisht

Actually I have already installed ubuntu bash on my system, but I use git bash I found it more comfortable to use, I have Intermediate understanding of command line, I just got irritate with windows. Like unexpected shut down, low memory every single time when I open more than 4 tabs in chrome, along with VS Code open, and even I open another window of the terminal it crashes sometimes. I tried elementry os distro with a flash drive It's beautiful but I guess there are some driver issue with it, so Now I just wanted to switch to ubuntu without My data loss.

Thread Thread
 
theminshew profile image
Michael Minshew

I'd invest in an external hd and switch that way. i grabbed a reasonable external hd on amazon for 70 bucks a while back. i think it was 2TB

Thread Thread
 
nitin profile image
Nitin Bisht • Edited

Actually did the same, backed up my data and did a fresh installation. Loving it, linux is awesome. Specially zsh shell and oh-my-zsh.

Collapse
 
bgalvao profile image
Bernardo

I find this very relatable. I for one, decided to switch to linux because interaction with servers was better documented, and after all, a smoother experience. And it saved me a lot of time :) I had some friction with the terminal, but if you push through the two first days, it becomes second nature.

Collapse
 
theminshew profile image
Michael Minshew

I was doing some mysql work a while ago, I will absolutely be getting into linux server stuff later on and love that its so well put together.

Same with the terminal here but once I got CD, LS and PWD things got easier lol.

Collapse
 
gianiaz profile image
Giovanni Lenoci

Give zsh and ohmyzsh (github.com/robbyrussell/oh-my-zsh) a try for a better shell :-)

Collapse
 
manueltorrez profile image
Manuel Torrez

I loved that terminal! Unfortunately, it didn't recognise ruby commands for me :(

Collapse
 
theminshew profile image
Michael Minshew

I've heard of ZSH before, I'll definitely give it a shot. Always willing to try something new, especially if it improves productivity,

Collapse
 
aswathm78 profile image
Aswath KNM

A few suggestions
Try Terminator for terminal

And VS code instead of atom . It really works faster comparing to atom

Zeal for offline documentation . This works because there's no official CHM reader for linux .

Calibre For e-book management . It supports almost every version of Ebooks

Collapse
 
waracci profile image
Morris Warachi

+1 on zeal. It has many offline documents.

Collapse
 
tam360 profile image
Mirza

you can use notepaddqq (linux equivalent of notepad++). VScode is a beast tbh. you will love it!!

Collapse
 
theminshew profile image
Michael Minshew

I'll take a look, frankly, the only reason I used notepad ++ was because of the autosave feature. I closed it a lot by accident and having a fast loading, autosaving, code friendly notepad was pretty helpful lol.

Collapse
 
mechanicaljungle007 profile image
mechanicaljungle007

Sir, How to Download this website in "mechanicaljungle.com/parts-and-fun... " in notepad format