IMHO, there is a wide confusion regarding the interview process amongst my friends. I have heard some mention of learning the boring theory to clear the interview. In the past ten years , i have mentored at least 100 careers by training them in Computer Programming. As years went by , i began to study the cognitive process of the people whom i help.
Due to certain limitations , An Interviewer can test only the conceptual skill of a prospective employee. I have seen some pen and paper interviews. That is unfair on most candidates. I have
been in the interview sessions where my co-interviewers rejecting people with good knowledge just because they could not do well in puzzle like questions.
What i follow is listen to the person's musings on the projects which they have done. Any one with conceptual maturity will be able to present well. Some times , i will ask people to speak in their native tongue. So, By asking people to speak about what they have done , we can judge their conceptual maturity. This Process seems to be accurate to the extent possible for one human to judge another.
Most job requires Skill along with the knowledge. The best way to judge that is to employ one and find it out. I do not think that there is another way. By asking people to solve Pencil and Paper problems, one cannot judge their skill.
So, Interview Processes are all about Conceptual Maturity. People with Analytical Ability do
have an edge over others. (It is my Opinion..yours may vary )
Thursday, October 29, 2009
Tuesday, October 27, 2009
Plight of a Health Minister
The Kerala Health Minister made a (passionate?) speech on the ban of private practice by Govt. doctors. She attempted to speak in English. You can watch the consequences of it @ here .
( http://www.youtube.com/watch?v=JfzWhXYM8-k )
What i have heard from others is she is reasonably competent at her job. This one speech can create a huge perception problem among the people who feel that they have good command over English language. Such people dominate internet and party floors all across Kerala.
I was thinking of an interesting consequence of this. I think , for sure her popularity will skyrocket.Some might call it notoriety. if this video has been showcased as a symbolic stuff
of her incompetence , there is a equally big camp who dislike people who speak English in Kerala. Unlike other states , "anti-English" camp is smart and numerically superior. She will have more sympathizers among them.
In Kerala , at least in corporate circles , there is a sizable "pro-English" camp and a huge
"anti-English" camp. A centrist approach will give good dividends in Kerala.
English is a very important language as it is the primary "Lingua Franca" in the field of Science ,Engineering and Services Industry. The funny fact is due to socialistic attitude ( All the people
in kerala are communist in spirit. Even though they vote for Congress , BJP also ) , most Keralites associate English as elitist and coupled with the pressure to survive in a crowded environment learn to despise the English language (Now some changes are there ) from the day one. The Minister seems to fall into that camp.
The "Pro-english" lobby comprises people from ( who think they are from ) educated upper middle class or neo-rich lower middle class. For them , it is one of the ways to distinguish from
the crowd of "morons" ( English hating average Mallu guy ) .
In any social ecco system , as the time proceed numerical superiority will be with people who hate something (in our case English ) than people who like something . So there is a silent battle
going on in most corporate houses in Kerala.
Only problem i have found ( it is my personal opinion ) with "pro-english" group is they lack
"terrain intelligence". These people make their life miserable in Kerala based companies.
Some time they use superior English language skill to hide their personal incompetency. This
breeds more resentment from the other camp. To survive in Kerala based Companies , you
need to know this fact. I call it "Kerala Technology".
Some things u should know to Survive in Kerala ( "Kerala Technology" )
------------------------------------------------------------------------
a) Do not use English Excessively.
b) Most people here are communist in spirit. They hate excellence.
Do not blame keralites for this. In a crowded place,Excellence is crime.
c) Demonstrated Skill is more important than Knowledge
d) Kerala People are Procedural in nature. Analytical Knowledge is treated as useless
e) Keralites find it hard to balance personal goals and necessity to comply to the
"harsh" surroundings. This make them hate any deviation from Kerala Technology! (Recursion)
f) Once they have evaluated one person as good. They seldom change opinion.
Tyrants will have a nice time here.
Note:- There is risk of generalization here. But, mallus as a crowd behave more
or less as stated above in Kerala. Once gain as a disclaimer ..it is my personal opinion.
One's Emotions are better Communicated with our mother Tongue. For Business purpose use English. That is the motto i follow to remain neutral in this crowd.
( http://www.youtube.com/watch?v=JfzWhXYM8-k )
What i have heard from others is she is reasonably competent at her job. This one speech can create a huge perception problem among the people who feel that they have good command over English language. Such people dominate internet and party floors all across Kerala.
I was thinking of an interesting consequence of this. I think , for sure her popularity will skyrocket.Some might call it notoriety. if this video has been showcased as a symbolic stuff
of her incompetence , there is a equally big camp who dislike people who speak English in Kerala. Unlike other states , "anti-English" camp is smart and numerically superior. She will have more sympathizers among them.
In Kerala , at least in corporate circles , there is a sizable "pro-English" camp and a huge
"anti-English" camp. A centrist approach will give good dividends in Kerala.
English is a very important language as it is the primary "Lingua Franca" in the field of Science ,Engineering and Services Industry. The funny fact is due to socialistic attitude ( All the people
in kerala are communist in spirit. Even though they vote for Congress , BJP also ) , most Keralites associate English as elitist and coupled with the pressure to survive in a crowded environment learn to despise the English language (Now some changes are there ) from the day one. The Minister seems to fall into that camp.
The "Pro-english" lobby comprises people from ( who think they are from ) educated upper middle class or neo-rich lower middle class. For them , it is one of the ways to distinguish from
the crowd of "morons" ( English hating average Mallu guy ) .
In any social ecco system , as the time proceed numerical superiority will be with people who hate something (in our case English ) than people who like something . So there is a silent battle
going on in most corporate houses in Kerala.
Only problem i have found ( it is my personal opinion ) with "pro-english" group is they lack
"terrain intelligence". These people make their life miserable in Kerala based companies.
Some time they use superior English language skill to hide their personal incompetency. This
breeds more resentment from the other camp. To survive in Kerala based Companies , you
need to know this fact. I call it "Kerala Technology".
Some things u should know to Survive in Kerala ( "Kerala Technology" )
------------------------------------------------------------------------
a) Do not use English Excessively.
b) Most people here are communist in spirit. They hate excellence.
Do not blame keralites for this. In a crowded place,Excellence is crime.
c) Demonstrated Skill is more important than Knowledge
d) Kerala People are Procedural in nature. Analytical Knowledge is treated as useless
e) Keralites find it hard to balance personal goals and necessity to comply to the
"harsh" surroundings. This make them hate any deviation from Kerala Technology! (Recursion)
f) Once they have evaluated one person as good. They seldom change opinion.
Tyrants will have a nice time here.
Note:- There is risk of generalization here. But, mallus as a crowd behave more
or less as stated above in Kerala. Once gain as a disclaimer ..it is my personal opinion.
One's Emotions are better Communicated with our mother Tongue. For Business purpose use English. That is the motto i follow to remain neutral in this crowd.
Labels:
Ways of Life
| Reactions: |
Monday, October 26, 2009
Interview ....!
One day Prem and his Cousin brother came to meet the Guruji.
Prem => "My cousin is bit tensed as there is an interview tomorrow"
Guruji =>"Why should he be worried ?"
Cousin => "Even though i know to do most stuff in C# , i cannot explain some of them"
Guruji =>"No need to Worry about that ..."
Prem =>"why did u say so ?"
Guruji =>"I have seen lot of people qualifying by reading interview question books.."
Prem =>"So , what ?"
Guruji =>"You can easily judge the quality of interviewers,if some one is able to qualify as a developer by reading a Q&A book !!!!"
Prem => "My cousin is bit tensed as there is an interview tomorrow"
Guruji =>"Why should he be worried ?"
Cousin => "Even though i know to do most stuff in C# , i cannot explain some of them"
Guruji =>"No need to Worry about that ..."
Prem =>"why did u say so ?"
Guruji =>"I have seen lot of people qualifying by reading interview question books.."
Prem =>"So , what ?"
Guruji =>"You can easily judge the quality of interviewers,if some one is able to qualify as a developer by reading a Q&A book !!!!"
Labels:
Prem and Tilak
| Reactions: |
Equality in C#
In C# , one has got value types ( built-in types like int , float , double and structure ) and reference types.
Imagine that there is a class by the name Test
class Test
{
int _r;
public Test(int s)
{
_r = s;
}
public void Spit()
{
Console.WriteLine(_r);
}
}
in the main ...
Test a = new Test(2);
Test b = new Test(2);
if ( a == b )
{
Console.WriteLine("Hello World");
}
Equality comparison operator will compare the references to the type than the contents of the type.
a.Equals(b) won't also rescue you as by default it behaves like ==
Fortunately , one can override Equals ( one has to override GetHashcode as well )
to have equality based on the content.
//Test.cs
///////////////////////////////////////
//
// Compile at the command prompt as
// csc Test.cs
//
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace RST
{
class Test
{
int _r;
public Test(int s)
{
_r = s;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
public override bool Equals(object obj)
{
Test rs = obj as Test;
if (rs._r == _r)
return true;
return false;
}
public void Spit()
{
Console.WriteLine(_r);
}
public static void Main()
{
Test a = new Test(2);
Test b = new Test(2);
if ( a.Equals(b) )
Console.WriteLine("Both values are equal");
}
}
}
Imagine that there is a class by the name Test
class Test
{
int _r;
public Test(int s)
{
_r = s;
}
public void Spit()
{
Console.WriteLine(_r);
}
}
in the main ...
Test a = new Test(2);
Test b = new Test(2);
if ( a == b )
{
Console.WriteLine("Hello World");
}
Equality comparison operator will compare the references to the type than the contents of the type.
a.Equals(b) won't also rescue you as by default it behaves like ==
Fortunately , one can override Equals ( one has to override GetHashcode as well )
to have equality based on the content.
//Test.cs
///////////////////////////////////////
//
// Compile at the command prompt as
// csc Test.cs
//
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace RST
{
class Test
{
int _r;
public Test(int s)
{
_r = s;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
public override bool Equals(object obj)
{
Test rs = obj as Test;
if (rs._r == _r)
return true;
return false;
}
public void Spit()
{
Console.WriteLine(_r);
}
public static void Main()
{
Test a = new Test(2);
Test b = new Test(2);
if ( a.Equals(b) )
Console.WriteLine("Both values are equal");
}
}
}
Labels:
Software(.NET)
| Reactions: |
Sunday, October 25, 2009
A Program to demonstrate Integer overflow
Just now , i was reading about integer overflows. I am sure that most code blocks will have potential for integer overflows. I wrote a C/C++ program ( a naive one ) to demonstrate one scenario for integer overflow and how to detect it.
#include <stdio.h>
#include <stdlib.h>
//////////////////////////
//
// A Psuedo Signum function ... returns only 1 and -1.
// Zero is treated as +ve
//
#define SIG_NUM(x) ((x) >= 0 ? 1 : -1)
//////////////////////////////////////
//
// This program demonstrates integer overflow
// This will work only when the both the operands are +ve or -ve
// can be adapted to work in general...
// Written by Praseed Pai K.T. (http://praseedp.blogspot.com)
// At the command prompt
/// cl Overflow.cpp
//
void main( int argc , char **argv )
{
if ( argc != 3 )
{
fprintf(stdout,"Usage OverFlow <num1> <num2> \n");
fprintf(stdout,"if product of <num1> and <num2>\n");
fprintf(stdout,"overflows ..that will be shown\n");
return;
}
#ifdef UNSAFE_INTEGER
//
// define UNSAFE_INTEGER to execute this part of the code
// #define UNSAFE_INTEGER 1
//
int rx = strtol(argv[1],0,10);
int ry = strtol(argv[2],0,10);
int y = rx*ry; // here if command line parameters are big numbers
// An overflow can happen
printf("%d\n",y);
#else
int rx = strtol(argv[1],0,10);
int ry = strtol(argv[2],0,10);
int sg_rx = SIG_NUM(rx);
int sg_ry = SIG_NUM(ry);
int y = rx*ry;
//
// if the "product of sign of numbers" does not
// match with "sign of the product of the numbers"
// ..u have an overflow
// only works for +ve operands or -ve operands.
// needs to work a bit to make it general
if ( sg_rx*sg_ry != SIG_NUM(y) )
{
printf("Integer overflow\n");
}
printf("%d\n",y);
#endif
}
#include <stdio.h>
#include <stdlib.h>
//////////////////////////
//
// A Psuedo Signum function ... returns only 1 and -1.
// Zero is treated as +ve
//
#define SIG_NUM(x) ((x) >= 0 ? 1 : -1)
//////////////////////////////////////
//
// This program demonstrates integer overflow
// This will work only when the both the operands are +ve or -ve
// can be adapted to work in general...
// Written by Praseed Pai K.T. (http://praseedp.blogspot.com)
// At the command prompt
/// cl Overflow.cpp
//
void main( int argc , char **argv )
{
if ( argc != 3 )
{
fprintf(stdout,"Usage OverFlow <num1> <num2> \n");
fprintf(stdout,"if product of <num1> and <num2>\n");
fprintf(stdout,"overflows ..that will be shown\n");
return;
}
#ifdef UNSAFE_INTEGER
//
// define UNSAFE_INTEGER to execute this part of the code
// #define UNSAFE_INTEGER 1
//
int rx = strtol(argv[1],0,10);
int ry = strtol(argv[2],0,10);
int y = rx*ry; // here if command line parameters are big numbers
// An overflow can happen
printf("%d\n",y);
#else
int rx = strtol(argv[1],0,10);
int ry = strtol(argv[2],0,10);
int sg_rx = SIG_NUM(rx);
int sg_ry = SIG_NUM(ry);
int y = rx*ry;
//
// if the "product of sign of numbers" does not
// match with "sign of the product of the numbers"
// ..u have an overflow
// only works for +ve operands or -ve operands.
// needs to work a bit to make it general
if ( sg_rx*sg_ry != SIG_NUM(y) )
{
printf("Integer overflow\n");
}
printf("%d\n",y);
#endif
}
Labels:
System Security
| Reactions: |
Why Lambda Expressions in .NET ?
LINQ is a .net platform level mechanism introduced by Microsoft as part of the C# 3.0 language. The LINQ constructs has been mapped to Visual Basic .net as well. if you write your own language , u can incorporate LINQ to your language as well.
LINQ is a declarative language embedded in a Procedural Programming ( Imperative Programming) language like C#. (Yeah , all imperative languages are procedural deep down )
Programming languages process one item at a time where as a declarative language like LINQ Or SQL are set oriented. To be politically correct , they are Bag (Sets with duplication allowed ) oriented. LINQ to be successful needs to mimick the syntax of SQL to the extent possible.
In any SQL query , we project the columns to retrieve the data. Projection is the technical word for ignoring some of the columns in the result.
if a table ( say Employee ) has 3 columns viz A,B,C
some projections are
select A from Employee ; // A,B,C got projected to A
select A,B from Employee; // A,B,C got projected to A,B
in this way , u have got 8 ways to project three columns. you might wonder how i got this number. The standard projection operator is a subset operation.
if u have got n elements in a set , u will have 2^n subsets ( i am not counting extended projection)
Eg:-
a) Find the total sales
select Sum(Qty*Rate) from Sales
b) Increase the salary by 10% for all employees
update Employee set salary = salary*1.1
In the above two examples , SQL allows computation ( or unnamed expression ) as part of the projection. This is called extended projection.
Since the possible Projection Possibilities are infinite , LINQ should have a mechanism to pass unnamed function ( expression ) to be passed as a parameter to the LINQ sub system. This might be the reason why Lambda Expressions were introduced with C# 3.0.
To pass arbitary computation as parameters , C# 3.0 implemented lambda.
LINQ is a declarative language embedded in a Procedural Programming ( Imperative Programming) language like C#. (Yeah , all imperative languages are procedural deep down )
Programming languages process one item at a time where as a declarative language like LINQ Or SQL are set oriented. To be politically correct , they are Bag (Sets with duplication allowed ) oriented. LINQ to be successful needs to mimick the syntax of SQL to the extent possible.
In any SQL query , we project the columns to retrieve the data. Projection is the technical word for ignoring some of the columns in the result.
if a table ( say Employee ) has 3 columns viz A,B,C
some projections are
select A from Employee ; // A,B,C got projected to A
select A,B from Employee; // A,B,C got projected to A,B
in this way , u have got 8 ways to project three columns. you might wonder how i got this number. The standard projection operator is a subset operation.
if u have got n elements in a set , u will have 2^n subsets ( i am not counting extended projection)
Eg:-
a) Find the total sales
select Sum(Qty*Rate) from Sales
b) Increase the salary by 10% for all employees
update Employee set salary = salary*1.1
In the above two examples , SQL allows computation ( or unnamed expression ) as part of the projection. This is called extended projection.
Since the possible Projection Possibilities are infinite , LINQ should have a mechanism to pass unnamed function ( expression ) to be passed as a parameter to the LINQ sub system. This might be the reason why Lambda Expressions were introduced with C# 3.0.
To pass arbitary computation as parameters , C# 3.0 implemented lambda.
Labels:
Software(.NET)
| Reactions: |
A nice diagram
I encountered the term False Positives ( and False Negatives ) in the context of Bayes Theorem. Any one who has studied Probability theory ( conditional Probability ) might have studied Bayes Theorom. In the Kerala BarCamp 6 , i even took a detailed digression of the topic.
When i had gone for a OWASP meetup , i happen to meet Manu Zacharia there. In the discussion, he mentioned False Positives in the context of intrusion detection. I have encountered this in the case of Sally Clark case and a presentation in TED ( where jury gets things wrong ) also. In medical diagnosis , this can mean to choose between the life and the death.
Today , i happen to open a document which i received some time back. The diagram clearly spells out why "False + " and "False -" is important in the context of Computer security.

In Any security Analysis (through humans or through software ) , these are the four scenarios which can occur
False + | False - | Result
---------------------------------------------
Y | Y | Complete and Sound
Y | N | Incomplete ( with false negatives )
N | N | Incomplete
N | Y | Incomplete ( with false +ves )
---------------------------------------------
In medical parlance , False + is called Sensitivity and False -ve as Specificity.
A detailed description of the topic can be found here
http://en.wikipedia.org/wiki/Bayesian_inference
When i had gone for a OWASP meetup , i happen to meet Manu Zacharia there. In the discussion, he mentioned False Positives in the context of intrusion detection. I have encountered this in the case of Sally Clark case and a presentation in TED ( where jury gets things wrong ) also. In medical diagnosis , this can mean to choose between the life and the death.
Today , i happen to open a document which i received some time back. The diagram clearly spells out why "False + " and "False -" is important in the context of Computer security.

In Any security Analysis (through humans or through software ) , these are the four scenarios which can occur
False + | False - | Result
---------------------------------------------
Y | Y | Complete and Sound
Y | N | Incomplete ( with false negatives )
N | N | Incomplete
N | Y | Incomplete ( with false +ves )
---------------------------------------------
In medical parlance , False + is called Sensitivity and False -ve as Specificity.
A detailed description of the topic can be found here
http://en.wikipedia.org/wiki/Bayesian_inference
| Reactions: |
Lambda = Anonymous delegates
In C# , Lambda function and Anonymous delegates are computationally and type system wise equivalent.
//
// Declare a delgate for Binary Operators
// takes two integers as parameters and returns the sum
//
delegate int Binop(int x, int y);
//
// Declare two Lambda Functions for Addition and Multiplication
//
Binop adder = ( int x, int y) => (x + y);
Binop mul = ( int x , int y ) => (x*y);
we can invoke the functions
as
int rs = adder(2,3); // rs will be 5
rs = mul(2,3); // now rs will be 6
// Addition can be implemented using Anonymous delegates as
// well
Binop test = delegate(int x, int y) {
return x + y;
};
Console.WriteLine( test(2,3));
This will emit 5 to the console
Binop test2 = delegate(int x, int y) {
return x *y;
};
test2(4,5); // will return 20
//
// Declare a delgate for Binary Operators
// takes two integers as parameters and returns the sum
//
delegate int Binop(int x, int y);
//
// Declare two Lambda Functions for Addition and Multiplication
//
Binop adder = ( int x, int y) => (x + y);
Binop mul = ( int x , int y ) => (x*y);
we can invoke the functions
as
int rs = adder(2,3); // rs will be 5
rs = mul(2,3); // now rs will be 6
// Addition can be implemented using Anonymous delegates as
// well
Binop test = delegate(int x, int y) {
return x + y;
};
Console.WriteLine( test(2,3));
This will emit 5 to the console
Binop test2 = delegate(int x, int y) {
return x *y;
};
test2(4,5); // will return 20
Labels:
Software(.NET)
| Reactions: |
A simple explanation of Lambda
I took a session on LINQ @ Community Techdays on 24th October 2009. After the presentation , couple of guys asked me about Lambda function in C#.
Here is what i explained...
LET y = x*x;
in the above statement we multiply x with itself and assign to a variable y.
The same can be written as
LET y = SQUARE(x) ; // Defenition of Square will be x*x
Both the above statements do the same thing. The first one uses unnamed function where as we named the second expression.
Lambda function is unnamed function. In C#, it is equivalent to Anonymous delgates as well.
Here is what i explained...
LET y = x*x;
in the above statement we multiply x with itself and assign to a variable y.
The same can be written as
LET y = SQUARE(x) ; // Defenition of Square will be x*x
Both the above statements do the same thing. The first one uses unnamed function where as we named the second expression.
Lambda function is unnamed function. In C#, it is equivalent to Anonymous delgates as well.
Labels:
Software(.NET)
| Reactions: |
Tuesday, October 20, 2009
Here is 100!
using the BigNum package developed by my wife , i just computed 100!
the answer is
Fact(100) is ( Factorial(100) )
9332621544394415268169923885626670049071596826
4381621468592963895217599993229915608941463976
1565182862536979208272237582511852109168640000
00000000000000000000
the answer is
Fact(100) is ( Factorial(100) )
9332621544394415268169923885626670049071596826
4381621468592963895217599993229915608941463976
1565182862536979208272237582511852109168640000
00000000000000000000
Labels:
Mathematics
| Reactions: |
Sunday, October 18, 2009
Mathematical Mysteries -A nice book
Today morning , i just happen to pick a book from my shelf. The name of the book is "Mathematical Mysteries" By Calvin C. Clawson. Even though i purchased this book couple of years back , i have not taken a look at this book. For the next two hours , i got captivated by the lucid prose of the author. His treatment of Godel Numbering is one of the most accessible till date for me. After reading the preface , i read the last chapter first. The last chapter deals with logicism and formalism in mathematics. The celebrated Barber paradox is discussed next. After that , author gives a non technical introduction to Godel's Proof. After reading the final chapter , i read the chapter on Srinivasa Ramanujam. There were paragraphs on Mandelbrot set , Fibonacci series .
One interesting stuff i came across was 200th Fibonacci number. Other day , i had helped my wife implement an arbitary precision integer class in C/C++. I computed 200th Fibonacci number using that class. I can certify that the author was right !....
Fib(200) is 280571172992510140037611932413038677189525
I am also printing 200 numbers from the Fibonacci series ( which i generated using the BigNum class written by my wife )
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
4807526976
7778742049
12586269025
20365011074
32951280099
53316291173
86267571272
139583862445
225851433717
365435296162
591286729879
956722026041
1548008755920
2504730781961
4052739537881
6557470319842
10610209857723
17167680177565
27777890035288
44945570212853
72723460248141
117669030460994
190392490709135
308061521170129
498454011879264
806515533049393
1304969544928657
2111485077978050
3416454622906707
5527939700884757
8944394323791464
14472334024676221
23416728348467685
37889062373143906
61305790721611591
99194853094755497
160500643816367088
259695496911122585
420196140727489673
679891637638612258
1100087778366101931
1779979416004714189
2880067194370816120
4660046610375530309
7540113804746346429
12200160415121876738
19740274219868223167
31940434634990099905
51680708854858323072
83621143489848422977
135301852344706746049
218922995834555169026
354224848179261915075
573147844013817084101
927372692193078999176
1500520536206896083277
2427893228399975082453
3928413764606871165730
6356306993006846248183
10284720757613717413913
16641027750620563662096
26925748508234281076009
43566776258854844738105
70492524767089125814114
114059301025943970552219
184551825793033096366333
298611126818977066918552
483162952612010163284885
781774079430987230203437
1264937032042997393488322
2046711111473984623691759
3311648143516982017180081
5358359254990966640871840
8670007398507948658051921
14028366653498915298923761
22698374052006863956975682
36726740705505779255899443
59425114757512643212875125
96151855463018422468774568
155576970220531065681649693
251728825683549488150424261
407305795904080553832073954
659034621587630041982498215
1066340417491710595814572169
1725375039079340637797070384
2791715456571051233611642553
4517090495650391871408712937
7308805952221443105020355490
11825896447871834976429068427
19134702400093278081449423917
30960598847965113057878492344
50095301248058391139327916261
81055900096023504197206408605
131151201344081895336534324866
212207101440105399533740733471
343358302784187294870275058337
555565404224292694404015791808
898923707008479989274290850145
1454489111232772683678306641953
2353412818241252672952597492098
3807901929474025356630904134051
6161314747715278029583501626149
9969216677189303386214405760200
16130531424904581415797907386349
26099748102093884802012313146549
42230279526998466217810220532898
68330027629092351019822533679447
110560307156090817237632754212345
178890334785183168257455287891792
289450641941273985495088042104137
468340976726457153752543329995929
757791618667731139247631372100066
1226132595394188293000174702095995
1983924214061919432247806074196061
3210056809456107725247980776292056
5193981023518027157495786850488117
8404037832974134882743767626780173
13598018856492162040239554477268290
22002056689466296922983322104048463
35600075545958458963222876581316753
57602132235424755886206198685365216
93202207781383214849429075266681969
150804340016807970735635273952047185
244006547798191185585064349218729154
394810887814999156320699623170776339
638817435613190341905763972389505493
1033628323428189498226463595560281832
1672445759041379840132227567949787325
2706074082469569338358691163510069157
4378519841510949178490918731459856482
7084593923980518516849609894969925639
11463113765491467695340528626429782121
18547707689471986212190138521399707760
30010821454963453907530667147829489881
48558529144435440119720805669229197641
78569350599398894027251472817058687522
127127879743834334146972278486287885163
205697230343233228174223751303346572685
332825110087067562321196029789634457848
538522340430300790495419781092981030533
871347450517368352816615810882615488381
1409869790947669143312035591975596518914
2281217241465037496128651402858212007295
3691087032412706639440686994833808526209
5972304273877744135569338397692020533504
9663391306290450775010025392525829059713
15635695580168194910579363790217849593217
25299086886458645685589389182743678652930
40934782466626840596168752972961528246147
66233869353085486281758142155705206899077
107168651819712326877926895128666735145224
173402521172797813159685037284371942044301
280571172992510140037611932413038677189525
One interesting stuff i came across was 200th Fibonacci number. Other day , i had helped my wife implement an arbitary precision integer class in C/C++. I computed 200th Fibonacci number using that class. I can certify that the author was right !....
Fib(200) is 280571172992510140037611932413038677189525
I am also printing 200 numbers from the Fibonacci series ( which i generated using the BigNum class written by my wife )
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
4807526976
7778742049
12586269025
20365011074
32951280099
53316291173
86267571272
139583862445
225851433717
365435296162
591286729879
956722026041
1548008755920
2504730781961
4052739537881
6557470319842
10610209857723
17167680177565
27777890035288
44945570212853
72723460248141
117669030460994
190392490709135
308061521170129
498454011879264
806515533049393
1304969544928657
2111485077978050
3416454622906707
5527939700884757
8944394323791464
14472334024676221
23416728348467685
37889062373143906
61305790721611591
99194853094755497
160500643816367088
259695496911122585
420196140727489673
679891637638612258
1100087778366101931
1779979416004714189
2880067194370816120
4660046610375530309
7540113804746346429
12200160415121876738
19740274219868223167
31940434634990099905
51680708854858323072
83621143489848422977
135301852344706746049
218922995834555169026
354224848179261915075
573147844013817084101
927372692193078999176
1500520536206896083277
2427893228399975082453
3928413764606871165730
6356306993006846248183
10284720757613717413913
16641027750620563662096
26925748508234281076009
43566776258854844738105
70492524767089125814114
114059301025943970552219
184551825793033096366333
298611126818977066918552
483162952612010163284885
781774079430987230203437
1264937032042997393488322
2046711111473984623691759
3311648143516982017180081
5358359254990966640871840
8670007398507948658051921
14028366653498915298923761
22698374052006863956975682
36726740705505779255899443
59425114757512643212875125
96151855463018422468774568
155576970220531065681649693
251728825683549488150424261
407305795904080553832073954
659034621587630041982498215
1066340417491710595814572169
1725375039079340637797070384
2791715456571051233611642553
4517090495650391871408712937
7308805952221443105020355490
11825896447871834976429068427
19134702400093278081449423917
30960598847965113057878492344
50095301248058391139327916261
81055900096023504197206408605
131151201344081895336534324866
212207101440105399533740733471
343358302784187294870275058337
555565404224292694404015791808
898923707008479989274290850145
1454489111232772683678306641953
2353412818241252672952597492098
3807901929474025356630904134051
6161314747715278029583501626149
9969216677189303386214405760200
16130531424904581415797907386349
26099748102093884802012313146549
42230279526998466217810220532898
68330027629092351019822533679447
110560307156090817237632754212345
178890334785183168257455287891792
289450641941273985495088042104137
468340976726457153752543329995929
757791618667731139247631372100066
1226132595394188293000174702095995
1983924214061919432247806074196061
3210056809456107725247980776292056
5193981023518027157495786850488117
8404037832974134882743767626780173
13598018856492162040239554477268290
22002056689466296922983322104048463
35600075545958458963222876581316753
57602132235424755886206198685365216
93202207781383214849429075266681969
150804340016807970735635273952047185
244006547798191185585064349218729154
394810887814999156320699623170776339
638817435613190341905763972389505493
1033628323428189498226463595560281832
1672445759041379840132227567949787325
2706074082469569338358691163510069157
4378519841510949178490918731459856482
7084593923980518516849609894969925639
11463113765491467695340528626429782121
18547707689471986212190138521399707760
30010821454963453907530667147829489881
48558529144435440119720805669229197641
78569350599398894027251472817058687522
127127879743834334146972278486287885163
205697230343233228174223751303346572685
332825110087067562321196029789634457848
538522340430300790495419781092981030533
871347450517368352816615810882615488381
1409869790947669143312035591975596518914
2281217241465037496128651402858212007295
3691087032412706639440686994833808526209
5972304273877744135569338397692020533504
9663391306290450775010025392525829059713
15635695580168194910579363790217849593217
25299086886458645685589389182743678652930
40934782466626840596168752972961528246147
66233869353085486281758142155705206899077
107168651819712326877926895128666735145224
173402521172797813159685037284371942044301
280571172992510140037611932413038677189525
Labels:
Mathematics
| Reactions: |
Friday, October 16, 2009
A C Program to Sort a series of numbers
The Following C/C++ Program will sort a series of numbers given as Command Line arguments. The program uses good techniques for Pointer manipulation.
///////////////////////////////////////////
// Msort.cpp
//
// The following program will Sort a set of numbers given as command line
// arguments
//
// MSort 1 3 -5 6 5 10
//
//
//
//
//
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int __cdecl CmpFn(const void *dblone,const void *dbltwo )
{
double a = *(double *)dblone;
double b = *(double *)dbltwo;
if ( a > b )
return 1;
else if ( b > a )
return -1;
else
return 0;
}
int main( int argc , char **argv )
{
if ( argc == 1 )
{
fprintf(stdout,"No command line arguments\n");
return -1;
}
int num = argc-1;
double *arr = (double *) malloc(num*sizeof(double));
if ( arr == 0 )
return -1;
double *parr = arr;
char **nums = &argv[1];
while (num--)
*parr++ = atof(*nums++);
qsort(arr,argc-1,sizeof(double),CmpFn);
num = 0;
while (num < argc-1 )
printf("%g\n",arr[num++]);
free(arr);
return 0;
}
///////////////////////////////////////////
// Msort.cpp
//
// The following program will Sort a set of numbers given as command line
// arguments
//
// MSort 1 3 -5 6 5 10
//
//
//
//
//
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int __cdecl CmpFn(const void *dblone,const void *dbltwo )
{
double a = *(double *)dblone;
double b = *(double *)dbltwo;
if ( a > b )
return 1;
else if ( b > a )
return -1;
else
return 0;
}
int main( int argc , char **argv )
{
if ( argc == 1 )
{
fprintf(stdout,"No command line arguments\n");
return -1;
}
int num = argc-1;
double *arr = (double *) malloc(num*sizeof(double));
if ( arr == 0 )
return -1;
double *parr = arr;
char **nums = &argv[1];
while (num--)
*parr++ = atof(*nums++);
qsort(arr,argc-1,sizeof(double),CmpFn);
num = 0;
while (num < argc-1 )
printf("%g\n",arr[num++]);
free(arr);
return 0;
}
Labels:
C/C++,
Pointer Techniques
| Reactions: |
A C program to print ExeName
Given below is a C/C++ program which will print the name of the Executable file. In every C/C++ command line program , in the argv[0] u get the exename. This is not so in Java or C#.
///////////////////////////////////
//
// ExeName.cpp
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main( int argc , char **argv )
{
char *ptr = (char *)malloc(strlen(argv[0])+1);
if ( ptr == 0 )
return;
strcpy(ptr,argv[0]);
char *temp = strrchr(ptr,'\\');
if ( temp ) {
*temp++=0;
puts(temp);
}
else {
puts(ptr);
}
free(ptr);
}
///////////////////////////////////
//
// ExeName.cpp
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main( int argc , char **argv )
{
char *ptr = (char *)malloc(strlen(argv[0])+1);
if ( ptr == 0 )
return;
strcpy(ptr,argv[0]);
char *temp = strrchr(ptr,'\\');
if ( temp ) {
*temp++=0;
puts(temp);
}
else {
puts(ptr);
}
free(ptr);
}
Labels:
Pointer Techniques
| Reactions: |
Environment variables
To demonstrate the use of Environment Variables , i wrote a program today. The program simply dumps the environment variables to the console.
/////////////////////////////////////
//
// This program will dump the command line
// arguments on to the screen. The Program will
// work on Windows and Linux as well
//
//
//
#include <stdio.h>
int main( int argc , char **argv , char **envp )
{
if ( argc == 1 ) {
fprintf(stdout,"No command Line arguments\n");
return -1;
}
/************* Dump the command line arguments *********/
//
//
// temp => argv[ 0 ] -> "first argument"
// argv[ 1 ] -> "second argument"
// argv[ 2 ] -> "third argument"
// argv[ 3 ] -> "\0";
//
char **temp = argv;
while (*temp != 0 ) {
puts(*temp);
temp++; //-----------> move to the next argument
}
/************* Dump the Environment varible **************/
//
//
// temp => "first_key=first_value\0second_key=second_value\0\0"
//
// Environment variables are nothing but , key value pairs terminated with
// zero. The end of the list is indicated by two consecutive \0\0
temp = envp;
while (*(temp+1) != 0 ) {
puts(*temp);
temp++;
}
}
/////////////////////////////////////
//
// This program will dump the command line
// arguments on to the screen. The Program will
// work on Windows and Linux as well
//
//
//
#include <stdio.h>
int main( int argc , char **argv , char **envp )
{
if ( argc == 1 ) {
fprintf(stdout,"No command Line arguments\n");
return -1;
}
/************* Dump the command line arguments *********/
//
//
// temp => argv[ 0 ] -> "first argument"
// argv[ 1 ] -> "second argument"
// argv[ 2 ] -> "third argument"
// argv[ 3 ] -> "\0";
//
char **temp = argv;
while (*temp != 0 ) {
puts(*temp);
temp++; //-----------> move to the next argument
}
/************* Dump the Environment varible **************/
//
//
// temp => "first_key=first_value\0second_key=second_value\0\0"
//
// Environment variables are nothing but , key value pairs terminated with
// zero. The end of the list is indicated by two consecutive \0\0
temp = envp;
while (*(temp+1) != 0 ) {
puts(*temp);
temp++;
}
}
Labels:
Pointer Techniques
| Reactions: |
Community Tech days @ Trivandrum
The Technopark will be the venue for the next edition of Microsoft Community Tech day,Trivandrum. The full day event is sponsored by Microsoft and K-MUG ( Kerala Microsoft User Group ) manages the event.
You can register for the event @ KMUG site.
I am taking a session on LINQ there.
You can register for the event @ KMUG site.
I am taking a session on LINQ there.
Labels:
Software(.NET)
| Reactions: |
Thursday, October 15, 2009
A Tale of a Book Purchase
In the BarCamp Kerala 6 , Mr. Manu Zacharia had taken an informative session on Ethical Hacking. Whenever some one hears about Ethical Hacking in India , most people think about Ankit Fadia who wrote a book by the title. After the session , at the corridor there was talk about the credentials of Ankit Fadia's certification course. I had purchased his book when it was published and found it to be a good introduction to socket programming and Perl. ( Serendipitous use of that book..perhaps )
Today , I went to the Oberon Mall after a long time. I purchased a book on Encryption algorithms written by Ankit Fadia and Jayashree Bhattachargee. The series is named "Project Hacking Kitaab". Manu Zacharia happens to be co-author for the IDS (Intrusion Detection System ) book in the series !!!.
Today , I went to the Oberon Mall after a long time. I purchased a book on Encryption algorithms written by Ankit Fadia and Jayashree Bhattachargee. The series is named "Project Hacking Kitaab". Manu Zacharia happens to be co-author for the IDS (Intrusion Detection System ) book in the series !!!.
Labels:
Ways of Life
| Reactions: |
Wednesday, October 14, 2009
Mediocrity might be good
There has always been a push everywhere for Excellence. I have got a feeling that people who are mediocre seldom creates mess for themselves. Agreed that if such people are placed in the positions of power , they might end-up messing other people lives.
With mediocrity comes Flexibility. This helps people to be agile and can get along with the group well. Practice Mediocrity is my suggestion. There is cap on everything. Be it intelligence , quality
, beauty and most aspects of life . So,why try to enhance something beyond the optimum ?
With mediocrity comes Flexibility. This helps people to be agile and can get along with the group well. Practice Mediocrity is my suggestion. There is cap on everything. Be it intelligence , quality
, beauty and most aspects of life . So,why try to enhance something beyond the optimum ?
Labels:
Ways of Life
| Reactions: |
How to measure the dimension of a ground ?
Day before Yesterday, i went to the Aluva Municpal Stadium for jogging. While taking rounds , i decided to measure how much i am covering if i take ten rounds. Since i did not have a measuring device with me , i decided to use my foot to measure the stadium.
From my younger days , i remember using my feet to measure the cricketing pitch. The stumps has to be placed 22 yards appart ( 20.12 meters ).
I yard = .91 meters = 3 feet = 36 inch
I found the Length of the ground to be 109 yards. The Width happens to be 107.8 yards. To make doubly sure , i measured the diagonal also to confirm my measurement.
The Diagonal was 155 yards.

Since the ground is almost square
For a square , Diagonal / sqrt(2) will give the sides.. ( S = D/sqrt(2))
155/sqrt(2) will give you 109 yards (approixmately )
From my younger days , i remember using my feet to measure the cricketing pitch. The stumps has to be placed 22 yards appart ( 20.12 meters ).
I yard = .91 meters = 3 feet = 36 inch
I found the Length of the ground to be 109 yards. The Width happens to be 107.8 yards. To make doubly sure , i measured the diagonal also to confirm my measurement.
The Diagonal was 155 yards.

Since the ground is almost square
For a square , Diagonal / sqrt(2) will give the sides.. ( S = D/sqrt(2))
155/sqrt(2) will give you 109 yards (approixmately )
Labels:
Mathematics
| Reactions: |
They are not same...
I have heard about David Deutsch who is famous for his research on Quantum Computation. I knew that Ghostscript ( a Post script interpreter ) is written by some Deutsch ( That was Deutsch) . In the Barcamp Kerala 6 , thanks to a slide from Manu Zacharia now i know that these
are two distinct individuals.
are two distinct individuals.
Labels:
Ways of Life
| Reactions: |
Tuesday, October 13, 2009
A thoughtful perspective on (the?) dicitionary
I really enjoyed this TED presentation. Plans to study what she has been outlining. Rather than
the coherence of her ideas , i was fascinated by some points which she made in her presentation.
One real goodie was
"Serendipity is when you find what you weren't looking for because finding what you are
looking for is so difficult."
Pls. find the presentation here.
the coherence of her ideas , i was fascinated by some points which she made in her presentation.
One real goodie was
"Serendipity is when you find what you weren't looking for because finding what you are
looking for is so difficult."
Pls. find the presentation here.
Labels:
Ways of Life
| Reactions: |
No need for an Esperanto
I now personally think that English is the language which all Esperanto aficionados were elusively searching. Pls. do watch this.
Labels:
Ways of Life
| Reactions: |
A goodie from my son...
My son is really fond of Man vs Wild programme in the Discovery Channel. Of course , the program ranks second only to DoreMon , now a days. We just finished watching another episode of Man vs Wild. When my wife asked him ..whether he is going to do what the host does ..my kid's answer was
swift.... "Sure , The name of the program will be KID vs BUSH "
swift.... "Sure , The name of the program will be KID vs BUSH "
Labels:
Ways of Life
| Reactions: |
Monday, October 12, 2009
Plight of Fresh Graduates - a thought
Last week,I had conversation with a youngster who was apologetic about the fact that he could not get a campus recruitment offer ( due to the last year's recession). he contacted me to explore the possibility of an option to work somewhere as a fresher. I volunteered to help him to learn C/C++ or C# or Java programming language to explore the possibility of a career in IT. His remark startled me ..."I am a topper in the college and already fed up of my studies...my senior (who was a topper ) got 35,000/- as a fresher last year...it was my misfortune that i passed out last year..i am not interested in more studies.."
He studied Civil engineering from a reputed college in Kerala. There are options for him to start
a career in his field of study. In areas like Civil engineering , Mechanichal and automobile you have got long gestation period to be someone in that area. Being a fast paced guy , his ambitions and the traits of the profession does not match.
"if aspirations are high...retrain yourself to cash on the boom..."
When i talked to couple of guys about this , they have faced similar problems..
Now a days , in every city there is an economic ecco system. So, Merit + Value of the merit (at a place ) determines your pay package. Either try to get some where or move out to a place where there is prospect for employment.
He studied Civil engineering from a reputed college in Kerala. There are options for him to start
a career in his field of study. In areas like Civil engineering , Mechanichal and automobile you have got long gestation period to be someone in that area. Being a fast paced guy , his ambitions and the traits of the profession does not match.
"if aspirations are high...retrain yourself to cash on the boom..."
When i talked to couple of guys about this , they have faced similar problems..
Now a days , in every city there is an economic ecco system. So, Merit + Value of the merit (at a place ) determines your pay package. Either try to get some where or move out to a place where there is prospect for employment.
Labels:
Economics
| Reactions: |
About Cricket
Just now , i was sitting with my kid to help him with his math homework. After wrestling with him and his way of doing math(Try teaching math to a 2nd standard kid !) , as a diversion i flipped through a family encyclopedia with him. There was reference to George Bernard Shaw. My son always sit with a cricket bat and as he ages i am fearful of the fact that someday he might use it against me. To amuse him , i told Bernard Shaw's Observation on Cricket.
"Cricket is a game in which Eleven fools playing and Eleven thousand fools watching ".
My son did not like it and he shut his ears to rest of my musings.
"Cricket is a game in which Eleven fools playing and Eleven thousand fools watching ".
My son did not like it and he shut his ears to rest of my musings.
Labels:
Ways of Life
| Reactions: |
A good book on Statistics
Statistics is a subject which most people feel they know it really well. When it comes to the Qualitative interpretation of Quantified values , people most often get it wrong. Is there any
book which really gives a conceptual understanding of Statistics?. The book which i refer
is "STATISTICS - Third Edition by David Freedman,Robert Pisani and Roger Purves".
The coverage of descriptive statistics ( Mean , Median , Mode,Standard deviation,Correlation,regression ) and inferential statistics is pretty good. The sampling
design chapter is really cool one. The book explains things in a historical context as well.
Indian edition is available for Rs. 395.
The amazon url of the book is @ http://www.amazon.com/Statistics-Third-David-Freedman/dp/0393970833
book which really gives a conceptual understanding of Statistics?. The book which i refer
is "STATISTICS - Third Edition by David Freedman,Robert Pisani and Roger Purves".
The coverage of descriptive statistics ( Mean , Median , Mode,Standard deviation,Correlation,regression ) and inferential statistics is pretty good. The sampling
design chapter is really cool one. The book explains things in a historical context as well.
Indian edition is available for Rs. 395.
The amazon url of the book is @ http://www.amazon.com/Statistics-Third-David-Freedman/dp/0393970833
Labels:
Probability and Statistics
| Reactions: |
Sunday, October 11, 2009
BarCamp Kerala 6- A Personal Account
Oct 11,2009
BarCamp kerala 6th edition was held in the Rajagiri College of Engineering at Kakkanad ,
Kochi. The Campus is a cozy place ( i have seen such coziness only in the Cornell university Campus,Ithaca). The first thing which i come to notice was a pool full of swans. I could see a White Swan and not so White Swan (I did not see a Black swan..but the presence of a swans
were a Black Swan for me). I was the first to reach there around 8.15 am. Since one of my erstwhile colleague is a teacher there , i visited him first. From him , I learned that the Principal of the College also is an erstwhile colleague of mine. Both had worked with me in two different companies.
Around 8.30 am , the key people behind this event (Kenney,Anand,Niju and Deepu joseph)
arrived at the scene. As usual like any other Barcamp , people began to chit chat and take a
dig at each other.
Around 9.00, they started providing IPs (wireless connection ) for the laptops. Even though
thirteen sessions were listed at the Barcamp site , we could see only four people turning up
there to take sessions and another has promised to turn up in the afternoon.
Around 10 am , we started.
Session 1:- Biases and Fallacies - A Perspective By Praseed Pai K.T.
The session discussed about instances of Biases , Fallacies and Prejudices in areas
like Politics , Economics , Finance , Computer Programming , Intelligence test ,
Probability computations to name a few.
Comment :- Being a presenter of the session , i won't be an objective judge of the
quality of it. Based on the feedback i got from some , these are the reactions
A) Couple of them could not find how pieces of my presentation tied together.
B) Some said , it was jargon filled.
C) Some others were appreciative about the fact that the presentation could step
through provocative slides with ease.
D) Another group found it very interesting and asked some clarifications.
E) Last and but not the least , some found quotes on Gossip , Quiz brains amusing.
Session 2 : Voice Based Blood Search - A Proposal By Kenney Jacob
Mr. Kenny presented about a software ( a service ) which could link donors and people
who are in need for blood.
Comment :- When people talk about proposals , i am skeptical. The unique thing about
Kenny's talk was his group has already implemented the proof of concept application.
The discussion about the implementation of software was interesting. He mentioned about the
Asterisk Telephony platform and how this software was implemented. Some one raised a
question about the legality of this software. The answer from Kenney was that there is
nothing illegal about it.
Kenney talked about the Technology Evangelist Network (TEN) after his presentation.
The discussion drifted into the value of college education. In this thing ,
i differ from Kenny. Using Anand , Binny VA and Praseed Pai (me) as examples of the people
are doing well in life despite the lack of a college degree,he seems to imply it to be a repeatable model. The flaw in his argument is he is citing some who have succeeded in whithering the storm. There are thousands who might have failed. One fellow infact talked sense there. His quote was as follows
( i do not know his name )
"if you have decided to choose your own path , it is more difficult to earn respect ...
if you go by conventional path you are confirming to what society expects.
They will automatically respect you"
I know couple of instances where people deliberately dropped out after hearing my story.
It nearly screwed their life. Stanford dropouts are dropping out from their Phd programs.
We should not equate a Stanford Phd drop out to some one like me.
( I dropped out because , i had difference of opinion with my father !! )
Session 3: Starting up - what no one told me by Rajesh Venugopal
The session discussed about his hard won (he had to sweat a lot ) experience
in running a start up. He highlighted the necessity of having a mentor ecosystem in
promoting entrepreneurship among the youngsters.
Comment :- It was a serious discussion about the uphill task of venturing to start your
own company. His metaphor of using an Oak Tree was really good. The art of procuring the
capital is only a beginning. We should run the business for some time ,before we think
of scaling up. The eight year time period to take some concern to a maturity level seemed
to confirm what i have observed. His slide on Hiring was really cool. The emphasis on
emotional intelligence is really good.The flip side of his talk was the session might
have scared away some wannabe enterprueners who were listening to him.
My suggestion to youngsters is work somewhere for couple of years to understand the industry and then take a break from there to venture into your own concern
Session 4: Do they serve Beer at the BarCamp - Arun basil Lal
It was an extempore presentation from a final year
B.tech student on the namesake of BarCamp. He also showed
two software systems for mind mapping and task management.
Comment:- it was an informative talk for most of the people who were
new to the Barcamps. The contagious enthusiasm of the presenter spilled
over to his audience as well. This was one of the most interactive
sessions in the BarCamp kerala 6 ( A session on security later was the
only which could rival it.)
Session 4: Pooling the Carpool by Anand
He outlined a system which could network a group of pumps to aid in helping
the tracking the car thieves.
Comment :- I was not in the hall when he was presenting.
Session 5 : Ethical Hacking - By Manu Sachria
A wonderful session which clearly spelled out the meaning of the word Hacker. He talked
about all aspects of the security industry. This includes certifications ,
Hacking techniques,SQL injection to steal credit card details,idioms ,
skill set required to be good in the industry etc..
Comment :- I had met this guy at OWASP meetup in Kochi couple of weeks back. In fact ,
primary reason for going to this barcamp (other than my presentation there ) was to
listen to this guy. Since he knew what he was talking about , the session was really
interactive. The questions were coming from all part of the hall. Even after his
presentation i saw people clustering around him. The SQL injection video was really
good. The info about ROE ( Rules of Engagement ) was new for me. His explanation of
Penetrating testing was really cool. It was a talk given by some one who has learned
his stuff by doing it.
Session 6: An Introduction to Drupal By Muneef Hameed
He talked about the Drupal content management system.
Comment :- Since i could not fully listen to him , i am not in a position to comment on
his talk. I asked him couple of things on his typographic activities. He participates in
couple of open source projects. Binny VA pointed to another guy. I was interested
in knowing about the True Type hinting. Hinting technology is based on some kind
of assembly like language. From him , i could learn that these people are doing
automatic hinting. A guy in Sri Lanka is the only one which he has heard doing
manual hinting. Font technology involves good use of Spline curve mathematics.
In fact , True type is using Quadratic Bezier curves to represent Glyphs. I had
written a True type renderer ( which ignored hinting ) for EDwin.
Session 7:- A short introduction to ILUG Kochi - Sameer
Mr. Sameer gave an introduction to the activities of Indian Libre software users group,Kochi.
He also showed a movie created using Open source tools like Blender , Gimp.
Comment :- The movie was really entertaining. I had worked with Blender software some
time back. The UI is little quirky. From Mahesh Aravind , i happen to know that they
are working on it. Does anyone know the Digital Compositing tool used for this ?
Session 8:- An introduction to Hello script - Binny
He presented a one hour method to learn any programming language. He demonstrated
this using Python as a case in the point.
Comment :- His method is really cool one. I had seen his presentation at the last ILUG
meetup in kochi on this. That time he showed Ruby. I borrowed his code and couple
of my friends also found it really useful. I am waiting for the day he extends this
to a functional programming language like LISP, Scheme or Haskell. For imperative
programming languages his scheme seems to be a wonder full recipe.
Discussions at the corridors of the seminar hall was another attraction for me.
BarCamp kerala 6th edition was held in the Rajagiri College of Engineering at Kakkanad ,
Kochi. The Campus is a cozy place ( i have seen such coziness only in the Cornell university Campus,Ithaca). The first thing which i come to notice was a pool full of swans. I could see a White Swan and not so White Swan (I did not see a Black swan..but the presence of a swans
were a Black Swan for me). I was the first to reach there around 8.15 am. Since one of my erstwhile colleague is a teacher there , i visited him first. From him , I learned that the Principal of the College also is an erstwhile colleague of mine. Both had worked with me in two different companies.
Around 8.30 am , the key people behind this event (Kenney,Anand,Niju and Deepu joseph)
arrived at the scene. As usual like any other Barcamp , people began to chit chat and take a
dig at each other.
Around 9.00, they started providing IPs (wireless connection ) for the laptops. Even though
thirteen sessions were listed at the Barcamp site , we could see only four people turning up
there to take sessions and another has promised to turn up in the afternoon.
Around 10 am , we started.
Session 1:- Biases and Fallacies - A Perspective By Praseed Pai K.T.
The session discussed about instances of Biases , Fallacies and Prejudices in areas
like Politics , Economics , Finance , Computer Programming , Intelligence test ,
Probability computations to name a few.
Comment :- Being a presenter of the session , i won't be an objective judge of the
quality of it. Based on the feedback i got from some , these are the reactions
A) Couple of them could not find how pieces of my presentation tied together.
B) Some said , it was jargon filled.
C) Some others were appreciative about the fact that the presentation could step
through provocative slides with ease.
D) Another group found it very interesting and asked some clarifications.
E) Last and but not the least , some found quotes on Gossip , Quiz brains amusing.
Session 2 : Voice Based Blood Search - A Proposal By Kenney Jacob
Mr. Kenny presented about a software ( a service ) which could link donors and people
who are in need for blood.
Comment :- When people talk about proposals , i am skeptical. The unique thing about
Kenny's talk was his group has already implemented the proof of concept application.
The discussion about the implementation of software was interesting. He mentioned about the
Asterisk Telephony platform and how this software was implemented. Some one raised a
question about the legality of this software. The answer from Kenney was that there is
nothing illegal about it.
Kenney talked about the Technology Evangelist Network (TEN) after his presentation.
The discussion drifted into the value of college education. In this thing ,
i differ from Kenny. Using Anand , Binny VA and Praseed Pai (me) as examples of the people
are doing well in life despite the lack of a college degree,he seems to imply it to be a repeatable model. The flaw in his argument is he is citing some who have succeeded in whithering the storm. There are thousands who might have failed. One fellow infact talked sense there. His quote was as follows
( i do not know his name )
"if you have decided to choose your own path , it is more difficult to earn respect ...
if you go by conventional path you are confirming to what society expects.
They will automatically respect you"
I know couple of instances where people deliberately dropped out after hearing my story.
It nearly screwed their life. Stanford dropouts are dropping out from their Phd programs.
We should not equate a Stanford Phd drop out to some one like me.
( I dropped out because , i had difference of opinion with my father !! )
Session 3: Starting up - what no one told me by Rajesh Venugopal
The session discussed about his hard won (he had to sweat a lot ) experience
in running a start up. He highlighted the necessity of having a mentor ecosystem in
promoting entrepreneurship among the youngsters.
Comment :- It was a serious discussion about the uphill task of venturing to start your
own company. His metaphor of using an Oak Tree was really good. The art of procuring the
capital is only a beginning. We should run the business for some time ,before we think
of scaling up. The eight year time period to take some concern to a maturity level seemed
to confirm what i have observed. His slide on Hiring was really cool. The emphasis on
emotional intelligence is really good.The flip side of his talk was the session might
have scared away some wannabe enterprueners who were listening to him.
My suggestion to youngsters is work somewhere for couple of years to understand the industry and then take a break from there to venture into your own concern
Session 4: Do they serve Beer at the BarCamp - Arun basil Lal
It was an extempore presentation from a final year
B.tech student on the namesake of BarCamp. He also showed
two software systems for mind mapping and task management.
Comment:- it was an informative talk for most of the people who were
new to the Barcamps. The contagious enthusiasm of the presenter spilled
over to his audience as well. This was one of the most interactive
sessions in the BarCamp kerala 6 ( A session on security later was the
only which could rival it.)
Session 4: Pooling the Carpool by Anand
He outlined a system which could network a group of pumps to aid in helping
the tracking the car thieves.
Comment :- I was not in the hall when he was presenting.
Session 5 : Ethical Hacking - By Manu Sachria
A wonderful session which clearly spelled out the meaning of the word Hacker. He talked
about all aspects of the security industry. This includes certifications ,
Hacking techniques,SQL injection to steal credit card details,idioms ,
skill set required to be good in the industry etc..
Comment :- I had met this guy at OWASP meetup in Kochi couple of weeks back. In fact ,
primary reason for going to this barcamp (other than my presentation there ) was to
listen to this guy. Since he knew what he was talking about , the session was really
interactive. The questions were coming from all part of the hall. Even after his
presentation i saw people clustering around him. The SQL injection video was really
good. The info about ROE ( Rules of Engagement ) was new for me. His explanation of
Penetrating testing was really cool. It was a talk given by some one who has learned
his stuff by doing it.
Session 6: An Introduction to Drupal By Muneef Hameed
He talked about the Drupal content management system.
Comment :- Since i could not fully listen to him , i am not in a position to comment on
his talk. I asked him couple of things on his typographic activities. He participates in
couple of open source projects. Binny VA pointed to another guy. I was interested
in knowing about the True Type hinting. Hinting technology is based on some kind
of assembly like language. From him , i could learn that these people are doing
automatic hinting. A guy in Sri Lanka is the only one which he has heard doing
manual hinting. Font technology involves good use of Spline curve mathematics.
In fact , True type is using Quadratic Bezier curves to represent Glyphs. I had
written a True type renderer ( which ignored hinting ) for EDwin.
Session 7:- A short introduction to ILUG Kochi - Sameer
Mr. Sameer gave an introduction to the activities of Indian Libre software users group,Kochi.
He also showed a movie created using Open source tools like Blender , Gimp.
Comment :- The movie was really entertaining. I had worked with Blender software some
time back. The UI is little quirky. From Mahesh Aravind , i happen to know that they
are working on it. Does anyone know the Digital Compositing tool used for this ?
Session 8:- An introduction to Hello script - Binny
He presented a one hour method to learn any programming language. He demonstrated
this using Python as a case in the point.
Comment :- His method is really cool one. I had seen his presentation at the last ILUG
meetup in kochi on this. That time he showed Ruby. I borrowed his code and couple
of my friends also found it really useful. I am waiting for the day he extends this
to a functional programming language like LISP, Scheme or Haskell. For imperative
programming languages his scheme seems to be a wonder full recipe.
Discussions at the corridors of the seminar hall was another attraction for me.
Labels:
BarCamp
| Reactions: |
Thursday, October 08, 2009
Munchausen Syndrome By Proxy
I was doing some reading regarding False Positives ( and False Negatives as well ). The famous case of Sally Clark was a classic case where a person who does not have good grounding in Statistics making a statistical judgment. The Jury got misled and the verdict went against Sally. The person who testified this was Sir Roy meadow. Incidentally , he is the researcher who discovered an anomaly called Munchausen Syndrome by Proxy.
I came across this in a Discovery channel program back in the year 2001. The disease is named after the legendary german soldier Baron von Munchausen. The term Bootstrap orginated from one of his tales.
I also revisited Bayes Theorom as part of this.
I came across this in a Discovery channel program back in the year 2001. The disease is named after the legendary german soldier Baron von Munchausen. The term Bootstrap orginated from one of his tales.
I also revisited Bayes Theorom as part of this.
Labels:
Probability and Statistics
| Reactions: |
Sunday, October 04, 2009
A fantastic book
After a long time , i went to the Aluva muncipal library yesterday. I took four books from there. The real goodie was a book by the title "Oxford book of Aphorisms". The book gives Quotes by various people on things like Nature , religion , Life , Success , Politics and Rulers to name a few.
apho·rism (af′ə riz′əm)
noun
- a short, concise statement of a principle
- a short, pointed sentence expressing a wise or clever observation or a general truth; maxim; adage
Labels:
Books
| Reactions: |
Subscribe to:
Posts (Atom)