So, we wanted the TAS to be familiar with it because I think as far as we have seen once the videos are done with the props most of the work is going to be handled by the TAS. You know hosting the thing there is a lot of interaction with the students which again probably the TAS will be handling itself. And we will also require some kind of interaction with you at some point which we will be bringing out later on. So, the workshop we expected to be like max of 2 hours. So, we have two parts to the workshop. So, the first part is going to be the Google course builder platform. So, that is a platform on which the MOOC courses are being hosted. So, it's an online portal on which all the courses, the videos, the assignments, everything gets hosted. Andrew, would you like to take over? Okay. So, the first part of it will be that we have Ms. Chitra here who has been Professor Nagendra's TA. Professor Nagendra had a basic electrical circuits course which ran from August to December. We are having the exams for that course now. So, she will be explaining what are the processes involved in that. And we have the next part of the workshop today will be handled by the people from TCS. TCS is an exam partner with whom we actually coordinate opening up the registration forms for the exams and the final conduct of the certification exam. So, they will tell you in what ways they will have to interact with the faculty, what is the data required from the faculty and so on. So, essentially the workshop is of two parts today. So, we've had three courses so far. One, we completed the whole process which was programming data structures and algorithms. That was a course run by our computer science department faculty, Prof. Hemamurthy, Prof. Narayan Swamy and Prof. Shankar Bala Chandran. That ran from March to July. And currently we have two courses which is one is basic electrical circuits by Prof. Nagendra of IIT Madras. And Prof. Satyadeva of IIT Kanpur has been offering an introduction to programming in C. So, this the coming Sunday we are having the certification exam for the two courses which is one date. And the other exam is going to run on December 14th. So, by end of December we hope to close these two processes. So, the next run of courses we are having starts from January 5th and it goes on up to February 28th. That is a course run date wherein the students will actually have the lessons coming out to them as assignments and so on. We'll share all the dates with you I'm just telling you. And we have ten confirmed courses lined up for the January-February term. So, amongst that we have like I think six courses from IIT Madras, three are from IIT Kanpur and we have one from Chennai Mathematical Institute Madras. So, total of ten courses. Maybe one or two may get added we are not sure. So, ten are confirmed as of now. And the exam dates for that will be on March 22nd and 29th. So, that is what we are looking at as exam dates. And the course starts from this. So, we have some pre-processes wherein December 1st, the major thing that we'll start of before I give it off to Ms. Chitra. December 1st we plan to start the enrolment for the courses. There are two paths to a course. The course is entirely free. Anybody can enrol, there is no criteria or whatever for anybody to enrol to a course. Anybody can enrol, they can view the videos, they can submit the assignments and everything. So, that happens, there is only a fee collected for if somebody wants to write the certification exam. So, at that point of time we tell them that there is a fee you have to pay to register for that. So, the enrolment we are starting on December 1st. So, we are opening up the ten courses. We'll have to have a one page ready for them. We'll show you a sample of that. Wherein we'll require a two minute video from we'll require a two minute video from each of the faculty introducing the course. And then we'll require some details about the course, about the course instructor, about anything else you think. You know who the intended audience might be. Any basic requirements you have for somebody who would want to follow the course or something like that. That page we would want it to be ready by November 28th. This Friday we would require a sign off from all the faculty which we would like you all to follow up with the faculty saying that, yes that page is ready and we are opening it up for enrolment on December 1st. So, December 1st we will show it live and it goes that day. Yeah, this is the page that I think Ms. Chitra will handle. So, this is one immediate requirement that we will have from you by the end of this week that we will require. So, firstly the page will be created for them by you or the admin, right? Okay. Okay. So, one part is, I mean, for me the course, the first page was already set up. That is the, in the Google course builder. Okay. So, that part, I can, I mean, if you are able to log in to Google course builder I can show what to do. How to create that login, I am not sure. Maybe creating this. Okay. So, once you log in, this is the, and if you go to your course, you will see a page like this and to edit it, I mean, all of the editing is done from what is known as this course dashboard. Okay. I think it's already here. I don't need to go there. So, this is where you edit all of the settings. Okay. So, there is a tab called settings, which is where, which is where the front page of the course is controlled. Okay. So, for instance, I mean, you can't read this by right here. Let's see. Okay. So, this is the, this is the front page that anyone will see. Okay. Before logging in. Okay. So, this is sort of just an introductory portion for this one, for the course, and you can have the course abstract here and so on and all kinds of information about the course. Okay. This is the biography of the teacher. This is the list of topics and so on. And there will also be an introductory video, whose YouTube ID has to be entered here. So, that, so first let me show you the view of somebody who is not logged in. Let me log out of here. Yeah, first let me. Okay. So, this is the preview page. I think it is showing first. I think this has changed now, right? The way the things look has changed a little bit, but so you can see the course and so on. All of this information is basically what was in here. Okay. Whether bio, the list of topics, I showed you earlier, for instance, the list of topics is here and that is what appears here. Okay. And also, if you click on this, they will see a 2 minute or, okay, in my case, 7 minute introductory video on what the course is all about. Okay. So, I mentioned the course video. The idea of this YouTube video, the introductory portion will be in here. Okay. So, that is how you set it up. But once the login is set up, it is automatically, they have a course builder account here, is it? Yeah. Okay. So, maybe I will log into one of those. Yeah. What is that? HS. So, this, I think my course data has been copied to this. No. Oh. Yeah. Okay. Okay. I think this is not in the, I think let me. Okay. I have to do HS. Oh, this is underscore. Yeah. So, this information, the URL information will be given to you. So, then, okay. So, right now, there is nothing here other than the title. So, if I go to the... Instructor is here. That is good. Okay. So, then, I mean, whatever goes on the front page, you can include in this. Okay. By going to settings. So, that is about what you see on the front page. I mean, by clicking Edit here, you can edit everything in this one. So, right now, you see that only the course name is entered. Everything else is blank. Okay. Welcome email. Yeah. So, that, what happens is, whatever email you enter here, so anytime student registers for the course, this email will go to them. So, in my, I mean, it usually has some, the same preliminary information as you have in the rest of the, I mean, on the webpage itself. It says, yeah, welcome to this course and this course will have this many weeks of content, the usual stuff, some preliminary information about the course. So, that is what it is going to be. Yeah. That is right. That is the other thing. So, it is, otherwise you have to do the HTML formatting by adding those tags. So, if you click on the text, you can enter it and use these things for your formatting and so on. Okay. Yeah. So, all of this has to be entered by... Yeah. So, I think this is already there. It is already done for this and enable registrations, this will, I think, they will do it on December 1st yourself. Yeah. Yeah.  So, this is, I mean, the fields are self-explanatory and you can always go back to one of the existing courses to see what goes where. Okay. So, now, this outline is where you will have all the content, that is, lessons and units and so on. So, by the way, the settings is something that you do once and then leave it there. This outline is what you will be playing, outside and assets are what you will be playing with constantly because every week, you will have to update the lessons and units and assignments and so on. Okay. So, now, I will go back to my course and she will show how to how to handle, how to add content into this outline page and how it appears in your, in the course view. Okay. Use an idea in the password that requires to be used here along with the URL and everything. So, you can check with the faculty method that you mentioned. So, it is all been created for everybody. So, now, I will go to the outline of this course. You can see a number of things listed here, units and lessons under them. So, in this, in the Google course builders terminology, so, each hour or hour and half lecture that is what is called a unit and that will be split up into small segments and each segment is called a lesson. So, where that appears, I mean, where that is relevant is if you want to add one of these things, it says unit 1, preliminary, current and voltage and so on. This I created by adding a unit and these by adding lessons within that unit. She will show the details. Now, of these things, basically we have used the first four up to analytics is something where you see the data of who has, how many people have solved assignments and so on. This mentors and peer review, we have not used for our courses. Peer review is kind of straightforward. You can have some assignments which will be peer graded, but we have not used them. I do not know if it is a relevant thing and an important thing for your course, you can use that. This mentors, I think that facility was there, but I guess we, I mean nobody was. This is actually not for us. It is more for we have to set who the mentors are and the mentors can track the progress of the students. For instance, if your course is being seen by let us say a group of students in a college, there could be a mentor in that college who could also be tracking their progress and so on. She will show these things, adding the units and lessons and assignments and all of that stuff. One thing is, I mean, you can go on editing this and during editing, of course, you can keep things private. For instance, some of these things it shows it as being private. It means that it will not be visible to others, but in your own course view, it will be visible. So you can go on editing until the look and feel satisfactory and then make it public. Okay. I am Chitra, an MS student working under Professor Nagyantra Krishnamura and I was an TA for this online course. So we will begin with the first page. As you can see, on the left side, there is an outline. The lessons and units have been listed out. The lessons and units have been listed out there. And towards the top right, you can see the options, announcements, forum and progress. The announcements will take you to the announcement page. Forum is a discussion forum and progress will show you the progress of a student. In the sense, it will show you how many quizzes a particular student have attempted. Similarly, the average score for each quiz. And all this has been set up from what is known as a course dashboard. This is the course dashboard page. In outline, we can see all the lessons and units listed out. The assets page consists of all the supporting materials, like the images required for questions, some questions, etc. Settings, this has been covered already. Analytics will show the number of students who have enrolled for this course and the performance of, number of students who have attempted and the average score of all the students in the quiz. I will skip the other three topics and help. It has an area of materials that you can use whenever you run into trouble with Google course builder. Coming to outline, I have created a small demo unit. I will first show you the demo unit and then we can recreate it once again here. This is the unit name, demo one. It is followed by the lesson name. A video has been embedded in it and then this is the context related to the video. Now to create this, we go to the course dashboard in the outline page and we click on add unit. We give a title, we retain it as private for the time being, then click on save. Once the unit is created, we have to start adding lessons to it.  So in our case it is demo two. Now for video ID, we have to give the URL of the YouTube video. So, suppose we want this particular video, whatever you see here, after the v equal to sign. Let us say you set this. So, I will show this separately. So, if this is a YouTube video, URL, whatever you see after the question mark v equal to, this is a YouTube ID. So, you select this, select the material to the lesson body. We go to the rich text mode and enter the text. It is easier to edit in rich text mode and it is easier to enter stuff also. In the sense, it is easier to insert images and other components. But suppose you want superscripts or subscripts, then it is easier to use it as an HTML tag. You can use the SUP or SUB tag. So, this is done. The lessons, individual lessons can either be made private or public. You can make much of a difference as long as the unit is made private. So, if the unit is private, you can create lessons as public. And at the end, once all the lessons are finalized, you can make the unit private. So, for the time being, I will create this as a public lesson. Let us see how this looks like. We have created the unit demo to the lesson. So, this is what we have created now. Moving on to the next lesson to be created, this consists of some questions. Now, this question has three parts, the text related to the question and image and finally, an interface. So, the student can enter an answer and check if the answer is right or wrong. So, there is a box to enter the answer and a box to give you the feedback. Now, in case the student is not able to find the answer by himself, he can click on skip and show answer and the final answer will be shown. Now, let us see the first step in creating an activity question like this is to upload the image related to it. So, for this we go to the SH page, scroll down till you reach the images section, click on this and you can browse the image from your system and upload it. For the time being I will use the images that has been uploaded already. Let us create one more lesson for this. I will put the same video in a particular format inside this box. I will show you the format first. So, where activity equal to question type it can either be free text or multiple choice. So, in this case it is free text then question HTML we give the question in HTML format. So, if you want to enter something in the next line you have to use the HTML tag hx this shows the answer the correct answer hx it shows the answer to which the students answer will be matched. Now, suppose you give just minus 160 within two forward slashes the system will search for minus 160 in the string that has been entered by the student. So, even if the student enters minus 1600 it will show a correct match. Now, if you want an exact match please add a hat at the beginning which will make check for string matching from the beginning and dollar will check for the string matching from the end. Therefore, this gives a complete string match. Then correct answer output gives you the feedback if the answer is correct incorrect answer output gives you a feedback when the answer entered by the student is wrong and show answer output is what you get when the student clicks on skip and show answer. Now, if you have any question getting out the answer do you have to technically know those details or is there anything You just have to know the script once meaning once you have the format you can reuse it again and again. That's the only way to do it. For a person who is not familiar with those tags and those You don't have to touch anything else like she pointed out. You just have to use within Now, activity title can be given but in case you are not giving a title it will get saved with the lesson idea and lesson title. So we leave that for the time being activity is listed when you want this activity to appear as a separate lesson but currently we want it under the video so we uncheck that box so once this is done we save it and now we have to include this red tool kit the component to be inserted is an activity and the activity id is this that's the same as a lesson id and lesson title so we save this let's make the lesson public and save below the lesson that's an important part of the MOOC meaning the whole idea is to have short segments and make the students work something out to organize the lessons in a way I mean it's up to the instructor I know but it is good to organize it in a way that the segments are short and after every segment there is some activity related to the segment. So this is what we have done right let's check the next lesson so again this has a video followed by a multiple choice question the procedure is the same don't get graded right no you can't is there a default option or is there an option to be graded no if you choose it as an activity it is not it can be inserted as a question and then it can be graded I have it as an assignment I will add the same video id for the time being and for a multiple choice question this is the format question type is multiple choice question html you enter the random choices in single quotes you first give what has to appear on screen then you give whether this is the correct answer or the wrong answer and then some feedback to the student so I'll copy paste it and we'll insert this into the lesson body get the activity into the system and then second time to be able to insert it so this is also I think an example of a way to create activity question if you don't want to type any text or anything the entire question has an image to include that image in the place of the script you only need to have that image you create the thing in any word processing software and then you can save it you still have the choices choices have to be in the question it's only the choices you have to the images can be easily inserted in the lesson body for example say I want to insert an image here we click on this and you can give the image URL to get the image URL all that you have to do is go to and in the images section once you click on an image you can copy the URL from here next we will see how to set up a quiz so in an assessment questions are there along with images if required followed by boxes where the student can enter the answers and then finally a submit answers option so once they enter all the answers and click on this it will be graded and they will be able to see their percentage so to create this to the outline so this has four steps in the first step you have to upload the images second step we have to create the questions third you combine these questions into a question group and in the fourth step you actually create the assessment so let's assume that the images are already there then we have to create questions so for that in assets click on add short answer so you can type your question here description is like a question title for us to identify which question it is and then for score you can give some score for the question grading if the it's some number that you are going to check select numeric and we give the response here finally save it there are more types of answers run in the activity in activity it is limited to either text matching there is string matching or multiple choice here you have those two as well as numerical answers and there was one more multiple lines of range range range and in that string matching now I think this answering a matrix is also included of course it is relevant mostly to technology type of courses but you can enter a matrix as an answer when there is multiple choice question click on add multiple choice you can enter the question here some description and whatever you want on screen the options at the student should be able to see that has to be entered here it emphasize the reason for the description naming it in that name description that is all this is done as you can see in the outline here by the end of the course you will have several questions with you it is going to be a whole lot and you will find it very difficult to identify which question is which so if you have some naming convention with respect to the lessons or the topic it will become easier towards the end to identify them right now I have named them like this so that it comes up at the top good way of numbering is to have good way of naming is to initially have the numbers but the first unit questions appear at the top but not only numbers but then you have some textual part also which tells you what question is and whatever is the correct option the radio button corresponding to that should be selected once I allow multiple selections I can do that so I will save this the number of choices I mean we can go on adding that so feedback is for if he chooses that option you give him a response we do not give them a direct response right now I do not know find out nobody seems to similar to yeah I guess it is similar to the feedback and activity where if you enter a correct answer whatever answer you enter it can come back with a feedback it can say this is the wrong answer or this is the wrong answer because I mean you could say things like that oh you have forgotten something or whatever sir I try that for this and show it I think it has not been properly maybe they have not of course we did not have any use for it sir intention for the feature but it is not fully conduct once we have created sufficient questions like this we create a question group so click on add question group and then we select the questions that have to be added we can add more questions or we can delete existing questions and each question can be given some weightage so I will give equal weightage some weirdness some bug I guess that when you create the question you can also set some weight for the question number of marks I would say that you always use one mark for every question and the actual weight you want to have in the assignment you enter it here let's say the first question carries two the second one three and the other two one you put two three one one here whereas the main question should be created with just one mark because if you do two there the final so this business of creating question group and using it in the assignment it's sort of optional you could create the assignment directly from the questions but we found this to be very convenient to group all the questions for an assignment into a question group and pull only that question group into the assignment and finally we create the assignment so click on add assignment give a title select the parent unit and in rich text mode click on this the component type is a question group and select the question group click on save the submission new date should be entered in your month date format followed by the time now the deadline the time is given in universal coordinated time so this is five and a half hours earlier than IST so suppose I wanted to be at 10.30 in the morning I have to enter 4.30 here oh sorry 10 in the morning I have to enter 4.30 there is a to enable that what it will do is I think it works it gives a check answer option and they will just show the score that's it final score oh that's it it doesn't it says individually does it not say correct or no it doesn't seem to show it shows the final score it shows the final score on the same page it shows that one out of two is correct on the same page on the same page after you submit it will show it and you can submit any number of I think that there is also a lot of multiple submissions normally we always enable this that is they can go on submitting any number of times the last submission is what is going to be counted before the submission deadline but if you want to disable it it's possible only once is to two scary I think you should allow multiple submissions one more thing once you create the quiz if you retain it as public within a unit that is private the quiz will still be visible the student will not be able to access the quiz but it will appear in the progress page so they get confused with it so it's always better to keep this as private the assessment in a separate unit below the main unit if you make it part of the unit that will not be easily visible and it can create some confusion that's what we found like this these two are units and this is an assignment unit so this should cover the basics of uploading video lectures and creating assignments any doubts here many doubts and people start doing it so what I would suggest is we create an email group of course admins and you can add so on so that people have any questions they can post it there and hopefully somebody will answer that should be easy enough to do created from the main unit so once the unit is created then you can make it public so that is fairly easy direct to select the unit make this public so it's a live course actually that she's editing it's dangerous to do these things so and once that is done we usually send out an announcement to the students so for that go to the announcements page and you can add a new announcement or you can edit an existing one so to publish it the status has to be changed to published and then if you check this option an email gets sent to all the people control to this course so this option you'll be used with some care if people don't enjoy too many emails coming and then if you make one mistake you can't keep sending emails again and again so it's good to have a way in which there is you know double checking of the email one person types the announcement another person checks and then you send it over at least double check make sure you put all the information in there correctly and then send one email it's very important to do that and for this course related to each topic we made one announcement with the heading and then we kept on editing it and each time we edited it we send out an email to all the students so suppose it's about the weekly lectures we'll have an announcement section like this and every week we edited it what she's saying is we did we had only one announcement listed here so that when you go to announcements you don't see 100 announcements for every week's lessons so you will see only one lecture for the week and every week there are so many solutions this is a discussion forum so this is where students post all their questions and we can answer it and sometimes they discuss the activity assignment questions even before the deadline so then we have the options of deleting it but I think all that is clear it's easy to figure them out yeah it's a standard Google groups if you've used any Google group interface this is exactly like any other Google groups which is just embedded here but since your course admin you'll have slightly more authority you can pin the posting on the top you can do all those kind of things anyway I think all of you most have used enough discussion groups still one somewhat useful feature is that many times people keep asking the same kind of questions so then what you can do is instead of answering it you can set a post to be duplicate of some other post okay so that's useful so that anybody who clicks on like 100 similar questions will go to the same thing and possibly your answer to that so we click on the set as duplicate option and then and then it will show then we can search for the post that we are looking for and set this as a duplicate of that quite active particularly just before the end of assignments the deadline is very active and people probably expect some answer so manning this is important so this one I mean she was checking every morning I used to do it in the evening she and the other tears everything okay besides uploading the courses this could be there every day and no I guess the asking questions with the example yeah that covers the basics about handling this any doubts there's no dissemination no material like readings as such it's just the lecture which gets no there's no dissemination of actual attachments you can so in each lesson you could have links to PDFs and so on we didn't do that in our case we had everything and the questions but if you want to first of all that below the lecture below the lecture video you can have text as well I mean you could kind of type your lesson whatever textual part of your lesson right there or you can provide a link to you can also have a lecture lesson without a video yeah yeah for instance they've created things like that they've created units which are only questions and also create units which are only text anything you want so in fact that can be separate for every lesson so for every lesson I mean let's chapter this to I mean chapter X of book Y you can have it right below that can you go to one of the lessons just go to one of the lessons and click on edit lesson there yeah first go to the lesson itself yeah so the lesson shows up like this so you have a video below that there is something yeah in our case we have only links to downloadable versions also because sometimes the live internet may not be accessible in google drive and you can see that links to downloadable videos so they can download and watch it offline and then so that's just some you can have any text in place of that one you can have links to let's say pdf file or anything and you can also have a lot more text you can have suggested reading you can have these questions anything can you go to edit lesson on top the pdf file there is no provision to upload it here it has to be you can put it in the assets and call it yeah I think I would suggest drive drive is the better way put it in google drive and call it okay is there a possibility I think there is one is there a possibility of a student submitting some hand written assignment or whatever scanning it and uploading it as a pdf or an image somewhere is that option available already or do we need to request them don't think so don't think you could kind of do it in some crazy way you have to go outside of the course middle of platform you don't have it so they could put it on there google drive get the link and then put that link as part of the answer and then this essay type question where they put that link and the TAS will have to go look at that link why would you do that I think some courses are now requesting for that for that uploading images with an image if they want a descriptive answer how do they do it we can upload images in the forum without any issues in the forum it can be done but everybody would assign each person can you go to the so instead of that two lines of text you can have anything you want this is a rich text window where you can put word like typing so can they give an access like this to the student actually where he can probably put in an image and put in some text in principle I am sure it's possible but google course builder will have to be rebuilt for rebuilt it's also complicated with storage how much you do etc but because they are login with google id easiest thing they don't drive they don't drive they don't give the link


All right. Good afternoon. Welcome back. Oh, that's not on. That would be a thing. There we go. All right. So lab four grades are back. So there's no feedback on it. So I'll upload to your repository the actual breakdown of the marks. I've already posted what TA is graded what part. So lab four stuff, I'll upload when I get back on the train after this lecture. So lab five going ish. Going okay. I added more test cases to lab five. You guys are oddly quiet. I don't know if it means you haven't started yet, which isn't good. Yeah. Yeah. Yeah, because you're meant to read it a little bit. Because the lab you're only writing like a hundred lines of code if that. So yeah, mostly it's reading. I can add a bit just ask questions if you have more. I think I answered the same thing. It's like, you don't need that many functions to actually do this lab. So you can ask, but yeah, you can ask. I'll add more context to it. But yeah, part of it was reading it, but I can add more context if you want. Okay. All right, well, I'll do that after. So yeah. All right. So today, page replacement. So the fun stuff. So we've kind of explored disk, we've explored memory, we've explored CPUs and know that each of them kind of have its own cache. What we've been talking about so far, fastest speed memory on your computer are the registers which are on the CPU. They're going to be the fastest things, but there's always this capacity, speed, trade off. And also the speed trade off is typically also a price trade off. So you have a few registers are really, really fast, but there's not very many of them. Maybe there's only 64, 32, even maybe even 16 on some systems. Then below that, there is RAM actually on your CPU die itself that caches, it acts as a cache for the memory. And typically this will be a bit bigger. It'll be like in the megabyte size. Some of the big ones now have like 128 megabyte L three cache or whatever. So that's as quick as you can get on your CPU, but capacity is bigger, but it's going to be slower. And there's different levels of cache. Each are smaller and less capacity than the other ones. So below that is memory. So that's RAM, your random access memory, all of your volatile memory that gets wiped whenever you reboot your computer. That's pretty fast. The capacity is pretty good. And it's not that expensive. And that's typically in the gig or gigabyte ranges. So like 64 gigabytes of memory is not typically uncommon now. And then below that, there's your NVMe. So that's starting to get into the disk drives. That's what we talked about a few lectures ago. So the fastest version of that is called NVMe. So that's non volatile memory. So it uses some principles of memory.  So that's the non volatile part of it. Then below that are SSDs or solid state disks, which are going to be higher capacity and cheaper, but also a lot slower. And then below that, there's hard disk drives, which many of you have never seen before. Those are the mechanical drives that go around. Sometimes people call them spinning rust because they like making fun of them. And then below this, you'll see tape drives.   We got a few VHSs. Oh, we got excited VHS. Is that like nostalgic now? Okay, cool. So the tape technology, like it writes stuff directly on a tape. Well, that actually applies to computers too. And they can actually store, if you go super crazy with it, tapes can store terabytes and terabytes of information. And they are dirt cheap, but they are also dirt slow. But that is something like Google and IBM and all those companies that store massive amounts of archival data that will never be written again, or that they will use very, very infrequently are actually written to tape drives, kind of like a VHS tape. But they are like, they will actually store like terabytes of information. But they're really, really slow. Because if you actually, you can look at YouTube and see them some of these videos. So there's actual physical tapes. And if you want to retrieve information, you get to see the machine go physically grab a tape, put it in the machine, and then read it really, really slow. So that's actually used, but no one in their same mind is going to use it. Yep. Yeah. So flop floppy drives are like magnetic, but the capacity is really, really bad. The flop floppy drives are like 1.4 megabytes. So no one's ever going to really use those. And the like actual floppy disks that actually flop, I forget how big those are, but those are even before my time. But yeah, they're just old, old, but it's the same principle. It's like magnetic disk storage kind of. Okay, so part of this diagram for all the memory, if you are properly using the memory hierarchies, you want to create this fun little illusion where each level pretends to be as fast as the speed above it, but have the capacity of the layer below it. So if you're using the disk, like non volatile memory, like a really fast SSD drive, ideally you want it to be as fast as memory, but also have store or also have its own capacity. And maybe even a higher capacity if there's even a slower disk on the drive that or slower disk on the machine that is bigger. So we can use this today. We'll be talking about kind of bridging this gap between persistent storage and actual and your actual physical RAM or actual memory on the machine. So when you're using your machine, you're using your processes, you might notice that even if you look at the actual RAM used by a process, the total amount of RAM used by every single process on your machine can actually exceed the amount of physical RAM on your machine, even though it's all in use. So how it does this is it will go ahead and cache any memory that's not in use and throw it on the disk drive. So if you need it, it can go grab it from the disk drive. If you don't, it just stays there and it can swap in and out whenever it wants. So you might notice this whenever your computer is running slow or has anyone ever seen a file on Windows called the page file or the swap file or something like that.  That's basically a cache for your RAM that if you actually run out of physical memory, it will start offloading some of that storage to that file, which would be on disk. So the idea behind that is you only keep pages in memory that are actually referenced and then you put others on disk and sometimes you have the nice property like we saw before.  And whenever you need to access that information again, you can read it back from disk and put it back into memory whenever you need it. So today we will be talking about page replacement algorithms, which is just picking which memory to swap to disk, one you need to access something that is not currently in memory. So there's four main algorithms we'll go over today. There's optimal, which is just replace the page that won't be used for the longest. And this is completely impractical because this is looking into the future. And it's mostly just for evaluating your page algorithm knowing what the benchmark is for the best you can do. And then there's another strategy which might be intriguing and easy to implement. There's random page replacement where you just randomly throw to page disk and swap it out. Then there's also our good old first in, first out, which would replace the oldest page first. We've been using first in, first out. It seems to be like the default for every single problem we have to do in operating systems. And then the last one we'll look into today is least recently used. So the idea behind that is we replace the page that hasn't been used in the longest time because the process is probably done with that for now and it's accessing other pages. So for all of this we're going to assume that it's like a silly assumption but we'll assume that our physical memory can only hold four pages at a time. And whenever we access memory we want it to be, or whenever we access a page we want it to be in memory. But initially all the pages are already on disk just so we have something to do. And we'll use this for every lecture or every example in this lecture. So our goal for page replacement is whenever you swap in a page you want to swap in a page that will be used continually and our goal is to reduce the number of page faults because each page fault is terribly slow because it actually has to read it physically from disk which as we know is a lot slower than actual memory. So that's our criteria is basically the number of page faults. Yep. Yeah so in this case so we can generate page faults a few ways so page faults can just be that it's not mapped or you can use page faults for other things so like lab five you're using page faults for copy on write. For this we're going to use page faults to actually read in information from disk. So you can use page faults for a variety of different purposes and this is just another one of kind of fooling the system to thinking it has more memory accessible than it actually has. So again we're assuming our physical memory only holds four pages and then we'll just I'll just tell you the accesses in terms of what page it accesses. So in this example we're accessing page one two three four then one two five one two three four five. So at the top of all these I'll put whatever page we're accessing so in this case we're accessing page one and within the box at the bottom is what is currently in physical memory and whenever I color a page red in physical memory that means we read it from disk and we put it into physical memory. So if our first access into page one initially there'd be nothing in memory because that is our assumption. So I would have to read it from disk and read that page into memory so it is now red indicating a page fault and I read it from the disk into memory. All right same page have to say that joke. All right so now if I access page two also not in memory so I have to bring it to disk or sorry I have to bring it yeah I have to read it from disk into memory so I would read page two and I can hold four pages in memory so I don't have to kick anything out so I would just have page one and two in memory now. Similarly for page three same thing I read it from disk put it into memory and now it is in memory I can hold four pages so I'm still good. Now I access page four same idea it's not in memory yet I read it from disk now it's in memory and now my memory is full because it is at capacity because I can only hold four pages so now if I try and access page one I don't have to read anything from disk because I already have it in memory so now there's nothing red there's no pages in red because it's already in memory I don't have to do anything you could also think of this as a cache hit if you want or whatever you want. So same thing is going to happen for page two it's already in memory no problem there don't have to do anything so the interesting thing happens at when we access page five so when we access page five we need to bring it into memory but in this case since it's full we have to kick something out so now our problem is we have to kick out either one two three or four and which one would we like to kick out so votes for kicking out one but we like one votes for kicking out two votes for kicking out three some of us don't like three votes for kicking out four most of us don't like four more enthusiastic for four so this one says we're trying to do the optimal thing so let's do a hypothetical and do what no one wanted so if we kick out page one now so we replace page one with page five in memory then whenever we do the next access of page one well we just kicked it out so we have to reload it again so that's a big waste of time so if we're doing the optimal thing we will kick out whatever page is not whatever page is not going to be used for the longest time so you can start at five and then go up to argue about it until you have one page remaining so between page one two three and four well the next page access is one so I'm not going to kick it out then after that access page two so I'm not going to kick it out then after that access page three so I'm not going to kick it out and then at this point I only have one page remaining so I would kick out page four so I now replace page four with page five yep yeah so I removed four so I still have to swap it out because it's not in memory but I just have to pick something to kick out right so if I picked if I picked one to kick out you know in the next access it wouldn't be in and I'd have to load it back again right yeah you have to load back four eventually in this case but it also might be the case that I never access four again or something else it could be way longer than this but this is like a very it's hard to get like big picture examples from this because I have to fit it on a slide and explain it so now because we replaced page four with page five well we essentially looked at the future so our next three accesses are all going to already be in memory so we're all good we access page one already there don't have to load it from disk page two same idea page three same idea and now we get to page four so now when we are loading in page four well we're stuck we actually have to load it in to memory now and we need to kick out a page so we can kick out one two three or five and in this case there is a bunch of correct answers it's just if I look ahead my next access is to five so I don't want to replace page five because I would just have to reload it again anyways which would be slow but I don't use one two or three anytime in the future so I can pick any one of those in this case to kick out in this case I'll just kick out one so I would replace page one with page four and then I'm good next access is page five it's already in the cache yep or memory yeah so we'll see in other examples with the same sequence so it's optimal in the sense that we're reducing the number of page faults because we're delaying it as long as possible so for this case we didn't have to reload anything for like three accesses in a row well if we pick the wrong thing we would have to reload it immediately right yeah yeah here we're trying to just minimize the number of page faults and if we look into the future that's the lowest number of page faults we can get for that sequence there's another question no yeah yeah so the question is how do we know which one so in this case we have the sequence and we can look at it so this is just to evaluate them because we're looking in the future so yeah so in this case we already know the entire sequence so this is mostly if we're analyzing these types of algorithms well you would record the number of page accesses and then analyze it after the fact and you can compare it to the optimal so so here our goal of this is just to count the number of page faults in this case makes it really easy you just count the number of red numbers so for this sequence with this algorithm there are six page faults so we can remember that because we'll we'll very shortly make very poor decisions so poor decision let's use FIFO because we always use FIFO as like a first first try thing so same accesses same problem except this time we're not doing optimal we're doing first in first out which will not look at the future so you'll probably find it make a bunch of very poor and borderline silly decisions so the only thing we can't avoid is the four accesses at the beginning because there's nothing in memory so the first four are going to look the same where we have to bring them into memory from disk so everyone okay with doing that so I can just skip it for the rest of the other ones okay so the next access going to follow the same suit as optimal we're accessing page one already already in memory no problem already there our next access page two already in memory no problem already there now here is our decision so now we can't look into the future you have to look into the past so we'd want to access page five it is not in memory we have to kick something out so we have to kick out one two three or four so between one two three or four what did we add first so one anyone so one was the first access so that's the first thing we added in memory and you can pretty much look backwards and see that oh yeah we added one to memory first so that's the first one we got to kick out so if we're doing FIFO I added one first so it's the first one out so we replace one with page five which you can see is going to add be a bit of a problem so we just kicked out page one replaced it with page five and now our next access is page one crap I just kicked it out so I have to reload it again from the disc so now I have to pick do I kick out page five page two page three or page four well yeah in this case I would have to pick out page two because that is the with all the ones remaining that's the oldest one and it also kind of looks like a diagonal line when you look at it with the red numbers like this so that's an easy way to do it really really fast so I had to kick out number two so now in memory I have five one three and four and then I do my next access my next access is the page two the one I just kicked out oh geez this sucks so I have to pick one to replace now I replace page three because it's the oldest one all right great doing a great job here now I access page three when I just kicked out again so I have to do this again and the oldest one now is page four so I kick it out oh okay my next access is to page four wow I'm doing a real good job here you can see how this is kind of a crappy approach so between what is remaining in memory now one or five one two and three five is now the oldest so I kick it out so I replace five with four and now I have four one two three in memory and now I finally access page five which again I have to bring back in and now my oldest is one so this would be my final final access where I brought bring it in so now if I count the number page faults here or count the number of red which there is an access which there is a lot of how many page faults do I have now I'll pretend I heard 10 yeah I see 10 mouth so now I have 10 page faults so you can so this decision was clearly the bad one so optimal was six and now if I did FIFO I did 10 so it was way way worse for this memory trace so any questions about that yep so the question is why don't we replace individual bytes instead of pages so if we replace individual bytes instead of pages first your hard disk does not like accessing bytes it only accesses blocks at a time and two it's the same reason why we do it for a memory subsystem because things are really really slow so if we can bring in a page at a time it's way faster yep good question though okay so let's do something fun so this was FIFO we have four or we had four pages we could hold in memory so let's do this again same sequence same everything except now I have less memory so I only have three pages I can hold in memory so if I can only hold three pages in memory my memory is smaller that kind of makes me suspect that I should have more page faults because I have less room to store things sorry so if I have less memory it makes sense that I have more page faults right because I have less room to store stuff everyone agree with that or the other way if I have more memory I should have less page faults yep okay yeah so what you might expect by looking at this is okay well let's go the other way so if I have more pages I will have less page faults so if I started here where I had four well if I can hold five pages in memory I'll just have the five page faults when I initially load them in and then that's it because I can fit everything so if I have five pages I'll have five page faults if I have four pages in memory I have ten page faults you might expect that trend to continue where if I have three pages or less physical memory I'll have more page faults because it won't fit but let's just make it smaller now so we'll do the same FIFO thing but instead of this time instead of having four pages we can only hold three pages in memory so our first three accesses are going to be the same because we need to load it into memory from disk so now this will kind of give us the intuition behind it that this is bad because whenever we access page four well that generates a page fault and we have to kick something out which should be worse than before because we didn't even have to kick something out whenever we uh whenever we access page four because we had room for it so if we access page four we have to kick out one two or three in this case it's FIFO again so we're going to kick out page one so we kick out page one load in four and this is what our access looks like and now it's looking real bad for this because our next access is to page one which we just kicked out so we're going to have to load it back into memory and we're going to have to kick out the oldest one which would be page two which looks real bad so now we have five page faults in a row we're not doing too good so our next access is to page two which again we just kicked out of memory we are doing very very crappy here so we have to kick out whatever the oldest one is in this case it's page three so we would replace page three which page two okay so things still aren't looking good so our next access is to page five we have to bring it into memory we have to kick out the oldest one which if we're doing that waterfall thing is now page four so we kick out page four replace it with five so everyone on the same track right now we're all good okay so this is where our luck changes a little bit so now our next access is to page one thankfully it's already in memory so that is a hit and not a page fault so that's good next access is to page two all three in memory we're all good next one is to page three page three we have to load in from disk into memory and replace the oldest one in this case the oldest one is page one again so we replace page one with page three so now in memory we have five three and two now we're going to access page four when we access page four we replace two because that is now the oldest one so now in memory we'll have five three and four and then our last access is to page five which thankfully is already there so now we have this so how many page faults is that nine which is less than before so we have less memory and less page faults which seems a bit weird so if you took that to its extreme if you want to speed up your computer and make page faults less common just get a smaller hard drive right it's everyone's solution to everything so that might imply that this isn't used so this thing actually has yeah yeah so yeah so the question is is that always the case and the answer is someone has gone far in the depth for that problem so there's a name for this so it's called belladay's anomaly and it actually formalizes it more and it says in general more page frames cause more page faults and this is a problem with all of the FIFO algorithms it doesn't exist in at least recently used or lru that we'll see much later or stack based ones so in fact for that question they actually wrote a paper about it some mathematical people wrote a paper that's in greek that i can't read but they figured it out in like 2010 that it's actually unbounded so given any sequence or any combination of it you can come up with a sequence that gets an arbitrary number of page faults so that's fun if you really like math you can go read that paper if you want have any questions about that paper don't ask me because yeah i did engineering not math so for all other algorithms your intuition is correct where if you increase the number of page frames or increase the amount of memory you have it will decrease the number of page faults which is more what you actually expect so this is just for FIFO algorithms which is kind of a fun thing all right so last one for the day we'll do least recently used is that a question yep yeah so if you go with the extreme cases you can come up with different ones but this is like yeah for the non-trivial cases they can come up with anyone okay but for us we don't really care because we're not going to use FIFO because it's garbage so the first one we actually will use which we'll see is kind of impractical but we can actually argue about it is least recently used so it doesn't look into the future it just looks at the usage pattern in the past to kind of predict the future so again same accesses same everything as before we'll go back to four pages and do the same tie or sorry and do the same accesses so our first four going to look exactly the same where we have to bring it into memory from disk then again our next two accesses are going to be the same so one and two are already in memory so we don't have to replace anything so we're all good so our first question comes in now is now if we are replacing or if we need to read in page five again we need to replace page one two three or four so least recently used is as the name implies you go backwards in time and whatever has been used or whatever is least recently used or whatever hasn't been used in the longest is the one you kick out so if we start at page five and look backwards well right before five we use page two so we're not going to kick out page two so it's safe then we look at page then it accesses page one if we go backwards so we're not going to kick out page one so it's safe and then if we look back another one it used four so we're not going to kick out four so it's safe so there's only one page remaining in memory and that's poor old three so three it hasn't been used in the longest so it's out of here so we would replace five with three so any question about that fairly ish straightforward okay so now we actually made a good decision this time for a change so our next access is to page one and this is typically how memory accesses actually happen on your machine if you use a page typically you're running a program something like that you'll access you know the next thing in the array which will typically be on the same page or you'll execute the next instruction which will probably also be on the same page so this is more like memory access patterns you'll actually see on your machine so access page one we're all good it's already there so we don't have to replace anything then we access page two again already there don't have to kick anything out now when we access page three oh shucks now we have to kick something out again so again we look backwards in times to see what has been used least recently so if we go backwards we can't kick out two because it was used right before too safe we also can't kick out one because it was just used so one safe and we also can't kick out five because it was used right before that so five safe so by process of elimination four is the one we kick out which will prove to be a bad decision but hey we made it so we kick out four and we replace it with three and now we access page four which unfortunately we just kicked out so it will do the same thing so we'll look backwards we have to kick out page one two three or five so we'll go backwards so we're not kicking out page three we're not kicking out page two we're not kicking out page one we're kicking out page five which again unlucky decision so we kick out page five with page four and we end up with this in memory now we access page five and we have to do the same thing we have to kick out one of them so again we'd go backwards we're not kicking out four we're not kicking out three we're not kicking out two so we're kicking out one so we replace one with five and this would be our final answer so if we count the number of page faults here well one two three four five six seven eight so now we have eight page faults so it was better than FIFO wasn't as good as optimal but it was clearly an improvement over FIFO so any questions about that yep oh yeah so the question is if it's done sequentially when would we have a tie so you would have a tie only in the case of like multiple cores or multiple processors that might actually try and access the same thing at the same time so for these questions they're all sequential if we assume one core so there won't be a tie but that's mostly there for like for practical mirrors if it looks like a tie you just used FIFO to break it okay so this kind least recently used kind of sucks practically so it actually works fairly well it's just whenever you go to implement it it is a pain so if you want to implement this in hardware well you have to search all the pages so you have to search all the pages in memory and actually do the traversal which is like order n which really really sucks so you could implement it and that would you keep a counter for each page that essentially says oh when was I last accessed and then if you have to replace a page well you could save that clock you know you save the time on each page and then you search them all to find whatever the oldest one is and then you kick out the oldest one but that involves saving a clock for every page which is going to take some space and scanning through every page which is going to be really really really really slow so you could do it in software we could be like oh yeah well link lists are one they're constant time that's great so let's just create a doubly linked list of pages and then for each page reference well I would just move it to the front of the list and that way I maintain that the order of my link list is the order of accesses so if you just have an access to it then it goes to the front of the list so if you do that well then your link list is actually ordered by access time without having to store it explicitly because you're just moving it up now for replacement that's really really simple you could just look at the back of the list and say I'm removing that page but the problem with this is that the constant the constant really really really really matters because that constant of adding that page to the front of the list happens for every single memory access on your machine so every single byte you would have to do essentially six pointer updates for everything every memory operation you use on your machine so it would slow down your computer by like a factor of a lot by like several hundred probably on each reference so it's not going to be practical whatsoever and there's also it's even worse if you assume multiple processors because you would have one queue and then say eight processors trying to all manage that queue at one time and as we know from lab four that's a data race so all the processors would have to contend with updating that list so it even be worse than that constant time thing so this would just be absolutely abysmal and you just couldn't do it so what we settled for is an approximate least recently used and we think that is okay because least recently used is kind of an approximation of the optimal algorithm if you think about it it's just using the past to predict the future instead of actually knowing the future so there's a lot of different tweaks you can do to implement more efficiently so next lecture we will look at the clock algorithm but there's also a bunch of different one there's least frequently used which is a little bit different where it counts the number of usages there's like using two hardware queues there's adaptive cash there's all types of what different algorithms with different tradeoffs and we will just see one particular one that's a bit more easy to understand in the next lecture all right so any questions next lecture will be a fun one because I animated a little clock it's lots of fun so goal of today we use page replacement algorithms to reduce the number of page faults because we're now taking advantage of disk being bigger and trying to fool our operating system into using more memory than it physically has so we saw four algorithms we saw optimal which is good for comparison but not realistic random we didn't do an example of it because as the name implies it's random but if you actually analyze how well random works well it actually works surprisingly well it beats FIFO quite handedly because in practicality it avoids the worst case if you just randomly make a decision you can't really make a bad one or you're least likely to make the worst decision possible which FIFO tends to do so it actually kind of works in practice FIFO we saw kind of easy to implement but it has that anomaly where we give it more RAM and we have more page faults which kind of sucks and then lastly we saw at least recently used which gets close to optimal but it's expensive to implement but it's the first one we saw that's actually practical so with that just remember fooling for you we're on this


I'm Dr. David Meyer, I'm the Director of Contact Lens Services at the Moran Eye Center, and today's video is going to focus on placing a gas permeable contact lens on a patient, and we'll be looking at a proper fit and an evaluation of a gas permeable contact lens. There are a number of reasons why you would fit a gas permeable contact lens, or a GP lens, as opposed to a soft contact lens. If a patient wants very sharp, crisp vision, GP lenses typically do a better job than soft contact lenses. Another reason you would fit a GP lens is if the patient has keratoconus, or another form or type of corneal lactasia or corneal irregularity. GP lenses do a very good job of neutralizing irregularities on an abnormal eye, and they help focus light where it's supposed to go. And so for patients with corneal lactages, almost exclusively, we use gas permeable contact lenses to restore their vision to be as sharp and clear as possible. So for today's purposes, for the patient, I'm going to be fitting him with a standard gas permeable contact lens. The one that we'll be using today is the diameter is 9.4 millimeters. That's a very standard size for a gas permeable contact lens. It's quite a bit smaller than a soft contact lens, so they tend to be a little bit easier to put in and take out. The biggest disadvantage with these contact lenses is adaptation. It takes a while for the patient to get used to it. It's a foreign body. It's not quite as soft as a soft contact lens, but most patients, with a little bit of time and with patients, they end up doing just fine. So for today, after I've taken the keratometry, I've done a full case history. I've determined with the patients that a gas permeable contact lens would be the most ideal option for him. And after I've cleaned the contact lens, I've done a topography and found that his average K readings are about 45 diopters. Now in this case, for a standard GP lens for a patient that has a normal cornea, you typically pick a base curve of a contact lens that's slightly flatter than the average case of the patient. And so in this case, I've got a contact lens that's a 44.25 base curve for a patient with a keratometry average of 45 diopters. And so after cleaning the contact lens, I'm going to actually have the patient keep his head level and look straight ahead. And I'm going to pull down on his lower eyelid and kind of pull up on his upper eyelid and set it directly on the front surface of his cornea, just like that. And have him blink normally and let it settle down a little bit. It's very common to have some tearing, especially with the GP lens when you first place it on the cornea. And so in some cases, I will first put one drop of perperacane on the eye before doing so. In this case, we did this with this patient. It helps reduce tearing and it helps the patient adapt to the contact lens at least a little bit easier. At this point, what's very, very important with the gas permeable contact lens is after it's settled down to do an over refraction. Over refraction is vital with GP lenses because that's really the only way to know what power of contact lens to order. In this patient's case, the contact lens's power is a negative 3.0. I can do an over refraction to determine what the ideal power would be for this patient and with the base curve of 44.25. To get a good baseline, I'll often do retinoscopy to get an idea of where to start.  And in this case, the contact lens's power is a negative 3.0. And in my over refraction in the retinoscopy, I can tell that you'll need a little bit more power than that. So for the over refraction at this point, I'm going to show them the 2040 line and I'm going to take out some of my working distance and ask the patient, can you read any of those letters? Yes. Read them for me. F, Z, B, D, E. Good. So my retinoscopy was pretty close because you can read the 2040 line and so we know the power of the contact lens is going to be close to the negative 2.5 that I have here in the fropter. And then you refine it from there. Ask the patient, what is more sharp and clear? Number one or number two? Number one or number two? Two. Number one or number two? One. One. Number one or number two? Two. Now you keep going through this until you refine it and as you can tell, initially I'll go in larger steps. I'll go in .5 or sometimes even .75 or one diopter steps to get a really good idea of the ballpark of what his prescription is. In this case, after refining it a little more, I found that in the fropter, he likes negative 3 power spherical and so that would mean that if we kept the same base curve of the contact lens, the final power would be a negative 6 because it's the contact lens that already has a negative 3 and the fropter that's saying he wants 3 diopters more power, 3 minus 3 minus 3 is minus 6. When it's time to assess a GP lens, it's critically important that you use fluorescein. Fluorescein is really the only way to see how well the contact lens is moving, how much it's vaulting over the cornea, or if you have any problems that you may run into like a small amount of edge lift or SPK that's formed by the contact lens or any other issues like that. In this case, I've got a small strip of fluorescein and I've already wet it in some sterile saline. I'm going to have the patient look up high toward the ceiling and just put a little dot of fluorescein below his lower limbus on his conjunctiva. Then I have the patient blink just for a few seconds, let it spread around, and then I assess the fluorescein pattern of the contact lens. To do that, typically we'll use the slit lamp with the cobalt filter. As I assess the contact lens, you look for a number of things. Is the contact lens centered? At the center of the cornea, is there touch on the cornea or is there clearance? Clearance means there's space between the front of the cornea and the back of the contact lens. Now an ideal fit of a contact lens is to have an alignment fit and what that means is that it just very, very lightly touches that front surface of the cornea in a very evenly distributed way. You also have the patient blink as you go through this so you can see how much the lid pulls up on the contact lens or moves it around. Obviously you don't want too much movement or else the contact lens will be very comfortable, but you want enough movement so that enough tears can spread on the front surface and the back surface of the contact lens. Another very important aspect is to look at the edge of the contact lens. The edge should have a 0.1 to 0.2 millimeters of fluorescein underneath the edge of the contact lens. If it's more than that, the patient will probably be very uncomfortable and the lens would probably move too much. If there's not enough, that usually means the contact lens is too tight. In this case we have an alignment fit and that means that as you look at the surface of the contact lens and how it interacts with the cornea, there's very little fluorescein that's built up underneath the contact lens and that's an ideal fit in this case. If you see an area of hard bearing, what that means is there's no fluorescein whatsoever between the cornea and the contact lens and it may be pressing too hard against the cornea, which can eventually lead to scarring or discomfort. Now in this case it's very important to tell the patient that when we order the contact lenses to do a slow break in and what that means is when they first get it, they don't want to wear it all day the first day. They want to slowly break into it, meaning wear it one to two hours the first day and slowly increase by a couple hours every day after that. After you've done the assessment and you've done the over a fraction and you've determined what the vision is with the contact lens, it's time to remove the contact lens and there's a number of ways to do that. The easiest way to do it as a practitioner is the following. Have the patient look straight ahead and I'm going to put my finger on his upper eyelid to stabilize and also my finger on the lower eyelid to stabilize and I'm going to be getting his lower eyelid to come up underneath of the bottom of the contact lens and pop it out. So look straight ahead. So as you can see I'm moving the lower eyelid and I just pop it out just like that and it should come straight out and be sure to give the patient extensive instructions on the best way to take care of the contact lens, how to store it, how to wear it and it's very important to have the patient come back at a reasonable time to check on how he's doing to make sure the vision sharp that he's comfortable and the contact lenses working as intended. Again, this is Dr. David Meyer. This video is about fitting a gas permeable contact lens and thank you for watching.


Okay, welcome to the book map platform details webinar. This is Bruce at book map risk disclaimer trading futures equities and digital Currencies involves substantial risk of loss and is not suitable for all investors past performance is not necessarily indicative of future results for more information about book map go to book map calm and You're able to Try the product or or I'll go through the the pricing is just recently changed as you guys know But along with the product comes education. So there's a four-part educational course and Along with that course comes supportive webinars that cover order flow phenomena in the live market Every day at 11 Eastern time so directly after this webinar. So we Provide the education and then we back up that content in that education in the live market Okay, and we anticipate the price movements in those webinars as well. So looking for You know Order flow phenomena that that gives us factual evidence to a High probability move in in a specific direction. Okay All right, let's take a look here at book map calm quickly and Go through it here. Just at the website. There's an intro video as you scroll down more information about book map here And then NASDAQ total view you can also connect book map to US equities and I'll Get into that in just a minute Okay, a bit further down connectivity. So what book map is is a visualization software trading platform okay, unique visualization of order flow phenomena and just really a unique view of the market in general and However, we are not a data provider. All right, so you will need to provide your own data for futures and US equities actually for the digital currencies we We're not providing it But we have an offering where you actually just get connected for free. Okay So no charges there for the for digital currencies. All right, so Now we're a platform just like some of these that you see here like Ninja TTX trader pro and interactive brokers traders workstation We connect to via the API of these three platforms though. So that's a possibility if you want to do that However, we're a platform just like they are so you can connect directly Through CQG rhythmic gain IQ feed transact and dev experts now the dev experts here is for that NASDAQ total view Okay for the US equities and we prefer that You know, you connect directly to the data feed instead of going through the API of another program and then have that Program then spit out the data into book map. Okay, so it's a little bit Well slightly quicker and there is no manipulation of the data. It comes directly from your data feed All right, but further down pricing Okay, you can see here. You can go monthly or yearly for a 20% discount There are two Versions here basically digital and global now there the digital one here is free It is a no credit card required or anything. You can just download it now. It's real time You get you know, the full depth and it's only for one digital currency though. Okay, so that's all you get and You also get just the basic education, which is this webinar and other resources on the on the website that are free and you also have limited support, okay, but You Can connect no no data feed is required Since we're offering that through the the G-DAX For that one currency Now the digital plus here. Let's go to monthly Is the same as digital here except that you can get up to 20 different Instruments yeah, you can record your data and replay it back in replay mode, which is a real benefit As well as you get the one-click trading so you can click With one one click from the book map chart and it will take Trades in in your G-DAX account if you have a G-DAX account All right, you also get full support and advanced education Global here is $49 per month includes everything in digital plus, but it also supports us futures so CME your X etc. And also us equities now we don't provide the data you will need to provide it But we offer the support to it so you can connect to over 10 different trading platforms or different data feeds All right global plus what you get is everything in global But you also get the ability to trade right from the chart with the one-click trading and then there's a host of these Advanced add-on Indicators okay now these are what we put together They're proprietary looking for specific phenomena in the order flow and We're also starting to identify specific players. Okay, like the large lot tracker looking for players that are holding majority of liquidity or Iceberg detector those larger players using iceberg orders that don't want to show liquidity You can also see some in balance indicators as well as a correlation tracker Okay, so that's what the different offerings are and then let's take a look here at our Twitter page you can see at Bookmap underscore pros the Twitter handle all sorts of information that comes up here retweets, etc Here's one from a webinar series that we did for John John Mark Sulu excellent trader over in in Paris and Yeah, you might want to might want to check that one out it's translated but He's a excellent trader that looks at volume profile And uses book map on high time frames. All right, so that's kind of the interesting thing about John Mark Not only does he scalp? But he also looks at higher time frames and is a big fan of book map on those higher time frames Okay Here's our YouTube channel. Okay, you can subscribe to YouTube and when there's new videos you can get update Or alerted for it Here's the pro trader webinar series here. You can click on the playlist here Okay, and that'll open it up here. You can see that we have more add or futures trader 71 here He's a Excellent trader many of you are well aware of who he is And then here's a John Mark Sulu down here if you want to watch that one Which which was just retweeted. Okay? right Then if you're new here, I would You know recommend watching some of the intro videos here and then browse some of the features and components The book map 7.0 overview here is new so you might want to check that out and then get into these order flow video snippets Okay, this is the concepts very concise videos that cover these concepts of order flow And then we go into detail in the advanced order flow webinars with this these concepts All right, well, let's take a look at book map. There's been lots of volatility here All right, so Let's see right off the bat. It got a question here What are the numbers that appear at the end of the best bid and offer? Okay right here these numbers? This is the last traded volume. Okay And There's there's two numbers here actually so I I'm gonna send you to a video on that And I'll show it here. Okay, so let's go to features and components if you want to understand the two different numbers there it's Highly requested for for a while by advanced traders wanting to understand the volume trading at a specific price level and the accumulation at that specific price level So go to the features and components playlist here and then scroll down a bit aggregate volume counter. Okay, it's this one here All right Okay Okay, well, I mean we can look at now. No, no problem. We can look at the S&P We've been looking at Nasdaq for quite a while Due to the lack of volatility and that doesn't seem to be a problem the last few days Tons of all utility. So be careful out there lots going on larger players You know unwinding. I mean, there's a lot of things going on. So be really careful out there You may want to really kind of zoom out you if you know if you're trading used to trading just one lot then you may even want to just kind of stand aside and and watch and less You know, you you're looking for something very specific If that is the case, you're gonna have to widen out your stops. You're gonna have to take on more risk and I Would also recommend zooming out and looking at these higher levels of liquidity in the book and understanding these levels because You know, even the S&P now is kind of trading like the DAX So it's just moving back and forth several points very quickly here. I mean, this looks more like It's even kind of quicker than the Nasdaq usually is okay, so That's I mean you can obviously it's it's heaven for you know scalpers and and and traders but if you You know are You know trading out with just one lot or you know are not accustomed to taking a lot of risk Then please You know don't all right. I Mean you can see that the book here. So I mean, this is one of the concepts that we cover I mean look at look at the order book here. All right. Here's liquidity at these price levels. I mean, this is I Mean, there's a bit more liquidity than the Nasdaq usually has But you know, you see hundreds of contracts up here whereas Nasdaq usually is you know Somewhere around this like, you know 30 to 80 level something like that, right where it's about 10 times this difference here You know, we see I mean there's we're in the tens here Usually like at each price level in the S&P you see 200 All right now that goes over a very key concept here. Okay to understand in these markets Okay, and this is why you know book map is the visualization of book map is is fantastic Right and we can just demo it with this very simple concept here of lack of liquidity Thin markets and volatility. Okay, there are thin markets. There's not a lot of liquidity. Where is liquidity? It's up here at 30. Looks like we want to come up and test that right now Let's see if the the buyers step in and lift the offer up into 30. Okay And it can climb through these areas rather quickly like it just did and there we go right into right into 30 All right, so there's your move right there and we're seeing also a little bit of nefarious stuff here There's a little bit of a flip of the book here a little bit of spoofing on this side. Here's your beautiful flip This is kind of concepts that we go through in the advanced order flow webinar. So You know, they're providing liquidity here on the offer and they flip to the bid And look at the volume here now, you know, it's it's trading above 29 or above 30 Okay, and it's trending really nicely right now. Okay, so looking for 40 now because that's where the liquidity is And they're pulling right so you can see how quickly we I mean, we just moved 10 points Right is due to the lack of liquidity Okay, I just think of like your fundamental releases, you know your economic scheduled releases like oil inventories or your CPI or retail sales They pull liquidity before the market. So where does the market go? It goes to those areas where there's high liquidity Okay So really important to understand liquidity and how it works And bookmap visualizes it here for you. So, you know, where's the high liquidity now? It's at 46 Okay, so let me get into some of these details here about what what we're looking at here and what we're showing okay because You know, if you're new here You probably don't know what I'm referring to with some of this these orange areas here or yellow areas Or maybe even some of these blue areas or white areas because it's it's the heat map here, right? It's it's taking this data. That's in the depth of market your dome. Okay Where there's liquidity and traders lined up to provide Limit orders at these levels here on the offer and these levels on the bid We take the data and we paint it into this window here in a heat map. So this is your best bid and offer here Okay And if it's high liquidity, it you know, you'll see it in the heat map Okay, this area is orange 392 contracts up here. That's why it's high liquidity And that's why it's orange. Okay And what the what's interesting though and makes this dome so useful on not only, you know small time frames, but high time frames Okay, because we take the data and we record it and project it onto the chart So now you can read it. Okay, and this is why it's going to be helpful, especially in times like this Okay, let me zoom out a bit and I'll show you Okay, I'm having some internet Problems here and it's not bookmap. I mean even my browsers are pretty pretty slow. So Let me know if you know, you can hear me okay and see my screen here, but Anyway, alright, so the dome is pretty useless here. I mean we see these numbers changing pretty rapidly Well, here's the recording of it Okay, and look what kind of insight we're getting here. We come down to high liquidity here trades into it trades through it It slows down for a bit though and it trades into the next area of high liquidity down here Okay, it trades through it for a little bit, but for the most part this was absorbed Okay, this selling pressure was absorbed by this larger player who is sitting in the book for a long time Okay, in fact, you can see their movement here actually pretty interesting stuff Okay They they were staying in the book here and then they actually bumped it up Higher higher liquidity in this area here and they they pulled it But then as price is coming back down they added back in okay So it's showing something it's giving us the understanding and the intent of these traders in this auction at these price levels And then this larger player is it's most likely the same player here Has pulled a lot of the liquidity at this level here I mean it could be a number of players and they're just reading off of each other And then they added a little bit lower though. So they're not so interested here They're interested just you know a couple points lower here and they stayed in the book Okay, why did this reverse? All right. Well, it's because a lot of that selling pressure is getting absorbed Okay, in fact, we can see here. There's a You know it trades through a little bit more And there is some selling down here, but after that there there's no more no one else hitting the bid We start to rotate back up and buyers stepped in And trade it back up into the this kind of range here It's gonna be the a high volume node of this range and we don't trade above it Okay, and actually we sell right back off to where where these guys got filled Okay, and so we can see what what's occurring here and Are these guys back in the market here down at this price level of? 2618 nope, you know, they're they're gone or they're they're in the market. Okay, and we can see the reaction Okay Now we're coming up into some of these other levels higher levels up here This guy or these these traders up here. You can see just above the swing. Okay note that so they're looking for anyone that's Gonna gonna be short as probably gonna be covering above the swing here And they're they're willing to provide high liquidity up there and actually we can see their behavior here as well They pulled Okay, it's actually pretty interesting. They added in as price is coming up And then it looks like we got maybe a little bit of a spoofing type of activity here They drop it down lower And they they're pulling but they're adding well, they're they're still kind of at this level up here around this 48 and a quarter. Okay, so without any sort of indicators any sort of You know derivative of time price or volume, we're really understanding what's going on in this market Okay, it's a pretty transparent view here. We know it's not because there's some fib level down here We we know what it's because there's traders down here and they got filled Okay, and there were no more sellers That's what happened here All right now If you you trade fibs, well, that's great Line it up with the high liquidity that you see here understanding of absorption of selling pressure understanding of buyers coming in and getting aggressive on the other side and lifting the offer to higher levels and and look for targets too, so if This was another fib level or whatever kind of level it is for you And and there's liquidity up there. Well, that should Mesh nicely with your your trading strategy Okay All right any questions Okay, so yeah, we're really kind of stepping back here as you can see. I mean it's just Just moving so so quickly here And due to that lack of liquidity All right, I mean it's usually we see somewhere around 400 maybe, you know to 800 At these at these price levels instead. We're looking at in the tens Right and in you know the low 100s. That's That's quite quite a change here and that's why the S&P is behaving like this right now Okay Let's see for you know, usually I go through this process with the candlesticks and showing you like how We break apart the the candlesticks and and showing that Understanding of what book map is Displaying here for you I'm kind of bypassing that one today because I wanted to cover these these higher levels And in utilizing your your dome On these higher levels now because you can Right, whereas the dome is almost useless at our high at higher levels higher timeframe levels because It's it's impossible to I mean you're really gonna have to be some sort of like savant or something to Memorize all of those levels how they behaved did they add did they pull where did they add or pull to? How long ago well all of that information is just recorded here in the heat map It's just a really objective view of the market and it's there Plotted on the chart for you. All right, so now you can understand that part And on the higher time frames All right Now the traded volume Let's let's cover that a bit and then there's some phenomena. I want to show you guys and I may end up Taking that to the advanced Webinar Because there's all sorts of things really interesting things going on in this market right now so Yeah, let me let me go over the volume and then if we have a moment or two because we got to end in about five minutes if if I if I do then I'll go over some of the Ignition algos and some of these really interesting phenomena that we're seeing here So what and what I'm talking about is this Okay Just a moment It's my chart Refreshes here. Okay. Look at this. I'll go here Okay, so, you know, we can start to identify specific players in the market Right And we know that this is one individual actor because he's he's pulling liquidity adding it lower Adding you know pulling it adding it lower and very quickly right so most of the time what what this is You know, I'm it's very suspect when you see these types of things to That they're skewing the limit order book trying to maybe spoof or push You know showing lots of supply to maybe push price lower into higher liquidity In this case though in this kind of environment you know, this guy maybe just really needs to get out of the market and You know, maybe he just turned on his algo up here and said get me out Okay, you can see it was blue up here and Let's zoom into that area All right, and let's see this this behavior You know at a certain point maybe Who knows right? I do know that there's a lot of a lot of people got caught on the wrong side of these moves here, so That's why a lot of a lot of the Order flow or a lot of the this kind of behavior is going to show up So we want to be kind of careful in this environment. Yeah, it looks looks kind of like it right kind of looks like This guy he switched on his algo here Maybe it might have been here for a while and then it switched on and then it's just I got to get out of the market and You know he went from 45 down to down to 30 Okay Yeah, well, who knows I mean it Here he is with high liquidity here, you know 184 contracts Here's our large lot tracker this one this line here shows that one player is holding almost all of the liquidity at this Price level okay, so that's the large lot tracker identifies it, but we can also just identify it by this activity And you know he ended up not getting filled here right in fact. He's still working it so then Based on this it looks like he's trying to work it into some of this these levels here so it does look like an ignition algo a type of activity to skew that You know the the auction to get to get price to move down a little bit lower into some of these levels All right Very fascinating stuff to see this would be invisible in the book. You wouldn't see it Okay Anyway, you're able to to see that kind of stuff. Let's go back to the current market here and I Just I'll just briefly go over the volume here. So you guys understand what it is covered the heat map pretty much in depth here But the the book guys really does look like the Nasdaq All right, so We're just showing here and let me take the heat map off just for this Demo, okay, there's just three elements on this chart that we're showing so far One was that heat map? Okay, so you guys know what that is The other two elements are right here in front of us. One is historical best bid and offer. That's it. It's there's no Aggregation here like in a candlestick if you see the bid or the offer change. It's recorded in book map And that's what we plot. Okay, we just plot price And then you can see these dots here. Okay. Well these dots signify transactions their trades Okay, a green dot here is an aggressive market buy. Okay, they it's aggressive because they cross the spread they paid up for it and They took liquidity off of the best offer. They didn't provide it. They took it. Okay, a market sell is here Okay with the red dot And that's that. Okay, so those are the two elements there on the chart and we also have this You see these numbers here. This is a Add-on indicator of the iceberg detector. Okay, and then the that that third element is simply the heat map Okay, that's it All right, guys. Well, let's wrap it up. It's time to get to the next webinar It will we'll see you there or we'll see you same time tomorrow here. Okay. All right. Take care. Bye. Bye