Latest Entries »


(Article from the Hindu)

As an eminent journalist you are entitled to have your own views, and over the years I have always held your journalism in high esteem. Unfortunately, the article written by you titled: “Narendra Modi and why 2002 cannot go away” was blatantly biased. Communal riots, whether the 1969 Ahmedabad riots in which over 1,500 Muslims were killed or the 1987 Bhagalpur riots where over 1,000 Muslims were butchered or the 2002 Gujarat riots, every one of them is condemnable.

Charge of complicity

First, the real issue is: what was the response of the Gujarat government during the 2002 riots? No doubt, several invaluable lives were lost and properties destroyed in the riots. But to charge the Gujarat administration and police with having shown complicity with the rioters is nothing but crude propaganda. As we all know, the Godhra train carnage in which 59 kar sevaks were brutally burnt down sparked the riots on the morning of February 27. As the trouble broke out, a 70,000-strong police force was deployed to control the situation. The Gujarat government also promptly sought the Army’s help the very same day. Even as the Army was to be mobilised from the border areas (which was done overnight), on the second day itself (February 2002 was a 28-day month), the first flag march of the Army contingent took place in the wee hours of March 1 and The Hindu itself had reported it. Can you recount any riots in the country where 170 rioters got killed in police firing? Had the Gujarat Police and administration shown complicity with the rioters, could such police action have been expected? Therefore, one should not allow the truth to get suppressed under the thickness of bias.

Second, describing the Gujarat riots as a “pogrom” is nothing but a canard. The “pogrom” was the violence unleashed and subsequent massacre of 8,000 Sikhs in Delhi in 1984 by Congress cadres instigated by its top brass after the unfortunate assassination of the then Prime Minister, Indira Gandhi. The 1984 anti-Sikh massacre was an organised killing by members and leaders of a single political party.

Third, as stated above, all efforts were made to control the riots in Gujarat and criminal action was taken against the rioters, whereas in 1984, no effort was made to stop the massacre. Leave alone firing shots at rioters, the police did not even wield lathis. Not many arrests were made despite the fact that nearly 8,000 Sikhs were killed in the massacre. To my knowledge, not even one person was shot dead by the police or the army. The police was conspicuous by its absence for three full days. The army, though available locally, was not called for three full days. But these riots escaped the media glare because in those days, television was in its infancy.

Fourth, why do learned people like you conveniently forget about several other bloody riots which took place under Congress rule and selectively choose to point fingers at Mr. Modi for absolutely no fault of his? Is it because he is posing a democratic challenge to the corrupt, directionless and weak government led by Dr. Manmohan Singh?

Fifth, as far as the apology of Prime Minister Manmohan Singh to the Sikh community for the 1984 riots is concerned, you yourself have pointed out that it came from a person who was in no way accountable for the riots. What was the use of such an apology when the former Prime Minister, the late Rajiv Gandhi, shamelessly justified the killing of thousands of Sikhs by asserting that “When a big tree falls, the earth trembles?” In contrast, Mr. Modi never justified the riots and acted tough in every possible capacity. Therefore, is it not wilful omission on your part to conveniently spare former Prime Minister Rajiv Gandhi and the Congress, under which numerous riots have taken place in this country?

Development as a poll agenda

While Mr. Modi’s adversaries spare no opportunity to paint him communal, the Gujarat Chief Minister, despite unceasing criticism has been able to reach out to people, including Muslims, through the rope of “good governance.” He has not only set the agenda of “good governance” rolling ahead of the 2014 Lok Sabha election, but also united the people in the State under the umbrella of good governance. But for the political gimmickry, even his adversaries will have to admit that the fruits of growth in Gujarat have touched people belonging to various castes, creeds and religions. A lot more development needs to be done, but the agenda of good governance set out by Mr. Modi is spreading fast and touching new lives day after day. Those who accuse the Gujarat administration of being anti-minorities could be silenced if the following statistics were considered in earnestness.

Of the total population in Gujarat, Muslims are less than 10 per cent. But 12 per cent of the police personnel in Gujarat are Muslims and 10 per cent of the government jobs are held by Muslims. The economic uplift of Muslims in Gujarat can be gauged from the fact that 18 per cent of the RTO registration of new two-wheelers is by Muslims. Their four-wheeler registration also is higher than their proportion in the overall population. On the contrary, West Bengal has the highest, 25 per cent, Muslim population, but even after 30 years of Left rule, only three per cent of Muslims are in government employment there. The world today knows Gujarat for the growth story and for its immense economic potential. The Hindus and Muslims of Gujarat are both part of the growth story. Still you have chosen to relay a false threat that the advent of Mr. Modi would be a danger to the democratic and secular ethos of India. It is unfortunate that you conveniently forgot the autocratic rule of the Congress, which the country bore during the Emergency, imposed by none other than Indira Gandhi.

In a democracy, everyone has the right to put across his viewpoint and agenda to people. It is the people who accept or reject them. The Congress-led UPA government has become synonymous with corruption, lack of leadership, policy paralysis and economic mismanagement. On the contrary, the implementation of the development agenda in the BJP-ruled States with earnestness is getting translated into mass support for Mr. Modi in rural and urban areas alike. People want to move on and are yearning for “good governance.” That is why Mr. Modi has caught the popular imagination of every youth, or aged, literate or semi-illiterate people of this country and is working hard to realise it.

(Prakash Javadekar is a member of the Rajya Sabha and national spokesperson of the BJP)


BJP’s national spokesperson, responding to the article “Narendra Modi and why 2002 cannot go away”, by N. Ram, published in The Hindu on November 6, 2013, says the Gujarat administration and the police were in no way complicit in the 2002 riots, and Mr. Modi has been able to reach out to the people, including Muslims, through “good governance.”


1st round: GSAT (consists of Data interpretation, aptitute(only 5 questions) and analytical reasoning). This paper was similar to SISC GSAT paper, unfortunately didnt remember the questions.

2nd round: It comprised of questions from C,C++, DS and OS

some of the questions were:

Q1)which of the following is not a scheduling algorithm



c)shortest remaining first

d)Last in first out

ans: d

Q2)Which is not a fiile system





ans: d

Q3 pick the correct one

a)in 32 bit ram is 4GB nd in 64 bit is 16 GB





Q4)TLB is associated with





ans: b

Q5 which does not make processors





ans: b

Q.1if you want to add a new element but there is no available space then it is called





ans: b

Q.2Given a simple B.S.T,you have to write its inorder,preorder and postorder traversal

Q3.In a heap

a)root is the greatest

b)parent is always greater than both of its children.

c)both a nd b


ans: b

Q4)time complexity of mergesort is





ans: b

Q5)Running time of n(n+1)/2 will be





ans: b

In c/C++ section questions were from pure virtual functions, difference between  overloading and overriding, abstract classes, default access in class and structure, inheritance etc.

3rd round: Algorithm round (All the shortlisting of candidates were done in the 1st two rounds, there was no elimination in this round)

2 questions were given:

1. Solving the tic tac toe puzzle, to write a program and or pseudo-code, or explain using flowchart. the HR gave us hints to solve it using automata theory, or min-max algorithm, or soft computing or AI anything that we wanted.

2. Given a string, say “SAMSUNG SOFTWARE”, print it in reverse manner eliminating the repeated characters. the program should be optimised in  terms of time complexity, space complexity, power complexity and lines of code. It should not be a two step program, i.e. first reversing and then eliminating. The interviewer was asking something in terms of O(n) or even less than that.

4th round: Technical Interview

Tell me about yourself.

He asked me about my training, it was on android. He started asking me questions on android.

What is an adapter in android? what is activity how does it actually communicate??

I started explaining him and then he asked me ” are you comfortable with android or i should switch( “thank god he asked that” )

i immediately replied “sir, i am comfortable with c, c++”

then he started asking me questions on storage classes. What are storage classes? define them. where are they stored? what is data section and code section. then he gave me  to explain:

global static int i;

extern int i;  what is their visibility and scope. can i reinitialise them, can i access them from other files, he kept turning and twisting for around 10 minutes on these questions. Then he asked me

const char *p;

char const *p;

char *const p;

const char const *p;

what did they mean and then he gave me a c question to tell me the output. const was being incremented there so it was a compiler error.

Then he asked me to write a program  to print 1 to x given x as input without using any loops.  I did it using recursion.

next, are you familiar with semaphore and mutex? what is it? and which one u think is better?

can you write a program to reverse a linked list. I used three pointers in my program he then asked me have you done this program earlier?

i told him ” ya, its fun doing them… :P”

then he told me to write a program for bit setting. Did it…

what is virtual memory and how is it implemented? and kept on circling around for quite some time asking different questions related to paging.

few questions were about allocation of memory and caches.

My interview went on for about 40-45 minutes. After that i was called for the HR round

5th round:  He picked out my algorithm round paper and started asking me about the questions. how can it be optimized more.

then he asked ” u had 2 days, must have gone through the solution that i provided for my interview”

i told him ” yes sir”, and then i elaborated the answer. Then he asked “what is memory leak and what is segmentation fault”

“why is segmentation fault so named?”

“how is page stored at disk level?”

He wasn’t satisfied with any of my answers. and kept twisting around all my answers. 😛

then he asked me “you have mentioned 100% in +2 mathmatics in ur cv so here is my next question,

what is 97X103

i told him the answer quickly. Then he asked me ” and what is 95X96″

i didn’t answer as quickly as earlier.

Why do u think we should select you today?

I told him few points 😉 and then my interview was over.

A hectic day. After around 2 hrs we were called for the announcement of results. And then,

Ready for “If its not happening now doesn’t mean it will never happen” moment . He called the first name : Garima Goswami 🙂

Installing OpenCv in Ubuntu

Earlier i was using openCV with Microsoft Visual C++ 6.0. But let me tell you, it crashed a lot. Every time i needed to close the process from Task Manager. Then i decided to somehow install OpenCV for my ubuntu.
After searching and trying a lot for this, i was finally able to use opencv in GNU compiler(g++ or gcc).
Synaptic Package Manager has simplified the life to a great extent. OpenCV is now available in the ubuntu repositories.
Though there are some problems related to ‘ffmpeg’, i needed opencv for image processing only. So i have not mentioned here what to do about ‘ffmpeg’.

Things to know before starting installation:
i. This installation needs a C++ compiler like “g++”(which is most commonly used). So install g++ first using Synaptic or by following command at the terminal–

$ sudo apt-get install g++

ii. OpenCV requires GTK+ 2.0 or higher for displaying images. GTK is graphical user interface library. Type out the following code to know the version of GTK+ installed on ur pc.

$ dpkg -l | grep libgtk

This command should give o/p something like:

libgtk-directfb-2.0-0 2.16.1-0ubuntu2

If not, then u need to install the libraries for GTK+ 2.0 first, then start with this opencv installation.
To install GTK+ 2.0 libraries, type out the following command:

$ sudo apt-get install libgtk2.0-dev

If both g++ & GTK+ 2.0 are there then proceed as follows:

I am using Ubuntu 9.04 (Jaunty Jackalope) and i did the following steps to install & configure OpenCV(ver successfully:

1. Go to Synaptic Package Manager (System> Administration> Synaptic Package Manager)
2. Search for “opencv” and install the main “opencv” package and the following lib files:
(‘python-opencv’ not required).
(you can also install opencv directly from the terminal by “sudo apt-get install” the above lib files
3. After installing all the packages, open a terminal & type this code:

export LD_LIBRARY_PATH=/home/opencv/lib
export PKG_CONFIG_PATH=/home/opencv/lib/pkgconfig

The above ones are default paths for the opencv libraries.
4. For testing:
Create a new folder & a file “hello.cpp” in it using any text editor & type this code in it:

#include < cv.h > /* required to use OpenCV */
#include < highgui.h > /* required to use OpenCV’s highgui */
#include < stdio.h >

int main(int argc, char *argv[]) {
IplImage* img=0; /* pointer to an image */
if(argv[1] != 0)
img = cvLoadImage(argv[1], 0); // 1 for color
printf(“Enter filename\n”);
if(img != 0) {
cvNamedWindow(“Display”, CV_WINDOW_AUTOSIZE); // create a window
cvShowImage(“Display”, img); // show image in window
cvWaitKey(0); // wait until user hits a key
printf(“File not found\n”);
return 0;

5. To check the path where opencv & other lib files are stored, do:

$ pkg-config –cflags opencv

(output will come as)

$ pkg-config –libs opencv
(output will come as)
-lcxcore -lcv -lhighgui -lcvaux -lml

These paths are needed to compile your opencv programs, as given in the next step.

6. To compile & run:

$ g++ -I/usr/include/opencv -lcxcore -lhighgui -lm hello.cpp
./a.out img

where “img” is the name of any image within the same folder with extension.
You should be able to see “Hello” and the image in a different window.

-> If this runs, Congrats! now you can run any C/C++ program with opencv lib.
Else, try

$ export PATH=$HOME/usr/bin/:$PATH

and go to step3 again.

7. Now lets simplify the above big command by making a shortcut for it:
go to your local home directory(cd /home/) and open the .bashrc file using gedit(the file will be hidden). Append the following to the file:

alias gcv=”g++ -I/usr/include/opencv -lcv -lcxcore -lcvaux -lhighgui -lm”

and save. Close the terminal and open it again.(as this process requires relogin of the terminal)

8.Now, go to directory containing a sample program & do

$ gcv filename.c && ./a.out
$ gcv filename.c
$ ./a.out input_img.jpg

As you can see the commands now become similar to $cc filename.c, $./a.out which are used normally for compiling and executing C programs.

Some ways to check whether all lib files are installed-
1. $ apt-cache search opencv
libcv-dev – development files for libcv
libcv0.9-0c2 – computer vision library
libcvaux-dev – development files for libcvaux
libcvaux0.9-0c2a – computer vision extension library
libhighgui-dev – development files for libhighgui
libhighgui0.9-0c2 – computer vision GUI library
opencv-doc – OpenCV documentation and examples

If you want to install openCV from a .tar file, refer this article:
Installing opencv in linux(Ubuntu) from .tar.gz file

Programming Praxis

In their book The C Programming Language, Brian Kernigan and Dennis Ritchie say that the first program every programmer should write is a program that writes “Hello, world!” to the console. Then they give the second program that produces a fahrenheit/celsius temperature conversion table, with fahrenheit temperatures every 20 degrees from 0 to 300 and the corresponding celsius temperature to the nearest degree, each pair written on its own line with the two temperatures separated by tabs.

Your task is to write the first two programs. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.

The hello program is simple:

(define (hello)
  (display "Hello, world!")

The temperature conversion table isn’t much harder. We follow K&R by using a do-loop and calculating the celsius temperature in-line instead of in…

View original post 65 more words

1. Download SystemC source from Accellera website.

2. Untar the package using tar -xzvf systemc-2.3.0.tgz or if this doesn’t work install 7zip using command line/ubuntu software centre and then type: 7z x filename  , in our case filename=systemc-2.3.0.tgz

(change permissions from the parent directory, if permission related error occurs, typing : chmod  -R +x systemc-2.3.0 )
3. Change to the top level directory systemc-2.3.0 : cd systemc-2.3.0
4. Make a directory  systemc230 for installation in your /usr/local/ path.

mkdir /usr/local/systemc230

5. Make a directory “objdir” in the directory systemc-2.3.0 : mkdir objdir
6. Change to objdir : cd objdir
7. now type: export CXX=g++

8. Run configure from objdir:  ../configure --prefix=/usr/local/systemc230
9. Do: make
10. Install by typing command: sudo make install

You are done with installation of SystemC 2.3.0. This version is packed with TLM package also. Now we can run our first Hello World! program.

Open your favourite text editor and enter the following program:


// All systemc modules should include systemc.h header file
#include <systemc.h>
// Hello_world is module name
SC_MODULE (hello_world) {
SC_CTOR (hello_world) {
// Nothing in constructor
void say_hello() {
//Print “Hello World” to the console.
cout << “Hello World.\n”;

// sc_main in top level function like in C++ main
int sc_main(int argc, char* argv[]) {
hello_world hello(“HELLO”);
// Print the hello world


Save the file as hello.cpp. Use following command to export a variable SYSTEMC_HOME.

export SYSTEMC_HOME=/usr/local/systemc230/

Now you can use following command to compile the program:

g++ -I. -I$SYSTEMC_HOME/include -L. -L$SYSTEMC_HOME/lib-linux -Wl,-rpath=$SYSTEMC_HOME/lib-linux -o hello hello.cpp -lsystemc -lm

Once the program is compiled type following to run your program:

and you should get output:

SystemC 2.3.0-ASI — Aug 12 2012 09:27:22
Copyright (c) 1996-2012 by all Contributors,

Hello World.

The report for the project is almost done.This is the sequence diagram for my project. Preparing the presentations and other requisites.


Visit link:

One of our mentors “Ninad Chilap” with the Aakash tablet.

“In coming years, Aakash is likely to become a ubiquitous tool in the hands of students, at all levels of their education,” said Professor Deepak Phatak, heading up the project, in a release from IIT Bombay.

Busy with the final brush up off with the project. Project reports, presentations, etc. Ninad sir mailed the outline for the project report. Software engineering subject is really useful.

This is the outline:



1 Introduction

  1. Background

  2. Design goals

2 Project Plan

2.1 Title and Scope of project

2.2 Client Detail

2.3 Resource requirement

2.3.1 H/W requirement

2.3.2 S/W requirement

2.4 Model used (iterative Model) *refer link for below model and put some diagram

3 Designs and Implementation

3.1 High Level Design Document
3.1.1 ER Diagram

3.1.2 Use Case Diagram

3.1.3 Class Diagram

3.1.4 Sequence Diagram

3.1.5 Data flow Diagram

3.2 Low Level Design Document

3.2.1 Algorithms and flowchart

3.2.2 Interface design

3.2.3 Coding Modules

4. Test Plan

4.1 Black Box Testing

4.2 White Box Testing

4.3 Unit testing

4.4 Integration Testing

5. Screen Design

6. Summary and Conclusion

6.1 Summary

6.2 Further Enhancements

6.2.1 Virtualizing clusters of servers running Red5

6.2.2 Encoding Audio/Video Streams

6.2.3 Enhancing the classroom environment

6.2.4 Enhancing the already implemented modules

6.3 References and Bibliography

6.4 Conclusion 


I got an online site for preparing the requisites such as use case diagrams and data flow diagrams:

Hope to complete all the work till sunday.