Tuesday, March 17, 2009
Creating flash cards using Latex
Sunday, September 14, 2008
GatorMemo version 3.0 is ready !!!
It started out as Windows Form application which resulted in version 2.0. I feel the user interface is too complicated for normal user, so decided to build it again from scratch using WPF instead of WinForms. Functionally, there is no difference between these two versions (except WPF doesnt have facility to play audio/video files. I might add them as soon as I get time to work on it).
Suggestions:
1. Read a book, research paper, or go through lectures/podcast/videos, etc ...
2. Then, create a mindmap after completing understanding the topic. I usually refer to 3 or more books and then organize my thoughts into mindmap. I strongly suggest to put huge amount of efforts to create a good mindmap.
3. Now, create card for each node. Front side of card can be a question about the node or simply node name and Back side can be the answer or description about the topic that the node represents.
4. I recommend adding mnemonics and bibliography to mindmap and cards. Mnemonic will help you recollect the subject matter and Bibliography will be extremely useful if you are planning to write a research paper.
5. Periodically, revise the card by using the Autolearn under Action tab (This software uses SuperMemo algorithm developed by Piotr Woznaik).
6. I also suggest using Lateral Thinking especially if you are planning to write a research papers.
Here is link to setup version 3.0: (I encourage you to to use this version)
http://niketan2.googlepages.com/GatorMemoSetup.msi
You can import following file (see Action tab):
http://niketan2.googlepages.com/OSMindMap.zip to see how s/w works :)
It is still in Beta phase, so expect bugs / exceptions :) ... (Infact I am so busy with my studies/assignments, that I did not time to any kind of corner case testing). Please mail me if you find bugs and help me improve the software.
If you are interested in improving the software, go ahead and download the code and modify it.
Thursday, January 31, 2008
Remembering names of Indian states
Here is a simple way to remember all the states:
Btw, India is divided into 28 states and six union territories (Andaman-Nicobar, Daman-Diu, Chandigarh, Delhi, Dadara-Nagar Haveli, Lakshadeep and Pondicherry)
I have 3 mnemonics (Also see mnemonic for Periodic table)

(Ignore vowels)
1. JK par game kar ke Tao West Bengal gaye
(Jammu Kashmir, Punjab Rajasthan, Gujarat Maharashtra, Karnataka Kerala, Tamil Nadu Andra Pradesh Orissa, West Bengal)
Goa is below Maharashtra :)
2. HP hara MAC jhab UP UK gaye
(Himachal Pradesh, Harayana, Madhya Pradesh Chattisgarh, Jharkhand Bihar,Uttar Pradesh, UttarKhand)
Sikkim separates 1,2 from 3
3. Arun & Megha Assam trip mi nagmani ko dekha
(Arunachal Pradesh, Meghalaya, Tripura, Mizoram, Nagaland Manipur)
Sunday, July 29, 2007
Tech Savvy way of organizing ur notes
In One Note ( which comes along with Microsoft Office Enterprise 2007), you can record audio/video, make notes using stylus (u can use diff colours - hence can make a mindmap)
If you still prefer to study on paper, you can always take a printout
Positive points of this approach:
1. Organized in one place - hence very useful while commuting (if u r used to ebooks, its like carrying ur entire library, colour pens and notes along with u to college/home/office).
2. Can make easy backups (even store them permanently on Internet).
3. Can easily be integrated with Outlook (hence managing contacts/to do list/emails - very easy).
4. Writing on it ~ to writing on book (since stylus is magnetic, therefore placing ur hand over screen wont create a problem, but it may take some time to adjust)
Negative points:
1. Tablet PC - quite costly - (Price of Laptop with same config + 10 to 20k extra).
2. (If u like to study on paper), printer will add to ur cost.
3. What if ur tablet PC crashes and u dont have backup ???
4. Everything is not integrated (ie email, calendar, notes, etc...)
What I plan to do -
1. I already have a Laptop (hence buying tablet would be waste of money) which I will use for ebooks. I will prepare my mindmaps on papers and take pics using DigiCam or will use scanner. (therefore it will allow me to take backups of my mind maps easily (See: http://niketanpansare.googlepages.com/mindmaps)).
2. Taking printouts is very costly for Student and I prefer my mindmaps on paper rather than on PC.
3. Once I start working / earning, I will prefer this option as I will rarely use my mindmaps for more than half hour (I have worked as Software Developer and I know that u dont get time to revise ur mindmaps, nor can u carry them to ur office. Other than time, there is another factor - Uncertainty - u wont know for sure which Mindmap will u need today (unlike exams in college days))
Tuesday, August 29, 2006
Overview of C
C program is collection of translation unit combined through linking. A translation unit is also called as source file, which is collection of declarations.
Declarations are of two types:
- Block Declaration
- Function
- Block Declaration
- Specifier
i. Storage Class Specifier
It tells the compiler how to store the variables. Types of Storage Class Specifiers are
i. Extern
Extern is used to specify that object is stored with external linkage else where in program.
Generally extern declarations are put into header files that are just included.
Scope – Global, Lifetime – Lifetime of the Application.
ii. Static
Lifetime – Lifetime of the Application.
Static variables with block or function scope are called as static local variables.
Static variables with file scope are called as static global variables (ie internal linkage).
iii. Auto
All local variables are by default “auto”.
iv. Register
It tells the compiler that access to the object should be made as fast as possible.
If CPU registers are not full and object is small, then they are stored in CPU registers.
Register specifier can only be applied to local variables and formal parameters (and not to global variables).
Also, you cannot use ‘&’ operator, since they can be stored in CPU registers (which is not addressable like memory).
ii. Typedef
You can define new name for existing data type by using ‘typedef’ keyword.
Eg. typedef float BALANCE;
BALANCE a1,a2;
iii. Type Specifier
· Simple type Specifier
a. Four Basic Datatype
char, int, float, double.
Size – char is 1 byte while size of int is word length of execution environment. (ie for DOS – 16 bit, Win98- 32 bit).
void is either explicitly declared as return type of function or is used to create generic pointers.
C does not supports Boolean data type but it supports the concept through integer type.
Nonzero – true
Zero – false.
b. Modifiers
signed, unsigned, long, short.
· Class / Enum Specifier
a. Class i.e. struct, union
Semicolon separated list
b. Enum
Comma separated list.
· CV Qualifier
a. const
It tells the compiler that value cannot be changed by the programmer ie can be used only as rvalue.
In addition to basic data types, arrays, structures, unions can also be defined as const.
Pointer & const (3 situations):
1. Pointer constant
int* const ptr
2. Object constant
const int* ptr
3. Both constant
const int* const ptr
b. volatile
It tells the compiler that value of the variables can be changed in ways that is not explicitly specified by the programmer. (eg. variable can hold system clock, or port. So it tells compiler not to optimize certain expression).
Situation where both const and volatile can be used:
Value can be changed by external conditions only eg. value of the port.
const volatile char* port = (const volatile char*)0x30;
- Initializer-Declarator List
Can be comma separated eg. int a,b,c;
It is divide into two parts:
i. Declarator
· Identifier
Name of identifier has to follow four restrictions:
i. First character should be character or underscore. Remaining characters can be character or underscore or digit.
ii. Identifier in C is case sensitive
iii. Name of identifier cannot be a keyword.
iv. Length of identifier name:
a. Internal identifier – 63 characters
b. External identifier – 31 characters.
There are 32 keywords in C (auto, extern, static, register; char, int, float, double, void; signed, unsigned, long, short; typedef, struct, union, enum; const, volatile; case, default, if, else, switch, for, while, do, return, goto, break, continue, sizeof).
New context dependent keyword are introduced by typedef, struct, union, enum.
· Pointer Operator Declarator
Similar to Qualifier.
v. Initializer
It can be initializer list or assignment expression.
- Function
- Function Declaration
Contains only Header (which contains formal parameters)
int fn(char , int *, char []);
- Function Definition
i. Header
ii. Body
Is sequence of statements ie. Compont Statement.
Other types of statement:
· Labeled Statement
identifier : statement
Used for switch-
a. case const_expression : statement
b. default : statement
· Selection Statement
a. Two Way Selection
i. if, Nested else if, if else if ladder
ii. ? alternative
b. Multiway Selection
switch
(Generally has break after each case).
· Iteration statement
a. for
b. while
c. do while
· Jump Statement
a. return expression;
b. goto identifier;
c. break;
d. continue;
Difference between break and continue:
Break forces termination of loop and program control and resumes at next statement following the loop
Continue forces first statement of iteration to take place skipping all statements in between.
· Expression Statement
An expression is turned into a statement by placing a semicolon after it.
It completes any pending side effects and discards the expression value.
Null expression statement:
a; 3; ;
No value, no side effect and no compiler error
Expression:
It always reduces to single value.
It consist of :
· Variables
Variable is a named location in memory that is used to hold a value that can be modified by the program.
Information for compiler:
a. Type Qualifier (const, volatile)
It tells compiler how variables can be accessed or modified.
b. Storage Class Specifier (static, auto, register, extern)
It tells compiler how to store variables.
· Operators
a. Assignment
Variable = expression;
Multiple assignment possible (a=b=c=5;)
Compound assignment:
a+=b; x%=4;
b. Arithmetic
+ - * / % ++ --
% yields remainder of integer division (therefore cannot be used with float).
c. Relational & Logical
6 relational operator < > <= >= == !=
3 logical operator &&(AND) ||(OR) !(NOT)
d. Ternary
exp1 ? exp2 : exp3
exp1 is evaluated. If exp1 is true, exp2 is evaluated else exp2 is evaluated and that becomes the value of expression
e. Bitwise
f. Other operator
Sizeof, pointer( * , &), array ( [] ), comma, ( . ->), Parenthesis
Precedence of Operator:
Parenthesis Highest
Unary (Postfix, Prefix)
Binary (A, S, R, B, L)
Ternary
Assignment
Comma Lowest
Associativity
Only unary prefix, assignment and ternary are right associative. All other are left associative.
Other important points:
C Linkage:
- Internal Linkage – file scope objects declared static
- External Linkage – function and global variables
- No Linkage – Local variables (therefore are known only in block).
Declaration declares name and type of the object. Definition causes the storage to be allocated to the objects.
Generally, declaration of the object is also their definition. But if we precede the declaration with extern, we declare the variable without defining it. Therefore, a variable can have multiple declarations (using extern) but only one definition.
Saturday, July 29, 2006
Vedic Maths - Squares n Cubes
1. Squares:
1.1. Squares ending in 5:
Separate >> a | 5
Answer : a(a+1) | 25
Eg 352 >> 3 | 5 >> (3 X 4) | 25 >>1225
Sly, 452 >> 4 | 5 >> 20|25 >> 2025
1.2. General case:
Use Cross-multiply method of multiplication explained in previous post.
2. Cubes: (2 digit no >> ab3)
{a + b)3 = a3 + 3a2b + 3ab2 + b3
= a3 + a3(b/a)1 + a3(b/a)2 + a3(b/a)3 ……… (1)
+ 2 a2b + 2 ab2 …….. (2)
Modus Operandi:
i. Split no as a | b
ii. Find a3 and ratio b/a
iii. From this we get eq (1) by
We get next no by multiplying current no by the ratio b/a.
Left most no is a3.
iv. We get eq (2) by multiplying middle two terms of eq (1) by 2
v. Add only corresponding terms.
Eg. 273
Here a = 2, b = 3
Therefore, a3 = 8 , b/a = 7/2 (=3.5)
Therefore eq (1) = 8 | 28 | 98 | 343
(8 X 3.5 = 28, 28 X 3.5 = 98, 98 X 3.5 = 343)
eq (2) = | 56 | 196 |
(28 X 2 = 56, 98 X 2 = 196)
Sum = 8 | 84 | 294 | 343
Since only 1 digit can be inside on bar, carry forward
8 | 84 | 294 | 343
8 | 84 | 328 | 3
8 | 116 | 8 | 3
19 | 6 | 8 | 3
Therefore, 273 = 19683
Thursday, July 27, 2006
Vedic Arithmetic Part 2: Multiplication
1. Multiplier is 9, 99, 999, 9999, ….
17 X 9 = 153, 17 X 999 = 16983
Here, we treat 17 as m (multiplicand) and 9, 999,…. (multiplier) as n
1.1. no of digits of n >= no of digits of m
Answer : (m – 1) | (n - LHS)
eg. 17 X 999
Answer: (17 - 1) | (999 - LHS) >> 16|(999 - 16) >>> 16983
Sly 17 X 99 >> 16|(99-16) >> 1683
1.2. else
Therefore we split m into p|q where no of digits of q = no of 9’s in n
Answer : (m - 1 - p) | (n + 1 - q)
Eg. 177 X 99
Split >> 1 | 77
Answer: (177 – 1 - 1) | (99 + 1 - 77) >> 175|23 >> 17523
Sly, 243 X 9 >> 24 | 3 >> (243-1-24)|(9+1-3) >> 218|7 >>2187
2. Multiplier = ca, multiplicand = cb & a+b = 10, 100, 1000, ….
ie total of last digits is 10, 100, 1000, … & whose prev part is exactly same
Answer: c(c+1) | ab
Eg. 237 X 233
Here c = 23, a = 7, b = 3
Answer: 23 X 24 | 7 X 3 >> 552 | 21 >>55221
Sly, 54 X 56 >> 30|24>>3024
3. Multiplicands & multiplier are near base
Find 2 small multipliers($) with signs
3.1. Base is 10, 100, 1000, ….
Answer: (base+ sum of 2 small multipliers) | (product of 2 small multipliers : Note base)
For, 97 X 105,
Base is 100, and $ are -3, +5
Answer: (100 + (-3+5) ) | -15 >> 102 | -15
To remove –ve, take carry :: 101 | (100 -15) >> 101|85 >> 10185
Sly, 102 X 103 >> 105|06 (Since base is 100, therefore 2 digits after |)
3.2. Else (working base (wb))
Multiply or divide only LHS of answer
(if wb is greater,multiply else divide)
I always prefer to keep wb greater.
Consider 31 X 33
Here wb is 30 (& base is 10), $ are +1, +3
Therefore, (30+1+3) | 3 >> 34 | 3
Since wb greater, multiply by 30/10 = 3
Answer: 34X3 | 3 >> 102 | 3 >> 1023
4. General case : Cross Multiplication
4.1. 2 digit multiplication
ab X cd >>> ac | ad+bc | bd
Eg. 23 X 12 >> 2 | 4+3 | 6 >> 276
4.2. 3 digit multiplication
abc X def >>> ad | ae+bd | af+dc+be | bf+ce | cf
Eg. 103 X 143 >> 1 | 4 | 6 | 12 | 9 >> 14729 (1 carried forward)
Monday, July 17, 2006
Overview of Mathematics

Above mindmap classifies Maths into four field:
1. Quantity
Here we identify what number is. ie. we are dealing with real axis
This branch of Maths has to do with calculation. eg. If I buy a cake worth of Rs. 45 and give you Rs 50 note , you will have to give me Rs. 5 back .
2. Structure
This branch deals with relation between number. eg. If x=1, y=3; then x+y=4
(Assume we have 2 or more nos on same real axis interacting with each other)
3. Space
Here we bring into another axis. This branch deals with measuring land. Therefore, here basic unit is a point which is ordered pair of 2 nos.
4. Change
This relates with function that shows change.
(Please see Wikipedia for more detail)
If you want clickable imagemap-html of above mindmap, please leave your email id in comments.
Thursday, July 13, 2006
Vedic Arithmetic Part 1
1. Digital Root
How to evaluate it --
a. Adding digits
eg. 2351068
Digital root is 2+3+5+1+0+6+8 = 25, 2+5=7
b. Casting Out nines
eg. 2351068
Cast out 3,6 ; 1,8 ; 0 (since their sum is 9) (Here 9 ~ 0)
Therefore digital root is 2+5 = 7
Use :
Used to verify addition , Subtraction and multiplication
Rule: Digital root is preserved during above operation.
eg:
Addition
981723 + 54281 = 1036004
Digital root::
of 981723 is 3
of 54281 is 2
of 1036004 is 5 (which is 3+2, therefore our answer is correct)
Multiplication
213 X 121 = 25773
Digital root ::
of 213 is 6
of 121 is 4
of 25773 is 6
6X4=24 (whose digital root is 2+4=6 , which is same as that of 25773, therefore our answer is correct)
Sunday, July 09, 2006
Mind Map -- Yoga
Yama - ethical restraints
Niyama - ethical observances
Asana - postures
Pranayama - breath and prana control.
Pratyahara - control of the senses by the withdrawal of prana from them
Dharana - single-point concentration
Dhyana - unbroken concentration (meditation)
Samadhi - superconsciousness
Mindmap
(Click on image)

Please see Wikipedia for more detail.
Saturday, July 08, 2006
Remembering Periodic Table
You need to know Hindi to remember it. (Sorry for my non-Hindi speaking friends - u have to come up with your own mnemonic).
Also it has been 3 years that I have not revised it yet, so I don't remember La-Ac series. I should have wrote it down :-(
(Click on Image)

Columnwise --
Hritik aur LiNa KaRtab dekhene Circus me Fhire.
(H Li Na K Rb Cs Fr)
Beta Mange Car Scooter Baap Roaye.
(Be Mg Ca Sr Ba Ra)
Scooter Yamaha Lagao Ac.
(Sc Y La Ac)
Tiwari Zara Half Rose-falooda Lana.
(Ti Zr Hf Rf)
Valia Nimboo ne Tapad kHaya.
(V Nb Ta Ha)
Crow....Ulta M by Sugrive.
(Cr Mo Sg)
Mange Tc Railwe ticket uNse.
(Mn Tc Re Ns)
FeRuOs -- Harsh (Chemistry class -- what is iron called ???)
(Fe Ru Os Hs)
(Then Niketan went on expedition to find Copper)
In village CoRhIri (corhiri),
(Co Rh Ir)
Niketan ne Ped pe bethe Popat se pucha ???
(Ni Pd Pt )
He said Copper(Cu) Aage Aur hai.
(Cu Ag Au)
But there he only got Zinc Cds Heather graham (known for her bold scenes).
(Zn Cd Hg)
Bola Alladin Gana Inka Talo.
(B Al Ga In Tl)
Captain Siraj Gela Sanki Pabal (respelling of pagal).
(C Si Ge Sn Pb)
Nana Patekar Agnisakshi Se bana Billionaire.
(N P As Sb Bi)
O Style Se phanta Tee-shirt Polo.
(O S Se Te Po)
For Cluch and Break Install At&T. (v famous company - At&T Bell Labs)
(F Cl Br I At)
Helen Ne Arbaaz aur Kareena ka Xe-ray Roentgen(Rn) se karaya.
(He Ne Ar Kr Xe Rn)
Actually there is idiotic story associated with each line or groups of line
eg -
A son ask Dad for Car and Scooter. After hearing this Dad starts to cry. Not only this Son insist for putting AC in Yamaha Scooter :-) On this Dad ask his servant Tiwari (he was my Physics prof during college -No offense intended) to bring half Rosefalooda (since he could not afford full due to ever increasing demands of his son) . Finally Dad gets really frustrated and slaps his son (Nimboo Valia - My friend Harsh Valia, boisterous boy. His pet name is Iboo but we used to tease him as Nimboo)
Village teacher had an unusual way of teaching his student. He used to teach alphabet using names. eg A for Atmaram,.. So when he reaches alphabet O, he writes W and ask "What is this?" He didnot expect any answer since he had not taught that letter. But one person Sugrive answers "Its Mangalram but is tied upside down" :-)
So on ....
This was Mnemonic for Columns.
To remember sequence of columns (ie rows) :
Lisa and Beny Both Came to Nine instead Of Five
(Li Be B C N O F)
Sodium(Na) and Magnesium(Mg) All Sick People Sat Closely)
(Na Mg Al Si P S Cl)
KC college of Arts and Science took Tiwari Valia who was Crying for Money and Fame to teach Conic aur Zn
(K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn)
My point here is almost anything can be learnt it we have childish attitude (by this I mean Inquisitiveness, Simplicity, Playfulness,...).
Thats all folks !!!
