Thursday, 7 December 2017

Install virtualenv and virtualenvwrapper on Ubuntu

virtualenv is a tool to create isolated environment for Python, so you can develop your dreams without hassels of dealing with version conflicts of required libraries. let say you are working on company accounts system on server using Django 1.7 and you are deploying new analytics tool that employs latest Django 2.0; Now you can not install both versions of Django on server root globally. Any change in libraries or versions of Django can break applications. virtualenv solve this by creating its own installation directories, that doesn't share libraries with other virtualenv environments, thus every environment is independent to work on. this also help when you don't have access to install packages into the global site-packages directories like shared host. Thus virtualenv is a must have tool for python developments. By using the virtual environment, you can use different versions of Python and Python packages on a per project basis.

virtualenvwrapper is a set of extensions to Ian Bicking’s virtualenv tool. The extensions include wrappers for creating and deleting virtual environments and otherwise managing your development workflow, making it easier to work on more than one project at a time without introducing conflicts in their dependencies.

Step-by-Step guide to install virtualenv and virtualenvwrapper

Start terminal and install packages using following commands.
sudo apt-get install python-pip python-dev build-essential

sudo pip install virtualenv virtualenvwrapper
Upgrade pip installed version.

sudo pip install --upgrade pip
Setup virtualenvwrapper in ~/.bashrc to load configurations on system startup.

# Create a backup of your .bashrc file
cp ~/.bashrc ~/.bashrc-org

# Be careful with this command
printf '\n%s\n%s\n%s' '# virtualenv' 'export WORKON_HOME=~/virtualenvs' \
'source /usr/local/bin/' >> ~/.bashrc

Enable the virtual environment for the first time only.

source ~/.bashrc

mkdir -p $WORKON_HOME
Now virtualenv is ready with virtualenvwrapper, let's create our first independent virtual environment.

mkvirtualenv testapp

# Exit the 'testapp' virtual environment

Now to enable testapp virtual environment type following command.
workon testapp

To deactivate testapp virtual environment type following command.
workon testapp

Now you are ready to go!

Friday, 14 October 2016

Big Data & Retail VoIP

Big Data is Reality and is nothing new to telecoms service providers. Telecommunications service providers are sitting on gold mines of data, Customer experience and data collected about calls could be used for analytics. This could help to forecast traffic patterns, fraud detection, customer experience (ASR, NER etc).

Data is raw material for processing to create knowledge, and without debate, it's an common understanding that knowledge is power. For Businesses it all about power to make good decisions. The more business knows about it’s customers and operations, best possible decisions could be made, and chances of costly mistakes could be reduced.

Retail VoIP companies generate good amount of data daily. Every call a customer make, company can extract valuable information, In order to best exploit this ever increasing amount of data, Service providers require big data solutions to get best possible insight, and take business problem solving skills to new dimensions.

Call detail records are recorded since decades for billing purposes. Communication service providers willing to maximize their revenue potential must have right solution in place to get actionable insight of recorded data. globally most of the service providers suffer from real-time decision making challenges. Most of the operational decision are made manually or parietal hard-coded in Operations support systems, in result these decisions tends to be subjective and suboptimal. The promise of data-driven decision are recognized, In order to exploit full potential, service providers are required to find possibilities of what they can do with big data analytics and decipher information to support decision making.

Telecommunications service providers, over the globe are experiencing an unprecedented rise in volume, variety and velocity of data. One who can address this big data challenge will have an competitive edge, will gain market share with increased revenue and profits using new innovative services. successfully addressing big data challenge will help service providers achieve their objectives.