Saturday, September 10, 2011

Why Logarithms

While preparing for Monday test on Mathematics, I reached topic on Logarithms and was quizzed as to what is the whole purpose of this mathematical concept. I found this link useful to understand it with some historical background and hence posting it here.


http://mathforum.org/library/drmath/view/52469.html

Friday, August 12, 2011

Advice for Students : Got to read in my spare time.

Nice Ones.

We should be taught not to wait for inspiration to start a thing. Action always generates inspiration. Inspiration seldom generates action.
- Frank Tibolt

It's amazing what you can accomplish if you do not care who gets the credit.
- Harry S. Truman 

The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt.
- Bertrand Russell

If a man will begin with certainties, he shall end in doubts; but if he will be content to begin with doubts he shall end in certainties.
-Sir Francis Bacon


The barrier for becoming an 'expert' is set so low that the only real requirement is a talent for self-promotion.
-Damian Thompson. Counterknowledge.


An undefined problem has an infinite number of solutions.
-Robert A. Humphrey 

Reference

People in Computational Geometry Area


Jeff Erickson - UIUC
http://cs.illinois.edu/people/faculty/jeff-erickson

UIUC Theory Group
http://cs.illinois.edu/research/areas/theory

Suresh Venkatsubramanian
http://www.cs.utah.edu/~suresh/web/

Thursday, August 11, 2011

Important Quote


Unfettered by the responsibilities of being an assistant, graduate life can seem rather uncomplicated. This is largely an illusion, though, since the toughest part of graduate school is study and research! 

Dianne Prost O'Leary 
Professor, UMCP

Reference

Wednesday, June 15, 2011

Additive Manufacturing

I have been following this new manufacturing technique for close to a year now. It is different in a way that you don't manufacture but you print your products. Its like, adding sand grains to create mountains.

Here's wiki link to talk more about it and GE's venture in this new technique.

In future , I look forward to writing & working in this domain and try my luck.

Wait for more.

Cheers
Amit


Tuesday, March 8, 2011

How to choose a good PhD advisor

I ran across this article sometime around October 2009 titled "The PhD journey: how to choose a good supervisor" by NewScientist and kept a pdf copy of it in my office computer folder. Today after cleaning my system to get ready for final exit day, I stumbled upon my saved file.

I know it is an imp article for me and I might loose it once again. To avoid it I am publishing it here for the benefit of all :-
Click Here

If you have any trouble getting to this article, please let me know and I will try to help you.

Enjoy,
Amit

Friday, January 14, 2011

What does "#! /usr/bin/ksh" mean?

I had my own share of doubts while dealing with Unix scripting. Every time I forget what should be my beginning line. If it is #! /usr/bin/ksh, isn't '#' suppose to mean comment in unix scripting language? If so, then how does the kernel understands what shell I want this program to be executed?

Crawling through web, I stumbled upon this webpage where the user answer's my doubt THE BEST way.


For the convenience of single page reference for myself and all, here's what Perderabo has to say

This will probably be more than you wanted to know, but here goes anyway....

Originally, we only had one shell on unix. When you asked to run a command, the shell would attempt to invoke one of the exec() system calls on it. It the command was an executable, the exec would succeed and the command would run. If the exec() failed, the shell would not give up, instead it would try to interpet the command file as if it were a shell script.

Then unix got more shells and the situation became confused. Most folks would write scripts in one shell and type commands in another. And each shell had differing rules for feeding scripts to an interpreter.

This is when the "#! /" trick was invented. The idea was to let the kernel's exec() system calls succeed with shell scripts. When the kernel tries to exec() a file, it looks at the first 4 bytes which represent an integer called a magic number. This tells the kernel if it should try to run the file or not. So "#! /" was added to magic numbers that the kernel knows and it was extended to actually be able to run shell scripts by itself. But some people could not type "#! /", they kept leaving the space out. So the kernel was exended a bit again to allow "#!/" to work as a special 3 byte magic number.
So
#! /usr/bin/ksh
and
#!/usr/bin/ksh
now mean the same thing. I always use the former since at least some kernels might still exist that don't understand the latter.

And note that the first line is a signal to the kernel, and not to the shell. What happens now is that when shells try to run scripts via exec() they just succeed. And we never stumble on their various fallback schemes.

I am going to explore more on this magic number now and if you would like to add your thoughts to this, please do in comments below.

Happy Reading,

Regards
Amit