Tech @ jnaapti


We rely heavily on open-source technologies and feel obliged to share some information back to the community in addition to helping with bug fixes in the software that we rely on.


1. Building your own Desktop Cloud Environment

As developers we have seen these problems:

  • Our development environments accumulate lots of applications and libraries over a period of months.
  • We are usually in the habit of installing everything in one machine.
  • We fear that we may screw up our development environment and that means unproductive man-hours.
  • We forget that a multi-machine deployment is different from a single machine deployment.

How about virtualization in the desktop?


We use virtualization on the desktop as a solution to these problems. This presentation will take you through the steps to create a multi-VM development environment. This presentation will show the use of QEMU, KVM and Virt Manager and how you can create a VM image, and then start servers with a set of commands, deploy your app, test everything and tear down the environment once you are happy - all this in the cosy comforts of your laptop or desktop.



2. Dealing with Web Scale Data

Google processes 400 petabytes of data every month and that was way back in 2007! With users generating massive amounts of data in social networking sites like Facebook and Twitter, and an increase in the use of sensor devices, the amount of data generated is only going to go up. Further, with the cost of hard-disks going down, and such data being made available to everyone, and with the advent of cloud computing, we now have the power to process such data ourselves.


What are the challenges of processing such massive amounts of data? With such data being available to every corporation, big or small, how does this change how we have been perceiving data? The presentation takes you through some of the technologies used to tackle these challenges.


This presentation is used during a workshop. The workshop has been tailored to suit students. It helps students relate to and appreciate the subjects they learn in their curriculum - data structures, programming languages, databases, operating systems, networking etc. At the same time, it describes some of the interesting work being done in the software industry in the areas of databases, data analysis, cloud computing, map-reduce etc.