Monday, July 9, 2012

Tip: traversing arrays in C-Shell

Below I have described two methods to traverse arrays in C-Shell - one uses the foreach loop and other while loop.
In both cases, the important thing to note is that array index in C-shell starts with '1' instead of '0' as in most programming languages, like C, C++, Java, Perl.

set a = (1 2 3 4)
set b = (5 6 7 8)

Method 1 - using the foreach loop, iterating on one array as the foreach index, and the accessing the other array inside the loop body using the index operator "[]"
set i = 1
foreach x ( `echo $a` )
  echo "x = $x b = $b[$i]"
  @ i = $i + 1

x = 1 b = 5
x = 2 b = 6
x = 3 b = 7
x = 4 b = 8

Method 2 - using the while loop. Iterating on the size of array and accessing both the arrays inside the loop body using the index operator "[]"

set i = 1
while ($i <= 4)
  echo "a = $a[$i] b = $b[$i]"
  @ i = $i + 1

a = 1 b = 5
a = 2 b = 6
a = 3 b = 7
a = 4 b = 8

Wednesday, February 15, 2012

gdb stops at SIGPIPE

By default, gdb captures SIGPIPE of a process and pauses it. However, some program ignores SIGPIPE. So, the default behavour of gdb is not desired when debugging those program. To avoid gdb stopping in SIGPIPE, use the folloing command in gdb:

handle SIGPIPE nostop noprint pass

Wednesday, November 2, 2011


Interesting insight on this blog entry in Freakonimics -
The crux is that parent's don't seem to enjoy parenting is a strange conclusion made by almost all studies in this field. I am not sure I fully subscribe to this theory as I oscillate between happiness and despair when parenting. Maybe its more despair than happiness, but one thing I am sure about it is that happiness definitely has a longer lasting effect than despair.

Accomplishment is important

Not losing focus is the key. It’s about switching your focus from quantity to quality, and making sure that you use your productivity for a greater good: reaching your goals. Wonderful insights at

Tips for remembering and organizing ideas

Use a pocket recorder and record the thoughts. Musicians do it all the time.

Saturday, September 10, 2011

Crux for HBase

new reporting application for BigData based on HBase - Crux

Who are you?

someone who follows rules and also believes in the them is Ram. Some who follows rules but does not believe them is Duryodhana.
one who believes in rules but breaks them is Krishna, one who neither believes in rules nor follows them is Ravan. Who are you?