Going back to bash-ics with dev tools

I recently nuked my entire development environment and I did so purposefully. As I have been teaching myself to write code I have come across many fun, shiny things that can make developing for the web easier, flashier, or something-er. As someone new to the whole world I just kind of grabbed everything because people said it was cool and would fix so many problems. I also installed things at the advice of others I met who said a particular tool made something really easy for them.

Over time this has gotten me lots of cool things, but in the end it is LOTS of things. I recently read an article on Hackernoon regarding How it feels to learn JavaScript in 2016 and it got me thinking about my own dev setup. If you haven’t read it already I would suggest it because it is funny and sadly accurate at the same time. After reading it I began to think about my own development process and how I would make an app today if I was working on a project. It also reminded me of how a few months ago I erased my system and set everything up cleanly on my Mac. When I did this I made a list of all of my tools that I would need to install afterwards. I took great care to make sure I got all of these “important” items.

As I mentally went over what I have installed on my computer I realized that if someone asked me why I use a particular thing that I don’t think I could truly defend my choice in using it. I would likely start with a story of how I found out about the thing and read or was told how it solves a certain problem. If I was asked if I had experienced that problem I probably couldn’t say so for sure. For example, I was using Oh My ZSH on top of zshell instead of using bash as my shell in my Terminal app, which was Hyperterm instead of Terminal that comes with macOS. I was told awhile ago that Oh My ZSH was an awesome tool with these great configurable features, but it required using zshell. So, I changed the shell on my system and installed Oh My ZSH without ever really using bash and seeing how they are different and if I actually prefer one over the other.

This is also true of NVM, another tool I installed after reading a blog post. I understand the benefits of having multiple versions of Node on your system in case you need to develop apps using a particular version, but I have yet to actually have that need myself. It will likely come as I work more, but until then I am leaving it off.

Now, I have my shell set to bash, hence the awesome and pun-tastic title of this post, and I’ve uninstalled all of the things I can’t justify using. Going forward I plan on working on projects and as I experience the pitfalls of a certain process I can look into solutions for that issue. But, until then I am going to work with a more default setup. One benefit to this is that to get my dev environment setup on another computer will just take a .bashrc and .bash_profile along with installing Atom and Node.js. The contents of those bash files are stored in Google Keep, so I can easily copy and paste their contents into place. Fun fact, I have already replicated the things I was using and like about Oh My Zsh and zshell in bash. So, I probably won’t be switching back unless something pretty drastic comes up. I’m also using Terminal over Hyperterm.

In the end this is meant to help me solidify my learning in web development so that I can speak directly to the stuff that I am doing and why I am doing it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s