I say you're from Emsol, can you introduce yourself to us, please? Sure, my name's Eir Takusata, I'm a strategic technologist at Emsol, based in Oxford, UK. We're a equipment provider for large area electronics, specializing in laser machining, laser curing, spray deposition of nanowires, and eninge printing and combining them to47Conf would make a hybrid system to generate functional parts for mass manufacturing. So what is it that we are looking at here? What's at here we have a true single layer capacitive touch system to allow the brass to absence, and this was sprayed deposited with printed contact pads, and then subsequently laser patterned. And this is a competitor to indium tin oxide is that it? Yes it is because it's basically nano wires have the ability to be flexible or go over ac mae'n dod ioneyddu eficiwn final. Mae'r prynseun Junag, cais cmwy flyny eisiai juicy a mae'r Smile 어떤 o'ch fawr i hyn Cysru. Nid yw… Na eisiau yw yw gyfeddiad idde an hon ipa g NS, pleid mewn nu Along Unw. Felly mae gennym hyddyn nhw i ddechrau nimog gydych sydd y Llywodraeth clor和ry Beth. navy. Roma! B.. stairs nazw formidable! Cenwch chi, gyda hwnnw человека, disorder noを beth camcafenn imaf, o'i taip hannu! Y Llywodraeth Cymru yw'r Llywodraeth Cymru yw'r Llywodraeth Cymru?


Good afternoon everyone, we will move to the next session that is wiki for collaboration and group projects. So, there are four technologies that are listed in this which we have come across either while doing some of the activities or explicitly as sessions. So, out of these four technologies which of these technologies were most difficult for you. I will give you 30 seconds for answering this. So, apparently moodle is not so difficult for many of you. I am getting a almost an equal distribution between 3 and 4. So, regarding screencast, so there are tutorials in YouTube available for how to do screencast and even the guidelines that we have given are quite self-explanatory. So, please make use of that or else what you can do is post your query in the peer support forum so that others might be able to help you. In this particular session, we will detail about wiki which is a tool which you can use for collaboration and specifically for executing or implementing group projects within your courses. So, the learning objective for this particular session is at the end of this session will be participants will be able to identify procedure to follow to join a wiki in wiki spaces, perform basic edit tasks in the wiki and review a set of TPS questions in wiki and improve the activities which are not satisfactory. So, let us first look at what a wiki is. In its simplest of definition, wiki is a web page that anybody can edit. So, a difference between a normal web page and a wiki page lies in the fact that any participant of the wiki will be able to edit the wiki page whereas in a web page only the author is able to edit the web page and the readers will only be able to view it. So, some of the possible uses of wiki which in the academic field is for brainstorming, collection of links, building a portfolio, making lists to support meetings and also for group projects. Specifically across this workshop, you will be using wiki for two things. One is for a group project and another is for building a portfolio. So, before actually explaining the wiki task, we will do a tour of the wiki spaces in specific the wiki for trial that we have created. So, what I am going to do now is do a screen share and I am going to log in to wiki. So, I am going to explain procedure right from logging in to execution of tasks which are there in wiki for trial. So, first of all I enter the specific wiki site that is given to me. So, what I am going to do now is enter the HTTP site wiki for trial dot wiki spaces dot com in my browser. So, once I press that you can see that a request for signing in has come in. So, what you had to do earlier was give your username, password or join code. So, supposing you have not never registered for a wiki, what you have to do is so supposing I have a new username, let us say a b c d at e f g h dot com, password is some password. I do not have a join in code so what I do is do a sign in. So, you since I have not given a join code it asks for a these options, forgot your password, create new wiki spaces account, sign in with open id ideally what you should do is create a new wiki spaces account with your username and password and then use the join code to join this particular wiki. So, I already have a joining in this particular wiki. So, for the participants I would request the wiki facilitators to explain this particular process you also can use how to there is a modal document for this, how to login for wiki for trial, the joining codes have been changed. So, I will give you the latest joining codes in a short while. So, ultimately what happens is you need to have a wiki spaces username and wiki spaces account to access the wiki for trial, the wiki that we have created for wiki spaces. So, at this moment so the wiki spaces link is wiki4trial.wikispaces.com, the wiki for trial document is available in Moodle. So, if you actually happen to login to your Moodle. So, you see this particular document how to join wiki4trial.docx, you can download this. So, please do not use the same joining code, the joining code has changed. So, please wait for a while at the end of this particular session you will go to the lab if you have not created your wiki spaces account you have to follow this. At this moment please do not enter any joining codes or any particular logins to the wiki at this moment. So, for people who are not able to view the wiki for trial document it is available in document is available in Moodle. So, look at day 3 resources how to join wiki4trial. So, now let us move to simple edit options in wiki for what to do for simple edit options. So, you can see the options over here edit, this is for discussion, this is to see the revisions of the particular page and there are other options like tags, notify, RSS, backlinks, source, print, export etcetera. So, what you can do is if you want to create a new page just go to pages and files which is on the right hand side of the menu click the plus button and create the page name. So, specifically if you look at task 1 this has been explained go to the pages and files button which is available in the right hand side of this wiki page see screenshot below. So, this is the pages and files button give the name of the pages R C I D your first name I mean you do not have to include the greater than less than brackets that is just to identify your R C I D and first name. For example, if so I had created something known as R C 001 Jayakrishnan so I will just create that particular page right now. So, R C R C 001 this is my R C I D and then I am going to give my page I D. So, I will not use any template as of now and I will just say I will give a small tag as introduction. So, what the wiki does now is give me a page to edit and it will have the name as R C 001 Jayakrishnan and the tasks for this are given in this enter your details that means name college domain enter a table having three columns and four rows to enter the details of three courses that you teach within this domain save the wiki page clicking the save button. So, I am going to do this activity so I am going to write my name domain I am going to write as educational technology colleges I I T Bombay now what it has asked me is to use tables. So, table is a functionality within the edit page so if you happen to edit word documents or even PowerPoint documents you would see a separate window for tables. So, similarly the wiki editor also has a functionality of inserting tables you click on the table and it asks you the number of rows and the number of columns. So, here you need to have three columns and four rows three columns four rows and in this I have to write course semester strength of my class let us say course semester. So, I am going to write my course as pedagogy workshop I am going to write Jan to January 2015 as the semester because this is the month we are having this workshop and strength of my class it is so the total number of registered participants is around 4500. So, I am writing 4500 as my strength of my class. So, you can similarly write the course that you have the semester in which you are teaching. So, if you are doing it in a even semester write the semester number. So, typical examples computer science 101 or basic computer science will be a first semester course or first and second semester course and you can write the strength of your class. So, this is a basic editing feature in the inserting a table in this particular wiki. Now, the next task okay I had to save this so I am going to save it so the moment you save it you can see that a page with the specific IDC RC-0001 jacquery has been created these following details are there in it and this is available as the first revision of this particular page. It is now asking me to go to YouTube and locate one video relevant to one of the courses that you have listed above copies link come back to your page add a line at the bottom saying my choice of subject video is given in this link see this page for seeing an example. So, I have already created this particular page so what we will slowly discuss what to do in this particular scenario see go look at the next task go to revisions button seen immediately after discussion button compare your latest version of the page with the first version that you had created. So, I am going over here this is the revisions button so you can see the edits that has happened on this particular page across the past two weeks. So, I created this particular page at last at 11.45 am on Jan 7th and somebody has edited it on Jan 18th so over the past 11 days so many edits have happened so something that you can do in case your wiki page has been overwritten by someone is revert to the old version a first I have to compare so I select the first version to compare so this is the latest version and I will go to the initial version and click compare. So, you can see that initially all the new changes come in green highlighted and whatever were my original whatever got deleted will come in red so what I am going to do now is revert to the last known best page that I had created so let me see so this is the last edit given by me I am going to select this and I am going to compare it with this the latest edit so you can see that the details that I had created have all been deleted and new details have been entered so many people have had this query as what happens if something like this happens that means you have a you have painfully created a particular content in a wiki page but somebody has overwritten it right now so two things first one you can protect your page by locking it and second thing is you can always revert back to the original version that you had for participants please note I will give you the joining link at 3 p.m kindly listen to the tour of wiki so that you will be able to understand it we have had several queries as in I am not able to join wiki I created a new wiki I am not able to see the tasks so all those to the attention of all those participants please listen to the tour carefully take the help of the wiki facilitators that you have identified and make sure that you do the activities or the assignment which is there now seriously in the wiki in a clear form so we were at the point where we have to revert to the original version so what we do is go to the revisions it is taking some time so the process that you have to do is go to the revisions click on the last non version an option will come revert to the original one so I am going to the last non version that I have so this is Jan 7th 2015 1145 a.m see if I click this you can see the last known version is available over here which I have edited and I can see that there is an option called revert to this version so what I am going to do now is click on this to revert to this version saying that I will give a comment other people edited my wiki hence so what happens when you do this is the page got successfully reverted to the last known configuration which is available over here which I had created so you can see that I had created a course with the following workshops semester all semesters strength had given all these strengths and you can see there is a subject video given in this particular link so there is a link also now a cute thing about linking text within your wiki you can see that there is a particular text and I have to link an external website to this particular text so what I will do is I will just go to YouTube and get my videos so you can see I have the link of the pedagogy workshop videos so I am going to copy this now for how to create links within your page so people have written so just pasting the link is one method but a more convenient and aesthetically pleasing way of creating a link is supposing you create a text the link for the video so I select the text link and there is a button called link over here I click on that and it gives me three options whether I need to link it to a page within a wiki or a web address or an email address since this is an external web address I will paste it over here so you can see the entire YouTube link that I have already created have come to this and I am going to click new window option in this and create add link so what has happened is the text link got hyperlinked to the web page the YouTube playlist that we have for this pedagogy workshop so this is how you link external links within a wiki other ways to do if there are internal pages that you have to link then you have to use the option of wiki pages give the idea of the pages and it will automatically create that particular link so this is a most convenient way of creating web links and now what I am going to do is I am going to save it so these are simple edit functionalities that you do in a wiki which is sufficient for the group project that you are going to do in the coming session the lab session so all you need to know is how to access a page edit a page create a table and insert web links in your own page so the joining code for this particular wiki will be given in half an hour so all of you kindly bear with us till 3 o clock otherwise it is going to be a messy process ok questions as to where to use wiki and all those things we are going to see now so just quickly just hold on to your queries quickly participants just see how many of you have assigned group projects at least once in the past year share RC coordinators you share it through the numbers through a view poll so it is like let us say 50 percentage of you have done group projects you can put in 50 percentage if it is all of you have given 50 given group projects you can put in 100 percent so just take a queue polling within your RC and share the result through a view chat what I see is that the number varies from 40 to 100 percent so which means that several of you use group projects within your course and wiki is one specific tool which you can use for group project implementation and why use wiki because there is a need to connect and use various pieces of existing knowledge within a group project so it may be that you divide the project among students and each of them have to collaborate to make sure a final output comes wiki is a perfect tool for that refine understanding through discussion and application again for discussion and other applications wherein students may be at different places then wiki is a useful tool peer review to give and receive feedback you can use the discussion option within the wiki and more importantly what you get is stronger written communication skills at the end of the project but what you have to be aware is that wiki activities can be messy or chaotic without proper design and supervision much like a group project so if you give a group project and tell them to do it it will not achieve its intended goal so what you have to do is design the activities carefully supervise the entire activities that is happening within the group project may be a weekly feedback or by fortnightly feedback about the group project so that is how you should monitor the group project and the same applies to a wiki also also it can be seen that the wiki activities can be complex so many of you where having problems in linking in joining the wiki but they were not complicated enough you did not need any extra knowledge about wiki so simple tutorials like how to join or help from your peers would have been sufficient to do these particular tasks so just like a group project these activities could be complex but never complicated and another feature that you saw just now is that wiki can retrieve older logs that means what you have done may be a week ago you can see it through the revisions and hence you can resume from any point so many users would be familiar with the recovery point feature in Microsoft so you can see that the recovery points have already been defined by the place where you save the particular wiki page so supposing I have written a full page on a particular activity and I saved it and I went out and my friend came in and edited it so it means that the original article got changed now when I come back and see the changes and some of these are not applicable to me I can always have the option of reverting back to my version which you already just so now so I reverted to the version that I created on 7th January because I did not want the other changes to come in so a good functionality about wiki is its archival functionality wherein you can always go and see the wiki logs the revisions and resume back from any of the previous points. So what we are just recall what you did today morning you looked at the characteristics of good PI and TPS questions and you also did peer review of PI and TPS questions within your remote center so what we will do now is you will review TPS questions in your own domain so what we are going to do now is we are going to detail out the task 7 in wiki and the group facilitators have to ensure that all the members are doing the tasks properly in the wiki so TPS questions in respective domains are being populated in wiki as we speak so the task 7 has the details of these particular TPS questions and what you have to do what as a remote center what we require is review a minimum of 3 TPS activities in each domain so as a remote center in each of the domains given review a minimum of 3 TPS activities so you can use the checklist that we had given in the previous session it can be downloaded from the session slides or I will just post the session the review slide after at the end of the session so for the facilitator what you have to do is create a page for your RC as your RC number RC space your RC ID so in this particular page you have to populate the best TPS activities and one additional task that you have to do is supposing there are activities which are not satisfactory or does not confirm to the checklist make sure you improve those activities and populate your wiki page with the best TPS activities even the refined ones so I hope I have made myself clear so at this point what I will do is I will take some questions from RCs regarding the use of wiki so please note this will be a 15 minute session specifically for wiki activities so you can use the hand raise option within a view please listen to the questions and the answers given so we have a sharp deadline of 3 o clock to complete the session because after that you are going to the lab and do the particular activity so if your question is same as any of the remote center the question that is posted by any of the remote center please take a note please do not repeat the question we will stop it at exactly 3 and we are trying to make sure that all most of your queries get answered within this session so we will first go to Jhanamani college 1203 sir actually we are facing problem to create the grouping okay what is the problem all participants the query from Jhanamani college is about grouping in wiki so at this moment grouping needs to happen only within your remote center you already have participants from domains sitting with you within your remote center let us say electrical participants electronics participants computer science participants so all these are several groups within the remote center so for each of these particular domains we will have specific tps questions to be sorted within the wiki page so what I am going to do at 3 o clock is I will show you the wiki task task 7 so in terms of grouping what you have to do is group yourself within the remote center into several domains so domains as in electrical electronics computer science etc rc1123 oriental college of technology good afternoon sir good afternoon I have a question we have created a wiki page OCT but I think our page is not linked with the main page of ET can you tell me the procedure how to link I have tried but it has come back to the same page okay so first of all these particular activities are in wiki for trial so I am hoping that you have created your wiki page in wiki for trial wiki okay so the question from RC 1123 is that they have created a page and they are unable to link it to the main wiki page okay so I will just do a screen share at this moment for the benefit of all please make sure that you are able to watch it and you are understanding the process so what I am going to do is I am going to login to the wiki so this is the main wiki page that we are talking about so RC 1123 can you tell me the ID of your wiki page PED underscore 1123 is this your username or wiki page name my page name is OCT Bhopal so what I am going to do now is in pages and files I am going to check for OCT okay so did you see the screen right now OCT Bhopal yeah so it says you have not created a page in this particular wiki we have created using ET while I am logging links are there my OCT Bhopal and the ET repository okay clarification to all remote centers right at the start of the workshop we had given the link of our course wiki which is ET repository dot wiki spaces to all the remote centers so that you can do a course portfolio at the end of the workshop now wiki for trial is at completely different wiki so consider these as two different web pages okay OCT Bhopal am I am I clear yes sir okay so these two are two different web pages and the ET repository page will be used only towards the end of the workshop that means for the post workshop activity next week so it is it will be used as a course portfolio which will be described tomorrow at present you have to log into wiki for trial dot wiki spaces dot com wiki for trial dot wiki spaces dot com where each individual participant has to log in and create there on page there is no college page in wiki for trial wiki for trial is created for participants to practice wiki explore wiki before they finally do the course portfolio assignment and the procedure for linking the page is the same you take the HTTP you copy the HTTP address and paste it in the text where you where you want to actually link it okay we will go to the next remote center IPS academy indoor I have a two queries or first is on my self query when I open my wiki tutorial they open to account and username also after open access is restricted you do not have permission to view this page so what I do for join I don't have a join code so please how to go my join code receive your retrieve what's the process can you give me or suggest and second query is my colleagues it's very your submissions properly on my aside all the tasks and assignment but problem is there they not receive properly and submitted or not in assignment acknowledgement so how to go to acknowledgement receiving cases thank you sir carry on yeah so RZ 1039 had two queries one is that they do not have joining code till now or with the joining code they are unable to join the wiki so and the second question is on assignment submission they have not received acknowledgement of assignment submission so please note I will answer your query number two assignment submissions will be handled in Moodle so if you have submitted assignments for grading it means that it will be there so what we will do is as a another I mean a second check maybe by day 3 afternoon I mean the Wednesday afternoon will share the list of all participants who have submitted assignments from all the centers will be sharing the numbers so you as a remote center you can cross check whether your participants have submitted it or not for the participants who want to join the wiki for trial right now so what I am going to do now is I will do a screen share again so new wiki joining code has come MK 33 I will I will just post it so this will be posted in Moodle also MK 33 7 NX so please follow the procedures that we had initially shown that means login to wiki spaces create an account after that to join the wiki what you have to do is use this particular joining code MK 33 7 NX so a direct way of joining is so see this particular link so we will post it in chat as well as in Moodle these two have to be used for joining wiki for trial that means for the wiki activity that you are going to do now use these particular joining codes if you have not already joined wiki for trial if you have already joined wiki for trial you do not need any joining code you can directly view all the pages so I hope RC 1039 I have answered both your queries okay good now we go to RC 1302 Shri Buddha college good afternoon sir sir the question is regarding the reverting back which you have explained sometime before okay in the question actually like you have created a page on January 7th and few people have modified the pages and that can be found in the revision history yes my question is is it possible for anybody to revert it back to the original space or is it the owner only can revert back to the original document okay good question I will just repeat the question that RC 1302 has asked so what he is asking is is the reverting back allowed only for the creator of the page or anybody can have permissions to revert this particular page so my answer is it depends upon the format in which you create the page so supposing you create a new page what you can do is something called permissions so there is so if you create a new page you will have something called permissions in the right top so screen share I will just do a screen share so I hope everybody is able to see this the question is it only for the user or is it for everyone so the moment you create a page you will see something called permissions and you can see there are these permission options available for the page so at this moment we are looking at a locked page so that means the organizers of this wiki can change or delete this page but it can be viewed by anyone with access to the wiki so as participants unfortunately I cannot give you organizer permissions for this wiki but for the remote center coordinators will give organizer permission in the course portfolio wiki that we are going to describe tomorrow so within this wiki at this moment it is all your playing ground you can edit you can revert and it is editable by all all the members of the wiki so RC 1302 have I answered your question? I got it sir thank you yeah yes RC 1295 good morning sir the related question we are doing the editing option in wiki actually this group wiki groups whenever we enter into the domain then when we write our name and our options taking subjects then if anybody by chance removes our name then it also can make me reverted back sir that is our question the question is supposing you create a page and you write so many details and maybe after sometime somebody comes and changes it can you revert it so the answer is yes you can revert it please make sure that you say whatever you write so you will have a version of your page saved with the timestamp date and timestamp you have to just click that date and time and you it will show you that particular revert screen you choose the option revert to this version and it will be reverted back to the original version even in the groups in the this where we write our name and yes any page so the it is applicable to all pages in this wiki where you have you have access and you have access so it is applicable to all pages within this particular wiki so we have not separated permissions as of now so we will take two more quick questions d.y.partil institute of 1063 hello good afternoon sir yeah good afternoon actually question is about the security aspect so suppose we three staff members are working together on one subject and we want to access to give to these three faculty only and that should not be changed by any student so limited access how can be possible to control so the quick answer to that is create a wiki make these users as organizers so within this particular wiki you will not be able to make anyone organizer it is up to the creator of the wiki the permission is up to the creator of the wiki so if you create a new wiki within wiki spaces then and you add more people to it you will have the create permissions and what you have to do is the three faculty members who are running the course you can give them organizer access so the organizers will be able to create and edit the pages so the question was how to give organizer permissions the answer is make a separate wiki add who are you want as organizers the others will be members so typically your students are members and your colleagues are your organizers and you can give permissions such that only the organizers are able to edit the particular page 1147 kongu engineering college i have one question anyone can access the wiki like anyone can edit or modify the wiki so how secure is gonna be okay the question for the other participants the question posed by 1147 is how secure is a wiki so the answer is it is as secure as you make it to be so if you have clearly given permissions if you have clearly delineated the activities the permissions of each pages then it will be most secure and overall you need a particular joining invite so i have given you a public join code in wiki space other methods of joining are giving separate email invites to the participants so the security of a wiki is what you make of it so if you create a completely private wiki it will be totally secure but as the overhead is as a organizer or as a creator you will have to always keep monitoring the wiki and make sure that there is no what do you say disruption or other malicious activities within the wiki so have i answered your query 1147 yes thank you very much on other question is there is an option called we can upload the file is there any limitation like any size limitation for the file uploading yes in wiki spaces there is a size limitation if you are using so the wiki spaces is a an example of a wiki there are other applications like what you see wikipedia is a wiki there is media wiki all these are wiki applications so all these are pages web pages with database so that is what makes a wiki so it depends upon your storage space wiki spaces is a private wiki open wiki which is available for several users so they have a restriction of size if you want an unlimited wiki it would be better if you create your wiki within your own college so you can do your system administrator will be able to install wiki within your college so in your college server you will have to install the wiki application okay we will now take two more questions 1061 yes sir i have one query you said that we have to create a page for a remote center in wiki yes and you said that we have to populate a pps activity and whether we have to populate this pps activity for the entire participant or whether we have to segregate them into groups and we have to okay so this is about the activity that you are going to do in the lab right now so rc 1061 has a specific query about the activity that you are going to do right now so again what i am going to do now is a screen share and i am going to explain the particular activity if you look at task 7 create your own page so create your own rc page so i will just modify the instructions so the attention of all participants this is the task 7 create your own rc page use day 4 am 1 slide slide number 19 for checklist of tps activity add your details with the link of the page you created in the domain page so what we have is so i will just so what you have to do is there are web pages given below click on it and you will see a particular tps activities i will just click so this is an example of a question so what you have to do is so in this particular biotechnology domain page you can see that a course a topic and its t phase p phase and s phase questions are given what you have to do is so there are seven questions in this particular biotechnology page you have to take any three so supposing there are biotechnology participants within your remote center you have to take any three and review it and you have to use the checklist that has been provided and at the end of it create an rc page and populate the best three from an individual domain so if you happen to see civil engineering so for each of the domains you can see that tps questions have been posted what you have to do is review these questions and finally sort put the best three tps questions from a particular domain in your own rc page that you create okay so once again for the benefit of participants i am going to explain the lab activity which you have to do from 330 onwards there are specific tps questions given in the main wiki page you have to click the domain for seeing these tps questions there will be more than five or ten questions per domain so whichever domain is available you have to rate these questions based on the tps checklist that we have provided in the earlier slide within your rc page you create an rc page and write the three best tps questions that you think are among these with the question numbers and this has to be populated by 5 p.m today so you have time from 330 to 5 to go and explore the particular wiki activity and sort the tps question so the sorting is what you did already in the previous session so we are now doing it as a joint activity to come up with the best tps questions from a given list so this is the group project so you are reviewing the tps questions that are already available to create the best top or the top three tps questions in a particular domain the next question is from 1057 sir my question is regarding wiki login it is asking a joint code okay if the question is about joining code i have just now shared the joining code new joining code for the wiki for trial so what you have to do is register yourself in wiki spaces the joining code that i have given you can also use the document wiki for how to log in to wiki for trial so there is a modal document explicitly with screenshots on the procedure that you have to follow so if you already have a wiki spaces account all you need is this particular joining code or the joining link that we have given if you do not have a wiki spaces account what you have to do is create a wiki spaces account and after that click on the http join link that we have given then you will automatically join the wiki for trial okay rc1206 good afternoon sir my question is this if somebody have edited on my page i want to revert back the original changes how is it possible and where is the revert button okay so uh bunsell college i hope you paid attention to the screen share that i had done at the start of the session so if you are having doubt go to revisions so there is something called revisions in the wiki page go to the specific session or the specific date time stamp of your final edit bunsell college is asking about the procedure for reverting back so the procedure is go to revisions go to your last revision which you think is the correct one click on the date and time stamp on the top of it you will see the changes that has been made and on the top right corner you will see revert to this version so that is the revert button okay so go ahead pardon i want to embed my simulations on wiki page tell me the steps how i can embedded so embedding or linking your simulations as in you want your simulations to run in the wiki page so if it is a jiff or other formats you just have to give the link so what you can do is redirect to the web link of the simulation and give the text link within that particular so we have given you the procedure of how to create web links use the same procedure for embedding the link can i access globally my wiki page if you have a sign in you can access it from anywhere it is worldwide web okay so i will move to the next center rc 1341 good afternoon sir good afternoon sir you explained clearly about how to create wiki page i want explanation about we want explanation about how to create wiki group sir we already created wiki page individually so creating a wiki group at this point is out of scope we will tell you about wiki groups when we deal course portfolio so this is what you are asking is at a higher level for this particular assignment and hence we will definitely deal with creating wiki groups but we will deal it with in tomorrow's course portfolio assignment so the last two questions this is from rc 1085 nirma university actually sir before few minutes you had explained the procedure how to revert back and also change the permission of the page that we have created but once we have created the page like suppose tps constructor page that was created by us we are not able to locate the permission tab from where to change the permission okay you cancer to that in this particular wiki you all are participants and participants cannot view the permissions tab because you are not the organizer or creator of the wiki if you create your own wiki you will be able to see the permission tab in the in your wiki so this is an exercise on you are using wiki as a student so we have given only student permissions to all the participants so we will soon give you a chance to create your own wiki and use all the facilities that are available in the wiki okay so this is going to happen in the next assignment okay so we will now disperse for t so thank you everyone


Cool, so we have 23 minutes before lunch. I'm hoping that if we go a little bit over, it's OK. But I don't know, is it a hard stop, or? OK, all right. So this talk is about lazy RCU and memory. So yeah, I'm excited to present. So about me, so I'm an RCU co-maintenor. There's about like four or five of us. We work on different areas of RCU. I've worked on several RCU features over the years, related to memory ordering, lazy RCU, the RCU list APIs, and many bug fixes over the last several years. Yeah, so there's an interesting backstory about how I got into this. So if you're interested in hearing about it, let me know. And I can tell you how I got into it. So it's been about like seven to eight years since I started working on this stuff. And I also work at Google on performance and power in the Chrome OS team. I was working on Android before that. And my website has all the information about me if you're interested in checking it out. So the goals of this talk is to make everyone aware of the lazy RCU feature. And maybe it will help your use case, hopefully. And also, I would like to ask for feedback from the MM community on different issues that we have. And yeah, we can make it interactive. But yeah, because we are already short of time, let's keep the unimportant questions in the end. So we'll start with the background of lazy RCU. So the observation that I had about two years ago is when a system is mostly idle, most RCU callbacks don't need to run right away. They can be delayed for seconds or as long as needed. And yeah, what I observed was that some callbacks, they tend to trickle. And there's like every few tens or hundreds of milliseconds, you have callbacks that are constantly trickling for lightweight activity. And this tends to disturb the idle CPUs that would like to be idle, but they're constantly getting disturbed. And it confuses the SOC's power management features as well. The SOC thinks that the system is active. And so it doesn't go into this SOC-wide deep state. That's what we observed. And this behavior is independent of memory. So even if you have tons of memory on the system, it will still happen. So we're kind of doing work when we don't need to. And that was kind of the point about how do we make this a little more lazy? And some examples of workloads are like we noticed Android logging, Chrome OS, video playback. These are lightweight activities that we're doing a lot of RCU. In the video playback case, they have these graphics buffers that use the open and close assist call, and that triggers RCU as well. So I wrote this tool just to kind of see what's going on system from an RCU standpoint. It's based on BPF and refreshes every five seconds and shows callbacks that are queued and executed. And this is sort of how I got an idea about, OK, how bad is this? And are we doing work that we maybe don't need to? So how does this work? So the main idea is we need to avoid going to RCU. So I came up with different revisions of making this work. And every time I came up with a different version, it kept breaking some corner case. So finally, I settled with an approach where I discovered that RCU already has this per CPU list called the bypass list. And so let's talk about what the bypass list was already used for. So say we have a system with two CPUs, and consider that time is flowing as shown in the arrows. And each CPU has its own callback list where when you request RCU for its services, you queue a callback, and that gets saved in that list. So the thing is, in some configurations of RCU, it is possible that the callbacks are queued on one CPU and invoked on another CPU. So to synchronize this, there is a locking that happens. And that can add a lot of lock convention. And this can cause performance overhead due to frequent callback queuing and so forth and invocation. And so there's this list called the bypass list that was added, and that's a per CPU list as well. And the callbacks, basically, if there are a lot of callbacks getting queued into the main list, then it triggers this bypass where the new callbacks will now go into the bypass list. And it will relieve the lock contention that happens on the main list. And obviously, we can't keep it in the bypass list forever. So eventually, the bypass callbacks will have to be flushed back into the main callback list. There are different situations where we have to do this flushing. One is there's a timer, which goes off once. Enough time has passed, and we now want those callbacks to make progress. There's RCU barrier, which makes sure that all RCU callbacks before the barrier were executed before the barrier completes. And then there's also if the bypass list is too long, then we don't want to keep filling up the bypass list. And we might eventually run out of memory. So if there's a check where if it's too long, we flush it as well. So yeah, so my idea was let's just use the same bypass list for the lazy callbacks. And doing this, I observed that we were saving on these low CPU utilization use cases, we were saving like 10% to 20% power even, compared to without this feature. So the whole RCU activity was causing issues. And doing it this way helps us save power. And yeah, the changes from the bypass mechanism, the timer now goes off only after 10 seconds if the callbacks are lazy. And we could reuse all the other code in the bypass mechanism to do this stuff. Also, if any non-lazy RCU callback is queued, we flush all the lazy ones. Because there's no point if we're triggering RCU anyway, we might as well take care of the lazy callbacks as well. So that's another situation where we do this sort of flushing. OK, so far hopefully it's clear how it works and all that. Any questions so far? Comment? All right. So now the memory reclaim part. The current implementation for if there's stuff in the bypass list, we have a shrinker mechanism that is used to see if the system requires memory back. And if that's the case, we flush all the lazy callbacks. And this is what the shrinker implementation looks like. The count function goes through all the CPUs and adds the number of lazy callbacks on each CPU. And then we return the count. And the scan function looks like that. The main thing here is we're told how many objects are required to be freed. And we go over each CPU list. And as soon as we run out of callbacks to move forward, we break out of the loop. So it's pretty simple. And this mechanism is terrible for detecting memory pressure. There's many issues with it. And this is where I want your guys input. So first of all, RCU doesn't really know how much memory is stored in per object. All we're doing is we're dealing with functions, like we have to run a function after a grace period. And also in the traditional sense, an object is with the shrinker mechanisms, and correct me if I'm wrong, but they typically do this caching of objects for performance reasons because they might need the object later. So when the shrinker gets called, they can just, OK, we can't cache them anymore. But with RCU, it's more like garbage collection. So the other thing is we're going through each CPU and flushing all the lazy callbacks. So we may oftentimes scan more, free more objects or move more callbacks forward than requested. And the scan doesn't really free memory immediately. It triggers grace periods. So if a grace period takes very long, then we're kind of lying to the system that we return these objects when the grace period hasn't even completed.  We're mainly using it for detecting memory pressure, and there's no better way that we found off doing that. And the whole shrinker batches mechanism actually can make more RCU work, do more work. Again, correct me if I'm wrong, but the shrinker mechanism, the batches in the shrinker is because the shrinker wants to do a certain amount of work in batches. And the idea there is that instead of doing a lot of work at once, we can split it in batches and do it a little at a time. But actually, for RCU, that might mean more work. Because for every batch, we might trigger a new grace period. So it's not ideal. So what can we do that is better than the shrinker? Is VM pressure a better signal? Can we use that? This is an old topic that I think came up many conferences. One thing that it's not really clear to me is you try to delay callbacks as much as possible. But that means that it might be a lot of memory sitting in callbacks just to be freed, right? And you don't want to system go and struggle based on that. So I don't think that shrinker is something that will help you all that much because we proactively reclaim for reasons that are not even remotely close to be out of memory. So maybe something that would help is just to hook into the page allocator path where we start struggling. So for example, we have several stages of hot and slow pots. And for example, we have that should reclaim, retry thing that checks how much heart we should try really because that might be an atomic allocation that. So maybe that would be a better entry point for you. I'm not sure. And then I think that what you want to do is just to flush everything, right? You don't want to be very particularly picky about whether a subset of CPUs or is there something that would help or? Yeah, I think so. Typically, the RCU work that it has to do if you flush everything is about the same. It's that we might execute more callbacks than we'd like. We have the option of only flushing a part of it, right? Like I was showing in the scan function, we break out of the scan loop after the shrinker gets a count and we only try to satisfy the number that we're given. Yeah, but once you're doing that work, it doesn't matter just to do a subset of that work, just to be woken up later because that memory pressure keeps adding up. Also, does it help to distinguish between case of D and direct reclaim? Because case of D is not local, so maybe you don't want to pre or call callbacks that are distant to that NUMA node. That's not really clear to me. Yeah, we don't do any NUMA considerations at all. Yeah, so callbacks that are queued on that first CPU list are not necessarily freeing up memory for that particular node or that CPU. OK, so then doing anything really per CPU specific might be completely misleading for the memory reclaim process. OK, so maybe just try to flush everything because once there is a need for memory, then choose. OK, I'll look into that. Thank you. Joel? The other option is to just, we were thinking if the system is struggling all the time, we just have some heuristic that turns this off completely. That's another option, so we don't do lazy at all if things are really bad. Some kind of exponential back off heuristic type of thing. Yeah, just keep in mind that there are workloads that are reclaiming all the time. Like you have a page cache, IO stream kind of workload that is just putting memory in and just to reclaim it from the tail because that memory will not be used again. And that can just make the reclaim happening all the time. Also, there are people doing proactive reclaim. OK, I see. Yeah, sorry. OK, I'll look into that. It'll be fine. Joel, one question. So you are flushing the RCU callbacks because you suspect that some of them are like RCU, free RCUs or something like this, which basically keeps the memory. Yeah, there might be pinnings. There might be having memory that we need to give back to the system. Right, so maybe somehow annotates those RCU callbacks which are actually going to free memory. We have no idea who people use. But you have API, right? Free RCU, for example, is an API where usually it frees the memory. OK, free RCU, yeah, I'll be talking about that. But the regular RCU, people use the regular call RCU API to free memory as well. Maybe just provide some interface to tell them that this RCU actually is going to free memory. But I mean, don't all 99% of RCU callbacks end up freeing memory? No, there's some of them to wake up. And people use it for all kinds of use cases. Yeah, they use it in locking as well, where they start to switch from slow path to fast path. There's all kinds of crazy, like you're right, most of the use cases are for freeing memory. And that's why this makes sense. So we had to find out those few use cases that don't free memory and use a new API for those. And everybody else becomes lazy. So that turned out to be much better than converting everyone. So yeah, and then other ideas, like if we can somehow get feedback from the memory subsystem that executing callbacks did something to memory, maybe we can use such a signal in some way, although that's probably very difficult to implement. Oh, the other thing I wanted to ask you guys is the shrinker scan function, since we're like, we'll look into the allocator and all that, but the shrinker itself, since we're not really freeing objects, should we just return zero? Because I'm told some shrinkers, even though they're doing something about memory, they just return zero, because they're not really freeing a certain number of objects. Will that make the shrinker mechanism behave better in some way? No? So it looks like we should just get rid of the shrinker completely and do something better. All right, so the last part is K-Free RCU. So K-Free RCU is similar to RCU lazy, but it's for pointers. So with K-Free RCU, we know for sure that we're freeing memory, because the API gets a pointer. And this API can be used for both slab-allocated objects as well as VMailoc objects. And we also have support now for calling this API. We had to rename it to something else so that people wouldn't shoot themselves in the foot. But there's an option where your object doesn't even need an RCU head anymore, and we'll take care of allocating memory to do tracking and stuff like that. So this is very useful for objects that are really small, where you don't want to waste space for the RCU head. You can just call this API. But it's important to keep in mind that it may sleep. So this whole K-Free RCU mechanism, I worked on the initial patch, I think, three years ago or something. And then Vlad Resky took over. And he did a great job. He built it and improved it and all this stuff. So thank you, Vlad. And how does this work? So basically, we have a simplified diagram. We have a free list and a busy list. And the free list is basically a list of pages. And every time you call K-Free RCU, we take the pointer of the object and we put it in the page. And when we run out of pointers in a page, we go to the next page in the list. And so we have some pre-allocation logic that allocates these pages and uses them as needed. And we have timers that flush the free list to the busy list. So it kind of goes like that. And then we wait for a grace period. So after we wait for a grace period, we call K-Free bulk. So that's the big advantage of this is we can pass the page of pointers to create K-Free bulk to free objects. This is supposed to be more optimal than calling K-Free on each pointer. So that's basically how it works. The advantage of this is we have nice cache locality. Like we don't need to go over a chain of objects because linkless have terrible cache locality. So we can avoid that because we're dealing with a page of pointers. We can use the K-Free bulk APIs, as I said. And the disadvantages of this scheme are K-Free RCU might sleep is not that great. Why? It may allocate when we are freeing. It's kind of weird that we have to allocate when we're trying to free memory. And we are careful that if the allocation fails, we call synchronizeRCU. But we don't sleep in the allocator. We instead call synchronizeRCU. And that's horrible. But it's only supposed to happen in very extreme cases. The shrinker has similar disadvantages that we mentioned. But at least we know that in the K-Free RCU case, we're freeing memory. In the case of the regular RC, we have no idea. So maybe we can do something better here. So I was actually doing research and thinking, like it would be great if this, at least for slab objects, if we could integrate RCU into the slab itself. And I was living in a fantasy world for a few days when I was researching this. And I was very disappointed that it's much harder than I thought. So in an ideal world, if we could make the slab start and stop grace periods until it's really needed, and this is what FreeBSD does, by the way, it has integrated RCU into their version of RCU into their version of slab. And the nice thing about this is maybe when the slab decides that it needs to do something about RCU-free objects, a grace period might have already passed. So it doesn't even need to go to RCU. Like, we have mechanisms now in RCU where there's APIs where you can query RCU about, OK, has a grace period passed between point A and B. But yeah, so I was looking into the slab, and I was pretty disappointed that slab actually uses explicit free lists where they modify the object with a pointer in the beginning that points to the next free object. And how on earth can we, like, if we RCU-free an object and then we modify it and there's a reader that is accessing it, there's no way we can make that work. So any big ideas on? But even if that wasn't the case, we wouldn't be able to just put the objects into the free list because then somebody might allocate them before the grace period passes. So we would have to still somehow manage that. That's true. So the idea was, like, if there was some way that slab, slab, whatever it was doing, had some metadata on every object, then we could store some information there saying that this object is not ready yet. But unfortunately, it looks like hard to do with. I mean, we can't touch the object, right? So the slab actually doesn't have this problem because with slab, you have an array that points to the free objects. Yeah, but if you would put that into the array again, somebody might allocate it right away. Unless, yeah, but the array could have some metadata. Yeah, you could have some metadata, so. I think for the flag, slab, RCU-type-safe caches, we actually do add some extra header for this, if I remember correctly. But these are caches created in advance with this flag. And if we would start to do it in all the K-maloch caches, suddenly they wouldn't be so nicely aligned. And yeah, I'm responsible for making this alignment actually a documented property. And so if we edit this header, it would blow the usage because of the alignment. But yeah. And we don't want to do this for objects that are not RCU-free. So it should be, I mean, we shouldn't affect use cases that don't need this, right? That's the other hard part. Yeah, but there might be another reason why we might consider adding the arrays to slab that I will present later today. So maybe this would be another use case also. Oh, wow, OK, wonderful. But then, if you have an array, the nice thing about this architecture of slab is you can have any number of objects, right? Like, there's no limit.  But with slab, if I understand, because it's an array, you might run out of slots. And then you have to flush it. Yeah, OK, cool. Yeah, let's talk more about that. Yeah, if we could pull this off, we don't need a separate shrinker. The slab will decide it's shrinking. But as Mikkel was saying, maybe we can just add support in the memory subsystem for doing that. Yeah, there's no need. These are all the advantages I already mentioned of K-FreeRCU. But oh, I'm sorry. This is the advantage of the slab integration if we were to do that. Like, we don't need a separate, you know, there's a lot of code in K-FreeRCU. We don't need to have the pages and filling them with pointers and all that. If you could just tell slab, hey, this is a free request. But by the way, this is an RCU free request. Then that would get rid of all this code that we have on the top of the slab stuff. And it might be faster, because maybe the slab can just drop the whole page or something if it was full of stuff that was RCU free, I don't know. There would also be probably no need of an RCU head, because we're telling the slab that this is the object we need RCU free, and the slab will take care of freeing it. Whereas right now with the K-FreeRCU code, we have an RCU head in every object. Disadvantages, it increases the slab complexity. It does not apply to freeing VML objects, because in the K-FreeRCU code, it's actually called KVFreeRCU. There's macros that define the same API more than once. And so this mechanism can also free VML objects. So, oh, yeah, you mean? OK, OK, thank you. Yeah, maybe other disadvantages. I don't know, but cool. So yeah, thanks a lot. Yeah, the lazy RCU feature, I'm hoping that it will be useful for other people. Like, there's people on the cloud side, and data senders, and stuff who are also interested in saving power. So maybe, so this is available in 6.2 kernel onwards. So yeah, maybe it can help others as well. So just a question, do I need to invoke RCU some special way to use the lazy, or what's the API? So yeah, last LPC, we got this very good feedback from Thomas Kleitzner saying, don't introduce new APIs and confuse kernel developers. So we made this completely in the existing call RCU mechanism. So the laziness kicks in automatically, without any. But we had to add a new API for all these people who are not freeing memory, and wanted their callbacks to run really quickly. So that's called call RCU-Hurry. I didn't choose that name. I was thinking it was expedited, but it's something else. Yeah. Could you go back to the memory reclaimed page, please? I got a request from some GPO Fox. And they find the current slab shrinker API is sufficient. What is it want is they want VMs again to export two generation numbers, one the youngest generation number, the other is the oldest one. And you're not on the page. So which page exactly? Memory reclaimed. So basically, they want to, no, no, no, no, memory reclaimed. Memory reclaimed, that's the, I'm sorry, maybe we can. So yeah, basically what they want to do is, I think they have a similar problem. Basically, they can't compare GPU memory objects with the host memory in terms of hotness and coldness. And what they want to do is they want to put the recent GPU memory into the youngest generation. And when the host starts reclaiming, then the host will notify this GPU driver that, oh, OK, I'm reclaiming this generation. And it's an older than this generation should be gone, removed. So this way, they wouldn't over reclaim. Also, they can sort their internal objects using the VM scan generation numbers. So I wonder whether they're going to be helpful to your use case. Yeah, the thing is we don't care about hotness or coldness, because like Mikko was saying, it's better to flush everything, right? Because we're not really caching in the sense that it's not objects. You don't want to flush everything unnecessarily, right? Right, you want to. So if, like I say, the memory pressure is not that bad, you probably want to delay it. Yeah, right, OK. Thank you. Thank you, everyone. All right.


The Home of Mother Earth Foundation, HOMEF, has charged the federal government to take responsibility for the three-year-old infant who lives in Aurora One well at OML 95 and must extinguish the fire as soon as possible. These were the outcomes of media briefing and documentary screening on the Aurora oil well fire held in Lagos. Details in this report. OML 95, which happened in April 2020, has been on fire for over three years. Inhabitants of our Woye community in Andoostate, where the Inferno code have had their livelihood severely affected. Their primary means of survival, fishing, has been harmed due to the contamination of the marine ecosystem by the region fire and accompanying oil spills. It's a grim reality painted in barrels of spilled oil and hectares of ruined land. After several visits, the Home of Mother Earth Foundation, HOMEF, puts these documentary titled Aurora Inferno, a tragic odyssey of injustice and environmental destruction, together. Executive Director HOMEF, Nemo Basi, alongside others say these Inferno represent a huge discounting of the lives of the people, their culture and their ecosystem. Now that accident happened and the government officials said it could be stopped within six weeks if they had the right contractors to stop it.  I believe government would wish that we just ignore it, but you can't ignore that kind of disaster happening in plain sight. It's happening day and night. It's not a thing that is hidden. And it's just unfortunate that Nigeria goes on as if nothing is going on. And this is really horrible. So we don't need to search for who caused this. We know it's caused by the oil corporation. Who bears the brunt? The local communities are once bearing the brunt of this spill. The biggest question is, why punish me for a sin that I didn't commit? Members of the Awaii community at the screening also speak about the devastation they have faced since the oil-well fire began. Since that last year, when they explained to me, they said, fish, not again. Nothing, nothing. If we go over there, before fishing, three or four fardons, now we take the fishing. But now, if we don't enter 20 fardons, we don't fish for air. I don't see anything. I'm sure everybody will see this. So far, not only me, all the communities. Khomef also urged the government to ensure that remediation activities in the affected community are carried out immediately. Justina Khadouni, Plus TV News, Lagos.


Hello everyone, I am Narc Survivor. Welcome to my YouTube channel. Before I begin please hit that thumbs up button down below to show your support. Thank you. Your happiness makes Narcissus miserable. Narcissus are already miserable but your happiness reminds them of their misery. It causes their discomfort, distress and unhappiness to come to the surface and this is why they are always so bitter, resentful, dissatisfied, disgruntled and passive aggressive because of their bad experiences and a sense of unjust treatment where they experience distressing and disastrous situations, misfortune setbacks and disappointment in their childhood and they felt like they were treated badly in a way that they do not deserve which is why they are always playing the victim because this is the program they are running off in their minds, this is their hard wiring based on what they went through in their childhood and it is why they act this way with you because their happiness is not like yours and any time that you are happy it reminds them of that fact of how you can be happy so easily and effortlessly and yet they can't find a reason to be happy for anything in their lives which may be because they don't have anything valuable or meaningful or they may have everything they want and yet they are still bitter and miserable because they are envious and jealous. They decide to have your qualities, possessions or other desirable attributes so they may become hostile towards you because they see you enjoying an advantage that they can't have or can't experience in the same way as you do so then they become fiercely protective or vigilant over you as though you are their possession because they are experiencing emotional pain at witnessing your good fortune or maybe they want all of your attention for themselves and yet they have to watch you show an interest in someone or something else even if you have less even if what you have is nothing in comparison to what they have it still bothers and irritates them because it's you and not them and their happiness is not like yours they can't get the same fulfillment as you do they may have everything but they are still miserable even though they have more houses and cars and more success and it's really obvious when someone is jealous of you because you will feel like they're trying to control your life they will always be checking up on you they will be telling you what to do what not to do and how to act and they may even limit your contact with friends or co-workers they may try to isolate you they may also copy you over emphasize your achievements misguide you through bad tips and recommendations bombard you with uncomfortable questions take satisfaction in your mistakes and failures be overly competitive make excuses to pull away or not to see you be overly critical of you take credit for your work cut you off during a conversation demotivate you make sarcastic indirect and negative remarks humiliate you in the presence of other people gossip about you downplay your achievements and it will seem like they hate you for no apparent reason and yet well some jealous people will avoid you some will always want to be around you and it's because they're very insecure so they need an outlook for the bad energy building inside of them they may also have a fear of inadequacy fear of abandonment fear of being replaced and fear of being judged and this will breathe suspicion doubt and mistrust they're jealous and they're fierce because they're making comparisons they're constantly considering and estimating the similarities and dissimilarities between you and them or themselves and another person so you're either someone they decide to be with or they viewed you as their competition and if they view you as their competition it's because they feel inferior to you they feel inadequate in comparison to you they feel like they could never measure up they're jealous because they fear losing you as their source of supply they fear that you may be a lot happier without them and this is a feeling they can't avoid or control they envy you because they evaluate in their self-worth and well-being in comparison to yours and they see that you possess qualities achievements and other desirable attributes that they lack but want and needs so they feel envy towards you and this is why they don't respect you or regard you with warm approval it's why they don't want to regard you as something impressive or worthy of respect even though you may be a wonderful person because you're satisfied and pleased with yourself and with what you have you're appreciative you're filled with gratitude you can live in the moment and focus all of your attention on the present moment without worrying about the past or future unless you're reminiscing over memories that you've made or daydreaming about the future and that just kills them inside because it's not like that for them even if they do become successful even if they do achieve whatever it was that they envied in another person or whatever they thought they want they're still and a happy and that's what makes them bitter hurt and resentful because it's so easy for you even if you had it all and they ruined your life and took it all away from you and then a few months later they peered into your life again they would still be mad because you'd still find a reason to be happy and they'd still be miserable even if they have everything that they took from you they could be living in your house with their new partner driving your car and taking trips around the world with your money while you're out on the street with nothing and they'd still be miserable and mad at you because their happiness is not like yours they can't get the same fulfillment as you do so as long as you're living and breathing they're still going to be bitter and they're going to try to limit and control you as much as they can because they don't want to be reminded of how much happier and fulfilled you are than them but even if they did manage to take your life that still wouldn't fill the emptiness that they feel inside they're going to be bitter until the day they die they're going to be bitter until the very end they're not going to get better as they age they're going to get worse because the more failures and disappointments they experience the worse they feel and the more bitter and resentful they become well it's not like that for you which is why they're always on you it's why they bombard you with simultaneously with so many things and they pile all of these unnecessary duties and responsibilities on to you because they can see that nothing is keeping you down if it was they might have stopped you a long time ago or maybe they wouldn't because even then they never satisfied which is why they just never seemed to let up with the abuse and in some cases they're on you until the day they die because you're still able to find peace and happiness within yourself and they can't which is why you may feel like you're walking on eggshells whenever you're around them and you're afraid to smile or be happy or maybe it's just because you have empathy so you don't want to upset them or get under their skin and they see that they notice when you gray rock and that just irritates them even more because it reminds them that you're only doing that because you know that they're miserable so they see it as an attack they see it as though they as though you're hitting them and then they're just going to ramp the abuse even more because they want you to feel how they feel inside they want to project their emotions onto you just as we may want to project our happiness onto them but they're not happy they're miserable and that's why they don't want you to be happy they just want you to be an outsider an observer of their fake happiness so at least in that moment they can feel like they have something they can feel like they're happy they can feel like they're experiencing life in the way that you do because when they see you even if they had any morals before that that's all gone out the window because they would kill for your life and some of them will quite literally cheat lie and steal to have what you have because they want it that bad but even if they had it it would make a difference because it only looked good because you had it just because they've got it now it doesn't mean they're gonna feel like you do and that's what they don't understand and it just eats away at them because they can't be happy it's not possible for narcissistic people to be happy because they're self-absorbed and they lack empathy and happiness comes from gratitude and giving not from buying at having so they can only pretend to be happy which is why they're still bitter and it's not because you've done anything to them it's because you're happy and they're not and yet they're stuck in this endless cycle of thinking that they need to achieve more to be happy which is why they will often question you about your happiness or they will try to make you believe that you know you need to have a particular thing in order to be happy because that's just how it is for them they can't be happy so then they will feel like life is unfair even though they may have done all of these things to you and try to ruin your happiness they will still feel like it's unfair because they're comparing their lack of happiness to your sense of happiness they're not thinking about anything they've done it doesn't even cross their minds because you're still happy and they will look at your life and your possessions and assume that they deserve more because they're arrogant and entitled they believe they deserve more just because they exist not because they put in the work or because they achieve something but just because they see you have it and they want it and this is why the world is the way that it is today where people believe they should have everything just because they exist not because they actually put in the work to earn it a lot of people in the world are like big babies and they expect people to cater to them they have a grandiose sentiment out of months without any without anything of value to offer to anyone which has only produced social degeneration but it's because so many people think they are to serve it or privileges and special treatment when they haven't even put in the work and even when they get it it just makes them even more unhappy because deep down they know they don't deserve it they know they don't have the qualifications or experience or they have this grandiose sense of entitlement which doesn't serve anyone but themselves and if they don't get what they want they will become bitter and emotions are contagious especially negative emotions because negative emotions are more contagious and positive emotions which means that if you are around them you may catch that emotional state in the same way that you would catch a contagious illness which is why you should always examine your emotional state before and after dealing with them and notice the change in your emotions in your state of mind and after dealing with them just go back to loving yourself practice self-love because that is your greatest defense against narcissistic behavior thank you for watching if you found this video helpful please give it a thumbs up share your thoughts in the comment section hit the subscribe button to receive the notifications if you would like to support the channel you can donate at payable.me slash Narc Survivor you can book a one-on-one with me on my website it's Narc Survivor.co.uk thank you for watching and I'll talk to you soon