Sunday, 2 November 2008

20/20 for 20

If you are a cricket enthusiasts then you must have heard about it, 20/20 for 20, the Texan billionaire Sir Allen Stanford has offered 20 Million US Dollars for a one off game between England and WI Super Stars (Stanford Super Stars). This was the highest money on stake for single game in history so far. England were the obvious favourite, the talks for Pink Ferrari, Porsche, villas, secure future and of course a bit of charity work were in air for England, but as it is said "Cricket is cruel funny game.." and so it is, the underdog belted the favourites and they have done that comprehensively. England were restricted to meagre 99 all out in 19.5 overs and the Super Stars achieved the target easily with plenty of time to spare and so the dreams of England players winning the 1 Million US Dollars for 3 hours efforts were dashed but on the other hand many were Millionaire in 3 hours.

Right after the match England captain Pietersen blamed "some nonsense" for the bad performance of the English team. "There's been a lot of nonsense this week, and we haven't concentrated on the cricket. We've got to focus on that, and we're going to have to buy into this sort of tournament a lot more next time"  (Probably the heat of moment, he could not control his emotions.)

P.S:
1. During the match one of the commentator commented "Rather than Pink Ferrari they should resort to Pink Toy Bicycle..."

2. 1st Nov is also the Independence Day for Antigua.

3. Super Stars required 100 Runs to win 20 Million and that make it 200,000 $ for each run.

Friday, 10 October 2008

And at last the Semester Ends......

And at last the Summer Semester 2008 ended. (take long breath), so many exams and with killing gaps between each, though provided time for study but were also source of distraction, it all started in mid July 3 Seminar presentations, one German language exam and one report writing assignment. In August it was German language course and of course its two mandatory exams. Then came the month of September (to be more accurate Ramadan) along with 3 exams spread acorss the month. In October luckily it was only one exam and my semester ended yesterday. The Eid was sandwiched between last two exams. Now as all exams are over, no more tests, no classes till 20 Oct, all of sudden its started to get boring. The charm of reading online news and editorial, the fun of watching youtube clips, the cricket updates on cricinfo, the search for Manto's Toba Tek Singh (for reread), Faiz ba zuban-e-Faiz, the unread part of The Great Inquisitor, reply to Aamir's blog*, the continuation of vehement discusion with him(Amir) and so many other things have lost the charm in a single day.

*Aamir is a close friend and is multi talented person, being belonging to different school of thoughts on almost all issues we are always involved in hot discussions, on my saying he has started to write a blog and ...........,  the blog is  here

Monday, 29 September 2008

An Adventurous Language-I

As I mentioned in my earlier post it is more than important to learn and learn well the German language for an eventful stay in Germany; the stay may still be eventfull in other case but may not be pleaseantly eventful. In the last semester (Summer 2008) I embarked on improving my German language skills. The journey (hard and fought) was two act play.

The initial attempt was non intensive, twice a week course. The class size was good for individual to ask questions and discuss and the environment was freindly enough. As the class progressed our ideas about the language started to evolve like a sine function, somoetimes we thought its that easy and other times it seems above our intellectual abilities to learn it. The later thought overpowered the initial thinking more frequently. The first time I feel that its hard when I learnt that there are three types of gender for classification of each noun. Unlike English where we use “the”, in the German we have three variations der – for masculine, die – for feminine and das – for neutral. But the problem is that it is not the actual noun (person or place) that has gender but infact the word that is used to represent that noun.For instance one common example that is used in this regard is that of car, its has two words Auto and Wagen, but the interesting thing is that auto is das Auto (neutral) and wagen is der Wagen (masculine). In addition it is also mandatory to capitilize noun, so if you ever happen to read a German transcript then do not confuse the capitalization of nouns with proper noun. The first exam happened to be total disastrous as I struggle to remember the articles (die der das) for nouns. Second exam was good as there were no more articles and we moved on to some more advance materials.

In August I took the second course, it was four week intensive course. This time our class was truly a global class, whole of the world was somehow represented. From far East Asia to Europe, Australia to South America and from Africa to United Sates; a blend of all cultures. As the language course was intensive so I got the opportunity to practice it more and slight improvement was also made. It was amazing to learn about the cultures and tradition of so many different nations and to know “How do we do that….” was good addition to experience. The claim that I improve my German can be substantiated on the fact that at the end of the course I was able to understand a German song . The song was quite simple and when hearing we were having the lyrics of the song so it was not that diffiult to understand what the singer was trying to convey. By the way the song title was “Willst du mit mir gehn?” The video is as below and the German lyrics are here and English translation can be found here.

Wednesday, 17 September 2008

Engineering a Cache Oblivious Sorting Algorithm

(The report below was submitted in my Seminar on Algorithm Engineering, the paper was written by Brodal et al. Here I have presented why do we need cache oblivious algorithms and description of the two important cache oblivious sorting algorithms i,e Funnel Sort and Lazy Funnel Sort  followed by improvement as suggested by the authors for implementation of Lazy Funnel Sort).

The pdf version of the document can be found here.

1.1 Algorithm Analysis:
One of the most important considerations in the design of the algorithm is the efficiency. There are three general ways to measure the efficiency of algorithms. These include experimental analysis, average case and worst case analysis. The last two approaches are purely theoretical and do not consider the real world scenarios and does not consider factors that may affect the running time of algorithm. But the advantage of theoretical analysis is that it analyzes the algorithm independent of the hardware architecture on which the algorithm will be implemented, thus providing an insight into running time of algorithm independent of the hardware architecture. Hence it becomes really difficult to rely on single model for algorithm complexity. So we have to rely on experimental results as well to gauge the effectiveness of the algorithm in real world scenario.

When we consider the actual running time of an algorithm, then the memory system of computer has significant effect on the running time. It means the memory access time plays an important role in overall running time of algorithm, the latency associated with transfer of data from higher level to lower level, for example from Hard Disk to RAM or from RAM to Cache. In order for the algorithm to perform better in real world scenario it has to minimize the latency involved. Though the CPU speed is increasing following the Moore’s Law (The number of transistor on single chip doubles every eighteen months) , the same performance increase in the RAM is not visible. As per a study [1] the increase in speed of CPU and RAM is 55% and 7% respectively per year and this results in wide CPU-RAM performance gap. The figure below illustrates the gap more illustratively:
Fig 1: CPU-RAM Performance Gap
For more precise analysis of algorithms, the computational models must consider the memory architecture and factors such as hierarchy of memory, latency etc. We will discuss the model later but before that we need to understand the memory hierarchy of simple computer.

1.2 Ideal Cache Model
Let us consider a simple computer with two level of memory hierarchy as shown in the figure 2 below:


Fig 2: A Simple Computer with Two Level of Memory Hierarchy
We assume that Main Memory (RAM) is of arbitrarily large size, cache is partitioned into small blocks called “Cache Line” and each cache line consists of “B” consecutive locations. Data from main memory to cache is transferred in form of blocks such that size of each block is “B”. The total size of cache is “M” so there can be a total of M/B cache lines. We work on assumption of tall cache, which means that M >B2. A cache hit occurs whenever data referenced by CPU is present in the cache and if the data is not present in cache and it has to be fetched from main memory then it is referenced as cache miss. We also assume that there is an optimal offline strategy for cache line replacement.

As for as the complexity in ideal cache model is concerned, there are two approaches:

·         Work Complexity, W(n),  which is conventional running time in RAM

·         Cache Complexity, Q(n, M, B), the number of cache misses as function of M and B.

Where

                n = input size

1.3 Cache Aware Vs Cache Oblivious Algorithms
Cache Aware and Cache Oblivious Algorithms are two different attempts that have been made to reduce the gap between actual running and theoretical running time of algorithms. The cache aware algorithms are based on parameters that can be tuned to optimize the cache complexity, these algorithms have prior knowledge about the size of cache and block etc and in practice are designed to for two known level of memory hierarchy. This makes them sub optimal for other memory levels and they often do not perform well.
In contrast to Cache Aware algorithms, Cache Oblivious algorithms have no prior information about the hardware parameters like cache size etc.

1.3.1 Advantages of Cache Oblivious Algorithms:
  • The algorithm performs significantly better even without having any prior information about characteristics of memory hierarchy.
  • There is no need to hardwire the memory characteristics in algorithm.
  • Optimizing algorithm for one unknown level optimizes it for all levels.
  • Cache Oblivious Algorithms are more robust and portable and thus are useful for development of software libraries.
1.3.2 Design Technique for Cache Oblivious Algorithm
One of the main techniques used to design cache oblivious algorithm is Divide and Conquer [2]. As like in traditional divide and conquer approach, the problem is divided repeatedly into small problems till a base case is achieved. In cache oblivious algorithms base case is reached when the sub problem is easily solvable, that is the sub problem should not cause cache miss and should fit in cache.

1.4 Cache Oblivious Sorting Algorithms:
Sorting algorithm is one of the most comprehensively researched topic in classical computer science. Sorting is being used in many of the graph, geometric and scientific applications as sub-routine. This means that efficient sorting algorithms will obviously increase the efficiency of the whole application. There are several Cache Oblivious Sorting algorithms presented; most notable of them are Funnel Sort[3], Lazy Funnel Sort[4] and Distribution based sorting algorithm[3].

1.4.1 Funnel Sort
Funnel Sort was the first cache oblivious sorting algorithm presented by Frigo et al[3].  The asymptotic working complexity of funnel sort is O(nlogn) where as if tall cache assumption holds then cache complexity is O(N/B logM/BN/B). The K-Funnel form the basis for the Funnel Sort.

A K-Funnel merges K3 elements at single invocation and consists of √K funnels at bottom; each bottom funnel is connected to top funnel via √K buffers. Figure 3 shows a 16-funnel with 16 input streams.
Fig 3: A 16-funnel with 16 input streams
Funnel Sort is laid in memory via van Emde Boas (vEB) layout; it means that first top tree “R” is laid out in memory followed recursively by B0, L0, B1  and so on. The buffer size (B0, B1, B2, B3) is double than that of the input streams to accommodate the output arising from there. For initial invocation there must be K2 elements in input buffer but as the merging progresses there can be lesser and lesser elements. If at some instance there are not sufficient input elements to satisfy the K3 condition then it simply outputs what is there.

Complexity of Funnel Sort:
The cache complexity of funnel sort is O(N/B logM/BN/B).
Where

N = Input size
M = Size of Cache
B = Size of Block (line)
N/B = Total number of blocks transferred from higher level memory to lower level, so we have N/B blocks in cache to sort, similarly N/B can also be the maximum number of cache misses.

Drawbacks of Funnel Sort:
  1. In practice it is not always possible to split K-Funnel into √K bottom funnels, it may lead to rounding errors.
  2. The flow of data is not efficient as the both the buffers must be filled before a merge occurs (except for the last when there is no more input stream available).
  3. vEB layout performs well for binary trees but does not perform well for complex data structures.
1.4.2 Lazy Funnel Sort:
In an attempt to eliminate the drawbacks of Funnel Sort, a variant of Funnel Sort called Lazy Funnel sort was introduced[4]. Lazy Funnel sort is based on binary mergers which takes two input streams as input and deliver the output as merged sorted stream.  Invocation of merger occurs through a recursive procedure which ensures that either the output buffer is full or both input streams are exhausted. 
The algorithm is given below:

Procedure Fill(v)
while out-buffer not full
if left in-buffer empty
Fill(left child)
if right in-buffer empty
Fill(right child)
perform one merge step

The procedure Fill() checks the emptiness of buffers rather than the fullness as in the case of Funnel Sort, and perform one merge step afterword.

In Lazy Funnel sort, K-merger is the basic data structure used.  A K-merger is perfect binary tree with “K-1” binary mergers and output buffer at the root of size Kd, where d>1.
The following figure shows a 16-merger with 15 binary mergers.

Figure 4: 16-Merger with 15 binary mergers.

For sorting N elements, lazy funnel sort recursively sort N1/d  segments each of size N1-1/d. N1/d mergers are used for merging process.

The lazy Funnel Sort removes the drawbacks of Funnel Sort, for example the need to have √K bottom funnels is replaced by binary mergers, this also provide an easy and efficient implementation using vEB layout which is best in representing binary trees.

1.5Problem Statement
To explore a number of implementation issues and parameter choices for cache oblivious sorting algorithm and settle the best choices through experiments.

2Engineering the Algorithm
In this chapter, the choice for the algorithm is made, then it is discussed how the said algorithm can be optimized by tuning different parameter choices. First it is discussed which algorithm is best choice for tuning and then steps for the tuning are discussed.

2.1Methodology:
First the concentration will be on selecting an optimal algorithm for cache oblivious sorting. After the selection of algorithm, the fine tuning of the algorithm will be conducted by varying different parameter values and examining its running time. The best parameter choices will then be used to construct the most optimal sorting algorithm. After the construction of most optimal cache oblivious sorting algorithm, it will be tested against a number of present day algorithms and the running time will be observed on different hardware architectures. Figure 5 provides details of different hardware architectures used.
Figure 5: Specification of Machines.

2.2 Selecting Cache Oblivious Sorting Algorithm
There are three approaches for cache oblivious sorting algorithm, namely Funnel Sort, Lazy Funnel Sort and Distribution based Algorithm. All the three have same optimal bound O(N/B logM/BN/B)  but the fact is that Funnel Sort and Distribution based Algorithms are structurally more complex than Lazy Funnel Sort, so Lazy Funnel Sort is the algorithm selected based on the structural simplicity.

2.3 Optimizing Lazy Funnel Sort
To optimize Lazy Funnel Sort some of its parameters and design issues can be tuned to get optimum results, some of these choices include:
  • K-Merger Structure – How should the funnel be laid out in memory?
  • Degree of Basic Merger—Is binary merger the optimum choice?
  • Parameter α and d?
  • α and d are variables that effect the output buffer size αKd
2.3.1 K-Merger Structure:
The optimal choice to represent funnel in memory happened to be vEB layout, similarly best results were obtained when recursive invocation was used instead of iterative method.  Further the pointer based invocation produced better results than implicit navigation.

2.3.2 Degree of Basic Merger:
The experiments showed that instead of using two way basic mergers, four way merger produced better results.  The obvious reason for this is that four way mergers eliminate every other level in tree and thus reducing the overall flow of data.

2.3.3 Parameter α and d:
Experiments were performed to find the optimum choice for α and d. Different combinations were checked for d = [1.5;3] and α= [1;40]. The optimum results reflected from the experiments were α≈16, d ≈ 2.5

2.4 Implementation of Lazy Funnel Sort:
After performing the experiments to find the optimal choices for different design and parameter choices, the optimum Lazy Funnel Sort was implemented.  As the original version of Lazy Funnel Sort uses binary merger so it was decided to implement two version FunnelSort2 and FunnelSort4 for binary and 4 way basic merger respectively with the following values:

  • Recursive implementation of pointer based vEB layout.
  • (α,d) = (16, 2)
2.5 Selecting Competitors for Lazy Funnel Sort:
The competitors selected are:

  1. Quick Sort implementation
  • std::sort, for STL library of GCC v 3.2 (GCC)
  • std::sort, for STL library of Intel C++ v 7.0 (Dink)
  • Authors own implementation based on Bentley and McIlroy (Mix)
    2.   Cache Aware Sorting Algorithm
  • TPIE sorting routine AMI_SORT
  • R-merge
  • msort-c
  • msort-m
TPIE is library for external memory computation and are the algorithms are highly optimized.  R-merge is also a cache aware algorithm. The other cache aware algorithms selected are msort-c and msort-m [5].

3. Experiments and Results:
3.1 Experimental setup:
The experiments were performed on entire data being in RAM as well as on inputs residing on disk. The experiments were performed 21 times and median was reported. In external memory the experiments were performed only once.

3.2 Results
3.2.1 Lazy Funnel Sort Vs QuickSort
Lazy Funnel Sort performs better on small input sizes in RAM but looses to GCC QuickSort by 10-40% but on larger input sizes the gain ratio of lazy funnel sort is almost the same against the competitors on three architectures. The two architectures where Lazy Funnel Sort was outperformed  by GCC were MIPS 10000 and Pentium 4. The justification for the better performance of GCC on MIPS is that MIPS has slow processor speed and Pentium 4 is using PC800 bus which causes a delay in access time to RAM.

3.2.2 Lazy Funnel Sort Vs Cache Aware Sorting Algorithms
Lazy Funnel Sort performs better against two of the cache aware sorting algorithms msort-c and msort-m. Against R-merge Lazy Funnel Sort performs better on all architectures except MIPS. The obvious reason for this is the fact that MIPS is RISC based architecture having large number of registers, something which R-merge is designed to exploit.

Similarly for the experiments performed on disk, TPIE leads the way. FunnelSort is second and performs better than GCC. The performance gain over GCC increases as the input size grows.

Fig 6: Results for experiments performed on Pentium III

3.3 Conclusion
A careful implementation of Lazy Funnel Sort performs better in most of the experiments. It was also observed that in situation when Lazy Funnel Sort was outperformed by the competitors it was not by high margin and Lazy Funnel Sort was second best. Similarly Lazy Funnel Sort was also competitive on both RAM and disk and was the best algorithm to adapt to changes in memory hierarchy.

References:
[1] Frederik Ronn, Cache-Oblivious Searching and Sorting, Master's Thesis, Department of Computer Science, University of Copenhagen, 2003

[2] E. Demaine, Cache-Oblivious Algorithms and Data Structures, Preliminary lecture notes - handed out at the EFF Summer School on Massive Data Sets. June 27-July 1, BRICS, University of Aarhus.

[3] M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. In 40th Annual Symposium on Foundations of Computer Science,pages 285–297. IEEE Computer Society Press, 1999.

[4] G. S. Brodal and R. Fagerberg, Cache-Oblivious Distribution Sweeping, Proceedings of the 29th International Colloquium on Automata, Languages, and Programming, Lecture Note in Computer Science 2380, Springer-Verlag (2002), 426-438.

[5] L. Xiao, X. Zhang, and S. A. Kubricht. Improving memory performance of sorting algorithms. ACM Journal of Experimental Algorithmics, 5(3), 2000.

Saturday, 21 June 2008

Euro 2008 as it is unfolding...

And we are into the knockout phase of the Euro 2008. The initial round saw the elimination of both hosts, the formal World Champion France and the defending Champs Greece. Portugal, Croatia, Netherlands and Spain marched into the quarterfinals as group leaders while Turkey, Germany, Italy and Russia advanced being the runners up in their respective groups.

The first quarterfinal was played between Portugaland Germany.The odds were against Germany and Portugal started off as favourites. The sympathies of non Germans were with Portugal as well but Germany did perform well and defeated the Portugal 3-2. Bastian Schweinsteiger, Miroslav Klose and Michael Ballack scored one each to see them through
to Semis.

The second quarter final was sensational, played between Croatia and Turkey. Croatia was all settled to book their place against Germany when Ivan Klasnic headed the cross in to goal in the 119th minute. No body would have fancies Turkey chances at that time, however as they have did in the last couple of games, they rebounced and Semih Sentürk scored the equalizer in the stoppage time and it was left to penalty shoot outs. The last minute goal shattered the dreams of Croatia and their body langauge suggested that they were down with confidence. They fired two shots wide of goal post and the other was saved by Rüstü to make it 3-1 in favour of Turkey.

The third quarterfinal was between Holland and Russia. The city of Basel was overcrowded with around 80,000 orange shirts, few days back the Bern was hosting the 80,000+ Dutch fans (the population of Bern is around 120,00). Holland, who bulldozed all opponents to make it into the knockout stage was stunned by goal from Roman Pavlyuchenko in the 56 min but thanks to Ruud van Nistelrooy , Dutchs were able to equalize in the 86 min which led to extra time for the second consecutive time. The Russia again took the lead in the 113 min when Torbinski converted a cross from Arshavin and the lead was further increased by one goal in the 117th min to make it 3-1. The Dutch hopes were dying as they struggle to score the goal(s) and their hopes could not see light of day. Despite excellent performance it was said end for Dutch who lost 1-3 and Russia marched past them to semis. We are already getting a pattern, teams starting off well are going out, Portugal, Croatia and now Holland-all leaders eliminated, will Spain be the next in the same league as well?, let see tomorrow.

Not really, Spain continued its journey towards the destination by edging out Italy 4-2 on penatly shoot out after 0-0 in allocated time.

The first semi final was between Germany and Turkey, Turkey was playing without its first choice playing eleven but they put on great show and gave some scary momments to Germany, specially when they scored the equalizer in the late 80 to remind the Germany that they are still in but Germany was able to score another goal in the dying momments to make it 3-2 in their favour and marched in to the final.

The second semi final proved to be a walk in the park for the Spain, they outclassed Russia 3-0 and confirmed their seat in Euro 2008 FINAL.

THE FINAL was thrilling, Spain remian unbeaten through out and outclassed Germany to win their 2nd UEFA title after 1964, the score was 1-0.

Thursday, 12 June 2008

Is it really going to happen......

Quite often in history the inventions were viewed skeptically, the inclination to adopt the new technology was non-existing. Here are some of the quotes regarding different inventions spread over the last few centuries....

1800:
What, sir, would you make a ship sail against the wind and currents by lighting a bonfire under her deck? I pray you, excuse me, I have not the time to listen to such nonsense.

Napoleon Bonaparte views about steam boat

1864:
No one will pay good money to get from Berlin to Potsdam in one hour when he can ride his horse there in one day for free.

King William I of Prussia on invention of trains.


1865:
Dear Mr. President: The canal system of this country is being threatened by a new form of transportation known as "railroads" ... As you may well know, Mr. President, "railroad" carriages are pulled at the enormous speed of 15 miles per hour by "engines" which, in addition to endangering life and limb of passengers, roar and snort their way through the countryside, setting fire to crops, scaring the livestock and frightening women and children. The Almighty certainly never intended that people should travel at such breakneck speed.

Martin Van Buren-the then NY Governor.

1927 :
Who the hell wants to hear actors talk?

H.M. Warner, Warner Brothers

1957 :
I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won’t last out the year.

The editor in charge of business books for Prentice Hall

1968:
But what . . . is it good for?

Engineer at the Advanced Computing Systems Division of IBM, views on microchips


1977 :
...there is no reason anyone would want a computer in their home.

Ken Olson, President, Chairman, and Founder of DEC (Digital Equipment Corporation)


1981:
640K ought to be enough for anybody.

Bill Gates on size of RAM in PCs.


(The quotes above have been adopted from different sources on the internet)

Thursday, 5 June 2008

The week that was......

Wow, what a season for sports enthusiast, competitions ending like Hollywood thrillers, from English Premier League to Champions League and now Indian Premier League. What a sensational stuff it has been. The unexpectedly one sided affair in both semi finals (of IPL) made it necessary for the final to be as thrilling and exciting as it was. The last ball finish was truly Hollywood scripted thriller with all the necessary ingredients in the form of undisputed king of leg spinner Warne(the best captain that Aussies never had), axe whirled batting style of Dhoni, the magic of Murali, the unorthodox action of Tanvir and the last ball thrilling end.


Stuart MacGill-the Australian leg spinner who was supposed to fill in the shoes of magical Warne has announced his retirement from international cricket. The announcement came on the same day as IPL final so was dumped in the hype. The last test of the leg spinner was forgettable for him, in both innings he conceded over 180 runs and grabbed only single wicket, to rub salt into the wounds he was also docked 100% of his match fee for missing the team bus on 2nd days play of test.


Pakistan version of McGrath, Muhammad Asif is again in the news and obviously for the wrong reasons, after the drug scandal, getting hit by fellow speed star Shoaib, missing World Cup, somehow not so good IPL, the seamer is allegedly caught at Dubai Airport carrying banned substances in the wallet. The substance is confirmed to be banned substance. The funny part is that Asif has admitted carrying the substance for long and he is of the view that the same was provided to him by a Hakeem and he is having no clue that it is banned substance. (One excuse too many times.) Probably he does not even know that ignorance of the law is NO excuse as well.


The Portuguese football club, Porto FC has been banned for one year in UEFA Champions League by UEFA. They were involved in bribing the referees in 2003-04 season. They went on winning the national title and also won their second UEFA Champions title. Porto FC is planning to challenge the decision on the same lines as that of AC Milan in 2006. AC Milan was also barred from UEFA Champions league for corruption scandal which was subsequently turned down and they won the UEFA Champions League as well, so is Porto FC will be the new champs of the next season if their ban decision is reverted.

So let’s keep out finger cross for the Euro Cup kicking off this Saturday at Basel, Switzerland and watch out for the drama that will unfold.

"I do believe that to the ordinary people of our country, games like hockey and football have [more] significance than the world of cricket." The Indian PM is not impressed with IPL in general and cricket in particular.

Wednesday, 28 May 2008

On the Internet, no body knows you're a dog......

One of the myth that some people share regarding the Internet is the adage "On the Internet, no body knows you're a dog", unfortunately this is not true. Willingly or otherwise, we send a lot of personal information whenever we surf the web. The information transmitted can be used to locate our geographical location, the Operating System, the browser, the screen resolution and many more. So if you visit a website even with seemingly anonymous credentials be aware that they know a lot about you than you expect.


Peter Steiner's Cartoon, The New Yorker, July 5th, 1993

Another shock to those who uses search engines(is there some one who does not), again they are tracking your all activities, ranging from IP tracking to permanent storage of cookies on hard drive (reminds of Big Brother in George Orwell's 1984). For example Google-a start up place for most of us stores permanent cookie on hard drive with uniques ID which can identify user to Google and thus enabling them to keep track of all of our search queries.

So what to do in this so called information age to keep our privacy intact. Some one suggested the use of proxies, hmmm, good choice but again the credibility of proxy web sites poses the same questions. What about TOR??? but paying for the hi speed net and getting dial up speed- a trade of which most of us are not ready for.

So by the wide spread use of cellphone, web, GPS in vehicles, are we moving towards a society where, as describedby Orwell, "Asleep or awake, working or eating, indoors or out of doors, in the bath or in bed—no escape. Nothing was your own except the few cubic centimeters inside your skull."

The following information is presented for your information only (is related to you).


Geo IP Tracing - Physical Location IP address tracing

PS: We can change the setting of user-agent in browser to send fake information regarding the OS and browser type etc. I will try to post some useful information some time later.

Thursday, 22 May 2008

Red Vs Blue - the Champions League Final

The UEFA champions league ended in a befitting manner, the first ever all English final was nothing less than a sensation, the build up for the match was, as predicted extra ordinary, the hype created by the media was justified by the way both team played the game.

The Manchester United Vs Chelsea Final in Moscow last night provided extreme drama. At the end though Manchester United came out to be the ultimate winner but Chelsea too got their oportunities, to stun the rivals, which unofrtunately they could not convert. But the odds were in favour of Manchester United as they were English Premier League Champions and were predicted winners and Chelsea was dubbed as underdog.

The drama at park touched its peak when Cristiano Ronaldo missed a penalty and the chance to lift the Cup was spoiled by the Chelsea captain John Terry and on sudden death Edwin Van der Sar saved the penalty shoot out from Nicolas Anelka, thus giving the Manchester United the most prestigious title in Club football.

German View:
Being great follower of the game, Germans too were excited for the Champions League final and why they should not be, after all their favourite Micheal Ballack was playing for Chelsea. On every German channel the focus was more or less on Ballack than Chelsea or Manchester United. It appeared as though it was Ballack Vs Manch. United (So how could one player defeat the whole team!!!).

Thursday, 15 May 2008

The Mathematician and the Poet

Many of us are familiar with Charles Babbage - father of the idea of programmable computers, and those who has some interest in English poetry may also know Alfred Tennyson . It is ineresting to note that they were invloved in a debate on poetry and maths. It is well known that mathematicians think in their own circle, they critically analyze everthing and need mathemtical proof for everything.

The stories goes as following....

After reading the following lines from Tennyson famous poem "The Vision of Sin",

"Every moment dies a man
every moment a man is born"

Our mathematician fellow was not impressed. He was not convinced that this is possible in real world, so he decided to write a letter to Tennyson.

Sir,

In your otherwise beautiful poem “The Vision of Sin”, there is a verse which reads,

“Every moment dies a man,
Every moment one is born.”

It must be manifest that if this were true, the population of the world would be at a standstill.
In truth, the rate of birth is slightly in excess of that of death.
I would suggest that in the next edition of your poem you have it read:

“Every moment dies a man,
Every moment 1,1/16th is born"

Strictly speaking, the actual figure is so long I cannot get it into a line, but I believe the figure 1, 1/16 will be sufficiently accurate for poetry.

I am, Sir
Yours

And as the poets are normally very sensitive about their creation, so was the case with Lord Tennyson, he replied in the following manner.

Dear Mr Babbage,

If I had sucked several thousand pounds out of the government teat, by telling them that I was building an automatic calculator, without delivering so much as a pile of rusty cogs, I would be a bit more conscious of my own foibles and a bit less ready to poke fun at the works of others. Particularly as vacuum tubes won’t be invented until 1906. So stick that in your big red engine and take the difference of it.

Your most humble and obedient servant,
Lord Tennyson.


Saturday, 10 May 2008

Start Up

I have planned it a while ago to start writing the blog and do it regularly but as usual my natural laziness has over powered my will and I could not start it in time. But still its never too late to start. After atleast a month of struggle I mange to write this useless text, only to get started, I am sure I can come up with something less meaningless in near future.

The title "Briefe aus Deutschland moderne" is offcourse not my brainchild but is a variation from Herbert Rosendorfer's book "Briefe in die chinesische Vergangenheit (Letters back to ancient China)"