تفتّف آدك الأيام فتّى وتنحى نحن نأخذ الآلية في التي الشيخ رحمه الله يقول وَأَوْجِبْ عَنِ المَحْضُورِ كَفَّا جَوَارِحٍ وَنَدْبُنَ عَنِ المَكْرُوْهِ غَيْرٌ مُشَدَّدِي قبل ما نتحدث عنه هو المساعدة ومساعدة لتساعد المساعدة و here the الشيخ رحمه الله يتحدث عن المساعدة في المساعدة لأن قبل أنه يتحدث عن it in particular the tongue, the eye but now he's actually speaking in general so the sheikh is here telling us to stay away from the prohibited things stay away from the prohibited things such as stealing to stay away from anger stay away from killing stay away from backbiting stay away from cursing stay away from committing zina all of that to the person he abstains from all of that و لذلك the sheikh also elaborated on staying away from the disliked things because that's also good that he told from it he said وَأَوْجِبْ عَنِ المَحْضُورِ كَفَّا جَوَارِحٍ stay away from the prohibited things and save God hold back your limbs و ندب عن المكروه غير مشددي and it's also highly recommended that you leave of the disliked things ليس مشددي but not in a forceful manner it's recommended, it's disliked الأداب الوسطة it's mentioned there و يجب كف يديه it is obligatory that the person holds his hand و خمه and his mouth و فرجه and his private part و بقية أعضائه and the remaining part of his limbs عما يحرموا from those things which are prohibited و يستنوا عما يكره and it is recommended to stay away from that which is disliked ابن جوزرحم الله he mentions he says هذا فيما لم يضرأ إلى ذلك و إلا يجازا this is talking about a person who necessity has not forced him to do it because that person is permissible for him some things which are prohibited they become permissible under necessity we're not talking about necessity here then the author رحمه الله he said و أمرك بالمعروف و النهي يا أفتا عن الممكن جعل فرض عين تسدني على عالم بالحذر والفعل لم يقوم سواه به مع أمن عدوان معتدي ولو كان ذا فسق و جهل و في السواء الذي قيل فرض بالكفاية وحددي ابن جوزرحم الشيخ رحمه الله here he's talking about calling to the good and prohibiting the evil و أمرك بالمعروف و النهي يا فتا عن الممكن جعل فرض عين تسدني calling to the good and prohibiting evil the sheikh tells us here so what does معروف first of all mean in Arabic now معروف is anything that the sharia commanded من ما يؤمر به شرعا it is anything that is ordered by the sharia a munkar means ما ينهى عجه شرعا anything that is prohibited from it شرعا in the sharia معروف النهي عن المنكر is واجب فرضعين as our overruling because الله تبارك و تعالى he said كنتم يؤعا خير أمة أخرجة للناس تأمرون بالمعروف وتنهون عن المنكر وتؤمرون بالله صورة آلة عمران آية 10 also الله تبارك و تعالى he said in صورة آلة عمران آية 104 which is on the other side of the page يسدول تقوم منكم أمة تجدعون إلى الخير و يأمرون بالمعروف و ينهون عن المنكر يعني أصول السيد سبحانه وتعالى لعين الذين كفروا من بني اسرائيل على لسان داودا و عيسة بن مريم ذلك بما عصوا و كانوا يعتدون كانوا لا يتناهون عن منكر فعلوه لبئس ما كانوا يفعلون صورة المائدة آية 8 آية 78 آية 78 في ذلك آية الله يقول that the disbelievers are cast لعين الذين كفروا the disbelievers are cast from the children of Israel on the tongue of who على لسان داودا و عيسة بن مريم on the tongue of نبير الله داود and also on the tongue of عيسة بن مريم ذلك بما عصوا and the reason for that is because they they disobeyed their lord و كانوا يعتدون and they transgress they exceeded their limits كانوا لا يتناهون عن منكر فعلوه they never prohibited one another from an evil that one did they didn't الله then says what an evil thing which they did what an evil thing in which they did also the messenger صلى الله عليه وسلم أزمام الترمذه narrated in his sunan or in his jami'a عن حذيفة رضي الله تعالى عنه عن النبي صلى الله عليه وسلم أنه قال that حذيفة السن والذي نفسي بيده I swear by the lord in which my soul is in his hand لا تأمرونا بالمعروف you will call to the good ولا تنهون عن المنكر and you will prohibit the evil أو لا يوشك أن الله أن يبعث عليكم عقاب منه ثم تدعونه فلا يستجاب لكم or الله will bring out from you a punishment ثم تدعونه then you try to supplicate to him فلا يستجاب لكم أن يدعاوه بيكستر you make dua أن يدعاوه بيكستر أصر إن النذة حديث ده مسجل صلى الله عليه وسلم he said لا تأمرونا بالمعروف you will call to the good ولا تنهون عن المنكر and you will prohibit the evil أو لا يسلط أن الله شرارك شرارك فلا يستجاب لكم you will call to the good and you will prohibit the evil or Allah will place over you the evilest ones amongst you and they will govern and control the righteous ones and they will control the righteous ones and they will control the righteous ones and they will control the righteous ones and they will control the righteous ones then the righteous ones will make dua فلا يستجاب لكم and their dua will not be accepted also the messengers صلى الله عليه وسلم have said there is not a people فيهم رجل يعملوا بالمعاصل there is not a group of people or there is not a nation or there is not a people in which amongst them a man commits sin وهم أعزوا منه and they are more stronger than him و أملع and they can prevent him they can stop him لا يغيروا and they choose not to change the matter إلا أصابهم الله بإعقاب except Allah will afflict them with a punishment except Allah will what? He will afflict them with a punishment وقال مصعر مصعر he said أمرا ملك أن يخصف بقرية أمرا ملك أن يخصف بقرية أن يخصف بقرية أن يخصف بقرية أن يخصف بقرية فقال فقال فقال so and so who is a worshipper is amongst them الله سبحانه وتعالى said to the angel فأوح الله إليه أن به فبدأ الله said to the angel start with him why فإنه لم يتمع روجه فيه ساعة the reason is because لم يتمع لم يتمع when the person becomes angry what happens to their face they go like this they get angry yet that person he is evil act so in this righteous servant sorry he never got angry for the sake of Allah فإنه لم يتمع روجه فيه ساعة لم يتمع when the person becomes angry it means that he never got angry for my sake because the believer if Allah is حرومات إذا هو تكو حرومات الله if Allah is sacred in legislations are being disobeyed the believer's heart he cannot hold himself together و لذلك عائشة رضي الله تعالى عنها she said what رسول الله صلى الله عليه وسلم he never used to give victory for his own self somebody did something to him forgive but if somebody did something to Allah and his religion the messenger صلى الله عليه وسلم he will get angry for it and if the hadith they have come regarding this are immense and they are extensive regarding what الأمر بالمعروف و النهي عن المنكر I don't want you to always remember this والله if it wasn't for أمر بالمعروف and if it wasn't for النهي عن المنكر if it was not ولولا الأمر بالمعروف و النهي عن المنكر ها لشاع الجهل the ignorance would have spread و بطال العلم and knowledge would nullify and you see on the pulpit زناديقة you see the what شرار خرق الله the evilest the worst people on the face of this earth will be given خطب the final assignment الأمر بالمعروف و النهي عن المنكر it is what it is what gets rid of ignorance and it is what makes knowledge prevail الأمر بالمعروف brothers and sisters فرض على كل مسلم it is obligatory on every muslim لا يسقط في حال من الأحوالي it will never be uplifted from you الأمر بالمعروف عن المنكر it will never get uplifted from you and the person is always able to reject the evil and to accept the good on the different levels that the hadith of the messenger صلى الله عليه وسلم so that's why it's always obligatory on you and you will either fall in one of these categories anyone of you who sees evil stop it with your hand if you are not able فبيلسانه يوطن فإن لم يستطع فبيقلبه if you can't do it with your tongue then do it with your heart مراء منكم مكرف لغييله بيدي فإن لم يستطع فبيلساني فإن لم يستطع فبيقلبه و ذلك أضعف الإيمان and that is the weakest branch of the iman and because of that فلا يجوزو it is never permissible for you it may happen that you may not be able to physically stop it and it may happen sometimes you may not even be able to say it but what you can never escape from which you have to come with is your heart your heart has to reject the evil and to accept the good and it is not permissible for you يربى بالمعصية to ever be happy with a sin and a crime that is being done ولولم يقدر على إدالتها it doesn't even matter if you can't stop this evil it doesn't matter if you don't have the ability to eradicate and get rid of this evil لذلك that's why ابن أبي الدنيا ابنه أبي الدنيا he has in his he has been living in knowledge of the future but all the narrations that have come from from his own chain of narration he speaks about it ابن أبي الدنيا he brought in his book a Hadith from Abu Hurayla that the Prophet ﷺ من حضرة معصية anyone who is present in a place where sins are being done فكرهها and he dislikes it فكأنه غابع عنها ومن غاب عنها and anyone who is absent from a gathering which evil is being done but he loves it فأحبها فكأنه حضرها it is right although he was one who was participating in it So as I said before الأمر المعروف النهي عن المنكر إنه فرض على كل مسلم لا يسقوط في حالي من الأحوالي it will never be uplifted for me And based on the statement of the author here he mentions that which is what و أمرك بالمعروف والنهي فتا عن المنكرج على فرض عين It is a individual obligation to call to the good and to prohibit the evil So that's what we take from the statement of the author رحمه الله Now we want to know something If a person is scared and he fears for himself what does he do I just touched on it just a bit a minute ago What gets lifted from him is the first part of الأمر المعروف عن المنكر which is to physically stop it فيها خمس يا إما ابن رجب رحمه الله ابن رجب إنه كتاب جاء معلوم الحكم و قد نصل أئمة و على ذلك منهم ماليك و أحمد و إصحاق و غيرهم إمام أحمد و إصحاق بن راهوية و إمام ماليك before them There is clear statements of this which is what The أمر بالمعروف أنه علي المنكر is lifted from your shoulders If the person is scared that falls under if he is not able فيها is if you are scared then it can be lifted from you but what can't be lifted from you and these are not referring to what's in your heart meaning if you physically fear if you stop something and if you physically fear if you speak then it can fall under the one who is unable to do so That is the statement of Imam ماليك مام أحمد و إصحاق and other than them ابن الشب رمة ابن الشب رمة فيسد الأمر بالمعروف أنه عن المنكر كالجهد تأتي جهد call it to the good and prohibit and evil is a jihad تأتي جهد يجب على الواحد أن يصابر فيه الإثنين و يحرم عليه الفرار منهم ولا يجب عليه مصابرة أكثر نجلي و يحرم عليه الفرار و يقول يجب على one person to be patient to be patient with two people in a battlefield how many people can you fight with two he said if you are calling to the good and prohibit and evil and they are two people and you're scared of them up to two you have to be patient you're not allowed to run but if it's more than two more than two he said و يحرم عليه الفرار منهم ولا يجب عليه المصابرة أكثر نجلي but if it's more than two then it's not upon you you can you can you can stay away from doing it what about if a person fears insult فإنخاف السمب أو اسمع الكلام السيء لن يسقط عنه الإنكار لذلك the person is what if a person fears insult name calling people are going to call me names if I say this if I prohibit the evil from this the people are going to call me bad names they're going to ridicule me I'm going to be shown in an evil light yeah then we say to this لم يسقط عنه الإنكار و بذلك for you the ruling is not lifted from you you still have to do أمر بالمعروف أنه يعاني المكر أما محمد صدق رحمه الله are you with me when Imam Ahmad said that when Imam Ahmad said that it was then set him Imam Ahmad clearly said that إنخاف السمب if a person fears to be insulted أو he fears اسمع الكلام السيء or somebody is going to make him hear evil speech that he doesn't like to hear somebody is going to call him names then Imam Ahmad said it is not permissible for him to stay away from calling to the good news he still has to do it then Imam Ahmad was reminded of the hadith which the Prophet SAW said ليس للمؤمن أن يدل لنفسه it is not befitting for a believer to humiliate himself then the Sahab was asked يا رسول الله كيف يدل لنفسه how would one humiliate himself the Prophet SAW he presents himself من البلائق he presents himself to a problem لما لا طاقة له به which he has no ability for Imam Ahmad how can you say that he has to he has to still call to the good and prohibit the evil within this hadith Imam Ahmad said ليس هذا من ذلك this hadith is not talking about that this hadith is not talking about that and what strength is Imam Ahmad's speech is the hadith in which أبو داود إبنو ماجأة ترميذي they narrated on the authority of أبي سعيد that the messenger SAW SAW said أفضلوا الجهادي the best form of jihad is a word to عد لين عنده سلطان جائل it is saying speech of justice speech of truth in the presence of a tyrant leader next time you say it إما محمد أبو داود ترميذ أبنو ماجأة ترميذي now listen to this you know the leader he is a tyrant leader and you know he is going to deal with you in a very severe way yeah و لذلك أبزار he narrated in his musnad huh he narrated in his musnad which is called البحر الزاخر أما البحر is called البحر الزخار man in the chain of narration there is a there is a jihala somebody who is unknown on the authority of أبي عبيده عام البنو جرواح he said قلت يا رسول الله I said to the messenger of Allah أي شهاداء أكرم عند الله which of the martyrs are most beloved to Allah which is the greatest form of the martyr the messenger صلى الله عليه وسلم رجل أيمان قام إلى إمام جائر فأمره بمعروف و نهاه عمون كريم فقط له أي من who stood up to a leader who is a tyrant leader and he called him to the good and he prohibited him from the evil and he got killed because of that إبنو جوزي إبنو جوزي he said فأما السبو as for calling و الشتمو and insults فليس بيعذرن فسو كوتي it is not an excuse for one to be silent just because you are going to be called names or you are going to be insulted it is not an excuse it is not a justified reason a legitimate reason for one to be silent and not called to the good and prohibit the evil why is that إبنو جوزي he said لأن الأمر بالمعروفي يلقى ذلك في الغاليب because the one who is calling to the good the majority of the time that is what is going to happen to him anyway the people are those who are inclined to that desire and those who are inclined to this evil act they will continuously want to carry on doing this evil and so they are always going to insult you give you evil bad names so that is going to happen regardless و لذلك إمام أبو داود السجستاني صحيب السنان he has a book which is مسائل أبو داود الإمام أحمد there is a question that he asked and it is published a question that he asked إمام أحمد and he answers those questions إمام أحمد أبو داود إمام أحمد يشتموا a person who is insulted إمام أحمد يحتمل من يريد أنه يأمر أو ينهى ولا يريد أن ينتصل بعد ذلك he will have to يحتمل meaning he will have to carry the burden he will have to take that on you see شغل سامي بن تيمة رحمه الله he said الصبر على أداء الخلق عند الأمر بالمعروف و النهي عن المنكر اللم يستعمل لزمة أحد الأمرين إما تعطيل الأمر والنهي و إما حصول فتنة و مفسدة أعظم من مفسدة ترك الأمر والنهي أو مثلها أو قريب منها و كلاهما معصية و فساد قال الله تعالى و أمر بالمعروف و أمر بالمعروف ونهى عن المنكر وصبر على ما أصابك إن ذلك من عزم الأمور فمن أمرى و لم يصبر أو صبر و لم يأمر أو لم يأمر و لم يصبر حصل من هذه الأقسام التلاثة بسدها و إمنا مصلاح في أي أمر و يصبر كبريتين يقول something very powerful he said الصبر and patience على أداء الخلق in the harming of the creation الصبر to be patient على أداء the harm of the creation when calling to what عند الأمرى بالمعروف و النهى عن المنكر when calling to the good and prohibiting the evil he said if that is not used إلا مستعمل if it's not used meaning patience is not used لازم أحد و أمرين one of two problems who come out of it and if a person does not use patience when calling to the good and prohibiting the evil patience from what from the harm of the people if he doesn't do it he said one of two things happens one إما تعطيل الأمرى و النهى إذا the dismantling of the command and the prohibition that's going to occur dismantling of the command and the prohibitions و إما أو حصول فتنة و مفسدة أعظم من مفسدة ترك الأمرى و النهى أو the fitنة the trials and the tribulation and the corruption which will occur حصول that he will gain is greater than the corruption of leaving calling to the good and prohibiting the evil or even equal to it or even close to it and all of those two are a thin and corruption and he said because of that الله تعالى he set to us و أمر بالمعروف he called to the good وانه عن المنكري and prohibited the evil وصبر be patient على ما أصابك be patient on that which afflicts you إن ذلك من عزم الأمور that is the strongest of the matter فمن أمرى إبريتيمي said anyone who who orders the good ولم يسبر and does not show patience أو صبر أو he shows patience ولم يأمر but he doesn't order أو لم يأمر أو he does not order ولم يصبر and he doesn't show patience حصل من هذه الأقسام من تلاته المفسدة from those three that I mentioned corruption will come out of it وإنما صلاحه good and prosperity is in what في أن يأمر و يصبر for the one to order and to be patient now the question that also comes into places is that when you're calling to the good and you're prohibiting the evil do you have to hope that that what you're trying to say will reach the masses or in better terms or in better weddings is it permissible or is it a condition for you to call to the good and to prohibit the evil that you have a high assumption that the evil you're prohibiting will remove and it will go and the good that you are trying to put forward will be taken is that a condition for you to call to the good and prohibit the evil this is a question that is very important so I want to call to the good and I also want to prohibit the evil do I have to know that this command in which I'm going to call to and this evil which I'm going to prohibit that is going to be taken it's going to be accepted is that a condition we'll leave that for the next lesson إن شاء الله أستغفرك وأتوب إلي


Sam here with late-in-sports cards. We're ripping 22, Penini Phoenix hobby, an impeccable hobby, 3 box NFL mixer, number 8, random team style. There's a look again at your random results. As always, combine these on the website under the results tab as well as the link that's in the chat. So good luck guys. Let's do it. We've got Phoenix first, on Robinson to 250, Jared Goff. There's Orange, Kway Walker to 99 for the Packers, on the rookie. Hot row, it's Marquise Brown. Purple, Jalani Woods for the Colts to 125, Skymore, rookie rising. What's up TJ? What's up TJ? Yeah, I meant to say hi. What's up dude? Pink, Tom Brady to 199 for the Buccaneers, and Devante Adams contours. Romeo Dobbs to 250, Kenny Pickett, Silverflame throwers. There's Thurman Thomas, two of five on the Green Mythical Patch Auto, going to Eric P in the Bills. That's sick. Congrats on that there, Eric. Thurman Thomas, two of five. Silver, Chad Mooma, Tom Brady for the Bucs to 150, Silver, Chris Godwin. That was pretty cool. Thurman Thomas was nice. I like that. I like the vet checklist in this. 29 of 75, Jahan Dotson, purple three colored patch for the Commanders. Color Burst, another Isaiah Spiller for the Chargers. Oh, Najee Harris, nice color match to 75. 24 of 75, two off Jersey number for the Steelers. Yellow, Jaquan Briskard to 75 for the Bears, nice one there. And Silver, Stefan Diggs, Briskard's kind of a stub. Drake London, David Montgomery Teal to 150. No, not 150. Yeah, 150. Fireforge, Tom Brady. We've got Kenneth Walker at 125, dual RPA going to Seahawks. So in there, Jonathan S was Seattle. Silver, David Montgomery for the Niners to 199. Doesn't rid a rookie Ryzen Silver. Kyle Phillips to 250. Silver, Pat Tillman contours. That's a cool card out of Pat Tillman. Marquise Brown on the Purple Hot Routes to Dark Blue to 35.  Pulled the black last break and now the blue. Oh, yeah, we did. There's Tyquan Thornton, Orange to 99 for the Patriots. Garrett Wilson, Hot Routes, Silver. Renton Hill, Purple 150. Silver, Danny Gray, Rookie. Looks like we got points here. 400, ran them to everybody at the end. Wondale Robinson. Joe Nameth, Orange to 99. Silver, DK. 22 of 75. Vilish Jones Jr., two-color patch. Purple, going to the Bears. Nice one there, Bears. Adam Thielen, color-versed for the Vikings. Lava Zach Wilson. Silver, Steve Young. Pink, Cam Taylor Britt for the Bengals and Cooper Cupp. Jake Julio Rodriguez next back. There we go, Manny. Jennings Tindall, Teal, Trevor Lawrence to 150. Silver, Malik. I did not know that until right now, Vaughn. The box is going 16 straight. God, dude. Malik Willis, 250. Three-colored RPA. Nice one there for the Titans. Grats on that. There you go, Tennessee. Three-colored RPA. Silver, Jair Alexander. We got our bar, and it is in the right spot. Thank the Lord. Daddy, it's a bar for this great dude. So, welcome to draw, pal. Trey Lance, 22 of 25 for the Niners. So, got Davis Mills, 44 of 75 for the Texans. Also going to the Texans. Jailin Petry, 51 out of 75. So, in there, Houston. So, we're here going to Adam F. and the Niners. How about an elegance? Jersey Auto of Richard Sherman. That's kind of nice. Evan, Evan H. Are you in here? I know you've been in here relatively recently because this is nasty, dude, this next one. You can mag this next one. We've got, how about an on-card Super Bowl MVP, 7 of 25, Peyton Manning on the acetate. That's nasty. Congrats, Evan with the Colts. That's awesome, dude. That's an on-card Peyton as well. Again, 7 of 25. Super Bowl MVP. We'll mag that right away. We've got a nice one here. Elegance, two-colored Hatch Auto, 34, 49. Jay Jedis, Justin Jefferson. So, in there, Minnesota. That's going to Antonio M. There you go, Antonio. And going to Mark K. and the Commanders is Brian Robinson, Jr. Yeah, I agree, Andrew. It's always fun pulling Peyton Manning stuff. That is a two-colored Hatch Helmet Auto. Bar card. Good luck, everybody. That's cool. Going back to the Commanders again. Mark, we've got Jahan Dotson. 15 of 25, one Troy ounce of Fine Silver on the rookie bar. Hey, there's Evan. Congrats, buddy. Nice one there on the Dotson. Still have points, random real quick, everybody. And we've got 400 points. Just going to put everybody's team into the randomizer. All right, guys, again, doing the random for 400 points. Going to roll the dice. Whatever team's on top after, not two. That's a reroll. Nine times, we'll get the points. One, two, three, four, five, six, seven, eight, and nine. Going to the Broncos-Browns combo. Broncos-Browns combo. Let's do a quick recap here. We've got Velish Jones, Jahan Dotson, Brian Robinson, Jr., Justin Jefferson, Richard Sherman, Jalen Petrie, Malik Willis, Kenneth Walker, Thurman Thomas. We had A, Jahan Dotson, one Troy ounce of Fine Silver. How about an awesome Peyton Manning, Super Bowl MVP, seven out of 25 on the acetates. Congrats again on that, Evan. That'll do it for the break, guys. Thanks again for the fill. Next up, we've got number nine.


Welcome back to the channel today I wanted to show you a way to get a free armor suit right from the start of the game when you get to new Atlantis and you get to Constellations mansion there is some armor in this place that is behind a master lock But you can actually gain access to it without even needing to lock pick So I'm gonna show you I'm here outside with miss Sarah Morgan just chilling just chilling Sorry, I mean you didn't see that let's go in and We need to go to a very specific place to be able to get it and it's not difficult But it's a little fiddly to to actually gain access to it right So here is the normal area where you can see all the artifacts and stuff You want to open this door and this door has it's locked by the lodge key Which you'll get when you join constellation that give you the lodge key It's not something you could miss. It's it's something that will be given to you You come down here There's all things for you to use and see and all of that great stuff you want to run here Go right all the way to you see this painting and then we turn to the left as you can see this armor is Locked behind the door, but you can Get into the little crack to see the mannequin easier to do it in first person I think probably a good idea is not to have a shotgun because of the You can see just right here. Sorry. I just had to focus it as soon as I move even slightly it changes Very quickly from door to mannequin. You can see it on screen. You need to find that perfect spot Which is a little bit frustrating But we're gonna get there. Let me change my gun just to get a better crosser. That's probably a little bit easier All right door I'm gonna get it. I'm gonna get it I want to show you in real time. What's this what this is like because I don't want to just get it Perfect every time.  I suppose like if you just tap a and move it you'd be able to You'll be able to get it. Oh This is the way I could do it from right here. It's probably a little bit easier if I can It's right there. I'm right on the cusp of it Oh my god, I'm too scared to press it. I'm too scared to press it I'm too scared to press it in case it just doesn't work my sensitivity is so high Yes, I did it So now you can click the mannequin and pull out the arm out which is right here now This is just a basic set of our master when you're early into the game You'd be able to get some armor with some really good defense and stuff You know a viable armor set to go and fight things before you even get into any of the LA endgame kind of stuff It's got a good protection and you just pick it up put it into your thing and now the mannequin is Empty and I'm guessing this will probably be the same in other places too.  So yeah, you can sell these if you don't want them You could put them away somewhere which I'll probably just end up giving it to it to a companion But if you need a free set of armor from the bat from the get-go This is the way to do it. It's a little bit finicky like I said, but you don't need to lose it Did you pick on a master luck? You could just steal it. That's it. Thank you for watching I hope it easy now you guys have been awesome


So I think we are ready to start. I got the moderator sign on to start. Okay, let's do it. Thank you for joining. Today we'll be talking about upgrading to Drupal 9. We'll go through a little bit of the basics and then real life example. Just to be sure we are on the same page. This is for upgrading from Drupal 8 to Drupal 9. So let's start. Hi, my name is Karen Perez. I'm Senior Drupal Developer here at Drupal Web. I've been Drupal Developer since eight years ago. So I love Drupal flexibility and capabilities and love teaching. So that's me. As I said, I work for Drupal Web. This is a web design and development agency based in Montreal, Canada. With more than 10 years of experience, we consider our service as a community of experts. So just an announcement. We provide in-depth Drupal training. These are the next courses for the following month. So we have a complete Drupal training in November. Also advanced Drupal module development at the end of this month. And also a landing page architecture and teaming for Drupal. It's starting on November. This one will use a new blend training format, which will include pre-recorded videos, exercises, and for live training sessions and also one-on-one sessions. Feel free to send us an email and we'll give you a discount on that. Also, you can request a customized training for your team. Just send us an email and we'll figure it out for you. Nice to meet you. So this is the agenda for today. We'll start talking about the Drupal development roadmap. Also main changes in different Drupal versions. How to prepare your site for Drupal 9. What are some tools? So it's the upgrade to Drupal 9. How to actually do the upgrade. I'll talk a little bit about a real-life example. Q&A at the end of the session. So Drupal development roadmap. Here you can see the life cycle for the different Drupal versions. So right now we are almost at the end of 2020. Right now we have support in three different Drupal versions. Drupal 7, Drupal 8, and Drupal 9. The support for Drupal 8 will end at the end of the next year. Just a minor update on this image. Drupal 7 of life was extended one more year due to all this pandemic situation we are all living. Drupal 9 was just launched a couple of months ago. We expect Drupal 10 to be launched in June 2022. So these are some of the key dates of Drupal development. Just a reminder signs Drupal 8. We get a new minor version of Drupal every six months. So it means that Drupal 9.0 was launched in June this year. So we'll get Drupal 9.1 in December this year. Let's talk a little bit about the main changes between the recent Drupal versions. So if you went through the changes from Drupal 7 to Drupal 8, or you may still be going through that, you can know that it was a full rewrite of the Drupal core. We introduced minor releases in the life cycle of Drupal 8. So now we have an incremental approach in each of the minor releases. A couple of examples of this incremental approach is that in Drupal 8.2, big pipe and inline entity errors were introduced. Media and content moderation modules were introduced in 8.5. Also in 8.6, media library and workspace modules were introduced in the core. Like the builder and JSON API were introduced in 8.7. And the new admin team named Claro was introduced in Drupal 8.8. So yeah, there is a lot of development going through each of the minor versions. And that's one of the nice things starting from Drupal 8.0. And for sure we also have in Drupal 9. When Drupal 9.0 was launched around four months ago, it's pretty much the same than Drupal 8.9. There are only some changes. So Symphony was upgraded to number four. Tweak was upgraded to version two. And all of the deprecated code was removed from the Drupal core. A quote from Andreas, the big deal about Drupal 9.0 is that it should not be a big deal because there are no new features in Drupal 9.0. However, this is still the most powerful Drupal version ever because we can continue upgrading the core within each one of the minor releases. So as an example, in December, Drupal 9.1 will be launched and that will include Olivero, which is the new Drupal team. It will still be an experimental team, but it will now be in core. It was official except like, I don't know, two, three days ago, something like that. So the drop is always moving. Prepare your site for Drupal 9.0. So yeah, we already talked about the good things that are coming in Drupal 9.0. Drupal 9.0, the ability to keep upgrading your site. So how to prepare your Drupal X site to be upgraded to Drupal 9.0. So this is a little bit of an overview of the process. Your code base should be using Composer. You should ensure country and custom models compatibility. You should be using Drudge 10.0. You need to check for some platform requirements and then you need to do the actual upgrade. So let's go through each one of these items. Composer code base. As I said, your code base should be using Composer and it should be using the new recommended project, which was introduced in Drupal 8.8. So if your code base is being built from a turbo, so it's not using Composer, the first thing you need to do is to convert it to use Composer. Also, if you created your site using Composer, but previously to Drupal 8.8, which means you are using the country Composer project, you also need to change your code base to use the recommended project. How to do that? There are a couple of links here on how to do this process. You need to be careful, but it's something that you could do maybe in one hour. So it's not really a big deal. Next step, you need to ensure all of your country modules are compatible with Drupal 9. First thing to do, you need to update your modules to the latest available version. And now you need to start checking if your modules are compatible with Drupal 9. How to do this? We'll look into this in a couple of minutes. I pulled some statistics from this Akiya dashboard about the Drupal 9 compatibility. I pulled the statistics like two or three days ago, and it's pretty promising. So 42.9% of Drupal 8 modules are Drupal 9 ready. There's nothing to do with them. They are very compatible with Drupal 9. Also, 97.5% of the top 200 country modules are ready to use for Drupal 9. This means that only five modules of this top 200 are missing something to be compatible, which is great. If you remember from Drupal 7 to Drupal 8, Drupal 8 came out. I don't remember the date, but the modules that were most used in Drupal 7, we had to wait a lot for them to become available to Drupal 8. Now the reality is totally different. 32.9% of Drupal 8 modules needs only that info.yaml or composer.yason or automated changes. So it's a big percentage of modules that only need just a few tweaks to make them compatible with Drupal 9. This is also great. And 75% of Drupal 8 modules are either explicitly compatible or needs really small changes. So if you look this your way around, there is only 25% of modules that actually need some manual intervention or some manual intervention to make them compatible with Drupal 9, which is great. Next step, you need to ensure your custom modules are compatible with Drupal 9. In this section, unless your site is pretty complex and have pretty complex logic into your custom modules, the changes in this site are really, really small. So yeah, this is something that you need to do, but usually the changes here are small. And we'll also see how to verify the compatibility in a couple of slides. Next step, you need to ensure you are using DrushTank and how to do that, you just need to require Drush and add the constraint for version number 10. Most of the time this will just work if you have something really complex or if you have some dependencies on your site. Maybe you'll need to figure it out if you find an error with Composer, but as I said, most of the time it will just be running this command and it will be there. That's pretty good. Next step, check platform requirements ensure that your hosting supports Drupal 9, which means if you are using Apache, it should be version 2.4.7 or greater. For sure you're using PSP. So PSP should be 7.3 or greater. My SQL should be 5.7.8 or if you are using MariaDB it should be 10.3.7 or greater than those versions. Also, this is something that if you are using something like a platform as a service, they will prepare the platform for you. So it's probably that you don't have nothing to do on this end. Now, I promise that we'll talk a little bit about some tools to is the upgrade to Drupal 9. So in this section we'll be talking about upgrade status, we'll be talking about Rector. Upgrade status is a Drupal module that provides all-around support for preparing your site for upgrading to Drupal 9. How to install it? As any other module that Composer requires, Drupal is that upgrade status. Here you can add a version constraint. In this case, I'm adding and suggesting version constraint for 2.0 is stable. And then you need to enable the module and just use it before going to this user thing. I found out a couple of days ago that there is a 3.x version in development which already has a couple of, I guess, alpha, beta or something like that versions. I personally haven't tested it, I want to do it, but I haven't had the chance to do that. And I'm pretty sure it will get a lot of improvements. I saw some of the discussions in Drupal Slack channel, so I'm pretty sure that's going to be a good improvement to what we currently have. So that's something that you definitely need to check out. So once you install the module, you need to run the analysis for each one of your modules. You can do this through the UI or you can also do it through the command line through Drush. If you're doing that through Drush, it's just Drush US-A and the module is, and this will run the analysis for this module, and then it doesn't matter if you're running through the UI or if you're running through Drush, you'll still get the report in the UI. You can get the report in the UI. We'll see how that looks. When you load the upgrade status page in Drupal, you get something like this. So it will initially show you the compliance or not of the platform level requirements that I just mentioned. Also, it will show you if you are in the latest Drupal 8 version so that you can easily upgrade. So, yeah, it's this. Once you run the analysis, as I said, either from the UI or from Drush, you'll start getting the summary here. So in this case, it says that my site at that point had 19 errors, a lot of warnings, and that there were some modules that were checked but that didn't have any errors. Some modules I hadn't checked when I took that screenshot. Each one of the modules will look like this. It says admin toolbar, it's green. So it means it's good. There are still some warnings. So my recommendation is that it doesn't matter if you have errors or warnings, yeah, go open that by clicking on the status column and you'll get a window like the one at the right and you can manually look through all of the warnings, errors, and understand what's the issue with them because in some cases it could be false positives. So as an example, in this screenshot that I added to the slide, these are errors related to the test, but I don't have the test sheet enabled in this site, so it's okay that we have those errors. I also found something really interesting. It was with the bootstrap team and in this case it was showing a lot of errors, but it was because the maintainers of the team did some polyfills for the function that were being removed in Drupal 9. So upgrade status was showing all of that as errors, but they actually had polyfills for that so that it doesn't break in Drupal 9 version. So that's something good, and that's why you really need to carefully read the errors or warnings that upgrade status gives to you and take actions from there. These actions could be applying some patches, could be if you are a coder, it could be writing some patches and contributing them to Drupal or something like that. So yeah, go ahead and do that. And how to do that? For sure, some of the things you need to do then manually. Actually, I'm going to go back here. And if you can read here, it says check manually. It is because of the status groups, the warnings, the things that it found, it groups in two or three different sections. I don't exactly remember, but I remember it groups in things that could be automated with Rector and things that need to be manually done. So there are things that you could automate with Rector. This is a project that can save you a lot of manual work by automating code upgrades to Drupal 9. How to install it? It's a Composer package. In this case, it's not a module. It's a package that you need to install, that you need to require with Composer, but you don't need to install it. There are presentations and links to the documentation, but once you install it, you need to copy a config file, and then you need to run a comment. When you run this comment, it will go through the modules that you give to Rector and will try to do the automated upgrades that it can do based on the list of stuff that it can automatically fix. This is a list of things that it's continuously growing because people maintaining Rector are hardworking on that to ensure that it can cover as much as possible to automate the upgrade to Drupal 9, which is great for us who maintain Drupal 8 sites. This is a screenshot on how Rector looks. It just goes and fixes the errors, and it will show you as a diff of the things that it changed. Let's say that you are really prepared for your site, so you check that platform requirements are OK, that you are using Drupal 10, that your codebase is using Composer Recommend Project, that all of your contrib and custom modules are compatible with Drupal 9, so now the next step is to do the actual upgrade to Drupal 9. And here, when I was doing it, I found something that I call it the chicken egg problem, which is that the module is itself almost compatible with Drupal 9. It only needs a change in that info, that YAML file, so you add this as a patch in your Composer.json file, and now you are ready to upgrade your site to Drupal 9, so you have some patches using Composer patches, and now you have everything compatible with Drupal 9, upgrades that report that everything is ready, so you run the Composer command to upgrade to D9, and now it fails. Why does it fail? Because that info, that YAML file, defines in Drupal.or in class structure the Drupal core version constraint, so even if you add it as a patch for that info, that YAML file, it doesn't mean that this module will be able to install in Drupal 9, so when you try to upgrade, it will fail because there are some modules that can be installed on Drupal 9, so how to fix this? First and all, the actual real solution will be to contribute to make the module compatible. This means that if the module is unmanned and you have some time, you can offer yourself to be a commentator of the module and try to push the module forward to be Drupal 9 compatible. If it needs a patch, you could provide the patch in the issue queue and wait for the maintainer. If you have time, wait for the maintainer to commit your patch, things like that. That would be the real solution to actually contribute to make the module compatible, but in the real world, maybe you need to do the upgrade because your client is asking for that or because you actually want to try Drupal 9. So how to work around this case, this situation? There are four options to do this that I found so far. Maybe there could be a little bit more, but I want to discuss these four options. Option number one is that you use Composer Alliances. In this case, you say that the Drupal 9 version that you are inside should be treated in Composer as the latest Drupal 8.9 version. This could work, but I have a feeling that this could get messy in the future, so I really don't like these options. It's an option, it's there. If it fits for you, it could be good. I personally don't recommend it. Another option, I mean, the three remaining options are using Composer Repositories, but different types of repositories. The first type is PASS. This involves adding the actual country code into your site repo and then link it using a PASS repository, a PASS Composer repository. Again, this could work, but this is adding a lot of country files to your repo, maybe it will make your PRs difficult to review, maybe it will get things a little bit messy. It's an option, but maybe it could not work as good as it could. Another option is using, again, Composer Repositories, but in this case, using Type VCS and forking the projects to your personal repo, maybe to your GitHub, maybe to your GitLab as VCS repositories in your Composer.JSON file. This will work, this is a little bit less messy than the previous solutions, but this will mean that you will end up having several forks in your repos and maybe you actually are not going to be actively contributing to them, so this option may not suit to your needs, but it's an option and it could work. The latest option, which is what I really like the most is adding the repositories to Composer, but using Type Package. This is a cleaner option, it only needs a little change in the Composer.JSON file and it will work, you don't need to for, you don't need to add files to the repo, you just need to declare the package in the, as a Composer repository using Type Package, so that Composer when Composer resolve dependencies, it won't care about the version constraint because it will be there and declare, so this could work. Let's see how does this work. So this is an example, here I am defining the context metadata module as our Package repository, you can see the first line, it says Type Package, I'm declaring the version here, the source I'm pointing to the actual git.trupalcode.org with a commit, it could be a branch, it could be a tag, whatever you need, and that's all that you need. When you run the Composer update comments, it will just work because it won't care about the version, the version constraint, the required, the Drupal requirement, it will work. Just creating to Larryland and DPI, this is an idea that came from then in Drupal Slack when someone asked about this problem, so yeah, this works, it works pretty well. So now that you fixed that, you need to do the actual update, and it's just a couple of Composer comments, in this case, Composer required, you require all of the different packages, this time using 9.0 version constraint, and I'm adding here the no update flags so that you can run another Composer required comment, which is this one, in this case, because I also had the dependencies installed in my project, and once I run those two comments, I run the actual Composer update comment, I need to wait for some time in order to give Composer time to run because it will take some time, so maybe you can go grab a coffee and wait for it, and it should just work. Once it finishes, you need as with every other Drupal update, you need to run the database updates, you need to export Composer changes, and that's all, welcome to Drupal 9, it should be working on your local environment, now you only need to push that and ensure it works in your dev staging or broad environment, hopefully you will get through all of them, dev environment, you verify it works, now you push the stage and finally you push Drupal. So this was like the generic how to do it now to put things in perspective, I would like to tell a little bit about a couple of sites that I upgraded recently to Drupal 9, so in one of the sites, for the country stuff, I for sure had to update the modules, so I had to apply some module updates, and for the patches I had to patch for modules, all of the rest of the stuff was okay, so only added four patches to make things somebody will be Drupal 9, also for the custom code I only had to do some small changes here and there entity.manager was deprecated, so change that to entity.type.manager adding the core version requirement in that info, that YAML file, so this kind of really, really small changes at this point, this was the first site that I was upgrading to Drupal 9, so at this point I didn't know about this composer problem that I just mentioned, so I tried to run the upgrade and I got this error, the error is not always clear, in this case it's kind of clear but at some point it wasn't that clear, so I can upgrade because this module needs a Drupal 8, and you are upgrading to Drupal 9, so fix it, that's basically what composer is saying, so I had to do the fix, in this case I had to do the fix I think it was like for 3 modules, something like that so I just had the repositories declaring these modules as package type repositories once I did that run again the upgrade this time it worked as I said Drush of DB, Drush config export, and that's all it just worked, so if you remember if you have had previously upgraded aside from Drupal 7 to Drupal 8, it was really an aimer because you actually had to start from scratch, migrate stuff things like that, I'm pretty sure it was the same from Drupal 6 to Drupal 7, I didn't actually work on that kind of projects but in this case from Drupal 8 to Drupal 9 it just I don't know, maybe 4 hours something like that half a day, one day and it works so this is a pretty good improvement to the developer experience having to maintain lots of Drupal sites upgrading them to Drupal 9 so yeah the experience is way better than it was before so that's what I wanted to share and if you have any questions on this, I think it was bad, so that's not one of you have any questions yeah, unfortunately I shared this slide so I actually tried to in the event chat once I get out of the session sure, thank you Marc I put it also in the background here in the slides I'm also leaving some useful links links to the change records which is the best place to go and look for how things should be now done in Drupal 9 so that's an excellent resource there is also a link what are the changes regarding Tweet because Tweet was upgraded from version 1 to version 2 so this is something you also need to keep in mind when upgrading your code and also some documentation about duplication checking and correction tools and the source on Drupal on how to do the actual update from Drupal 8 to Drupal 9 so that's all for me thank you


OK, I think we should start now. And I hope that you guys have come prepared with the theory because the main thing, as you all understand, is problem solving. It's not theory. So we can't just keep on reading theory again and again. All right? So let me immediately go to the first numerical. OK, so this is a fill-in-the-blanks. You have two questions fill-in-the-blanks. Try answering them both. OK, should I do it? Do you know that potential energy on a strained wire per unit volume is half stress into strain? If you don't know, please remember this. This is potential energy per unit volume, OK? And whatever work you do will be stored as potential energy. That is what the work energy theorem is, right? So total potential energy is half stress into strain into volume. Volume is what? Area into length, OK? Now, Young's modulus is given, OK? And what else is given is how much is a delta L, fine? The stress is not given. But good thing is that stress divided by strain is Young's modulus, OK? So I can write down stress in terms of Young's modulus, OK? So potential energy will come out to be half into strain square into Young's modulus into area into length, OK? Now strain square is what? Strain is delta L by L. Delta L is x. So x square by L square, OK? Multiply it by Young's modulus. Multiply it by area into length, OK? So 1L will get cancelled. And you will get answer as half x square yA by L, fine? So like this, you have to do the first question. Remember that the potential energy stored in a strained wire is half stress into strain per unit volume, OK? Now do the second question. You remember bulk modulus? The definition of it, change in pressure divided by change in volume per unit volume. So you will get minus of v dp by dv. This is the bulk modulus. So can you use the definition of bulk modulus to get delta R by R? Assume fractional change is very less. These are some different types of numericals which you might not be solving regularly. But there are things to learn which you can keep in mind. Anyone? OK, let me solve this. So I will get dv by v is equal to minus of dp by k, OK? Now dp is what? There is extra mass m is kept on the piston, right? So dp is changing pressure because of that. So this I can write as mg by a, this divided by k, OK? Now I am just taking the mod of it as in I'm just bothered about the magnitude. So I'll keep this as positive only because when you increase the pressure, volume decreases. So that is why there was a negative sign. But since I'm bothered only about the magnitude, so I'm keeping it like this, OK? So this is dv by v, OK? And what is v? v of a sphere is 4 by 3 pi R cubed. Getting it? So from here, I will get dv is equal to 4 pi R squared dr, OK? So dv by v is what? This divided by 4 by 3 pi R cubed, all right? So you will get 3 dr by R is dv by v, OK? Why I am doing all that? Because nobody is asking me dv by v. Here dr by R is asked. So that is why I need to find dv by v in terms of dr by R, OK? So I will get 3 times dr by R to be equal to mg by ak, all right? So from here, dr is, you can say, delta R. Delta R by R is mg by 3 times ak, OK? So you can solve it like this. So I can understand these are not the routine ones. So you'll face some difficulty in solving these questions. Are you able to understand this? Any doubts? Please type in yes or no. No, sir. Those who are online, see, there is a small lag. There is, I think, four or five seconds of lag between those who are in Skype and those who are on YouTube. So you may feel that at times. So guys, those who are on YouTube, no doubts, OK? Let's take up new set of questions. So you may see that these chapter can get easily mixed with other chapters also. So don't get surprised by that, OK? So try doing these two questions. So I'll give you a small hint for third question. Do you know how v is related at any temperature? v is equal to v0, 1 plus gamma delta t, OK? Do you know how density is related? Rho, rho is rho 0, 1 minus gamma into delta t. Density will reduce, volume will increase. Try using these. No one. Metal is inside mercury. So if this is the piece of metal, what is given here is that the metal piece is partially submerged, OK? So it is floating, OK? Now, Simehir is getting answer, OK? No, Khushali is saying, is it 1 plus gamma 2 delta t? OK, let us see. When you heat, when you change the temperature, OK? What will happen to the mercury's density? The mercury's density will reduce, OK? So it was now initial density, 1 minus gamma 2 delta t. This is now the mercury's density, OK? Now, mercury will create a buoyant force, OK? So how much buoyant force it should create? It should create buoyant force in order to balance out the mg of the metal, OK? Now, it doesn't matter whether the metal, this metal, expands or contract right now. It will have, say, mass, right? So the amount of mercury that will be displaced is determined only by the mass of the metal, OK? So rho dash into volume that is now submerged, OK? Into G, this should be equal to mg, OK? This is your, actually, second equation. Earlier, it was like this. Earlier density of mercury into V into G, this was equal to mg of the metal, OK? So this is the earlier scenario and this is the later on scenario, OK? Now, here rho dash is what? Rho of mercury 1 minus gamma 2 delta t into V dash, OK? V dash is the volume of mercury that is displaced, all right? Now, in the first equation, you have mercury into V that is displaced to G. This is equal to mg, fine? So if I divide these two equations, what I'll get here is 1 minus gamma 2 delta t to be equal to V divided by V dash, OK? V divided by V dash is actually less than 1, fine? So volume displaced by the metal piece later on is more than what is volume displaced earlier, OK? So in order to find the fractional volume of metal submerged in the mercury, you need to divide the fractional volume of metal submerged in the mercury. So this is actually, this V by V dash. So the V dash by V is 1 minus 1 divided by 1 minus gamma 2 delta t, OK? So from here, you will get how much extra volume it got submerged, that is gamma 2 delta t divided by 1 minus gamma 2 delta t, OK? Now earlier, it had, this is let's say equation number 3. So earlier, it had volume V submerged, which was simply equal to m divided by rho of the mercury, fine? Now, this is the volume that is submerged earlier. So you can check exactly how much extra volume is getting submerged later on. So this is the extra volume of the metal that is getting submerged later on, OK? Fourth one. Fourth one is straightforward, try to do this. It's an application of Bernoulli's theorem and continuity theorem. Yes, I mean, I can see that you have got some answer. Others, what are you getting? So is it 3500? OK, others, those who are online, can you reply? Online as in YouTube. OK, so we have now a few answers. Let me explain what we have to do here. First of all, it is a horizontal pipe, OK? So you can assume the scenario to be something like this, OK? Now, this pipe is not open to atmosphere. Had that been the case, then pressure both sides would have been atmospheric pressure only, OK? So it's a cutout of a bigger pipe, OK? Where the cross section area is, let us say, over here, the cross section area is 10 centimeters square, OK? And this is, let's say, a1. And velocity over here is 1 meter per second, OK? Over there, OK, here the pressure is also given. In fact, p1 is 2000 Pascal, fine? Over there, over the other end, the cross section area is a2 is 5 centimeters square, OK? So we need to find out what is the pressure over here. p2 is what, OK? Now, between 1 and 2, I can use continuity equation, OK? So a1 v1 is equal to a2 v2 because it is incompressible fluid, all right? So since a2 is half of a1, v2 has to be double of v1. So v2 will be equal to 2 meter per second, OK? Now, since it is horizontal pipe, and if I use Bernoulli's theorem, that is p1 plus half rho v1 square plus rho g h1 to be equal to p2 plus half rho v2 square plus rho g h2. Now, rho g h1 and rho g h2 will get cancelled off because it is an horizontal pipe. So h1 is equal to h2, OK? So their level from the ground is same. Now, this kind of scenario comes again and again in fluids where you're dealing with horizontal flow. So you should get familiar with such situations where rho g h has no role to play. So p2 will be equal to p1 plus half rho times v1 square minus v2 square, OK? Now, p1 is 2,000 Pascal. We'll keep it like this. Plus half rho is what? It's water, right? So yeah, it is water. So half 1,000 into v1. v1 is 1. So this is 1 square minus 2 square, OK? So we will get 2,000 plus 500 into, now you'll get minus 3, OK? So you'll get 500 Pascal as pressure at this end. Getting it like this, you have to solve this particular question. In case of any doubts on this question, please type in. I'll move to the next one.


of setting up this wonderful as school and workshop on quantum science and technologies and unsurprisingly this is what this talk will be about yet in a very specific flavor this will not be a review talk but there will be one particular question in the focus of all this yet one that seems pretty much at the heart of the matter which is how can we hope quantum devices to eventually provide some speed up over classical computer so what at stake here is how we can hope quantum devices to in one way or the other computationally outperform classical supercomputers so this picture here we've seen maybe rather too many than too few times potentially but what is undeniably true is that at some point the field needs to deliver a strong evidence that quantum machines can do something we cannot do otherwise in computational means so that's surely undoubtedly be true for the anticipated device of a universal quantum computer which could solve some NP problems in polynomial time so you could even check the correctness of the computation at the end of the day but then it's great and there's been all this progress in recent years and months of realizing universal quantum computers alas we do not quite have them yet what we do have in contrast our quantum devices are analog simulator systems that do something that that mimic other quantum systems that probe interesting physics that maybe just simulate themselves but some system where a very large degree of control can be reached and with a kind of top-down approach one can have control of a very large number of degrees of free these systems do exist so what ultimately is their computational power what are they doing and this seems much less clear in fact although this seems a crucial question so analog simulator so they're not be could be complete they're not fully fledged quantum computers but what's their precise computational power after all then error correction or let alone fall tolerant seems to be out of scope I mean that's out of the ballpark here but is this a bug or a feature I mean do errors necessarily accumulate and make everything like noisy and wobbly or is there some hope to these these guys to be stable in one way or the other and that seems to be I mean why I'm not promising to present any kind of fully fledged answer to these questions I do think they're crucial if you want to make the point that realistic devices that we may have now may have in the near future can promise a speed up over classical machines in one way or the other I'm also not saying that quantum simulation is all about the speed ups of that type but if that is not available then the entire fields will be challenged to say the least so let's assume that we have a good day and anticipating that current simulators should be able to solve problems in accessible the quantum computers we go into some lab and perform a simulation where we have good evidence that we could not have done otherwise why do we have this sophisticated cold atoms experiment we do a computation and the outcome of a simulation and the outcome is five let me say great is this correct well how do you know it's a hard problem right I mean these are not NP problems there's not a witness that would easily check the correctness of the outcome so how would we know we've done the right thing in an analog simulation and that shows part of the irony of this question and the whole talk is a bit of a high level joke in the sense in that the superior computational power of quantum simulators on the one hand and the certification of the correctness of a simulation in the absence of being an NP problem the other this seems to be a highly intricate and somewhat ironic fashion and it's a question this will be the guiding question for the rest of this talk again no fully fledged answers but we should definitely ask this kind of questions okay that sets the stage so analog quantum simulators and well the presumably most advanced simulators that kind are so-called systems based on cold atoms in optical lattices and they are kind of artificial condensed matter lattice systems that are formed by counter propagating laser light where the atoms sit in the in the potential minima of this of this artificial lattice it's an interesting topic in its own right to talk about the implications and that type of architectures and we might hear more about that even in the subsequent talk from right yet for the present purposes of this talk because we want to keep on focus it's maybe good enough to say that such systems allow to probe local Hamiltonian problems to remarkable accuracy for a large number of particles so this context I like to cite Ian Wormsley who once got a question from the audience when giving presenting some optical protocol and then some smart ass asked oh but can you do this as an asymptotic protocol and Ian with this nice Oxford accent said yeah look I'm an experimentalist we are not asymptotic people having said that this is pretty much asymptotic so they like 10 to the power four and five particles are well approachable in and in and in this setting what can look at ground state properties of phases then quenches like you quench a system out of equilibrium look at the evolution in time slow evolutions like kibble Zurich type settings driven systems like flow K type driven systems these are all accessible with that type of architecture under extra ordinarily precise conditions and in the Korean fashion for 10,000 or even 100,000s of particles so a plot that I like to show in this context is this one here that relates to the equilibration thermalization in in quantum many body systems so this experiment this quantum simulation what has been prepared was a an initial state of 0 1 0 1 0 1 so a charge density wave initial state if you want and then this state was suddenly and quickly quenched to a full translation environment both the Harvard many body Hamiltonian and then the evolution was monitored in time as a function of time so this is how it looks like if you look at the even particles per site as a function of time and there's some I mean initially there's no particles whatsoever in the outside and then there's some non-equilibrium dynamics until for long times one gets obviously half a particle per site and so there's a lot to say about this not today for the present purposes it's only interesting maybe to emphasize that this picture not only shows the quantum simulation and a very precisely controlled conditions in a manual block slab in in in garching as a function of time but also in blue the re-simulation on a classical computer on the same under the same conditions that's not a fit but it's a re-simulation on the under the same conditions and it's not only a re-simulation but it used the best algorithm available for that type of problem at that time like a matrix products a best algorithm then it it runs on the on the fastest computer the German taxpayer could afford in the super computing center and it costs like about five weeks of runtime per plot for six thousand by six thousands MPS bond dimension in the NPS that's pretty much the upper limit of a publishable result on on the merits it seems fair to say yeah five weeks roughly and so this is nice because these algorithms have very strong predictive power not only can you say something but for what they can say in principle one could even give error bars putting together trotter errors and the NPS approximation yet they only work for short times for longer and longer times there will be a blow-up of the entanglement entropy and there's no way one can faithfully represent the state anymore as an MPS so there's a barrier no algorithm of that type type can go further but that creates a very interesting situation in that the quantum simulation runs on why would it care what we can do classically on our computer right so you can ask questions better based on the data then on the classical simulation that's only used to build trust in the correctness of the quantum simulation that's a baby step but it's a it's a step in this direction that there is scope to to to to to to perform this also got a long story short short times can be efficiently approximated here why a long times cannot cannot be then in a similar mindset we looked at dynamical phase transitions or dynamical settings beyond the kibble they were accepting where one-dimensional settings could be completely resimulated in all glory in detail and and all error bars and so on but 2d not yet the experiment in 2d is a very small modification of the 1d experiment just changing the confine so again having a realm of classical simulatability and not in other settings or in the many body localization context that question I'm much interested in these days again 1d systems can be simulated 2d not so this is sometimes underappreciated but it's important to stress that even with present technology there are quantum simulators that outperform state-of-the-art simulations on classical supercomputers running the best algorithms to date which is a very promising and and good insight in that so in this sense we are already there in that there's evidence that our present technology machines can at least solve problems and these are problems addressing questions interesting in theoretical physics like equilibration times and so on that cannot be kept track of on classical supercomputers having said that and and I'm actually happy to provide feedback this talk I keep it rather good in time to have some space for threats and discussions at the end good anyway I can play devil's advocate say good that's a nice baby step but there could be clever simulation methods who are we to think that we cannot simulate that system and like I get what long one email per month or so of people who re-simulate that plot that I showed earlier that kind of provoke people to try that and that's a very interesting endeavor however there's a couple of fallacies one can fall into like one is it's it's not a fit I mean noise the first thing is it's about functional dependence it's not like providing one plot but you have to have the knobs of the initial preparations and reconstruct the functional dependence of this family of plots given that parameter that you can feed in it's a much heavier problem second it's about predictive power it's not that in which respect you look at the plot and say oh this must have been this it's about being able to predict this with this error bar so even if like some uncontrolled approximation may give rise to a similar picture that doesn't mean that you could have predicted it with the same level of accuracy so there's a couple of fallacies that one could fall into having said that there's no proof whatsoever that you cannot simulate these things ultimately on classical supercomputers so to be safe against that you want to have an argument of proof based on notions of computational complexity in the same way as we say quantum computers are more powerful by which we mean there's a computational complexity claim that they can solve BQP problems outside BPP so to be sure we want to prove the hardness of the task and identify a feasible task some intermediate problem that lies outside of BPP sounds like a communist party but it's a complexity class check the classical probabilistic algorithms but it's not BQP hard so cannot solve an arbitrary quantum algorithm because these are just not quantum computers so that is at stake by the feasible scheme that you can realize in the lab yet does something hard and interesting not accessible otherwise I mean we have to deliver this okay so super polynomial computational speedups one candidate of this type is this famous boson sampling it's it's it's set up to find some problem with strong evidence for super computational speedup that's sometimes that quantum computational supremacy is not there are nice of all words but it says what it says it's like some evidence for a speedup this boson sampling problem is a very simple problem of this type it's a beautiful setup setup where you take m bosons in m optical modes and put them in a linear optical multiport and at the end of the day you make a photon detection detecting the number of photons let's do the experiment one oh one oh good let's do it again one one oh whatever it's a quantum golden board it's a random thing it's like a very expensive number the random number generator having said that it's a very interesting random number generator because it's quite uniform but not quite there is intricate tails in this distribution and it's so intricate that you cannot sample from this distribution on a classical computer as has been shown under reasonable assumptions right this is so this can be realized as a linear optical multiport as we've already seen in other talks in this this week and so this is the claim that you cannot sample from a distribution close in L1 norm if the scaling of the number of photons and modes is right and the unitary is shown chosen in a high random fashion that's very exciting because that's an experiment it's very easy to do it doesn't solve the most practical of all tasks but it solves a problem that's inaccessible to classical computers and that's of course a very exciting premise and that's motivated leading experimentalists to provide a number of beautiful experiments of proof of principle type of this kind based on either integrated optical circuits or bulk optics kind of realizing small instances of such a machine and that's surely a very important way forward now is this functioning I can ask if look at the state preparation and ask can you verify the correctness of this of this state that is being prepared maybe I cut this short for reasons of time I'm just saying we spent a lot of time on finding tools to verify the correctness of states based on measurements that's not achieving tomographic knowledge but as asked has the right state been prepared and here I say this is good for Gaussian states for low photon number states it's not quite possible to verify the correctness of this thing but that's a stronger state but that's more ironic that's true at the same time which is this one take the boson sampler and remove the boson sampler right what I mean is don't read this thing it looks technical the thing is if you have a boson sampling quantum device there's a slightly longer classical circuit with the property that you cannot distinguish the output from one from the other with polynomial many samples if we think what that means is like I claim I have a boson sampler but I've just program my phone and you've no way of falsifying me having just program my phone it's like with polemically speaking it's like I claim I have a super car and you look at it it's like it looks like a Volkswagen Polo so no no no it's a super car they can't even prove it and then you drive it it accelerates like a Polo it breaks like a Polo it feels like a Polo we look at it as a wall it's like a Polo and well no but it operationally is in the single ship from one right I mean this is not a contradiction but it shows that there's an interesting twist and irony in this super polynomial power and the verification of that in the absence of having an AP problem so generates by no means I'm critical of that type of endeavor in fact I'm encouraging it but it does show that there is an interesting kind of twist and even kind of like something to be clarified here and after all that's not so so surprising I mean what one could say in order to be able to verify quantum simulation one needs to be able to efficiently simulate it if you can do it you can check if you can't how can you check these are not NP problems it's a very common de-stated setting there is other examples of that type IQP circuits have been discussed running universal circuits easing type interactions that are alternative ways of achieving such a promise with nice properties some of them have a heartless proof under L1 errors in an additive fashion that's not a detail you want to be able to prove hardness under at least realistic additive errors because I mean no apparatus will ever be error free so the absence of error correction you have to have that property yet these schemes are all extremely hard to implement to say the least they are to scale up with present technology either or you need an arbitrary gate choice which is fine but then why not build a quantum computer or their periodic which is good but they would be periodic with a periodicity say of 56 in the best non-scheme previously like one unit cell as 56 qubits that you need to go into many parade and then it's periodic they say good but I mean if the unit cell is 56 qubits which is much larger than the best universal quantum computer we have to date then that's a bit pushing it I think that's a fair statement so there is more work to be done which brings me to the last part of this talk already which is can we think of feasible quantum simulators providing a speed up where we want to find problems with some strong evidence for super paranormal speed up but we want to combine both the best of both worlds and bring speed ups closer to experiment but not having periodicities of 56 or intractable scalings and so on but something that's more reasonable more realistic to present experiments or even close to ones that are already there but still have that that promise that's that speed up and this is the point of the last bit of this talk and then we can discuss good so what we want is or what I want I mean this is but this is not a not an unjustifiable desire is we want to look at a Hamiltonian quench architecture that is really reminiscent of the type of non-equilibrium quench quantum simulator settings that people are anyway interested on I'm also interested that I mentioned at the beginning on probing stuff then you want to have a low periodicity of the interaction Hamiltonian so please not 56 or so but one maybe two I mean nearest neighbor that's what you have in labs in nature you don't have tuned 56 cubic interactions and this is still local but it's mathematically local and you want to have heartless proofs with an L1 norm error bound on the reasonable assumptions and and I'm presenting one of them so there's a couple of architectures we've conceived I will only look at one to leave time for discussions which is based which is this one here which is to my understanding a very simple prescription I mean I have no imagination to make it simpler it's this well but I'm free to get insights into that so what it is it's on a square lattice think of a cold atomic architecture square lattice and you have an initial state of all the spins qubit whatever you want to call them in a product state or product no correlations whatever get in a mighty random fashion there's some random involved you either have a zero or some tilted state but that's what it is you can think of this as being the ground state of a disordered optical lattice that has already been done in the manuals and only Schneider's labs you can think of another thing I just have a product initial state with some randomness highly reasonable initial state then one looks at the quench for a finer time under a and plain vanilla easing Hamiltonian so no long range no 56 whatever in years they were easing Hamiltonian which is presumably the easiest Hamiltonian that nature has in store I think this is a fair state so it's just a normal easing classic or whatever you want easing Hamiltonian evolve it for unit time this is not only conceivable but has been realized in the lab as was one of the first experiments done in optical lattices which doesn't really catch on so much which surprises me but this kind of cold collision experiment by these people when they were still together was one of the earliest interesting cold out there make experiments so this is kind of can't be considered done and the last step is you just measure but no adaption no tuning no whatever you just measure it out but all the x-paces there's one sampling measurement of the x-paces and that's also not out of the way although that's made me there might be the technologically most challenging aspect I mean there has been lots of work on single side addressing in optical lattice experiments that's a very interesting technique and in many settings yet one has to map the internal degree of freedom to a density particle density I suppose so this might be some issue but by no means is this out of the way or so I mean I talked to Emmanuel it says five I mean it's not super easy but it's also not difficult and that's the scheme product initial state unit time quench and you measure okay the scheme now the argument is that this is solving our problem so assuming three plausible complexity of the projectors that I will mention one cannot sample from that distribution on the classical computer oh but though you can do the sampling on the experiment so this is the statement that this may be not the most practical of all problems but it is producing a problem that you cannot sample classically and the argument behind that is an argument that makes use of the fact that it's sharpie hard to approximate the output distribution of this all x measurement to a constant relative vector I have some technical slides I will maybe shrink them a little bit but I'm perfectly happy to provide answers I hint at the techniques involved because the setting is very simple there's no adoption no circuits no gates no nothing but of course the the underlying argument is long in winding and goes through all kinds of quantum information techniques so in particular the setting is matched with a non adaptive measurement based quantum computing scheme which is then mapped onto a certain type of random circuits involving z control that had a mart and tea gates that is kind of under the hood so it is a random circuit under the game so the universal computation in the post-selected fashion is crucial for this argument and the entire mathematical hardship of this argument is to apply stock Myers algorithm and to relate the hardness of approximating individual probabilities of certain outcomes to the hardness of approximating the sampling algorithms and the whole thing circles around a proof of contradiction that one would end up in an FPPP to the power of NP algorithm to solve sharpie hard problems which would collapse real result in the collapse of the paranormal hierarchy on on on the third on the third level so this comes together with certain arguments that involve probability distributions and the anti concentration of probability distribution which I will say something about in the second maybe I highlight the assumptions going in here I mean all these arguments have some assumptions but we should be aware that assumptions in computer science means something less severe than in physics and physics we say the assumptions it's mean field a very strong assumption in computer science I say that the paranormal hierarchy is infinite that's an extremely weak assumption it basically like says that P is not NP fine it's an assumption but I mean if that's not true then why are we here right or I mean then why is there internet security and so then it's an average case complexity argument that an finite fraction of these instances is hard to sample in worst case then in worst case that's strictly speaking also an assumption but let me remind you that this is the same assumption that you do when you rely on the security of your internet banking because this is something that people should be aware of that factoring is an NP problem of course but by no means is it understood in what regime the hard causes lies not like in three software this is very well understood like an LLL so it's not so easy so there's an average case complexity assumption when you make internet banking or HTTPS what's that so that this is a strictly speaking assumption and then anti concentration bound which is a property of a distribution here it's very strong numerical evidence but in a mild variant of this problem we have a rigorous proof of that which is interesting method development is not in its own right to close the different loopholes in this type of argument so if interest ask me about it there is method work related to rigorous arguments on random circuits involved here but this is but under all these assumptions one can go into the lab perform this experiment under reasonable technological assumptions using techniques that are not only conceivable but that are already available with present or past technology and the quantum simulation is intractable on classical computers so that was my my main message this one add-on which is fine but how about the irony I was almost making all this point of the irony right so it's supposed to be a high-level joke so I again I mean how would we know that it's correct it's not an NP problem again so the same burden is why that is a true strong word I mean this should not sound negative but I mean the same intertwinement could be there but here now this interesting twist which is one can with order and many measurements verify the correctness of the state prepared in in L1 now and even the distribution in L1 know by making measurements that are very similar to the ones that you would make anyway but that's not just building trust in the computation or just like an evidence of some kind it is really bounding the right quantity the L1 of the distribution of the one distribution that you use in the argument that's extremely interesting that you you can go into the lab you can make measurements and ultimately or you could say that either the red light goes on and say oh we have to try harder another research ground we have to make a better measurement or the green light goes on but if the green light goes on it's not evidence that or trust in that or you have verify that this computation as such is doing the right thing which is a nice feature draft so you can verify the correctness of this so there's this all what is happening here there's this oh what is stop stop stop stop I go back so this is that's part prejudice that in order to be able to verify quantum simulation one needs to be able to simulate it efficiently but this is not quite true there are some settings delicate settings in which a trustworthy quantum simulator can be verified it's not an NP problem but you can verify the correctness even if the classical simulation is beyond reach so what is coming out I cannot predict you have to go to the lab you have to do the quantum simulation but you can verify the correctness it's one bit correct and then you add to the simulation it's an interest is an interesting thing that being able to prove the correctness is something weaker than making the prediction it's also a logically an interesting observation I find you don't have to find this interesting okay now I'm really at the end of my talk so the whole talk was a question what sense it can be feasible to realize quantum devices that outperform classical machines that are not fully fledged quantum computers that is something we have to deliver soon to give me to this field that we can do something interesting now the positive note of this is there is hope that feasible quantum simulators can show a super polynomial speed up solving some problem it's not for tolerant but that's a feature of the bug we don't want for tolerance I mean of course you want for tolerance but if it's not available then we should find ways of of getting around it but it is error resilient in the sense of additive errors and it's certifiable in the sense if the error levels are small enough the green light goes on or the red light if it's too much noise but it's error detecting if you want so one can efficiently assess the correctness even if the simulators exhibit compute going to computation supremacy it's philosophically also interesting that you can verify something you cannot predict it's saying I'm right means the following statement but I cannot give an evidence for this that's kind of an interesting interesting twist so this all had to say as an outlook so this is great but to be fair it's not the most interesting of all schemes from a physical perspective so quantum compute simulations about lots of things it's also about probing interesting quantities I mean what we said is already baby step it's a disorder Hamiltonian quenched in a in a many body sense so that has already the right flavor of a proper quantum simulation but we want to be more practical even link it more to mbl to actual non-equilibrium problems that are people are anyway interested that's a way an important way forward to connect it more to physically important schemes then the robustness how can we think of quantum simulators being intrinsically robust in one way or the other that arrows don't accumulate too much and finally read out read out read out I mean there has been more techniques for tomographic tools to improve readout techniques there's something we are doing that we get my own having new windows into that type of system so quantum simulators I mean I have made the point like how closely intertwined the computation speedup is with verification scheme so this is sometimes underappreciated is the the lame duck in this game but I think certification of verification is the heart of the matter if we want to progress which is the perfect moment to stop my talk and I thank you very much for your attention


The study aims to develop an AI pipeline on digital images at the service to accurately diagnose treatable precancerous lesions in low- and middle-income countries, LMIC, through visual triage of women testing positive for human papillomavirus, HPV. The study implemented a comprehensive deep learning model selection, an optimization study on a large, collated, multi-geography, multi-institution, and multi-device dataset of 9,462 women, 17,013 images, and achieved an area under the receiver operating characteristics, ROC, CERV, AUC, of 0.89 within the study population of interest, with a limited total extreme misclassification rate of 3.4% on held-aside test sets. The model also produced reliable and consistent predictions, achieving a strong quadratic weighted kappa, QWK, of 0.86 and a minimal %2 class disagreement, %2 CLD, of 0.69% between image pairs across women.