Moving to a remote work environment: Motivation
Sun 30 August 2015How many times has this happened to you -
- Your system crashed and all of your configuration that you spent nights setting up was also - gone
- You were trying to install a new OS, (probably a new flavor of linux), you had to setup your dev env all over again. Its a real nightmare installing all those libraries, dlls, and what not!
- You are in a remote area, and you have to do some urgent work or code modification, but you just can’t work without your dev environment.
We all spend countless hours in setting up our development env
just right and its really annoying to set it up all over again. Imagine
it would have been so much easier if your dev env was portable and all
you had to do was either ssh into it or deploy the VM and that’s it. You
are ready.
After my recent fiasco (read as System function failing miserably)
with Windows I have decided that I really need a remote work environment
which is independent of the client that I am operating upon.
I have tried to create a remote and portable development
environment but everytime I got sidetracked. But none of that this time.
Losing a ideal development environment is really a nightmare and it
takes nearly days to set it all up again.
So, after scouring the internet for days I have developed a
roadmap for working with remotes and nurturing my own remote and
protable development environment. In the coming series of article I am
going to share with you all the procedures and software that I am going
to use to initialize my development environment.
First up is is working with remotes. As part of my
internship at TechShanty I have constant
access to a DigitalOcean VM. I have decided to utilize this remote as
much as possible. I will be setting up a apache server, terminal
multiplexing and user access level for everyone using it.
Next will be setting up my own portable development
environment. I haven’t yet decided on whether I want a headless env or
full GUI. For making my development environment portable I will use
virtual machines. I have shortlisted (but haven’t yet tested) two
machines for this purpose. First is, CS50 Appliance 19 based on Ubuntu
and second is the appliance that I am using in CS162 which is again
based on Ubuntu.
Technologies that I work with on a regular basis:
- C/C++ : Low level to gui level
- Web: Nodejs, php, html, css, js, sql, phpmyadmin
- Java: Including awt and swing
- Java: Netbeans, glassfish :( , j2ee, jersey, tomcat
- Miscellaneous: Can range from Photoshop to python, anything thats of interest
Comments