27 July, 2011

The positive side

credits: Wikipedia
Every thing in the world has a positive side. Didn't get it? Okay, electric current flows from positive to negative terminal, or the magnet has a north pole which can be considered as positive. Even our body has positive and a negative side, that is, the right and the left side.

So, enough of this boring text, let's start off. A few hours ago a friend of mine posted her status as "How to control your anger?" Controlling anger can be one of the most difficult tasks. Everyone has faced situations where they get angry, but some can control the situation and some cannot. Many people get away from the scene to prevent 'disasters'. Many try to overpower the opposite person to win the argument, and many get aggressive and hit people.

I am no psychologist but there is one think that surely works and I have experienced it. Thinking positive about the opposite person. By positive thinking I mean thinking good about someone. For example, if you are fighting with your girlfriend and the argument is leading nowhere, then think good about her, like, think that how beautiful she is or she has so many good qualities (okay, I do that!). Girlfriend examples are boring, take another example of a petty quarrel with your sibling. Think about the days you used to play together, had a lot of fun, and did so many exciting things. There are a lot of thoughts that you can bring into your minds. Bring in good thoughts not the bad ones.

But the biggest problem is, such thoughts never come into your mind in an ongoing quarrel. YOU will have to bring in those thoughts deliberately. For that you must have an attitude of forgiving people, or the "its okay chalta hai" attitude, atleast in such cases. Let go off the person, remember that even you yourself is not a perfect person. Also stop expecting from loved ones. A lot of differences occur when your expectations are not met. Apply some Gandhigiri here.

You know I am an angry bird. But not to that extent when a person starts yelling, hitting, abusing, et cetera et cetera. And yes, this technique works best for me, at least. Have a nice fighting next time :)

26 July, 2011

Programmer or Computer Science Engineer?

There are a lot of misconceptions amongst engineers of computer science (or computer tech or information technology or what ever aliases you give). Or should I say Indian CS engineers? Many of them think that Computer Science and Engineering is all about programming and creating software. In my opinion it is NOT the case.

Programming is just a tool. Anyone can create programs, it is so easy. Isn't it? Learn a programming language like C or Java, then start coding. No engineering is applied at all. Programming is a tool which is used by different professionals to solve THEIR problems. Although a computer science engineer must know how to program, otherwise it will be the case like, a farmer who does not know what is a tractor. Here is a list of statements about why one should not consider "programming" the ultimate aim of doing computer science engineering.

  • CS engineers must not only know how to program, but know how a program runs inside a computer. What is going inside when you run your program, that is, the internal working of a processor, random access memory, etc.
  • Software Engineering, heard about it? Apply it even on a smallest program you write. Don't directly jump to coding, it is a bad engineering practice. We learn this subject but always fail to apply it.
  • You should not only be able to fire SQL or database queries but know how the query gets executed. What is there inside a database. How the databases resolve issues like atomicity, isolation, consistency, etc?
  • You should be able to know how an operating system works, the process scheduling, deadlock handling, and all about OSes. Not just how to create programs using the API (Application Programming Interface) provided by the OS.
  • High level languages are damn easy to learn. Just learn the syntax. What about the assembly language? You should have at least the experience of slightly complex programming on a microprocessor kit.
  • Not only you should know how to write internet applications, but it is always better to know how the internet works. Know how the packets are switched from one router to another, or how the TCP/IP protocol works internally.
  • If you are a .NET programmer, then know all about .net and the internal working of the Common Language Runtime (CLR). Wiring the library provided classes can be done by a child also.
The aim of this long post is not to say that programming is a child's play. But if you say you are an engineer and know only programming, then there is a big problem, because even a non engineering student can program. Being an engineer you at least know how things work inside. Apply that engineering mind everywhere. Do you know how and engineering mind thinks? An engineers mind always thinks of how to plan, design, and then execute. To think like that you will need to clear your basics by getting into the core.

Even I am not a perfect engineer according to the above text, but a better engineer for sure.

16 July, 2011

Is terrorism now like a natural disaster?

Terrorism in India is like a "natural disaster"

* cannot be stopped
* cannot be controlled
* give money to the affected after it ends
* comes suddenly without intimation (intelligence failure)

... and the Indian Government follows Gandhian principles,
"keep on accepting terrorists bombs on your face until the perpetrators are tired", "thou shalt not take vengeance"

Isn't it?