2.1 Development Environment Setup

So Week 1 got over and we are now in Week 2 of the internship. This week is focused on getting ready for handling the project, which includes the most important — development environment set up, and learning about some tools to help in managing that project.

Alright, so the first task is to get your system ready, and this will require:

  • Setting up your Operating System correctly according to the requirement.
  • Customizing it to the need.
  • Installing softwares that may enhance productivity.

For the first step, any of these setups can be followed:

  1. On Linux: Ubuntu 16.04 + Bash Terminal. (This is the recommended environment by Hasura)
  2. On Mac: Default Terminal + Brew
  3. On Windows: Git-bash installed.

As I have been using Linux for a few years, I had no problem going with the recommended option. Just in place of Ubuntu, I had Zorin OS 12 installed, which is a Linux distribution based upon Ubuntu 16.04.

Zorin OS

The reasons why I chose Zorin is credited to the following:

  1. It is Linux, hence it is free. This is the most prominent reason by the way.
    But so what? Other Linux distributions are also free, right?
  2. But then, the look of Zorin is inspired by Windows. It is made to make users feel at home who migrate from Windows and use Linux for the first time.
  3. As it is Ubuntu based, it does almost anything that you will do on an Ubuntu system.
  4. And personally, I have used nearly 5–6 Linux distributions, just to find where my taste lies and this is the OS which I really feel comfortable using. (Except for sometimes, when I want to play games :P)
Screenshot of my Zorin Desktop

So basically, downloading and installing any Linux distribution is almost the same, and pretty easy too. Also, there are lots of guides, videos available on the internet that can demonstrate how to get your favorite Linux OS work for your system, no matter whether you are migrating from Windows, or dual booting alongside it, or any other situation. Just google out the solution.
That is the best thing about using Linux. The community is really well developed and your problems get sorted out very quickly.

To install Zorin, I followed the official tutorial available on the website. A similar procedure can be found here, which instead describes Ubuntu installation (the steps are same).

These steps are to be followed if you want to do clean installation and only use Zorin (or any other distro).
But for beginners, the best practice is to dual boot your system, keeping your primary OS until you are ready. I myself did it when I first installed Zorin. I dual booted it alongside Windows 10.
So to dual boot, you can follow this tutorial.

Talking about development environment, it should be such that you should be very comfortable using it. So to become better at using Linux, I followed some steps since I started using it:

  1. Using terminal as much as possible. (Besides being fun, it really gives you full control over your system)
  2. Fixing the problems that usually arise, by the help of online communities. (Like problems related to wifi drivers, exe files, etc.)
  3. After keeping dual boot for sometime, I eventually moved on completely to Linux (a big sacrifice on the part of my likeness towards computer games :( )

Over the time of my endeavor to use Linux, I have made many customizations to make my usage more productive. Some of them include:

  1. Using Guake — a drop down terminal emulator. (Other emulators)
  2. Using Atom editor. (Similar editors are Sublime-Text or Vim)
  3. Installing Tweak Tools, a great customization tool.
  4. Using WINE to run windows softwares (comes preinstalled in Zorin)
  5. And a bunch of other softwares, like IDEs.

Hence so, setting up my development environment was not really a task for me as I already had it set up sufficiently to work for this internship.

The major tasks that now I have to dive into are to brush up through the Version Control tools like GIT followed by setting up the Hasura Local development in my system.