Recently, I published a post about the Zahopoulos scandal that has been in top news stories in Greece for the last month. It was intended to be an analysis about the case, with some information over some of its key participants (Zahopoulos, Evi Tsekou, Prime Minister Mr.Karamanlis and his wife Natasa Karamanli and others)
If you are not aware of the case, it involves a DVD in which Zahopoulos is supposed to reveal secrets to Mrs. Evi Tsekou, during their private moments, that are of great political significance. From the moment this was revealed, a large portion of Greek journalists, public but also Greek intelligence agencies have embarked on a safari for the discovery of the precious content.
Now, the site has been receiving massive traffic, originating primarily from search engines that respond to queries like 'zahopoulos dvd', 'zahopoulos tsekou original dvd' and so on.
I have also received some 'weird' e-mails and I want to make clear to all officials and un-officials that I am not aware of the DVD's location or possible download sites of course. The hype escalated when, yesterday, a video circulated in the net, now is on Youtube and countless 'low-profile' sites (blogs etc.), that supposedly is a part of the DVD content. You can find this video here.This video was top story in all Greek media and all kind of 'experts' took turns in expressing their 'prestigious opinions'.
However, once again, their information was absolute nonsense. It is obvious that this video is a fake. This is such an amateur work that the creator records his PC screen that most probably runs some kind of movie maker software (the DVD content was created by using a still hidden camera). It is also fake for a thousand more reasons for which I will not bother writing. So, from this place I would recommend to anybody to simply 'calm down'.
After all, the 'tampered' DVD (not the original) will be released to the public in February 8th by the official interrogator that is in charge of the case. So, let's have patience and focus on the important things here.
* Who has the original DVD?
* What is its content?
* What was so important that led a powerful political man, like Zahopoulos, to commit suicide? Was it of economical or political nature? Or both?
We are patiently waiting for the justice to arrive at conclusions. From my point, I can only publish my own thoughts and the information I gather in a most-neutral way possible. I intend to keep on ignoring the darkness in my mail inbox and willing to express my opinions freely.
Monday, January 28, 2008
Friday, January 25, 2008
Text-To-Speech For The Masses
Adding speech to your software application might be a good idea. It is not still commercially much appreciated, but it is at least a nice way for show-off! To be serious, new human-computer interfaces will most probably be one the next big things. All major software companies have heavily invested on this area and the CES 2008 pointed out a lot of such cases. For example, the SpaceTime search interface was really beautiful and therefore interesting.
However, I had not, until now, managed to get in my hands any decent and inexpensive Text-To-Speech engine (TTS). Perhaps, I was not lucky but I have tried along the way many solutions that did return speech on text input, but the result was unpleasant. For example the SpeechLib from MSDN for Windows was one, but as most of the other TTS engines, has robotic and 'cold' voices, the kind that appears in good-old sci-fi cult movies.
By far, the best TTS solution I have come across is AT&T Text-To-Speech Project. This is a project of AT&T Research. It is actually web-based and it is free.One should however not abuse the service and make a reasonable amount of calls to it. There is a commercial version available, but if you are doing this for fun, you do not need it.
The interface in the site allows you to enter a text, select a voice of your preference (they have names like Crystal, Mike, Charles etc-my favorite is Crystal) and click a button. Then you are pointed to a URL that has the WAV version of your input text. The voice is clear and in certain cases the result is very satisfying.
I have compiled a small lib function for everybody to use the service. It is written in C# and effectively it makes an HTTP POST request in order to generate the audio file. The source code is straightforward and it goes like this:
/*
Example input: speak("Hello there","crystal")
C# source code for AT&T TTS services
by panefsky
*/
This function (string speak(string, string)) accepts as input the text to say and the voice to use. Voice values can be "crystal", "mike" etc. As a result it returns the URL in which the WAV file resides. This C# source code can be compiled and built on .NET Framework. It uses some .NET libraries such as the System.Net and System.Text that it is easy to link. It also uses one of my .NET libs (the PODN library) and especially a function to retrieve hyperlinks from a page. You might be well be in the possession of your own, home-made networking libs. You can compile this version to run also on mobile phones and the Windows Mobile platform, with one minor change in the source code. You will have to configure the POST request, because the .NET Compact Framework does not support the WebClient class. Use of plain and simple HttpWebRequest will be just fine for giving voice also to your mobile phone.
To demonstrate a use case, I have created a mini-app called Speaker (yes my imagination has gone wild!) that has two simple functions:
1. You can write a text and have the computer say it
2. You can push the 'Tell me the News' button, which will download Yahoo! news and let let the computer tell the top 5 in the news list.
You can find the application (speaker.zip) in the Developer On Line file site. Download the zip file, unpack and run. Your computer has now voice!
For any clarifications about the software, feel free to comment.
However, I had not, until now, managed to get in my hands any decent and inexpensive Text-To-Speech engine (TTS). Perhaps, I was not lucky but I have tried along the way many solutions that did return speech on text input, but the result was unpleasant. For example the SpeechLib from MSDN for Windows was one, but as most of the other TTS engines, has robotic and 'cold' voices, the kind that appears in good-old sci-fi cult movies.
By far, the best TTS solution I have come across is AT&T Text-To-Speech Project. This is a project of AT&T Research. It is actually web-based and it is free.One should however not abuse the service and make a reasonable amount of calls to it. There is a commercial version available, but if you are doing this for fun, you do not need it.
The interface in the site allows you to enter a text, select a voice of your preference (they have names like Crystal, Mike, Charles etc-my favorite is Crystal) and click a button. Then you are pointed to a URL that has the WAV version of your input text. The voice is clear and in certain cases the result is very satisfying.
I have compiled a small lib function for everybody to use the service. It is written in C# and effectively it makes an HTTP POST request in order to generate the audio file. The source code is straightforward and it goes like this:
/*
Example input: speak("Hello there","crystal")
C# source code for AT&T TTS services
by panefsky
*/
private string speak(string theText, string theVoice)
{
try
{
string uriString = "http://192.20.225.55/tts/cgi-bin/nph-talk";
/* Create a new WebClient instance.*/
WebClient myWebClient = new WebClient();
/* Create a new NameValueCollection instance to hold some custom parameters to be posted to the URL.*/
System.Collections.Specialized.NameValueCollection myNameValueCollection = new System.Collections.Specialized.NameValueCollection();
string voice=theVoice;
string txt = theText;
string downloadButton = "DOWNLOAD";
/* Add necessary parameter/value pairs to the name/value container.*/
myNameValueCollection.Add("voice", voice);
myNameValueCollection.Add("txt", txt);
myNameValueCollection.Add("downloadButton", downloadButton);
/* Upload the NameValueCollection.*/
byte[] responseArray = myWebClient.UploadValues(uriString, "POST", myNameValueCollection);
string response = Encoding.ASCII.GetString(responseArray);
/*This code retrieves hyperlinks from a page*/
PODN.Net.Search.PageParser pp = new PODN.Net.Search.PageParser();
PODN.Net.Search.PageLink[] links = pp.RetrieveHyperlinks(response, uriString);
string fileToPlay=null;
if(links!=null && links.Length>0)
fileToPlay = "http://192.20.225.55" + links[0].URL;
return fileToPlay;
}
catch (Exception e) { /* ERROR */}
}
This function (string speak(string, string)) accepts as input the text to say and the voice to use. Voice values can be "crystal", "mike" etc. As a result it returns the URL in which the WAV file resides. This C# source code can be compiled and built on .NET Framework. It uses some .NET libraries such as the System.Net and System.Text that it is easy to link. It also uses one of my .NET libs (the PODN library) and especially a function to retrieve hyperlinks from a page. You might be well be in the possession of your own, home-made networking libs. You can compile this version to run also on mobile phones and the Windows Mobile platform, with one minor change in the source code. You will have to configure the POST request, because the .NET Compact Framework does not support the WebClient class. Use of plain and simple HttpWebRequest will be just fine for giving voice also to your mobile phone.
To demonstrate a use case, I have created a mini-app called Speaker (yes my imagination has gone wild!) that has two simple functions:
1. You can write a text and have the computer say it
2. You can push the 'Tell me the News' button, which will download Yahoo! news and let let the computer tell the top 5 in the news list.
You can find the application (speaker.zip) in the Developer On Line file site. Download the zip file, unpack and run. Your computer has now voice!
For any clarifications about the software, feel free to comment.
Sunday, January 20, 2008
Google Interviews Part III
This continues from my first Google interview described here In overall, the second one was harder in terms of questions and expectations. I was called again from Mountain View sharply at the time we had arranged.
The conversation began with an interesting question: "What would you change in the Java programming language?" This has more than one questions embedded and it is educating listening to all possible answers. For example, one of my suggestions was having 'mechanisms' much like the properties fields in C# to ease development (programming get/set methods seems very tiring to me)Since the question was referring to the language and not to the Virtual Machine anything you find tiring or absent in Java is probably a valid answer.

We next proceeded to a C programming question. My interviewer knew that I was not a C-guru so he was gentle on that. The question was something like this. What is the output of this C program?
main() {
char X[500] = "Hello World";
printf("%s",X+5);
}
I knew it had to do something with memory allocation but I was not succinct on that. I said that the output would be blank and I guess I was right (the interviewers never tell you directly if you are right or wrong) So we said OK and moved on.
The 3rd question was about creating random functions. It is the type of questions where given a function randX that provides uniformly numbers from 1 to X, to generate a another randY. The actual question was about making rand8 from rand6. It is easy to establish how to get a rand2 from rand6. Then you can get rand8 from rand2.
This was a straightforward case. However, this problem appears very often in such situations and deserves some attention. You may find unlimited nonsense by searching for 'create rand7 from rand5' which is also a frequent question. Trying these forums/blogs etc you will get endless efforts of shifting from one rand to another using common arithmetic functions (addition, mod etc). This is nonsense. You will have to shift to elementary analysis for a while to get some good results.
In the general case consider you have to generate randX from randY where Y > X. Now consider that this yields the division: Y = n*X+r So, you can one group of Y elements into X groups of n elements and one more group with r elements. Now number the X groups as 1,2,3..X Then, create a 'machine' that uses the algorithm:
m = randY();
IF m belongs to one of the X groups return its number
ELSE restart the machine
The probability in every run of the algorithm to return one specific value from 1 to X is a =n/Y and the probability that the algorithm restarts is b = r/Y. So, the overall probability that the machine will output one number from 1 to X is :
P = a+a*b+a*b*b+a*b*b*b+... = a*(1+b+b*b+...) = a/(1-b).
By substitution we get, P = 1/X
In other words, we have generated the function randX
Now, if we wish to increase the rand range, for example get rand7 from rand5 you can create rand25 from rand5 (two rand5 calls) and then use the above method. Shifting to infinity is inevitable in some cases and all other efforts are in vain.
Back to the interviews, the final question had to do with designing and analyzing an algorithm. This had to calculate all representations of an integer as a sum of cubes. You can find many similar examples in algorithms textbooks so presenting this story here is trivial. What is interesting is that, we started a discussion on an incident that was directly related to the problem. This is usually called as the 'cab number story'. Back in the days when Ramanujan was in Cambridge and was working with G.H. Hardy, he had frequent health problems. One day, Hardy visited Ramanujan to the hospital and to start a discussion he mentioned the number of the taxi cab that brought him there. He said something like "..The cab number was 1729. I think this number is not interesting at all." A few seconds Ramanujan (which was extremely competent with numbers and calculations) replied: "You are not right Mr.Hardy. 1729 is very interesting. It is the smallest number that can be written as a sum of cubes in two different ways."
This was a nice way to close the interview. We didn't have much time left, so we said some relaxing things and then ended the interview conversation. All in all, it went well and my interviewer was a really nice person. Our discussion was interesting and I soon got the news that I was to pass to the next level. Having acquaintance with math and generally science history certainly helps!
Jump to the next Google interview.
The conversation began with an interesting question: "What would you change in the Java programming language?" This has more than one questions embedded and it is educating listening to all possible answers. For example, one of my suggestions was having 'mechanisms' much like the properties fields in C# to ease development (programming get/set methods seems very tiring to me)Since the question was referring to the language and not to the Virtual Machine anything you find tiring or absent in Java is probably a valid answer.

We next proceeded to a C programming question. My interviewer knew that I was not a C-guru so he was gentle on that. The question was something like this. What is the output of this C program?
main() {
char X[500] = "Hello World";
printf("%s",X+5);
}
I knew it had to do something with memory allocation but I was not succinct on that. I said that the output would be blank and I guess I was right (the interviewers never tell you directly if you are right or wrong) So we said OK and moved on.
The 3rd question was about creating random functions. It is the type of questions where given a function randX that provides uniformly numbers from 1 to X, to generate a another randY. The actual question was about making rand8 from rand6. It is easy to establish how to get a rand2 from rand6. Then you can get rand8 from rand2.
This was a straightforward case. However, this problem appears very often in such situations and deserves some attention. You may find unlimited nonsense by searching for 'create rand7 from rand5' which is also a frequent question. Trying these forums/blogs etc you will get endless efforts of shifting from one rand to another using common arithmetic functions (addition, mod etc). This is nonsense. You will have to shift to elementary analysis for a while to get some good results.
In the general case consider you have to generate randX from randY where Y > X. Now consider that this yields the division: Y = n*X+r So, you can one group of Y elements into X groups of n elements and one more group with r elements. Now number the X groups as 1,2,3..X Then, create a 'machine' that uses the algorithm:
m = randY();
IF m belongs to one of the X groups return its number
ELSE restart the machine
The probability in every run of the algorithm to return one specific value from 1 to X is a =n/Y and the probability that the algorithm restarts is b = r/Y. So, the overall probability that the machine will output one number from 1 to X is :
P = a+a*b+a*b*b+a*b*b*b+... = a*(1+b+b*b+...) = a/(1-b).
By substitution we get, P = 1/X
In other words, we have generated the function randX
Now, if we wish to increase the rand range, for example get rand7 from rand5 you can create rand25 from rand5 (two rand5 calls) and then use the above method. Shifting to infinity is inevitable in some cases and all other efforts are in vain.
Back to the interviews, the final question had to do with designing and analyzing an algorithm. This had to calculate all representations of an integer as a sum of cubes. You can find many similar examples in algorithms textbooks so presenting this story here is trivial. What is interesting is that, we started a discussion on an incident that was directly related to the problem. This is usually called as the 'cab number story'. Back in the days when Ramanujan was in Cambridge and was working with G.H. Hardy, he had frequent health problems. One day, Hardy visited Ramanujan to the hospital and to start a discussion he mentioned the number of the taxi cab that brought him there. He said something like "..The cab number was 1729. I think this number is not interesting at all." A few seconds Ramanujan (which was extremely competent with numbers and calculations) replied: "You are not right Mr.Hardy. 1729 is very interesting. It is the smallest number that can be written as a sum of cubes in two different ways."
This was a nice way to close the interview. We didn't have much time left, so we said some relaxing things and then ended the interview conversation. All in all, it went well and my interviewer was a really nice person. Our discussion was interesting and I soon got the news that I was to pass to the next level. Having acquaintance with math and generally science history certainly helps!
Jump to the next Google interview.
Friday, January 18, 2008
Robert James Fischer-The King Is Dead (1943-2008)
I heard it a couple of minutes ago. Bobby Fischer died in a hospital of Reykjavik, Iceland, the very place where he became the king of chess players beating Spassky in the final match. This leaves a bitter taste to all chess fans, and more to Fischer fans like myself.
Child of divorced parents, he lived with his mom and older sister, which introduced Bobby to the game. He quickly left school and decided to be a professional chess player. At the age of 13 he played the 'Game of the Century' against D.Byrne, still considered as a masterpiece among chess enthusiasts (you don't see queen sacrifices very often)This was just the beginning and among other things Fischer became the holder of many best performance records in tournaments and matches escalating to being the World Chess Champion in 1972, at the heart of of Cold War, outperforming all Soviet chess stars. He was notorious for his passion to play each game to win.
Bobby Fischer disappeared soon after FIDE denied to accept his suggestions for changing World Chess Championship rules and refused to defend his title against Anatoly Karpov. This has been a mystery around the chess world until 1992 when Fischer re-appeared to the public and played against Spassky in Serbia (Former Yugoslavia). This had political interest since Serbia was under embargo from the US at the time. After that Fischer had to find a political asylum which he finally found in Iceland.

Bobby Fischer had early established the habit of dressing well and it is rumored he had a massive collection of shoes. Fischer himself describes that one comment after a chess tournament ('He may play well but he dresses like a homeless') is what triggered his behavior. All this have led many to call him 'arrogant' and 'self-centric'. At the last years of his life he has been accused of being racist and anti-semitic, things that he triggered himself after expressing strong anti-semitic opinions over the 9/11 incident on the radio.
One could write for days about Fischer's bad behavior but all this have little significance now. This has been a small tribute to Bobby Fischer who died today. His ingenuity has inspired a whole generation of chess players and his plays are of unmatchable beauty. In my eyes, he is the best chess player of all times. and beyond chess mastery one can discover lessons of life in his strategies: The first that comes to my mind: "No draws. Win or lose."
Child of divorced parents, he lived with his mom and older sister, which introduced Bobby to the game. He quickly left school and decided to be a professional chess player. At the age of 13 he played the 'Game of the Century' against D.Byrne, still considered as a masterpiece among chess enthusiasts (you don't see queen sacrifices very often)This was just the beginning and among other things Fischer became the holder of many best performance records in tournaments and matches escalating to being the World Chess Champion in 1972, at the heart of of Cold War, outperforming all Soviet chess stars. He was notorious for his passion to play each game to win.
Bobby Fischer disappeared soon after FIDE denied to accept his suggestions for changing World Chess Championship rules and refused to defend his title against Anatoly Karpov. This has been a mystery around the chess world until 1992 when Fischer re-appeared to the public and played against Spassky in Serbia (Former Yugoslavia). This had political interest since Serbia was under embargo from the US at the time. After that Fischer had to find a political asylum which he finally found in Iceland.

Bobby Fischer had early established the habit of dressing well and it is rumored he had a massive collection of shoes. Fischer himself describes that one comment after a chess tournament ('He may play well but he dresses like a homeless') is what triggered his behavior. All this have led many to call him 'arrogant' and 'self-centric'. At the last years of his life he has been accused of being racist and anti-semitic, things that he triggered himself after expressing strong anti-semitic opinions over the 9/11 incident on the radio.
One could write for days about Fischer's bad behavior but all this have little significance now. This has been a small tribute to Bobby Fischer who died today. His ingenuity has inspired a whole generation of chess players and his plays are of unmatchable beauty. In my eyes, he is the best chess player of all times. and beyond chess mastery one can discover lessons of life in his strategies: The first that comes to my mind: "No draws. Win or lose."
Wednesday, January 16, 2008
Greeks Do It Better
This articlecontinues here
And when it comes to corruption we are the best...Our political system rewards the best among them every 4 years, by a process we tend to call 'elections', which places them in critical government positions.
The great fuss started after the attempted suicide of the Primary Secretary of the Ministry of Culture, Christos Zachopoulos after having resigned from his position by claiming 'health problems'. The Minister accepted it and the case, although strange, seemed trivial. The first clouds appeared when it became publicly known that Mrs. Evi Tsekou, an employee inside the Ministry was blackmailing Zahopoulos. The reason was simple. But before going into details a short introduction is needed in order to understand the magical inner workings of Greek corruption system.
Zahopoulos has been a close friend of the current Prime Minister Kostas Karamanlis, several years ago, in Thessaloniki, when he was still being elected as member of the Greek Parliament. Zahopoulos was also a close friend of Natassa Pazaiti, now wife of the PM and using his connections, he helped her greatly with her 'academic' courses. When Kostas Karamanlis was elected Prime Minister, he also took control of the Ministry of Culture and appointed Zahopoulos as the General Secretary. Zahopoulos had immense power in the Ministry and in all successive reformations that took place in it, in the 5-year period that the political party of New Democracy has been in government, he has been tight in his position.
During all this period his behavior was provoking and many had warned the Prime Minister for his illegal actions. However, this was never going in public and Zahopoulos was completely covered by 'higher above'. The Greek audience became aware of his existence in summer of 2007, during Greece's huge fires, when he embarrassed himself when caught ignoring Cronius Hill (Κρόνιος Λόφος in Greek) as being a holy place of Olympia town. The Cronius Hill was destroyed by the fires and Zahopoulos was widely accepted as an incompetent, ignorant and almost dumb civil clerk.
Zahopoulos had love affairs with an employee inside the Ministry of Culture, Mrs. Evi Tsekou. Later it became known that he was repeatedly using his power to ask for sexual favors in return for employment, by female employees in the Ministry. After Zahopoulos' suicide attempt, it became known that Mrs. Tsekou, was blackmailing him, threatening to expose their private intercourses written in DVD using a hidden camera. The Government tried to cover the case by equating the case to a typical sex scandal. But it was not...
The public became suspicious over why the secretary committed suicided only having been accused for an off-marriage sexual affair. The shocking truth was that, Mr. Andrianos, journalist in the Prime Minister's office was in possession of the DVD, but the material that he handed to Justice (to investigate the blackmailing case)had been cut off! Of the total 40 minutes only 3 minutes arrived at Justice. Someone had obviously tampered with the original DVD. The Greek public opinion shouted: "Why the hell someone would process a DVD with sexual intercourse that is crime evidence. Are government officials responsible for this??"
There are many rumors about the content of the DVD. The only sure thing is that it is of great political significance. Zahopoulos is supposed to reveal many things about the Prime Minister, Kostas Karamanlis, both personal and political information. It is also said that Zahopoulos is referring to his wife, Natasa Pazaiti. It is also rumored that the Prime Minister himself, after watching the content, he demanded from Zahopoulos to 'just disappear'.However, the scandal has been broadened to cover also the media lobby.
It was revealed that the DVD was handed over to the Government by a journalist. Many have accused Themos Anastasiadis, chief editor of a popular newspaper, as being the journalist that gave away the disc. His prime work partner, Makis Triantafyllopoulos has accused him of making a deal with the government in order to stop tax controls on one of Mr. Anastasiadis' 'obscure' bank accounts. Mr. Anastasiadis has refused any possible participation in the case and has claimed that he has been blackmailed by others on this matter and that several months earlier informed the Police about the case. Mr. Andrianos, the journalist in PM's office that took the DVD, testified to Justice, and informed the interrogators about the journalist's identity and has made public that the journalist has been close friens, from University, with one of Evi Tsekou's former lawyer. Mr. Anastasiadis fits the profile but he denies all accusations and claims he is being 'hunted' by government officials and close media (interesting 'details': Anastasiadis' newspaper has revealed many government scandals over the years and recently obliged Greek Minister Mr. Magginas to resign from his position)
The story has yet a long way to go. Greek public opinion seems disappointed and disgusted about the huge corruption that comes to light. Whatever the end might be, it is sure that great political transforms will happen over the following months (political parties will be teared apart and new political forces will emerge)
See the latest post about the Zahopoulos case here
And when it comes to corruption we are the best...Our political system rewards the best among them every 4 years, by a process we tend to call 'elections', which places them in critical government positions.
The great fuss started after the attempted suicide of the Primary Secretary of the Ministry of Culture, Christos Zachopoulos after having resigned from his position by claiming 'health problems'. The Minister accepted it and the case, although strange, seemed trivial. The first clouds appeared when it became publicly known that Mrs. Evi Tsekou, an employee inside the Ministry was blackmailing Zahopoulos. The reason was simple. But before going into details a short introduction is needed in order to understand the magical inner workings of Greek corruption system.
Zahopoulos has been a close friend of the current Prime Minister Kostas Karamanlis, several years ago, in Thessaloniki, when he was still being elected as member of the Greek Parliament. Zahopoulos was also a close friend of Natassa Pazaiti, now wife of the PM and using his connections, he helped her greatly with her 'academic' courses. When Kostas Karamanlis was elected Prime Minister, he also took control of the Ministry of Culture and appointed Zahopoulos as the General Secretary. Zahopoulos had immense power in the Ministry and in all successive reformations that took place in it, in the 5-year period that the political party of New Democracy has been in government, he has been tight in his position.
During all this period his behavior was provoking and many had warned the Prime Minister for his illegal actions. However, this was never going in public and Zahopoulos was completely covered by 'higher above'. The Greek audience became aware of his existence in summer of 2007, during Greece's huge fires, when he embarrassed himself when caught ignoring Cronius Hill (Κρόνιος Λόφος in Greek) as being a holy place of Olympia town. The Cronius Hill was destroyed by the fires and Zahopoulos was widely accepted as an incompetent, ignorant and almost dumb civil clerk.
Zahopoulos had love affairs with an employee inside the Ministry of Culture, Mrs. Evi Tsekou. Later it became known that he was repeatedly using his power to ask for sexual favors in return for employment, by female employees in the Ministry. After Zahopoulos' suicide attempt, it became known that Mrs. Tsekou, was blackmailing him, threatening to expose their private intercourses written in DVD using a hidden camera. The Government tried to cover the case by equating the case to a typical sex scandal. But it was not...
The public became suspicious over why the secretary committed suicided only having been accused for an off-marriage sexual affair. The shocking truth was that, Mr. Andrianos, journalist in the Prime Minister's office was in possession of the DVD, but the material that he handed to Justice (to investigate the blackmailing case)had been cut off! Of the total 40 minutes only 3 minutes arrived at Justice. Someone had obviously tampered with the original DVD. The Greek public opinion shouted: "Why the hell someone would process a DVD with sexual intercourse that is crime evidence. Are government officials responsible for this??"
There are many rumors about the content of the DVD. The only sure thing is that it is of great political significance. Zahopoulos is supposed to reveal many things about the Prime Minister, Kostas Karamanlis, both personal and political information. It is also said that Zahopoulos is referring to his wife, Natasa Pazaiti. It is also rumored that the Prime Minister himself, after watching the content, he demanded from Zahopoulos to 'just disappear'.However, the scandal has been broadened to cover also the media lobby.
It was revealed that the DVD was handed over to the Government by a journalist. Many have accused Themos Anastasiadis, chief editor of a popular newspaper, as being the journalist that gave away the disc. His prime work partner, Makis Triantafyllopoulos has accused him of making a deal with the government in order to stop tax controls on one of Mr. Anastasiadis' 'obscure' bank accounts. Mr. Anastasiadis has refused any possible participation in the case and has claimed that he has been blackmailed by others on this matter and that several months earlier informed the Police about the case. Mr. Andrianos, the journalist in PM's office that took the DVD, testified to Justice, and informed the interrogators about the journalist's identity and has made public that the journalist has been close friens, from University, with one of Evi Tsekou's former lawyer. Mr. Anastasiadis fits the profile but he denies all accusations and claims he is being 'hunted' by government officials and close media (interesting 'details': Anastasiadis' newspaper has revealed many government scandals over the years and recently obliged Greek Minister Mr. Magginas to resign from his position)
The story has yet a long way to go. Greek public opinion seems disappointed and disgusted about the huge corruption that comes to light. Whatever the end might be, it is sure that great political transforms will happen over the following months (political parties will be teared apart and new political forces will emerge)
See the latest post about the Zahopoulos case here
Sunday, January 13, 2008
Beat The Roulette Or Die Trying
The only reason I will be in a casino will be for the roulette wheel. Maybe it is the numbers, the probabilities or just the rush of the game. As a barely regular roulette player myself, I am constantly plotting new systems for calculating the optimal bet.
After a little search, one may find many betting systems advertised in the web promising huge money earnings. On the other hand others will say that no betting system exists for roulette playing. Well, once again the truth lies somewhere in the middle. Einstein once said that the only way to beat the roulette can happen only when the croupier is not looking you. Indeed, mathematically speaking, if roulette numbers are drawn from a uniform distribution, you have no chance of beating the house. But roulettes are mechanical systems. Croupiers that spin the roulette and keep the game going, can also be thought as physical systems. And any system can be analyzed or studied.
The roulette can be modeled as consisting of four major parts : the rotor, the stator, the deflectors and the pockets. Any slight deficiency in one of these parts can be responsible for making a roulette biased. An elementary analysis on a tilted roulette can prove that creates a forbidden region of the wheel in which the ball is sure not to land. This is tilt can be as small as 0.1-0.3 angle degrees.
On the other hand, many theories are popular about the way croupiers spin the wheel. The most common one attributes a kind of signature to every roulette croupier: The speed he spins the wheel, the speed he launches the ball and the way he disturbs the results. This is certainly true. Croupiers are regular people working sometimes for 12 hours in a row, and depending on the schedule sometimes overnight. Under these conditions, croupiers can act somewhat mechanically by spinning both the wheel and ball the same way for several game turns. Experienced players can identify such circumstances and have profitable bets at the right time. But casinos also have their counter measures. When a croupier understands that he becomes predictable he changes the style of his play by varying the speed or initial position of the system.
However, such kind of croupier behavior, if analyzed, can exhibit in turn more interesting patterns. One striking example happened just yesterday. The croupier was playing on the numbers near 0 (voisins du zero). This soon became obvious even to amateur players. After a huge house loss, the croupier obviously disturbed the play by moving the ball to the other side (5 and 10 neighborhood) or in roulette slang, by spinning opposites. In regular playing the croupier was moving in the neighborhood and when the croupier decided to disturb the results, he moved the outcomes to the opposite roulette side of the current play.
However, there are no magical systems for the roulette. It is certain that the house has the edge and the most important challenge is proper money management. Psychology is a crucial factor and it is certain that the casino retains huge earnings because players become anxious, neurotic or maniac making silly and meaningless bets.
Mathematically, the game has been studied by the Blackjack-Buster, the mathematician Edward Thorp who invented the card counting technique in blackjack that created a whole new generation of professional blackjack players. Together with Claude Shannon they tried to study the game and the physics involved. While there are exist many stories about making huge earnings, I think most of them are total nonsense. Thorp himself in the Mathematics for Gambling does not report any relevant interesting result. After analysis both in terms of playing and in terms of counter measures, he concludes by saying : "...Then for the reasons explained above, the result will be perfectly random." However, the personal wearable computer is said to have come from the roulette studies of Thorp and Shannon.
Mathematical theory in roulette analysis can also be assisted by using the Kelly criterion. Kelly was a researcher in AT&T when he published a paper about communicating information over noisy lines. His analysis provides equations that point to the optimal bets (in terms of % of your bank roll) for maximizing your capital. In an unbiased roulette the Kelly criterion cannot be applied but this is not true for roulettes we believe exhibit some patterns in the results.
To sum up, roulette is an exciting game which involves heavy mathematical theory spanning from probabilities to information theory. In later posts, I will try to give my own perspective about the game. Till then, stay cool and bet low.
After a little search, one may find many betting systems advertised in the web promising huge money earnings. On the other hand others will say that no betting system exists for roulette playing. Well, once again the truth lies somewhere in the middle. Einstein once said that the only way to beat the roulette can happen only when the croupier is not looking you. Indeed, mathematically speaking, if roulette numbers are drawn from a uniform distribution, you have no chance of beating the house. But roulettes are mechanical systems. Croupiers that spin the roulette and keep the game going, can also be thought as physical systems. And any system can be analyzed or studied.
The roulette can be modeled as consisting of four major parts : the rotor, the stator, the deflectors and the pockets. Any slight deficiency in one of these parts can be responsible for making a roulette biased. An elementary analysis on a tilted roulette can prove that creates a forbidden region of the wheel in which the ball is sure not to land. This is tilt can be as small as 0.1-0.3 angle degrees.
On the other hand, many theories are popular about the way croupiers spin the wheel. The most common one attributes a kind of signature to every roulette croupier: The speed he spins the wheel, the speed he launches the ball and the way he disturbs the results. This is certainly true. Croupiers are regular people working sometimes for 12 hours in a row, and depending on the schedule sometimes overnight. Under these conditions, croupiers can act somewhat mechanically by spinning both the wheel and ball the same way for several game turns. Experienced players can identify such circumstances and have profitable bets at the right time. But casinos also have their counter measures. When a croupier understands that he becomes predictable he changes the style of his play by varying the speed or initial position of the system.
However, such kind of croupier behavior, if analyzed, can exhibit in turn more interesting patterns. One striking example happened just yesterday. The croupier was playing on the numbers near 0 (voisins du zero). This soon became obvious even to amateur players. After a huge house loss, the croupier obviously disturbed the play by moving the ball to the other side (5 and 10 neighborhood) or in roulette slang, by spinning opposites. In regular playing the croupier was moving in the neighborhood and when the croupier decided to disturb the results, he moved the outcomes to the opposite roulette side of the current play.
However, there are no magical systems for the roulette. It is certain that the house has the edge and the most important challenge is proper money management. Psychology is a crucial factor and it is certain that the casino retains huge earnings because players become anxious, neurotic or maniac making silly and meaningless bets.
Mathematically, the game has been studied by the Blackjack-Buster, the mathematician Edward Thorp who invented the card counting technique in blackjack that created a whole new generation of professional blackjack players. Together with Claude Shannon they tried to study the game and the physics involved. While there are exist many stories about making huge earnings, I think most of them are total nonsense. Thorp himself in the Mathematics for Gambling does not report any relevant interesting result. After analysis both in terms of playing and in terms of counter measures, he concludes by saying : "...Then for the reasons explained above, the result will be perfectly random." However, the personal wearable computer is said to have come from the roulette studies of Thorp and Shannon.
Mathematical theory in roulette analysis can also be assisted by using the Kelly criterion. Kelly was a researcher in AT&T when he published a paper about communicating information over noisy lines. His analysis provides equations that point to the optimal bets (in terms of % of your bank roll) for maximizing your capital. In an unbiased roulette the Kelly criterion cannot be applied but this is not true for roulettes we believe exhibit some patterns in the results.
To sum up, roulette is an exciting game which involves heavy mathematical theory spanning from probabilities to information theory. In later posts, I will try to give my own perspective about the game. Till then, stay cool and bet low.
Tuesday, January 8, 2008
Human-Powered Search Engines Are Here
These days (06/01/08) the Wikia Foundation launched their Search Engine where the ranking of pages by usefulness is now the community's task. Until now, the whole software is in alpha version and can be found at this link.
The software is a little mess, indeed, and many have rushed to sell it as the total letdown of 2008. An overview of the critics can be found in this BusinessWeek article.Of course, this is total nonsense.The software is still in alpha version and it is obvious that its performance will scale when people will start working on it.
Patience is a virtue.
The software is a little mess, indeed, and many have rushed to sell it as the total letdown of 2008. An overview of the critics can be found in this BusinessWeek article.Of course, this is total nonsense.The software is still in alpha version and it is obvious that its performance will scale when people will start working on it.
Patience is a virtue.
Monday, January 7, 2008
The Importance of Being Elegant
This is the solution to the the problem of the perfect logicians. You might find 'solutions' for this problem in the web that in essence by listing a large set of numbers and wiping out the 'impossible' ones to arrive at the desired result. Even this relevant Stanford page on the problem, refers to solutions you can hardly bear to look..
The beauty of the problem and of the solution, resides in the elegant modeling. To find the exact solution all you have to do is to feed it to a computer in a form of a computer program and collect the results. My own perspective of elegance is given below:

Making the software for this model is really straightforward. You will find out that the only solution is 4 and 13. You may even try an even larger numbers and find out that 4 and 13 are the only solutions for a large set.
I hope you enjoy this elegance in this as much as I have!
The beauty of the problem and of the solution, resides in the elegant modeling. To find the exact solution all you have to do is to feed it to a computer in a form of a computer program and collect the results. My own perspective of elegance is given below:

Making the software for this model is really straightforward. You will find out that the only solution is 4 and 13. You may even try an even larger numbers and find out that 4 and 13 are the only solutions for a large set.
I hope you enjoy this elegance in this as much as I have!
Thursday, January 3, 2008
Google Interviews Part II
The first Google interview is most likely the easiest one.
I have the feeling that they normally ask general questions, just to ensure that you have some knowledge of computers and you are not just the guy who believes he deserves a place in Google because he can make nice Powerpoint presentations. At least happened in my case.
A guy from Mountain View called me sharply at the time we had arranged. He called on my mobile. I had everything arranged: From the bluetooth hands-free to nice and clean desk in front of me. At first, he asked me some questions about my CV, my age and my education. He didn't seem so interested in that and my impression was that his questions were somewhat mechanical.
After a couple of minutes, he started asking technical questions. The first one was easy: If we would like to index the entire earth population, how long should the index size be? Although a piece of cake, I felt like I was asked to prove that P=NP. Soon, I panicked but I asked for some time to 'warm up'. The Google Engineer was kind enough to understand and gave me all the time I needed in order to finally realize that I was talking to Google and that I had to control myself.
After recovering and answering to this question, I was put in front of a puzzle involving buckets and I was asked to find an algorithm that would end up in a situation that one bucket would be empty, as soon as some conditions were met. Excuse me for this vague description but I am still not able to remember exactly what the problem was all about. Instead of trying to find some exact solution to a problem that I couldn't understand (perhaps I was very nervous or I didn't understand the language), I followed an old Harry Truman's quote: "If you cannot convince them, confuse them". This seemed to work extremely well. I soon said something about modelling the problem as a Diophantine equation, where the solutions in integers would mean filling if positive or emptying if negative. Of course I had no idea what I was talking about, but the Google Engineer fell into it. He was not familiar with the idea, we soon started talking until we had switched to a more theoretical conversation. This gave me time to think over the solution and present with a backtracking-type of algorithm. During all this, I was asked some algorithmic-theoretical questions, for example about hashing space and time complexity.
We spent a lot of time on this problem. The last one was around his own domain of expertise. It turned out that this guy was working on Google Book Search and asked what I would if I had to find duplicates in book catalogs with entries with different titles but with the same content.. I had no idea of the format, Google was using to index book entries, I asked some questions that clarified the problem to me and then I presented my solution. My idea was to use some basic format properties of book text, for example number of paragraphs, size of paragraphs and so on. This way a book named "Albert Camus-The Stranger" would match a book "Famous Authors-L'etranger" (the example might not be realistic but it gives the idea)
The 45 minute had finished and it was time to ask my own questions. I asked a couple of things (one being if book search is still beta to which the engineer falsely responded that it is not!)and some other lame how-wonderful-is-Google questions and we said goodbye.
The next day I was informed by my recruiter that I had done well we had to proceed to the next stage. Overall, the guy I talked was very kind and showed a lot of understanding when I was stuck in the first and simplest question. But now I had to prepare for the 2nd interview which my recruiter had informed me that would be much more technical...
Continue to the second interview
I have the feeling that they normally ask general questions, just to ensure that you have some knowledge of computers and you are not just the guy who believes he deserves a place in Google because he can make nice Powerpoint presentations. At least happened in my case.
A guy from Mountain View called me sharply at the time we had arranged. He called on my mobile. I had everything arranged: From the bluetooth hands-free to nice and clean desk in front of me. At first, he asked me some questions about my CV, my age and my education. He didn't seem so interested in that and my impression was that his questions were somewhat mechanical.
After a couple of minutes, he started asking technical questions. The first one was easy: If we would like to index the entire earth population, how long should the index size be? Although a piece of cake, I felt like I was asked to prove that P=NP. Soon, I panicked but I asked for some time to 'warm up'. The Google Engineer was kind enough to understand and gave me all the time I needed in order to finally realize that I was talking to Google and that I had to control myself.
After recovering and answering to this question, I was put in front of a puzzle involving buckets and I was asked to find an algorithm that would end up in a situation that one bucket would be empty, as soon as some conditions were met. Excuse me for this vague description but I am still not able to remember exactly what the problem was all about. Instead of trying to find some exact solution to a problem that I couldn't understand (perhaps I was very nervous or I didn't understand the language), I followed an old Harry Truman's quote: "If you cannot convince them, confuse them". This seemed to work extremely well. I soon said something about modelling the problem as a Diophantine equation, where the solutions in integers would mean filling if positive or emptying if negative. Of course I had no idea what I was talking about, but the Google Engineer fell into it. He was not familiar with the idea, we soon started talking until we had switched to a more theoretical conversation. This gave me time to think over the solution and present with a backtracking-type of algorithm. During all this, I was asked some algorithmic-theoretical questions, for example about hashing space and time complexity.
We spent a lot of time on this problem. The last one was around his own domain of expertise. It turned out that this guy was working on Google Book Search and asked what I would if I had to find duplicates in book catalogs with entries with different titles but with the same content.. I had no idea of the format, Google was using to index book entries, I asked some questions that clarified the problem to me and then I presented my solution. My idea was to use some basic format properties of book text, for example number of paragraphs, size of paragraphs and so on. This way a book named "Albert Camus-The Stranger" would match a book "Famous Authors-L'etranger" (the example might not be realistic but it gives the idea)
The 45 minute had finished and it was time to ask my own questions. I asked a couple of things (one being if book search is still beta to which the engineer falsely responded that it is not!)and some other lame how-wonderful-is-Google questions and we said goodbye.
The next day I was informed by my recruiter that I had done well we had to proceed to the next stage. Overall, the guy I talked was very kind and showed a lot of understanding when I was stuck in the first and simplest question. But now I had to prepare for the 2nd interview which my recruiter had informed me that would be much more technical...
Continue to the second interview
Wednesday, January 2, 2008
Netscape Navigator (1994-2008)
Netscape Navigator or simply Navigator is DEAD.
On December 28th 2007, AOL announced that will no longer support Navigator.
You can find the original announcement here. It has already been filled with comments.
Indeed, this is huge news. I mean, ok, we already knew that Netscape did have a tiny percent of Internet users, but it cannot be doubted that Netscape has been one if the most innovative software companies and that the Navigator is 'responsible' for the massive explosion of the Web. An amazing variety of technologies were first explored by Netscape: SSL and Javascript are some of them. One clue, it is top in the PC World's List of 50 best Tech Programs. In an era when only a few people were actually aware of the so-called World Wide Web, in a period during which even Microsoft was too busy with productivity software, actually overlooking Internet opportunities and considering it a 'fad', it was Netscape Communications that created the definition of the "killer app".
The actual story of Netscape is also fascinating (The great browser battle, Navigator vs. Explorer is now history), including stock gain records, mythical quarterly revenues, innovations, trials and many other leading to the decadence and death. You can find a very nice article here.
On December 28th 2007, AOL announced that will no longer support Navigator.
You can find the original announcement here. It has already been filled with comments.
Indeed, this is huge news. I mean, ok, we already knew that Netscape did have a tiny percent of Internet users, but it cannot be doubted that Netscape has been one if the most innovative software companies and that the Navigator is 'responsible' for the massive explosion of the Web. An amazing variety of technologies were first explored by Netscape: SSL and Javascript are some of them. One clue, it is top in the PC World's List of 50 best Tech Programs. In an era when only a few people were actually aware of the so-called World Wide Web, in a period during which even Microsoft was too busy with productivity software, actually overlooking Internet opportunities and considering it a 'fad', it was Netscape Communications that created the definition of the "killer app".
The actual story of Netscape is also fascinating (The great browser battle, Navigator vs. Explorer is now history), including stock gain records, mythical quarterly revenues, innovations, trials and many other leading to the decadence and death. You can find a very nice article here.
Subscribe to:
Posts (Atom)