Bash Scripting

Bash is a popular command-line interpreter for Linux computers including Mac OS X. Bash can execute a vast majority of Bourne shell scripts, mainly benefitting the administration and programming tasks. Many of the features were copied from sh, csh and ksh. Bash is also like a programming language so you can write programs using bash usually to automate tasks. You can start writing scripts right away, wrap up multiline operations in one file, implement flow control and interact with users to get input.

Here I would like to explain how bash scripting helps in mailing an attached file using smtp.

a) Mailing particular file in a directory

#!/bin/bash
emailsend=fromemail@gmail.com
emailrec=toemail@gmail.com
password=password
name=toemail@gmail.com
/usr/local/bin/sendEmail -v -f “$emailsend” -s smtp.gmail.com -xu “$name” -xp “$password”...

Elastic Search

Elastic search is a real-time search and analytics engine. It is based on Apache Lucene an open source.

It is designed to be scalable which means it is distributed and has Node Discovery in it. So it can automatically recognize other elastic search nodes and connect to them, if required. It does automatic sharding, in a very simple way, it has its own identifier and just uses identifier modulo number of shards to determine what shard everything goes in. As a result of this, it can do a lot of smart things like where to rout some queries and if an update comes where to put that update to make sure things are local as well. It does query distribution, so on querying one node it goes to all the nodes as well. All of those things one requires in this cloud type of world is available for free in elastic search.

It has a RESTful, HTTP API with a wrapper for any language one can think off. Almost every day a new language wrapper comes out. One of the things about elastic search...

Elixir – The Smart Programming Language

Lately, a lot of attention has been gathering over Elixir, one of the latest programming language.

So what is Elixir? Elixir, a functional, concurrent language built on the Erlang VM with syntax close to the Ruby programming language. Apart from Ruby, Elixir is a language that is inspired by the syntax and concepts of various other languages such as Clojure, Haskell, Python and even Lisp.

So what’s the game changer that makes Elixir smarter? Elixir’s flexible syntax and macro support for metaprogramming allows one to devise elegant and concise constructs that seems as if they’re integral part of the language. Metaprogramming helps one remove structural duplication, a situation where two pieces of code share the same abstract pattern, but differ in various details. Elixir works directly with the source code to do smart things. Tests rarely require more than the built-in assert, to display meaningful errors.

Single-line functions and multi-line blocks are...

Exposure in Image and Video Processing

Video and image processing enables us to acquire, process, and analyze images and video data for  data visualization and manipulation.

We have explored the following open source API’s for video and image manipulation:

  • OpenCV   : OpenCV (Open Source Computer Vision Library) is mainly focused on real-time image processing applications. It supports  Windows, Linux, Mac OS, iOS and Android and  has been written in optimized C/C++ .

  • FFMPEG : ffmpeg is a command line tool to convert multimedia files between formats. This is mainly used to decode, encode, transcode,  stream, filter and play the media file. It runs on the following platforms: Windows, Linux, Mac OS, iOS and Android .

  • Xuggler   : Xuggler is a Java library that allows decoding and encoding a variety...

Again Java is the world’s No.1 Programming Language

Java has reclaimed the No.1 spot of the TIOBE Index, ending C’s four month stay at the top of the programming rankings.

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

Apache Airavata

airavata-logo

Airavata is a mythological white elephant who carries the Hindu god Indra. It is also called ‘abhra-Matanga’, meaning “Elephant of the Clouds”  [http://en.wikipedia.org/wiki/Airavata].

Apache Airavata is a software framework for executing and managing computational jobs and workflows on distributed computing resources including local clusters, supercomputers, national grids, academic and commercial clouds.

Airavata has the capability of composing, managing, executing and monitoring variety of distributed applications and work-flows that runs on computational resources. Concepts of service oriented computing, distributed messaging, work-flow...

WebSocket

There are many technologies that the server will send data to the client in the very moment it knows that the new data is available such as push, comet ,etc. These all are making an illusion that the server initiated the connection called long polling. With the long polling, client opens a HTTP connection to the server and keeps it open until it receives a response. These techniques work quite well, we use them daily in application such as Gtalk.

All of these work-around has one problem such as they carry the overhead of HTTP and will not be suited for low latency applications.

WebSocket: Sockets into the web

The websocket defines an API establishing socket connection between a browser and a server. Simply, it is a persistent connection between the client and the server and both parties can send data at any time. It is an independent TCP-based protocol. Its only relationship to HTTP is that the handshake is handled using HTTP servers as an Upgrade...