Archive for the ‘Technology’ Category

Recently I tried to build a cluster out of my Laptop and Desktop using Ubuntu. Following is the step by step guideline on how to do same.

My PC is running Ubuntu 14.04 i386 and My Laptop is running Ubuntu x86_64 version. So yes, you can build a cluster successfully out of two different systems.
Both the systems should be on the same subnet.
In this case, IP address of my Laptop :
IP of my PC :

password-less ssh login for both the systems
Followed the tutorial from…

apt-get install following packages on both the systems:

and other basic developer tools such as gcc etc. which we normally need for development.
In my case openmpi libraries got installed to
So I added the following to my .bashrc file:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/openmpi/lib/

Now your system is ready.
Lets test it now.
Open a editor of your choice (I prefer vim) and type the following program:
#include <stdio.h>
#include <stdlib.h>
#include <mpi.h>
int main ( int argc, char **argv )

int rank, size;
MPI_Init ( &argc, &argv );
MPI_Comm_rank ( MPI_COMM_WORLD, &rank );
MPI_Comm_size ( MPI_COMM_WORLD, &size );
printf ( “Hi, I am %d of %d\n”, rank, size );
system ( “hostname” );
MPI_Finalize ();
exit ( EXIT_SUCCESS );

Save the program as hello.c in your home directory.
Now compile the above program as
mpicc -o hello hello.c

mpicc is nothing but a fancy wrapper of gcc.
repeat the above steps for another system also.

Create a file named hosts.txt (it can be any name) on either of the machine with the following contents.

You can replace above ip addresses with the ones you have for your nodes.
Now lets run it as follows:
mpirun -np 4 -hostfile hosts.txt ~/hello

You will see 4 outputs most probably two from either of the systems.
Hi, I am 0 of 4
Hi, I am 1 of 4
Hi, I am 2 of 4
Hi, I am 3 of 4

The order may get shuffled depending on the scheduling of the processes on both systems and which system return the output first.
But yes, it did not serve my purpose as I will have to search for now MPI enabled equivalents of the application I am using but yes, its a start.
Welcome to the world of Supercomputing.

Here is a link to Quora Post where I posted this in original.

Suddenly the entire web world is full of the openssl vulnerability news “The heartbleed Bug”. This bug has introduced a severe vulnerability to all the https users who use openssl for the secure network transmission. The bug exists because of an overflowing buffer using which anyone can request a lot of secure information from the server including the private key using which someone can even impersonate one for the man in the middle attack. This bug was introduced in the openssl version 1.0.1. Openssl has introduced a patched version 1.0.1g. What this means is that almost all of the internet, from big giants to smaller vendors, needs to update their certificates before some bad guy comes and steals the important information from them.
For the interested programmers and also the newbies who reads in their ABC of programming that malloc and free are dangerous but never understood it how, one can go through the code fix changes and can look for themselves how its necessary to understand the semantics of a programming language before doing something serious.

If you are one of those people  who likes to edit the images and fond of open source softwares, you have a no. of alternatives available. With GIMP being the most known in the community, there are other options also available like:










For summarized features of each of these softwares, Read Here.

First of all, we are not talking about the bottled beverage which is famous around the world but we are talking about the famous linux software wine which is used to run the windows applications on linux. Similar to wine, there is a new project started which is trying to emulate the layer for OS-X applications. Though there are almost all the OS-X applications have an alternative in linux but some user just wants to use the original apps as they are comfortable with those. Here is the project page.

Basic execution is similar to wine though the projects also aims to provide ABI compatible set of libraries and framework as available in OS-X. Project is in very initial steps.