Peter Linz
Wednesday, January 09, 2008
Favourite Quote for the Day
Loosely speaking we can think of automata, grammar and computability as the study of what can be done by computers in principle, while complexity addresses what can be done in practice.
Monday, January 07, 2008
Crazy mathematics
As I was shifting my books from one location to another, I found a big heap of books, I had not even started reading or looked at in detail. Being me, I got distracted by them and decided to at-least give them a chance to fulfill their destiny (to be read cover to cover by their owners or the friends of the owners).
I started with Tom Apostol's Mathematical Analysis. It is a wonderfully terse book and I found myself struggling by the time I reached the topic on "Point Set Topology". I had been through a quick journey of the past - real and complex numbers, sets and cardinality, prime numbers and many more things.
I also ran into the famous Cauchy-Schwarz inequality. I remember having proved the inequality in the exercise of Don Knuth's Art of computer programming volume I, but by now I had forgotten it all -- the sum manipulation, the whole of chapter 1 as hiding somewhere in my memory and seeking it was a hard/impossible task. This time, I found myself taking the help of a symbolic computation package - maxima. My dialog was as follows
(%i2) expand((a1^2 + a2^2)*(b1^2 + b2^2));
(%o2) a2^2*b2^2+a1^2*b2^2+a2^2*b1^2+a1^2*b1^2
(%i4) expand((a1b1 + a2b2)^2);
(%o4) a2b2^2+2*a1b1*a2b2+a1b1^2
(%i31) (a1^2 + a2^2)*(b1^2 + b2^2) - ((a1b1 + a2b2)^2);
(%o31) (a2^2+a1^2)*(b2^2+b1^2)-(a2b2+a1b1)^2
(%i32) expand(%);
(%o32) a2^2*b2^2+a1^2*b2^2+a2^2*b1^2+a1^2*b1^2-a2b2^2-2*a1b1*a2b2-a1b1^2
To cut the long output short, I ended up with Lagrange's inequality.
This is just a small part of the mathematics I have to (re)learn, there is also graph theory, game theory, probability theory, Markov chains and theory of computation.
All the mathematics is very exciting, but time consuming. I have loads of other information to read and digest. Let's see where all this I need to learn this crazy math attitude takes me.
I started with Tom Apostol's Mathematical Analysis. It is a wonderfully terse book and I found myself struggling by the time I reached the topic on "Point Set Topology". I had been through a quick journey of the past - real and complex numbers, sets and cardinality, prime numbers and many more things.
I also ran into the famous Cauchy-Schwarz inequality. I remember having proved the inequality in the exercise of Don Knuth's Art of computer programming volume I, but by now I had forgotten it all -- the sum manipulation, the whole of chapter 1 as hiding somewhere in my memory and seeking it was a hard/impossible task. This time, I found myself taking the help of a symbolic computation package - maxima. My dialog was as follows
(%i2) expand((a1^2 + a2^2)*(b1^2 + b2^2));
(%o2) a2^2*b2^2+a1^2*b2^2+a2^2*b1^2+a1^2*b1^2
(%i4) expand((a1b1 + a2b2)^2);
(%o4) a2b2^2+2*a1b1*a2b2+a1b1^2
(%i31) (a1^2 + a2^2)*(b1^2 + b2^2) - ((a1b1 + a2b2)^2);
(%o31) (a2^2+a1^2)*(b2^2+b1^2)-(a2b2+a1b1)^2
(%i32) expand(%);
(%o32) a2^2*b2^2+a1^2*b2^2+a2^2*b1^2+a1^2*b1^2-a2b2^2-2*a1b1*a2b2-a1b1^2
To cut the long output short, I ended up with Lagrange's inequality.
This is just a small part of the mathematics I have to (re)learn, there is also graph theory, game theory, probability theory, Markov chains and theory of computation.
All the mathematics is very exciting, but time consuming. I have loads of other information to read and digest. Let's see where all this I need to learn this crazy math attitude takes me.
Tuesday, January 01, 2008
Have a fantastic new year 2008
It's that time again, a year has gone by, brought happiness and sad moments, but it's gone! Remember to change the year in your dates, make new year resolutions, start afresh, be more positive, thankful and happy that we have a new chance to do/make things right.
HAVE A GREAT NEW YEAR and make every day count
HAVE A GREAT NEW YEAR and make every day count
Saturday, December 29, 2007
Rusting Knowledge
Over a period of time, it seems like a layer of dust covers your deep understanding and knowledge of a subject matter, where in once I was considered an expert. My knowledge is rusting and it's time to re-read some old classics and books I used to learn the subject matter from.
I've been trying to learn C#, Python, etc, but I realize that I need to revisit my C skills and my C99 knowledge base again. In summary, knowledge rusts over a period of time, specially the items not practiced very often.
Get ready to clear away the dust from your rusting areas as well, as I explore well known areas and newer areas with a "I used to know, but forgot" perspective.
I've been trying to learn C#, Python, etc, but I realize that I need to revisit my C skills and my C99 knowledge base again. In summary, knowledge rusts over a period of time, specially the items not practiced very often.
Get ready to clear away the dust from your rusting areas as well, as I explore well known areas and newer areas with a "I used to know, but forgot" perspective.
Monday, December 24, 2007
Digging out of history (longjmp is bad)
I had this program written out a long time back, it shows why some constructs are valid, but do not apply well today. In the evolution of C++, we've left behind some holes
1 #include <stdio.h>
2 #include <setjmp.h>
3 #include <string.h>
4
5 class C {
6 private:
7 char *ptr;
8 public:
9 C (const char *name) {
10 ptr = new char[strlen(name)+1];
11 printf("constructed C\n");
12 }
13
14 ~C () {
15 delete [] ptr;
16 printf("destroyed C\n");
17 }
18 };
19
20 void funfunction(jmp_buf env)
21 {
22 C c("Hello");
23 /*
24 * Do something, at the end expect destructor to be
25 * called
26 */
27 longjmp(env, 1);
28 }
29
30 int main(void)
31 {
32 jmp_buf env;
33 int ret;
34
35 ret = setjmp(env);
36 if (ret) {
37 printf("Looks like we jumped a long way\n");
38 return ret;
39 }
40
41 funfunction(env);
42 return 0;
43 }
See if you can find the obvious problem with this code
1 #include <stdio.h>
2 #include <setjmp.h>
3 #include <string.h>
4
5 class C {
6 private:
7 char *ptr;
8 public:
9 C (const char *name) {
10 ptr = new char[strlen(name)+1];
11 printf("constructed C\n");
12 }
13
14 ~C () {
15 delete [] ptr;
16 printf("destroyed C\n");
17 }
18 };
19
20 void funfunction(jmp_buf env)
21 {
22 C c("Hello");
23 /*
24 * Do something, at the end expect destructor to be
25 * called
26 */
27 longjmp(env, 1);
28 }
29
30 int main(void)
31 {
32 jmp_buf env;
33 int ret;
34
35 ret = setjmp(env);
36 if (ret) {
37 printf("Looks like we jumped a long way\n");
38 return ret;
39 }
40
41 funfunction(env);
42 return 0;
43 }
See if you can find the obvious problem with this code
Saturday, December 22, 2007
Sounds in my life
The gentle and shrill sounds in my everyday life, call my attention to them. In earlier days, the only sound that one would hear is of people talking to them, children playing on the street or a baby calling for Mama's attention.
Compare and contrast that with what we hear today; the sound of the TV, the microwave, radio, music player, sound of vehicles zooming on the street, vehicles blowing horns, the telephone, the cell phone trying to tell you someone wants to talk to you (even when you are in the restroom), this someone could be a pre-recorded sales call; the computer buzzing to tell you that someone is trying to reach you through instant chat, the courier person ringing the doorbell, the alarm-clock ringing on my cell phone
How am I supposed to listen to myself and others around me; with these distracting sounds calling for my attention. We have moved into a new era, where we need more sounds to tell us, that we are needed elsewhere. I need to filter these sounds, so that I can hear my heart-beat, the pin-drop and my those around me giggle and laugh.
Compare and contrast that with what we hear today; the sound of the TV, the microwave, radio, music player, sound of vehicles zooming on the street, vehicles blowing horns, the telephone, the cell phone trying to tell you someone wants to talk to you (even when you are in the restroom), this someone could be a pre-recorded sales call; the computer buzzing to tell you that someone is trying to reach you through instant chat, the courier person ringing the doorbell, the alarm-clock ringing on my cell phone
How am I supposed to listen to myself and others around me; with these distracting sounds calling for my attention. We have moved into a new era, where we need more sounds to tell us, that we are needed elsewhere. I need to filter these sounds, so that I can hear my heart-beat, the pin-drop and my those around me giggle and laugh.
Thursday, November 22, 2007
Guess what OS Don Knuth runs?
Check out http://www-cs-faculty.stanford.edu/~knuth/news.html
In the section "Wanted: A Name For High-Tech Grief" Knuth states and I quote
"I myself have often cried out for help to colleagues who have generously made house calls, in order to unwedge my highly customized Linux system"
We've known it for a while, looking at the customized fvwm2 configuration on Knuth's website, but it's good to see it in writing.
Some of you must be thinking, he has problems with Linux? We'll look at the keywords -- highly customized. Can't do that with other operating systems without hitting yourself in the head a few times or hitting your head against something. You don't hit yourself because your stupid, you do, because you brought the product :-)
Hmmm.... Now, if we can get everyone who has directly or in-directly been benefited from Knuth's work to run Linux, that would be a wonderful starting place. Of-course regular users are more than welcome to adopt and customize Linux.
Linux is a Trademark of Linus Torvalds
In the section "Wanted: A Name For High-Tech Grief" Knuth states and I quote
"I myself have often cried out for help to colleagues who have generously made house calls, in order to unwedge my highly customized Linux system"
We've known it for a while, looking at the customized fvwm2 configuration on Knuth's website, but it's good to see it in writing.
Some of you must be thinking, he has problems with Linux? We'll look at the keywords -- highly customized. Can't do that with other operating systems without hitting yourself in the head a few times or hitting your head against something. You don't hit yourself because your stupid, you do, because you brought the product :-)
Hmmm.... Now, if we can get everyone who has directly or in-directly been benefited from Knuth's work to run Linux, that would be a wonderful starting place. Of-course regular users are more than welcome to adopt and customize Linux.
Linux is a Trademark of Linus Torvalds
Tuesday, November 06, 2007
FOSS.IN delegate registration is open


Register at http://foss.in/2007/register/delegates/
The fee structure has changed this year. Do read the details before registering. This year we have project days and the main conference
Saturday, November 03, 2007
Talk at VTU
I gave a talk on Introduction to Operating Systems via EDUSAT. The lecture was broadcast to several universities via satellite. I had no live audience, but it was fun to speak into a camera. The video has been stored/archived for students to see later.
Here's a link to the slides
Here's a link to the slides
New Code in the Linux Kernel
I got some new code included into the mainline linux 2.6.24-rc1 kernel
cgroupstats - Is an infrastructure to allow sending control group statistics to user space using taskstats/genetlink
cpu_acct - CPU accounting subsystem for control groups
Worked on some other miscellaneous stuff as well. Overall, 2.6.24 was an interesting merge cycle, lots of new stuff went it. Check it out! Please do report regressions
cgroupstats - Is an infrastructure to allow sending control group statistics to user space using taskstats/genetlink
cpu_acct - CPU accounting subsystem for control groups
Worked on some other miscellaneous stuff as well. Overall, 2.6.24 was an interesting merge cycle, lots of new stuff went it. Check it out! Please do report regressions
A Quick Estimate
I was trying to estimate how long it would take for a timer, measured in nano-seconds using 64 bits would take to roll over. Here's my quick estimate
It would take 2^64/10^9 seconds = 2^64/2^9*5^9
Approximating on all calculations
= 2^55/5^9
5^3 = 125 ~= 2^7
5^9 = 2^21
= 2^55/2^21
= 2^34 seconds
2^34 seconds = 2^34/86500 days ~= 2^34/80*2^10 = 2^24/2^6 days = 2^18 days
1 year = 365 days, 3 years ~= 2^10 days
That leaves us with 2^8 years * 3 years
= 256*3 years before the timer overflows
With a machine, usually one would expect at-least one reboot in 800 years, if so, we would be fine for a long time to come.
See I need no calculator :-)
It would take 2^64/10^9 seconds = 2^64/2^9*5^9
Approximating on all calculations
= 2^55/5^9
5^3 = 125 ~= 2^7
5^9 = 2^21
= 2^55/2^21
= 2^34 seconds
2^34 seconds = 2^34/86500 days ~= 2^34/80*2^10 = 2^24/2^6 days = 2^18 days
1 year = 365 days, 3 years ~= 2^10 days
That leaves us with 2^8 years * 3 years
= 256*3 years before the timer overflows
With a machine, usually one would expect at-least one reboot in 800 years, if so, we would be fine for a long time to come.
See I need no calculator :-)
Saturday, October 27, 2007
FOSS.IN list of talks announced
Check out http://foss.in/2007/shortlist.php
The list of talks looks really good and I know a lot of people presenting at FOSS.IN. I am co-presenting on one topic. I'd say this year FOSS.IN is going to rock, so make sure your there.
The list of talks looks really good and I know a lot of people presenting at FOSS.IN. I am co-presenting on one topic. I'd say this year FOSS.IN is going to rock, so make sure your there.
Monday, October 08, 2007
India vs Australia (quick analysis)
India won the T20 world cup and became champions! The 50-50 games seem to be a different playing ground for the Indian Team. Have you been wondering why India did not fair so well, so far. Here's a quick layman analysis
Here's some advice for the Indian Team (given that Dhoni reads cricinfo, you never know if he might read this blog as well :-) )
- India have not been batting first, in all the T20 matches we won, we batted first!
- The team has changed and so have the rules. Instead of a powerplay for 20 overs with catch in fielders around, T20 has restrictions for just 4 overs. This makes a big difference to players like Sehwag and Gambhir, who I think are more suited to the field being well spread out (survive longer)
Here's some advice for the Indian Team (given that Dhoni reads cricinfo, you never know if he might read this blog as well :-) )
- Convert the 50-50 match to a 20-20 match, by keeping wickets in hand till the 30th over
- While batting second, get Dhoni in at #3, followed by Yuvraj at #4
- Get Dravid to Open the batting while chasing
- Tendulkar should come 4/5 down while chasing (when there is a mandatory ball change)
- Don't ever get Yuvraj to Bowl :-)
- While bowling first, attack aggressively, even if it means that more runs will be conceded
Friday, October 05, 2007
Memory Ordering (Recommended Reading)
I just finished reading this wonderful report on memory ordering. I highly recommend reading it. If you have anything to do with multi-core, multi-processor, parallel programming, you'll find the paper very insightful.
Other good to read papers/articles on memory ordering from Paul Mckenney are
Other good to read papers/articles on memory ordering from Paul Mckenney are
- C++ Data-Dependency Ordering. May 2007.
- Overview of Linux-Kernel Reference Counting. January 2007.
- A simple and efficient memory model for weakly ordered architectures. Makes case for weakly ordered primitives in programming languages. Updated May 2007.
Wednesday, September 26, 2007
Doing the simple things first
I've always been lost trying to understand and do the complex things. I just realized that I miss out on doing and enjoying the simple things in life. Note to self, remember this and change.
Tuesday, September 25, 2007
India are Twenty20 champs



No one expected it, but secretly hoped for it; and it has happened. India are twenty 20 world cup champions. Boy, has this been a good time for sports. For those of you who do indeed know that hockey is our national game, spare a moment for this picture as well

Spare some time and visit http://www.bharatiyahockey.org/ and http://www.indianhockey.com/.
Now shifting back to twenty20, India beat Pakistan twice and the second win won us the cup. Both matches were close, nail biting (warning: watch your hygiene) finishes. Surprisingly, India got extremely lucky and batted first in almost all their encounters which they won. The statistics show a remarkable quality, that has been missing before, this was a true team effort. Everybody chipped in; in the batting department, we had contributions from Gautham Gambhir, Virendra Sehwag, Robin Uttapa, Yuvraj Singh, M. S. Dhoni, Rohit Sharma (who incidentally is yet to be dismissed in this form of the game). Karthik was a weak spot in the team, but boy did he keep well in the game against South Africa. In the bowling department, R. P. Singh, Irfan Pathan, Harbhajan Singh and Sreesanth were the key contributors.
India's fielding has been quite good, thanks to the absence of Saurav Ganguly, V.V.S. Laxman and Munaf Patel.
I am sure Dhoni is thinking मै तो युहीं चाला था बिना जाने मंज़िल मगर लोग आते गये और कारवाँ बंता गया |
Well done, keep up the good work boys!
Tuesday, September 11, 2007
Containers update - more photos

The containers team - catching up in Cambridge
There is a containers update at http://community.livejournal.com/openvz/17964.html
More interesting math

I came across the The Encyclopedia of Integer Sequences and the really interesting web site on Mathematical Constants. I am currently reading A Passion for Mathematics by Clifford A. Pickover .
Subscribe to:
Posts (Atom)
privacy
Some of the policy from the app automation refers to https://rclone.org/privacy/ if you are a general blog reader, follow Google's polic...
-
(Photo from http://content-usa.cricinfo.com/indvaus2008/content/current/player/28114.html) Dravid's dismal form continues in test crick...
-
I've been a big fan of Skiena's Algorithm Design Manual , I recently found my first edition of the book (although I own the third ed...
-
The book is almost out there . There is code and selected solutions as well. The book is supposed to be in full colour from what I heard....
