Trivandrum, 22-05-2009(Friday):
It was a good day. The climate was so calm. Arun is fast asleep, relaxed on a holiday. It was around 7am when the phone rang. It was his teacher at the other end asking if he is interested in working with 'Linux'.
"Ofcourse! I am", said Arun.
"My friend is running an IT company and he asked for people interested in working with Linux, I will give you his phone number so that you can talk to him"
Arun rang up his teacher's friend, Raju. And he said he is free at 3pm but Arun having some other appointment asked for a change in time.
Raju said, "Give me a call by 10:30am and then I can fix up an appointment"
Being a holiday, Arun, his wife and brother set up playing 'SEQUENCE'. It was around 10:30am and as per schedule the call was made. Raju said, "Can you come now?"
"Now?, okay I shall be there in few minutes"
In a hurry, he started. Reached the place in 35minutes. Now happened the most disgusting thing of the day, it cannot be mentioned as the most disgusting thing in his life as he has encountered or met with even worse situtations or people.
He met Raju and Anilan at the office. The interview or so called meeting started off with an introduction on what Arun has done and why he is interested in working with Linux. And then followed a discussion about a project which Arun is undertaking and the details about its working. It is a small URL shortening service which generates short urls automatically or uses user given custom urls. Arun mentioned that it was done in 4 days and still there are more bugs to be fixed. If the user wants to create a custom url then the serial number associated with each URL is made 0. Or if it is a system generated one, ie if the user doesnt enter a custom name then the serial number associated with the URL is a non-zero value, an incrementing value. So each time the system wants to generate a short url it makes a db lookup for max(index number). Add one to the obtained value and it is then converted to Base62, which I defined as 0-9a-zA-Z. The interview panel which consisted of Raju and Anilan having never heard of Base62 asked details about it. (There are many things which we consider we are masters of, but 'everybody is ignorant but on different levels').
"My friend is running an IT company and he asked for people interested in working with Linux, I will give you his phone number so that you can talk to him"
Arun rang up his teacher's friend, Raju. And he said he is free at 3pm but Arun having some other appointment asked for a change in time.
Raju said, "Give me a call by 10:30am and then I can fix up an appointment"
Being a holiday, Arun, his wife and brother set up playing 'SEQUENCE'. It was around 10:30am and as per schedule the call was made. Raju said, "Can you come now?"
"Now?, okay I shall be there in few minutes"
In a hurry, he started. Reached the place in 35minutes. Now happened the most disgusting thing of the day, it cannot be mentioned as the most disgusting thing in his life as he has encountered or met with even worse situtations or people.
He met Raju and Anilan at the office. The interview or so called meeting started off with an introduction on what Arun has done and why he is interested in working with Linux. And then followed a discussion about a project which Arun is undertaking and the details about its working. It is a small URL shortening service which generates short urls automatically or uses user given custom urls. Arun mentioned that it was done in 4 days and still there are more bugs to be fixed. If the user wants to create a custom url then the serial number associated with each URL is made 0. Or if it is a system generated one, ie if the user doesnt enter a custom name then the serial number associated with the URL is a non-zero value, an incrementing value. So each time the system wants to generate a short url it makes a db lookup for max(index number). Add one to the obtained value and it is then converted to Base62, which I defined as 0-9a-zA-Z. The interview panel which consisted of Raju and Anilan having never heard of Base62 asked details about it. (There are many things which we consider we are masters of, but 'everybody is ignorant but on different levels').
Then came a predictability problem by Anilan in which a user can predict that the system is going to create B after A has been created. But a URL shortening service is not provided to hide anything. And so Arun made it clear that there is no predicatbility associated with it. Let the user predict. (Instance of correcting the BOSS)
Quoting another popular URL shortening service, Anilan asked, "In X.com they create random short url rather than going for Base62 or anything like that, then why didnt you do that?"
When creating a random number/random string the system may not always generate unique strings, the system can generate same strings for two different requests. So there is a uniqueness problem and the cost of calculating the random string will increase as the number of strings increase(as more and more short urls are created). So Arun did not want to go for random string generation. Anilan thinking that random string generation is the best possible option or the only option, was reluctant to accept Arun's explanation. (Instance of trying to make the BOSS understand a new solution).
Anilan asking another question on Arun's URL shortening service. "You use unique numbers/serial numbers for each short url you generate and then convert it into base62. You could have simply used the number instead of doing Base62 calculations"
Using Base62 calculations even a 12 digit number can be represented using 5 characters. So www.example.com/ABCDE is better and shorter than using www.example.com/123456789999. It saves 7 characters. And in Arun's system the serial number is not unique as 0 is used to identify a custom URL. Hence it cannot be used or is not efficient.(Instance of telling the BOSS was wrong).
Anilan now switching from URL shortening service to check knowledge in respective field of study. "Are you strong in Networks?"
"Well I am confident in it, may not be 100% but I know major things around 95%"
"Write a subnet with network address?" and Arun answered,
10.0.0.251 is an IP address and 255.0.0.0 is the subnet mask of that network. It is a Class A IP address with first 8bits representing the network part and the rest of the bits representing the host part. And 10.0.0.0 is the Network address.
"Write it in a single line, I should be able to understand it from a single line?" said Anilan.
Arun was not sure about how to represent it in a line as that was not done practically or it was just found in the text books. And Arun said he is not sure about it.
And now Anilan wrote the representation. Which was 10.0.0.0/8 which our poor Arun didnt know or was unaware as it is just a notation and has nothing to do with the basics. Arun had already explained that 255.0.0.0 stands for the first 8 bits of 32 bits to be 1. And that the 8 in 10.0.0.0/8 just tells the same thing. So being knowledgeable about the subject is not enough to talk to people with little knowledge(like the boss here) who just knows the text book notation. Reference
Now Anilan asking about future plans or why Arun didnt try for any job in Technopark or some other IT companies.
As per Arun due to recession only few companies recruit people and these companies are taking advantage of the situation as they get good hands for peanuts. Arun quoted examples of two companies who give just 4500-6000 rupees salary for a Software Engineer and with a bond of TWO years. So joining such a company would waste 2 years and Arun wont be able to take up a better oppurtunity during this time. So Arun being really interested in Teaching and Research field opted for teaching and started taking tutions and later joined an engineering college as a lecturer. So Arun didnt want to go after the Industry demand or people who wants to take advantage of the present situation. Arun wants to work for some time and then do higher studies.
Raju commented that there is no bond in their company, but maybe he just missed out to mention about the pay. Arun gave them a hint about his monthly earning which comes upto around 13 to 14k or more through his work in college and tutions. So either a pay higher than that would be attractive or it should be a job that satisfies him to the core and not just any IT job.
Now Anilan disappointed with the 'POOR' performance of Arun in Networking section decided to give Arun another oppurtunity. "What is your favourite subject, may be a subject for which you have scored good marks"
"Well if asking about marks, then I have excelled for my Labs" Arun said.
"Not labs, some other theory subjects" said Anilan.
"Data Structures may be and I have also scored considerably good marks for Distributed Systems"
Now there were few questions about data structures. And Arun explained about Data, and need for data structures. Explained about Linked Lists. Static allocation, dynamic allocation, self referential structures, doubly linked lists etc.
Now it was Raju's turn. "Consider a situation where you dont have a database storage. So how will you design your URL shortening system using data structures only".
Arun said hashing is a method for faster searching so that the search is optimized. And Raju said that optimization and all can be done later. But Arun wanted a good design and so he started with Linked Lists so that static allocation problems wont occur, such as limit of array or wastage of memory.
Raju said dont go for Linked Lists, so then Arun said Trees will be better and Arun doesnt want it to be arrays because of static allocation in C/C++. Raju asked if Arun knew python programming language and Arun said he just knew the basics.
Anilan said "We will do it language independently".
So Arun went for Linked List and for hashing(just a rough idea). And the panel rejected it and said arrays is the best solution and that in python the arrays are hashed and there is no limit(accepted, but remember, the panel said it shall be language independent). Arun was trying to implement exactly the same thing.
If an array is not limited then it needs dynamic allocation and Arun was trying to implement that with Linked Lists. And to optimize searching Arun suggested hashing. (The thing which the panel has to consider now is that no good design in the world was made in 5minutes, it takes weeks or may be years to develop a good system).
Now the panel is ready to end the session. And was silent for a few moments and said that they dont think they can take this any further. But did not ask Arun to leave. Instead they went for more questions. (Simply waste of time, and maybe a sadistic approach).
Quoting another popular URL shortening service, Anilan asked, "In X.com they create random short url rather than going for Base62 or anything like that, then why didnt you do that?"
When creating a random number/random string the system may not always generate unique strings, the system can generate same strings for two different requests. So there is a uniqueness problem and the cost of calculating the random string will increase as the number of strings increase(as more and more short urls are created). So Arun did not want to go for random string generation. Anilan thinking that random string generation is the best possible option or the only option, was reluctant to accept Arun's explanation. (Instance of trying to make the BOSS understand a new solution).
Anilan asking another question on Arun's URL shortening service. "You use unique numbers/serial numbers for each short url you generate and then convert it into base62. You could have simply used the number instead of doing Base62 calculations"
Using Base62 calculations even a 12 digit number can be represented using 5 characters. So www.example.com/ABCDE is better and shorter than using www.example.com/123456789999. It saves 7 characters. And in Arun's system the serial number is not unique as 0 is used to identify a custom URL. Hence it cannot be used or is not efficient.(Instance of telling the BOSS was wrong).
Anilan now switching from URL shortening service to check knowledge in respective field of study. "Are you strong in Networks?"
"Well I am confident in it, may not be 100% but I know major things around 95%"
"Write a subnet with network address?" and Arun answered,
10.0.0.251 is an IP address and 255.0.0.0 is the subnet mask of that network. It is a Class A IP address with first 8bits representing the network part and the rest of the bits representing the host part. And 10.0.0.0 is the Network address.
"Write it in a single line, I should be able to understand it from a single line?" said Anilan.
Arun was not sure about how to represent it in a line as that was not done practically or it was just found in the text books. And Arun said he is not sure about it.
And now Anilan wrote the representation. Which was 10.0.0.0/8 which our poor Arun didnt know or was unaware as it is just a notation and has nothing to do with the basics. Arun had already explained that 255.0.0.0 stands for the first 8 bits of 32 bits to be 1. And that the 8 in 10.0.0.0/8 just tells the same thing. So being knowledgeable about the subject is not enough to talk to people with little knowledge(like the boss here) who just knows the text book notation. Reference
Now Anilan asking about future plans or why Arun didnt try for any job in Technopark or some other IT companies.
As per Arun due to recession only few companies recruit people and these companies are taking advantage of the situation as they get good hands for peanuts. Arun quoted examples of two companies who give just 4500-6000 rupees salary for a Software Engineer and with a bond of TWO years. So joining such a company would waste 2 years and Arun wont be able to take up a better oppurtunity during this time. So Arun being really interested in Teaching and Research field opted for teaching and started taking tutions and later joined an engineering college as a lecturer. So Arun didnt want to go after the Industry demand or people who wants to take advantage of the present situation. Arun wants to work for some time and then do higher studies.
Raju commented that there is no bond in their company, but maybe he just missed out to mention about the pay. Arun gave them a hint about his monthly earning which comes upto around 13 to 14k or more through his work in college and tutions. So either a pay higher than that would be attractive or it should be a job that satisfies him to the core and not just any IT job.
Now Anilan disappointed with the 'POOR' performance of Arun in Networking section decided to give Arun another oppurtunity. "What is your favourite subject, may be a subject for which you have scored good marks"
"Well if asking about marks, then I have excelled for my Labs" Arun said.
"Not labs, some other theory subjects" said Anilan.
"Data Structures may be and I have also scored considerably good marks for Distributed Systems"
Now there were few questions about data structures. And Arun explained about Data, and need for data structures. Explained about Linked Lists. Static allocation, dynamic allocation, self referential structures, doubly linked lists etc.
Now it was Raju's turn. "Consider a situation where you dont have a database storage. So how will you design your URL shortening system using data structures only".
Arun said hashing is a method for faster searching so that the search is optimized. And Raju said that optimization and all can be done later. But Arun wanted a good design and so he started with Linked Lists so that static allocation problems wont occur, such as limit of array or wastage of memory.
Raju said dont go for Linked Lists, so then Arun said Trees will be better and Arun doesnt want it to be arrays because of static allocation in C/C++. Raju asked if Arun knew python programming language and Arun said he just knew the basics.
Anilan said "We will do it language independently".
So Arun went for Linked List and for hashing(just a rough idea). And the panel rejected it and said arrays is the best solution and that in python the arrays are hashed and there is no limit(accepted, but remember, the panel said it shall be language independent). Arun was trying to implement exactly the same thing.
If an array is not limited then it needs dynamic allocation and Arun was trying to implement that with Linked Lists. And to optimize searching Arun suggested hashing. (The thing which the panel has to consider now is that no good design in the world was made in 5minutes, it takes weeks or may be years to develop a good system).
Now the panel is ready to end the session. And was silent for a few moments and said that they dont think they can take this any further. But did not ask Arun to leave. Instead they went for more questions. (Simply waste of time, and maybe a sadistic approach).
Anilan asked "What is the use of subnets"
It is used to divide the network into smaller networks called subnets/sub networks. And so using a subnet a user can actually broadcast a message to all the hosts in that network. And that is the need for a subnet.
Anilan is now happy and said that Arun has satisfactorily answered 'one' question. (So this means the BOSS has some answer in his mind and he is not satisfied until he gets the exact 'PHRASE' may be the same and exact words written in the text book the BOSS refers to).
Raju asked "What will be your branch of study for higher studies?"
Arun said that he has not decided anything as of now. But would like to go for Artificial Intelligence.
Now the best comment from Anilan. "You know something, that is the most stupid thing to do. Artificial Intelligence, that is a field of study where nothing has happened for the past 25 years."
Accepted, but Arun has few questions and thoughts to share about it. Is the lifetime of a person enough for an invention/discovery? Well may not be always. 100 years may seem rather short in a research field. A research may not always be initiated and completed by the same person or the same group of people, it may go beyond their lifetime and may be taken up by another generation. The so called industry is just implementing things and many of them does not contribute to research and development. Industry is just applying/using the knowledge which was obtained through research by people who started from nowhere and spend years for it. So telling that for the past 25 years nothing has happened in AI and so it is a stupid field to get into, is a foolish conclusion. It took years and years for us to be using the PDAs, Laptops and all the things beginning from big vacuum tubes (IC's were invented much later and contributed to the existence of the so called Industry).
Arun would also like to quote an interesting thing. Gregor Mendel who is the father of Genetics was never accepted for his valuable works during his lifetime. It was not until the early 20th century that the importance of his ideas was realized. In 1900, his work was rediscovered by few others. Mendel's work remains to be the foundation of all studies, research, any advancement in Modern Genetics.
Also, considering some other technologies like the field of Biotechnology, which is still a developing field. It takes years for an outcome but can we ignorantly say that if nothin significant has happened for the past few years, then it is a stupid field? We expect miracles(even being able to design the genetic structure of human babies) to happen in those fields and AI is one of these fields.
At the end of the discussion, Arun took time to explain why he was after linked list and why he couldnt tell the exact notation 10.0.0.0/8 , instead using 255.0.0.0, they are both the same.
Now Raju said,"I will tell your teacher about the result of this interview".
It is used to divide the network into smaller networks called subnets/sub networks. And so using a subnet a user can actually broadcast a message to all the hosts in that network. And that is the need for a subnet.
Anilan is now happy and said that Arun has satisfactorily answered 'one' question. (So this means the BOSS has some answer in his mind and he is not satisfied until he gets the exact 'PHRASE' may be the same and exact words written in the text book the BOSS refers to).
Raju asked "What will be your branch of study for higher studies?"
Arun said that he has not decided anything as of now. But would like to go for Artificial Intelligence.
Now the best comment from Anilan. "You know something, that is the most stupid thing to do. Artificial Intelligence, that is a field of study where nothing has happened for the past 25 years."
Accepted, but Arun has few questions and thoughts to share about it. Is the lifetime of a person enough for an invention/discovery? Well may not be always. 100 years may seem rather short in a research field. A research may not always be initiated and completed by the same person or the same group of people, it may go beyond their lifetime and may be taken up by another generation. The so called industry is just implementing things and many of them does not contribute to research and development. Industry is just applying/using the knowledge which was obtained through research by people who started from nowhere and spend years for it. So telling that for the past 25 years nothing has happened in AI and so it is a stupid field to get into, is a foolish conclusion. It took years and years for us to be using the PDAs, Laptops and all the things beginning from big vacuum tubes (IC's were invented much later and contributed to the existence of the so called Industry).
Arun would also like to quote an interesting thing. Gregor Mendel who is the father of Genetics was never accepted for his valuable works during his lifetime. It was not until the early 20th century that the importance of his ideas was realized. In 1900, his work was rediscovered by few others. Mendel's work remains to be the foundation of all studies, research, any advancement in Modern Genetics.
Also, considering some other technologies like the field of Biotechnology, which is still a developing field. It takes years for an outcome but can we ignorantly say that if nothin significant has happened for the past few years, then it is a stupid field? We expect miracles(even being able to design the genetic structure of human babies) to happen in those fields and AI is one of these fields.
At the end of the discussion, Arun took time to explain why he was after linked list and why he couldnt tell the exact notation 10.0.0.0/8 , instead using 255.0.0.0, they are both the same.
Now Raju said,"I will tell your teacher about the result of this interview".
Anilan added "We will give feedback of this session to our colleague and we will decide together".
Arun said "If it is something negative you can let me know directly".
Arun continued his day and by around 8.15 pm, his teacher called him and she seemed very disappointed. She said that she didnt know there would be an interview and that is why she called him only on the day of the interview and that if she had called 2 days back, Arun could have prepared well. Arun said that it was just a communication gap and that he explained the basics and the interview panel expected the exact notations(textual/theorotical).
Now the rethinking, Arun wasted around '2 hours' in the office which he could have utilized for something else. He is happy that he doesnt have to work with these kind of people. He is now leading a happy life. He considers these kind of things as experience for him to learn from. And by around 3.15 pm the same day an email had reached Arun's inbox stating that he has been shortlisted for a wonderful job(details will be disclosed shortly) and so Arun is now very confident that God has nothing bad in his plans for Arun and so this nonsense does not affect him in anyway. Arun does not want to be a 'highly paid slave' of the so called Industry.
A most expected comment on this story is that " kittatha munthiri pulikkum" meaning something which you failed in, will seem bad to you. But this article is not written in that context. It is indeed written sarcastically to point out the ignorance of people who think they know everything.
Arun continued his day and by around 8.15 pm, his teacher called him and she seemed very disappointed. She said that she didnt know there would be an interview and that is why she called him only on the day of the interview and that if she had called 2 days back, Arun could have prepared well. Arun said that it was just a communication gap and that he explained the basics and the interview panel expected the exact notations(textual/theorotical).
Now the rethinking, Arun wasted around '2 hours' in the office which he could have utilized for something else. He is happy that he doesnt have to work with these kind of people. He is now leading a happy life. He considers these kind of things as experience for him to learn from. And by around 3.15 pm the same day an email had reached Arun's inbox stating that he has been shortlisted for a wonderful job(details will be disclosed shortly) and so Arun is now very confident that God has nothing bad in his plans for Arun and so this nonsense does not affect him in anyway. Arun does not want to be a 'highly paid slave' of the so called Industry.
A most expected comment on this story is that " kittatha munthiri pulikkum" meaning something which you failed in, will seem bad to you. But this article is not written in that context. It is indeed written sarcastically to point out the ignorance of people who think they know everything.
Names have been changed, as they usually do with reports.


