Welcome to the first talk of the six feet easy build user meeting. This talk will be by Vasilias Caracias from the Swiss National Supercomputing Centre. He will be giving us an introduction to reframe a talk titled writing powerful HPC regression test with reframe. Thank you Simon, did all of you had a neck hole? Oh. No, it was okay for us. Oh, I'm here. You might have the YouTube stream open. Oh, okay. You're right. Okay, so thank you Simon for the introduction and the easy build community for hosting us. Most of some of you have certainly seen the presentation, a similar presentation in previous is a bit meetings. So I'm going to give some updates. I'm going to go over again for those that they don't know what reframe is. I'm going to again go over what it is. I'm not going to focus so much on the encode listings and things like that in this presentation I'm going to be a bit more high levels is now we have the tutorial for all the details. And here just before starting. You can see the links for the GitHub project. The documentation as well as the reframes like and I will ask those that they're planning to attend the the tutorial to join this like channel. And we also have since a couple of months ago. Twitter account as well as so make sure to follow if you want to get more updates. So, as I told you in the group lead of scientific computing support group. So basically, our key mandate in the group used to provide the same environment to this to the scientists. We are mostly on the application level, rather than on the system level. And there has been the question, many of you have faced how we can ensure that the user experience is unaffected after a system upgrade or a small change in the configuration. And we all know that HPC software stack is quite complex and very fragile sometimes and also scientific codes so we need a way to abstract. The testing is done and make that more easy and more attractive let's say for the application people to write tests for the system. And then there are several things in there how about how the testing can be made sustainable. How do you have consistent as I don't want one group for example to write in one way and other in another way and then when the system gets upgraded. It's a mess of communication so it's very there is a single framework that we can stick to and be consistent. That also comes with better means and ability of the test, and we don't want to have in each test all the details about how it interacts with the system. We want to move to to abstract away the common part in a single place, the maintenance partly somehow so that tests are independent of that portability is another big thing. We want an easy way on how we could migrate the same test to other systems or if we set up a small cluster like we did for the reframe tutorial. It is saying the environment and don't want to read all the tests again. And of course, automation is quite important, especially when things are going and efficiency we don't want. We want an easy way to run and we don't want to wait for ages. So all these are things that are challenges let's say for testing. And let's admit it I mean testing is. I mean from software to even system and HPC application testing, it's not something very attractive because it really requires the same level of engineering as writing the code itself. But it's, we should definitely admit that it's much less attractive to write and I, I bet how many, how many of you have done really test driven development instead of just jumping into and writing the features first and then okay I might have to write a test. And the problem is I see also myself is that it's the value of testing is seldom visible in the short term as opposed to features. Also testing has several levels it's not just the unit as that you might run in your application for example reframe is unit tested but it's not just that especially application you need high level like integration tests and so more which you can achieve necessarily with a unit test of your of your code. And then automation is another big thing, especially as projects grow initially. Okay, I will run my tests every time I change something that as projects grows grow automation is really essential. And of course we all know that testing can never be complete. So we will never have like test that they really cover everything unless we have like real software verification and these kind like that. But that's a general thing HPC as another direction to system testing, because for us the application teams. We have HPC has as you all know multiple interacting components from the hardware to the software, multiple compilers and programming environments to change MPIs multiple libraries multiple applications that we need to support multiple textures, and even multiple cluster. And what is quite important in HPC that makes it different from other types of environments either is that it is high performance and high performance does not go well with portability. And then so functionality and perform so problem. So problems might arise in any in any place and functionality in both both performance and functionality are quite important so you can have like the performance code that really does not compute what it should compute especially in a scientific environment. And of course you you need you do need performance and to ensure that performance stays across upgrades. And most of you have come across and with all the intricacies of the software stock here I tried to visualize this a bit it's a very simplified view. But you can see all the different interactive components from the they might affect how an application run there can be a problem in a in a driver and can really screw an application. And then you have the compilers the different times everything and all this. If you start writing individual tests and ad hoc tests for each of those things this, it really becomes unsustainable. So, what is the HPC or what has been until recently the HPC system testing landscape. Either was no or minimal testings testing so whenever an upgrade we were just jumping with them, the great we're going on with the great and let users discover problems and open tickets and with solve on the fly. Or it could be something minimal like doing manual testing where it's member of the of the of the staff, especially if you have large groups which is. Yeah, not the case in most of the of the centers to run it's it's its member has a set of tests that it maintains and just work on those. And then other other solutions have been very ad hoc very specific frameworks that usually you have tests that they're very tied to the site configuration. And sometimes you might end up with lots of unnecessary test code and application, which really has high maintenance costs and can lead also to low test coverage because you can just easily run tests, or maintain them, because essentially you'd have to do copy paste. So, this has started to change the recent years. One of the solutions is a frame later on a house line with a couple more frameworks that are worth looking at. So, our solution is what we're aspiring with the frame is to create a generic HPC testing framework that allows you to write portable as portable not entirely portable but essentially quite portable HPC regression test that they're easy to move from one system to the other, and we're going to see that in the tutorial and these tests are written a high level language so they're written in Python. It's really necessary to know very good Python to write them. And this gives you also all the, all the flexibility of the modern programming language and high level programming lights like Python gives you in writing and organizing and maintaining your tests. One key aspect is that the framework abstracts away the system interaction details we don't want anything in the in the test that specify that ties it tightly to to the system we want. We want to be able to port test different systems with minimal changes. And that comes along also we don't want to pollute the test with code that is not related to the logic of the test itself. That's that's helps in any maintenance ability. And also the frame provides an invider and runtime for running the test because we're we can run them efficiently and take advantage of parallelism and concurrency and these kind of things. So that you don't have to monitor your server the scheduler and things like that the frame at the runtime will take care of doing that in a better way. So, we have started like, it's almost five years now, a bit less than, you know, with less than five years. And we have some design goals because we have really faced the problems we had an in house regression testing street, based on shell scripts. And so we have faced the problem so we have faced the problems of maintenance ability of portability, and this cobbled the fact that this we're really coupled with the system and we have. It was we have struggled whole team to just do simple back fixes that they're not we were not related to the tests. So productivity was a key goal so we wanted it to do to write test easily. And portability as I said another one we, we had like three systems to maintain. And now we have like two, again, or three classes and we want to move tests around. And we want also speed and use of use because we, it's not us running it. I mean our team but it's also operations that they are actually running a subset of the tests. So we want to make it easy for them that they don't want to write tests or they don't necessarily want to bother with the application. We want to provide the nice and easy command line interface for them to run and inspect any errors and then conduct us. And of course, robustness since we're talking about testing, we couldn't, we couldn't design a testing framework that wouldn't test itself, it could be really an oxymoron so we really started with a test driven design. When we started with the frame and actually it's, it has already quite high coverage and we, we nothing gets seen if it's not well tested and if there's no unit tests around it. So this is a bit of the timeline we started in March 2016 so it's almost five years. And by the end of that year we moved in production along with upgraded. We had an upgrade back then of the big supercomputer that beats the end.  I think we named it internally a spy regression or something like that. Then April 2017 we went public, just moving only the basic. In every release we're just publishing on GitHub. And then in 2018 we moved completely the development of GitHub. And since then we're currently everything is happening on GitHub. And yeah, we, we have gained already some popularity I'm going to check the stars after the talk if you have started the repo. So please start. And actually this is the documentation readers from last, from last month and we have around 150 unique users. Reading documentation are mostly US based and Europe. And yeah so the project has been used, used or there is an interest about it all over the world. So some key features about it. So we, we support cycling through programming environments or in easy build terminology is like to change so you can define. You can associate a test with the two chains that you want to test and then the frame is going to cycle through them, using the same test so you don't have to write specific tests for each to change. You can adapt your test and find unit for it to change, but it's not necessarily you have to write a complete new test by copy pasting another one. That's something that we never wanted to do. We have support for different workload managers parallel job launchers and any combinations of those so you can use slurn plus MPI run slurn plus is run pbs or torque with MPI run and so on. Module systems we support team mode, even from team on three one up to the mood for L mode. And all this is abstracted away the test never know what what is the module system they're using. That's the system specific today. We have invested a lot in insanity and performance checking so that there is their kind of a mini language that you can really write your sanity and performance test or extract the values you want in Python code. Without having to do with complex parsers and state machines so it's it's really you extract the data you want from the output and you really work on it as as you would in a normal Python function. And there are also lots of predefined function to help you. There's also support for test factories or we call them parameterized tests where a test can be parameterized several parameters and then you can automatically from single test class, you can really generate as many test combinations. You want that's quite powerful. We support container runtime so you can have your tests. You can have a frame launching containers to run your test in test dependencies so you can structure your tests as that. Yeah, one test depends on the other that's quite useful, especially if you have like lengthy compilation processes, and then you just need to run a bunch of tests that reuse that. All these are handled by the runtime so that's and also when the garbage collection of the different of the test resources, everything is coming by the runtime. Of course we support concurrent execution of tests. There's also result reports performance logging that's quite important so you can, you can really log the performance of different through different channels. And the other good thing is that we really invest also in internal so the API is internally ours are quite clean so that allows the easy extension of the frameworks functionality and also people can come in and develop or extend the framework easily. Over all the architecture is kind of layered so on top you have the user facing, let's say thin layers one is on the right is you see the regression test API it's the way you run, you write your test. And on the left is the front end is how you run the framework, which eventually loads the test passes them to the runtime, and then the runtime runs them. And the thing is that those levels they don't speak directly to the system even so there's even several abstractions, and there's several plugins that this can be changed or new plugins can be added, which makes the framework quite extensible without having to touch different things as soon as you implement the required interfaces. So the framework. In order to run the tests, it uses it uses kind of pipeline. So every test has to go through all those of those different five stages that I show here. So the test is initially set up. The test is created for its resources everything is copied there. Then the test is built if then the test is is around this is submitted for example the job scheduler or to the local system. And then there is signed the performance checking and then clean up of the resources. Now, the good thing about this design is that you can you can also easily adapt it to handle dependencies as well as concurrency in different stages. And in fact, for example, here is the serial execution policy where we assume for example that they set up built in phase or quite short and then you have to submit your job and then basically the serial execution policy will simply have to wait until your job is finished is finishing finishes and then before moving on to the next, but essentially with this kind of design then you can just suspend the job as soon as you submitted suspend the test and keep it in some cues internally, then move on to the next proceed with their pipeline, and then started covering tests as they as they are ready and finished and then recover with their pipeline. So that's how the asynchronous execution policy works and then this can be extended different phases for example you can have. We can extend out so that the build phase happens remotely and then you just have even more parallelism there. The nice thing is that all this is handled all this complexity is handled by the framework. Configuration is in a reframe. Essentially it has three basic sections, and is where the system specifically takes let's say it goes. It's where you define the systems to your environments your tool change that you want to check, and you how you associate it's technically it's a big JSON object, which is stored either in a JSON file or in a Python file. And Oh, I don't know if it's. I think we had a have a problem in the house. I don't know if we haven't noticed, but anyway, let me know if that's annoying the the bit that if you can hear it. Please don't. So, I'm going to jump into example so here is an excerpt from an actual configuration of the pit stage so we're going to see all this in detail in the tutorial but here for example you have a system. I'm going to give it a name how how the host names that basically kind of correspond to that system to the framework and pick it up, pick up the right configuration entry. The module systems module system used for that system and then you start defining different partitions this have nothing to do with scheduler partition. It's just a way that you make the system. You present the system to the frame so here exactly actually they're the we defined the GPU or hybrid node partitions that uses learn plus SRAM. And then here is how you get access for example that particular partition. Here you see the environments that you need to test and that partitions and actually these are just names that they're later defined in a different section of the configuration. And then you can even define whether the container platforms that are valid for that partition for example this one. We have singularity and this is how you're going to get the singularity. And then you have a section about environments where again you just give it a name and environment is in a frame is just a collection of modules and environment variables. They may not even have modules or environment variables set, but then it's just the environment that you're running. Here for example you and then you define the compilers so that the frame knows how to compile simple tests in those systems. Again it in the way it builds thing is really yeah it's not it's purpose to do what easy build or or SPAC do. It's just has the necessary stuff in order to be able to build some tests the code for some tests and then you define different programming environments. Now here is really a very simple, let's say the simplest test. I'm not going to go into more complex tests in this talk, but I'm going to just give you an idea of how a test looks like so essentially it's a. Python class that is specially decorated so that the frame knows that. So basically that the frame picks up and instantiate is and sees as a test. You may not have this and then you can have your own class hierarchy is if you want to structure and your cosets that you don't have the application things like that it's really really quite flexible. And then you have you need to specify for which systems in the configuration. This test is valid for so this is a list and by here we mean that that's for any system. And the same from their programming environments that means that the frame will essentially skip the test if you try to run it on on a different that it's not supported, or an programming environment that is not supported. You can specify what is the path to the test. Which is here simply a simple C program the frame will automatically understand which compiler to use based on the extension. You could even here specify the directories in which cases it would, it will auto detect whether it's make project or see make or auto tools project and try to invoke the configure or make step. But again, you can also find all of those. And here is how you see that's how you ask a frame to the test to look for sanity so here is essentially a lazy evaluated expression that essentially says, Okay, assert that this regular expression is found in the output of the test. And this is lazy evaluated so it's not, it's not being evaluated when test is instantiated but it's going to be later evaluated in the sanity phase of the pipeline. And here can be arbitrary complex you can even use like a functional style of programming if you want to use this framework provided function or you can even write your own fun functions to process the output. Do any post processing you want, and then decide on whether it's a it's a sane output or not. That's a very simple example I'm showing here. And this is how it runs essentially you just pass the path of the test. There is also a predefined path for the frame if to search for test but here and passing one. And then you pass the minus our option which basically says okay now run the test. And here you have those yet you are familiar with Google test. It's like a similar look and feel. So you see that it runs the test on the component system and partition that it picked up so that's the generic and default partition we're going to see all those in the tutorial, using a built in environment that's that's basically that's before the default configuration that the frame comes with it allows you to run it on literally any system with of course limited functionality if you don't configure it. I'm not going to go in more details on how the tests are are because we're going to have that tutorials. Here is the link to that tutorials I'm going to. Today we're going to do the 3.4 release with the tutorials that we're going to show from tomorrow. So, yeah, moving on performance monitoring that's quite important so reframe can log its performance to several channels so either in a regular files, or syslog or great log so if you have this is from a server we have in css that listens and accepts great log. records and then reframe sends those records to that server and then we can visualize and then you can have really performance data cross time so as I'm showing here that's that's quite nice because then you can create dashboards. And you can see also you can correlate different tests failing that's I see quite useful. Now this is a bit of an hour setup on how we we run. So here we have essentially we are our continuous testing works through Jenkins. And actually daily we pull the repository the latest master from refrain so as to get always the latest developments in the test plus some private test repository. And then Jenkins longings the different systems that we're testing and and basically launches a refrain. So then refrain runs and sends data through great look to elastic search, and then we can visualize as I've seen I've shown you before. And we have several different several several categories of tests, which we identified by tags. So generally you can associate tags with refrain test so that we can easily select them from the command line. So we have some tests that they just test the free programming environment functionality than the HPC software stack. And then we have some a sub selection of those tests that essentially our maintenance test run by the operations people before and after maintenance is we have some benchmarks and we have generally lots of tests. That they are used across systems. I know some of you that they have refrain production may have even more. So yeah it's it's I think it skips and generally it's it really streams lies the process of upgrades because as soon as you put it in the in the process. When everything is green. You really are quite confident that you're not going to mess when you give back the system back to the users. And it really has revealed the last the last year we we had a bit some a bit of bumpy upgrades with great and it really with lots of regressions that we have them to come back to the vendor for fixing them. So here is a bit of the refrain test suite you can find all those tests online. There's lots of tests that you can just pick those and adapt them to to your needs. And these are a couple of sites that I know they're using refrain because with some of them we have collaborated like with nurse where we have they're also using refrain for their software stack validation performance testing advanced marking and also they also use CI CD but with key club. And to continuously test their software stack. Similarly Ohio super computing center they have a similar setup. And then there's other centers that they're using refrain and certainly there are more that they just keep learning that oh we're using refrain. And another another nice example is that you can you can use the refrain for integration test for your code. For example here is is an electronic structure library is developed by some people in CSS and generally in Switzerland. And actually they're using refrain inside their github actions to run some integration and validation tests. So essentially what they're some validation tests essentially what they are doing the github action basically pulls the version from the refrain repository runs the validation tests. And the nice thing is that those tests that they're valid for that vm. On github. The same tests are used for running on the guys laptop or on pit state. And we have having to run to to rewrite the test just the same test with some slight adaptations, everything in a single place. So, there is a small community forming around the frame. A couple of days ago we had 66 members in the Slack channel so now we are about 70 plus because people have are joining for the tutorial. There is also an effort for a put up here. If you want to share your refrain test repository. I'm going to do a fork, just give me the URL and I'm going to do a fork under this group where I'm planning and grouping together the different test repositories so that people can look into other sites what they're doing. So there's already there I mean a part C from CCS there is a couple of other efforts, but it's still like really under development so I know that several centers are quite reluctant in sharing their tests but if you ever want to publish them then just let me know in the Slack channel so that we can collect them under here. For those that they have been in easily use them in the last year. We had lots of lots of progress done. First of all, we released around May, I think, or it was early June and don't remember the frame 3.0, which did some had some breaking changes. The way the tests are. The syntax is much better now I think also the configuration was completely revised and rewritten. That's why the old one is no longer supported especially from 3.4 improvements in installation a synchronous execution policy there's we have the additional reports at the end of each session had improvements in in test dependencies support for module collection we had a nice utility function that basically crawls for different modules. It's like the spider, but, but not it works also with the team so essentially, and then you can parametrize your test to test all of those modules. That's quite nice. Better verbosity and then we're having a new syntax introduced in 3.4. How you can parametrize this and how you can compose them and how you can dynamically expand the parameterization space that's quite cool. It's really fresh. And I know Kenneth is going to kill me with this last feature that we also support on sparkload for loading modules. And the frame is that not is not the only tool I told you as I told you the beginning. There are other efforts that they more or less started the same period of time. One is the beat test and Friday at noon in the afternoon it's going to be the talk from Suzeb and the pavilion to I if I would say pavilion to use another tool from. That they're developing. So those two tools they're using YAML files for testing instead of Python. If I would say the some some difference is perhaps the view of the things were more refrain were more on the from the application view and performance and things like that. And whereas those tools I see them more from the system side develop bottom up whereas I would say refrain was top down. If I could just in a single sentence summarize the differences there. There merits in in all the three tools. And yeah, you can you can go in and try them. All three I think that's that's good to have some more tools and change of ideas. Now what's next so they wrote them up for the. Yeah, for the near future let's say is we're really working towards enabling enabling you to write enabling enabling users to write test libraries and composable test. But no matter what you do. If you don't want to have like a smoke test. A test cannot be entirely generic you will have to do it. The more the more serious a test is it can be entirely generic. In the frame we you can basically minimize the effort you need to take to port test. But we're with this feature here we're planning to make it easy so that you can create libraries and then specify. We're going to add some syntax element so that you say that these are fields for example require and whoever is using that generic library would be forced to specialize it somehow for his system. So at least the generic part can be shared and common to everybody. So you can we can follow that project under the link here. Another nice thing we're trying and there is also already pull request and we're hoping to merge that soon is we want to refrain to generate dynamic pipelines in GitLab and have Run the test so then you can have a very nice integration if you're using GitLab in your CI CD and you can take your test that you can run manually and then have a frame in a single state to like reframe CI generate very similar to the Spark CI generate and then that would generate based on the test you give it it will generate the actual GitLab jobs. And have a GitLab run them for you. But then you can use the same test and have a frame run them for you that's that's quite nice. And we're planning some problems in the runtime for increasing concurrency. So touching base with different developers. We have certainly done a fixed release cycle. So we have dev release every two weeks and the stability release every six weeks. We're our plans to follow nor plan we have been following the train model seems like half a year now. And no matter what release is going to be made so whatever feature is ready get seen whatever not is postponed to the next one. So that's where we're going to stick to that, as well as the semantic versioning. And, and everything is in GitHub if you want to see what's going on so there are different projects in the releases so what is scheduled for release the springs and big thanks to the core dev team here are the five people with their GitHub account. But I should I should make a disclaimer. We're not full time and it's an open source project we have plenty of other things that we're doing. So issues might be late to catch the release train issues might get spilled over to subsequent sprints and since we're all CS CS guys here priorities might change based on our needs, but we encourage contributions so if you like the tool if you think you like the tool, and you find bugs or even features. Yeah, contributions are more than welcome. And that basically concludes my my talk so essentially refrain is quite powerful tool that allows you to test continuously and HPC environment. There's a great test in a high level language and there is that helps you have portability across HPC platforms by also abstracting away some system details. And has power runtime, powerful runtime. For help there is the mailing list select GitHub and back reports for GitHub. And finally, some logistics about the tutorial. So it's Tuesday, Thursday and Friday. And please respond to Victor's email about when by sending your SSH public kicks so he enables the access to this virtual cluster that we have set up. And as soon as you join our frames like channel, there is a tutorial even 21 channel here. So you join that so that we can have take any questions or about the tutorial even offline. So that's all about it. And I'm happy to get to reply to any questions. Thank you for the talk we've got the first question ready for you. I will just ask the first person to unmute. Hi. So the question is, is sort of two parts but the main part is for the tests. Is it possible to specify something so that when you have a test it's non deterministic you can specify some, like a central value and then some bounce or plus or minus. So if I have a test that comes out the answer is supposed to be within one half of five. Yes, yes, you can do you can do that, both in performance and also when you're doing sanity so essentially we we do have tests I mean I don't have in the presentation of course. And I'm going to show also in tutorial that you can essentially, we have some tests for example it's the Gromach's test I think thing that some applications where we extract the energy output that is being by the program and then we essentially let me go a bit just give me a second so here. So here in the sanity pattern so then you can compose different functions or write your own. So actually we extract the data and we say that this thing assert bounded there is a function that's called assert bounded and then we compute the absolute value of the of the thing we get minus the reference, and we make sure that this is below a threshold. And yeah, you can perfectly do that and in the performance patterns which is the performance is is even easier. So you can say this is your reference value and mark this as a failure. If you're beyond 10% of that, for example, so you can you can do that. And the second part is, I'm thinking specifically of Gaussian where the output is kind of messed up because they want to give you some fancy quote at the end every time it runs something. So the output format can vary quite substantially sometimes from run to run which makes it very difficult to do so you have like a regular expression parser for the output. So that's the beauty of it because it's not that there is just a parser. I mean, you can have you can write your own regular expression, but in such cases as you say if you try to write the regular expression it's going to be it's going to be a monster. Yes, so what you can do that's that's the beauty of it because this is fully programmable. So you can have a simpler regular expression, get you a list of things back and then in Python code you process that and you find your way out with by really programming that and you can write your own function that you have reframe extract some some of this in a course and way and then this passes it to your function and your function does a further analysis and decides. Okay, that's that passes or not. So it's really in code, you can write normal Python code to do your scientific checking and use the utility also for refrain of refrain, have refrain give you some extracted data or things like that. And then you can process as you wish it's it's really very very flexible. Okay, thank you. So if anybody else has any questions then in zoom at the bottom there's a button called reactions, which allows you to raise a hand. Just as Kenneth is done. Yes, I have a question actually so. So my question was, Vasilios to, to what extent have you seen different HPC sites, or people sharing tests among each other and how would they get organized to do that. Yeah, that's that's something that it's it's still hard. I mean, it's because I mean in some tests, some centers they have performance data, so they don't want to share or they have to go to get approvals of sharing tests and things like that so I know to whoever I talk about that would be a great idea if we start sharing tests, but whenever I say okay just if you make something public and give me the URL so that I can fork the Apple there. It's, it's, it's not yet to the extent that I'd like it to be. And towards that direction, what one thing is that admittedly, you have to have. I mean, if you write a more complex test at some point you will have to have specific things for your system. And that's why that's where the idea comes in with having a composable test library so for example take the Gromach test. There is some components that they are there I mean if you have your input files, your output. There are some non system specific things. And you can write in this asset way that whoever gets that library would require him to specialize it. And you can even do that but not in such a strict way that would force essentially the users of your base test to to be disciplined in that way in the way they write it. But we have a lot of test public and I think most of the centers that they just take hours and they adapt them. But yeah. Okay, thanks. Yeah, I see some other people raising hands. Yes, I'll pass over to the first person. I'll ask to unmute. Yes. Hello. I have a question for parametrize test for instance for Osu micro benchmarks you would like for a single run to be able to specify multiple size of the messages and ranch for the latency or bandwidth you allow. Yes. So, is that no possible because the previous test was not that simple on that side. What do you mean using the parameterized test decorator you mean. Yes for a single run. So obviously if you should make multiple run. And then you set for each of them as a value for the messages you would like to test then as if you repeat. Okay, so you want in know the parameterized test even even now with this enhancement, they're going to be a new test, new test but there you can use dependencies. So you can have like the part of building the also benchmarks for example, it can be in a single test where the others are depending. The run test will run really fast and be submitted. But then I have the impression from what you described that you, you would still have at the end multiple execution of the of the benchmark for a single message size. My question is more possible to make the full run that in there that then, of course is testing multiple message sizes and then you define as parameter that for subset of the message size you expect a certain value with some tolerance. Yeah, yeah, yeah, yeah. No, this you can. Yeah, yeah, this this this you can do it even right now for example you. Because in the output essentially, you can, you can have multiple performance patterns. So you can define, we're going to see it in the tutorial where I have the stream benchmarks and I'm, I'm extracting from the output the value for copy try it, etc. So there you can extract the value for the different sizes and have references for each one of those. If I'm if I'm getting what you're trying to do. Yes, that's. Yes, but then I was thinking if there is another way to abstract maybe for input parameters. So therefore, in this case, the message size, and then for a set of inputs to provide expected value to give her with a tutorial on sponge. And I have the impression it's not yet you can. We can discuss this in the channel in the chat but I think you can do it if I understand it because you can parameterize your test with any set of parameters and it's up to you how you generate the list of parameters that you pass so you can generate combinations of Yeah, of message sizes and I don't know if you want different transfer in the same I don't I don't understand what exactly you need to parameterize that that's the thing. Perhaps we can we can discuss but I believe it's it's doable. Okay, thanks. So going to interrupt the questioning there. We've opened the breakout room so the next few minutes if you wish to ask facility as questions will please enter the breakout room. This is just to allow us time for the next speaker to set up ready for the next talk. We'll start in about eight minutes time.


has an unbelievable effect, almost stronger and more relaxing than any other thing on this list. Don't disturb my friend. He's dead tired. Hey, what's up guys? It's Josh here. For the past several years, I've really, really enjoyed finding the best natural sleep supplements. There's going to be eight supplements on this list, and I have huge bags of them. And each bag will probably last me about a year if I took a big dose. And I do want to check out some more in the future. Let me know what your favorites are. Three supplements that work pretty well, but I did not want to include this list is melatonin. To be honest with you, right off the bat, I really do not like melatonin. And it's unfortunate because every single sleep supplement always includes melatonin. And it's in everything. And so sad to me, melatonin is a hormone, the same way you wouldn't want to put testosterone straight into your body. And you wouldn't want to put estrogen straight in your body. You wouldn't want to put melatonin straight into your body. Every time I've taken it, I felt weird the next day. Melatonin is 100% not for me. I won't use it. And then Rishi Mushroom, that one's supposed to be really, really good for sleep, but I haven't tested it enough. I've used it a little bit and I haven't found too many benefits, but it's supposed to be very, very good Rishi Mushroom. And then Phenibit, I haven't done a full review on Phenibit yet, but Phenibit is a synthetic version of GABA. And it's a really long lasting and actually can induce sleep, but it has a lot more side effects and isn't as natural and easy to take as the other ones. So I didn't want to include those. So those are kind of like the honorable mentions or things that I'm not including. That's why I'm not including them, but let's jump into the top eight here. We'll start off with Ashwagandha. Now Ashwagandha isn't one that makes me feel really, really relaxed or really, really tired. People say that it can provide that effect. To me, I just feel overall more rejuvenated. I don't really feel relaxed. The one reason that I'm going to include it on this list is because I find that it really helps adrenal fatigue. So when you take it at night, if you're somebody who takes a lot of stimulants, drinks, a lot of coffee, you take this at night and you're going to feel a lot more awakened in the morning. And for me, when I was taken, I found that caffeine would be a little bit stronger because I felt like my adrenals were healed. If I was going to include that in a sleep blend that I was going to take every day, I would probably just use a somewhat moderate amount, maybe 250 to 500 milligrams, not a lot, but just something in there to help those adrenals because it's not something that overly relaxes you, but something you want to definitely include in my opinion. Lemon balm. Now lemon balm is actually one of my top uses because a lot of these supplements have a lot of sedating effects and they're all natural and it feels very good, but lemon balm also has a lot of these overall good health qualities. If you look it up, it has just a whole list of health qualities. I feel better when I take it. It totally induces drowsiness, so I wouldn't take it unless I was trying to relax or going to sleep, but I absolutely love it for that. It's one of the strongest, most well-rounded ones on this list. And if I was going to give you a top three, I would definitely include lemon balm and it also increases testosterone in male.  I'd probably take a half gram to a gram and a half of lemon balm, depending on how much I was needing it or if I'm mixing it with other things. Tryptophan slash 5-HTP. This one, I remember back in the day, this was a little bit controversial. People joke about tryptophan and turkey making you go to sleep, things like that. 5-HTP is a little bit stronger version of it. Every time that I've taken it, I always feel a sedating effect even when I've taken it by itself. And it's something that I would definitely want to include in a sleep blend. You don't need a lot of it in my opinion. If I was going to make a sleep blend, I wouldn't need 500 milligrams of tryptophan or a high dose of 5-HTP. I'd probably put like a moderate dose. If I was taking it every day, probably two to 300 milligrams of tryptophan and maybe like 25 to 50 milligrams of 5-HTP just to give you that extra benefit. And a lot of these other things work on the GABA receptor. Tryptophan works on serotonin, so it's kind of like another way that you could get that relaxing benefit. Passion flower. Now passion flower, is this another one that I would put in the top three? I find passion flower to be one of the highest relaxing supplements out there. Also has some other health benefits, but I find that it's a little bit more on the sedating or relaxing side versus the extra health benefits side. Although there is definitely some health benefits with that one. It just kind of is like a more natural herbal tryptophan to me. That's kind of what it feels like. The times that I've combined passion flower with other things, just kind of like a real big knockout effect and I really, really like it. Definitely in my top three, if I would recommend them. Valerian root is one that actually pretty much got me into sleep supplements. I had tried melatonin years ago. I really just do not like melatonin. Like I said, melatonin is a hormone. I just don't take it at night. I know a lot of people gravitate towards it. It's one of the top things that people get. Valerian root was one of the first ones that got me into taking herbal sleep supplements at night. People would argue with me on my Valerian root video saying that a lot of people don't find it effective. Valerian root is one of those ones where once I take it after a while, I take a good dose. It has an unbelievable effect almost stronger and more relaxing than any other thing on this list. I feel like I could sleep less hours and I'm more rested and that's happened. I can't tell you how many times with Valerian. It's not just one time. Keep taking it every day and that great sleep. It kind of just doesn't seem to happen over and over and over. I would put a little bit of it in a sleep blend every day. If I was going to have the choice, I'd probably take a big dose of it every few days and just kind of take it like that because with all these sleep supplements, you're going to want to mix them up. You're not going to want to take the same things every day. I always mix them up whether I take a lot of one, a little bit of a bunch of ones or just a lot of two. I always mix it up because if you take the same thing, it's just not going to have the same effect in my opinion. Valerian root, one of the best ones but you can't take it every day. Chamomile extract. Chamomile extract is, this is probably the other one that I put in the top three. So my top three are lemon balm, passion flower and chamomile extract. Now everybody's heard of chamomile extract. Everybody's heard of chamomile tea. It has unbelievable health benefits. This is very, very similar to lemon balm. If you look up the health benefits of lemon balm and chamomile, very, very similar. They definitely relax you. They have tons and tons of health benefits. They increase testosterone in men. So it's another one.  And it's great because you can kind of change them out. You can take one of each one, a lot of one, a lot of the other and you can get a more sedating effect more often by doing that in my opinion. Now magnesium. Now magnesium is probably the one that I would make sure that you take every day. I know I'm not including that in the top three, but that's the one that I would take the most often. If you look up magnesium, it has unbelievable amount of health benefits. I think that most people who die have almost no magnesium. It totally helps relaxation. I would always have heard about magnesium, but nobody had mentioned how relaxing it is.  I had no idea and I totally recommend calcium, magnesium and zinc tablets if you're going to get tablets of it just because they all synergistically work together. If you look it up, just the multiple health benefits and the vitamin D is good, the calcium is good. There's like a dual effect with magnesium and calcium too. I think the magnesium allows your body to use the calcium and they also have a combined effect with zinc. So calcium, magnesium, zinc, but definitely it's just the magnesium that's going to provide that relaxation effect. And then the last one is L-theanine. This one's kind of like one that I wouldn't buy specifically for sleep, but it's something you could use almost all the time. It goes good with caffeine. It has a little bit of relaxation properties. You can take it and just go to sleep. If I were going to use this in a sleep blend, again, this is one that you had probably put on the lower side. The normal dose for theanine I think is 200 milligrams. So I would just want to incorporate a little bit of this in there because it does have a very relaxing quality, a very anti-anxiety quality and a little bit of a sedation quality. These are my best natural supplements out there. You could take these almost every day, something like melatonin, something like Finnebit. They're so much stronger and you have to be so much more careful with them in my opinion. And they do so much extra stuff. I'm kind of taking these to go get that real big, you know, sedation, relaxation effect at night. All natural, 100% like no risk at all. And I do that by kind of switching up each one. I kind of gave you like how I would use them. I would one day want to create a sleep supplement because I've tried all these for so many times. I have kind of an idea of what works. And I'm definitely interested in trying some more. So if you have some other natural sleep remedies, I'll be very interested to see down below. These are my absolute favorites. But anyways guys, we're on the road of 25,000 subscribers and I couldn't do it without your guys' help. You guys are the best. I'm having a great day out here. Hopefully you're having a great day. I'll see you all in the next video. Peace.


Good morning from Camarillo. Check out my parking spot last night. Freeway Parking Spot. Freeway Parking Spot. Morning guys. Like I said in yesterday's video, I got a... some kind of a letter given to me by the Olivia Adventure Crew and I'm not really sure... oh. Not really sure if I should share this with you. But thank you guys. They gave me a tank of gas. Yo, Jax, we wanted to give you a tank of gas to help you along your journey and because we love you and don't want your adventure to stop yet, hold your life. This is something card. I didn't read that. I think it's a bad word, card. I can't wait to show you the UK at Jim and Laura. Thank you guys so much, Jim and Laura. That was a very kind view to give me a tank of gas. The cost of gas in California is over $3. I saw the highest part was like $3.75 yesterday. So it was like absolutely crazy. So thank you guys. Thank you Liv the Adventure for having me, Louis, JP, everyone else who came. It was absolutely incredible to be a part of something so special and hopefully I shared some words of wisdom with people who want to be in my shoes, want to be in someone else's shoes, like, you know, fun for Louis and yeah. It was just like, man, such an amazing time. Alright, so I'm parked on the side of the road like I said. I'm behind on edits. There's been sporadically, like right now people probably think I'm still out in the desert if you're watching the videos only. For my most current locations you can always check Instagram, maybe sometimes the story, Twitter, ask me, something like that. I'm going to edit and then get on the road. This is the YouTube life. This is the real life. Just had an amazing conversation for a couple hours. Thank you again for lunch. Couple hours? Yeah. We were talking couple hours. It was so good. Sometimes I just have to put the camera down and interact like a real human being. So after this I want to get over to Venice Beach and catch up with the guys and start editing. By the way, Lucas is like JP's fun for Louis to me. Just an outstanding person, incredible human being who does occasionally watch the videos. So anyways, hope to see you soon, Lucas. In the bus on the road, maybe January, February, March, something like that. Change of plans. We got Aria. I'm not sure if you guys met Aria, but Aria was at the event this past weekend.  Super stand up guy. And it looks like we might be planning on having him with me for like a week or so, but we will determine that tonight. We are going to go edit because I'm severely behind and he's got some work to do as well. So I don't know where do you want to go? I think we're going to drive down the road. Oh yes, to the other bus. Yes, to the big bus. To the big bus we go. E and Aria are looking for a Greyhound fare for him to get back. He's going to change his flight and come with me to the Grand Canyon. But look who just drove by. It's BC and Taylor. Wait, so alright, repeat yourself. You guys were, how did you find me? We're lost in the middle of a nowhere Venice and we're taking left and right to beat traffic because it's horrible. And we're cruising down this one back road and we see you at your freeing bus. Jesus bus! And no joke, I was just looking at your Instagram story. So good. And what are you doing? Do you all like your poker face? Yeah. She's so much bigger than me. I know, I miss everybody already. It's nuts. That was so good. We're going to catch up right now. This is so crazy, but cool at the same time. We got a professional artist up front of there to paint all these walls as a gift for free. Wow, that's amazing. He did it in 24 hours. 24 hours? My goodness. So let me tell you guys a story about fate, I guess. So I have a couple friends that said you got to meet these amazing guys with this channel called Yes Theory. That was like three months ago.  I live at the Yes Theory house. And so here I am at the Yes Theory house just hanging out. Welcome to the pad. There you are in the backyard. Well, thanks for having me. Of course, man. And we might actually have something planned for the future. Oh, yes. I like the backyard. I see something very familiar right here. Yeah, a little turf. A little astro-trip, just like Milan. You guys should get the neon sign over here. Seek discomfort. Discomfort is kind of like our school. Milan, you're out of the dungeon. Whoa, this is so cool. This is like the coolest backyard ever, man. We met an artist. Actually, we met him skinny-dipping. Literally, we convinced a group of strangers to come skinny-dipping with us. And one of the guys was a world-renowned artist. We told him about the idea of wanting to remodel the whole place. And he was like, I'll do it for free. And he just came and did it all. And that is how it looks like this. This is so cool. This is like the standard mixed with like a Venice Beach alley. Mixed with, yeah, that's pretty much it. But you made the whole thing space-themed. So everything is really dis-space. And I don't know just where you're at. It's how long I can sing these songs. One day I know I'll be over, but I'll have your arms. And I sit break-tied, but you never want to be alone. Where I standin' right in that December cold. Back on the bus. I know this is a little bit different from my typical travels. But we have a very special musical performance happening here. The last special, but... So Aria, this is your favorite song that you played for... So this is a song that me and my... When I was 16, I was making YouTube videos. And I really wanted to learn like an instrument. And this was kind of the perfect size. It's far easier than a guitar to learn. And you can take it anywhere with you, right? So I started making music.  And then me and my best friend, his name's Tristan, we made this song together. And it's about two girls that fall in love. And it's called a lady's love song. So here we go. I thought it was the other bus. But I thought it was the other bus. Alright, this is how I prepare for urban stealth camping. My side streets at Venice Beach. As you guys know, I try not to stay in the city. But it was just more convenient than heading out to my Malibu spot. I will be back on the road tomorrow. Heading towards Grand Canyon. I think we might stop by enigmatic pneumatics van bill party again. Just say hello. Introduce the crew to what's going on out there. But plans are subject to change. I do have other people with me. So I have to take into consideration their wants, their wishes. They're, you know, a guest. So if they want to see something else on the way, that's totally okay with me.  I have never been to the actual Grand Canyon. Yeah, I think I've only been to Lake Powell as a kid. I have seen horseshoe bend. Antelope Canyon is not the Grand Canyon. So yeah, be fun to explore the area. And I know a really amazing camp spot on BLM land out there. So hopefully if we're close by we'll be staying there. Otherwise it's just wide open out there. Tons of blue knocking spots. Alright, see you tomorrow.


Hi and how are you all today? The question says refer to table 14.7 chapter 14 and these two are the questions that we need to answer. First of all find the probability that the student obtain less than 20% in the mathematics test and next find the probability that the student obtain marks 60 and above. Now let us proceed on with our solution. Now for the first part the number of students obtaining less than 20% marks in mathematics. 20% out of 100 means marks, number of students obtaining marks between 0 to 20 and that is given to us as 7. So there are 7 such students. Further total number of students equal to the total is given to us as 90. So the required probability is 7 students out of 90 are obtaining less than 20% marks in mathematics. So this is the answer to the first part. In the second part we need to find out the probability that the student obtaining marks 60 or above. So the number of students obtaining 60 marks or above are there are plus 8. 15 students are obtaining marks more than 60 and less than 70 and 8 marks are of 8 students are obtaining marks more than 70. So the total 15 plus 8, 15 plus 8 that is 20 again the total number of students are 90. So our required probability is equal to 23 by 90. So this is the answer to the second part. This completes my session. Hope you enjoyed and have a good day.


Hey guys, it's Nate aka The Foot Accountant. Welcome back to the channel. We have got a lot of stuff going on and a lot of stuff to talk about today in FIFA 20 Ultimate Team and talking about FIFA 21 Ultimate Team as well. I'm going to focus on the FIFA 20 content first and then talk about some of the new gameplay items that we learned about yesterday in foot. Talk about those at the end of the video. I know a lot of you guys have heard a lot about this stuff already. There's been a lot of opinions released. A lot of stuff has been put out about the new gameplay tactics. A lot of people have expressed their thoughts. I want to express mine shortly through what I see in the pic notes, what I see through the new gameplay features that EA talked about. But I want to talk about today first, right? We have some leaks for today. Now yesterday on Twitter, there was a lot of people saying that we are going to be getting a Mason Greenwood wrote to the final card in FIFA Ultimate Team. And today is Europa League and this is why I was a little bit, you know, not saying that I didn't believe that leak right away, but I'm a bit unsure about that and how that's going to work because today at 3 p.m. my time, not sure when that is in the UK or when that game is actually being played, but Manchester United are playing their second leg of the Europa League tomorrow. So a lot of times and this is why I was a bit unsure, right? A lot of times they give you time beforehand, like we've seen this week with Nikitarian, Serabia and the Valverde SBCs. You've had plenty of time to complete those SBCs before the card would have a chance to get upgraded. Now, would they release another rose of the final item for a guy like Mason Greenwood after United win or maybe like during halftime or something? My only thought is maybe EA is trying something out with like live SBCs for a card that they're going to drop like during a game and maybe they give you a short amount of time to do it. I don't know. Or maybe EA is going to drop the Mason Greenwood SBC after this game is played so that they don't have to upgrade them again. I don't know what they're going to do with that either. But suppose that there's going to be a Mason Greenwood coming. I think it would be an SBC, not an objective. But again, we have the start of Europa League today, which means the potential for some cards to get upgraded. Now, how long are these cards going to take to upgrade? I think if I remember correctly, back when we had older road to the final upgrades, it was taken somewhere around 24 to 36, sometimes 48 hours for them to upgrade road to the final. So it wasn't a right away type of thing. I did think that it took them a bit to do that kind of like with the summer heat cards for like the summer showdowns and stuff like that. So if you have a Martial, if you have maybe a Vendell, left-back card 3-1 right there in that game, Wolves Olympiacos is interesting. And then for Friday, or actually, yeah, no, these are actually tomorrow, the inter-Milano-Gatafé play. And then on Thursday, Sevilla and Roma play. So Friday Saturday is actually, is obviously Champions League. But for the Wednesday Thursday games, you could see some upgrades, right? I think a lot of people are looking towards this Sevilla and Roma game for the Diego Carlos, the Mictarian and the Juan Jesus. They're interested in that.  So let's talk road to the finals just for a hot second. A lot of these cards, again, are very rare. They're starting to rise. They're starting to get rare. People are buying them because they think they're going to go up when they get upgraded. Here's my thing about Martial. Yes, this is a left mid, left wing card. It's probably going to be a 91 rated. He's got a 92 that's in season objectives that is for technically, quote unquote, free in terms of coin value. But I feel like some of these cards have risen enough already. We're at a stage of the game where I don't know if there's going to be that much hype for these cards to actually rise up when an upgrade comes. Because is this card actually worth 200,000 coins? Well, it is Manchester United. It's Martial. Yes, possibly there's extra hype around this card, but maybe a guy like Wendell. Wendell. I don't think it's Wendell. I think it's Wendell. That's how you say his name. The left back, this guy right here, with his road to the final, Europa League. I'm not sure how much he costs these days. 40K, 50K for this card. This is going to be an 88 rated card. If Leverkusen can come through and win tomorrow, which they have a 3-1 lead on Rangers right now, so you would like to think that they can.  Yes, possibly. But a lot of these cards have already risen already. If you look at their footbin graphs, and I would show you footbin graphs right now, but footbin is actually down. If I go over to footbin.com, click on the link. The website is actually down right now. So I'm not sure what's up with that, but I can't see anything on footbin at the moment. So I can't show you that. But I know a lot of these cards have started to rise. Roads of the finals from the Europa League and from the Champions League. So I'm a bit skeptical. Do I want you to sell on the hype and take the profit if you have some of those cards? I mean, that's kind of up to you. If you just want to use this card because, you know, it's going to get upgraded and you want to have fun with a 91 Martial, then hold on to it. I think you can expect to wait a little bit for that upgrade. But if you're purely trying to make coins, the safe route here is to sell in the hype, because I just don't know how much hype there is for this type of card in this game when we have so many other French left wings like Kingsley, Coleman, Summer Heat that so many people have, you know, Griezmann team of the season card, all these other left wings that we now have in foot that are probably better and, you know, just better in FIFA than that Martial is. So that's just something to think about. But I also know the man you hype is real and it is big. So just be careful with the road to the final stuff. And especially if you have some road to the final cards for Champions League games coming up later this week, we'll talk more about these as we get closer. These guys have started to rise up as well, right? Debala was like 140, 150, even 130 before rewards last week. He's now 160, 170K. And I'm pretty sure I've seen this guy get closer to like 190 at some points as well. Conte, let me check where Conte is at, because technically this card is most likely not going to get upgraded unless, you know, unless Chelsea have some crazy, crazy comeback. This guy's probably not going to move too much in price just because he's not going to get upgraded anymore. So just kind of remember that with some of these cards that are on the market. They're, you know, they're live, but if their team is down 3-0 on aggregate, crazy things have happened. But it's not looking likely for some of those cards. But honestly, I think when the upgrades happen, you might see a bit of a drop on some cards since they've already ballooned up so much. And at the price points that they're at at this stage of the game, I feel like some of these cards might be a bit inflated. Just based off of how much their value is, depending on if they have a Tots card, if they don't, if they are really linkable, if they're really hyped up, if people want to try them out in their teams, if it makes an endgame squad, those are kind of all the things you have to look for with some of these road to the finals. And if they even have the possibility of going up after they do get an upgrade or if they're just going to go down from people that are buying them, trying to sell them and make profit. So that's kind of my feelings about road to the finals. Again, we'll talk about those more in the coming days. But I wanted to touch on that as we do have Europa League coming today. So this is the other thing that happened yesterday in FIFA Ultimate Team, EA with the worst edit job on a picture I've ever seen. EA Sports FIFA tweeted this out yesterday for the man of the match Brentford game in the EFL. This team, Fulham, is now headed up to the Premier League and they're giving him a man of the match card, 94 rated, 95, 92, 90, 92 and 93. They didn't have somebody on the sideline to prick too quickly. Give this man a card, print it up and give it to him. So they had to Photoshop one in here. And as you can tell, the Photoshop job is very, very poor. But I do think we're going to see this guy. It's not in the game yet. And I've been looking around because that's a pretty solid looking card, right? And a lot of times when we've had these, it's actually been an objective. A couple of times it's been an SBC. If you remember back to like Ryan Cessanon in FIFA 18 and got, I think it was Player of the Year. Now, technically, this is just a man of the match card. I don't know if that's a hero card, because that item that they have in the tweet there is a card design that we don't really have. But it's very similar to the hero card design like our main man, Akin Fenawa has. As of right now, there is no SBC or objective or anything in the game or that Brian left back card. But just be careful, because that is a possible content drop that we could see today at 6 p.m. UK. I don't even know who this guy is. Like, what is, what his rating is? I'm going to take a guess. Joe Brian. Oh yeah, this is him. GGs. So this guy is going to get an upgraded card today. And it's going to be a card that a lot of people might want to go after. So just keep your eyes out for that. That's a really end game looking card. GGs, the EA for acknowledging big time accomplishments, like that one right there. So that's kind of the FIFA 20 stuff. What could we get for content today? The 90 plus SBC might, I think expires today. So maybe we see a 90 plus SBC. Migaterian goes away. I was originally thinking about doing this card. I don't think I'm going to I'm going to pass on Migaterian, but I am going to do Valverde and I am going to do Sarabia at some point. I'm just holding on to hope that we get some sort of repeatable SBC. We've been crying out for it for days. EA Sports has heard our cries. Surely they have. So we'll see if they put anything out repeatable. Any tots repeatable 90 plus tots. That's of course still our hope for today. Possibly a summer showdown for Champions League. I know I've been saying this every day. I don't know why that content has not dropped yet, but it is what it is. Now let's move on to the big content and the big stuff that happened today in FIFA Ultimate Team, and that is the new gameplay features and gameplay updates for FIFA 21. So I want to talk about this because yes, I'm not that big of a gameplay guy. I don't play the game that much. I've got less than a thousand games. Actually, I'm almost up to a thousand games played on FIFA this year. I'm getting really close in August. A thousand games played, GGs. But I'm not a huge gameplay guy, right? I spend most of my time trading on the market, just analyzing the content in the game in that matter. But this is still important because the backbone of FIFA is the gameplay. This is what it all boils down to. Whether you're doing an SBC to try the card out, you know, you do an SBC because you want to use the player or you have it in your team and your team is used to play the game. FIFA gameplay is the backbone. This is why we care so much about it. This is why we're so critical of it at times. And it's always interesting when we see this new stuff every year, what they're adding to the game, what they've said is, hey, it's a new addition and, you know, everything that they do drop out. So there's multiple things this year that they have highlighted as their main points. And I'm going to quickly cover over a few of them today. I know you've heard a lot of stuff about this already. A lot of people have given their opinions. I'm going to keep it nice, short, sweet and pretty crisp, right? Agile dribbling, positioning personality, creative runs, natural collision system, fundamentals of football. So a lot of stuff that they're working on, just reading the headlines and reading through some of the stuff at a broad level is really just in the game, AI interaction with other AI interaction with your players. It's more about not adding a new feature like a new type of shot or a new type of way to do this or do that. There's a couple of things in here that are like that. But most of this is related to making the gameplay just feel better. And that's the mentality that I like. Now, is it going to, is it going to actually come to results on the pitch? Is it actually going to, you know, manifest itself in the game in a way that is fun that we like? We shall see. But I like the, just the way that this is going because they're brutally honest in some of these, in some of these videos and some of the stuff that they said, they're really honest. They said, Hey, we didn't do very well in this or Hey, we were trying to stop this in our game. And you know, they, in a couple of the sentences they had in here, they didn't bash their game. But they said, Hey, FIFA 20 was not very good at this. We want to make it better at FIFA 21. So this is also the first thing I'm going to say before I dive into this, the new stuff that they add to the game every single year, the new features, the new controls or whatever, it is always overpowered. So you're going to want to notice this stuff, you're going to want to read through it. And it's going to take a lot of practice at the beginning of the game, if you get the beta or the demo, you're going to want to start practicing the stuff. If you want to be an elite caliber player in FIFA, you're going to want to practice and practice and practice because there's new controls in this stuff that is very, very important to learn because it's going to be meta. Think about FIFA 18. The new stuff was the low driven, right? Low driven was the big thing that year, because we had the double tap B shot, right? And that finished move, that way of scoring goals was the most overpowered thing in FIFA 18 by far. Everybody scored low driven. FIFA 19, what happens? They come out with the move your keeper stuff, right? That was very OP. And I don't think there was anything about like, you know, the new skill moves, maybe the tornado was a new skill move and that was OP, right? So stuff like that is going to be OP. The new stuff is always more has a tendency to be more overpowered in the game. And this is one thing that I'm a bit worried about this agile dribbling. You know, this year, a lot of people in FIFA got really good with left stick dribbling because the game was so slow, a lot of constant twisting turning. And this is probably going to take it to another level of park the bus and FIFA 21. That's what I'm a bit scared about. But basically, to perform an agile dribble, as you can see down here, this is Hyunmin Sun, my guy dribbling with the ball, absolutely doing Ashley Young dirty in this clip, as you can see. But it's almost just like keeping the ball kind of between your feet, the agile dribbling holding the R1 or the RB and the Xbox controller, very precise, rapid touches. And of course, the quicker and the better agility and balance type of player you have, like a Ben Yetter, like a Neymar, like an Mbappe, the better they're going to be at making these dribble moves. So that's just kind of like an easy thing to understand.  I hope skill moves are very fluent, able to be chained, you know, a couple in a row. Because if you're a skiller on this game, if you're really good with skills and dribbling, you could have a massive advantage if you learn to do this very well in FIFA 21 contextual dribbling is enabled for certain positions to achieve more dynamic dribble regardless of the technique you're using. We've also improved player agility and animation transitions performing left stick dribbling and strafe dribbling using L1 as introduced last year. So strafe dribbling is kind of like when you're keeping your foot on the ball. If you guys ever use L1 or LB dribbling, it's kind of like you're keeping your foot almost on top of the ball. Honestly, it's used to kind of troll people most of the time. But that's kind of a fun method to use as well. And you know, the more the more nitty gritty and the more stuff that they add with this, the more interesting that's going to get now creative runs. This is something that's pretty cool. You can take control over the direction of the runs your teammates go your teammates make by flicking the right strict stick after triggering a run with L1 or LB. So when you make an L1 or LB pass, you can see there how this how Salah makes a pass and then he kind of flicks the stick in a downward motion and Salah makes the run downward. This is one of the things that I'm the most excited about for this game, because you can control the AI players to an extent and make the runs yourself. This opens up a whole new realm of creativity. This is something that I would get excited about, right? I would get very excited about this. And I think this is going to be another one of the very, very overpowered features in foot 20, right? Because if you're good at this and you know to drag the Salah in behind and it's going to position change him to that center back, which he's going to bring forward, you now have to make that tough decision to whether am I going to cover Salah's run or am I going to go to the ball? This is also going to encourage more parking the defense in the box because of course, if he has a CDM sitting down here at the box, it's going to be harder to make that run and the pass. So again, something that's from this year, it's going to transition over into next year, direct pass and go as well. I'm going to leave the link to all these pitch notes down in the description if you want to read it more yourself. And please feel free to comment as well on this video with your some of your thoughts. And then of course, you can do a decider teammates make the run by pass by immediately flicking the right stick in the desired direction. Okay, that was just what I was talking about right there. So the other one is a direct run or direct pass and go with five different players at the same time. And basically what that does is player lock pressing both sticks at the same time to lock your current player when an attack when you're locked to a player past the ball the CPU AI will then take control that on ball player, allowing yourself to move off the ball, move off the ball. Yes, that is correct. Move off the ball and ask for a pass back in a better position. So it's almost like the CPU takes control that player, you're on autopilot. And then you have control of your player kind of basically when you go to get that ball. That's going to be perfect for setting up first time shots and setting up like a fake shot in the box for a skill move. That's going to be a skill that is going to be very good to learn in FIFA 20. So the as I said here, there's a very limited time. So you're going to have to practice this. It's a very limited window when you can get that run off as well position personality. This is again more of an AI thing. I don't think this is going to make that much of a difference. This is just kind of some, you know, blah, blah, blah about defensive awareness and positioning, probably being more important statistics than ever this year. And when EA points something out like that, we kind of have to pay attention. So positioning and defensive awareness are going to be big this year for FIFA. And then this is one that I was kind of interested in as well, the attacking and positioning attribute impact, right? So if you have somebody who has 90 or better positioning, you know, if they have high positioning, they're going to stop with that backline, not find themselves off sides instead of a low position player who's going to kind of keep running kind of makes sense, right? But it's nice to see a graphic like this to see it like that. Passer readiness runs just the behavior like understanding when the the passer is ready to make a pass. And that timing can be put up there perfectly is interesting to read about as well, opening up space as well, you know, some of stuff in here. I find this clip kind of interesting because I can't stop this but as you watch the ball as this guy gets the ball, it goes through his foot, right? I kind of find that interesting. That's one of the things we always point out in FIFA. Watch this middle striker. The ball goes through his foot. If you want to pause the video really quick, right here, right about right now, the ball goes through his left foot before he makes that pass. So again, we're still going to have some of that visual glitch stuff in FIFA. That's hard to make that animation work to get that pass off quickly. But just something I saw and I wanted to point out to you guys, defending again, they're talking about defensive awareness with run tracking. You're going to have to be smart this year because of all the new attacking that you can, you know, put your own runs in and move your players off the ball. It's going to be very, very important smoother encounters is interesting. You know, I feel like this is going to cause FIFA 20 as you can see right here, the difference between 20 and 21. You can see how there's kind of like a jumbled mess. Players were falling over everywhere and it was just like a whole big mess, right? Now, FIFA 21, what you see is that defender that came in went to come clear the ball. Instead of falling over here like he did, this defender now is able to recover very quickly and clear that ball.  The only issue I have with this is a player might feel like they're getting a speed boost and it might look a bit unrealistic in some circumstances in this game because of this new update right there. Another idea here with that enhanced CPU AI and competitor mode. They did something with headers as well. And so supposedly FIFA 20, we made a decision to buff or to nerf heading. And now they're basically buffing it this year with manual heading to enable this option. A player will set the assisted headers option to off as detailed later. I'm not going to read too much about this, but make sure you read up on some of this stuff. They talk about defending a bit more, blocking, passing. This is a bit of a problem. They're basically adding blocks. There are more block shots in FIFA, so you're going to have to basically dribble the ball into the goal if you want to score. Supposedly they are making passing better as well. There's a new crossing trajectory. So read up on this as well if you want to learn those. And then animation fluidity.  That's kind of cool. You can cancel the foul advantage if you want to instant hard tackles, set up touch 2.0, improve finesse shots. We'd love to see that. And then the super cancel mechanics. This is a big one as well. If you're a skiller, you can cancel skill moves right here. If you guys have not seen any of these tweets right here, this is from Dr. Poplove or Poplove on Twitter. He actually goes through a really good amount of stuff right here. This is a guy that works at EA. So it's at Dr. Poplove on Twitter. You want to check out a couple of these tweets. He goes into a little bit more description and detail on some of those skill move cancels, the instant hard tackles, and some of the actual like button press controls for FIFA 21 and the new updates and stuff like that. So that was a lot of stuff to talk about. I appreciate you guys hanging in it today. I talked for a while, but I'll leave the link to those tweets and to the pitch notes down below in the description. So make sure you check those out. Drop in the comments what you think. Some people are really excited. Some people are like, oh man, it's the same old BS from EA every year. You know what? I'll remain cautiously optimistic until we see a game, until we see the beta, until we see the demo and stuff like that. Hope you guys enjoyed the video today. Smash the thumbs up if you did. Comment below if you have any more questions and subscribe to the channel if you're new. It's been Nate, The Foot Accountant. Catch you guys later. Peace out.


So you just walked up a really steep side of a volcano. What volcano? This volcano. That's a volcano? Yeah, right over there is the center of the volcano, and we're sitting on top of cinders that were thrown out of the volcano. What's a cinder? These are cinders. What are they? Okay. Imagine this is the bottom of the volcano, stuff thrown out of the center of the volcano, and it starts to build up around the side. So eventually, when that stuff's thrown up, thrown out, you get a steep-sided volcano. It's just layer upon layer upon layer upon layer upon layer of stuff that's ejected out of the volcano, falling down on top of each other. How far does cinder travel? Well, we're sitting about a quarter mile from the center of the volcano, so these cinders traveled about a quarter mile. They can go further than that a mile. So if this is cinder, it's so small, I mean, are they all this small?  But I still don't get it, I mean, where else are we going to see this in the real world? Have you ever made spaghetti? Yeah. Alright, well think of a pot of spaghetti sauce, you've got the heat cranked up real high and the sauce starts boiling, you get bubbles, and then next thing you know you've got sputter and spaghetti sauce, you've got spatters of sauce all over your kitchen stove. And that's exactly what's going on over here. Yeah, why don't we go take a look? Okay. Go down the crater.