 Two sessions have, you know, which covered Android in some from, from the programming, programming, you know, area. So, I feel we felt that why not we cover the concepts rather than programming. Programming can be, you know, by looking at the developers manual or things like that. But concepts are actually more important. So, then we decided, so our challenging guys around 11 to 12, so they have taken a challenge that they will finish almost everything of Android, what is there? They had very limited time which was like 3-4 days only to prepare on all of this, right? Am I right? Or more? 3-4 days. So, this is a little mix of, is not just, so this is a little mix of different things. And internals of the OS itself, but we are not covering Linux 2.6, because it is well known that it is, the documentation is fairly available almost everywhere. I mean, there are good books on 2.6. And Android, we will not find any good books or there is much, not so much as 2.6 of Linux which we will find. Or maybe you have to like, you know, hunt a code, you know, open and dissect it and then do some appropriate operations on it. So, there were bunch of different, different areas from where and then this way the stack we were actually following. So, we are trying to cover the whole stack. I do not know how much is going to get covered, but at least to some extent we are touching every area. So, apart from Android, so we are also covering some energy applications, applications which are dependent on, you know, all applications which take more energy. Certain applications take more energy, certain. Now, if you are talking about low power devices, energy becomes very critical. So, you need to take care of energy in such scenario, because you may not want the device to be off after 2, 3 hours. You may want the device to function for pretty long time, 5 hours. So, how can, can we see, these are the issues which are there, can we solve some problems in that area? So, Anjini will be actually presenting that. So, there is one invited presentation. I found this is important because you all like Facebook and Orkut and there are many, many, right? Twitter and all. So, all of the technology which is used there, you know, to understand, they are, they are not, not the same as what it was 4 years back or 5 years back. They changed dramatically. Now, in connection to Android, can we see that such data? I was, I was actually dreaming about connecting, say, 1 million Android tablets to convert 1 million Android tablets into a supercomputer. Because if you see such a small, small device, a small board which is costing, I think it is around $40. So, around $20 would be the cost of the board. I think the more cost goes for the LCD, which is a capacitive touchscreen. So, if you actually see the supercomputer which are there, say, 10 to 15 years back, the whole, the board that they had is comparable to the board that you have now here, like this. So, that's the power that you have now. So, why not, why not even think of doing, you know, like, you know, having such a large scale, you know, on the fly connecting systems wherein you can avail the power of such system and use for high computations like in high performance computing or CFDs like, you know, computational fluid dynamics or there are many like even simulations, aerospace simulations or anything like that, you know, which requires enormous amount of computational power. Your machine cannot do that, small machines. So, I was thinking about that and but still it is not the same as how deep and big table and highs and whatever. So, they are slightly different, but then you can see the shift that has happened, you know, the paradigm shift that has happened from the times that we have been using databases. Databases were structured, you know, schema, schema oriented, highly schema oriented and now there is no schema. The schema is to be inferred. That is what these people do, Facebook and Google or Yahoo or any of these people. So, then, okay, the beginning with the first presentation we will have that is embedded operating systems, operating systems which are tiny, not like massive as Microsoft operating system, Windows or to that matter this Linux based operating system, so which are tiny and which are very, which require, you know, you know, good faster response because they have to be ported on smaller devices. And now if you consider the real time aspects of certain operating systems, right. So, if you then your monolithic kernel which is there, the Linux kernel 2.6 and above, which are monolithic, they do not perform that well. So, real time applications do require different operating systems. And I was thinking that or many of us were thinking that nowadays everybody wants in real time. Then why not use real time operating system on such devices? I think we want everything in real time, right. So, fast. It's not that we want to wait and we are happy with what we have. We want something faster. So, why not use a real time operating system rather than Android? Android is not real time. It's not real time. So, this is, this is, so he's not covering real time. I thought he would cover. So, there are a bunch of RTOS, RTOS, real time OSS, RTOS, then they are not covering. There are many. I think it's L4, L4, L4, L4, yeah, yeah. And yeah, looking things from a different aspect rather than not taking what people are giving us. That is what we are trying to see whether we can think better in a different way. Then working the same way that people have given us this code and that code and which is coming right in the system. Something different. And then kernel driver, this will be quite interesting because a lot of things that Nimit will be touching on. And he will almost cover the major section of the driver part. And the major section itself is a binder, binder interface. Then on 17 June, we will be having something on security issues. So, one of the MTech students will be covering the security issues right in Android, not anywhere else. Right inside Android. What are the problems? Why this OS does have a problem? I mean like, so there are certain inherent problems because the design of the system itself, the operating system design itself or the wrappers or the way the binder interface or the RPCs are actually being used in that in this system, this Android system. So, now you can see the flaws in the system design itself. And then maybe you can look at the enhancement to a system. So, deep study is required. It is not one day affair or one hour that you can do anything. It will take maybe one year or two years to think. But to understand these issues, you need to go inside the cardinal to open it up, see where is the loophole, all of these things. And those loopholes which have already been identified, expose them and then do a lot of algorithmic, computationally you can keep on verifying the system. There are verification methods available, wherein you can actually verify an OS. So, I don't know how many of you are familiar with this, what is that? I always forget. Functional programming languages. Functional programming? No, functional. Haskell, you heard of Haskell? Scheme, yes, ML, Haskell. So, you will be surprised that Haskell was used to actually verify a real-time operating system. Why would they not use C or C++ to do that? You might have not heard that outside nobody talks about functional programming languages. But if you go in the R&D sections of the bigger companies, you will find such things happening. And Haskell is used, I think, almost more than 50% of the different companies that you see, big big companies. I am not talking of small companies, we are all established companies. So, I don't remember which company it was, but to verify the operating system using Haskell. And that was surprising. So, coming back to the security issues, you know, he will be looking at different places where... So, he will not go and open the codes. He will look at some papers of which he has come across and then expose it to you also that you can also get benefited. Or maybe tomorrow you want to do some project in security. I mean Android security or something like that. So, one thing that is, you know, like what I feel is more important, rather than, you know, like just doing a two-month summer internship is actually a small course. It's just not enough. There must be something common, you know, like a mailing list or somewhere, you know, wiki. So, projects getting put up on such wikis and then, you know, updates happening at such places where you get good material to read or directions to go and do some good work. Not essentially the final project, but, you know, getting to more things rather than just doing for the sake of doing a project. In fact, many people do that. That's motivation. They say motivation for, you know, motivation for writing theses is to do, but the motivation for writing theses is always different. The motivation for writing theses comes from the scenarios or very exciting examples that you can give and which require more attention. So, that is motivating. Some people, motivation is doing theses or getting a grant. So anyway, so I was thinking, you know, if you can have a common repository somewhere, you know, pushing contents, good contents, you know, not just flooding, but some minimal content required or some direct direction, you know, for a particular topic. You know, what are the papers, research papers you can read and things like that. Go after one another. So you get a clear direction right in the beginning, something like that, rather than just do some more intensive and go. That's not good enough, right? There must be something. Or maybe like, you know, take the Akash tablet itself along with you when you go and then start working on it. Then Anshita Garwal, she's not here I think, she will be there. That's on 17th actually. So we are covering authentication mechanisms on Android. So we are not sure how much what is available on it, but in general she's going to cover authentication mechanism and then look into Android what is exactly there, right? So another interesting one which is going to happen is Dalvik Virtual Machine and Comparison and Java Virtual Machine. How they are different? One is stack-based, one is a register-based. Sun and Google, they are fighting. They are saying that Java is faster. Google is saying Android is faster. I mean, sorry, Dalvik is faster. But traditionally if you look at the stack-based machine, it has to be slower. It cannot be faster. But Java, some people claim that it is faster. That is also possible. We don't know because internally how it is designed. So it takes a lot of time to actually understand all these things. Why this is faster? Why that is slower and all that. We don't know. Certain scenario it may be faster. For certain scenario it may be slower. So the virtual machines, how they are different and you know. So it's quite interesting to go inside and see so many things right there. And one person cannot do everything of this. That's a problem. So that's why I said, why not take many people and do all this. In fact, one story. I read 100 books in five hours. It's quite interesting. You would be surprised. 100 books in five hours. Can anybody tell me how? Index? Now I know what you do. There were smart and intelligent people. Five of them. Each of them had 20 books. I had a discussion with them for five hours. Regular discussion. And finished reading all 100 books. That is what you are going to get today. In this whatever they have spent for three, four days or five days. You will get in one hour. Like that. And then Android application framework which will be done by Ravi. Pavan will take up the educational applications. But he will not exactly take the educational applications which are available. I don't know what he is doing. But I feel that you would be doing something like this. That is looking at what educational applications could be beneficial for the society. I mean for students. For students who are in higher education or engineering section. So what is that? You know the mindset is different actually. Students' mindset is different. The engineering students they have different way of looking at applications. Their way of access is also different. So I think probably should be focusing on that in that aspect. So I hope you get some good material there. Because I am still doubtful as to what. But if you look at OLI which is online learning initiative. Or in fact the OLI itself that is CMU's. Carnegie Mellon University. They have been doing it for last 50 years. 50 years experimentation. Just to know what is there in his brain. I mean not yours but just psychology. Psychology of a person. Is he really not? Is he just sitting and smiling here? So trying to understand. And then they have some control groups. An experimental group. So then they relate to each other. Experimental group is doing well. So the experimental group is something. Which is using the latest technology of our education. I mean for learning like applications or like virtual chemistry. Some of you may be doing virtual chemistry. Right? Virtual chemistry that are. Applets. Many people are doing applets here I know. So then comparing whether this applet what you are devising. What you are making this applet. Is it really going to give a student enough information from this applet. This is the question. Unless until you highlight the way of interaction. This is normally called as the human computer interaction. If you want to do research to know whether this thing is going to give enough benefit to somebody. You know in this context then human computer interaction. Computer is here, human is here. That is the interaction. And now you abstract it out. And then find out what are the different patterns that a human accesses that device. What ways? Does it run faster? Does it run slower? You know at what frequency? There are many many things. So there is another department here which is doing that which is IDC. So they have course which they have one area which is human computer interaction. So you can actually look things in many many different ways. And find answers in many many solutions to it. Not one perfect solution. There is nothing like that. There is no one perfect solution for anything of this. So it is not 2 plus 2 equals 4. After sometime 2 plus 2 becomes 22. So when you are small 2 plus 2 is 4. When you go up then 2 plus 2 becomes maybe 6 I do not know. And then when you go higher 2 plus 2 becomes 22 or it becomes infinity. So there are bunch of things that they are going to cover. And then we will have interactive session. Of course I will be helping him whenever he is in going to be in trouble or you can carry on. Because I think he is having the potential. You have to show your kinetic energy now.