|  |  | @@ -0,0 +1,232 @@ | 
    
    |  |  | ## Ubuntu 16.04 Developer Tools Installation | 
    
    |  |  | 
 | 
    
    |  |  | First things first ! | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt update | 
    
    |  |  | sudo apt upgrade | 
    
    |  |  | ``` | 
    
    |  |  | ### Standard Developer Tools | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt-get install build-essential git | 
    
    |  |  | ``` | 
    
    |  |  | ### Python Development | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt-get install python-dev python-pip python-virtualenv python-numpy python-matplotlib | 
    
    |  |  | ``` | 
    
    |  |  | #### Virtualenv Wrapper Installation | 
    
    |  |  | ```bash | 
    
    |  |  | sudo pip install virtualenvwrapper | 
    
    |  |  | echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc | 
    
    |  |  | # Create Virtualenv (env location is ~/.virtualenvs) | 
    
    |  |  | mkvirtualenv <env_name> | 
    
    |  |  | # select virtualenv | 
    
    |  |  | workon <env_name> | 
    
    |  |  | ``` | 
    
    |  |  | #### pip packages | 
    
    |  |  | For Machine Learning | 
    
    |  |  | ```bash | 
    
    |  |  | # Create Virtualenv | 
    
    |  |  | mkvirtualenv ML | 
    
    |  |  | # Activate it | 
    
    |  |  | workon ML | 
    
    |  |  | # Install packages (if behinde proxy use pip install --proxy=<proxy_address>) | 
    
    |  |  | pip install scipy scikit-learn matplotlib jupyter pandas numpy tensorflow keras seaborn | 
    
    |  |  | ``` | 
    
    |  |  | For Web Development | 
    
    |  |  | ```bash | 
    
    |  |  | # Create Virtualenv | 
    
    |  |  | mkvirtualenv web | 
    
    |  |  | # Activate it | 
    
    |  |  | workon web | 
    
    |  |  | # Install packages (if behinde proxy use pip install --proxy=<proxy_address>) | 
    
    |  |  | pip install django beautifulsoup4 requests ipython | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Compiler Development | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install flex bison | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Networking tools | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install libpcap-dev libnet1-dev rpcbind openssh-server nmap | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Computer Vision or Image Processing with OpenCV | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install python-numpy | 
    
    |  |  | cd ~ | 
    
    |  |  | # Clone latest codebase for opencv (do git checkout for specific version) | 
    
    |  |  | git clone https://github.com/Itseez/opencv.git | 
    
    |  |  | # Clone opencv contrib plugins | 
    
    |  |  | git clone https://github.com/Itseez/opencv_contrib.git | 
    
    |  |  | # install prerequisites | 
    
    |  |  | sudo apt-get install cmake pkg-config libjpeg8-dev libtiff-dev libjasper-dev libpng12-dev libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libatlas-base-dev gfortran libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff5-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg libgphoto2-dev | 
    
    |  |  | # Start Build Process | 
    
    |  |  | cd opencv | 
    
    |  |  | mkdir build | 
    
    |  |  | cd build | 
    
    |  |  | cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON .. | 
    
    |  |  | make -j4 | 
    
    |  |  | sudo make install | 
    
    |  |  | sudo ldconfig | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Parallel Processing with OpenMPI | 
    
    |  |  | 
 | 
    
    |  |  | ```bash | 
    
    |  |  | #install pre-requisites | 
    
    |  |  | sudo apt-get install libibnetdisc-dev | 
    
    |  |  | # download codebase | 
    
    |  |  | wget https://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.2.tar.gz | 
    
    |  |  | # extract | 
    
    |  |  | tar -xzvf openmpi-1.10.2.tar.gz | 
    
    |  |  | # configure and build | 
    
    |  |  | ./configure --prefix="~/.openmpi" | 
    
    |  |  | make -j4 | 
    
    |  |  | sudo make install | 
    
    |  |  | echo "export PATH=$PATH:$HOME/.openmpi/bin" >> ~/.bashrc | 
    
    |  |  | echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.openmpi/lib/" >> ~/.bashrc | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Android tools | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install android-tools-adb android-tools-fastboot | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Media tools | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install flashplugin-installer vlc ffmpeg | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Editor | 
    
    |  |  | install vim | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install vim | 
    
    |  |  | ``` | 
    
    |  |  | Install Atom Editor [download](https://github.com/atom/atom/releases/download/v1.23.3/atom-amd64.deb) | 
    
    |  |  | ```bash | 
    
    |  |  | sudo dpkg -i atom-amd64.dev | 
    
    |  |  | ``` | 
    
    |  |  | Install Visual Studio Code [download](https://code.visualstudio.com/docs/?dv=linux64_deb) | 
    
    |  |  | ```bash | 
    
    |  |  | sudo dpkg -i code_<version>.deb | 
    
    |  |  | ``` | 
    
    |  |  | ### Ubuntu Customization (Theme and Icons) | 
    
    |  |  | Install Gnome Tweak Tool | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install gnome-tweak-tool | 
    
    |  |  | 
 | 
    
    |  |  | # Create Theme and Icon directory | 
    
    |  |  | mkdir ~/.icons ~/.themes | 
    
    |  |  | ``` | 
    
    |  |  | Download Themes and Icons, Place it under respective directory and open tweak tool select your themes | 
    
    |  |  | 
 | 
    
    |  |  | Suggested Themes and | 
    
    |  |  | 1. [Flatabulous](https://github.com/anmoljagetia/Flatabulous) | 
    
    |  |  | 2. [Paper-Theme](https://github.com/snwh/paper-gtk-theme) | 
    
    |  |  | 3. [Paper-Icon-Theme](https://github.com/snwh/paper-icon-theme) | 
    
    |  |  | 
 | 
    
    |  |  | ### Install ZSH | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install zsh | 
    
    |  |  | curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh | 
    
    |  |  | chsh -s `which zsh` | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Web Development in PHP with Apache2 Web Server | 
    
    |  |  | ```bash | 
    
    |  |  | #Install apache2 and php | 
    
    |  |  | sudo apt install apache2 apache2-utils libapache2-mod-php | 
    
    |  |  | sudo apt install php php-dev php-mcrypt php-mysql php-mbstring php-dom | 
    
    |  |  | # Enable mod_rewrite for apache2 | 
    
    |  |  | sudo a2enmod rewrite | 
    
    |  |  | ``` | 
    
    |  |  | Configure index.php for priorities add index.php `sudo nano /etc/apache2/mods-available/dir.conf` | 
    
    |  |  | ``` | 
    
    |  |  | <IfModule mod_dir.c> | 
    
    |  |  | DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm | 
    
    |  |  | </IfModule> | 
    
    |  |  | ``` | 
    
    |  |  | Configure Mod Rewrite `sudo nano /etc/apache2/sites-available/000-default.conf` | 
    
    |  |  | ``` | 
    
    |  |  | <VirtualHost *:80> | 
    
    |  |  | ServerAdmin webmaster@localhost | 
    
    |  |  | DocumentRoot /var/www/html | 
    
    |  |  |  | 
    
    |  |  | <Directory /var/www/html> | 
    
    |  |  | Options FollowSymLinks MultiViews Indexes | 
    
    |  |  | AllowOverride All | 
    
    |  |  | Order allow,deny | 
    
    |  |  | allow from all | 
    
    |  |  | </Directory> | 
    
    |  |  |  | 
    
    |  |  | ErrorLog ${APACHE_LOG_DIR}/error.log | 
    
    |  |  | CustomLog ${APACHE_LOG_DIR}/access.log combined | 
    
    |  |  | </VirtualHost> | 
    
    |  |  | ``` | 
    
    |  |  | Reload Apache `sudo service apache2 restart` | 
    
    |  |  | 
 | 
    
    |  |  | ### Java Development | 
    
    |  |  | ```bash | 
    
    |  |  | # install jdk | 
    
    |  |  | sudo apt install openjdk-8-jdk | 
    
    |  |  | # install maven | 
    
    |  |  | sudo apt install maven | 
    
    |  |  | ``` | 
    
    |  |  | Install eclipse [dowload](http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/oxygen/2/eclipse-java-oxygen-2-linux-gtk-x86_64.tar.gz) | 
    
    |  |  | 
 | 
    
    |  |  | ### Ruby Development | 
    
    |  |  | 
 | 
    
    |  |  | ```bash | 
    
    |  |  | # install pre requisites | 
    
    |  |  | sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev | 
    
    |  |  | 
 | 
    
    |  |  | # clone rbenv | 
    
    |  |  | git clone https://github.com/rbenv/rbenv.git ~/.rbenv | 
    
    |  |  | git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build | 
    
    |  |  | git clone https://github.com/rbenv/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash | 
    
    |  |  | 
 | 
    
    |  |  | # add configuration to bashrc | 
    
    |  |  | echo "export PATH=$PATH:$HOME/.rbenv/bin:$HOME/.rbenv/shims" >> ~/.bashrc | 
    
    |  |  | echo "eval $(rbenv init -)" >> ~/.bashrc | 
    
    |  |  | echo "export PATH=$HOME/.rbenv/plugins/ruby-build/bin:$PATH" >> ~/.bashrc | 
    
    |  |  | # install and set specific ruby version | 
    
    |  |  | rbenv install 2.3.0 | 
    
    |  |  | rbenv global 2.3.0 | 
    
    |  |  | # install some gems | 
    
    |  |  | gem install bundler jekyll mysql2 rails jekyll-pagedown | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### Database | 
    
    |  |  | ```bash | 
    
    |  |  | # install nosql database | 
    
    |  |  | sudo apt install mongodb-server | 
    
    |  |  | # install sqlite3 for smaller db | 
    
    |  |  | sudo apt install libsqlite3-dev sqlite3 | 
    
    |  |  | # mysql community version installation | 
    
    |  |  | sudo apt install mysql-server libmysqlclient-dev | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### NodeJs Development | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt install nodejs npm | 
    
    |  |  | sudo npm install -g grunt-cli yarn @angular/cli | 
    
    |  |  | ``` | 
    
    |  |  | 
 | 
    
    |  |  | ### ASP.NET Development | 
    
    |  |  | ```bash | 
    
    |  |  | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF | 
    
    |  |  | echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list | 
    
    |  |  | sudo apt update | 
    
    |  |  | # install mono libraries | 
    
    |  |  | sudo apt install mono-devel mono-complete referenceassemblies-pcl ca-certificates-mono mono-xsp4 | 
    
    |  |  | # install mono ide | 
    
    |  |  | sudo apt install monodevelop-nunit monodevelop-versioncontrol monodevelop-database | 
    
    |  |  | ``` | 
    
    |  |  | ### CLoud Storage (Dropbox) | 
    
    |  |  | ```bash | 
    
    |  |  | cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - | 
    
    |  |  | # to start dropbox | 
    
    |  |  | sh ~/.dropbox-dist/dropboxd | 
    
    |  |  | ``` |