Tools

 

This post we will go over my current development setup. Taking a look over everything from hardware to software, you will gain insight into how I work and the pieces that help me in my daily struggles as a budding developer. Although this setup works for me, everyone will have their own preferences and my setup review is in no way meant to suggest its superiority over other setups.

 

The Physical Beast

My development computer, is a decent machine, although with slightly older pieces at this time. It contains enough horsepower for every purpose I have conceivably been able to through in its path. Considering I do mostly web development work, this computer will last me a good while, with maybe a few upgrades along the way.

Custom-Built Rig

The Inner Beast

For software, I have a few favorite pieces that are tried and true, having yet to fail me in my time of development. I use to jump around between Linux distributions, mostly consisting of Fedora and openSUSE, but also mini vacations off to other Linux utopias. That was until I found Arch Linux. For the past year and a half, I have used the same Arch Linux installation on my machine. This machine is running vanilla Arch Linux while my laptop and work computers both run Antergos, which is an easy-to-install distribution based on Arch Linux. Everyone should go through a few vanilla Arch Linux installations first before using Antergos in my opinion, as the experience will teach you how Arch Linux works. When you need something setup quick though, and you want the flexibility and power Arch Linux provides, Antergos delivers.

Desktop Utopia

There was a time, not too long ago, when I would insist KDE was the desktop to use for everyone, and nothing would change my mind. Now I am not so sure. Although KDE is nice, I feel it does not fit my needs as well any longer. It still is an amazing project, but I am no longer as dogmatic, at least in regard to desktop environments. Everyone has their own desktop environment needs, and mine have been filled by Gnome. The simplicity of Gnome causes it to stay out of your way while it provides features comparable to most other modern desktop environments. Powered by Arch Linux, I am provided with the most up-to-date software, giving me the newest features in development.

Distro Mania

As I already mentioned, I use Arch Linux and Antergos. The main advantage here is up-to-date software, including the kernel and development tools. Installing Arch Linux proves an amazing experience, frustrating at first, but beneficial in many ways. It allows for a deeper understanding of how Linux works and how to configure individual pieces of the Linux environment. I have been through the install a few times, and although I may not configure those exact pieces on a daily basis, it has provided insight into configuration and setup of most Linux software, in general, making server setup easier and quicker. I highly recommend becoming familiar with setting up a Linux system this way. It will provide experience for future development endeavors.

Development Tools

For my actual development environment, I use vim, with the occasional tmux session. I frequently use ssh and/or mosh, an alternative to ssh allowing a persistent connection, even when most ssh connection would drop out. Even with modern Internet connections, issues arise causing packet loss or disconnects wich destroy an ssh connection. Mosh, on the other hand, will reconnect your session when the connection is restored, even when your IP address changes. This is especially useful when using a laptop and moving from location to location.

The Real Deal

In the end, the thing that matters the most is how productive you can be. I choose vim as my daily driver, but you may pick emacs or sublime, or even something else. That is perfectly fine. Don’t get caught up in the holy wars of development tools, it really doesn’t matter. As long as you know your tools and can produce results, they are just a means to an end. Continue to learn other tools, look for ways to improve your current setup and always keep coding.

Published by Brandon

Software Developer and Computer Science Student

Leave a comment

Your email address will not be published. Required fields are marked *