Category: Top 5 or 10

Augmented Reality (AR)

Augmented Reality (AR)

I’m sure you might have played “pokemon-go” game!

Augmented Reality (AR) is changing the way we view the world or at least the way its users see the world. Picture yourself walking or driving down the street. With augmented-reality displays, which will eventually look much like a normal pair of glasses, informative graphics will appear in your field of view, and audio will coincide with whatever you see. These enhancements will be refreshed continually to reflect the movements of your head.

What is Augmented reality?
Augmented reality (AR), is a live direct or indirect view of a physical, real-world environment whose elements are augmented by computer-generated sensory input such as sound, video, graphics or GPS data.
Various technologies are used in Augmented Reality rendering including optical projection systems, monitors, hand held devices, and display systems worn on the human body. Also head-up display, also known as a HUD, is a transparent display that presents data without requiring users to look away from their usual viewpoints. A precursor technology to augmented reality.

Where Augmented reality can be used?
Augmented reality has many applications. First used for military, industrial, and medical applications, by 2012 its use expanded into entertainment and other commercial industries. Also many startup are using AR in navigation, education, maintenance and repair, gaming, interior-design, and advertising and promotion.

What is Virtual reality (VR)?
Virtual reality (VR) is an artificial recreation of the real world that immerses the user in a computer-generated simulated reality. The technology requires expensive enablers such as headsets, which completely block out the users’ surroundings. However, because of the nature of the technology, the user is left blind to the outside world, leaving the technology at a disadvantage when it comes to everyday use.

What is different between Virtual Reality vs. Augmented Reality?

One of the biggest confusions in the world of augmented reality is the difference between augmented reality and virtual reality.  Both are earning a lot of media attention and are promising tremendous growth.

1) Augmented reality and virtual reality are inverse reflections of one in another with what each technology seeks to accomplish and deliver for the user. Virtual reality offers a digital recreation of a real life setting, while augmented reality delivers virtual elements as an overlay to the real world.

2) VR and AR are not really competing technologies, but rather complimentary technologies
3) VR is more immersive, AR provides more freedom for the user, and more possibilities for marketers because it does not need to be a head-mounted display.

What is the Market Size of Augmented reality?
Worldwide revenues for the augmented reality and virtual reality market are projected to approach $14 billion in 2017, according to IDC, the market research firm. But that’s forecast to explode to $143 billion by 2020.

Startup working on Augmented reality?

    Hyderabad-based Imaginate, a virtual reality (VR) and augmented reality (AR) company, is the developer of NuSpace, a hardware-agnostic collaboration platform that enables people to communicate in an interactive realistic virtual world.
    Founded in 2004, VizExperts’ clientele includes Border Security Force (BSF), Defence Research and Development Organisations (DRDO), Indian National Centre for Ocean Information Services (INCOIS) and international conglomerates such as Halliburton, AMD and SGI. The company’s solutions offer improved situational awareness to security forces in a 3D format.

    Thank you,
    Arun Bagul

Top 5 configuration management software

Top 5 configuration management software

Why Configuration Management?

DevOps and CM(Configuration Management) are different. DevOps is about collaboration between people, while CM tools are just that: tools for automating the application of configuration states. Like any other tools, they are designed to solve certain problems in certain ways.
Using CM you can make changes very quickly, but needs to validate those changes. In considering which configuration management tool to select, you should also think about which complementary tool(s) you will use to avoid the costly effects of automating the deployment of bugs in your infrastructure-as-code.  

The advantages of software configuration management (SCM) are:

   –  It reduces redundant work
   –  It effectively manages simultaneous updates
   –  It avoids configuration related problems
   –  It simplifies coordination between team members
   –  It is helpful in tracking defects

Top five(5) tools for configuration management
1) Chef –

Like Puppet, Chef is also written in Ruby, and its uses a Ruby-based DSL. Chef utilizes a master-agent model, and in addition to a solo mode call chef-solo.
Chef is one of the most popular SCM tools. It is basically a framework for infrastructure development. It provides support and packages for framing ones infrastructure as code. It offers libraries for building up an infrastructure, which can be deployed easily. It produces consistent, shareable and reusable components, which are known as recipes and are used to automate infrastructure. It comprises the Chef server, workstation, repository and the Chef client.

2) Puppet –
Another SCM tool commonly used is Puppet. It was first introduced in 2005 as an open source configuration management tool. It is written in Ruby. This CM system allows defining the state of the IT infrastructure, and then automatically enforces the correct state. The user describes the systems resources and their state, either by using Puppets declarative language or a Ruby DSL. This information is stored in files known as Puppet manifests. It discovers system information through a utility called Facter and compiles it into a system-specific catalogue containing resources and their dependencies, which are applied against the target systems.

It is frequently stated that Puppet is a tool that was built with sysadmins in mind. The learning curve is less imposing due to Puppet being primarily model driven. Getting your head around JSON data structures in Puppet manifests is far less daunting to a sysadmin who has spent their life at the command line than Ruby syntax is.

3) Ansible –

A newer offering on the market, Ansible has nonetheless gained a solid footing in the industry.
Ansible is an open source platform for CM, orchestration and deployment of compute resources. It manages resources with the use of SSH (Paramiko, a Python SSH2 implementation, or standard SSH). Currently their solutions consists of two offerings: Ansible and Ansible Tower, the latter featuring the platform’s UI and dashboard. Despite being a relatively new player in the arena when compared to competitors like Chef or Puppet, it’s gained quite a favorable reputation amongst DevOps professionals for its straightforward operations and simple management capabilities.

4) SaltStack –

Salt is an open source multitasking CM and remote execution tool. It has a Python-based approach to represent infrastructure as a code philosophy. The remote execution engine is the heart of Salt. It creates a high speed and bi-directional communication network for a group of resources. A Salt state is a fast and flexible CM system on top of the communication system provided by the remote execution engine. It is a CLI-based tool.
It was also developed in response to dissatisfaction with the Puppet/ Chef hegemony, especially their slow speed of deployment and restricting users to Ruby. Salt is sort of halfway between Puppet and Ansible – it supports Python, but also forces users to write all CLI commands in either Python, or the custom DSL called PyDSL. It uses a master server and deployed agents called minions to control and communicate with the target servers, but this is implemented using the ZeroMq messaging lib at the transport layer, which makes it a few orders of magnitude faster than Puppet/ Chef.

5) Juju –

Juju is an open source configuration management and orchestration management tool. It enables applications to be deployed, integrated and scaled on various types of cloud platforms faster and more efficiently. It allows users to export and import application architectures and reproduce the same environment at different phases on cloud platforms such as Joyent, Amazon Web Services, Windows Azure, HP Cloud and IBM.

The main mechanism behind Juju is known as Charms that can be written in any programming language, whose execution is supported via the command line. They are a collection of YAML configuration files.
Clients are available for Ubuntu, Windows and Mac operating systems. Once you install the client, environments can be bootstrapped on various cloud platforms such as Windows Azure, HP Cloud, Joyent, Amazon Web Services and IBM.

Thank you,
Arun Bagul

Configuration management database (CMDB)

Configuration management database (CMDB)

Configuration management database (CMDB) is a repository that acts as a data warehouse for information technology (IT) organizations. Its contents are intended to hold a collection of IT assets that are commonly referred to as configuration items (CI), as well as descriptive relationships between such assets. A Configuration item type (or CI Type) is the data type of the element or configuration item an enterprise wishes to store within the CMDB. At a minimum, all software, hardware, network, and storage CI Types are stored and tracked in a CMDB.

Top 5 CMDB Tools-

1) Combodo iTOP-

IT Operations Portal: a complete open source, ITIL, web based service management tool including a fully customizable CMDB, a helpdesk system and a document management tool. iTop also offers mass import tools and web services to integrate with your IT.

2) OneCMDB –

OneCMDB is a CMDB aimed at small and medium sized businesses. OneCMDB can be used as a stand-alone CMDB to keep track of software and hardware assets and their relations. Thanks to its open API:s it can also be a flexible and powerful Configuration Management engine for other Service Management software.

3) i-doit –

i-doit allows a rich amount of technical information to be filed for each element from a wall outlet to a mainframe in a structured way. Every employee can access this information easily (and in a selective way) through a web browser. Due to its modular architecture, it is possible to deploy functionality add-ons or develop extensions.

4) CMDBuild –

CMDBuild is a configurable web application to model and manage a database containing assets (CMDB stands for “Configuration and Management Data Base”) and handle related workflow operations.
The aim is to let the operators have full control of the assets used, knowing exactly composition, dislocation, functional relations and history.

5) HP UCMDB (Commercial) –

UCMDB is a CMDB software product produced by Hewlett Packard supporting ITIL Configuration Management and which features a Configuration Management Database, as well as a mechanism for the automatic discovery of IT infrastructure components, such as computers, network devices and composing relationships between them.

Thank you,

Top 5 Open Source Software Testing QA tools

Top 5 Open Source Software Testing QA tools

Introduction –
Software testing is the process of testing software product’s quality, risk and operability. Testing also helps to find bugs and fix them during product development.

1) Selenium (

Selenium is a portable software testing framework for web applications. It supports number of popular programming languages, including C#, Java, Groovy, Perl, PHP, Python and Ruby for writing test cases. The tests can then be run against most modern web browsers. Selenium deploys on Windows, Linux, and Macintosh platforms.

2) Sikuli (

Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. Sikuli Script automates anything you see on the screen without internal API’s support. You can programmatically control a web page, a Windows/Linux/Mac OS X desktop application, or even an iphone or android application running in a simulator or via VNC.

3) Watir (

Watir is an open-source (BSD) family of Ruby libraries for automating web browsers. It supports your app no matter what technology it is developed in. Watir drives browsers the same way people do.  It clicks links, fills in forms, presses buttons. Watir also checks results, such as whether expected text appears on the page. It allows you to write simple and flexible tests that are easy to read and maintain.

4) Unit Testing Tools –

Unit testing is a method by which individual units of source code are tested to determine if they are fit for use. A unit is the smallest testable
part of an application. In procedural programming a unit may be an individual function or procedure. In object-oriented programming a unit is usually an interface, such as a class.

** PHP
PHPUnit ( ~ PHPUnit comes as PEAR package. It is Unit testing framework for PHP based on the “JUnit” framework for Java.
Amock ( ~ Amock is a mock object library written in PHP 5, inspired by EasyMock.

HTTP::Recorder  ~ is Browser-independent recorder that records interactions with web sites and produces scripts for automated playback. Recorder produces WWW::Mechanize scripts by default, but provides functionality to use your own custom logger. We have used ‘WWW::Mechanize’ to automate website load time testing using showslow ( and yslow firefox extension.

** Python
PyUnit ( ) ~ A unit testing framework for Python based on JUnit and XUnit, the de-facto standard frameworks for Java and SmallTalk respectively.
Achoo ( ~ Achoo is a fluent interface for unit testing Python objects. Achoo makes it easy to make assertions about the properties and behaviours of Python objects.

** SQL
–  SQLUnit ( ~  SQLUnit is a regression and unit testing harness for testing database stored procedures.
An SQLUnit test suite would be written as an XML file. The SQLUnit harness, which is written in Java, uses the JUnit unit testing framework to
convert the XML test specifications to JDBC calls and compare the results generated from the calls with the specified results.

5)  iMacros ( –
iMacros is an extension for the Mozilla Firefox, Google Chrome, and Internet Explorer web browsers which adds record and replay functionality similar to that found in web testing and form filler software.
The macros can be combined and controlled via JavaScript.


Thank you,
Arun Bagul

Top 5 – Open Source Network and Performance Monitoring + Alerting system

Top 5 – Open Source Network and Performance Monitoring + Alerting system

Introduction – Monitoring your network and various applications is most important part of your business. So choosing monitoring tools is critical and most important task, because you will fully rely on this tool to notify whenever something goes wrong!

1) Nagios – is a popular open source computer system monitor, network monitoring and infrastructure monitoring software application. Nagios offers complete monitoring and alerting for servers, switches, applications, and services and is considered as the defacto industry standard. Nagios supports two type of monitoringActive and Passive. In case of Active monitoring nagios schedules or actively checks mentioned  services; while in case of Passive checks, external application can be used to submit service check results.
– For Passive checks NSCA (Nagios Service Check Acceptor) daemon should run on nagios server to accept passive checks over network, which will   submit passive check to nagios via unix socket.
– For Acitive checks NRPE (Nagios Remote Plugin Executor) daemon will has to run on remote machine to monitor services. However you can use SSH as  well.


To monitor remote hosts and services nagios community provide you few plugins as shown below…
* NRPE – NRPE daemon will run on remote hosts and nagios will checks services on remote hosts via check_nrpe plugin (command) from nagios hosts.
* Check_MK – The best nagios plugin for monitoring remote host. Beauty of this plugin is that most of the commons services are checked in one  connection to remote hosts and results are submitted as passive results to nagios. This improves performance, less network traffic and of course  no load or burden on remote host (which we are monitoring). For Check_MK, we have to installed check_mk agent ie check_mk_agent simple shell script and bind this script to  6556 tcp port using xinetd daemon. Check_MK also provides following features.
– Check_MK support dynamic nagios configuration generation, inventory of checks.
Livestatus – a beautiful plugin to communicate with nagios (unix socket)
Nagios Multisite GUI – monitor multiple nagios from single web based interface
SNMP supports and automatic service detections for many cisco switches, routers and NetApp filers as well.
Nagios Multisite GUI – Another beauty of Check_MK nagios plugin is montoring multiple nagios using only one web based interface. This webbased interface usese Check_MK Livestatus plugin to get nagios data.
Check_MK –
Author – Ethan Galstad

2) Ganglia – is a scalable distributed system monitor tool for high-performance computing systems such as clusters and grids.  It allows the user to remotely view live or historical statistics (such as CPU load averages or network utilization)  for all machines that are being  monitored. Ganglia is very helpful to find out application or team wise resource utilization even in clustered  environment. We have to installed gmond (ganglia monitor daemon) on each machine (in group or cluster) which collects all stats.

gmetad (ganglia metadata daemon) need to installed on one machined in group or cluster which will collect data from specified gmond servers.


3) Cacti – is an open source, web-based graphing tool (frontend to RRDtool ). Cacti allows a user to poll services at predetermined intervals and  graph the resulting data. It is generally used to graph time-series data of metrics such as CPU load and network bandwidth utilization.  Cacti is better to  monitor hardware devices like switches,routers via SNMP.



4) Zabbix – It is designed to monitor and track the status of various network services, servers, and other network hardware.
It uses MySQL, PostgreSQL, SQLite, Oracle or IBM DB2 to store data. Its backend is written in C and the web frontend is written in PHP.
Zabbix offers several monitoring options.  A Zabbix agent can also be installed on UNIX and Windows hosts to monitor statistics such as  CPU load, network utilization, disk space, etc.  As an alternative to installing an agent on hosts, Zabbix includes support for monitoring via SNMP, TCP and ICMP checks, as well as over  IPMI, SSH, telnet and using custom parameters.
Zabbix supports a variety of real-time notification mechanisms. Beauty of Zabbix is  XMPP notifications!
Author – Alexei Vladishev

5) Zenoss – Zenoss (Zenoss Core) is an open-source application, server, and network management platform based on the Zope application server.

NOTE – This list is based on personal experience and choice of many IndianGNU community members.

Thank you,
Arun Bagul

Top 7 ERP and CRM Open Source Software

Top 7 ERP and CRM Open Source Software

Introduction –

What is Enterprise Resource Planning (ERP)?

ERP is an integrated software system used to manage resources, assets, financial resources, materials and HR.
Its purpose is to facilitate the flow of information between all business functions of the organization.

What is Customer relationship management (CRM)?

CRM is a broadly recognized as company’s interactions with customers, clients and sales prospects. It involves use of
technology to organize, automate, and synchronize business (sales) activities, marketing, customer service, and technical support.

1)  Openbravo

Openbravo ERP is a web-based ERP business solution for small and medium sized companies that is released under
the Openbravo Public License, based on the Mozilla Public License.

2)  OpenERP

OpenERP is an open source comprehensive suite of business applications including Sales, CRM, Project management,
Warehouse management, Manufacturing, Accounting, Human Resources.

3)  Fedena

Fedena is an open source school management software developed on Ruby on Rails framework. fedena contains modules related to Admission, Student Details, Manage Users, Manage News, Examination, Timetable and Attendance.

4)  JFire

JFireis an Enterprise Resource Planning and Customer Relationship Management system. JFire is Client-Server based system with Desktop client available for Windows and Linux OS.

5)  Apache OFBiz –

OFBiz is ERP system. It provides enterprise applications that integrate and automate many of the business processes.

6)  SugarCRM

SugarCRM is leading CRP open source software. SugarCRM is my personal choice!


7)  VtigerCRM

VtigerCRM is very easy and best ERP and CRM web based software. I have personal used this software. It has many Addons.  URL –

Please refer the ERP software list on wiki –

Thank you,
Arun Bagul