Hey, thanks everybody for being here. Really excited to be talking with you all about something that I am super passionate about and love spending time talking with folks and working with my team on. We're gonna be talking about layout paragraphs. It's a module on Drupal.org. By the end of this session, you should have everything you need to decide if layout paragraphs is right for your next project. And if you decide it is right for your next project, hopefully everything you need to get started working with it. My name is Justin. It's a little bit about me real quick. I'm the founder and CEO at Atten Design Group. We're a strategy, design, development company. We work with mission-driven organizations all over the world to help plan, design, build, support, maintain, and grow digital platforms, products, websites, web applications. Most of our clients are in the.org.gov and .edu domains. Super excited to be here this week. It's awesome to be back at DrupalCon. We are on the exhibit floor. Come see us. We're at booth 103. We're doing sketchbooks again. The Portland edition looks really cool. So come pick one up. For those of you all who haven't had one of our sketchbooks, we've been doing that for, yeah, there's one. Doing that for a decade or more, which has been fun. We're also giving away an iPad and ear pods for folks who wanna share an email address. Again, really excited to be here. So come hang out. We'd also love to continue the conversation or anything we're talking about today and anything else web and Drupal related. Before I get started, I just wanna talk a little bit about why this subject is so interesting to me and kind of what got us here. I started Atten back in 2000 directly out of college almost 22 years ago. We actually turned 22 in just a couple weeks. So that's a pretty exciting milestone. We've been using Drupal for most of those years since 2006. That's 16 years ago. That was version 4.6. Yeah, seriously. As a lot of y'all know, a ton has changed with the product since way back then. There are three things I wanna touch on that I think haven't changed that are still important today. And just as important, just as big a draw to Drupal today as it were back then. Keep this real quick. The first is just the incredible community, of course, behind Drupal. It is so awesome and just such an honor to still be involved in the Drupal community. Again, 16 years later, it's just as exciting today as it was back then. This community is huge and very diverse and doing very interesting things. And I think it's exactly that that creates this second thing that hasn't changed. And that's that Drupal is really good at doing a lot of different things for a lot of different people. It's incredibly flexible, really capable. And then the third thing that I think hasn't changed about Drupal is that while it's flexible, while it's incredibly powerful, Drupal is still in the end all about content. Drupal's a content management system. For us, this is critical. For our clients, content and mission are often one and the same. For us to help be force multipliers, for our clients and drive their mission forward, we've gotta get the content right. Drupal does a really good job of that. I think in my view, there's an important but really simple reason that Drupal is so good at working with content. That is the structured content model. Structured content according to Wikipedia is described very simply as information or content that is organized in a predictable way. Wikipedia goes on to say often accompanied by metadata, which is what drives this idea of structured content plus metadata is what drives in my view so many of the systems that we work with in Drupal every day. So it makes migrations possible, the views module possible, content types, fields, create once, publish everywhere, headless, decouple applications, all that's driven by this very simple idea of structured content. I think something that has happened along with structured content and when you combine structured content with the sheer flexibility in Drupal, it creates a lot of complexity. And that complexity has spilled into the authoring experience, into the interfaces that authors actually use. And it's created what I think is a bit of an irony that while Drupal is so good at working with content, it can be so difficult for content people to work with Drupal. And that's something that we've been focusing a lot on at my agency. I know a lot of other folks are working on this as well and there's a lot of work, a lot of really interesting work happening in that authoring experience space. But that's the framework that I kind of want to speak from today specifically talking about this module layout paragraphs as a really easy to use drag and drop authoring tool that again works within this framework of structured content. So what we will cover specifically, we'll start real simply with what is layout paragraphs. Just for a quick frame of reference, how many folks here have used layout paragraphs? That's, wow, that's really awesome. Actually, how many folks have used paragraphs? Cool, okay, great. So this will be very applicable. So first, what is layout paragraphs? We'll get into features and kind of what it is, what it does. Second, it is a Drupal module. I want to talk a little bit about current status and adoption, so who's using it and how's it doing? Third, we'll do a quick demo of layout paragraphs right out of the box with the Drupal 9 site that I installed on my local machine last week. It'll be a live demo, I'm sure it'll go great. Y'all don't seem so convinced. Then I'm gonna demo a customized version of layout paragraphs. I'll get into this a little more in a minute, but something that was real important to us is that this framework is really customizable and we'll look at some of those customizations in the setting of our own agency website and kind of take a look at what it looks like to create content there and give you a sense for what's possible. The demo shouldn't take too long, there should be plenty of time for questions and discussion, so really looking forward to answering whatever questions come up. Really quick, some pre-wreck concepts that would be helpful. We've already kind of touched on this a second ago. One, of course, experience using Drupal. We're not gonna get too much into the basics of setting Drupal off, et cetera. Experience with a paragraph module is helpful for some of these concepts. Looks like almost everyone here has worked with a paragraph module, so that's great. Content types and fields, experience configuring and working with those is a plus. And finally, working with users' roles and permissions is helpful, although to be honest, I don't think I'm gonna get much into the user and permissions side of layout paragraphs. All right, let's talk a little bit about what layout paragraphs is. Again, first and foremost, it is a Drupal module, you can just go download it, you can download it right now. It provides a low or no-code drag-and-drop content authoring experience built on top of paragraphs, on top of the paragraphs module. It was very important to us as we started working on this approach and developing layout paragraphs that we did not sacrifice the whole idea of structured content, and it still works within the idea of the structured content model. It does that by leveraging paragraphs, which is essentially a collection of fields that can be attached to an entity. Along with that, we wanted to leverage familiar workflow, configuration with things like fields, field widgets, field formatters, all of these conventions that we're all familiar with in Drupal, we wanted a tool that does not require migrations. I hesitate to say it, but you can just turn it on and it works, I think, we'll see. And then, we wanted something that provides APIs for further improving the authoring experience. We'll get into a little bit of that when I show some of the stuff on our agency site, kind of what that looks like. I'm gonna ask one more question. How many folks here have seen me do a demo of this already? Okay, cool. This is gonna be repeat for a lot of you. Cool, so current status and adoption.  Well, first of all, again, it's a module. Set it like 100 times. Drupal.org slash project slash layout underscore paragraphs. Couple releases. I think the 1x release is still the most widely used in production right now. It just has the biggest user base. 2x is a complete rewrite. We're up to beta nine. There is a stable release eminent. To be honest, I've been saying that for a little while now. Some of that is pinned, we're a client services agency and some of that is pinned to client work for us. And there are a few APIs that we're still kind of tweaking just a little bit as we near launch for some client projects. But in our view, 2x is completely ready for production. It is superior to the 1x branch in many ways. One of them is just automated test coverage. So for 1x, we're relying on bug reports and on incident reports, which have slowed way down. For 2x, virtually all functionality available in the module has automated tests with it that ship every time we push code. All new features ship with new tests. All bug fixes actually ship with new tests. So a lot of really good test coverage, which is definitely a confidence boost. Usage continues to grow. We just bumped up over 3,000 installs according to Drupal.org. These stats are always a little weird but provide definitely a good benchmark for how this has grown over the last year and a half. Really cool to see all the interest in this module. I mean, really awesome to have such a full room today and just see all the interest for this. So really great stuff. Again, available on Drupal.org for download. All right, that's the background. Let's jump into a simple demo. So I'm gonna be talking a lot about case studies. I'm gonna start with some really basic stuff, just like a basic article page. Look at something that we've all seen a hundred times in Drupal. The premise is pretty simple. What if we want to tell the story of some work we did for a client in the form of a case study? Straight out of the box with Drupal, we can do something with an image field, a content field. If I go into the edit form, this is super straightforward. All of this speaks in my mind directly back to the idea that content should be structured. It is designed ahead of time. We can predict the structure of the content. It has a body field, an image field. We could associate tags, title, et cetera. I mean, this, of course, content type, which comes directly out of the box when you install Drupal, is incredibly predictable. Definitely checks that box. Things get a little more interesting, of course, if I want to tell a deeper story about the work that we did with this client. And maybe we want to talk about key challenges that we face in the project, key solutions, maybe add a slideshow, sometimes a good idea, sometimes not, that talks again in a deeper way about how we worked with this client. And one thing I could certainly do is just start adding fields to the interface. I could add key problems, solutions, et cetera. But what happens if, for one project, I want the slideshow to be above key challenges, key solutions, or another project, it's more relevant to use a different set of components. And this is the problem space where paragraphs is really good, where paragraphs really shine. And when we think about content from an atomic design perspective, and maybe we think of these fields as atoms and the whole piece of content as the organism, paragraphs provide this intermediate level of like the molecule where we can build up molecules from these smaller parts. So if I go back to my managed content screen, we're gonna look at a slightly different version, go over to the basic page. And with the basic page, I've just removed the content field and instead put in place a paragraphs reference field, which we'll take a look at here in a second. Now I have a main image, some copy, some more copy about the key challenges, key solutions, a slideshow that I can click through. Obviously all of this would need some custom styling and a lot of CSS work to really tell the story well, but we can certainly see the content components here for a more rich, more interesting case study about the work for this client. You can imagine the whole idea behind layout paragraphs, as we get into this, is to design a system that works for content people, that works for marketers, that works for editorial staff. And for us, that's often telling the story of how we work with clients. For others, it will be other things. It will be other types of, again, more rich articles built up of these components. Okay, so let's take a look at the edit screen. This hopefully is looking at just a paragraphs. So paragraphs just had a new release and they now have the, what was the experimental widget is now stable, which is awesome to see. So if we scroll down through here, what we were just looking at, this is the edit screen for the content and produce the content that we were just looking at. So we can see this image, first block of text, second block of text, third, another image, another image, scroll down the page. If I wanna rearrange these things, I can grab them and drag them up. And it works. It can be a little jumpy, just relying on some of the table drag functionality. I know there are modules that kind of simplify some of these interactions, but that's kind of the idea. Is it again, the content is built up of these components, which is awesome and has been, I mean, the usage for paragraphs is just huge. Everyone, essentially everyone has used work with paragraphs in the Drupal space. Okay, what if though I wanna even, I want even more control over presentation for these components and what if I wanna do something like create a column structure where maybe some of this text is in a left column, some is in a right, quickly move items up and down and further, if I'm in the edit screen, sometimes it can be a little challenging to keep track of where I am in the overall editing experience compared to what's in the front end. And there's some tools around that and paragraphs that again have come a long ways. We can collapse all of these and see kind of an overview, but all of this becomes a little bit challenging and very abstract. It's expecting a lot from content folks. In my view, the interface can come to expect a lot from content folks, especially as the size of the content really grows. That's where layout paragraphs is particularly powerful. It is installed on this site and we'll just take a quick look at how that works. So layout paragraphs again works within some of the typical Drupal constructs, fields, field formatters, field widgets, et cetera. If I go into the structure section, admin structure, go to content types, over to my basic page, manage form display. And with layout paragraphs enabled, I have a field widget called layout paragraphs. Simply switch to layout paragraphs for the field widget. Once you've selected layout paragraphs as your field widget, you need to go over to manage display and also choose layout paragraphs as the display. And that just will correctly render your layouts that you're creating. Go back to the content page. Back to my basic page. Okay, and if we go back to the edit page, we remember what we were looking at just a second ago with the typical paragraphs interface. Now this has been taken over by layout paragraphs. And we can see that when we hit the edit screen, we're seeing more or less exactly in the edit screen what we would see on the view tab. So that that kind of abstract separation between what we're working on and what the end user is seeing is no longer there. We're working directly with the content as it's presented. Each component has a set of controls ranging from drag controls, which does have mouse movements, which are keyboard, which I get into in a second. So drag controls, I can drag this item around up and down to just bump it up and down with the mouse. Edit to drill into and edit the paragraph for the component. Duplicate, which is particularly interesting. I'll do it here, but I'll do it again here in a minute. It's particularly interesting once you have nested items and are working with more complex layouts. And then of course finally delete to delete a component. We can easily drag these items around, but where layout paragraphs is what it's really intended to do of course is combine layout with paragraphs. And for that we have this special dedicated paragraph type called a section that stores the section information. And we'll look at how this works here in a second as well. All you have to do is create a new paragraph type and basically turn it on as a layout paragraph and I'll show exactly how to do that. But if we add a new section, we can choose how many columns we want for our section, choose a three column layout. It's immediately dropped into the interface. I'm gonna grab this paragraph and set it up there and put this one on the left and this one in the center and this one off to the right. And that at least gives you a sense for the flexibility and the control over layout when it comes to working with layout paragraphs. We can continue, of course, we can continue this down the page. This is where that clone option gets a little more interesting also. If I clone an entire section, it clones the children of that section as well. I'll just get that out of there. And that's really very simply what layout paragraphs is. It combines layout with paragraphs and Drupal for much more control and again eliminates that kind of that abstract jump between what the editing experience is versus the view experience. To get this running, all one needs is paragraphs installed and then layout paragraphs installed. And if you install layout paragraphs using Composer, it, of course, will download paragraphs for you as well. Once you have installed layout paragraphs, you will want to create a new paragraph type that is responsible for storing the layout data for your layouts, the section data for your layout. So if I go into paragraph types, I'm gonna take a look at just how that works. I'll start by finding section, so we have the section paragraph. There's nothing unusual about this paragraph type. This did not come with the module. This is a paragraph that I created after the module was installed. You can call it whatever you want. It doesn't have to be called section. You could call it layout. You could call it columns. You can call it container. I mean, really, you could call it whatever you want. Machine name as well, none of that matters. When you create this new paragraph type that you want to serve as the layout container for your project, you would simply come down under behaviors and check layout paragraphs to enable the layout paragraphs behavior. Once the layout paragraphs behavior is enabled, you'll have the ability to choose what layouts you want to support. These layouts are provided with Drupal Core. The layout API in Drupal Core allows you to create your own layouts, associate those layouts with behaviors through layout plugins, adding custom styles, custom form elements, things like that, and of course, attach styles, CSS, JavaScript behavior, et cetera. Folks often ask, is this responsive or how does this work with responsive? How does it work with my breakpoints? That's completely up to the designer of the layout. It's up to the designer and developer of the layout. So that's totally up to the theme or totally up to what ships and core. When we use these two columns, three column, et cetera, the CSS coming from Drupal Core for those layouts is what's applied. That's how to turn it on. I mean, this section paragraph is just another paragraph type. You can add fields if you want. If it made sense in your particular instance to have a section title or any other field, all of that would just work. And then once, actually, once you add fields under the manage field section, or maybe it's the manage display section, which would make more sense, you can rearrange, once you've added fields, you can rearrange where the layout would be rendered relative to the other fields that are on the page. And of course, all that can be managed through APIs as well. Let's take a look at some of the options that come just by default out of layout paragraphs. So if I go back into my, where am I at here, content types and into basic page, manage the form display, take a look at layout paragraphs, there are a few options. One, you can change the view mode that you wanna render paragraphs in the edit screen. So if you had a different, if you had like an edit version, an edit screen version, or preview version, or what have you, or rather view mode for paragraphs, you can select that here, and that way maybe your, the admin version, the edit version has like a label for what the paragraph is, or has some other distinctive piece that's just to that view mode. You can also nest layouts with layout paragraphs. That is, that's a feature that is, I think unique to layout paragraphs when thinking about other layout management systems in Drupal, so we can say, let's support up to two levels deep. You can also choose whether or not you wanna require paragraphs to be added within a section first. So in some contexts, we only want sections to be at the main level, and all paragraphs have gotta go into a section. In other contexts, we don't care. It's, we can use layout paragraphs to manage a flat list, and if they wanna have, you know, a paragraph, a normal paragraph followed by a section, totally fine. We can choose that right here in the interface. I'll check that option just so we can see what that looks like. That does get a little weird when there's already content, as we'll see here in a second. So if I go back to the edit screen, oh, and especially since I didn't save my changes before, now at the main level, I no longer have the option, I no longer have that plus button. I just have the option to add a section because I checked that toggle. When I hit add section, it skips the whole selected component thing, goes right to the section form. Choose how many columns I want, throw, actually I'll just leave that out for now. It does not mess with the existing content, so even though I now say sections are required, the content that wasn't in sections before, not touched. I'm gonna add another section inside this section. This is gonna get a little weird. And then let's do another section inside that section. It's a good idea. It's a good idea. And then, so we're two levels deep, y'all are following, we're two levels deep, and once we get two levels deep, we can't add any more sections because of that setting. We had to have a limit, I guess. Well, it's a dropdown, so it made some set of limits. You can go 10 levels deep. I don't think we've ever gone more than two levels deep. I don't think we've ever gone more than one level deep, actually, but there is that possibility. And again, there's no, with the underlying data model, and with the way this works, there's no reason, there's no technical reason you couldn't. It's really totally up to what is the design of the interface you're trying to create? What's the experience that you're trying to create? And usually that would not be that many levels deep, but we can see kind of what that looks like to then move this text around. All right, one more thing I wanna look at before we get into a more customized version, I think just one more thing. If I go back to structure, let me save this first. A little scared with the back end. Okay, great, so we have, yeah, this now crazy nested structure. One thing that I think is really cool about layout paragraphs, if we go back to our content types basic page and now manage display, as I said earlier, you have to choose layout paragraphs for it to correctly render the display. So once you've put everything into layouts and dragged everything around, I mean, if you're just using layout paragraphs to manage a flat list of paragraphs, there's still some benefits there because just with the drag and drop controls, I think so, depending on the use case. Then I guess rendered entity would work, but if you're using the layout stuff at all, you'd want this to be layout paragraphs, you'd want the format to be layout paragraphs. We also have this layout paragraphs builder, which is an experimental field formatter. If I choose that and hit save, go back to content again. And this really gets to kind of the heart of what we were trying to build is this idea of contextual editing, being able to really easily, so hitting the view tab and then hitting content. And now I'm editing this content the same way I was on the edit screen, but in the front end, on the front end of the site. And that gets really powerful. That means that whatever the theme is that's running the front end of your site is what your users are editing in. Very powerful, also can require a lot of work because now, I mean, I don't know, it's the same for y'all. For us, often in projects, the admin forms are minimally addressed or not addressed at all when we're doing public facing theming. When we're doing custom theme work, we're usually not styling the admin forms. Now we'd want to take that into consideration because when you hit the edit tab, when you're on the front end, you're looking at that in that front end theme. Okay, that is layout paragraphs in a quick nutshell. Let me take actually a look at, let's look, there are a couple of submodules that ship with layout paragraphs that I'll just talk about really briefly. So there's the layout paragraphs library module. That is an integration module that makes layout paragraphs work with the paragraphs library module. I don't know how many folks have used that before, but layout paragraphs library allows you to create reusable paragraphs. So you can create a library of paragraph or a library of components. This creates integration between layout paragraphs and that, so it just works. You'll get like an add to library button across the bottom of your forms. And then layout paragraphs permissions adds some permission levels for saying what roles can do things like move paragraphs around, edit paragraphs, use those controls that are on the, for each paragraph. Something else about the layout paragraphs permissions module for developers in the room, it does also provide a really nice framework for working with permissions. So you can get a sense for how you might create permissions to let some folks do some things and not let other folks do other things. All right, so that's, I think, layout paragraphs. Again, out of the box on a simple D9 site. Let's kick this over to something a little bit more customized. Looks like a lot of folks have seen this demo before. I'm gonna be doing the same thing. We're gonna take a look at a case study again. This is our agency's website. This is a local version of our agency's website. I have been doing this demo in the live version, but I'm not trusting the internet today. So I'm again just gonna use case studies as an example. We'll go over to the admin content screen. Hope that loads. And some loading music. Add new content. We'll start the case study. Give this a title. Talk about some of our work with the city of Boulder. I'm gonna skip. This is just, hopefully, looks somewhat familiar to everyone, just a typical Drupal form. One thing that is nice about layout paragraphs. I mean, because it is just attached to fields and works within the whole field, field format, or field widget paradigm, it works with things like moderation and other features of Drupal. So I'm gonna leave this as an idea, hit save. And then this view tab, again, really speaks to kind of the direction we wanted to see this go and the kind of control that we wanted to provide authors. So now that I've created content, I have the simple message that says you haven't actually added any content. Little confusing to have created content and see you haven't created content yet. This title is completely customizable. It's just the title of the field. And the title of the field is content. So that would be whatever the title is. And it's driven by a template. So if you wanted to change this piece entirely, you certainly can. Start creating content. We are using that setting to restrict what kind of content can be added. You have to start with a section. I'll add a section. We'll start with just a simple one column section. Let's see here. Add Masthead, which is maybe the most complex type of field, really small. Okay, great. Let's see here. Limit this. This interacts with Media Library or integrates with Media Library rather. Grab a couple of images. No, I don't want those two. I want these two hit place. I prefer the order of those like that. Hit save. And it drops that content immediately into the screen. Again, just being a really clear reflection of what we're trying to create. With this version, the customizations that we have added on top of Layout Paragraphs, we have a custom style plugin. And this is actually provided by another Drupal module called Style Options that provides very easy to maintain, a centralized YAML file for maintaining style options across an entire site. So we have this suite of style options, which are essentially CSS and other attribute decorators for HTML tags. I'm gonna change this to light on dark, change the background color, hit save. And again, we immediately see those changes right in front of us in the interface here. We'll add another section. Let's go with three column. I'm gonna bounce over here and copy some text. Again, one of the goals of Layout Paragraphs was to provide APIs for continuing to refine the authoring experience. That's something that we're seeing here with this edit and place capability. This will soon be a module on Drupal.org as well. This is a separate module that works specifically with Layout Paragraphs to provide this editing and place experience, where when you add a text component, it just immediately drops that component into the screen. We'll go grab another paragraph of text here. Go back to our case study, drop that in, go back and add one more. Great, we can see how that's working. Another feature that is unique, as far as I know, to Layout Paragraphs, again, as far as layout management tools are concerned, and Drupal is the ability to change columns once you've added a section, so you don't have to delete your section and start over. You can go back in.  The content that is in the third column would be lost or we have to do something with it, so this little interface just says what do you wanna do with that content? And I'm gonna put it in the secondary column. So it's now added that content that used to be out on the right into the second column. Let's see, I'm gonna change just a couple more styles here and then add one more section. I think that'll about wrap it up. Let's do, so another thing that's provided by style options is the ability to choose styles specific to each region. So I'm gonna switch over to the primary region and choose padded for the primary region, give it a background color, and again we can see those changes immediately take effect right here. Add one more section here, do a one column, give this a background color. I should have done that while it was still open. And let's add some text in here. This goes back to our wanting to have this key challenges piece. And then just depending on the project, I mean for some folks it might make sense to have a paragraph type called key challenges. Just depending on how structured you want your content to be, versus how kind of atomic or granular just up to the design, you know each the use case of the particular project. Let's give this an actual list style. Do a little bit of adding here on the screen. Again we have this custom styles library. So if I go into my component now hit styles, choose horizontal list, we can see those changes again immediately take effect. And those are all just custom styles that we've created for this project. And that's attaching CSS that a theme or can decide exactly what is right for their project. I said I was only going to do one more section. I'm going to do one more, I promise that's it. I'm going to do a three column real quick. Oh once again I should have stayed in there. I'm going to change the background color. Blue, light on dark, grab some more text. Pretty bold statement. Then one thing that's really nice working within this framework is that as you're adding these components again you're not seeing an abstracted representation of say a slideshow but you're able to actually view the slideshow as you're building it. So if I grab a handful of images and place them into the interface again it just drops them immediately into the interface. I could go in if I wanted to and as I said before you can change these column structures later. So if I decided that that center column should actually be wider, I'll go to this other version, hit save and that becomes a little wider looking just a little bit nicer. Great. That's most of what I have to show y'all today. Let me just quickly go back to you. I'm going to leave this and not save it. I'm going to take a look just really quick at a fully developed case study and just look at kind of what the workflow is like to hit edit, scroll down the page and again one of the big values in this is an interface without that strong layer of abstraction like the fact that you can see really have a clear representation of what you're working on. So if we hit edit content on a local version. Yeah so as I scroll down the page all of this is just completely editable and really easy to keep track of exactly what I'm doing. You know as I'm making edits it's making Ajax calls to save these into the temp store just kind of underneath how this is working can drag these items around. There are keyboard controls as I said before so if I click on that drag handle I can move this around with the keyboard. That's a huge convenience just for moving components up and down a large screen. It also was built with accessibility in mind and while we're still working on kind of the full a full accessibility review for this module there are tab controls for everything once I get down here so you can see the controls that are highlighted.  Yeah so and then once I get to the drag handles it says drag or click if I press enter I can now move this item around. Again just showing some drag controls there and again just like a really clear representation in the front end of what you're editing. That is everything I have to demo. I think we've got a few minutes still plenty of time actually for questions. We bounce back to this deck real quick. I should say as I said earlier we are giving away an iPad and AirPods if you guys are into QR codes and want to grab that while we're talking that's great and otherwise that's it as far as what I have to demo and I'd love to hear any questions. Here I saw that's a great question so I think what you're asking is are the permissions controls specific to layout paragraphs is that right and specific to the columns available in layout paragraphs? Yeah yeah yeah great question. Yes there's a few ways to do that. One is there is a underlying API for just working with permissions and again that permission sub module that ships with layout paragraphs would be a great place to start so copy that and just kind of dig into the code there and you can there are not permissions specific to what you're describing but you can certainly build on top of that to enable that in your context that's kind of part one. Part two is you can define different types of sections so we looked at that earlier on like when you create a section paragraph type the only thing that makes that a section paragraph type is that you checked the layout paragraphs behavior so you could have three or four I mean as many as you want different sections manage those with permissions and have each section type mapped to for those section types only enable the layouts you want and that's another way that you could get that control. Also because it works with paragraphs and with fields you can have there's a limit on the number of fields you could have even on a single content type and then manage permissions that way as well we often do like a hero image field still manage with layout paragraphs just for consistency sake but it only allows one component type and then we'll do the content field down below if that makes sense it gives a lot of that control for permissions. Does that answer your question? Great, thanks. Who else? Right here. Great question. So that works with CK Editor 5 or for right now it's a custom module of ours. It's a part of a product called Mercury that we've been working on for a while. It will be released soon. Mercury will be released soon but the components of Mercury will also be released and that's one that just hasn't been released yet and the only reason is it's just not quite ready for public, for broad consumption and broad support but it is running on CK Editor 5 and 4 similar to QuickEdit except that the challenge with QuickEdit is QuickEdit saves the content to the database right then and there. We need to save content to that temp store to the layout paragraphs foundation. So does that make sense? Great. Here, yeah. Yeah, so again kind of a multi-party answer great question something that we are actively working on right now that will probably be a separate module not even a submodule. I feel like it's a different enough that kind of needs its own maintenance trajectory and its own issue queue. There is an API for doing that and that the list of components that we saw there's an event that gets broadcast kind of under the hood what's happening is there's an event that's dispatched you can capture that event or you can listen to that event restrict that list down to whatever you want to. There's APIs, there's rather JavaScript APIs doing the same thing where you can write code that says okay, you cannot drag this kind of paragraph into this kind of container. You would have to write that code. The simplest way to do that without writing code right now would be to have again two different fields where one's collection of layout types and paragraphs is available in one and another is available in the other which isn't, we'll serve some use cases but that restrictions problem is something that we're working on, there will be a module for that soon and there actually is a module for the 1x version if I remember correctly that does just that and to be honest I haven't played much with it I'm not sure how it works. Who else? Down here. Yes, so the trick is that it will use whatever you have set as the backend theme for your site. So if you've done a bunch of customization to the paragraph template for the front of your site and you haven't done any of that and whatever you're using as your admin theme it's going to show that paragraph, that component just using those default styles, the default template from the backend theme. There's a lot of different ways you can customize it you could write a custom module and ship the code in a module you could write a custom admin theme that descends from or that inherits your, uses that your other theme as a base theme there's a few ways around that but no basically when you hit edit on that paragraph you're gonna see the edit form for the paragraph so however complicated it is that's what you're gonna see and then yeah when you hit save and it renders it it'll just render it using whatever template is in the theme you're looking at right there. So that whole problem of trying to pull in other styles or I mean that's just kind of outside of the scope of layout paragraphs, does that make sense? Great, yeah, yep. Yeah, I'm glad you're asking that. I think this is a really important point. No it is just a flat list. So the section is referenced the same way that whatever paragraph precedes it and whatever paragraph comes after it and it's actually like the underlying structure is very flat so you have the paragraph above it then the section would be the next thing referenced the first paragraph in that section would be the next thing referenced the next one would be the next reference if the next one's a section that's the next one in the list and the reason for that I mean the working with nested paragraphs gets one insanely complicated from a editorial perspective and was the whole thing we wanted to get away from that's what we were largely doing and just felt like this is not a drag and drop a real drag and drop experience for our clients but the other piece is the performance piece you know with that's I mean entity references are totally worth it but a little expensive anyways from a performance perspective they're worth it my view goes back to that whole structured content idea once you start nesting entities especially if you're nesting them just to have a layout container just as from you know we really wanted to do away with that yeah great question we use both in a lot of our projects for us this is an editorial tool it's a tool for content editors for editorial staff and for marketers and we use layout builder as more of a site builder tool by designer I mean the design of each is really different too they use some of the same systems so it can be a little complicated to explain but this is managing paragraphs which are typed in a completely different way like it you design the paragraph first you just say you say what fields are available in your paragraph you then say what paragraphs can be attached to the content that you're concerned with the content type whereas layout builder by default is a very powerful drag and drop interface for all blocks in the Drupal system it's a way to access all blocks in the Drupal system and a replacement I mean it's not just this but a replacement for like the blocks admin page not just that by a long shot but we use layout builder in most of our projects we use layout paragraphs in most of our projects also layout paragraphs would take over kind of the content area and we use layout builder for what's around it who was well go yeah please go ahead that's the difference for us yeah and I know there are a lot of folks who have implemented layout builder for their content editors and I mean it can be a very powerful tool for that use case you know this the whole goal for layout paragraphs was to make it easy for content editors to make it easy for people who work with content we wanted something you can turn on now I can drag paragraphs around I can see what I'm working on it's very easy to use layout builder is so powerful there's a lot of complexity that comes with it and you know a lot of the work in implementing layout builder is trying to reign that back in trying to simplify that at least in our experience the short answer is no not right now so working on templates with layout paragraphs is something that is kind of is in the it's next or it's coming soon it will be a separate module and it's you know we're trying to figure that out as well honestly that's something that layout builder is really good at if you guys worked with layout builder like layout builder you can take over a node screen say where everything goes and then you can break out of that on a case by case basis layout paragraphs is much more for free form content that varies widely from one or you know might vary widely from one section to the next or doesn't need those kind of pre-built templated components I mean we sometimes use like the replicate module to just to clone something and that's kind of a a simple approach to templating and I think when we do get to templates there'll be something like that you where there's like a exactly under the hood that's what it'll be which is a very different model than layout builder yeah great over here it inherits everything so we made the decision to support for better or worse synchronous and asynchronous translation so you can there are a couple different ways that can be configured one is that it makes a complete copy of everything and you can only translate each individual paragraph the other would be you know for each language you basically get a different version of that content and you can completely customize it to that language we a lot of our clients translation is a big deal and it seemed important to support both so great yeah yeah great question pretty well yeah yeah so we use a block reference field from a paragraph and so we'll create like a web form expose it as a block I mean there's a few whoopsie jump through just like Drupal but we'll create a web form expose it as a block do a block reference field and then drag that around there was a problem for a little while one thing that's really tricky is when you render a form in Drupal it wants to run that form as a form with all the like form submit you know all the behavior attached to that form so there was there's a weird work around there was a weird work around in the module to make to kind of strip all that out of the form so it works great um if you run the issues though open something in the issue queue please who else I know yeah oh that's a great question again I think well so it uses paragraphs which works with the search API well so cert the content that is sent to the search API would include the paragraphs content and you should be able to tune that the same way you turn any other content within Drupal scoring the various like paragraph types fields et cetera you can say um it's been a little while since I worked with the search API but you should be able to say what of those paragraphs is sent with the containing node to the search API to be indexed so that's that's again why we wanted to create something that you know worked well with existing systems and yet at the end of the day this is just it just creates like a visual layer on top of something that already exists rather than creating a whole different API or subsystem great question oh that's a great question too you get information from so we actually just started a project where we're doing this there are other folks it's been really fun to be involved in this and kind of see where other people are taking it I know there are other folks in the community um who have already tackled this problem um or or you know been working on this challenge the paragraphs so it's just used the storage is in the paragraph behavior it's stored as serialized array structures basically yeah serialized object no I guess it's an array structure that will come out as a field in the json API and then you can structure that however you want to so that ships you know the information at the paragraph level the pair a paragraph will say which paragraph is its parent via the its uuid um and what region it belongs to in that parent so you can parse that however you want to in your you know headless app and uh present the content however you want I don't think so but tell me a little bit more in what way oh great question yeah so yeah there's a couple ways you can handle it um one I mean the short answer is no I have not run into a problem with that there are a couple ways I've gone about solving that kind of thing um one would be and actually I'm not sure so one would be to just make sure that you have sufficient fields or metadata really just fields associated with your content to drive that view so even though I'm building most of the you know the the view tab the what the client what the end user actually sees our experience with the content I also have fields for primary image or for you know teaser image for title for description of the project which is used to drive something like this which will be more traditional view although I think we're actually using layout paragraphs to move these items around but they are teasers that we're moving around that ever loads so yeah so this is a teaser of this case study and that's just using typical even though it's in the context of this layout paragraph thing but that's just using a you know main image feels like you don't like you always would in Drupal if that makes sense the other thing we could have done and we talked about doing is using that massed head paragraph rendering that massed head paragraph from our case study so if I click into this that's not gonna let me because it thinks I want to edit text but there's that for us our case studies always start with this massed head thing and we could have just rendered that in teasers which would have worked pretty well too so you know one thing we often we've standardized on a bunch of stuff in Drupal as I'm sure everybody here has and one thing we still talk about all the time there's like a hundred right ways to do the same thing sometimes a hundred wrong ways I think we are just about out of time okay so here's that massed head component I was talking about and we could have chosen to show those as the teaser if we wanted to and again it just worked like because it's just paragraph content you can you have a lot of flexible flexibility with how you set it up I think we got time for one more yeah let's see how fast this edit screen comes up if I can show you real quick we have solved that just with a custom style option back to that module I was talking about that that's happening in a custom layout api plugin and we have right here column stacking left to right or right to left which is the rule that we've set up for in this context that says do we want this to collapse with the left coming first or with the right coming first I think that's what you're asking is that correct and that's just that's in the the layout plugin style options which which is another module on Drupal.org makes that easier but that would need to be like a custom layout plugin. Hey thanks everybody for your time and I'd love to talk more about this if anybody wants to come find me after thanks


Post-nuptial agreements. Ever wondered how assets are shared between couples in the event of a divorce or separation? Where parties have signed post-nuptial agreements? After being married for five years, Adah is making very good money from her several tech deals. She decides for the safety of her children that a post-nuptial agreement be entered into with her spouse. It's worthy to note that Adah is worth much more than a husband. However, her husband took an offense and stated she was already foreseen and entered the marriage because she had started earning more money than him. Their parents condemned Adah for suggesting such an agreement and this has caused a major rift between the couple. Adah is still adamant on the post-nuptial agreements. The post-nuptial agreement also referred to as a post-marital agreement is a legal document designed for couples who are married or in a civil union. Although similar to a pre-nuptial agreement, post-nuptial agreements are entered into after the marriage has commenced. It establishes how the couple's assets will be divided in the event of a divorce or legal separation and the amount, if any, for a spouse or support that one spouse will pay to the other if the marriage ends. What should Adah do? There's something you are hiding. First of all, we have married the marriage already. We are in it five days inside it. You are now successful in your business. That success was the man not there behind every successful woman is a man. Now, if you want to safeguard your children, your fear is that your children are very, very simple now. But I was just talking about investments. The investments I was liquidating were not in my name now. As many as I give back to each other, I have three. I can't shout or more. Straight up, three investments in your name. Your account is set up. Your life insurance policy in your name is set up. And you are my next of kin. But for you to now come and tell your husband to come and sign paper now. I'll be right now. Because the man that does it will always do this. No, sorry. I think that while that might be the natural sometimes assumption and maybe why the parents are talking, I think that at this point in time, before we look at blanket situations, the questions that I would personally look at and I would take in this situation would be to actually go be, leave the bill as an and I can sense that this conversation is coming from a legal standpoint. I will leave the bill and say to myself what are the red flags or signals or signs or reasons behind the decision to have this agreement? So then my guess I ask ourselves is not and I do not subscribe to behind every successful man or woman is the other person. The first person that is behind is yourself and then the universe and your partner, whatever it is. So what I'm going to say here right here is that there is a reason to check what are the spending of financial habits of the other partner. And whether it was a man that came up with it or a woman that came up with it, any party is allowed. There's a freedom of decision. The fact that we're joined together doesn't mean that I should not be able to make decisions. And we are moving from a society where I mean, I don't know how to put it without going out of place. But sometimes what I'm trying to say here is that. No, what I'm trying to say here is that and that cannot be entirely said to be unclean for wanting to do that. But all I would then say is that in a situation where there's really no discord or there are no other things, maybe there's a possibility that she needs to look and say, okay, what kind of, I mean, what kind of planning or agreement or plans can we make? Because in the definition given of a post-noctal agreement, it's in the event of a separation or a divorce. And so that finality around it kind of puts a problem. True. But if there's another type of planning that can be done, and this is where I would now want to agree with HMI, in terms of, okay, what kind of investments or decisions or budgeting or planning can be done. But even at that, you still need to have the conversation with the other party and the person may not even, not every woman is an A type person and able to just make those decisions as to what to do with their money or how to invest it. And so if for any reason, hands are tied or something, please, Ada, go on, have that agreement. Titi, break the tie. My question and my concern is how legal is this? Is this allowed by law? Very legal, yes, very legal. Yes, yes. It's presented by two parties. If the husband agrees, if the husband agrees and they both decide to go ahead, then it is very legal. Just like to put a natural agreement. So if she believes or she sees reasons that make her decide that, okay, just in case something happens, I want to be sure that this guy is going to give me my money or vice versa. I don't think there's anything wrong with that. What happens when there's one thing? Like the question that she has, what happens if there's one thing? That's the point where she's at. So what would now be the point? Ada, sorry, not you. Picture 10. If I'm the one, I will say no. After we are married, then you now wake up and decide that, oh, now I want to post-nuptial. No, it's not your money. It's your wife's money. I'm part of your life. I'm part of your work. The fact that you can go and make this money is not, you can't now exclude me from this. No, I think that's behind me. But you know what, I think also there's a lot of entitlement that comes up in marriages, both on the side of men and women. No, I'm not saying we're not entitled and that's the honest truth. But I think that there's a lot of entitlement that sometimes comes in. What I think should go on here is proper communication around these things. There needs to be the place of open, honest, hardcore conversations around why are we doing this? What is going on? Some people say, it's only women. It's just another, if I was there when you made your money. First, I'm not disagreeing, but if you were there when I was making my money, I need to ask and itemize what sacrifices particularly did you make in my life. Let me run the house. Let me run the house. Let me run the house. Even if all my money is given off of her money, if it does not plan on leaving off of her money, there's nothing wrong in her saying, you know what, to secure in case this thing doesn't work out at the end. I want to know that my money can work out. That's what I'm worried about. It doesn't sound to me as if something is going on correctly in that relationship. You get midway, then you suddenly now jump the board. And say, wait, apart from that, she's now coming into the money. She's coming into the money. And so she's become a different person. That's why there's this viral meme that says, oh, please check your humility before you become rich. By the time you are rich, we'll now know who you are in person. I don't show the real color now. She wants to secure the bag. But before she broke even, she was carrying Mr. Osmond along. See, let's be fair. When it comes to equity, it must come with clean hands. If Titi was a man and she came onto the show today with this point of view, you can be rest assured that we will shred him. No, I disagree. I wouldn't. Your wife was there. She carried your baby.  I wouldn't shred him. Now, you're not telling me if I get into the marriage, you need a prenup. There must be a reason for something. And I'm serious. I'm not saying that. That's why she's why you're still here. Because she doesn't want to know. Why are you still here? No, she doesn't want to do a divorce here. In the case of a divorce or a separation. It's not coming with clean hands. It's not coming with clean hands. Do it come second. It must come with clean hands. But you wouldn't understand that the agreement is whatever we decide. So it's not set. But the one I said is not the agreement. I currently am wondering who you are now. And in the event of a dissolution of the marriage, I'm going to be willing to give you 30% or 40% of what I'm worth.  It doesn't mean I'm not. The agreement is not safe or everything goes to me. We're going to sit down and agree that this is the percentage I'm willing to give you as spousal support or whatever it is. I mean, it's an agreement. Cynthia, I like the step where you broke. I thought you broke them for me. This is why you broke me. You've destroyed it. Interesting one. Anyways, any time is next after the break.


OK, so it's really a pleasure to organize this conference today with Huawei. So probably the first talk will be given by Francis instead of Cédric, because Cédric is at Francaintère speaking about his new book. So he would be 15 minutes late, so maybe we just change the two first talks. OK, so I would like to say a very few things about IHES. So I don't know if it's the first time for you here. So IHES was founded more than 57 years ago, something like this. And we are in Bure-sur-Hivette for since 52 years. And the idea was to build a scientific institute on the model of the Institute for Advanced Study in Princeton. And we had the chance to have very high level professors from the start, including Grotendic, Deline, René Tom. And so around these small numbers of professors, we host a huge program of visitors. So we have more than 200 visitors every year, and coming, say, for an average of two months and a half. And so at any time, there are 50 scientists at the Institute. So IHES is a little bit unique in France because it's a private company. And somehow, we have a status of being in the interest of the public. So half of our budget is coming from the government. And we have to find support for the rest of our budget. And for this reason, we had to discuss with a lot of institutions in Europe, like EPSRC, SwissFond, Max Planck-Gazelschaff, or NSF in the US. But we have also to have contact with companies. And during the last 20 years, several companies helped us a lot, including the group AXA, the Schlumberger, who founded the Cher Schlumberger here and other institutions. And I think that maybe six or seven years ago, IHES started to have contact with Huawei. And we never stopped this contact. And Huawei supported us the first time maybe five years ago. And maybe I'm not sure. And recently, Huawei decided to create a very active research center in Paris, or near Paris. And at this occasion, we had a lot of discussion, including with Merwin and a lot of people from Huawei. And after this discussion, Huawei decided to help us a lot. And we thought that the nicest way to organize our collaboration was to organize conferences, like the one we are running today. So I hope that around this talks, there will be a lot of discussions between people from Huawei and scientists who are just attending the conference. And I really want to wish you very good luck for what you are starting to develop, and it's a very ambitious project. So I think you are starting something which may be important. And so I wish you the best for all of us. So I would like to add that it was very nice for me to organize the conference with Merwin. It was quite easy. And I would like to thank you for this. OK, so first of all, I'm very happy that IHES hosted this event here. And also for the organization of this workshop and getting the best speakers within the Paris region. As you know, France has one of the highest rank of, I would say, highest concentration of mathematicians. And Paris has also the highest concentration of mathematicians around the world. And Huawei acknowledged that. And it's one of the reasons this mathematical and algorithmic sciences lab was established in Paris. So for people who are not aware, Huawei is one of the leading companies in the ICT business. We are in the carrier business, what they call Bay Stations and what we sell for operators. We're also leading the handset business. I think now you're, at least I think you got now, a Huawei phone. I saw it. But in case now you've seen in different, I would say, stores our phones. And I think it's going to be increasing in the next years. And also we are also in the enterprise business, where we sell also our equipments there. Huawei is a company of around 150,000, 60,000 people, which is a big. And half of that is related to R&D, which makes it a very techno-oriented company. Now it turns out, as you know, that the company is evolving. Innovation for many companies is the way to go. And Huawei has been heavily investing in that innovation aspect. It has established this lab for that, because it thinks that French mathematicians are the best in the world, and we think that's where the innovation is going to come from there. Now of course, this is a scientific day. We're going to talk mostly about research aspects and new ideas from great people here. As you know, we give money to, I would say, institutions like Yesh Rez, of course, to create knowledge. And our business is to invert that process and from knowledge make it money. And of course, this is one of the things we are trying to work on. And I hope this collaboration that we started is going to be effective in the next years and going forward. So I hope you're going to enjoy the day. As Emmanuel told you, Cedric Villani is going to be a bit late. I think he's going to come with his motor scooter or something like that directly from Paris. He's got an interview because he's selling his new book. And of course, Francis Bach accepted to be the first speaker, so I'd like to introduce him. And so then he starts his speech.


Was good Josh your boy Ross back again with another video and we're gonna check out WWE top OMG moments of NXT From 2020 so far. I appreciate all the love and support on the channel man You guys are amazing. You guys have been very supportive of everything that I post I do plan on seeing some movies that I'm looking forward to They're coming out. There are some theaters in Houston that have opened up So I'm definitely planning on checking out some movies and one of the first movies I do plan on checking out is the new mutants. So best believe a review of that should be coming out I want to say this weekend like I want people to understand that I love wrestling, you know I'm a fan of wrestling. I'm a fan of gaming I'm a I love to dance and I also love movies and you know, this channel is just a Incorporation of everything that I like you feel me and I just want to bring it to you guys So be on the lookout for some movie reviews definitely one this weekend But let's get into this man appreciate all the love and support and yes, we end up know the best moves There's a new best moves just came out. So best believe check that out on the channel Actually today later on tonight. Make sure you guys check that on the main channel So let's get into it And oh, I'm about to say did I get hit with the instant that already That was pretty cool when they invaded NXT UK This whole brawl was nice To the bottom room That whole brawl between Johnny and Tommaso in the performance center one of the best brawls WWE has ever produced especially in NXT.  It was fantastic Yeah, look at this. Look at this. Oh my gosh My goodness, yo Athletic is held Look at that. I can say this is around the time the women's division definitely was still holding their own after Bayley and Sasha and Becky and you know all the the for the original for a horse woman Charlotte flair like these were the women that were next up, you know, once Oscar left once Amber Moon left like these women right here Held their own man kept the division going very strong They definitely had a great series of matches look at that someone that big should not be hitting moves like that Oh Wait, wait, wait, wait, wait, what would take over? Oh, this was world collide. I believe us Did I watch I think I want some of it I don't know if I call all of world collide worlds collide that whole sequence look at this Insane Bob This match here once again one of the best matches On that show hands down and the fact that these guys are massive human beings Doing Spanish flies all types of flips and in you know This is crazy maneuvers that you wouldn't think someone that size to hit just ridiculous That's a lot of weight I know you guys love it Man NXT the pinnacle WWE wrestling I swear man Oh my cheese This was a good match to ridiculous 97 These women Literally were beating the crap out of each other like you don't see too many women matches get that like extreme, you know I'm saying like Grenada wasn't really any blood which you don't need it to but it's just a good to see women like And these personal heated feuds trying to destroy each other like the men do like it was fantastic Just I don't even oh I Don't even bro. It's just Doug needs to see some of this type of stuff, bro, cuz this is oh my gosh, yo NXT I Don't know where WWE would be NXT wasn't a thing man. This is this is definitely for fans of wrestling right here. Oh my Jesus That One of the craziest spots from that takeover my man just didn't care about his life It look how far he is from the ring to where Keith Lee is I definitely probably would have shattered my spine and been paralyzed trying to hit that maneuver, bro Oh my Jesus Amazing balance because I would have That was that was though. Oh, yeah, this I definitely got to go check out NXT world collides. I definitely have to Jesus Oh That's dope. That's dope. That is hella dope the way he he turned that around Yo Just ridiculous Man, yo NXT there's really nothing else to say if you're a fan of wrestling you gotta check out NXT they put on the best shows They're pretty simplistic. They don't do too much. They're booking for the most part makes sense I like your next team and I've been a fan since I want to say when I start first started watching It had to be like maybe 2017 that was when I originally first started watching maybe 2016 I could be wrong But ever since then it's just been refreshing and then you look at the main roster And you just you get disappointed because you know the main roster could be better because the same people They are in NXT. They're on the main roster. The only difference is the people that are in charge of booking and in managing the talent and you know Creating these storylines. They're different as you can tell man, like it's the main roster is more for the entertainment aspect and NXT Itself is more for the hardcore wrestling fans But the problem that I always have with the main roster is I think you can still be entertaining and still keep the wrestling That's what they used to be You know granted they had some crazy stories But there was actually some good wrestling from time to time more or majority of the time you feel me and I think NXT you can still build that and have some entertaining stories You feel me but hey, I don't run the company. I just watch it in critique it like everybody else But comment down below man. Let me know Which what are you a fan of more? Are you a fan of WWE main roster booking? Or are you a fan of how NXT books?  So comment down below Let me know which which brand of booking are you guys a fan of main roster or NXT? Let me know I appreciate all the love and support road to 30 K Appreciate y'all kicking with me. See y'all on the next one. Peace


Let us go to the other techniques namely genetic programming and model quiz. Now you may be aware of genetic algorithms, genetic programming share the concept of genetic algorithm as far as the Darwinian principle of survival of the fittest is concerned. They are also based on the same, but unlike they are similar to genetic algorithms, but in the end they give you a computer program or an equation. When we say computer program it is an algorithm involving various operations if then else and so on associated with any computer algorithm. Now because of that genetic programming is more suitable to determine the input output dependency structure that means to carry out regression rather than to carry out optimization as in case of genetic algorithm. Now basically what is done in genetic programming you have what are called functions and terminals. Now what we mean by functions are typically let us say the causative parameters like say the radius of st. jambaket, the leap angle, the discharge head etc. And what we mean by terminals are mathematical operators or logical operators like plus, minus, multiplied by divided by logarithm if then else do and things like that. So innumerable combinations of these function sets and terminal sets are done. Every time for a new combination the strength of this combination is determined by applying fitness criterion usually which is in the form of a root mean square error between the outcome that that particular combination produces and the actual output. And in that way you go on finding out the new combinations and ultimately end up with the fittest combination that is the answer at the end of the genetic programming. Every time we formulate the new combination by doing the operations like reproduction, mutation and crossover. Now let us see how in genetic operation, genetic programming the operations are done. Suppose you consider an equation or expression minus q plus root pi divided by 3p. Now we represent this equation in the form of a tree structure which is the basic you know idea in this genetic programming which differentiates it from the genetic algorithm. You have this equation minus q plus root pi divided by 3 into p, minus q plus root pi divided by 3 into p. This is an equation which is represented in the form of a tree structure. Now while there are two operations, three operations rather reproduction, crossover and mutation what we mean by reproduction is just allowing the same expression to continue further in further processing. When we say crossover it means that two random nodes will be selected from these two parents and the result and the subtree trees will be swapped. For example this is one node, this is another node of this parent and this parent. You put this subtree here, this node here and you will get another expression. Find out the fitness of this and if they satisfy your fitness go ahead. So similarly when we say mutation again here one subtree is replaced by another one randomly. For example this is one subtree you randomly replace by another subtree 2 into p like this and you will get another expression. So like that we can also play these are all mathematical operators but you can also play with computer programs I mean the logical operators and develop computer programs accordingly. Now so what is the procedure that is following GP is like this we select a random population of individuals which could be expressions, equations or computer programs then we evaluate the fitness of it individual and by evaluating the fitness we select parents for further processing. Then these parents are made to yield offspring another individuals by following the process of reproduction, mutation crossover which we have seen. Then you continue the creation of offspring till a specified number of offspring in a population are produced and till a certain number of generations of such populations are created and the best offspring in the entire generation process is the solution of the problem it will not be the last one. Genetic programming actually started after its presentation by COSA around the year 1992 they have been but its application in water resources had only started only in the year 1999. They have been used for various purposes like the classification regression pattern recognition that means given a partial information find the full information and so on. Typical applications are like this these people have applied it to rainfall runoff modeling to evaluate runoff from the given input of rainfall at various ranges. People have also applied GP to estimate suspended solids in water treatment plants. They also use GP to estimate the groundwater levels to determine the settling of physical pellets in wastewater management. They also use GP to obtain the resistance to open channel flow because of vegetation, vegetation induced resistance. Then in ocean science people have also applied this genetic programming to evaluate certain ocean components like this phytoplankton from the given information of sunlight luminance and reflectance and so on. So these are some of the works which people have done since 1999 which involves application of GP. So this was a bit exposure to GP there are so many finer points which we have to learn by going through the appropriate literature. Now similarly let me give you the concept of model tree. This model tree represents a computation process in which we build piecewise linear models. We break the input region into different subdomains and within each domain we build multi-linear regression models. Now so the input domain is divided into subdomains and linear regression models are fitted into each. For example consider this case. Let us say you have two input variables X1 and X2. Y is the output variable. Now using the objectives like this, this input space of X1 and X2 is to be divided into so many sub regions using some kind of similarity criteria or in other words to say the same thing using some kind of elimination criteria and having collected similar examples you fit linear models here and use that as a global model in the end to answer any new query or to get the output from any new input. Typically for example see this if X2 is greater than X2 then you follow this path. If it is not greater than 2 you follow this path. For example if X2 is less than 2 then you further see if X1 is less than 4 for example here is X2 is less than 2 then you see if X1 is less than 4. If it is not then you if it is yes if it is less than 4 then you fit one model this model number 4. So for this model number 4 you have X2 less than 4 and X1 less than 4 then you fit one linear model then if it is not so then you further see if X2 is more than one. If X2 is more than one you fit this model 6 and if X2 is less than one you fit a model 5. Similarly you follow other paths and identify the similar patterns and fit individual models in it. Now how to select these values for that purpose different there are different algorithms which use different criteria but there is one algorithm called this M5 model tree. It was given by it is something like a fifth you know it is just like marutiated or something. So there is a fifth kind of trial made by these people. So it is this was given by Quinlan and in this model they have used the variant of standard deviation of the class value that reaches a node or a decision box in relation to the standard deviation of the total data sets as a criterion. Similarly there may be some other elimination criteria but standard deviation reduction is a criterion which is found to be acceptable by the past investigators yielding satisfactory results. So you go on dividing these things until you get those you end up with getting those points in your bins which have a standard deviation say which is only say 5 times the 5% of the total standard deviation of that data and so on. So based on that this algorithm has been developed now there are two further points that is noted to be noted with respect to the empty algorithms. Many times it is found that if the splitting that you do becomes so large that overfitting occurs that means there is the individual patterns are learned but there is no generalization that is carried out. In that case you have to prune that large splitting by using some techniques which involve merging together of the few subdomains or sub regions together. Another difficulty that people had noted earlier is that suppose there are very small number of training examples in that case what happens there are large discontinuities between neighboring linear models and therefore in order to have a smooth variation from one model to other they have used certain mathematical functions which are called smoothing functions and application of empty procedure will usually involve both this pruning as well as smoothing methods. Now the advantage of the empty over other approaches like ANN or GP is that you can easily understand its outcome and it can be very easily replicated or the results become highly portable compared to NN. But one thing that is to be noted is that ANN and GP are purely non-linear models. They do not involve any kind of assumption beforehand whereas MT is piecewise linear and it works it assumes that it is possible to disintegrate the input space into subdomains so that linear models can be applied to that subdomain. So in that way it is not regarded as something which is a purely non-linear kind of fitting technique. As regard the applications of model trees are concerned again they have been applied mostly to similar type of problems that of GP genetic programming. Its applications have been reported since last only 3 years or so. People have applied it to evaluate the rainfall runoff relationship. They have used it to apply the to come up with reverse stage and discharge relationship or the rating curves. They have also come up with studies which estimate the sediment transport in open channel flows in they have also predicted the values of the flood discharges, river discharges during flood. People have also compared this technique of model tree with the technique of artificial neural networks and they find that the results of model trees are either similar to that of NN or sometimes they are shed better than that of NN. Similar results we also found in our application pertaining to wave analysis and for example this Bhattacharya and Solomata and in fact there is one investigator named Dimitri Solomata in Delve who has been very actively pursuing this technique. Many of his students have used this technique and they are saying that they are finding it is either similar to NN or it produces results which are marginally better in some cases than NN but where will it work and where will it not work is very difficult to say beforehand. Sometimes they are finding that higher river flows or low river flows are better approached by model trees whereas middle level middle range values they are better predicted by other techniques like NN and so on.


So you want to make money online. Well, guess what?  If you ever watch any video and the dude promises you to make, I don't know, 200 bucks a day or whatever, run away.  Listen, in life there's no shortcuts. For you to become successful, whatever you do, you have to have wisdom. You have to increase your knowledge and you have to dedicate time into creating something that's sustainable. It's simple as that. However, for the sake of this video, I will be telling you the truth. I won't be bullshitting you. I'm not selling you anything. I'm going to tell you what has worked in my past. I'm going to tell you what has worked for other people and I'm going to break it down into three simple categories or three different opportunities you have. See, there's many different things you can do online. Actually, there's thousands of things you can do online. So we're going to be focusing on as I think the lowest hanging fruits. So let's go and remember, this is hard work. It's not easy. So get your pen and paper and pay attention, okay? Okay, number one, this is how I got online. Number one, it is, you guys can see that affiliate, affiliate marketing, okay? Most people when they start online are trying to make money online. They're trying to look at this avenue, that avenue. They're trying to reinvent their wheel. They're trying to build up their own funnels, your own systems, everything. Literally they're trying to build Rome overnight. Hold on, hold on. I'm a firm believer in learning from people way ahead of you. Remember what Isaac Newton said, I want to stand on the shoulder of giants. So you want to acknowledge people who are ahead of you and figure it out. Wait a second, they already did this. I don't need to reinvent anything. How can I follow the same path as they did by my own way? And this is where affiliate marketing is. If you're not familiar with affiliate marketing, affiliate marketing is this. Let's say you want to sell this pen or let's say you want to sell this person's pen. So you sell it and you get a commission. That's pretty much in a nutshell. You are advocating other people's products or services and in return you get a percentage of that sale. The percentage can be 5%, it can be upwards of sometimes I've seen 90%. It really matters on the contract and the deal that you have with the person that owns a product or the service. So that's affiliate marketing in a nutshell. Now the quickest way you can get into affiliate marketing online is ClickBank. There's JVZoo but I recommend ClickBank. It's easy. The UX design is simple. So go to ClickBank. Let's write this down. You go to ClickBank and what you're looking for is products that you like. So don't just go after random products. And the most products on ClickBank are like info products. They're actually starting to sell supplements right now. So they have physical products, membership. So a lot of info products slash physical products, i.e. supplements, give or take, or even small gadgets. But what you want to do is you want to go to ClickBank, you want to go to the marketplace and you want to type in things that you use on a daily basis. So let's say you use a supplement. Let's say you like learning about fishing. So we're going to use an analogy about fishing. You're going to type in fishing and you're going to see the top selling courses or membership sites around the world in fishing. So you find one.  Usually the average order size is like you make 20 bucks on everything you sell. This is the funnel. So everything's laid out there for you. So basically what you do is register, you sign up, you become affiliate. And this is where the magic comes in. It's your job not to make any money off the affiliate marketing. That's not the point of this. The point of this is understanding how does that successful company make a business from it. So what you need to do is you need to go through the whole funnel from top to bottom. So basically what you do is once you're registered, you're going to see okay how is your website built? What is your product? What is your margins? How is your sales pages? How is there a shopping cart? What is your email marketing? So it's your responsibility to screen capture the whole process from top to bottom. And you want to understand and kind of become a detective and look in deep and figure out how this fishing company becomes so successful. That's the point of affiliate marketing. It's not really to make money, but mind you you could make money once you understand how the whole system works and driving traffic to their product. But the whole idea is you have all these teachers in front of you. So what I recommend people is like dive in deep. So let's say you study this membership website about fishing. Great. Next thing you study this website about health.  So basically what you're doing is you're finding the best people in each single niche. You're joining as an affiliate. Now you have access to their mailing. Well, you don't have access. You have access to what they mail.  That's a gold mine. And capture that. Get information from that. And then bit by bit, you can apply that to your own business. Okay. So that's number one, affiliate marketing. Number two, numero dos. Okay. Number two. And these are going in order to from what I think you should start to the next stage info product. So now since you spend maybe like six months a year in affiliate marketing, you understand what a funnel looks like. You understand cop. You understand sales page. You understand pricing. You understand all these different cognitive biases. You understand the whole beast in general. It's not just like you're just looking at one corner of the map, but you're seeing the whole map as a whole. Okay. So once you get that and you have some internal wisdom and knowledge and you experience wins, you experience defeats. Your next step is like developing your own product online, info product, educational product, membership product. It doesn't matter. What I recommend for info products is once again, not reinventing the wheel. I'm a firm believer in seeing what others have done successfully, but doing it in your own way and doing a little bit better, adding your own gravado and adding your own kind of flavor to it. So basically let's say you like a membership website you saw out there. Great. You found a membership website. You've spent time doing affiliate marketing. Now, what you want to do is instead of you wasting all your time to build that info product, I highly recommend that you start building a platform. So what I recommend is start becoming a leader, you know, a thought leader in that space, start guest blogging. So I'm going to write this down. Your job is to guest blog on all the different mediums about the topic. Your job is to double down on content marketing. So doing content marketing, right? Building pillar posts on your website, doing, going on people's podcasts as a guest, doing the guest guest blogging on other people's podcasts. Cause the whole idea with you becoming the thought leader in the space is A, obviously people view as the authority, but B, from an SEO perspective, okay? From an SEO perspective, if this is your home base, that's H, you guys can see that that's your home base over here. And you are now putting content out on other people's platforms.  So you get a lot of traffic back to your website, which increases your email list. And now since you have a booming email list, it's your job now to, guess what? Communicate with them.  They assume people want that, but that's never really the case. So it's your job now to survey your list, to survey your audience, see what problems they have. I love what Christensen said or M. Christensen said in his book. He's like, what would people hire you to do? Or what would people hire your product or service to fix? So it's your job to investigate your tribe on what problems can you fix for them. So once you've identified a certain problem, kind of easy from there. So basically what you want to do is you want to pre-sell that solution for their problem. And now, since you pre-sold it, you have capital, okay? You have capital to fund that info product. And now since you've been spending time in affiliate marketing for the last six months, you understand what it means to build a funnel. You understand what it means to capture an email.  Okay. So that's number two is info products. And number three, number three, number three here we go. E-commerce. So this one is the most difficult one because now you're dealing with physical products, a lot of customer service, and you have a lot more logistical nightmare when it comes to actual physical products, especially if you're shipping for my career, China dealing with taxation, dealing with importing and exporting fees and a lot of other issues. But I'm going to give you a heads up when it comes to e-commerce. I believe moving the future, and a great example for this is Hopberry for clothing. They do an amazing job for this. It's combining a content site. So you want to combine C plus E in my mind, equal success. So what you want to do is once again, if you're considering going to e-commerce, don't reinvent the wheel, see what's successful out there already or see what you're wearing already. Maybe you like a product, maybe you can make a product better. Maybe they're offering white labeling. So you can actually add your own brand logo into it. So this is what I recommend. First, you want to build a content website before your regular e-commerce website. So in the content website, let's focus on something that kind of applicable today. We'll do drones. They're pretty hot right now. So I'm going to do a content website about how to build your own drones. I'm going to review drones. I'm going to be blogging about drones. I'm going to be going on huffing and posts and venture beat and blogging and writing and doing videos all about drones and building this content empire on kickassjones.com. And then basically what I'm going to do, I'm going to go to AliExpress or I'm going to find somebody overseas who's going to send me a couple of samples of these drones or I'll pay for the samples. And I'm going to take these very small investment that I had, maybe a thousand to $3,000 into maybe two drones or three drones. And I'm going to put them up on a Shopify store, which is my content marketing or my content blog. And then it's your job now, since you have the education of affiliate marketing, education on having your own info product, it's your job now to drive traffic to your page and become, guess what, an online entrepreneur that understands growth hacking online. So you understand, okay, my traffic is coming from this referral, that referral, ABCD, my conversion rate for email is whatever, my average order size for this is this, my benefit card is for that, my email open rate is this, my click through rate is that, you get the gist of it. You understand all the metrics, all these nuances when it comes to building an e-commerce business. And that's it for the nutshell. I'm going to go in further. It's your first step when it comes to e-commerce is first building a content website around the set topic that's really important to you and what you like to wear or use or take or what you respect because you've got to have a personal and deep rooted connection with the product that you're selling or else you're just a fake like everybody else. You don't want to be a fake.  And then from there getting a few samples on your Shopify story, you can use any platform. I prefer Shopify because fuck, they're the best and they're so easy for everybody. And the customer service is phenomenal.  See the price that you're offering, see the actual conversion funnel from the time they go on a blog they read and from the blog, do they go to your cart and if they do go to your cart, do they click the cart like the shopping cart? If they don't, then maybe the button's off or the copy's off. So you get to just of this.  And that's that. Those are my three avenues when it comes to making money online, affiliate, info product, e-commerce, wrap that baby up, spend a couple years in it, and there's no fast track to success. That's that. Peace. Oh yeah. By the way, you got questions about this? Leave a comment below this video. Like this video and subscribe. Adios.