Alright, welcome everybody. Welcome to another online workshop run through the training team on learn online workshops and my name is Nick Diego. I am a sponsor contributor by automatic and I'm joined with my co host here Justin Tadlock, another sponsored contributor by automatic. He's going to be helping me kind of manage the chat today. Are there any questions that you have throughout the presentation please add them in the chat. And I'm going to probably stop at a few points during the presentation and kind of get some questions, and then we'll proceed. So today we are talking about WordPress 6.3 and particularly reusable blocks. So that the title of this presentation was hopefully a little catchy. I see that we have currently 66 people here. Just so you're aware this is the second most RSVP online workshop. So thank you very much for all attending, but I'm assuming that that means that all of you are very interested in reusable blocks either you use them currently, or you have heard of them and are interested in seeing what's changing. So, there's a lot of great improvements coming in WordPress 6.3 but one of the biggest things at least biggest changes is the renaming of reusable blocks to sync patterns. And we're going to get into all that I'm going to show you how they work. But the main point that I want to make just from the get go is that if you're currently using reusable blocks, everything will still work. There's primarily a name change, as well as some additional enhancements. So if you're using reusable blocks, everything's okay you can continue using them the functionality is going to be the same. If anything you're just going to get more functionality, and I think you're just going to have to get used to sync to patterns, but I'll explain why that change happened and why it's actually a good thing. So, I'm going to start by sharing my screen and we're going to go through a little bit of a demo, and I'm going to explain all the changes that relate to patterns in WordPress 6.3. We also might see some additional stuff that's coming in 6.3. But I'll explain that as we get there. All right, start sharing my screen. Okay. So you should be seeing the meetup page right now. This is the event that we're all attending. If you're not, if you're on the Zoom and we're not attending this event, I apologize. I hope you're now interested in learning about reusable blocks. And what I like to do with every demo is I like to explain kind of my WordPress setup. If you have been to one of my online workshops before, usually I just use stock 2023. Today, I'm using a custom theme that's built off of 2023, just to provide a bit more of a pseudo realistic environment. So I have a fake website here for WordPress University. You know, it's fairly built out. But again, this is just built right on top of 2023 nothing too fancy just change of colors, addition of some designs. The key here is if you're flying to fall along at home, we are using the latest version of Gutenberg active, and I'm also using the 6.3 beta four nightly. So before we get too far, I want to talk quickly about 6.3. So WordPress 6.3 is coming out on August 8. And where's my chat go. I'm going to pop in the link. So the link that I just put in the chat. This is how you can test out the beta four, which came out last week. RC one, which is the first reliant release candidate for WordPress 6.3 is going to come out tomorrow. It's a little unfortunate that I planned this for today and not tomorrow because there are going to be some subtle changes and improvements that are in the release candidate that I would have loved to show you here. But it's not going to attract too much. So we have the first RC tomorrow, and then we have subsequent RCs each week, and then we'll have the release on August 8. But if you want to test out 6.3 is test out some of the stuff that you see here in this presentation. You're going to want to install the latest version of Gutenberg and then follow the link to that post, and it will explain how you can set up your environment to test 6.3 beta four. Those are the only two plugins. I do have the icon block. This is just a blocked at icons. It just makes the patterns that we're going to be experimenting with in a little bit, a little bit nicer, not a requirement whatsoever. So let's hop right into a just a normal page and go to where you traditionally would have found the user interface to create a reusable block. So let's just come in here to my test page that I set up. So here we are just in the normal post editor. And if I wanted to turn blocks into a reusable block, and maybe some of us, some of the people in the here don't know what a reusable block is. So a reusable block is a block. Yeah, let's actually just pretend that we're going to create one. So here I have a row. So if I wanted to take this row and the content inside of it and turn it into a reusable block, what it would do is it would save all the block markup. And then I could use and I'd give it a name, we could call it notice or something like that. And then I could, it would save the notice, and then we could use that notice reusable block anywhere else on our site. And I did that, and I changed this notice, wherever that reusable block was placed on the site, they'd all get updated. So in a sense you can think of that they're all synced together, whenever a change was made to one reusable block, any other instances of that reusable block would also get updated. As the title of this presentation alludes to reusable blocks are being renamed to sync patterns. So you can kind of see where that sync name is coming from. It's because in the prior naming convention, every reusable block that was the same instance, they're all synced together. Change was made in one, it would, it would change and all the others.  You can see now that it says create pattern slash reusable block. This is a temporary thing. So for folks who maybe are not attending this session or are not necessarily paying really close attention to the release notes for 6.3, they might be confused. They might go to add a reusable block and then see create pattern, not know what happened. But now temporarily it's going to say create pattern slash reusable block. But this is the exact same menu item that you would have seen before just with a different name. Now before when you would click this, it would create the reusable block and you could redeem it. Now when we click it, you're going to get this modal. In this modal, see if you can zoom in here. It says create pattern and it gives us this little prompt that says reusable blocks are now called patterns. A sync pattern will behave exactly the same way as a reusable block. And we can name the pattern or reusable block. And we can toggle whether it's synced or not. We're going to talk about unsynced patterns in a second. I just want to really laser focus on reusable blocks. In this case, what I would do is I would say give my pattern a name. I'm just going to do this call it sync just for my own edification. We're going to click sync and we're going to click create. And now you can see, and this should look very similar to anybody that use a reusable block. We get the little triangles, we get the title, we can change the title of our reusable block here. So I'm going to, if I was to duplicate this, we go to our list view, I see that I have two reusable blocks or synced patterns. And when I change one of them, you can see that both of them change. IE they are synced. So final, final point of hammering this on a reusable block is now called a synced pattern. Because in many ways, that's what a reusable walk was doing. It was syncing content between each instance of the reusable block. Okay, so why are we calling them patterns to begin with? You might be asking yourself. Because we also have patterns. So if you click on this inserter, we have the patterns that you can pick from. There are some that come with the theme. There are some that are provided by WordPress. We'll see some in a minute, but some teams have hundreds of patterns. Why are we conflating reusable blocks of patterns? Well, if you think about it, a reusable block is the same thing as a pattern. It's just a design, a collection of blocks, but has a unique property in that the content is synced between each one. So the idea is that we're going to standardize naming conventions around one thing, and that's a pattern. A pattern can have a handful of different states. It can be synced and it can be unsynced. That's what's coming in WordPress 6.3. However, one of the things that a lot of the community has asked for is this idea of a partially synced pattern. So imagine a scenario coming back to our notice here. Imagine that I wanted the design to not change. I wanted this icon to be the same. I wanted the green to be the same. But I wanted to allow people to change the text because notices have different texts throughout your site. So the idea behind a partially synced pattern is that it would be similar to a synced pattern, a reusable block, where the design would be consistent across all of the partially synced patterns, but the content could be updated by the user. This is not coming in 6.3, but hopefully will be coming in 6.4. And what I want to do is I want to share a discussion post that if you want to learn more about the progress that's going on there. So this is actually see here. Here's the link for that. So partially synced patterns are coming. And this is part of the reason why we have this unification of terminology.  So we're kind of going through this transition period, or we're standing out standardizing everything around the term pattern. And we know that right now there's a synced pattern and an unsynced pattern, and then eventually we'll have partially synced patterns. So what's an un-synced pattern? Well, an un-synced pattern is just a pattern, just a pattern as we've been using all this time. So if you come over here, all the patterns that are included in 2023, you know, I'm sure many of us have interacted with patterns before. All the patterns that you see here, these are what we call un-synced patterns. An un-synced pattern, you insert it, and it's just the blocks. There's no connection to the pattern itself. Other patterns that were inserted with the same name, it's just a normal block pattern. So we're 15 minutes in and basically we can end the presentation. That's what's changing. We have reusable blocks are the same. The name is changing. We have this little modal that allows us to, let's do this one here, that allows us to name it and choose between synced and unsynced. And that's it. From a technical perspective, that's pretty much it. However, from a user interface in a pattern management perspective, we have a lot to still have a lot to cover. Because what I did prior previously was I created a basically I followed the same workflow to create a reusable block. In WordPress prior to 6.3, there was no way to save a normal unsynced block pattern. You had to create your design, you know, traditionally, you know, for example, if we wanted to, I'm going to undo this. If we wanted to save this notice as a pattern and then make it insertable, you know, through one of these categories, I would have had to come over here to the code editor. I would have had to copy the code into a pattern file, put it in my theme. You know, that's the standard workflow of creating patterns. Now there are other solutions out there. There's some plugins out there that allow you to save patterns, but you couldn't do any of that in core. So one of the amazing things, you know, whether you use reusable blocks or not is just the fact that you can now create and save patterns directly in WordPress core. So let's take this example of this notice. And we're going to say, do the same option we did for creating a sync pattern. We're going to not click sync. And we're going to say, notice defaults. Actually, yeah. Yeah, let's do default. Actually let's do tip. No, actually default. Sorry. I forgot what I wanted to name these. Okay, so we have notice default. We've unchecked sync. And we're going to click create. And it says unsynced pattern created. Okay, let's come up to this one and we'll do the same thing. And we'll call this one tip unsynced. We don't want it to be saying because people need to be able to change their content. Okay, another one has been created. Now when I come over here to the inserter and go to patterns. I see that there's this option over here for my patterns. Come over here. And you can see that I have my notice for default and my notice for tip. And these block patterns, these block patterns are actually being saved in WordPress, and they can immediately be inserted under my patterns. Now at this point, there's no way for you to save one of your patterns to a specific category as a 6.3. Any pattern that you create is going to be saved to my patterns. I kind of skipped over this, but where did the reusable block that we saved earlier the the synced notice that we saved earlier, where does that end up? Well, there's this little double triangle or diamond, sorry, not triangle, diamond icon. And this was the same icon used for reusable blocks that has not changed. It just now is called sync patterns. If I come over here, you can see that that notice synced is over underneath sync patterns. So anything that you save within the editor is now directly insertable from the insert. Reusable blocks didn't change. It just the title changed. They're still here. But now we can save our own block patterns under my patterns, which is pretty cool. But it goes further than that because you say, okay, well, they're saved. How do I manage them? Well, for those familiar with reusable blocks, there was you could modify and delete reusable blocks and they were kind of hidden in the in the admin. You had to find them. It's kind of like a hidden admin page that you could get to. There's no, there's no direct link to it. And then you could delete and manage your reusable blocks there. Well, a lot of improvement has been added to the site editor, which we're going to see in a second that allows you to to manage these patterns in a more visual and effective way. So at this point I want to stop and see up until this point, does anybody have any questions that we can answer. We actually quite a few in the chat. And I do want to apologize to everybody for uninvited guests. We had a couple of them messing up our chat there for a bit. Do you want me to, I can go ahead and back through some of these, Nick. We got answered a couple of them. I apologize folks I had not obviously not been looking at the chat so I figured with such a large event we might get some might get some folks trying to have fun, but yeah. Yeah, we had a couple of them. I'm sorry. I'm just scrolling back through from all the deleted messages now. Okay, so the first question we had was, are the patterns and that section a part of the theme or all patterns and the WordPress directory somewhere that I wasn't sure what part of the video you were in at that point either. Yeah, I mean that's a great question so anything that we are the what you just saw is going to be saved to the database, and it's going to be. It does not affect your theme whatsoever. So, I don't know if anybody's familiar with the create block packet plugin. This is not available right now but you could imagine a scenario where you could use the create block package to export your patterns just like you came with templates so like if you make your changes in the site editor to templates and templates and global styles and whatnot, you can use the create block package to take those changes that are in the database and write them to your theme. So it's not a current functionality for patterns, but it's not a huge leap to imagine that being possible. But right now in 6.3 without any other plugin. The patterns will be saved to your to the database of the theme and if you wanted to then take them and put them into a theme, then you kind of need to follow the same process you need to, you know, open up the pattern, and I'll show you the individual arrangement we'll see in a second, you need to copy the code put it into a pattern file, and then go from there. Right now it's just all everything stayed in the database. I think that one from fly last really have the questions in here. Yeah, it's like, it wears it being saved. How do you ship it with the theme. Yeah, big questions and you cover them both. And I do want to stress that, you know, 6.3 is the very first implementation of pattern management. So for example, if think about all the things that you do with patterns, you know, if think about a pattern file has a header and it has, do you want it to be insertable do you want to have categories do you want to have keywords and all that stuff is not currently available in this pattern management setup, right it's just very simple, create and save your patterns, change the name, that sort of thing. You can duplicate, we'll see this in a second we're jumping ahead a little bit you can duplicate patterns, that sort of thing, but all that more advanced functionality. But I would imagine that would that would come eventually right now in 6.3 just kind of get the general architecture of creating and saving patterns in here. Standardize the naming conventions around patterns. And then as you move, especially when we get to partially sync patterns, hopefully in 6.4 we'll see a lot more of the advanced stuff that we might normally be able to access in the pattern file itself. Yeah, I just in case I missed it earlier. They, there is a question about where exactly the patterns are saved and I just want to quickly say I said that the WP underscore block custom post type. All right, so why don't we hop over to the site editor and we can actually see that. How that works. So let's. Okay, so this is actually before we go this is actually important. So you can see that once I created that reusable block or synced pattern. I made a change to it added this is a test. So we're going to save this pattern as reusable blocks were in the past, but you can see that when I go to save the page it's saving multiple multiple entities, we have the page itself the pattern test page, but we also are saving the notice sync sync pattern, because we made a change to it. Okay, so let's go over to the site editor. So again, appearance editor. Now this is going to look for those who have just used 6.2 perhaps aren't using Gutenberg. This is going to look fairly different in 6.3 and 6.2 we just had an option for templates, template parts and navigation I believe. And you'll notice that template parts are gone. There's no more template parts. Now, I've already accessed the site editor but if I was accessing it for the first time. There's a little notice here that explains that where template parts went. But we have styles and all sorts of stuff in here. We're going to focus on the patterns. I don't know exactly what we're calling it folder area, the section here. This is where you're going to find template parts, the patterns that you created, the ones that we said my patterns reusable blocks now called synced patterns. And we're also going to see all the patterns that are provided by the team. So let's come in here. And we can see that under my patterns, I have Let me see my chats note here. Under my patterns, I have synced and standard. So I have the two notices that I created and then I have the synced one that we created together and this is one that I think I created before this presentation to make sure everything was working. And actually an RC one, which is coming out tomorrow, there's a bit of an improvement to this screen, where there's this little toggle at the top that allows you to toggle between all synced or unsynced because you can imagine if you're managing your site and you've been using it for a long time. You might have a lot of patterns. You know, if you're at your own site you're managing workflows, I want to say this is a pattern I want to say this is a sync pattern. So this screen again is a kind of a first iteration, and we'll start to see some improvements here. Imagine, you know, imagine categories imagine filtering so on and so forth. But right now this is the first implementation. You'll find it under my patterns. We also have our template parts again these are what you'd seen what you've seen before in 6.2. And then we also have our theme patterns. So you can see here that we have just a few, and these are separated into their categories. Now the key piece here is that you cannot modify theme patterns. You can just view them here, because right now this system is not writing to the theme is not doing really anything it's really just for you to view the patterns that are available in the theme. So here we can see that this theme again because the clone of 2023 has the 2023 pattern and then it has a custom one, and then we have one for posts and footers. Now the important thing to note here is that if you have a pattern in your theme that doesn't have a category or a set to insert or no, then as of today, they do not show up in this interface. So by the time we get to 6.3 the actual official release that there will be like an uncategorized section for patterns which is very similar to what you would see in the normal post editor. But any pattern that you set to insert or no would be hidden from the screen as well. Insert or no is kind of like a default standard if you want to have an internal pattern that maybe powers a template or a template part that you want to access or insert. So that standard convention will stay the same, but this is where you can see all of the different patterns. Now I'm before we go any further I'm going to switch to the frost theme real quick, because I know it has a ton of patterns and it just makes the point a little bit better that you can see all the different path. You can see all the different patterns that are available in the frost theme against a free theme available in the WordPress theme repository. And see here you can see all the different patterns. And this is a pretty you can't do much with them right you can't change them you can't delete them. You know maybe in the future they'll be more functionality, but it is a great way to see what's available, you know, to see what the theme is providing at a nice clean area. It's really just for viewing when it comes to the theme patterns for right now. Let's go back over to my theme. So now let's go back over to patterns. And at the bottom here you can see that there's an option to manage my patterns. Also before we do that we on my patterns we can these little three little dots here it's a little hard to see. If you click on these three little dots you can open up the actions menu and you can see that we can delete them. Now, I'm going to double check something real quick. Do I have Gutenberg. Oh, okay. Okay, so unfortunately this presentation RC one comes out tomorrow and Gutenberg, the release candidate for 16.3 comes out on Wednesday. There are some subtle tweaks to the UI that are going to be coming out in these next releases that we're not seeing here today. So one of the things that we are not seeing here today is the ability to duplicate a pattern. So that right now you can just delete them, but you will be able to duplicate them and that's for the thing. But let's come over here to manage my patterns. And this is going to give us a. Not a great screen, but it is what it is. So this is the screen you would have gone to before if you wanted to manage your usable blocks, it's just a normal admin screen for managing post types, which we've seen 5 million times, and it's hidden there's no direct access to it at the top level. In the future, of course, there will be a better management page for patterns. But in the interest of getting this functionality out in 6.3 we just have our normal page here. However, it's fully functional so even though this base screen doesn't look that compelling it just looks like what we've only seen it's fully functional so if I wanted to come in here for example and I wanted to edit my notice tip. I can come in here, and I can, you know, we're in the editor I can save my changes everything like you normally would. And those of you that have used reusable blocks and edited reusable blocks, same exact interface. Now one of the things that is a little different here is when I go to create new. Okay, I'm actually very curious. So I think I must have been running the latest version of Gutenberg. What happened here and I am curious why this is not happening. Let me do something real quick. I want to make sure I'm giving the best experience here. So what I'm doing now is I'm spinning up my site that has the absolute latest version of Gutenberg and we're just going to test something. Okay. This looks a lot less pretty than what we're looking at here before. Now you can see that this is a little notice that lets people know that template parts are now put under the patterns. Now we have the three little dots here that allow people to duplicate rename and delete. And now if we go to manage my patterns, let's add a new one. Okay, I must have been looking at like a branch so what should happen here is when you go to add a new one you can choose whether you want it to be synced or unsynced. I may have been testing a PR earlier and that's why it was in my head. So what should happen and you're in this patterns interface when you go to create a new pattern. You'll have a little modal, the one that we saw in the editor. So we come back over here. You'll get the same little modal. The one that asks would you like it to be synced or unsynced. You'll get that in here when you go to create a new one. You'll pop up you can choose synced or unsynced and then save it and then you can then the sync status will update. So you so within that, that page that admin page, you'll be able to do everything you could normally do in the post editor but from that screen. Sorry for the getting things a little mixed up there. There's a lot of, a lot of things come together at the last minute when we have a major WordPress release and the biggest areas that are being focused on right now is getting the interface fully ready and all the little quirks worked out. So I apologize about that. So unfortunately, there is no kind of like when you for example when you go to manage template parts, we have the screen. This should look very similar to what we've seen before in 6.2. Ideally, hopefully in the future we'll have something that looks like this for patterns. Right now we're just going to be using that the screen we saw before. Let's see if there's any questions at this point. We actually just the best question I think as far as like this topic is concerned is, is a template part now just a type of sync pattern. And thank you for that question Kevin. Kevin's asking the hard questions here. You're kind of looking into the future. That, you know, what's the difference between a template part and a reusable block and a pattern. I mean they're just all collections of blocks right with different states and different, some different treatment window dressings on each of them. And so from one of the things that we hear all the time when we're doing workshops or talking to the communities. People getting very especially new folks like getting very confused about all this terminology we have a pattern with a template part of reusable block. And if we can get to a point where all of that standard, it's just a pattern it's a pattern of blocks, but it has different states or you know you can choose if it's synced if it's not synced. That sort of thing. That's kind of the direction that the project is going. Now for a much more unified standardized approach to building with block themes. Actually, you want to share a article, not an article, a PR that was talking about this and this is a bit old this is an older PR. It is called the grand unification. And it talks about trying to unify concepts and WordPress. I mean in the past when we were all writing building themes in PHP and you know temple files and whatnot. Templates and temple parts were things that the end user never interacted with they were just part of the theme. And now because they're people are interacting with them more and they're, you know, full site editing and everything like that. The concepts are becoming like very tricky. And if we can standardize that and more uniform terminology. I, while it might be a rocky transition for some of us who are familiar with the old terms and now have the transition to something new. The idea is that in the future. It's going to be far less confusing. Of course, documentation is a big part of this, you know, having workshops as a big part of this educating folks on these changes, and then writing the documentation such that reflects all the changes. But, you know, that's kind of this transition period between 6.3 and 6.4. Sorry, go ahead, Justin. I was going to say we did have one smaller question earlier about where the sync status is actually saved and as it's saved as in case you didn't know this. Nick, because I had to look it up myself as saved as post meta. Yeah. And just quickly answering that in case others had that question too. You can see it here when you come in here you can see it. You can't change it on the block level. Yet. They see you can see a sync status not saying. Now, I thought I'd been thinking about why you can't change it. I don't know if you have a better because I was this question was asked of me okay now that we can manage patterns. How could I take a pattern. That's not synced or vice versa. And especially with if it's a pattern that starts synced, and you unsync it, I think that there's, you might have inception, because it's unsynced in some places and did not think another so I don't have a good answer for I just think it from a technical perspective it's quite challenging that's why you can't unsync or sync an existing pattern so if you wanted to take this pattern as a synced version of it, you would need to copy the block and copy the code and and go from there. And note that you can create a reusable pattern from within another pattern. So if you wanted to take this and save it as a sync block sync pattern could. Now there's one thing that I want to it. See here we have. This is a pull request. Okay I'm using the 2023 theme how do I find patterns that doesn't look like the screen. Same on your screen. Okay so you need to be running Gutenberg. So if you have good if you're running 2023 and you have the Gutenberg plugin installed and up today. When you go to editor, you'll see this patterns option option here. And then you should be able to find it. There's one thing that I wanted to cover which doesn't really seem related to reusable blocks and this pattern just got renaming discussion. It's more about design and composing with blocks. This is a personal opinion, but now that reusable blocks and sync or sync patterns are becoming you're kind of like one of the banner changes in 6.3 So we're starting to discuss sync partially sync patterns. I wanted to discuss some pitfalls that you might run into if you're using reusable blocks and how you can overcome those pitfalls when you're building out sites. So there is a technical limitation to sync patterns or reusable blocks. This limitation has existed since reusable blocks were first introduced into WordPress. So if we come over to this page I have some designs. And we come down to this university news query loop design. This is a fixed design. It's not something that you would want to change often, but imagine you want to have this section on multiple pages of your website. Let's look at the list for you here. We can see that this is a columns block inside of each column is two query loops. I'm not going to get super deep into how this was built. Basically you have one query loop that's just showing the latest post, and then the other query loop that's offset by one and then showing four more. Notice here that this columns block is set to align wide. Now, if this was a block pattern, a traditional block pattern unsinked pattern. There's no problem here. What I come here is I come to my columns, and I'm going to save this. It's going to be unsinked and we're going to call it university news. I'm just putting you don't need to put this here I'm just putting this here, because I'm going to name it the same thing twice and I don't want to mix it up. So we're going to create this. Okay, so my unsinked pattern was created. Now I can come down here. I can add a paragraph and I can say, Sorry, you can't do that with all the pattern. We're going to my patterns and we see that we have the university news unsinked. I'm going to insert it. When I do insert it. You can see that the column is aligned wide. Everything works like you would expect. However, if you turn this into a synced pattern, you're going to start to see a problem. So let me delete this. Come back over here. And I want to stress that this is not new this has always been a problem with reusable blocks. It's just that now that synced patterns are going to become more commonplace as people use them more and more and especially as we move to partially sync patterns, you might run into this issue more frequently. So again, I have my columns come over here. We're going to create a new pattern. We're going to call this university news sync. Her non sync. Now when I click this. It's going to refresh and it's going to squish my content. The reason I don't. The reason that this happens is that the layout settings in in the block environment are applied to containers. And when you put a synced block inside when you was sorry when you when you create a sync pattern. The editor has to wrap that in a container. If I put university news on the homepage and I put university news on internal page and then I changed that sync pattern it needs to update. And there's a wrapper around that content in the editor, which fundamentally kind of breaks the layout settings, which is why we're seeing what we see here. Now there's an open PR for this, but it's a very challenging technical issue to solve in a way that's stable and, you know, it makes sense. So, if you're thinking about synced patterns reusable blocks, and especially as you're thinking ahead to partially sync patterns. This issue becomes a much bigger problem because when you're thinking about partially synced patterns you can think about headers and footers where you don't want people messing with the design or you want to be able to update the design yourself across like imagine of header. You design what can go let's just come over here and go look at her. So imagine this header right you want this header to be the same on every page now here we're using template parts so this is it might be a bad example. But if I make a change to the header to yellow or red or whatever. I want that content to be consistent across every partially synced pattern. But I also want people to maybe change a header on a different page, you know maybe change the content on a certain page template or whatever. So the content might change, but the design is the design is the same. If I can't do a line wider line full. Well, then, you know, that doesn't really work for her I need I need to have these alignment functionality for these big pieces of content or imagine this big banner image imagine that was a partially synced pattern where you're controlling the design and everything, but you're allowing people to make some changes to the content. This is where we start getting into problems because a lot of the concepts that we have around partially synced patterns what they could be in 6.4 require these alignment settings. So in lieu of a technical solution to this, I wanted to come over a pretty simple and good, in my opinion, solution to this problem where you can use sync patterns in a way that persist the layout settings for them for those designs. And the answer to it is we just need to think a little bit about how layout works within the editor in containers for it. So when you think about a reusable piece of content or a synced pattern. This is content that could be anywhere. And because it could be anywhere you don't necessarily know the layout that is being applied to it. Because we know that in a group block for example, right now with this toggle I'm inheriting the wide and full settings in my theme that Jason file, but I could set my own sizes here that would override so if I did 400. You can see that I'm overriding the layout settings for this group. So when you have a reusable piece of content that can be put anywhere, you actually don't really know what layout settings are being applied to it. When you have a reusable walk sync pattern that has alignment controls on the outside and then you turn it into a sync pattern, and they're lost like we see here. The way to fix that is to simply take our sync pattern. We put it into a group. And now you can see here that this group. Because it's outside of our sync pattern does have alignment control. So we take this and make it wide.  So what we're doing is we're using the group as a container to set the set the width to wide. And then we're preventing the layout from that group from passing into our sync pattern. So that makes sense. So if you have a situation where you're using a sync pattern and you need it to be a sort of like with the line wide or line full, the simple solution is in the place that you're putting that sync pattern, put it into a group. Disable the layout control, and then use that container group to control whether it's wide full so on and so forth. I don't have any questions on that because I, in my mind I explained it well but I'm not sure that I did. Yes. Yeah. I was just shaking my head when you were doing that. I was like, oh, nice. Got it right. I was like, that's the same solution I came up with. And we hadn't talked about this before this session. So I was like, I think you're on the right path. In this topic and I get it it's it's a lot of containerizing. That's what it's not. But I think that finding a solution for this is going to be tricky. I don't think anybody debates that if an easy technical solution could be found, it would be implemented. We're just not there yet so I wanted to share this if folks are starting to use this functionality running into this problem. It's a pretty reliable solution that works. It worked for me. And so I would take this approach if you need to use these align wide align full reusable content areas. All right, now, the only other thing that I wanted to talk about was the fact that I mentioned this a little bit earlier I think we talked about the patterns get saved. This is real quick. So the patterns get saved to into the into the database into their post type called WP block. Right now, I think I mentioned this, there's no way to easily write this these patterns to your theme. However, before we could never even create patterns in the WordPress editor. And by the time we get from 6.3 to 6.4, we are kind of transitioning between phase two of Gutenberg and phase three of Gutenberg. Phase three of Gutenberg is called collaboration, but a big portion of it is around workflows. And part of that is editorial workflows, you know, like when you go to publish a post other publication checks, all that kind of stuff, but also workflows and how we edit our websites. And a lot of improvements coming to the site editor, and things like patterns here so we can start to see that now where we have we're able to create patterns we're able to store them in this pattern library that has a lot of our patterns. We're starting to start to see many more improvements to this in terms of how we manage these different pieces of content. Probably all called patterns right because they're all under the pattern section, you know from template parts and theme patterns and you know, synced patterns and eventually partially sync patterns. So this area of WordPress is going to be this area of the interface is going to become far more robust as we move forward. And it's also going to, I know first I'll speak for myself here, I generally don't create patterns. It's just because it's kind of hard, you got to design the block you got to take you got to put it into a file into your theme if your themes under version right like it's just a it's a it's a fairly complicated process. However, now that we can easily create patterns within the editor it's quick and it's easy and I can delete them right later. I don't really use sync blocks sync patterns very often but I use, I would use normal just standard patterns for maybe a notice, you know maybe a piece of content that I just wanted to save. So, how we start transitioning to this new workflow of being able to save content in a much more dynamic way I think is going to start to inform how the UI changes as well so as you begin using this and 6.3 is testing this and 6.3 to find all the problems or if you don't like a certain workflow or you think it should do something that it doesn't. I encourage you to, to let the community know submit an issue, because this is kind of where we're heading we're heading towards a more unified experience, which hopefully will be a good thing less terminology everything's kind of standardized under one thing for the pattern. And it will really set the stage for it phase three of Gutenberg, and all the collaboration stuff and all the exciting things that are coming. So, answering question and this is, I guess I didn't finish my thought totally. You can't the create block theme plugin at least to my knowledge right now does not allow you to export the patterns into your theme pattern folder. I fully expect by the time 6.3 comes out someone will be working on that, because it's such like a logical like of course that should work. And so, I expect that to come soon as well because the create block plugin for those who have not used it. It's a really great. I think I have it installed here. It's a really great plugin that allows you to take the changes that you make in. Yeah, it's this one here. So it's a it's a great. What the whole idea behind the create block impact plugin is it allows you to take changes you made in global styles over the temple parts. You know global styles colors and all that sort of stuff that are traditionally saved in the database. It takes all those and writes them to your theme files. And it also allows you to clone themes create new themes all that sort of stuff. So now that we have patterns, it should hopefully do like to pull the patterns out. I want to make sure we got to a question I think we missed earlier. Can you change a pattern that was created as a sync pattern into an unseen pattern and vice versa or locked. You cannot. So the workflow for that is over here. So for example if I had my university to do synced. I could come in here and I could edit it I can make changes to it and save it. But if I wanted to turn this into a unsynced pattern, what I would need to do is I need to take the columns. And I could actually I can actually do it from within the pattern which is kind of interesting. So I'm going to create this now will be new unsynced, we'll click create. And now when I come back here. I have my new grill and it's not saying so you can't take one and then unsync it or sync it, but you can basically copy the block markup and create a new pattern that is using that so we can do the same thing here let's just do it real quick. So this is a unsynced pattern. And here I take the whole block markup. Like that make it synced and turn that off like that update. And now you can see the new sync. So it's a little bit of a kind of a back and forth workflow, but you're really not doing anything other than just taking the block markup and then creating a new block with the sync or unsynced status that you that you want. How do I come slow to copy a pattern from one website to another. So, if you're, I mean honestly the simple answers I use all the time is just copy and paste so if you have a pattern. Let's imagine you have two sites both running 6.3 and you have this new sync pattern that you want to copy over. What I would do is I would make sure I'm selecting everything copy and this is going to copy the whole the whole thing. And then I will come over to imagine this being a new site come over to my new site. And I would just use command V or control V and paste those block that block markup into into the pattern. It's a bit of a manual process, but that's the by the way I would do it would you do it any differently Justin. That sounds like a fine way to do it. Yeah. I think the other course or it was just my cloning. I generally for me to clone so I just create a pattern in my theme and right right. Yeah. And let's just a one off thing I might just, I mean it's just they're just blocks you can copy and paste them and move them around to whatever you want to with them really. Yeah. So, there's one question here that I wanted. I want to make sure we hit is, you know, are we not able to version control patterns. So if you have a theme. If we will just take a look here we have a theme that has patterns that are included. So for example I have my university theme and we have there's a patterns folder, all these patterns. If this theme was in a GitHub repository somewhere and under version control, you can version control all these patterns. You can also work for it for like a website like that you were developing. If someone inserts a pattern that's in your theme folder. That pattern is just blocks and people can change it whatever you have no control over once the pattern is inserted in the blocks around the page you have no control over it. So the blocks you have complete control over it. I'm not sure about a version control setup for this, but you have complete control because every time you change your reasonable block wherever they exist will also get updated. But your point gets to partially synced patterns which again are not in 6.3 hopefully will be coming in 6.4, where you have a pattern that you can change in your theme files or wherever. So you can change that and update it, but the content is dynamic so if someone inserts a notice block the design the layout and everything can be updated but the content remains fixed because imagine someone put a notice in a blog post, and you want to change the look and feel that notice, you'd be able to do that whatever they wrote in the notice remain fixed. That hopefully will be coming in 6.4 another thing around version control, which again this is part of the vision for phase three there's no timeline and when this will be possible. But one of the visions for phase three is allowing to revision so in the editor or in anywhere in WordPress there's revisions and revisions have gotten some improvement so if you come over here to the half circle, you can click on this here and you can see our revision history, and you can see that the revisions that have been made so some work has been started on revisions in the both the site editor and through our WordPress. There is some conversation around allowing some books and filters for people to allow these revisions to go into version control, and in provide access for version control systems within revisions. So, again, that's not anywhere don't don't timeline for that but that is part of the vision for phase three around improving workflows and proving how people do different things with publishing content and managing content so that hopefully will be coming at some point. Well, actually, but why I, while while I say that. I want to direct people to know not seems. See if I can find it real quick. Or sorry sorry I apologize for this growing here folks we have a lot of developer notes that have been published. But, Justin you have never handy the link to Matias is 6.3 posts, which let's show show which one we're looking for. Let's see. All right, well I apologize. I know that links to all the face updates. Exactly, that's what I was looking for. Which one was it. There's like, like five or six of them, I think. I found it okay so this here. There's a post around Gutenberg phase three in the past two weeks there are individual article written about each section. So for example if you want to learn more about post revisions interface, there's a post about the post revisions and the changes that are going to become hopefully coming so this is a really good collection of posts to review as you look ahead to phase three. So part of that is the library which we saw some of that today, being able to manage different, you know patterns in that sort of thing. There's also some possible improvement to blocks and whatnot. So I highly encourage you to check out this article and then the corresponding in this bulletin bulleted section the corresponding articles for additional phase three stuff. Now we are, we are basically at a time so I want to touch on a few things before we leave today. The first thing being on Thursday of this week, there's going to be a live product demo, it's going to be put on by Amy McCarthy and Rich Tabor. So I'm going to put that in the notes here so if you're, you're not, not doing anything on Thursday. So I highly encourage you to attend this product demo. They are probably going to be covering some of what I talked about today, but also everything else is coming in 6.3. So lots of cool stuff beyond synced patterns that are coming in 6.3. So that's going to be a reference to sticky stickiness. As we can see with the sticky header so a lot of cool things happening in 16.6.3 I highly encourage you to test it out. Again release candidate for first release candidate it's going to be coming out tomorrow. And then I also wanted to plug developer hours so this is something that our developer relations team does every month. And then Justin, Michael and Ryan are going to be putting on an event in a week and a half, I guess. And so I have a link there for that, which would be another fun one for more developer oriented around block styles. So if anybody has any last minute questions I'm happy to take them. If not, thank you for listening to me babble about reusable blocks and synced patterns. All right, if you're reusing reusable blocks now, nothing will change aside from a name change. You're just going to get more UI and you can now create normal patterns, unsynced patterns within the interface. So everything will still work just a different name change. I'm not recording but I'll stick around for a few more minutes and people have questions. Again, my name is Nick Diego sponsor contributor automatic joined by Justin Tadlock, another sponsor contributed automatic. Thank you so much for attending today and I hope you attend future online workshops. Have a good day.


So you want to install stable diffusion locally without any filters. Not a problem. For the record this tutorial is only possible because a dedicated member of the Patreon support squad really wanted you guys to have this video. And he volunteered to spend hours of his free time walking me through the whole process on Discord. So shoutouts to Penguin Dragon if you liked this video. Personally I'm running an Nvidia graphics card so it might be different if you have an AMD setup, but generally you'll want to create an account on Github. Then you'll want to create an account on Hugging Face. Yeah, like the alien. Both websites are totally free. Next you have to download a few programs. First if you're on Windows go to gitforwindows.org and hit download. It'll take a few seconds. Then go to your downloads, double click, install, agree to the policy.  And just say yes to everything with all recommended settings. It will install and when it's done just launch it. At this point you should go to your C drive, right click, create a new folder called AI, right click on the new folder, copy, go to your Git program and type CD, space, right click, paste the address you copied, enter. Then you'll need to get the link for the web UI from the description. Click the green button and this button to copy the link. Then go back to git bash, type git, space, clone, space, and right click to paste the link. Press enter. It'll take a few seconds and then be done. Then follow the other link in the description and go to Hugging Face and download the latest version of Stable Diffusion, which at the moment I believe is 1.4. Scroll down, accept the terms, access, and download the CKTP file. This file is kind of big. It took me like 20 minutes to download. While that's downloading, you should follow the other link in the description and download the GIFPGAN Face Restoration add-on, which will super help you when you're making characters. Scroll down a bit, get to V14 model, and while that's downloading you'll need to download Python. The version that worked for me was 3.10.6. Scroll down to the bottom and get the version for your machine, minus 64 bit. Once it's done downloading, double click the installer, add Python, install now, and while that is happening, go to the folder you just created and inside the Stable Diffusion folder, drag the GIFPGAN Face Restoration file over here. Then inside models, Stable Diffusion, drag the CKTP file over here, and by now Python should have finished installing. So from the main file, go down here, double click the main web UI user batch file, and it'll start installing a bunch of things, like a lot of things, like it's probably going to take 20 to 40 minutes. Now if you ever find yourself waiting more than an hour and you don't see the screen change, Penguin Dragon and I figured out that if you click anywhere in the black screen, it will usually pause the download without you noticing. So basically if you don't see any change after an hour, just press Enter and it will usually start to finish its thing. Anyway, eventually it'll tell you all this and you'll see a URL here. Copy it, go to whatever browser you want, paste it, and you're done. If you saw my last video, you'll recognize a lot of settings from the Stable Diffusion website, image width, height, sample size, and a bunch of new options that they don't have on the site. You type in your prompt, click Generate whenever you're ready, and at any point, if you want to abort a generation, just click the Generate button again. Once the images show up, you can save them right here. And if you ever want to see where your saved images are, you can find them under Outputs and Images. You can always check the status of your generations in the command prompt over here. And one last thing, if you don't have a particularly powerful computer, you might run into some problems, and I've been told that a way you can resolve this is by right clicking the batch file, edit, and insert this piece of code right here. Save, and then try again by double clicking to run the software. Anyway, hope that helps, and as always, I hope you have a fantastic day, and I'll see you around.


Hi everyone, Joe for jaspyscasebrakes.com. We finally did it. We knocked out the Jaspys high end hit packs. It's a random pack break. If you're in the break, you're guaranteed something and there's some nice somethings in here as well. This is the full checklist of what's inside. So those hits are all randomly inserted into these hit packs here. I'm going to randomize your names, randomize the numbers and match up with the pack and we'll see what you get. There's also that promo right here. If you buy a full spot, you've got a chance to win a full spot. So in bold, these are the names who bought full spots. There's that group, this group, this group, and then Brandon got the last spot mojo. So someone's going to get that 35th spot. Hey, congrats to the people who won spots in the fillers as well. Appreciate you taking the risk on those, thanks for giving that a shot. Now here are the, it's a one in 13 chance. We'll buy one, get one for somebody. So it'll be name on top after seven, lucky seven for someone, five and a two, seven times. One, two, three, four, five, six, and seventh and final time. After seven, it's going to be Jackie. There you go, Jackie. Extra spot for you. Did you buy a spot, Wolfpack? What is your, what is your name, sorry? Let me just double check this really quick. Now let me pause the video really quick and let me double check this. All right, welcome back ladies and gentlemen. I think we figured it out. So first of all, I forgot Tim. Forgot to put him into the break. That's my bad. Steve Birch was kind enough to say, hey, give me the break credit for that, for my winning spot. Give Tim the spot right there, right? So now Tim is officially in. Unfortunately, I already ran the randomizer for the full spots for a chance to win a full spot. Jackie, you won that one. I can't undo that randomizer. So to pay Tim off, I gave him $100 of break credit as a little bit of hush money. So, and I think he's fine with that. So I appreciate that, Tim. Thank you, Steve.  I would have had to kick you out, but you're still in. So we're all good now. And all parties are okay with this. So thank you very much, guys, for making this a little bit easy. Now we can run the randomizer. We've got all 35 spots. Now we can assign you one of these 35 packs. All right. So thanks, everybody. And now let's go. Good luck. Now let's roll it. Randomized names and pack numbers, six and a four, 10 times. One, two, three, four, five, six, seven, eight, nine, and once more, 10th and final time. So we got David G down to Jackie. Six and a four. We got 10 times for the numbers. One, two, three, four, five, six, seven, eight, nine, and 10th and final time. After 10, we got pack 28 all the way down to pack six. All right. So here's how it shakes out. David with 28, Brandon with 13, Tristan with 30, Jeff with 11, Ryan with 31, Justin with nine, Joe with 16. Tim U with 24, Chad with one, Daniel with 33, Arthur with 22, Tristan with 29, Daniel with 21, James with four, Tim U with a winning spot, 26, Russell with 14, Nancy with eight, Judson with seven, Eugene with 25, Daniel with 10, Victor with 34, Nancy with 23, Jackie with the extra spot that you won, pack 35. Josh with 12, Nancy with 20, Kenneth with 27, Tim via Steve Birch. Thank you, Steve. Tim, you've got pack 18. Danny with 19, Scott with 32, Nick with five, Allen with 15, Allen Matsu with 15, Allen Murdoch with three, Kain with two, Viko with 17, and Jackie's full spot, pack six. There might be trades. We'll pause the video. We'll give it a short trade window when we come back. We'll rip open those packs and stick around. Be right back. All right.  A little bit of a trade chatter, but no deals were done. CWC trade window closed. Now let's see if we're going to do this break alphabetically by your first names or numerically by pack number. Let's roll and randomize it two and a one three times, one, two, and three. We're going to go alphabetically by your first names. Thanks, random.org. So let's alphabetize so you can see Chad has pack one, right? It's alphabetized by first name and Chad still has pack one. All right. Now let's actually print these labels out. Might make it a little bit easier for us when I'm putting these away. Hit packs, a lot of setup in these hit packs, but once we get rolling on these, once we get rolling on these, it's pretty exciting. All right. So, Allen's. The two Allen M's, you guys are going first. Good luck. All right. Allen Matsui, pack 15. Good luck. Looks like we got a graded card. PSA nine. And it's a tie-dye Jalen Wall. It's an XRC card. Nice. He's pretty good. It's pretty sharp. 25 out of 25. Allen Murdock, pack three. Looks like we got another graded card in here. I see it 8, 5, 10. Ooh, this is nice. There's Joe Cool right there. Joe Montana, 15 out of 25 from 2014 NT. Centering edges, corners, all 9, 5. The surface is a 7, 5. There's autos at 10. Allen Murdock, there you go. Nice one. Arthur, pack 22. Ooh. Arthur Hackett, this might, this is a redemption, I think. Wow. Congrats, man. That's a redemption for the sealed case of 2022 Topps Chrome Baseball Ben Baller Edition. Congrats, Arthur. All right, that's one case down. Let's see what Brandon has in pack 13. We've got one more case. All right, here's another graded card. Oh, I know this guy. That's LeBron James. Centering is an 8.  Corners and surface a 9. It's an 8, 5 grade draft pick LeBron James. Nice one, Brandon. Right, Rex. Don't forget the free top loader that Arthur's going to get. Actually, I don't know if that's ship. Sorry, Arthur. You might not get that top loader. All right, Chad with pack one. This also feels like a thin pack. Oh, but I don't think it's a card. Ooh, it's a one of one. Jalen Johnson, rookie ticket, autograph one of one. Nice one, Chad. And all aboard the Big Hit Express. Time with pack two. We've got it in case card, Panini sticker. It's Troy Aikman. Hall of Fame autograph from Flawless. Oh, it's a one of one black box. Troy Aikman. Nice, kind. All aboard the Big Hit Express. Delo, Daniel, pack 21. We have a PSA nine. We have some baseball. We've got 2019 Bowman, Marco Luciano. That is Bowman first autograph. The highly touted Giant's prospect. There you go, Delo. And we've got Daniel again, pack 10. So that other one, Daniel, that was the full spot you bought. This is the spot that you won in the filler.  Oh, I know this guy from five star baseball. Vlad Guerrero Jr. Eight out of 10, patch and autograph. Nice one, Delo. J, we're giving away two sealed cases. Full checklist is available. Took a minute or two to fill, but definitely worth it. Worth the wait. All right, Daniel, pack 33. The spot that you won doesn't feel like a case, but let's see what we got here. It's another graded card. It's a 9-5, and it is nice. Spurs edition of Lonnie Walker IV from 1819 Prism. White sparkle, centering, edges, corner, surface, all a 9-5. Nice, playing well with the Lakers. Lakers back in action tonight. Looking forward to the final stretch. All right, Danny and then David G. Danny with pack 19. Doesn't feel like the next case, but appreciate you getting in, Danny. Oh, this is nice. Baseball, PSA 10 from Sapphire. The Martian, Jason Dominguez. Nice. From Sapphire, his bowman first, and a 10. The spot that you won, not too shabby at all. If he just delivers for the Yankees, if he lives up to even half the height, that would be awesome. David, pack 28. Another graded card. I appreciate that, Jackie, but that's not going to help you one way or the other. But good luck. Pristine Zion, rookie Zion, centering a 9-5, the rest of them are 10, edges, corner, surface. If you can just get back on the court with some regular consistency, David. That would be a nice one to hang on to. All right, David G. Zion, pack 28. Eugene. And then a couple of Jackies. Pack 25. We got some hoops. We got some Allen Iverson. 1996, Tops Chrome basketball Allen Iverson, PSA 10, or PSA 9, that is. The answer. Nice. There you go, Eugene. Thanks for getting in. All right, Jackie, you're up. Next two packs. James, you're after the Jackie. Pack six and 35. There's pack six. Ooh. Did you call your shot, Jackie? Wow. There it is. A sealed 10 box case of 2022 Bowman Draft Baseball Sapphire Edition. Jackie calling his shot. Congrats. And he still has one more. Pack 35. That's the extra spot that you won. There you go, Kevin Durant. Centering. Edges, corner, surface, all a 9-5. Now we're going to ship that to you sealed, Jackie. And that as well. Nice. Congrats, man. Got a nice KD. Got the case. So the cases are gone. Arthur got the sealed Ben Baller case. Jackie just got the sealed other case. No, we're going to ship those to you sealed. Pack four. All right, James, all the cases are gone, but let's see if we can get you something nice. You and everybody else. Nice two out of ten, Steph Curry. Standout memorabilia from Immaculate. All right, Jeff, you're next. And then Joe. Jeff with pack 11. Nice. Bow Jackson. Five out of 15. Flawless autograph. Nice one. Nice bow. And if you're keeping track on the checklist, you can probably start checking off some cards and then maybe see what's left and what you might end up with. All right, Joe with pack 16. Good luck. You're welcome, Jeff. We've got a graded car. We've got some football. We've got PSA 10. We've got a Trevor Lawrence. From 2021 Donner's Optic, hollow, Trevor Lawrence. Not bad. Not bad at all. He had a really nice season last year. I'm sure that has helped his value in the hobby as well. PSA 10s are always nice. Hey, thanks for getting in, Jackie. That was kind of amazing calling your shot. All right, Josh Smith and then Judson Smith. Josh with pack 12. And we have a one-of-one pastime signatures. Don Mattingly. Donnie Baseball. Josh. All aboard the Big Head Express. And obviously all these hits will ship fairly quickly, too. Judson Smith with pack 7. We got some hoops. We got a one-of-one. Nice Kenyon Martin Jr. Signature series. Otto. One-of-one. Judson. All aboard the Big Head Express. Woo-hoo. Nice. Onwards. Full of ways to go. We got Justin and then Kenneth. Justin. Pack 9. That's right. Jackie did try to trade that number. I'll bet he's glad he didn't now. There's Anthony Edwards. PSA 9. 2020 Court Kings. This might, this has to be, I think this is a short print from that court king set. There you go, Justin. Anthony Edwards. Kenneth with pack 27. Oh, Jackie tried to trade with you. Oh, no. Nancy's now having some regards. All right. We got some museum collection. UEFA Champions. Nice Robert Lewandowski. 24 out of 75. PSA 9. Otto's a 10. By our Munich edition. Prolympic striker. All right, Nancy. You got a few packs that you won. Congrats. Let's see what we can get for you here. Pack 23.  We got Mike Holmgren. One of one. Packers edition. All aboard the Big Hit Express. Woo-hoo. Pack 8. We got some hoops from, looks like from Panini 1&1 basketball. It's Anthony Hardaway. 29 out of 75. And finally, pack 20. And Nick, you're coming up next. Nick O. All right. And we have from Flawless. Nice John Elway autograph. Flawless Flyers. On-Card Otto 3 out of 10. Now the helicopter play. Classic. There you go, Nancy. Thank you. All right, Nick and then Nico. Nick, Nico Russell. Nick with pack 5. It's Klee impressions. Larry Fitzgerald, 7 out of 10. That's a cool looking card. Thanks, Nick. All right, Nico, you're at bat. And Russell, you're on deck. Nico with 17. Nice Lamello ball. Silver prism. PSA 10. That's really sharp. That's really nice. All right, Russell up to the plate. You're in the on deck circle. Russell with pack 14. We got football. We got a grade. We got a PSA 9. We got a Kurt Warner. From 1999, playoff contenders. Autographed PSA 9. 1999 playoff contenders. There you go, Russell. Ryan and then Scott. You are up next. Pack 31. Got some hoops. We got some Kobe. From 96, 97 tops. Kobe Bryant. Graded in eight. Centering edges in eight. Like his number. Corner seven and a half. Surface eight and a half. Nice Kobe, Ryan. Scott, you're up next. Then Tim, you. Scott with pack 32. We got another Klee card. Klee impressions autograph. Drew Brees. Nice. Four out of 10. Drew Brees. From 2020 immaculate football. Tim Badafouls spot. Won a spot. 24 and 26. Pack 24 is a Hall of Fame autograph. It's Larry Bird. Bird is a word. 17 out of 49. Pack 26 feels like a graded card. And it's another Kobe. Nice. 193 out of 350. 2000 ultimate victory. Victory collection. Kobe Bryant PSA 10. All right, Tim. Congrats. Thank you for getting in. Almost done, folks. All right, we got Tim. Tristan with a couple. And then Victor. Thanks for your patience. Tim's and Tristan's and Victor's. All right, Tim with pack 18. And Tim wanted the Kutcher off, but you're going to get a Collins Sexton instead. 2018 Panini contenders. Collins Sexton. PSA 8. One of one. There you go, Tim. All aboard the Big Hit Express. And then Tristan with pack 30 and 29. 29 and 30. And then Victor. You've got pack 34. Tristan, good luck. You've got PSA 10. KG from 1998 Skybox Premium. Soul of the game. Look how young he looks there. All right, and then your other pack. That was pack 29, pack 30. Tristan is going to be... Football. It's going to be a Drew Brees autograph. 20 out of 25. From Flawless. Nice. Thanks, Tristan. Last but certainly not least, Victor. With the spot that you won, pack 34. It feels like a slapped card. Feels graded. And that's going to be... Yep, the Kuturoff. PSA 10 for 2013 Upper Deck. PSA 10, Nikita Kuturoff, Young Guns. Nice. And there you go. There you go, ladies and gentlemen. That was a lot of fun. That was Jaspy's high-end hit packs. Keep an eye out for more on Jaspy's casebreaks.com. We often have hit packs on the Instagram channel too at Jaspy's Breaks on the IG. I'm Joe. I'll see you next time for the next one. Bye.


Hey everyone, it's Gabrielle over here at Oxmer Toyota today for our weekly used car specials now this week I have three trucks. I want to share with you all so let's go over some Information on the first one which is going to be this one right here now. This is a 2017 Toyota Tundra It's an SR5 it is four-wheel drive now that extra your color is in a magnetic gray metallic Now this vehicle does have the motorsport wheels There is a very low mileage on this Had the eight-way power driver seat. There's bluetooth back-up camera now This vehicle has a clean car fax one previous owner that interior color is in a graphite So the mileage is 38,000 852 the price is 42,500 now this vehicle has 10,000 miles less than the market average and it's one of the best values within 150 miles Moving on to our second vehicle This is a 2018 Toyota Tundra limited.  There's a sunroof Vehicle has navigate navigation There is bluetooth back-up camera the interior does have leather That interiors in a graphite color Mileage is 38,739 Vehicle had one owner clean car fax and it's one of the best values in the nation prices at 48,000 For our last vehicle This is a 2018 Chevrolet Silverado 1500 LTZ 71 it is four-wheel drive Exterior color is in a graphite metallic This vehicle has the eight-way power driver seat there is heated leather bluetooth Back-up camera this vehicle had one owner with a clean car fax that interior color is in a jet black Mileage is 48,947 the price is 35,614 and it's nearly $3,000 below the market average So guys if you have any questions feel free to let us know all of our contact information is listed right here Thanks, everyone. Bye


The education process for us started when we moved on this place. And I will tell you it's never ending. My name is Lyle Perman. Welcome to Rock Hills Ranch. We're the 2014 recipient of the Aldo Leopold Award for Conservation. I started ranching and farming with my father. We drained wetlands, used heavy cultivation, and season-long grazing. It probably became apparent to me in the mid-80s during some dry years, plus economic hardships that brought about change in terms of how we ranch today. I felt that I needed to come up with a way that would make our ranch drought-proof. So how could we move from a boom and bust type of situation to one where we had a plan? And that was the importance of learning how to live with all inhabitants of this ecosystem and raise a family and make a living doing it. One of the things that we've done as a couple and that Lyle and Luke have done is really worked at educating ourselves about this particular patch of ground. What works other places doesn't work here where we have limited rainfall. We have highly erodible ground with lots of rocks and lots of slope. It doesn't make sense to farm it at all. It's best suited for raising livestock and for raising protein. And that's where Lyle's heart has always been, too. My name is Luke Perman. I'm the fifth generation of Perman's to ranch in this area. Growing up here on my family's ranch, even going back to my grandpa, he was never afraid to try new things. I think my dad was a little bit like his dad in that he was an early adopter of some practices that were going to not only probably enhance the bottom line of the ranch but also make it better for future generations as well. I suppose maybe I'm cut out of the same cloth because I like to try new things and with the goal of making a better grassland, better in terms of it's going to be here longer. One thing that we've learned in operating this ranch is to use the holistic approach. And it's a question of what do we do to solve the problem. And we've found that you have to take the holistic approach because invariably the decision you make may have consequences. There might be collateral damage. So we try and look at the whole picture when we make management decisions. We planted some of the crop ground or what had been crop ground to grass almost right away. And it was neat to see the native plants come back because that's always been my thing. I like to ID things. I have a degree in biology. And so the ranch has been a hands-on experiment in prairie ecology since the beginning for me. The permins are probably one of the few operations around here that I've worked with anyway that has taken the initiative to see quite a bit of their crop land back to grass. Just from a stewardship standpoint that's phenomenal. You don't see it much. You see the other aspect of it. You see the conversion. The world's population is exploding rapidly. So I understand, very much understand the need for increased food production. But on the other hand, there has to be a happy medium with everything. One way that the South Dakota Grasslands Coalition helps and supports people like the permins is, you know, use them as a model that other people can use and have tours at their place or you have Lyle come speak. And they can take away things that work from a working ranch. This isn't lab type stuff. This is items that are going on on a real working ranch and people that are making it work. What we're trying to do on the land is important. And various governmental entities or non-governmental entities have provided assistance. Technical and financial assistance does on a ranch to install various conservation practices. But all of that's for naught if people don't learn. My name is Garth Gadsden. I'm a student at the University of Missouri where I'm from the state of Missouri. I'm here on Rock Hills Ranch this summer as the summer intern. So one of the projects I've been working on here lately is trying to trap some dung beetles. There's a lot of different kinds. They're helping our cattle out as well as our soil by reducing the flies. With so many benefits of them, we just want to get a better handle on what we have and what we can do to make them better. We felt there was a need of education. We felt that there were things that we were doing on our ranch that's important to share with other young people. And what better way to do it than create an internship and try and bring those young people to the ranch to teach. From the standpoint of education, the young people that we're trying to attract to the ranch, we feel our future decision makers that impact farming and ranching in America. You know, thinking about how I can pass things on to our kids. I'm less concerned about whether or not they come back to the ranch as I am concerned about, are they going to have the values that, you know, as a parent that I want to teach them. It's neat to me that my three-year-old son and my three-year-old daughter are already learning about what they could possibly do someday if this is what they choose. And they get so excited to go with Dad and if they get left behind there's lots and lots of tears. And it's just really special to me that we can do it as a family because it is our life rather than just a job that we go to. The potential, I think, is unlimited, really. Right now I'm not at all thinking about adding more acres. I'm thinking how do I stack more diversity on the acres we have because I think there's a lot more room for that. In the short term, it doesn't always pencil out, but in the long term it will. If we're doing things that are taking care of the soil and taking care of the plant community, that's just going to be here 50 years from now. What will it take in management practices to restore what was once here? That's our goal. Well-known conservationist Aldo Leopold said, the landscape of any farm is an owner's portrait of himself. It's our goal at Rock Hills Ranch to portray the portrait that leaves a legacy for others to follow that we can be proud of.


For me, the fastest guy right now in the NFL today is Tyreek Hill. Man, he's such a little guy in the way he jump up and grab the ball out of the air and make plays like a real receiver. It just impresses me, most fast guys like that, they're not real good with their hands at receiving. I would say Ty Gurley, Zeke, them like 1-A, 1-B. My third guy, he didn't play this year, Levyon. I wasn't always the fastest guy growing up, but once I started running track, 9th grade. Every out season of football I was running track, so 19th grade I was middle of the pack. Then 11th grade I just shot to the top, then 12th grade, then ever since then. But I just continued to work on my craft and continued to work hard and it just happened. I think they were real close. The year before they competed real good, went to the playoffs. This year they was one game out, they was right there. So I just feel they keep working hard and before you know it, we'll be right there. I think Brady gonna win it, 21-28. The toothbrush company is called Stay Bright. Stay Bright, it got changeable heads and then at the bottom of it, it has a floss container with floss in it. So be tuned for that, that's driving soon. I got my clothing line, Wefty Warfare Intentions, that'll be coming out soon this year.


Grab an umbrella because a shitstorm of bitching is coming your way joining me the lion of YouTube Chris Stuckman The lion of YouTube You're the lion we're gonna move on though this episode is a bit different because we're actually arguing over which film is worse X-Men the last stand versus spider-man 3 The cast of X-Men is unbeatable in my eyes, but I'm here to complain So instead of focusing on what's great who's cool I'm gonna talk about the new characters and how bad they butcher the old ones kind of seems like you're cheating a little bit there Adam I mean you're already glossing over the greatness of Hugh Jackman's Wolverine Patrick Stewart's Xavier or Ian McKellen's Magneto I'm sorry Chris. I thought this was my show. Is he yours now? Dress is this is this the lion's show No, okay. No, I know it's not. Sorry. Sorry, please continue. Let's just start with Cyclops He was barely used in the past films, but here he's Unapologetically ripped from the film 15 minutes in he barely has two minutes of screen time You mentioned Xavier look what they did to him killing such a memorable character needs to be handled with extreme care and craft It was utter bullshit They have him slowly disintegrate like that vampire chick at the end of blade 2 for no f***ing reason He left his students an X-men family at the mercy of one of the most powerful and uncontrollable mutants ever seen Speaking of entirely wasted characters What about Venom? What are the coolest villains in all of spidey comic history and he's portrayed by Topher Grace aka Mark Ellis from Schmell's No And he's killed by something that my grandmother does when she's trying to get loud kids out of her yard banging objects together Gene Gray look what they did to my bride. Look what they did to my beautiful fem day my beautiful fem day Gene Gray's rebirth as the Dark Fiennus should have been an entire movie on its own Hell, we could have spanned free movies and become as epic as the Lord of the Rings.  Oh, it's happening Crisp. Is that like a rampage but with your name inserted in place of ramp? It's exactly what it is now Gwen Stacy, okay? She's very famous from the comic. She's a fan favorite yet in this film. She's just another Mary Jane Watson a kind of Damsel in distress cutesy woman who doesn't really have much of anything to do Toby Maguire is likable as spider-man but halfway through the movie He turns into emo Parker and starts dancing everywhere one of the cool things I did do in this movie was bring Thomas Hayden Church on as Sandman He was great as the character but then he gets sidelined for the entire movie and why in the hell did they give Kirsten Dunst? Two songs in this movie. I mean, it's a musical for goodness sakes half of Spider-Man 3 is a musical What about Angel?  Oh, let's not forget pufferfish, man Plus you thought Peter Parker was a bad emo every one of these villains is dressed like a retired evanescence member But do they break out into a choreographed dance number twice? I think not Adam I think not Gather around kids I'm gonna tell you the story of X-Men last stand and how it was ruined by one asshole named Brett Ratner All right, that's entirely not fair. Now. I'm just being over the top. I could easily blame Fox for this They rushed the script and the shooting schedule hit a summer release They could have waited for Brian Singer to get done ruining Superman returns But no they had to go forward. They had to let this debauchery take place There's actually quite a bit of controversy surrounding Spider-Man 3 as well Sam Raimi has publicly said that Venom wasn't supposed to be in the movie and that Sony Basically forced him to include a character that he didn't really want to be in the film Which is one of the reasons why he feels like this little tiny last-minute addition so because of that I mean a lot of this project to me doesn't feel like the director actually has as much heart in it because he's being forced to Include story elements he didn't even want to have in the movie So it's clear that both these films suffered from a massive amount of issues But at least Spider-Man 3 was entertaining from an action standpoint fight against the second green Goblin is cool Even with the Lord of the Rings ripoff shot plus Sandman's visuals are still pretty impressive So impressive that an entire city watches him in his final form giant Sandman creature monster thing and They're just sort of like oh, that's pretty cool I'll take that over a bunch of hot topic rejects jumping in the air like frogs That was the final fight in X-Men not only that but we have to see Magneto and Pyro throwing flaming cards at our heroes That's the best they could conjure up car bombs Look, there's no question that X3 is definitely the worst of the original trilogy But there are still some emotionally strong moments in the movie I mean Logan had to watch Xavier die right before his eyes. He even had to kill his one true love I mean there is some powerful stuff in the film Spider-Man 3 is not a total loss. We both know that the final shot where our three friends from this franchise Look off into the sunset and the most overused cliche on the planet. It's still kind of touching There was also some character growth by Peter this time He was able to let the pain he felt for his uncle's death go by in fact letting the killer go He made letting it go cool before Elsa did That was a frozen reference. So this should instantly get millions of views Let's just move on to effects before I lose my mind. I'll decide when we move on Which one of you douchebags did that?   I mean the golden gate bridge sequence There's a lot of really cool fight sequences in the film that involve a lot of CGI Wolverine's claws don't look as bad as they do in the eventual X-Men origins Wolverine So at least they're that Spider-Man 3 however has a few great sequences ranging from an insane first confrontation with green goblin to the sandman chase The ending against venom is short and dumb But it's it's slick enough. It works kind of ramy still knows how to handle that spidey camous style And there's no shortage of high flying scenes that showcase our web slinger Can we just bring up the dance number again, please?   They should have cast Jesse Pinkman for that line. Now that's something we can agree on This is actually one area where Brett Ratner didn't screw up He seeked out John Powell to do the score and I'm a huge fan of this composer's work His compositions are very strong and really hit hard Especially in that first encounter with the Phoenix all that said the original spider-man trilogy Still has one of the best superhero scores to date And that was thanks to danny elfman who did not compose the music for spider-man 3 That was christopher young thus the music was not as strong despite the fact that christopher young did do a Good job with the score and did I mention that kirsten dunce has two songs in this film? You did yes Then why is this even a debate? I'm not sure it is at this point Chris and I think x3 is a bad movie plain and simple The film has no subtlety to it The emotions are just hammered over your heads because it can't be bothered to take its time to build up some steam The only good news out of all this cluster Is that x3 can be forgotten now. It's no longer relevant. Thanks to days of future past So we've spent a lot of time here together ragging on these two superhero flicks, but i'm gonna be honest here I don't hate either of these movies. I think they're vastly disappointing. However, spider-man 3 tarnishes What could have been a fantastic trilogy because of a lot of stupid behind-the-scenes headbutting between sam ramy and sony He got a film that as a director He's not even proud of and that's sad both of these films could have been much better Yes, there are worse superhero films out there batman and robin for instance, but as a film franchise It really tarnished those trilogies Maybe now I could go back and enjoy it because I know it's a standalone crazy stupid mess of nonsense But no No, I can't do that because I remember I was at that theater the day that film came out I was in those seats Watching my favorite mutants get drugged through the mud Being hammered down by a shoddy script in terrible direction Oh, I remember and I'll never forget X3 was my 9-11 That was too much the good news adam is that you're not alone We all lived through it Together anyway chris. I want to thank you for taking the time to feud with me It's always a blast getting other fellow youtubers to collaborate come together talk about movies in a fun carefree manner I just want to say all kidding aside. This was a lot of fun to do. Thank you very much for asking me to do this I had a great time with it. You guys can find me at youtube.com slash chris stuckman with two ends at the end I love to review movies and games and thank you very much for having me on the show I'll come back anytime you want me because I like to do the rinse you guys made us go back We live a personal hell Now it's your turn you watch the video You decide which film is in fact worse Spider-man 3 or x3 sound off in the comments subscribe like the video and remember this is more than just reviews This is movie feuds. Hey, can we trademark the lion of youtube? I don't know what it means But I like it


In this program, we are going to see how we can extract PDF information like PDF document information like author, created date, bookmarks from the PDF. So here is our game plan, we are going to create an object of the info extractor class, we are going to load document and we can, we are then just fetching the information whatever we like, like the author, created name, producer, subject, extractor. So we are already having one PDF file here and let's see what we can fetch out of it. First we are going to have the object of this info extractor class, we are going to pass the registration name and key here. Now let us load document, load document.file, sample, program3, PDF and just display the information like we can get the author name from the extractor.author, we can get a creator name by using the creator likewise. Let us see what we can fetch it. Now it is compelling like this file doesn't exist, it's weird, I'm sure, okay, we need to have the copy always here, let us see now, okay. So in the author name, it is displaying some trial information because we are using the demo keys, the creator is none, producer is kia, PDF, we have the subject, title, creation date. So this line will be removed after we use the actual keys. So I guess the code is pretty simple here.