Sometimes the default custom post type fields might not be enough for your requirements and you need to store additional data on a custom post type. Fortunately WordPress supports something called post metadata, which allows you to store additional information about a post. Let's look at how you can use post metadata on a post or custom post type. Metadata is a way to store additional information about a post in a WordPress database. Post metadata is stored in the post meta table as key value pairs. If you look at the structure of the post meta table in a WordPress database, you will see that it has four columns, meta ID, post ID, meta key and meta value. Post ID is the ID of the post that the metadata is associated with. Meta key is the name of the field and meta value is its value. You can add post meta to a post using the add post meta function. This function takes three parameters, the ID of the post, the name of the metadata and the value of the metadata. So let's say you wanted to add a post metadata field to a post with the ID of one and you wanted to store, say, the location where the post was written as London. You would do this using the following code, calling add post meta, passing in the post ID, the key and the value. There are other functions for working with post metadata such as update post meta, delete post meta and get post meta. You can read more about these and how to use them in plugins in the metadata page in the plugin developer handbook. Adding post meta via code is one way but it's also possible to enable site administrators the ability to add post meta data via the WordPress admin interface. One way to do this is via the custom fields panel for the post type. To enable the custom fields panel, you will first need to make sure your custom post type supports metadata. To do this, you need to add or update the supports argument to include support for custom fields. Then when editing a custom post type, click on the editors options icon, preferences, panels and enable the custom fields panel. This will ask you to refresh the page and then you'll see a custom fields panel at the bottom of the screen. Here you can add a new custom field and give it a name and a value. For example, you could store the ISBN of the book. This panel uses the add post meta function under the hood to add the metadata to the post. It is also possible to pre-populate the name field of the custom fields panel with a list of predefined meta fields. To do this, you need to hook into the post meta form keys filter and add the names of the meta fields that you want to display in the custom fields panel. The post meta form keys filter is fired just before the HTML of the custom fields panel is rendered and passes in two parameters, an array of meta keys and the post object. If no other keys are predefined, a query will be run to fetch the keys of any existing metadata for the post. So by updating the array of meta keys in this filter, you can add meta field keys to the custom fields panel to make it easier for your users to add the correct metadata. Here is an example of how you could do this. You register a callback function onto the post meta form keys filter and set your accepted arguments to two to accept both arguments from the filter. Then check if the post's type is book. And if it is, add the ISBN option to the keys array and then return that array. If the post type is a book, it will add the ISBN meta field to the custom fields panel. Now, if you create or edit a book with the custom fields panel enable, you'll see the ISBN field is available to add as metadata to the post. Another way to allow site administrators to add post metadata is to use custom meta boxes. Working with custom meta boxes, however, also requires a good understanding of developing with security in mind. But for now, you can read about them in the custom meta boxes page in the plugin developer handbook. You will learn how to work with meta boxes in the plugin developer learning pathway.


Hey, what's going on guys? Rudlinal here bringing you back with another Python tutorial now in the last video We took a look at the minimum function or the min function and that let us get the minimum value of a list or an array Or that sort of thing so today I figured it makes more sense to check out the maximum function and try and recreate that For ourselves and that's obviously a lot similar to the minimum function In fact, all it is is changing a comparison operator. So let's get idle started and I'll show you what I mean So let's get idle creating new Python shell here Python program file dot Python you can save it as whatever you'd like obviously You don't need a shebang you line if you're working on Windows, but I being in Linux do need one will create a base class and get a constructor going Passing the self keyword as always We'll pass something there for now and then we'll test if this is the current script Name is equal to Main because that's a good practice to get into and now we can use root which is a instance of our base object class So let's define Get maximum obviously we need some parameters here We need self and then we need the array So let's give it a go. We're gonna want to go for each item in our array This is gonna be set up almost exactly the same as last time If the item is equal to the first element in the array Remember we have to use zero to index the very beginning We can set maximum to be Eray, I'm sorry the first index that we're looking at if it's not If remember we could combine these else in that if statement with an elif statement, but I myself don't like those Obviously if you want to use them feel free Else if let's see the current item is greater than the maximum Maximum can equal that item and then when we're done looping we can return the maximum number So let's get back up to our constructor here and let's see what we can do self dot numbers let's say Little list going and we can have let's say negative two negative twenty three negative one zero Let's throw in on a hundred somewhere in there and maybe a fifty four fifty three anyway negative two again a negative number anyway, and then how about nine hundred nine nine thousand maybe thirty 354 and then if we Run our self dot actually won't we'll want to print the output of what we get here self dot Get maximum We can pass in self dot numbers and we should get nine thousand and that's because it is the highest number here And we've repeated and we've gone through this array that we just passed in and we've looked for the maximum number by testing it for The first time and setting it to the first thing that we see and if we find anything greater than that We will reset the maximum number to be that and when we're done looping we just display the one that we found and We're all done. Thanks for watching guys. I hope you enjoyed this I know it was very simple and pretty similar to the last tutorial But it is just a matter of changing your comparison operator. I'll see you in the next tutorial. Bye


I have never seen a worse difficulty spike than in Dragon Ball Z, Budokai, Tenkaiichi 2. For the past couple months, I've been playing through the story mode and it's been a great time. Up until the Metal Cooler saga, where if the game's difficulty was looking like this, it randomly spiked up to about here. In the video that I ragequit on, I had to fight one Metal Cooler. In this video, you're going to watch me take on a team of five of them, each progressing in difficulty. I didn't know when I started this video, but this easily became the hardest mission I have ever played in a Dragon Ball game. You know, I can't believe we're still on Metal Cooler. I feel like this has easily taken me the longest out of any chapter in this game. It's also been by far the hardest chapter in this game, but I think we're finishing it today for sure.  I know, I've killed him like 80 times, bro!  Whoa! Whoa, bro wasted no time! Goku's been on screen for two seconds!  I promise the only reason I was losing was because I couldn't fly and block at the same time. Now, though, I mean...  Somebody also commented that the reason Metal Cooler feels more difficult is because he can't charge it, and because of that, the AI never gives up. Like, there's never a break.  I can't see that move and not think of Patrick in the snowball fight, bro, where he's just getting pelted. Damn, Cooler does damage on top of... Sweep the leg. Oh, get him up there. Oh, the grab mix-up would have went crazy. Hold on, let me hit a grab. Damn, not him, bro, not him. He's actually... He is kind of doing damage. Hold on! Blink that! Dragon Ball! Off the dome! Up against the wall! Oh, God. I'm... I can't block. All gone, Buster! Okay, just a smooth two-bar is no big deal. Double punch. He's got the health lead now, but I'm not afraid. Again, as long as I can play defense, I'm not... Dude! This AI is nuts!   Right the... Right now! Kayoken! Ugh! Let's go, it's over! Ugh, say it! Hit him with the Kayoken! Oh, wait, does he not say it? Bro, I thought this was the English dub, bro. Oh, sit down, Cooler, we ain't losing. Oh, yeah, speaking of comments, though, I definitely did get a comment saying that if I think this is hard, I ain't beaten this game, and I'm worried about what that means. As the fighting raged on, Goku found himself hard-pressed by Meta Cooler's relentless attacks. I didn't think you could use instant transmission, too. Wait, was Cooler doing that in the movie? I completely forgot about that. Oh, they turned me into a Super Saiyan in the overworld. That is sick. In order to combat this fearsome foe, Goku is forced to transform into a Super Saiyan. I gotta give it up to Cooler because if somebody turned me into an all-robot metallic version of myself, I would not want to rematch. I'm saying that right now.  Okay, he found me, he found me. Oh, sternum check! Oh, double sternum check! Welcome to the real world, Cooler! And I'm dead.  Uh, dodge that roll? Hold on, let me... Damn, I wanted to sidestip him. Okay, that's big damage where we lock on immediately. Oh, he canceled out! No! Yes, respawn fast. Keywave doesn't really work. Sweep the leg! Pop him up! Duh-duh-duh-duh-duh! Kameha! No, no, no, no, no! His moves are so OP! Is what I would say if I wasn't body him anyway. Hold on. What's my L2? Oh, did I afterimage? Oh-ho-ho-ho-ho! I'm just disrespecting him! Bro was really beating on an old man and some dude that loves to eat, and he thought he was hit, and I just unlocked Super Saiyan Vegeta. Spoilers! Goku launched his mightiest attack, but with his powers of regeneration, Cooler was unfazed. What's wrong? You were so confident a moment ago. Bro, I just unlocked Super Saiyan Vegeta. I have reason to be confident. Try saying that to two Super Saiyans! Oh! Give it to the next person and double it! Vegeta has joined Goku on the battlefield. Can these two Super Saiyans stand against Meta Cooler? What? Two Super Saiyans? That was a good line. Don't get the wrong idea, Kakarot. I didn't come here to save you. Bro literally saved me, though. One monkey, two monkeys. Oh, wow, wow! Wow, bro was about to start spitting us with the nursery rhymes Red Monkey, Blue Monkey. Damn, my Vegeta ain't leveled up at all. Oh, no. All right, well, we're starting with Vegeta then. And let me put some Evolution Z on him. He needs it. It's definitely getting to the point where I need more Evolution Z items, or at least I'm going to have to take it off of Piccolo. I feel like Piccolo shouldn't have all the health up ones. I don't think that's a good strategy. First time playing is Super Saiyan Vegeta, though. I'm ready for this. I'm more excited for the thumbnail than anything. Am I going to die instantaneously? Bro, I know I'm like a level. Bro, Vegeta really showed up. Put the thumbs up and just died. Oh, look at the combos, though. Look at the combo game. Oh, my God, this character is smooth as hell. Yes, bro. Vegeta fans are actually winning in BT2, except for the fact that my Vegeta is level eight and died. But still, I mean, like that was my first time playing. I mostly was just looking at the combos. Oh, I can't believe that. Ah, two bars for free. Step up. D-Wave, follow that up. What are you doing? Blink it, blink it, blink it. Yeah, I'm starting to get pissed.  There we go. Oh, talk that talk, then.  I'm hitting it with the new stuff now. Don't run. Don't run. Oh, my God, he's all wet. He needs to get out of the water, bro. You can't. No, blink that. Damn it. All right, turn on Wildsense. Turn on Wildsense. Saiyan, so no, he really missed me. Now I've got armor. Oh, you're cooked. Oh, you're cooked. It's over. That one was for Vegeta. Hot damn, we're still not on the final fight. This is the longest saga of all time. Oh, am I going to have to fight a team of Metal Coolers? I feel like that would be lore accurate, but please do not put me up against more than one Metal Cooler. With their combined attack, it seemed the Saiyans had won the battle. However, oh, this is bad. Is this going to look sick? Hold on. Is this going to look sick? The budget's about to go crazy. Oh, there's only two of them. They didn't feel like sparing the whole budget. Metal Cooler has been completely revived, only where before there was one, now there are two. What is the Olympia? Having exhausted all of their power, what hope do Goku and Vegeta have of defeating this foe? Bro, you can't say what hope do they have and then make me do it. Then they got me all beat up, but Vegeta looks fine. That's not how it looked at all. Wait, there's so many. Hold on. There's so many more spots on the map. I got to go check these out later. Unfortunately for Goku and Vegeta, the Big Getty star had manufactured an army of Metal Cooler clones. Oh! Using the full power of his new body, Cooler attacked the exhausted Goku and Vegeta without mercy. Even if you break this body, the Big Getty star will just make a new one. Oh, damn! This is assuming you stood in the street to fight back.   Damn!   Bro, please! I can't keep... And I don't even get to start in Super Saiyan. They can't keep getting away with it, man. They can't keep getting away. Block that. Double strike. Nice. Nice. Come on, Vegeta. Off the dome. Okay, we probably should have won with the normal combo. Oh, no, no, no, no, no, no, no. Please, please, please. Okay, they don't do as... Did he just... Did he just punch me up against the tree? No, that was embarrassing. I'm not going to stand for that. Vegeta! Get angry! Come on! Give me a minute. I'm going to block that, block that, block that right here. Da-da-da-da-da! Bitch! My guard! Oh, block that easy. Tell me I got Big Bang. What a blink! And I don't have enough energy. You ain't so strong, cooler, even if you are the first one. Maximum Flasher! Okay, that did damage. That did good damage. Wow! Why Bro hit the pose like he wasn't running for me? Like a coward. Damn, Aids. Just let me hit amazing impact, bro, please. No, not a grab. How much damage? How much damage? 5K still for this? Okay, I just can't let him, I can't let him.  Amazing impact! Got him! You can't run from me! Okay, charge up, charge up. Actually, you know what?  How do I switch out in this game? What a blink! Oh my God! Maybe I was doing the wrong thing trying to run. Maybe Vegeta hit him!  No, I was just about to use an ultimate! Vegeta took out a total of zero metal coolers. Okay, but Goku has a lot more health than Vegeta. No, off the dome. Like that! Anime, anime! No, my God! Bro, these guys ain't messing around! These guys ain't messing around! Come on Goku, fight back, fight back! Super Saiyan, Super Saiyan right now! Ugh! No, why did I swing back? No, why did I block low? There we go, come on! Come on, I know I'm not doing great right now, but I can do better. Oh, I didn't want him to counter, so I went really low. No! I am not beating five metal coolers on this attempt. Call me crazy, but it just doesn't seem like it's in my cards right now. Oh, oh God, he's fresh. Oh God, he's back to full health. Oh God, they're playing defense now. There we go! Come on! Talk to me, you counter still? I really should just give up right now. No key wave, I really should just, oh my God! Why did they learn defense?  Hate this guy.  Got him from behind, that means we get a full combo. Come on, Vegeta, good damage. Good damage, no counter, good, good, very good. Let him get up, Gallant Gun in the face, good. All right, no mercy on these guys. Not anymore, we just have to block that. Nice attack, do they make it for men? It seems like this first cooler doesn't play defense like the other ones do. So I gotta kick it up and get rid of him early. No, blink that, good job, Vegeta.   How many times am I gonna have to block Finger Blitz Barrage? I got him right where I want him. Amazing impact, does that kill? Come on, Vegeta, put a little oomph in it.  Got him, oh, I laid him out, took him to the water, drowned about it then. Oh yes, Vegeta's having himself a game now, boys. Vegeta's having himself a goddamn game. Let's go, kick it up, kick it up, kick it up. Maximum flasher, 8,000 damage, I'll do it again. I'll literally do it again, stop that. I missed, whoa, he mixed me. He's taunting in my face, you're gonna do that to me.     How do I taunt? How do I taunt?   Yeah, where that big, giddy star at? How to go and get yourself a new body because that old one was trash, ugh. Yeah, lay down in the dirt. Hey, who's next? You the same guy that taunted? Block one, two, give me that. Give me that, where's that defense at? No, where's that defense at though? You can't even see. You gotta get the big, giddy star to give you a visual upgrade.  I cannot stand these bots. Lock on Buster, dodge it. Yeah, nice lock on, maybe you need an upgrade.   There we go, you deserve that finish sign. It's getting serious now. Oh, chip damage doesn't kill though. Chip damage doesn't kill though.  Yeah, you did good, Vegeta, I can't even complain. Why do they defend against Goku so much better? Maybe I should have, maybe they don't. Key wave, oh, I'm doing them like to give you force. Oh wow, he broke my guard. Damn, these guys start taking it extra serious after Vegeta dies, man. Oh, I have to blink that. Oh, sometimes I am him though.  If I could take that, I wouldn't even be worried but I can't, so, did anybody play BT2? How do children beat this, bro? I didn't play, or at least I don't remember doing this. Oh, come on, finish that right there, boom, got him. Take a bath, cool off. Nice, good block. Are we gonna trip him? Into Super Saiyan, whoo, into a launcher. And I try to grab him off the ground.  No grabs, no grabs, nice, no grab. No, nice overhead, he can't see. Angry Kamehameha. Okay, good, good enough. I mean, it wasn't great damage. 4K is worse than maximum flat. What paralyze into a grab? Is he an EVO champion? What kind of cheap setup was that? He's gonna do an ultimate.  No, am I alive? I'm barely alive, god damn. There's no way I can win now is what I hope you keep telling yourself, Cooler.  Come here, overhead. No, he countered, but I didn't just low enough.  How many metal, aw. I was gonna rage out there. I was gonna rage out there, but we gotta stay focused. We have to stay focused. We cannot do another video of Metal Cooler. Oh, I see now. It's because they're level 95, level 95, and then they level up as they go on. That's why I thought it was so much easier with Vegeta. But wait, if that's the case, why am I using Vegeta early when I could be using Goku early to stomp these guys? Now, hey, now I think we actually have a strategy.  There we go, come on. Now we know the strike. Get rid of these childish Coolers nice and early. Get rid of them nice and early. There we go, good damage. Oh, y'all thought you were him. Y'all thought you were all the level 169 Cooler. I don't think so. I really am not seeing it. I'll just block it. Kaioken! Oh, there is, there's the Kaioken. I was wondering where that early English stuff was at. Boom, got him. Catch this guy. 5,000 damage, that's not really great. That's one Cooler down and we barely took one bar of damage. The second Cooler comes in, I'm kicking it up the Super Saiyan. Oh God, this Cooler must be one of the higher level ones. God, it's messed up that they can just choose which level they are when they come in, man. I need to know what Cooler I'm dealing with so I know what to expect. Can they at least show the levels on tag or something? Like on these higher ranked ones, I have to go for more mix-up oriented combos, like overheads here. The fact that they're sending in so many Coolers is really mixing me up. Maybe this isn't a 169, maybe this is a 120. He's feeling more like a 120 to me. Meteor Smash, oh! Oh, he's about to get hit with the flying kick. Watch this, like Frieza, uh, uh. Oh, this move is too cool. Maybe this isn't the move I was thinking of though. It was not, all right, nevermind.   Uh, uh! 6,000 damage and he's gotta hold on to that. No, okay, block that. Okay, lock on plus a blanket. Ah, 13K. Angry comedy. Oh, we actually hit him, let's go. Okay, another Cooler comes in. Is this a weak one? No, it's not. Okay, this one's full health. I didn't know how to block that and now I'm out of stamina. I'm surprised I didn't drop out of Super Saiyan.  No, no, no, no. God, the counter. No blanket Goku, ah, lock on Buster is so cheap. God, that is such a cheap move. Okay, Vegeta, it has to be you now. Oh no, oh no, I'm starting to see flaws in the strategy, bros. I'm starting to see flaws in the strategy. Yeah, it's nice when it's the weaker ones in your Goku, but man, does it feel bad when you're Vegeta.  Come on. Just maximum flasher it out. When in doubt, spam it out. That was so cheap Cooler and you know it.  No, my stamina, God, God, why? Why? Okay, I'm going back to the Vegeta first strategy. I feel like it's not worth it. It's not worth it in the end. Early on, it's sick, but then the strat falls off. Let me get behind him. Let's go, come on, Vegeta. While we're still fighting the weak ones, get as much damage as possible. There we go, there we go.  Lock that, what do you mean? Nice counter, Vegeta, let's go. Show them what the Saiyans are all about, Vegeta. Super Energy Wave Bolly, that did nothing. Dodge that. No dodge that, not 8K damage on one attack. Please, please, why do we have to lose so much health all the time, man? It's not fair or cool. And that move does goddamn nothing. Oh my God, he clipped me with one, so of course that means I have to fall gracefully to the earth, no way. Stop, you better stop right now, Cooler. I'm losing it, I'm losing patience. Losing patience at a rate not sustainable. Okay, is it a mix up one?  Maximum Flasher, go. Nice, good damage, Vegeta, keep that up, keep that up. Maximum Flasher, go. Yes, if you wanna play that game, I'll play that all day, I do not care.   Let's go, true combo. Now who's next? Who's catching this maximum Flasher? Cause you know that's what's gonna happen, get off me. Oh, let's go, mix ups. Oh, how do you avoid that? Let's go, that's fine. If Vegeta gets three, I'm feeling good. If Vegeta gets three Metal Coolers, I'm feeling so good. Maximum Flasher, I should have not used that, no.  We're not asking for a lot in Goku standards, bro. Vegeta did a decent amount of work. We pretty much have an even split of Coolers left. Ha me, ha me. Good damage, good damage. No Super Saiyan, immediately. Waste no time against these guys, dodge it. Oh, let's go. Nice, two bars though, that's a, I wish I would have charged up a little more ki, but we'll have to, we'll just gonna have to use what we have, nice block that. Mix up, mix them up. We know how these Coolers like to play. Let's go, big damage. He can't stop us. Ah, I should have rolled out of the way. Damage, damage. No, God, cooler, cooler. Block that. This is easily the most anime, oh. No, counter that. This is easily the most anime fight we've done in the game so far. Let's go, we beat the lock on Buster. That's huge, get him out of my fit. No, no, no, no, no, no, no, no, no. God, sweep the leg, he's blocking low. Finish him, yes. Okay, good, hold on. Look at skill list, which one's Wild Tense? Okay, good enough. Maybe we'll do Wild Tense into Saiyan Soul. Wild Tense, Wild Tense right there, go. It is the job, Goku. God, I never needed Goku's strength more than right now, mix him up. Oh God, dodge it. No, I got clipped. No, no, this can't be happening.  Wild Tense, no, no, please dude. God damn, I feel like I'm playing decently. I just keep getting beat at the last second. Okay, middle cooler, take 17, bro. Just let me finish the arc. Oh God, it was a dash attack starter. Come on, I feel like I've learned so much about BT2 now. I know so many different combo routes because Cooler taught me, he forced me to learn. Oh God, maximum flasher, no way. Okay, at least we're able to block that. Decent enough damage, three bars, we have maximum flasher, don't you dare.  No, walk up with your dodge, did you see the dodge? Oh my God, play some ultra instinct music for that one. God, you need to, you need to, but maybe you don't play the actual one, like you know how the YouTube bots get. Blend two, got him, block that, easy. Step up, do the normal combo, maximize the damage route. If they let me get that, we have to take that every time. 10K damage, too much to pass up on. Attack, amazing impact. Don't run from me, you can't escape. A super saiyan speed. Get off of me, explosive wave, get off of me Cooler. You fell for the oldest trick in the book. What is Vegeta, why is Vegeta just dancing? Kicking out his legs like he's trying to pick up a ride. Nice, maximum flasher right in his face. I didn't miss. Take a Key Blast, why don't you?  All right, come on, we need to do at least half his life. No blocks, no defense, y'all sent me a track, but he needs an update. You'll get this guy an update, he's not him right now. Oh God, if Vegeta kills this one, I'm feeling so good. Come on, right there, amazing impact. Oh yes, I know he wants to use lock on Buster, I can tell. I can tell. Explosive wave, get off me, babe. Explosive wave, I didn't know what the mix was so I just didn't want to participate in it. Got him, right there, dash in, sweep the legs, get the bouncer, go low. Oh my God, Vegeta's having a generational performance. No grabs, get that out of here. Let's go, maximum flasher in his face. Take the damage, why don't you? Block that, explosive wave. Oh God, I was already moving, I've adapted too much. Ah, dropped it. He actually had a blanket though. Okay, he blinks it again, kick him. There's an opening, he blinks again, blinking Vegeta, explosive wave, explosive wave. Oh no, nice, good defense, panicking. This is gonna be Vegeta's last combo I can tell. Whiskey, Vegeta, you fought well. You did so good, but you, grabs. Oh, they never tried to grab me against Vegeta. Damn, this guy has damage. They're still not guarding though. If they keep up this trend of not guarding, we might have, oh no, no, no, no, blink. Why am I playing so rusty with Goku? Goku's way, stats wise, he's just way better of a, what, dude, this one metal cooler is putting my, he's putting me to the, oh no, oh no, I have three bars left. I should have went Super Saiyan already.  Oh no, no, no, no, I'm bashing buttons. No, no, I'm not losing again. Wild sense, wild sense, ah, I didn't pump, I didn't pump. This is the longest video of all time. I mean, it's hard to ask for a better run than that one, but please, man, please, I just choked with Goku. It's like that metal cooler started playing super different. All right, come on, Vegeta, I know you did good, all right? It's not your fault, it's not your fault, but I need you to do even better, okay? I need you to do even better for me, bro. Kakarot's just not feeling it right now, man. This is the Vegeta show right here right now, right here, Super Saiyan, instantaneously, go, nice. That's what I wanna see right there. Nice, Vegeta, good defense. We're not taking any damage against this first one. He's too weak for us. He's too weak, Vegeta, good job. We've got a bar for explosive weight if we need to use it. God, Vegeta's the answer. Metal cooler is the problem and Vegeta is the solution. Thank God Vegeta pulled up, bro. No, I can't guard that. No, I can't block that. Oh God, okay, I just can't play defense against metal cooler, man. Don't mash, no. I don't know, okay, the truth is I still have yet to learn how to play defense in Budokai Takaiichi. But wait, why am I playing defense? I have explosive wave, am I dumb? Let's go, Vegeta, the explosive wave is key. If I don't know how to play defense, I know at least how to do that. Nice, let's back up a little in case he wants to run at us. Maximum flash for that, good range. No, I don't know your mixups, robots. Oh no, dodge it, Vegeta, that was my fault. Nice, good defense. That's how I just had to clutch up, get off, get, oh no, that was a bad explosive wave. Is this only the second metal cooler? I just need to know how in trouble I am, because I could be in a lot of trouble. Charge him, there we go, okay, get some free damage on the board, get some free damage, get some free spacing. God, he just can't ask for a better run from Vegeta. No! How does it clip me every time? Okay, we got a lot of work. Goku still has a lot of work cut out for him, we can't lie, I think we've got two more coolers after this. If we only have one, then we're great. If we have two, then it's, you know, it's not a good situation, we have two. God, how do I tech grabs? How do I tech grabs, bro, I swear. Once I learned how to tech grabs, it's over for these guys. No, no. I swear they start cheesing when Goku comes out. I swear to you, they start absolutely cheesing when Goku comes out. They love to just cheat me out of my wins. Come on, let's go for easy damage. How much damage does this do? 9k, okay, we're doing that every time. We do that every time. I'm done messing with these guys, bro. I'm spamming, I do not care. I need them to lose. God, I've been doing this for an hour. Oh yeah? Oh yeah? You thought I had honor? You thought I wouldn't cheese you guys? You've been cheating me for the last hour and a half. It's over. Got him. Okay, come on, clutch up. This final cooler has stopped me every time, swing on him. There we go, pop him up. Easy damage. Almost the bar, keep going. Play defense, play defense. Get play defense there. No, no, no, no. Wild sense, not Saiyan soul. No. I can't see, cameraman, cameraman, are you working for the goddamn metal cooler army, bro? And it's over. Oh, you, metal, eh, camera. Oh, I just hate it here.  Please just get me off of this metal cooler section of the story, man. I am so tired of fighting the same goddamn robot over and over and over and over again.   God, it feels good. Oh my God, look at this. Look at what I'm able to do to these level one bots, bro. These level one bots don't even know how to play the game. They don't know where the defense button is. They don't know how to block. They don't know anything.  God, just let me have that same performance against these guys, though. Maximum pleasure, that's made up. Amazing impact, nice. Okay, come on, keep it going, keep it going. Maybe if I also learned how to switch, I could also do more damage because then I could have like both Goku and Vegeta in Super Saiyan before the game actually got hard. That could be a stride as well, explosive wave. No, wait, where'd you get this? Where'd you get this talent from? There we go, you're done. Amazing impact and before he does anything crazy.   What a waste of resources. There we go, come on, block that. What is my first goddamn day on the job? Nah, no. Exposure wave, get him off me.   Okay, and now we just, amazing impact. He can't dodge it, that's another cooler out of the goddamn game. This is down to the fourth cooler now, right? This might be our best run so far. If Vegeta can clutch up, I'm just asking for a little bit of damage here. Wow, it's a lot of damage. God, they're always so nice to Vegeta. They're always so nice to Vegeta. They never played defense. Amazing impact, that, please, hurry. No, no, come on, got him. Okay, I got greedy, I got into a clash. I'm not winning any clashes.  Ah, you made me Exposure wave. Don't use lock on Buster. I can't win those men.   Yeah, yeah, once Goku comes out, you guys are real different.  It's not what they are, I've been doing two seconds ago. I swear to God, this is not what the air I was doing six seconds ago.  Yes, yes, yes, so much health, so much health. Go Super Saiyan, win the game, please. This is everything, please, it's been an hour. Punish that, mix ups, go low, pop them up, come on. And I dropped the combo, no, no, no, no, no. No, no, tag that, tag one of them. I know the grab buttons. Don't, don't panic though. No, no, punish that. No, no, no, no, no, no, no, no, no. It's scary happening. Stint Zaynzel, not Zaynzel. Please stop dashing at him. Who is telling you to do that? No, Wild Zens, move.  Just smell the roses, dude.   There has never been a BT-2 recording this long. And he hit me.  I just was talking about how I was beating all of- I was literally beating all the level 1 coolers, wait, with now taking any damage. And now this guy wants to come along and block low?  No. Dude, who are you? What did you do to my friend?   What in the fuck?! I can't even bring myself to be too angry. The emotional state has just been so destroyed.  Don't you dare!  Just when I thought I was numb to all this shit, this guy had to go and do something to ignore it.    And it's always gonna be that way.  Yeah. Come here. Yeah. You wanna taunt? You wanna taunt?  How about that? How about that?   Get out of here. Trash!  You thought it was sweet! No, I'm supposed to wait for that. You all thought it was sweet doing that taunt.  You're not. You're not. I don't know what to tell you. You're not.  No.  How many coolers do I have to kill? That's three. Three with just Vegeta. Let me do a little damage to four. All I can ask is a little. I haven't had the best performance. Come on. Come on, Vegeta. Stay on him. Stay on him. Stay on him. They can't handle it. Good Vegeta, good! No! Die!  Kedge this goddamn work. What a taunt! Taunt in hell! Yo, Vegeta. No! Good enough. Good enough, Vegeta. That was great. Thank you.  But now it's the real fight. I'm out of stamina. Super Saiyan, right now, please! God! What a move! What a move to get behind his back! And I keep... I'm not even joking. I drop that in the clutch every time. Wild sense! Meteor smash! I can't win. No way. Oh, right now! You should have never taught it, bro. You should have never taught it. Bringing my end of arc music to history. Oh, the history of trunks is gonna be so sick.  Goku and Vegeta's desperate attack struck Metacooler with extreme power and perfection. Okay. I've had enough. It's not very often I agree with you, but I'm really getting sick of him. Hey, Goku! You okay? Thus, Cooler and his evil ambitions were defeated and New Namek was peaceful once again. Of course, it should lag my game at the very end and then Vegeta's out. And began training for the next battle. And that's the end of the Metacooler saga. Thankfully, I will not miss this. I took every muscle in my in my being to finish this video up. Hopefully you enjoyed it. Like, subscribe and bye!


YouTube right here again this is gonna try another little circuit this isn't finished basically what this is gonna be he's gonna be another like Tesla type cool driver a search based on a 555 time in there and we get a little bit of anything that's on 555 in there and it's coming from a website called Aaron cake Aaron cake.com it's because I'm not quite bitter enough I think they'd be like lemon we're gonna see if it works now it's part way built I just thought I was actually gonna do a bit of video beforehand but then I thought now I'll leave it and then part way through part halfway through this I thought I'd do it then I'm gonna leave it now I've just decided now let's just do a little bit of the stock so I finish it and then you know I always feel like I've missed out a bit if I haven't done this bit so so there we go this is the start we've still got some more components to put on this chair to put on these are I bought a whole bunch of resistors especially 180 ohms but they turned out to be 120 ohms so I've had to try and make up 180 ohms and I managed to do a hundred eighty one point seven something with what I've got then that's me how but that's the way to work it out and there's a few more bits to go on there but I shall carry on the rest of it once I've got the rest of the bits on and we'll see if it works or not I'm gonna be to connect basically a flyback we've got a MOSFET to come off these this is gonna drive a MOSFET and then we're gonna have the flyback connected to the circuit between 9 and 18 volts and we'll see where it goes from that or I'll separate the circuit so I can put a lot more or not a lot more through the flyback as it may not cope with it and we'll see anyway I come back to that when I finished doing them bits so I'm a little bit further on with this circuit in actual fact I'm near to run to start testing the output which is gonna be here I'm getting that thing warmed up but what I've noticed is I found this circuit now in so many different places and everyone claims or no one accredits anybody else it almost seems like everyone's trying to say that it's theirs but it's if you look for this circuit you can find on our NK if I'll I'm sure I'm at the start of this I do have a sort of picture for white but let's just move over here for a second look here it is as well here it's also on Facebook but I don't have an account of Facebook so I've got to sit there before the trip that stupid thing across the front asking me to log in but I don't go for that saddo stuff so but it's all over the place he's absolutely all over the place so the only problem that I've got is this particular MOSFET and if I just go back to the one I was looking at it on which is here now here it says that the MOSFET is a SSM5N55 I can't really find any information on it so what I'm gonna try and do is I'm just gonna put an IRFP to 250N or something or one of your IRFs and I'm gonna stick that in and I'm gonna get where they go and I'm just gonna see what I've got coming out of here because everything else is done we can give that a give that a shot it's a pity that I thought it was from this fella here I thought it was from whoever is in charge it's our NK website but like I said you can look up just the transistor just this transistor this is what makes finding the circuit all over the place quite easy because if you look up just the transistor you'll find this particular circuit on every every single on the first page of Google I have any I am involved looking on the other pages but every single website on the first page of Google it's all got this schematic it's just a copy of the schematic it's just a copy and paste jobby or two different websites so I've got no idea it doesn't actually show me anything of it working so I don't know how this thing works but we're gonna find out because all I'm gonna do now is I'm gonna make up this capacitor because basically what it wants there is it says here it's a 10 nanofarads all right that's a 0.01 micro farad it's a 100 volt polyester capacitor well I haven't got one of those but I've got a whole bunch of like 0.27s or should I say 0 point is that yeah I think it is nanofarads yeah so I'm gonna string a few of those together to bring the capacitance down will be will be AK for the 1200 volts will well exceed that because each one of them is 1200 volts anyway so we'll just see what happens we'll just see what happens I've got a choke not a problem don't know this and we just see and I got a flyback now there's another thing that I've noticed about the flyback is the flyback transformer it says here the flyback transformer will work as long as it does not have an internal rectifier I don't know whether this flyback that I've got out of TV because it's not one of these real real old flybacks it's you know the ones I've used on other videos I don't have that got an internal thingy but what I've done here is look I split one up let's just take this over here and I've made my own flyback well I've made my own flyback I say I've got this now I've what I've done with this particular coil here look as I can I can split this yeah as you can see and this has actually got I think it's five or six layers and I'm using cardboard in between and I think on the cardboard I've put some sellotape and then I've just wound it I mean there's about a hundred turns on each of them and so there's around about five six hundred turns on this and then I can just make up some turns on here I'll put a cable tie on here to keep it together I'm not gonna put the metal round because if the metal goes around what I noticed when I built my other circuit for Jacob's letter was this would get a lot warmer with the metal clamp on so I took the metal clamp off and it run a lot cooler I'll assume this because it's metal and there's electrons in there and it can do but I don't know exactly you know why he's doing that but it did seem to run cooler like that so I'm gonna leave it like that I'll clamp that together and I'll do my turns on here that's what's prescribed in the schematic and we'll see if we can get something out of it I know that this will burn off pretty quick so I've already tried this I've already I've only I know that this works I've already had a little little you know arcs across it they're quite nice ones as well nice nice and white and thick but it burns this down quite quick so I'll have to solder something on it little bits of nail or something just something this verse that can get nice and hot rather than just eat through the wire the magnet wire so I get it going like this just to see if it works right let's get to it so far so good to the point of this is I put the power in here let's get this pointy thing you've got the power connected here to this side of the choke the inductor if you like there's one of the daughter shops on and that goes to the input of the novel regulator so I go for the circuit so I was available here's what's the just the 5k pop this is all good so we want to see the variation of the frequency 22k to 40 to 50 60 70 with a breakdown there so it's 70k I don't think we actually want to be there on the try this out this way this way and this is adjusting the 10k pop just that board way well so we know we got that working today so So all we want to do now, I'm hoping, is because we then have a rectified diode here, obviously, I'm going to just get little bits of copper wire, I think, and just solder them to the ends of here. So all we want to do first of all is just see if we can get this thing to, you know, sort of have a bit of an arc go across here and see if we can just adjust it here. I can't actually remember why I'm building this now. Oh, that was it, yeah. Because this is supposed to be going to a primary coil, which is then be, you know, inducting into a secondary coil. So hopefully we're going to get a nice, get a nice, like, some sparks out of it. I've got to stop drinking. I've had a couple of shandies now and I'm starting to think to myself that maybe I shouldn't be playing with this anymore. Maybe I should leave this till tomorrow. Obviously. Obviously. Let's take a little bit of step forward and we'll get the capacitor set up. I just wanted to make sure that nothing's working and it seems to be working, which is quite good. Nothing's getting hot on toward. 260N here. I'm going to try this to see if it will work. So we go, I'm not going to put it on the heatsink straight away. I'll put a little heatsink on it just so we can sit on this board. I'll put a little heatsink on there because I'm not going to try and get full blast out of this. As you can see, look, I've probably been playing around with this. So I know that this works. This is a little bit superficial of the damage. Just there. I'm pretty confident it should still work. But it doesn't. That means I might have to remake another one with slightly thicker wire or something. Okay. Back in a bit. So what I thought I could do was like just kind of do these together to make a smaller value capacitor. Use these. Connect these together. I've got another one. I'm pretty sure I have because I've joined. Because these were quite short. They were quite short. But I've joined them together. I think I've got it down to... I can't remember what I got it down to, but it was a lot lower than what the... It was a 0.2. 0.027 as these are. And correctly, can we look? Oh, sorry. 0.33's. And these are 0.27's. That's 0.33. That's 0.33. That's 0.27. I think I've got another 0.27. And if I stick those together, of course, that'll bring that down. I don't know exactly what the figure's going to be, but it's going to be lower than what one of them will be. But we'll be perfectly OK for the voltage because it's 1200 volts each. And with these chains go, we can have that up. But we're going to drop down the capacitance, like with the resistors. In parallel. But opposite for these, it's capacitance in series, opposite now. OK. Right. I'm a bit worried about killing my transistor. The most fat book. It's just one of those, isn't it? Let's try and stick these together. I've got some other ones, but these probably be too small. And I really do need to stop putting the ends of these. I'm just leaving them on long leads. So, let's do it. All right. I've got myself bloody confused now because it says here that when building the circuit, leave the fly back. Yep. Disconnected. Connected 10 ohm, 10 watt resistor. 10 ohms, 10 watts. Resistor. In place of the primary of T1. Yeah. And connect the scope to the collector of Q3. Well, Q3 is this MOSFET which doesn't have a collector. It's a MOSFET. There's a gate drain source, right? Gate drain source. So anyway, I've connected up the scope to this. And I've just connected to the drain because that would normally be in place of the collector, right? But now it wants me to adjust R4 to be used at off time of about 10 microseconds or just R2 for an on time of 10 microseconds. My brain's just blown up. What? I haven't got a collector for starters. It's not on there showing... It's on there as a MOSFET, on the circuit diagram. It's on there as a MOSFET.  The transistor has a different symbol to a MOSFET. But now it's telling me to connect up to Q3 which this is Q3, but it's a MOSFET. So I can only open as a typo and when I do that, I get this... It's drawing one ampact 12 volts. We're putting 12 watts through here, right? For the 10 amp resistor. 10 watt resistor. Yep, there it is. I've got to try and work out now how to get this bloody, this time thing sorted out. I haven't done this before. So... And as everyone knows, I'm not a bloomin' tutor or anything.  I'm going to disconnect the power because it's drawing 12 watts through there and that resistor doesn't have to get... I guess it's quite warm. So I'm a little bit confused now. So what I might have to do... I might have to put this up in two halves because you're going to do this first half like this. Build another. We're now up to this point.  Sorry for my language. That's what happens when you drink beer. You shouldn't drink while you're doing stuff like this, I'm sure. But it does make stuff more interesting sometimes. So we do know that up to this stage, everything's okay. The circuit's still working and we're getting... You know, we're getting this to warm up so, yeah, we've got something going on there and nothing seems to be going like awfully wrong. Which is good. I'm a bit confused about this. What I'm going to have to do is, because there's all those other websites with this same circuit, I'm going to have to go and look at the wording on there and see if anyone's changed it and they get away from the transistor part here, the collector part and just hope that they are going on to the drain. Which I would have thought that that's what we'd... transpose. Oh, that's quite a good word, isn't it? So what are the dictionaries for this one? From a transistor MOSFET on the pinout. But I'm not quite sure. But we've not had any magic smoke. There doesn't seem like there's any particular short circuit action going on. So, so far, sort of, so good. But I'm not sure how long this video's going to be. It's probably, you know, sort of been... I've been changing it a little bit, haven't I? So, all right, I'll tell you what. I'll put this first bit up on the C because it's getting quite late now and I could probably do it just like chilling out and just having a little bit of a relax and finish off in my beer and just having a bit of a relax. And I'll look at it again tomorrow. Because me, it's a bit through now. I've got to look through those other websites as well and just hopefully someone's changed that word from collector to drain. Just so I know. Because I'm so new to this, I can't just automatically assume or presume or do the math and go, yes, whatever adds to this and it's all good. I can't do it. I've got nowhere near the experience and there's no one else around me really to help.  Or to a teacher in class or anything like that because I just haven't got any of that sort of stuff going on. I'm only learning my diselectronics and I don't need internet. Seem like a good idea at the time. And as I've invested, you know, some time and energy into it all, I might as well carry on. It is good fun, I do love it. It is great when something works. Even because just this part's worked. That's good. I might be able to do something else with this even if I can't get the rest of it to work. I'm getting a bit confused as well because I thought that this... I thought that I was going to get something off this but I also thought that this should be connecting... It's supposed to be powering a Tesla coil. I mean, that's what it's saying. It's a solid state Tesla coil searcher. Allegedly. With all these other websites that have copied it, it would be interesting to see if anyone's actually got something to show that it's actually working like on a video or something so I can have a look at their circuit in real life, you know, like this, rather than just see it as a diagram just to see if I'm actually getting this right or not. Come on. Bear with me. Let's get this first bit up. Hopefully, you know, if anyone's got any comments or knows anything about this, can help me out please I'm a bit stupid. I didn't get any school qualifications or anything. I'm just trying to give this up a bit of a hobby here. Anyway, I'll get this up and then we'll crack on and see if we can actually get this to do what it's supposed to do. I've got to do some readings of those other websites and just see if there's anything a little bit more clear for me because I'm getting a bit confused. We've got this far. Cheers for watching. I'll try my best to make sure this thing works and get another pile of what it's actually doing and what it's supposed to do. Bye, y'all.


We just tested a tic-tac hack where we sublimated using DTF powder on a hundred percent cotton And we'll show you what we learned right now What is up a welcome back doing to do a builder to make it so do we we have a new video each week This week. We're testing out some tic-tac hacks for sublimating on 100% cotton after our last DTF video Direct to film transfer we had done a comparison between our sublimation printer and our DTF printer And what those prints look like then we started to get some questions Hey, can't you just put that glue powder on the back of your sublimation prints and I thought no I don't think that'll work But then I started seeing some posts and some videos and now we have a hack We're gonna test it out today and see if we can get it to work at the end We'll do a comparison versus sublimation and DTF. We'll see what they all look like Step one we're gonna gather all of our supplies. We need a sublimation ink and an ink printer So we have our Epson 2760. We're gonna need our hot melt adhesive Our pet film, which is what we use for the DTF printer And we're also going to need a heat press so we have our Cricut easy press too and you missed our 100% cotton t-shirt So that's what's important on this one because you can't typically sublimate on a cotton t-shirt. So that's what makes this hack Pretty cool Copy paper and some kind of spray adhesive to get the film to stick to the copy paper It's a little bit of a little bit finicky Step two we're gonna create our design. Have you been to Canva? Canva is amazing It's a great creative platform that will give you a springboard on any of your designs If it's a t-shirt or even a cut file, this is a great place to start They have hundreds and thousands of templates for pretty much anything from t-shirts to stickers to whiteboard designs Kim has already picked out a t-shirt template and we're just gonna run with this one We're gonna download this as a PNG with a transparent background Step three we're gonna print our design now We weren't able to get the pet film to feed through our printer So we're gonna need to attach it to a carrier sheet That's what the copy paper is for to attach the pet film to the copy paper We're gonna use that gorilla glue spray adhesive. That's a tongue twister So we're gonna spray it on the copy paper And then we're gonna put the non-print side against the copy paper Remember to mirror your image when you print it since it is going to go face down time to powder our print now that the Ink is on the pet film. Well, it's still wet. We want to add the DTF powder to it We use this little bucket system Very powder me, babe Yeah, give it a shake. You just want a dusting Step five time to melt that glue. We're gonna melt that adhesive that we just put on the back of the ink I'm not gonna hold the heat press for like 12 minutes Well, this thing melts we use the baking sheet and we're just gonna put our little a Little print little print guy right in there Cover them back up We have our easy press set to 400 and we're just gonna leave it on there for about 15 minutes And that should activate all the inks too All right, it's been about 15 minutes Let's see what we got The rack's hot. You can definitely the rack is hot You definitely see the colors are popping. Yes. Yes. I want to show the difference Here they are before it's baked. Yes after it's baked. Yeah, you can see the heat really activates that Sublimation ink and it melts that powder. Mm-hmm. The powder is looking a little more shiny a little less granular Looks less like sugar and more like plastic. Yes. Yes. Good example Step six time to press it. We're gonna press it real good. So we have our design It's looking pretty nice. I don't see if it works. We need to put some Parchment paper in between the shirt. This is sublimation ink. I don't know if it will bleed or not I'm thinking no because of the melted glue. That's really what's on the back at this point But I say just in case Again, this shirt is 100% cotton fresh out of the store. Here's the tag I'm gonna give it a quick pre-press Getting all the wrinkles and stuff out Give it a quick pre-press get all the wrinkles and everything out All right, I'm just lining this up looks good All right, now we're gonna go in Now we're going 300 degrees for 10 seconds and I'm gonna lean on it That fast so typically with Direct-to-film transfer 310 seconds is the way to go but you need a lot of pressure. So Let it cool for a minute. Uh-huh But it looks good we need like a hairdryer that does cool air I got it. All right, it's pretty cool. I don't want to get up close. Yes Other people's film look like that. Did you need to do it a whole lot? So 300 degrees for 10 seconds did not work, but it looked like it was trying to work. It was starting So we're gonna try again right below it We're gonna go in for 40 seconds at 385 degrees We pressed it before a little more like it was a DTF transfer now We're gonna try it again a little more like it's a sublimation transfer. Yeah Same amount of time. We got cool it down again Do a cold deal. Yeah All right, cool it down. It's a touch. Let's see Should I keep going or should I try to press it some more? It still doesn't want to lift off Not like DTF. I don't know. Should I try to keep it down? Do it again Feel like I'm just gonna pull it up again. I Don't really have a good answer for you. I don't know Would we do it again for more time? Or are we calling it this doesn't work? Well, I could I've seen it work. I know it works What are we doing wrong? Not impressed It looks Looks distressed All right, we'll try it one more time one more try 385 40 seconds a lot of pressure I just want to give it a try. Here's where we were second try Oh, look at that. I'm gonna do a hop. Oh, maybe not I don't know. It seems to still be coming up with it. No, that's better. I am not impressed with this It looks okay, but I mean I'm not I'm not impressed with it Are you? No No, it did it did work Still it left a lot on the transfer sheet Maybe we should have done a cold peel. I try to cold peel. All right try to hop you Well, the cold peel the blue is a little bit better on that one and the white is a little better on this one The yellow is better on the hot peel Step seven Time to do some testing a little comparison.  So as we were going through this process where you think it to yourself, why are they so tiny? That's because our intention is to compare the hack to a regular sublimation with a sublimation spray on a cotton t-shirt and then DTF on a cotton t-shirt Let's give it a press and see how she looks. So we already pretreated this side of the shirt We already dried it. It's ready. Yeah, all you have to do is there's this is sublimate spray So this is basically a sublimation spray goes right onto your cotton fabrics To a few pumps. We let it dry. It's nice and dry now. We have to do is press it I'm not gonna tape it down or anything. You're not. I was just obsessed. I won't move around the whole bunch Don't move it around here. Let me get on the other side then Is this set we're doing 40 seconds? Yes. All right 385 for 40 seconds three two one Straight up Oh, it's stuck to that stuff It's even more distressed Let's give it a quick quick yank. Oh, I put it on upside down, but Looks good. Yeah, I like that. That looks great. They can't that came out great. I'm gonna say That came out better than this Yeah All right. Well, all right. Let's see yet.  Okay, we're gonna try that DTF just straight DTF like regular DTF a regular direct to film It is printed on the pet film It has color ink with a white ink. What is this a gradient white? So everywhere needs white it put white and then the little powdered glue Melted and now we're just gonna press it. Okay, so this I've got to bring the temperature down to 300 310 seconds. I really enjoy the 10-second press. Yes, you do Now this one's a little bit cool you want to doesn't have to be cold peel, but you don't want to peel it Yeah Here cannot wait cannot wait. Oh, it's just super efficient. I feel yeah, that's perfect. It's just warm. It's just warm Look how easy that peel was. Yeah, beautiful. See with DTF. There's nothing left on the film. All right. I mean I see all three and I'm gonna say the DTF still looks the tightest even on the white All right That's what we have. What do you think? What do you think?  Yeah, I think we burnt it. Yeah over cook this thing Well, because we pressed it so many times trying to do the sub limit the DTF sublimation hack Think when a little too a little too long in the oven. What's your what's your thoughts? Let's let's give a little my Is So I Don't understand the hack now with the pre-treated the pre-treated seems to have worked great. I mean it looks great It's beautiful. I still think the colors on the DTF Still pop they really pop you can't feel the sublimation you can feel the DTF with the sublimation. Yeah, what I don't know is with this Sublimation DTF hack here. I can still feel like a little glue residue So I'm curious to see how this does in the wash. We will test it out and wash it and see And that way we can compare all three And I agree this one this one definitely has the colors that match what you had on the computer Yeah, this matches exactly with what you designed or what the design has crisp lines and You can really see like around Right, whereas it kind of gets lost here. Mm-hmm. You can't see you can see the lines around this one You can't even see them anymore on that one Right, so so this keeps the detail You can feel a little bit because he did the gradient white There are places in between the design where there's no white ink and you can only feel the The ink it's kind of like a little bit like a HTV vinyl, but yeah much much thinner. Yeah a lot thinner So were you able to get the DTF hack hack to work? I don't I don't know why you would do it. I personally don't I mean I'll try it on wood see if that works, but I don't know. Well, here's my thoughts So yes, you have to buy a spray and there's some cost involved in that in order to Sublimate on cotton, but it was easy, but you also have to buy pet film and Hot melt powder for the hack So I know that you buy the pet film in sheets of a hundred that was $80 this glue melt is $50 the sublimation spray was what 25 or 30 bucks or something and then the DTF I know you have to have a whole other set up but I'm using that I'm using the same material So I just would you know, I would use the full DTF set up. I don't know I don't know. Did you have better luck? You got to let me know. Did we do something wrong? Yeah, do you have another reason why you might use this? Yeah, what would you use it on? So it does work that was the question. Can you sublimate with the hot melt powder? Yes, you can the results are just okay. Yeah, you might as well just sublimate with a spray It looks distressed if you want a distressed little thing on your shirt. I think that's perfect Otherwise a big thanks to all of our patrons. We love you guys. Thank you Thanks for all the support you guys showed us during our hurricane party. Great. Yes If you guys are here last joined us last weekend, thank you. Thank you. We really appreciate the support the Just the folks dropping in to say hi With us. Yeah. Yeah, and time go by quickly. You guys know who you are I think you know who each other are now. I see it in the chat and that's awesome. I love it Patreon family. Yes We're about out of time So if you're not gonna join us for the patron after show, we will see you next week We'll do it build it and make it again Oh, and don't forget to catch us on Tuesdays or we do test cut Tuesdays We make a new design we test it and we test out the colors and everything see if it works and fits together right then It's not always a sign. Last week. We did a wagon a wagon Wagon today. All right. We'll see you guys next week


Awesome. Well, let's begin. Please settle in and of course, this is backstage con. So if you're supposed to be in Argo con, this is other room in here. Super happy to see people after lunch. This is very hard. You want to You want to take a nap, want to sit outside in the park, but this is this is really good. This is my first backstage con, by the way. I never imagined this kind of room. I thought this would be like two two rows and that'll be it. So super happy to see this milestone. There's a lot of people who worked really hard on this kind of a pet project from Spotify trying to elevate developer experience from a hacker mindset, but to see this large community come alive, you know, solving business problems and scaling companies. That's that's massive. So I'm really really happy to be part of that. My name is Himanshu. Himanshu Mishra. I go by Orco Hunter on everywhere, GitHub, Twitter, LinkedIn. Someone asked me why is this name Orco Hunter? I just googled the most unique username. So if you search for Orco Hunter, you'll find everything about me. I'm a product manager currently at Hardness and I lead the internal developer portal project, which is powered by Backstage. So I've been doing Backstage for for about three and a half years. Previously, I was with the wonderful team of Backstage at Spotify. I was an engineer. I was a developer advocate and eventually my job became to hear complaints about Backstage or also good things about Backstage. So that's what I've been doing so far and really fortunate to be part of this journey from, I remember there were like 50 stars on GitHub when I first made my PR and to like 24,000 from 10 to 10,000 members in the Discord community. This is this is massive. And finally, I think about open-source economy more than Roman Empire. I think about what makes good projects successful and how to keep that success. There's a lot of projects who gain very high momentum but what makes them fall apart and clearly Backstage is doing all the right things right now. All right, so let's dive in. Does anyone or let's see how many people can guess? When was Backstage open-source released? You've got four options. Please raise your hand if you think it was released in September 2021. Awesome. You got one person. Clearly, this is the right answer. We got option B. It was released in January 2020. All right. All right, we got four hands. There's two March left. There's 2020 and 2015. Who thinks it was released in 2020? Did I make this correct? Who thinks it was released in 2015? Awesome. Well, 90% people guessed it right. It was indeed released in March 2020. But I'm sorry for putting in 2015 because you can say it was created as Spotify in 2015. But it was March 16 and the GitHub repository was open-sourced. There is this orange website. I'm sure you've heard of it. It became number one there. I don't know who this James Kigley guide. We never thanked him for putting our repository on Hacker News. And we were trending on day one. But if you look at the comments, I don't care if it's open or supports plugin. I have no clue what it does. I just skimmed through the website and I'm still wondering what Backstage actually does. Is it me or is this just really unclear? It needs clear... So we've got a wonderful marketing team right now in Backstage 45. We didn't have any back then. It seems like a competitor for Datadog. Okay, that was definitely the intention. So the very next day, the Spotify team had to release a blog post. Does anyone remember the name of that blog post? The very next day. It's very catchy. Spotify people are not qualified to answer.  We accepted it, that it's hard to understand what this platform really does. And it was confusing initially, and there's a reason. Any great platform that starts, it's hard to figure out what it actually does. So slowly, shortly after the launch, Backstage released three core features and people started connecting with them. Which one is Catalog's logo? First, second, or third? Well, you have to shout out like, oh, well, I see some Spotify people cheating. That's fine. So the first one is Tick Dogs, the second is Software Catalog, and third is Software Templates. And people related with these problems, not with these products, they're related that it's hard to, you know, discover components internally. No one knows who owns what. We have got a technical documentation. It's not up to date. It's hard to share knowledge, and finally it takes too freaking long to create a new service. Can I do it in 10 minutes? So they're related with these problems, and Backstage became what it is today because of these core features, core ideas, that is very, very relatable. But today, I'm not going to talk about those. So if you remember the definition or the description of Backstage has not changed in a long time, it still is an open platform for building developer portals. And the two main phrases here are platform and developer portals. I personally think we have talked about developer portals for the last three and a half years. Today, I want to talk a little bit more about the platform that Backstage is. So really trying to do soul searching here. What is a platform? I hear this word all the time. What does it even mean? It's a platform. Definitely not the railway station where you catch trains. What does it mean when a software is a platform? What does it mean for you? Would anyone like to express what do you think a platform really is? You can shout. You build on top of it. That's a platform. Awesome. Any other contrary, you need contributions on top of it. You have to invite it. So you need a good path for contributors to come and build on top of it. Cool. So it's very similar. I think that's about right. But when we think about developers, what is a platform? Well, everything developer touches today is a platform. And if you think about it, I'm sure almost everyone in this room understands what a developer goes through. You have been a developer in the past or are you are a developer today? Just open your applications folder. Just open your the doc you have and try to start identifying how many of those have either apps, plugins, extensions or add-ons. Let's start. Let's start with the phone. Of course phones have apps. And these are not small apps. These are billion-dollar businesses which these operating systems created. You've got browsers which support extensions. You've got your code editors. And of course some of these are 30-year-old. They have been supporting plugins ever since. You've got your programming languages which support, you know, pluggable libraries which you can use to build your software. You've got your CI CD, your orchestration layer. They support apps. They support pluggable things. And if you really think about it, Spotify is also a platform, right? Not necessarily a developer platform, but yes, artists, you know, like put in their songs and listeners listen to them. So what I've observed is if you build something for developers, it ultimately becomes a platform or it dies out. Happy to chat about any tool that has been here for some time, which is not a platform and developers use them. So today, let's dive into that backstage platform. And I want to highlight these three important pieces which really make that platform really good. The first one is the composability system that exists in backstage. The second is the API refs and lastly the plugin framework. Of course, I'm not an expert on composability system, but as much as I understand, you might have seen three types of plugins in backstage. You have a simple card which you can put on the catalog page on mostly the overview tab. You have a tab which goes on your catalog and has a special route. And finally, you can build an entire page plugin which will go into your sidebar. So the composability system allows plugins to export these metadata, to export these, you know, what they call extensions, so that the backstage app can really use them and ensure, well, and this is how it looks. So the plugins export metadata for the backstage app to consume so that the app understands what is it, where should I place this? Should understand if the plugin is misbehaving, what should I do? Should understand whether should I load the plugin, and by I mean the backstage app, should we load the plugin if it's being used? Understands the routing and finally mixes all them up into the single page. This is my most favorite part about and I know people who have created it and if you know someone, you can't say they're genius, but they're absolutely are. So backstage core APIs have something called API refs, and here's an example of how a plugin can raise an error in the UI. You see three parts here. So the first one is a unique identifier of the API, in this case error API ref. It's nothing, it's just a simple ID which is unique across backstage app. You use this, use API hook to fetch an implementation of this API ref, and you finally get the API instance of this, and I will come to why this is super important in the backstage world. So this is how it looks. The backstage core and the plugins expose, and this is just a simple list of me searching API refs and finding all these APIs that exist in backstage. There is a default implementation all the time, but as a backstage integrator, you can always override most of it. You can provide how you would like to do stuff. For example, if you'd like to use let's say Sentry to manage your errors, you can do that. If you'd like to handle cost, cloud cost management from somewhere else, you can override that. If you want to manage tic-tocs from somewhere else, go ahead, override it. It's built to be customized and personalized for your needs. And finally, the plugin framework. This is the most exciting part. We have got around 200 plugins out there. Every company I talk to has plugins that they have built for their own needs. And of course, backstage makes it super easy for you. So today, I want to think about a few use cases and then just dive straight in. I know if you have read the abstract, I promise 16 things that backstage provides. Well, they're 18 now. So yeah, I keep learning new things. So let's imagine a data engineer and think about it from a place where in the company, they either have backstage or they don't have backstage and think about what their experience is going to be if they don't have this framework, if they don't have this kind of support structure which an IDP provides. So a data engineer wants to build a page where they can see all the golden data sets in the company. It's not made up. It's actually what this little bit some people know about a music company here they do. There's a security engineer who wants to build a new hub for their DevSecOps standards. There's an architect who wants to start measuring code health. And there's a platform engineer who wants to manage cloud developer environments like on demand, if you want to test something to it. And let's see how backstage helps. So I'll do a quick run through of this. Of course, this is very technical, but I'll try to explain in simple terms. So let's begin. Number one, backstage gives you a good boilerplate code. How many of people in this room have never written JavaScript in their life or not recently? Right, so it's not negligible. Like we live in a bubble where we think it's super easy to know how to bundle, how to create the first app. It's not. I tried last month to set up a pet project on Next.js. And it had server-side rendering enabled by default. I spent like entire weekend and was never able to figure it out. Eventually I created a backstage app for my pet project. Believe it or not, I use backstage for tracking what I'm going to eat through the week. So it gives you a boilerplate code to begin with. It gives you a local development environment where you can start coding and start seeing how it looks. You can make changes. It will auto-reload for you. And it also provides in standalone mode where you can run the plugin just on its own. You don't need the entire backstage app. This is where it starts getting interesting. You're building an application and you need to know who the user is in order to provide customizable experience. Are you going to actually ask them to sign in again? No, don't do it. Backstage has got you covered. You call the identity API. You get their email. You get their profile data and start showing them. Right? Remember the four use cases that the developer wants to build in a company which has backstage or an IDP. It gives you good build and test tools. You don't have to worry about whether we're going to use Webpack or in all these different tools which I know JavaScript engineers love to debate. Sorry, no one else cares. I just want to build my code. I just wrote a simple React component. Again, super important. You need to store stuff, right? Imagine, and I've seen this personally, companies, different teams, they start really complex projects and they end up doing DevOps. How much time is being wasted by every platform engineer if all of them are having a database up and running and maintaining that? Don't do that. Backstage has got you covered. You write your schema. You write your queries. You'll get a TP and we'll figure out where that is hosted, whether this is Postgres, whether this is SQLite, or maybe in future something else. There's the amount of effort that the backstage, especially the maintainers put, to ensure tools are replaceable is extremely hard. Of course, it uses connects to support multiple database providers. Do you need config to configure different behaviors of the app? Don't write another YAML parser. Backstage has got you covered with schema validation and everything. Do you need Cache Manager? Do you need Redis? Do you need Memcache? Why bother? Just use a simple cache API that Backstage provides. Whatever your app integrator has configured, you'll get to use that. Even just memory, sometimes that's good. Are you running tasks on a periodic basis or are you scheduling them? You might know that catalog and scaffolder, they run this, syncing, pooling, execution. There's a task scheduler for you if you're building a plugin. Use it. I personally worked on this, so again, this is going to be my personal favorite. Imagine you're building a plugin which has to read URLs from different third-party providers. How would you do it? You're given a URL like github.com, something, bitbucket.org, something. Are you going to ask for a token again and again? Are you going to ask for an app and realize how to do authentication? It's very hard. In Backstage, there's three AFLs conditions based on the Bitbucket API version, by the way. So, it has got you covered. Use the URL reader by Backstage. Read files, download files, don't worry about auth. You've got to cover it. This is something new I learned. There's an event broker. You can publish events and other plugins can subscribe to them. And if change is needed, you use it. Again, very important, if you want your developers to sign in via github and sign in via Google, what are you going to do? Go ahead, build an OAuth framework, spend a month on this. No, you shouldn't do that. Make the life of Platform Engineer really simple. Use the Google OAuth and GitHub OAuth provided by Backstage, and it will make it super easy for you to know what the GitHub idea is so that you can make requests to GitHub on their behalf. So, making life easier. Permissions framework, right? If you want to add a little bit of authorization in there, use the permission framework provided by Backstage so that you can differentiate actions. Basic things, you need alerting, but do you have to worry about what alerting framework should you use? No, use the one provided by Backstage and your integrator will figure out where that alert goes. There's a shared library of components. Why bother creating a new graph component? Why bother creating a new table? There's a storybook for you. Of course, it's based on Material UI. Just don't think about design too much. Ensure consistency and you can move on. Well, do you want to release features behind a feature flag? Yeah, Backstage has a feature flag where users can toggle and then get the behavior changed. Use it and then maybe release it to a couple of teams. Search is extremely hard. I was talking to a long-time Backstage adopter. Imagine if you were to build search on your own. It's going to be very, very hard. Backstage provides you with the search framework.  You need to understand how the users behave. Use the plugin analytics API, publish events, and then if it needs to be Google Analytics or New Relic or Segment, that's none of your business as a plugin developer. You just want to get some behavior data. Or do you not want to build backend? You already have a backend. You just want to build a simple UI component and make requests to the backend using the Backstage proxy. So use the Backstage proxy for that. This is endless. I haven't written Backstage code in a couple of months. I'm sure there are people in this room who will come and give another 10 examples. This is what's hidden in the Backstage platform. And I'll give you one of the examples that I deal with almost every day for the past year. We embed Backstage inside Harness, which is our software delivery platform. And just to show you the craziness, it does not run on the root path. It runs on app.harness slash customer ID, something, something, and there's never been a glitch. It works as it is. You never sign in into Backstage. You sign in into Harness, but you make sure the identity APIs are working very well. And we have been able to build plugins like crazy. We built scorecards. We built plugins for our integrations to our CI, CD, feature flags, and rest of the platform. We did all of this in within a year, actually, nine months, just because Backstage is an extremely powerful platform. So today, we have arrived. What is the answer look like? What is Backstage? I would not attempt to define this really soon. I don't think we should call that this is a catalog, this is how you measure service maturity, or this is a, let it settle, let it be hard. It's fine. It has a huge potential to become the great developer platform that it's going to be, and let the community explore and figure themselves out. So all I know is the journey has only begun, and yeah, it's going to be great. Thank you. Amazing as usual, Himanshu. Any questions from the audience? Please keep the controversial questions outside of the stage. It's upon yourself, Himanshu. It's inevitable. It's going to come. Brace yourself. Hey, thank you so much, Himanshu. This is really helpful. I had a question on, you had something about when you talked about the plugins. You have page plugins, tab plugins. You have card plugins. You have three different kind of plugins, right? How are they kind of controlling the contribution model over there? The reason I'm asking is, if you have a special, if you have a SBA, a single-page application, you have cards that are certain dimensions, right? Now you have a plugin that comes in, and how do you tell, is there a governance process that you have on which plugin, which dimensions, where it goes, et cetera, et cetera? Like how does that work? Yes, not an expert on this, but as much as I know, is if you're building a card plugin, you don't get to decide what the dimensions look like. It's the backstage app integrator, which decides that. So that's number one is, the plugin comes as it is. And then the integrator could make it full width. They could make it half width. For full-page plugins and tab, you get full control. OK, so that's not a soft plugin. It's more of a hard plugin with the integrator. So one good mental model for this is, imagine what this page is doing, right? This is a front end to the infrastructure. So what I have used so far is, try to think if you can build a card first, if you have a platform behind the scenes. Try to remove, as product builders, we love our product. We love our features. We are super obsessed with the things that we want to show to developers, but we don't realize that the developers have 100 people showing 2,000 things to them. So don't do it. Think about what they need on a daily or weekly basis. Put this on a card. If you have more information, put it on a tab, which is in the context of the service. And full page plugin is when you want to go beyond the service context. Thank you. I had one more question on your, you had inbuilt alerting. Like you said, you have an alerting framework as a part of it, because it's a platform. As we are going to hotel and more different open telemetry open sources, right out there, is backstage integrates with them? Or we are alerting platform. It's an open source by itself that is different from hotel. Like how is that working? Yeah, so a good question for the Discord channel. As much as I understand that the alerting is for the front end plugins, we do have some kind of telemetry in the back end. I may not have the right answer. So you've got some actually experts in the room, but put it on the GitHub discussion. If it's going to be built, it's not going to be vendor logged in. So it will again be an API driven. And you could plug in different vendors in there. There's another one there. This one is hard to get. Hey, thank you very much for the talk. I want to stop over the event broker part. I'm curious, what are the actually use cases for it? And what did you mean by components talking to the components subscribing to events? In which case exactly? Yeah, so I can think of a simple one where catalog contains all the metadata. And let's say you build a plugin where you want to know if a metadata of a component got updated. Let's say the owner changed. And based on that information, your plugin behavior has to change. So that's where maybe you would want to subscribe to those kind of events within the back end system. This is new. So I may not have the right answer. But yeah, that's a use case I can think of is a plugin changes its behavior. Let's say search index updates. And now the authorization plugin needs something else. I don't know. I'm making things up at this point. But yeah, plugins do need to talk to each other, these core plugins. Thank you. Any other questions? Come on, one controversial question. I made so many huge claims. Like developers use platforms. Now, really, if you agree with that, I think that's great to hear. No other questions. Perfect. Thank you so much. Thank you so much. No, no, there is one. There is one. Hold on.


Welcome to All Hands Update. This is your week in Navy History. February 16, 1804, Lieutenant Stephen Decatur, along with volunteers from Frigate Constitution and Schooner Enterprise, entered Tripoli Harbor in the Catch and Tripod under the cover of night to burn the captured Frigate Philadelphia. Decatur's raids succeeded without American losses. On February 17, 1944, during Operation Hellstone, aircraft from the 9 aircraft carriers of Task Force 58 attacked the Japanese fleet at Truke. During the two-day strike, 33 Japanese vessels were destroyed and 9 more were damaged. February 21, 1945, Japanese kamikazes sunk escort carrier USS Bismarck Sea while off the coast of Iwo Jima with the loss of 318 men. USS Saratoga was struck by five kamikazes but survived, although 123 men were killed. If you would like to learn more about these facts and the Navy's history, visit the Naval History and Heritage Commence website.


Walter Payton unbelievable career and again we want to make sure that we recognize like we talked last week our ability and our efforts okay for charity and community outreach and so what the NFL does is there's 32 representatives for the Walter Payton Man of the Year and at the end of the season they recognize that person throughout the league okay and our 2023 Walter Payton Man of the Year nominee is Jeffrey Simmons. When you think about Jeff he could use his accolades to his advantage. He could use all of those things. He's never once come to us and said I want to do this because I'm a big athlete. He comes and says I want to do it because it's important because it's valuable because someone did it for me and I want to do it for others. Being nominated for this award is mean a word to me and I know it mean a word to my family because for one they know I'm such a given person and I care about so many other things and people sometimes more than myself so this means a word to me. He understands the value of what it means to give back what it means to pour into the next generation. Know that these kids they look up to us they really need it they need that mentor. It's time to get started it's time to put some work in take the coaching make sure you got listening if you got a question about anything that we doing ask questions no questions a dumb question all right. I believe that when young people can see someone who looks like them who may have had the same dream as them it changes their life and I believe that he is certainly interested in changing the lives of young people not just in middle Tennessee but I believe around the nation.