Welcome. This is Melissa Arma with the Stock Swoosh and I'm reviewing the Expiration Week for the Options newsletter for the week of January 21st. This was the trades that expired that Friday. I usually do the weekly. So these are all the trades and there was 100% win ratio. It was a really good week. We've had a great start to 2022. To be honest, the trades are just there. I mean, they've just been plopped into my lap. It feels like to be honest with you, but you know, it's nice to have so much opportunity. We're capitalizing on it. You don't have to do all the trades. You can take whatever risk you like. So I'm using an average of $1,000 risk per trade risk. You could have made $30,695 this one week. Every trade worked. If you did them all, let's go through them. Again, this was Expiration 121. For those of you that now appear on television, you can watch me on Fox News, Fox Business, and pretty much every channel. I try to tweet when I'm on TV. If you'd like more information, you can email me at Melissa at thestockswoosh.com. You can always call me at 929-3200GAP and you can follow me on Twitter, Facebook, YouTube, or Skype. So everything I do is based on my GoToGap rating system. I write the gap in the morning and then the newsletters. Again, the options newsletter. That's where we're going over here. If you were a subscriber, you get the trades in live time. And then you take them. Targets are on the letter. But it's all based on my rating method. So I'm rating them. I'm rating them in the pre-market. Let's go over them. So there were 13 trades, 13 winners, zero losers, and zero breaking event, 100% win ratio, total risk. They weren't all on the same time, but if you took them all, you would have needed 14,925 beginner trader profits, 3695. We turned an investment, 203%. So just a really nice week. And again, it's about having more winners than losers. That's how your success went the market. That's how you can make money trading. So I try to focus. January 13th, 1017, I call the expiration of 121, the Facebook 330s. So let's see. This one was called in the 13th exit, the 18th. Let's look at it. This is pretty reasonable, I think, 380 for the Facebooks. So again, the average was about $1,000 I used for this. For beginner, three contracts, 1140. Whatever your risk is, it should be close to equal or similar, just so you know. That's how you can get consistent results. Sold at 12 profit, 2460, returning investment, 216%. Nice trade. I mean, again, you're looking to get in, get out, but you want momentum, you want it to move. Now I'm going to show you the chart. This really doesn't look like much at all, but it was a perfect, perfect, perfect, perfect entry. Here's where it was. Again, you got to get the direction right now. It should be successful, but the timing, the timing of the entries is so important too. And it's something that I'm very good at. I'm just great at entries. And you know, again, this is why people are signing up for the newsletter. Here, boom, get the drop. And this was not even like some Megalodon truck. Like here, this was just boom. That was it. It doesn't even look like much. And look, it was over 200%. It was a beautiful trade. It was a beautiful call. So that was a putt. So when you're doing a putt, it's dropping. The price is dropping. Okay. Again, called the 330s here, right at the strike, then it dropped into it, through it, through the strike. Okay. So that is a putt. When we do calls, we're looking for it to go up. Okay. Also, did the Netflix is here 520? Same day, same time. The, actually, there were four trades this day. This is the fourth one here. I numbered them. So sometimes I will stack them. Stack them with the strikes. So this was 1350. You could have done one. Rich 1350 sold a 24. You could have made a 1,050. In and out. In the 13th, out the 18th, 78% return investment. Now, what I put over here was, because I wanted to show you, this actually went just fall off a planet on the earnings. The earnings were the 20th. And so this didn't expire the 21st. If you stayed in this trade to the very last day, not that I think anyone should have, but if you did, you would have risked the profit. You would have risked the risk. So you would have lost, you would have gave back all the profit and 1350. In this case here, it would have paid off. And again, I'm not saying that people should ever do it. When you have a positive trade 50% or more, it's important to look at when you don't know what's going to happen before the earnings. In this case, it worked in the earnings favor of the direction that I was looking at, which was down. If you held it the close, this isn't even the high, the high, the average trade. This was a close. It was 125 in the very last day, 11,150. Again, sometimes I get this question, oh, are you always holding to the very last? No, that's impossible. I mean, it's just, you know, I do the best I can. The idea is to go funny. And the idea is to have more winners and losers. I feel like we accomplished that and I try my best with good exits. And sometimes we do have low-day exits and inputs. And sometimes we do have high-day exits and calls. But it's not like my goal. My goal is to get the best gap, really. But here's what this did. Here's the chart. 13th here.  Show this one. Boom. Again, take it over. So again, I knew it was going to drop into it. It dropped into the 520s. And again, I called a couple other ones to look at. But anyways, then this was here. So this was the 20th. The earnings came out that night and then it tanked. It opened that day into 400. That was insane. Insane.  I think some people did actually hold it through. I didn't. But I think some people did. I have to go back and look at my email, the gap options, these letter subscribers who did. But I'm showing you this year because I want you to see when I called the trade, what the stock did after it, and that the potential exists if you ever decide. Listen, I did call four trades in this. You could have held one, actually. You could have held one. There were different strikes. But you know, it's sort of like gambling when you hold into the earnings, if you're up a good amount, because you just don't know. This could have very well gone to 600. Then the whole profit would have been gone. Again, because it was the last day of the expiration. Now, the times that I hold to the last day of the expiration are, guess what? When I'm already down in the tree, you know, so then I have nothing to lose, really. So the trade could go in my favor, in which case, again, this did.  But it was a good solid trade if you took it and got out. And again, chunking it out is the process and is the goal. But we absolutely do not get out of everything at the high that's not even realistic. And I don't know what people think when they ask that question, because it's like, honestly, that's next to impossible. While there are some times I feel like we have low-the-day exits and shorts in the day trade, where we had two in the last week, actually. When I went back and looked at them, I said, wow, we got out almost at the bottom. I sometimes can do that. And even in options, too, sometimes I can do it near the high of the options chain, where I'm watching, I'm right on it, right on it, right on it, right on it. But you literally have to be like that to get it like that. And then sometimes something happens, and it keeps going anyway. So what are you going to do? This was one of those instances. You do the best you can, your goals to make money. That is your goal, to be profitable, to be as successful as you could be, not to take crapshoots and potshots. That's what you go to Atlantic City for. So then I did the 525s here. I called them at the same time. Stacked them. Similar, but was slightly more expensive. So if you had a beginner risk of a thousand, I'd say you couldn't do this trade. You got to keep the closest similar. You could have sold it right before the earnings of 27 on the 18th, or you could have held it through and you would have made 11,000. Close on the day of the last day was 128. So this one was a no for a person with a thousand risk. Same chart, same everything. Higher strike was the 525s. That's why it was more. Also, I called the 530s again. You can hold one, you can do whatever. This one you couldn't do either though. Too expensive. This is right before the 18th, before the earnings. And again, if you hold it through, it was worth 135 with the close on the very last day. This is highly unusual though, people. But I'm showing you this for teaching purposes, for educational purposes. So you can see the possibility. And again, what a nice call I had in this here really. I mean, it was just another good entry. Another solid, solid entry. 535s was the first one. Same thing, same time, a little bit earlier in the day. It was more, couldn't do this if you had a thousand risk. It would have doubled it. It would have been like two trades and one, which is a no-no. This again, close of the last day, 135, 11,500. Pretty crazy. But this thing just tanked. Wet more than 100 points through into the earnings and actually has not recovered since. And that was back. What is today? March 3rd. Yeah, that was more than a month ago, has not recovered. Well here, this was the first, the chart in from two days ago. So then let's look at the spy. This was same day, 10, 15 to 471 spy puts. You could have done it, got in, got the move, got out. Again, we're looking for the drop and a put. This was pretty reasonable. 340, 3 contracts, risk of 1,020 sold at 24 profit, 6,180 return investment, 606%. It was an amazing trade. Let's take a look at it. Again, the 13th. So here we are. And here's the drop. Boom, boom. And again, this is an exit here. Oops, where's the 20th? Oh, here. This is an exit the 20th, not the last day. It went further the last day. Again, if you entered this here, this was not the high adoptions train. If you had the last day, you made more completely insane. Again, the low in this day is you take it over like 436. These were the 471s. So, again, one of the reasons why people are having so much success, the subscribers of the gap options newsletter is the timing of these trades when I'm getting them out are super duper early. So, we're getting in them really early. And that means you have flexibility. You could take 4, get out of 2, hold 2. You can take 4, hold a mod. You could take 4, quick get out, do another one, do a lower strike, whatever. It gives you the flexibility when you have an amazing entry, which again, this was as well. Got the nice flush here. Again, seems like forever ago, but this was the third week of January. But again, this one here, when I point out, you could have held it made more money the last day. I don't think that's wise for people to do it because you're up. So, then the 388 puts in the cues, same day. For 20, contract three, risk is 1280. So, 24, again, the 20th, not the last day. You could have made $5,940 and a 471% return investment. So, again, when you look on the return and investments of this trade, and I'll show you the chart in a minute, and this trade, which was 606, this is not even the high of the options chain. That's my whole point. I didn't, I didn't, don't think I even looked at what they were that Friday. We ended up doing other things. I think that day we did new stuff. But you get to a point where once you are out of a trade, you got to move off of it. But I just want to show you here, these are, these are incredible numbers people. So, really, not much money management needed because you take it, you get the move, you get out. You're going to make money either way. That's how we had all winners here in this particular weekend. So, just huge, huge, huge, huge, huge trades. And it just goes to prove the point that you don't have to risk a lot in order to make money. If you can risk 1200 bucks and make almost six grand in a week, that's fabulous. Fabulous. Okay. Because remember, I called it on the 13th, the 20th is about a week. So, here's the cues. Again, boom and drop. There it is, drop. Again, what happened the very last day, it continued. So, this was the 388th. Where did it go the last day? 350. It's crazy. Crazy. But the 20th was here at 360. Look at that. It went 10 points. It looks like the last day. I didn't go back and look what these were worth either in the close of that last day. I did for Netflix because it was such, that was such a monster move. I really, I want, I mean, I wanted to now. But, you know, in all of these cases here, you could have held the last day. Again, that's, it's risky to do that, especially in the volatile market like we're in right now. But it was working in our favor here and we got it. So, 460 spies I called on Friday, which was the 14. I saw what was happening. Again, here it is, the 14th, which is Friday into the following week. Same expiration, $3.60 for the puts. Three contracts you could have taken with 1,080 risks sold at 12 and made 25-20. Returning investment 233%. I always tell people, you know, if you're not comfortable holding overnight, then you could back your risk off or do less trades, do less trades. Because again, when you're getting something in your direction, and again, here's the 14th. We're going to look at this particular day. It was here. This backed up. This backed up this trade when I called it here.  It was 841. So, I called this here in the pre-market. You take the trade into the open if you want to do it. But either way, it was a put. We rallied here. This trade didn't go positive until the next day, which was Monday. So, this was Friday. So, you hold it over the weekend and stay in it negative if you stayed in it. But look how it paid if you killed it, you missed it. If you killed it, you missed it. So, people are better off letting the trades play out and backing off their risk or doing less trades. Holding overnight is sometimes a benefit of doing options. As I've said this many times before, many, many times before. And while everyone wants everything to go the second that I call it, that's not realistic in every trade. And you've got to learn what you're doing here so you can understand to get to reap the benefits and the rewards. Then I also called the 374 puts again, same day in the queues. That was Friday again in the pre-market. These are all around similar to the same price. 380, 3 contracts, 1140, sold 1150, profit 2310. Again, this was one that backed up too. I'll show you the chart. 203%, here is the day. Again, called it, backed up, and drop, drop, drop. So again, this trade was negative going into the close of Friday. You were down in the trade if you didn't, wherever it was. But the point was you take the risk you can afford. So, you can let the trade play out. I know there's some people that killed them when they go down the first day of column. I know those people that do and then they say, oh crap, why did I do that? Someone calling of the day about that. And then he did better after we had the talk. So again, you have to kind of go with what we're doing here. Again, if you've done the class, you may understand better what I'm looking at here. If you haven't, you have to back off your wrist so you can let the trades play out. In this case here, Goldman was a weird one. These banks sometimes they work right as options and sometimes they don't. They've got to have big moves to pay. I'll be happy with 40% in a bank one or 50%. But this was one that got out of it the last day with money. That's why it's only a profit of 1,500. Or no, that was the advanced trader profit. But I'll show you. This was 365. Oh, no, you couldn't do this trade. Yeah, you couldn't do this trade beginner. But if you had done it as an advanced trader, if you had done it, it had a small profit. It had a small profit. But it wasn't even 30% or 40%. It was just whatever. Here's the chart. It was going in our favor, but it couldn't get the mojo. Couldn't get the mojo. Here it was. So here it was, and here is the drop. And again, the 21st is here. So again, it was the 365s down in here is the drop. Again, it was just one of these weird ones, but it just didn't get enough juice in it to go. It worked though.  It was a positive trade. I forgot what this cost here though. You couldn't do it if you had a $1,000 risk. So that one was off. Unless you wanted to up your risk to 1,500, you could do that. You could have done some of these ones actually if you want to use a $1,500 risk. I'm trying to come up with a number to show people just what's possible with lower risk so that they can participate. So many times people are like, well, I have to wait till this thing and that thing, that thing, the other. I've seen people take small accounts with $2,000 and build them up to 5, 10. One guy built it up to 25. Again, it may take several weeks. It could take several months, but at least you're trading, you're active, you're building it. It's going to take a lot longer to save 25 grand than it is to trade actively if you're doing it right and you're taking winning trades. This was the 458 puts, called this on the 18th. It was a tight one here, but it worked too. This was in the pre-market, $925. Cost was $4, three contracts, risk $1,200, sold at $950, profit $2,200. Returning to investment, 138%. A nice trade. Let's take a look at the gap. So 118, 458, 118. Oh, this was the Monday. Yeah. So this was the Friday we just talked about, then we gap down on the Monday, take it over here, called the 458, it's a little bit under. Again, got the drop, boom, boom. But I call this pretty tight. In this case here as well, if you held it the last day, you made more money. Again, doesn't make sense to do that. Getting out here is beautiful, beautiful. Look where it dropped. Far, far through the strike, came down here, broke 450. Then I also called the 455s. I told you I will stack them. This was a lower one, so it was slightly less expensive. You could have gotten $4, $3, risk $1,200, sold at $8, profit $2,000. Returning to investment, 167%. This was all that same gap on that Monday. Okay. So again, here's the day. Oh, no, that was Tuesday because that was the short week. That was Martin Luther King week. This was actually Tuesday. Yeah, so this was, that was Friday, then we had off the Monday. So it was a three-day weekend that's right. I remember that now. It really worked in our favor. Don't remember why we gap down there.  We also did the 450s. 1.30 in the afternoon saw what was going. Same expiration, 1.21. These were dirt cheap. I mean, to call that so far away and it went, it went, it went through it. I'm very good at reading price action and live time specifically. It's a benefit of trading with me. It's a benefit of signing up for all of these things. My classes and newsletters, all of it. Costs was two, five contracts risk a thousand sold 360, $800 profit, 80%. So this is over here into the day. Like the days are already going. And then I said, okay, this is going to get to 450. And then it goes boom. And it went down here almost to 445. But that was, you know, that was a really cheap price for to do a spy put like that. But again, I'm calling this when it's points and points and points away because I'm seeing it's going to go there. Then, oh yeah, we just talked about this. Okay. So this was the 450. And then I called Amazon. 3100 was the, the strike. And again, these are not cheap. So this was the put. You couldn't do this trade. We couldn't do it. So the cost was $21. Could have sold it for 72. It was a positive trade if you were able to take one for 2,100, but you couldn't do it with your risk of a thousand. Let's look at the chart. This was another winner though. So I'm pointing out all the winners that every trade worked this week. But again, you couldn't do this. You couldn't participate in this trade because of the cost. If you stick to your rules and you must, you must, you have to, you have to no matter what, you're the one studying the rules. If you're risking $10,000 a trade, you can't reach 30. You got to stick to the rules, set the rules. You set the rules yourself. If you can't follow the rules, you set yourself. I mean, you can't follow any rules. Oh, I'd expect to be successful. 118. Let's find it. Here we go. This was the same day after the weekend. Close to your gap down. Boom. Got the draw. Beautiful. Again, crazy, crazy, crazy. Look what it did the last day. You can't possibly hold this to the last day. Not with the cost of this and everything else, but again, this was not a lower the day. Exited at a sale price of 72. Look where it went. 2,800. That was crazy. I didn't even look what that was. Usually, if I take something that I get out of it, I'm done with it. I'm just done with it. I mentally cannot spend any more energy on a trade than I'm not in. I mean, already other stuff, we're ready by then anyways that I'm thinking about. You just can't. You take it, chunk it, get it out, book it out, take it, book it, get out. Do the next one. And every time you take a trade and you book the money and that'll be the profit in your account again, then the next day you will have the money you used to take the trade in the first place to take another trade. That's the beauty of trading. You get the money back plus the profit when you exit it. So that's pretty crazy. So that was 300 points. Seriously, 300 points. This isn't a matter of dates. So this was 118. 1, 2, 3, 4. In four days, the stock went down 300 points. So crazy. Again, a really nice read. Then the diamonds, the 18th, that same day, the 18th, which was Tuesday. Again, Monday, the market was closed. One o'clock in the afternoon, the 350 puts, these were cheap. A $1.85, 6 contracts, risk 1,110, sold at 320, profit 810, 73% return on investment. In and out. Take it and book it. Again, this continue too. They all continue. They all continue. You could have made money in all of these, all of you in the last day. But again, it's just your job is to take the trade, be right about the direction, the timing, and get in for profit and get out. So this was here. The Tuesday, here's the drop. So this was 350. Yeah, so I call this way lower. I call this way lower here. But anyways, here, the day of the last day. Just wanted to see where it went. It went to like 341, I think 342 or something. So this was when I called to drop into it, into it like a cup. Then the Facebook 330 puts called right in the morning early. These were not cheap. One you could have done for $1,100 sold at 20, made $100 bucks. Again, 82% return investments, a good trade. So this was the 18th. This was before the earnings. Oh, it's here. Here's the drop. But that's where they were so expensive because I called the 330s. That's why I don't remember why I did call the 330s there. Why did I call the 330s? I can't remember. Interesting. Let's go back to the QQQs. The 372 puts, then I called on the 18th exit 120. Again, this was that Tuesday. The gap down after the three-day weekend. So really, these were tightly called because to be honest, I could have called them out for the following week. They all would have worked. You could have held them a little bit longer, but you would have paid more for them. 375, three contracts, risk was $1,125, sold at 950. Profit $1,725, return and investment, 153%. So there again, you take it, get the drop. This was 372. Right here. Here's the drop and out. Here's the last day. Again, if you would have held it, came down here, 350. This one here is 360. It's a beautiful read of this market. I'm sorry in this market, so well this year. I've got to continue to do it. I mean, it's just about focused for me. Then I called the 370s that same day, a little bit after the open, so it was continued. These were down into it, $3, four contracts, risk $1,200, sold at 750. 1,800 profit in and out. Again, 150% return and investment. This continued. Remember, you could have made more.  Not that I think you could have, but it was a beautiful exit on Thursday. Thursday, which is here. Again, taken over. It's right around 360. So there were all in all 13 trace 13 winners. Some you couldn't do because of the price point. So you can't.  You would have had to risk an average of $1,000 a trade. Some you were doubled up in some of the days. Some you got out of. Some you held. Again, these trades were called in different days, but all the same expiration date of the one week of results up until the expiration, the 21st. So from the Thursday to the Thursday, because again, I don't really think it makes sense to hold in the last day, but in many cases in these trades, you could have made more money. So beginner trader profits $30,695. And again, some of the trades aren't in here that for you to do, unless you want to rep your risk to $1,500. I don't think there's anything wrong with taking a $1,500 risk and then you can do some of the ones that cost $16 or $17. That's fine. Again, you shouldn't be risking $1,500 on average and then taking one that costs $3,900 or something or $39 bucks for one. You have to really think about where you're at with your cash. And again, as you see, it's a very active letter. So you want to be able to take, you have the benefit of actually doing the trades. You want to be able to make money. That's the whole point. So if you have questions, you can certainly reach out to me. You can certainly email me and Melissa at thestockswush.com. If you want to sign up for the Gap Options newsletter, you can email me to you and go to the website. It's www.thestockswush.com. Go to the website. And on there, I have a half annual subscription for $4,999 at six months and an annual subscription of 12 months, which is $69.99 for 12 month subscription. I do not have trials. There are no prerequisites. And I don't have a monthly or quarterly service. It's one of these things where if you have questions, you can pick up a phone and you can call me. Email me as well, Melissa at thestockswush.com. Have a great day, everyone. So if you're interested in learning my method, you can sign up for the Golden Gap course. This is a class that I typically do once a month. You can email me for upcoming dates. The March class is March 26 and 27. 9 a.m. to 5 p.m. Eastern time cost of the class is $69.99. Again, you can be anywhere in the world and take it. It is a weekend class. The class is always held on the weekend. If you are interested in signing up, you can email me at Melissa at thestockswush.com to register. If you would like to sign up just for the newsletter subscription, these newsletters I've been reviewing in this video, there's a one-year subscription option and a six-month option. I just added the six-month option this year. I do not have monthly or quarterly and I'm not going to be doing that. This is good enough. I'm giving people two options and six months is a long time. 12 months is a huge amount of time. As you can see from this week here, it's an active letter. You may not even want to do all the trades. So you jump in, you sign up, you get started, you get going, and then you can take your time. You can do one trade a day, whatever works for you. Again, it's based on your experience and the size of your account. Again, trades are emailed to you. It's $49.99 for six months and $69.99 for 12 months. So find a way to make it work for you if you want to sign up and jump in so that you don't miss any more opportunities. It has been a great start to 2022. And if you'd like to sign up, if you have questions, feel free to email me. I will get back to you. And if you have any other information you'd like to share as far as your experience with trading options, if you're new, if you have been training for a while, you can detail that to me in an email as well. Again, everything I do is based on my golden gap rating system. So I've used the strategy I created in a way to trade options because, again, you get the overnight moves. We've gotten huge moves overnight. I like doing day trades and options. I like doing both. But if you just want to do options, this newsletter is a thing that you'd want to join. There are people that are working full-time and doing these options at their jobs or while they're doing their jobs. It's an amazing thing. I said this on a previous video. There's a truck driver that signed up. He is literally delivering packages and trading in the truck. He's doing it and he's been doing very well. He made 35 grand in two weeks down. That wasn't even in January. That was in February since he signed up. So you know, find a way to make it work for your schedule if you can do it. And if you can't trade every day, then you do what the days you can. You do what the days that you can. Again, feel free to email me. If you want to discuss your experience, I will get back to you. You can call me at 929-3200-GAAP. Have a great day, everyone.


And the media can get to your kids to incite you to do anything when you don't have an authority figure around. Now, you see me, I'm black, but this right here ain't it. This is right here being a victim.  If you grew up with a father, you're not going to be out there thinking that this is going to make a difference. See, I teach my kids, they're not victims. You make your own way. You design your own path.


Γεια σας my Crafty Friends and Welcome back to another card making video. Today I'm having fun with a new release, the August release by my favorite things and instead of sharing an unboxing video I'm going to share 3 cards trying to put as much of those new products into action. The August release by my favorite things includes lots of products that are perfect for Halloween, everything just like always is super adorable and I'm going to share 2 Halloween cards today as well as a birthday card. By the way I'm back home, summer vacation is finally over and although this is quite sad I came back to a house full of packages with lots of new releases and products and I have lots and lots of new ideas to share with you. So here I'm starting with my favorite things new release today. This die set is called Everything but the broom. I used colored cardstock to cut out all the different pieces that I want for my card and I made sure that I went with greens, purples and oranges which is a combo that you can never go wrong when you are trying to create a Halloween card. For the detail on the boot I used silver cardstock and if you notice at the moment I did die cut the pot out of purple cardstock but as I was designing the card later on I decided that I wanted a purple for the background and it wasn't standing out as much so you will see what I'm going to do. Now I'm going to make the socks. For the socks you have to go on every other one of the indentations and stick one of the little pieces.   Now I'm going to stick the legs with the boots together and for doing all the sticking I did use my Burley Art glue I love this glue just because it has a fine tip and it is perfect for all those little pieces. Now here is where I changed my mind for the pot I decided to cut it out from silver and one more time from black and I'm going to cut out only the legs from the silver pot and stick them on top of the black one just to add something extra and a little bit of shine. And then for the liquid for the inside of the pot I did cut out the bubbles and the liquid out of a green glitter cardstock just to add even more sparkle on a really fun card. Now for the background I'm going with a purple and I'm using one of the double stitched rectangle dies to cut out a panel. These rectangle dies are from the previous release but they are one of those dies that I keep on using 3 out of the year since I always like to create panels for my cards.  I went tone on tone so it is very subtle however you will see the design on the close-up photos. I'm going to work on my sentiment now I will white emboss it on a black piece of cardstock I'm using one sentiment from the itty bitty booze This is super adorable and I absolutely love when a font is very very thin I did prep my cardstock with my anti-static powder and that prevents the embossing powder to stick all over the place Now I'm going to stamp my sentiment by using my VersaMark ink I'm going to apply bright white embossing powder This is fine embossing powder which is perfect when you try to emboss a sentiment with such small fonts This is going to ensure that it's going to pick up all the detail Then I cut the sentiment with a very thin sentiment die and then I'm using my paper trimmer to trim out the space on the left and on the right of my sentiment Making sure that they are nice and even and now finally I have all the elements ready and I can put together my panel Now you follow me, you already know that I love dimension I cannot stay away from it So for every one of those elements I did use foam tape at the back I also placed a sentiment strip down and then placed the boots on top of it providing kind of the ground for my witch All this remember that you can make the exact same card by switch up the colors So for example instead of having a purple background you can have an orange one and switch up the colors on the pot and the socks Just keep in mind that if you use the three colors orange, purple and green you will have the perfect Halloween card no matter which way you use them I'm going to stick the little bubbles coming out of my pot and there is a die in the set that helps you cut out all those little bubbles However if you wish so you can use gems for an extra sparkly I placed my panel on top of an orange card base and here is a finished look On the first card for today For my next card I'm going for a birthday card and this is the Smell the Cake Stumpset Super adorable I absolutely love those talks with the balloons as well as the care and there are many such adorable designs in this new release They are all by Tiddly Inks Make sure to check them out They are just amazing designs If you love coloring you will have lots of fun using those So for my birthday card I'm going with one of the dogs that is flying with the balloons I'm going to color everything with my alcohol markers I tend to do quick coloring with alcohol markers I don't like spending too much time on that I prefer designing most and for that I found that they work great for me The Treblence by Spectrum Noir I absolutely love the fact that you get all three shades that you need in one barrel So I don't have to go through my touch of markers and find markers that match together There are amazing YouTubers out there where you can follow them for learning how to blend with alcohol markers and I usually cut out the part where I'm doing the coloring However I do get a lot of questions about that So here is how I color the balloons I did add a touch of light gray on the dog I did want some shadow but at the same time I wanted the dog to be white I'm using the matching dye to die cut my focal point and then I'm also going to use a cloud dye to cut out a couple of clouds that I can use on my layout and this is just a bunch of clouds that I have from previous releases that I keep on using again and again for my layouts Here is another dye that I keep on using and you have seen me using it again and again for my designs I absolutely love creating windows and this stitched window dye is one of my favorites I have it for years and keep on using it again and again So here is my card base in blue which is going to work as a sky through the window I'm temporarily placing that white frame on top of my card base and I will decide where I want the clouds to go stick them down This is the window frame on top using foam tape at the bottom and then I'm going to stick my little dog Now this would make a great shaker card as well if you want to have little bits and pieces shaking inside that window However I went with a simpler version as I was going for a clean and simple card for this one There is plenty of room below the window to add your sentiment you can stop it differently I decided to go with a die cut happy birthday This is the hanging happy birthday I'm only going to use the happy birthday part but however there are dies here that you can use to suspend the happy birthday and have it moving on top of your card This die set gives you both the outline as well as every letter individually I did cut out the outline out of white cardstock and then on top I'm sticking letter by letter that I die cut from silver glitter cardstock Here is a close up look on the finished card and as always I'm going to share a couple of photos and I have one more Halloween card to share with you For my third and last card for today I'm using the sweet little spell Again a design from the Tiddly Inks collection There is something about the collection that draws me so much I absolutely love those designs and I'm going to stamp the girl in black ink which is alcohol marker friendly and as I normally do I'm going to grab my triblence and color in my little witch and as I'm coloring I will make sure that I will use purple green and orange on my image to make it look perfect for Halloween and I'm not going to show you how I did all the coloring just some quick coloring with my triblence will do the trick The fun part about having triblence is that I don't have a huge collection just 10 or 15 markers will do the trick and it's not so intimidating to try and choose the correct colors and with the magic of video editing my girl is colored and cut out and now I'm going to create the background for that I'm using a stencil from a previous release that gives you that shape which is completely random I absolutely love this one and I'm going to create a background for my girl by using my Distress Oxidings The main two colors that I'm playing with are Blueprint Sketch which is the bluish one and the wilted violet which matches perfectly with the color of the dress So I'm going to go back and forth adding those colors on my background and since they are very juicy you will find that they blend really nicely and easily together If you are wondering I'm working on a Nina Solar White cardstock which is very smooth and helps Distress Oxidings to blend beautifully I like to go back again and again until I'm happy with the blending and I'm not loading my blending tool too much with ink, I like to apply thinner layers and do that again and again for a smoother effect Now I'm also going to bring in black shoot which is going to make sure that this is going to look darker at the end I'm going to apply it on the edges and then I will go back with the blue and the purple just to blend that black in together with the rest of the colors, I absolutely love the result and trust me it's so much easier to get that smooth blending with the oxides instead of the original Distress Inks and when I'm creating a background with Distress Oxides I cannot stay away from water so I have to apply some splashes, this is water which is going to react to the ink and it's going to lift some color and make it lighter I absolutely love the design I'm going to use a cloth to pick up any excess and now I can lift the stencil so we can see what we have up to now I did use foam tape at the back of my camera I'm going to stick here on top of the panel and I absolutely love how the panel matches the color of your dress Now I just have to add some charcoal on the background for that I'm going with gems these are my Pinkfruits Studio's gems that I keep on using again and again I'm going to add some dots of glue at the background and stick them down there are three different sizes of gems in this little pot so I'm going to use all of them for the sentiment again I used one of the sentiments from the Itty Bitty Booze little stamp set and here are some close up photos on the finished card for today and like always you will find a full list of supplies of everything I used down below in the description area as well as on my blog I hope that you had fun today that you got inspired thank you all so much for visiting and I'll see you all next time


Ah, take a deep breath and relax my pastel painting friends. As you learn my flower painting secrets, I've got 10 of them in this pastel painting tutorial. I enjoyed painting this immensely as it was so bright and sunny and happy feeling. I began this painting of a beautiful meadow of flowers and a red barn on a sheet of Cinellié La Carte pastel card. I love the surface. By the way, I have an Amazon shop where I share so many of the supplies and the products that I use in my videos. I have a link for my shop in every video description. So check that out. For the sketch, I'm just using a Derwent charcoal pencil. This is the light version. There's light, medium, and dark. I don't always use like a charcoal pencil to make a sketch, but because this had a structure or a building in it, I wanted to make sure I got some things right. By the way, this is a super easy structure because it's just a forward facing front of a barn. So it should be really great for beginners. I got in some tree shapes. I like to keep them a little bit geometric. And number one in my flower painting secrets is to sketch in large flower shapes first. You don't have to worry about the small ones. They can just be lightly layered on top afterwards, but the larger shapes, you not only want to get them in just to know where they are, but to get a good composition. You want the flowers to pull the viewer's eye into the painting. Now, this is an example of some real time here. And here on the Monet Cafe channel, I do speed things up quite a bit with a little bit of reduced content and commentary. But over on my Patreon page, you get the exclusive videos with lots of real time content, extra commentary, my color notes, lots of goodies. And if you would like to become a patron, you also support this channel for only $5 a month. You can cancel it anytime. Super easy to do. We have a beautiful family. You become part of special groups where I can see your work. And while you're at it, if you liked this video already, go ahead and hit that like button. And if you've been watching this channel for a while and you haven't yet subscribed, I'd love it if you do that and click that bell icon to be notified of future videos. And as you can see, I'm adding some blue to the sky. One is cooler, up higher in the sky. And the other is warmer. Cooler is usually like blue or like ultramarine blue and warmer is more like turquoise. And the warmer colors are usually closer to the horizon line. So let's get in some color for this barn. Now what was neat about this barn, I'm getting in some red, pardon me, I'm using my, I'm left handed as you can tell, but sometimes I use my right hand if it's just easier to get to. What's neat about this barn is I'm getting in some nice red color and a dark red for that little shadow underneath the Eve there. But now you can see I'm layering on a red that's a little bit warmer. And you're gonna gradually see this building or barn get warmer as I go along because the sun is shining so bright. Now, rather than trying to paint all those white doors in the shapes inside, it's best just to paint the dark shapes first. You'll see me come back and add the lighter part later. Now I'm just getting in that little idea of that trail that I had sketched in. I loved this composition of this reference photo. It was so well composed already. There wasn't a whole lot I needed to tweak on it. So I'm using the same purple to get in these tree shapes. Now, if you're using the Sennelier Pastel LaCarte to card, that's a long name. It's a little bit of getting used to, but I absolutely love it. Everything feels very and looks very textural at first. It takes a while before the pastels start layering themselves and then they start blending together. So embrace that. Don't try to press very hard at the beginning. Keep a light touch. So you see I've added a little bit of burgundy to my dark path and my dark trees. Now let's get in a little bit of warmth, some green in these grasses, but I'm getting in my darker greens first. It's kind of a medium to dark green. Now that distant field is gonna have some super bright green grasses because the sun's so bright. And I didn't wanna just layer it right down on the surface of the paper. It needed to be a little bit darker, but I decided to add lavender back there. And you'll see this painting just come to life as I work. If you doubt yourself, when you first start painting with pastels, join the club. Often things look a little bit like a mess before they start coming together. Now I'm adding some greens on top of those trees. Pastel painting is all about layering. And we're not layering and covering everything up. Little bits of the first few layers of color just peek through. And that's really what happens in nature. You've got a combination of colors playing upon each other. Now for step number two or secret number two, begin with the darkest value of the flower, even with a white flower. You're going to look at your flower heads and determine what is the darkest value. It might be something in the shadow like a violet or a blue. So we can typically lay those values down first and add the light later. You'll see that develop pretty soon. And number three, don't focus on the particular variety of the flower, but instead focus on the shape. You see, I've just put in little jaggedy shapes of these flowers.  I'm kind of zoning out and painting shapes of flowers and turn them in different directions. Often we give them all the same shape and all the same direction and it becomes very boring. So now as you can see, I'm working the painting and I'm not just talking about flowers in this lesson. Of course, I'm gonna talk a little bit throughout the whole process. Now I'm just adding a little bit of cool green first. That's a cooler green before I add some of my warmer greens. In this painting, just like the reference photo, I wanted it to feel like the sun was shining. But as you can see, it doesn't feel that way yet, but that's because with pastel painting, we typically get our darker values down first. Now you can see I'm warming up that barn, giving it a little bit of just some light, horizontal strokes where I see a little bit of warmth. Now, remember those dark shapes I put in before? Now I'm coming in and I'm putting in just some little darker areas for where the little window panes are and the windows for the doors. Pretty soon you'll see me add the little white areas surrounding it and not totally white. We have to keep in mind this barn is far away and so we're not gonna see things in a lot of detail. Also, it's not the primary focal point. I would say it's a focal point, but it's a later as the viewer pulls into the painting with the beautiful flowers. And we gotta keep it a little bit non-detailed, just very painterly, very loose. We wanna get accurate as far as our lines and angles, so it doesn't look amateurish, but resist the urge to over-detail structures in general and especially if they're far away. Now I'm lightening up those trees. That's just, again, the way it works. We work dark to light and soft pastel, turning the light on as we go, also keeping in mind the position of the sun. And in this reference image, it was upper right. The light is kind of coming down from the upper right-hand side. I'm even giving a little more warmth to this barn and I reinforced the shadow under the roof line a little bit. And that's pretty much it. Again, it doesn't need a lot because it's far away. So now let's go ahead and lighten up some of these grasses. This is a really pretty, I believe it's a Sennelier pastel. It's in between a green and a yellow and it is such a unique color. I really love it. All right, now for secret number four, create a variety of flower shapes. I sort of hinted at that one already, but just keep in mind you want your flowers to have a little bit of personality and not have everyone the same or turned in the same direction. Now here I'm showing a special little set of pastels. These are called Henri Rocher. I don't show them or talk about them a lot because they're, I think, the most expensive pastels in the world. I have another video on that, but the colors are just gorgeous. And as I was mentioning light source, that's another thing we want to keep in mind when painting flowers. Our lightest and brightest highlights on our flowers are going to be consistent with where the sun's light is casting upon them. So keep that in mind. Often the shadows will be mostly on the left if the light source is coming from the right or if the light source is directly overhead, the shadows will be underneath those petals. And the next flower painting secret is pretty consistent with painting in general. We want to remember that the flower shapes get smaller and closer together as distance increases. So while flowers may be large and spread apart in the foreground, as things recede into the distance, they are gonna appear closer together and also obviously appear smaller. Things in the distance look smaller. And really in the far distance, flowers will often appear like just a blanket of color. If you were painting a field of merry goals, they'll have individuality in the foreground, but really far in the distance, you'll just layer a little bit of gold or yellow to emulate the flowers. Number seven is don't forget to bury some flowers. Not every flower is going to be floating on top. That's just not the way nature works. So often I'll just remember that and I'll put in like I did with those orange flowers, some flowers kind of underneath that later I will add grasses on top of to give a more realistic impression of nature. I still lightened up the trees a little bit and now this field just had so many beautiful colors of flowers. I just loved painting them. And here is tip number eight, white flowers aren't always white. As a matter of fact, they're rarely stark white. Our brain tells us they're whites. It's kind of like that blue dress thing. Does anybody remember that? Is the dress blue or is it gold? It kind of depends on what lighting it's in and often the only thing that's gonna be the lightest are gonna be the tips of those petals of a white flower where it's catching the sunlight. And tip number nine is paint what you see, not what you think you see. This is a general artistic or drawing principle where don't paint what your brain says this flower looks like. Look at the flower. Do you see how it actually has? Sorry, that was me praising the Lord while I was painting. You see how this flower has a petal that's actually lifted up almost around that little center?  They're turned. They have petals that have gesture and personality. Now I added this one flower kind of in front of the barn. I didn't wanna add all of that other debris or stems and things in front of the barn, but I wanted to add that one flower. I thought it was a great compositional element. So I'm adding a little dark areas to create some contrast here. And still just kind of placing some other flowers where I think they will compositionally enhance the painting and I'm getting close to finishing here. I wanted to keep this loose and fresh, but I do have to do something else. I have to add some stems. And when you paint flower stems, keep in mind they should be gestural, varied, and with varying thickness. We don't want them to be sticks, just sticking straight up. They're going to be leaning in different directions. They're gonna have motion. I like to do my stems in a quick little gestural mark. When you paint your stem slowly or too thickly, they just look very artificial. So I'm adding a little more debris in the painting, these little elements suggesting different leaves, different shapes to try to break up the monotony of those grasses and again, keeping it nice and loose. And one of the reasons is I was working a little bit quickly because this is one of the paintings in our Monet Cafe and my Patreon monthly theme. This month, the theme is to paint 20 paintings in 30 days. So in one month, we're all painting 20 paintings and I'm like, why did I do this? Cause I've got to paint the paintings and make the videos. So, but this one was fun. I think it helps to keep your work fresh. I just added a little bit of a sky holes, a little bit of negative painting in the trees, a little suggestion of clouds. I didn't want much because I didn't want them to steal the show and that is it. So I hope you learned a lot from my 10 secrets for painting flowers. And again, this was just a joy for me to create and a joy for me to bring this lesson to you. So if you've made it this far, I hope you loved the video. I hope you'll click that like button and subscribe if you haven't. And if you'd like a little bit more or to support this channel, consider becoming a patron of mine on my Patreon page.  Happy painting.


This story is called the walk My uncle was walking down and only through road one day He came upon a man was also walking down that road the man looked at my uncle and my uncle looked at the man The man was scared of my uncle and my uncle was scared of the man But they kept on working they began to get dark the man looked at my uncle and my uncle looked at the man The man was very scared of my uncle and my uncle was very scared of the man But they kept on walking and they came to a big woods It was getting dark and my uncle looked at the man The man was really scared of my uncle and my uncle was really scared of the man But they kept on walking and deep into the woods It was getting darker and the man looked at my uncle and my uncle looked at the man The man was terrible scared of my uncle and my uncle was terrible scared


When it comes to video creation, every detail matters. I go to artless.io for music that matches my vision. The more options I have, the bigger my story becomes. With advanced filter options, I can find what I need in a snap. Each track is made by artists as passionate as I am. High-end sound effects add a whole new dimension to make my videos perfect. And I get all this in a license that covers all my creative needs. I tell my story with Artlist.


Okay, so my name is Clemence Coffier. I'm working for Red Hat and I'm going to present to you briefly how to build reactive distributed system with vertex. The first thing we need to discuss is what vertex is. Vertex can be summarized by this sentence. Vertex is a toolkit to build distributed and reactive systems on the top of the GVM using an asynchronous non-blocking development model. That's a lot of buzzwords that we will define. So the first one is a toolkit. Vertex is not a container. Vertex is not an observer. Vertex is not a framework. It's a toolkit. So it's just a plain boring jar that you can put on your class path. Once it's done in your class path, then you can start using vertex. All the vertex components we deliver are just plain boring jars. There is nothing smart or nothing complicated. But thanks to this, you can use it everywhere. You can use a class path. You can use them in a fad jar. You can embed them in a jar. You can embed them in an ear ear. You can embed them everywhere because, well, there is nothing smart behind this. This slide here are actually vertex applications. All those slides are served by vertex. And we are going to see that it's actually not a simple vertex application. It's a clustered application and we'll see all the other components I'm going to start are interacting with these slides. So these slides are here. It's just a jar. Then we have two dependencies, vertex web, that is a component to build a modern web page and modern web app with vertex. And a cluster manager will be other cast in this demo. And a couple of dependencies. In this demo, everything is packaged in a fad jar, but we don't. That's just a detail. Vertex is made to build distributed systems. There is no better definition of distributed systems as this one, which means a distributed system is going to fail. Anyway, it's going to fail. You can do whatever you want. It's going to fail. So you have to live with that. You have to deal with these failures. And one other thing is it's not any kind of distributed system. It's a reactive system. A reactive system has been defined by this manifesto here a couple of years ago and are built on four characteristics. First it's responsive. Responders means that your system is going to respond to the request in an acceptable time. Acceptable depends, of course, of your use case. It's elastic. Your load is going to evolve. So you need to be able to scale up, scale down, change things, kill nodes, restart new nodes, and so on. It's resilient. Well, as we said, distributed system fails. So you need to be prepared to handle these failures. And it will be built on an asynchronous message-pacing because asynchronous message-pacing will let you implement location transparency, lose coupling, and so on. So something to understand is the difference between reactive programming and reactive systems. There is a lot of talk at Java 1 about reactive. If you go to the agenda and search for reactive, you will have probably 25 talks. But actually, there is two meaning behind reactive. Reactive means showing a response to a stimulus. That's not for me, it's from Oxford. And from this, there is two branches. The first branch is reactive programming. We have the programming lever. It inherits from functional programming and it's exactly just a subset of functional programming where you handle streams. A stream is a sequence of data, error, and end of stream. So you just have a pipe where you have data inside and you observe this pipe. Every time that there is a data or one of these events, you will be notified and you produce another stream. You have to produce another stream to stay in the reactive programming paradigm. So here we have all the Erics library, and Java, and JS, and Groovy, and we have also Spring Rector, which are reactive programming. While Vertex is a reactive system, we are not at the same level. We are at the architectural level. It will still show a response to a stimulus, but the stimulus are not a stream. The stimulus are messages, the stimulus are failures, load, matrix, and so on. What you build as a reactive system is actually a living body where every time you do something it's going to react. It inherits most of its concept from dynamic and autonomic systems and Actors and Adjoint systems. Something to understand is that functional programming was defined in the 60s. Actors and Adjoint systems were also defined in the 60s. So there is nothing new here. Actually, in this world presentation, there is nothing new. Just recycling stuff. So here, as a container, we have ACA and we have Vertex. So the last part of the definition is it runs on top of the GVM. That doesn't mean it has to be developed in Java. We have Java once. All the code that I will show here will be developed in Java, but I could have used Groovy, Ruby, JavaScript, Ceylon, Scala, or Kotlin. So Vertex, the toolkit. So we will build distributed system. There is two ways to build distributed system. You can use a framework that will hide the whole complexity. Or you can use a framework that will let you handle this complexity because anyway it's going to fail. So it depends on your passion in debugging a live system in production. But generally, we don't really like debugging system in production. So you need to have a way to handle this complexity and that lets you handle this. Failure will be a first-class citizen and Vertex is not an all-in-one solution. It's just providing the building block. So which building block? So we will provide you TCP, UDP, HTTP, 1 and 2 server and clients. Websocket, of course, non-blocking DNS client. This is actually very important every time in Java where you resolve a DNS, new URL with a name. Actually, this is a DNS request which is blocking. If your DNS server is slow, your code is going to be slow. And you have nothing to do. It's inside the GVM. So in Vertex, you have a non-blocking DNS client that will handle that. Clustering, so built-in clustering, built-in event bus, distributed data structure, built-in load balancing, built-in failover, pluggable service discovery, circuit breakers, matrix shell and a lot of other things. So this is just a small part of the components we provide. We will build reactive systems. So the applications that are built with Vertex are going to be fast. I will show you some numbers at the end of this presentation. You will see it's really, really fast. It's going to be elastic. It will scale up and down. And you will do that by just starting a new node. Nothing complicated. And it will dispatch a load among all the nodes that you have started. It's going to be a resilient failure. It will be a first-class citizen. You will see the code might look a bit complicated at the beginning, but actually it's new platform are built with failure as a first-class citizen. If you look at JavaScript or if you look at Go, failures are there. In Go, you have to check that it was not a failure after every call. We have built-in failover and the asynchronous message-pacing will be based on a synchronous and unblocking development model. Other that work in traditional Java development, when you want to deal with the database, for example, you are stuck. You will do your select or your query and you wait for a reply. You wait until the database manager and computed the result and give you the result. Well, in a non-blocking approach, it won't work like that. We will enqueue the request, pass a callback, then the thread is released. As it's released, it can do something else like BC, then get some free time under some more stuff. And when we have the response from the database, we will continue the task A. This may or may not happen. Remember, distributed system, that doesn't mean that it's going to work. It means that it may fail at any time. Or it looks in terms of code. Well, generally, you was doing this. Do something A, B. And actually, with an asynchronous development model, you will do the same thing, do something. You pass the parameters and the last parameter is going to be a callback. Okay, what about callback? Callback can become very complicated very quickly. So we have a second way to write exactly the same thing with futures. That's not Java futures, that vertex futures. Java futures are blocking, vertex futures are non-blocking. So here, your operation, you just pass your parameter is returning a futures and when these futures will be completed or failed, then this handler here will be called. With futures, you can compose them quickly and efficiently with this, do that when this is done or wait for all these futures to be terminated successfully and so on. So let's start to see some code and we will start with a very simple paradigm, which is a request reply and has HTTP and REST as rolling more than, well, mostly all the applications right now were just using HTTP for this demo. The first application you will do in vertex is this. You get a vertex instance here and you start an HTTP server. As I said, vertex provides HTTP server by default, so you just do create HTTP server. When we build an HTTP server, there are two things that are important. The first one is what do we do when we get a request? So we attach a handler here and it will say, well, when I get a request, I will just say world. The second thing, and every time I get a request, I will execute this. The second thing is this. Listen here. Starting an HTTP server is going to take time. There is many things that need to happen at the operating system level to discuss, to negotiate the sockets, to be sure that the port has been available and so on. So this operation is asynchronous and may fail. So the AR that we have here is actually an async result. That means the structure that will contain the result of an asynchronous operation. So here we can say, okay, did it succeed? Yes, okay, so that's fine. Or here is a stack trace. So here, it's an async result and as it's an async result, we have to handle the failure here. So already here in this very simple snippet, we have the failure of the first class citizen. Okay, but let's have this running. So this is this code here. It's mostly the same code. I just extended a bit. Like I use a simple date format. Well, as a Java developer, you should say, well, come on, this is not thread safe. This is going to be a failure in production. We are going to see that. Then I just want to also print here the name of the thread and we will see that. So I'm going to start this. Remember, vertex is not a container. An observer is just a toolkit. So to start a vertex app is very complicated. Run. No plugin. Nothing. You take your IDE, you just start it. You don't need any plugins. You don't need anything. It's just a main. So it started on the port 8081. And if I go back here and do invoke, you see, that's my date. And well, that's a weird, that's a weird thread name. Look, and it's always the same. It's always this event loop thread too. But what is this? What does event loop means here? An event loop is very simple. It actually can be implemented with four or five lines of code. It has somewhere a QF event. Events are just passed by event provider. We don't need to know what they are. It's just a QF event. And this event loop will get the next event, find the interested handlers, and dispatch events. That's very simple. As it's a thread and it's a single thread. Well, that's very simple because actually you don't need to do any concurrency or synchronization construct because there is a single thread. So you can't have deadlock. You don't need synchronize. You don't need volatile because well, there is a single thread. That's exactly the same concept that you have in Node, the same concept that you have in Android, and so on. This development model, this model is actually very powerful but has one main drawback that involves the golden rules of vertex. If one of your handlers here is blocking, it's expensive, take some time, stuff like that, what is going to happen? Well, the thread is stuck. So as the thread is stuck, the event provider will continue in queueing events and events and events and events and nothing will happen because here you are stuck. At the end, you will run out of memory. So the golden rule is very simple. Never ever block the event loop or the world model collapse. If you don't block the event loop, this is going to be pretty fast. I will show you the performance at the end. It's really, really fast. Okay, so we saw how we can have a server but we can also have an HTTP client. Vertex.com is a built-in asynchronous HTTP client and we create one like that. Vertex.create HTTP client, we set the host, we set the port and then we sort say, okay, I will do a get request on slash. Here is what is going to happen when I will get a response and actually HTTP is interesting because when you get the response, you just get the status line and the headers. You don't actually get the body. The body can arrive later. So that's why if I am interested in the body, I need to register a body handler that will get the body. Buffer here is just a representation of byte array, just a byte array actually. So if I do that, that is going to be this code here, exactly this, what we are shown. So here I just do the, that's up now. This one here, yep. So that's exactly what I've shown in the previous slide. So I will just do my get no and then I get the response. I am interested by the body and so I read the body and here I'm doing the second way, without callbacks, I just return a future.  It can come at any time. I don't care because as soon as I do future.complete, then this handler here is going to be called. So now if I do that, we will have my browser. So this application here, that is calling a server that is using the HTTP client, that is calling the server that I've started in the previous demo. And if I do that, did I start it? I forget to start it. So if I don't start the application, then it doesn't work. That also works for non-distributed application actually. If you don't start the application, it doesn't work. Here we go. As soon as I start the application, things are much better. So we have the hello that is appended by B. The Java one was coming from A and now we have this. Obviously we are still using the same thread. So right now in this system, we have my slides which are a vertex application. B, which is a vertex application. A, that is a vertex application. We are already a distributed system with three nodes. Let's go a bit further because while that just requires reply, let's go and do some messaging. Vertex comes with a built-in messaging system which is named as the event bus. It's a nervous system of vertex. Every vertex application is going to use at some point the event bus. It's very simple. It has two concepts, address and handler. Good news, we already saw handlers. So handlers are just a callback that will receive the message. Address is how we address message. We don't have hierarchy, topic, queue, stuff like that. It's just opaque string. If you want to use space or tabs, you can. If you want to use UTF-8 or with character in your address, you can. If you use only space and tabs, well, you can but that's going to be hard to debug, but you can. Once we have this, the event bus will provide you three ways to deliver the event. The first one is point-to-point. You send the message to an address and you have one something else that is listening to this address and gets the message. So how it works, from the vertex object, you can get the event bus.  Here, just a string but it can be an object. And on the consumer side, you just register a consumer on the same address. And here is my handler. When I get the message, I do that. So here, I do nothing. A message is very simple. It has a body and a couple of headers. Obviously, we have published, subscribed, same thing. So instead of send, I'm using publish. And we have a third delivery pattern, which is kind of interesting in request response. I have a sender that send a message to an address. A consumer will receive it and has a possibility to reply to this message. So on the send side, I send to address. That's my message. And I say, well, when I have a reply, just do this. So I append an handler to my call and this will be the reply handler. And on the consumer side, when I get the message, I can reply. So let's not imagine that the message that goes out say, okay, method foo, param one, hello, param two, java one. Well, and the consumer is just returning or replying with hello, java one. This is RPC. We can implement a full RPC system based on this asynchronous messaging system. So it's an asynchronous as RPC, sorry. Obviously, an event bus, if it just locale to a node, that's not actually very interesting. The cool is to have this event bus distributed among all the nodes, all the nodes that I've started. So to do that, instead of doing the vertex dot vertex, I just do vertex dot cluster vertex. I pass some options here. I don't care. Then I pass a result because it's an asynchronous operation. Joining a cluster is kind of long because there is lots of negotiation. First, we need to be sure that the cluster exists. We need to join it. We need to wait until the consensus is computed. There's only an asynchronous operation that can take time and can fail. But once it has succeeded, then you get your vertex instance like that. And all the examples that I've shown works. So what is cool is that every time I start a vertex node on the cluster, the event bus is going to be distributed. But the event bus is so simple that it's not limited to vertex. We have a TCP bridge so all cc++.net application can interact using the event bus. We have Node.js. I'm going to show that in a second. Node.js can also be a member of the event bus and send and receive message. And my browser here. This browser here is going to receive and send message on the event bus. So, oh, there's something running in the background. Cool. Here I'm going to start this application here, which is going to send to publish a message every two seconds on the event bus on this address here. Here, okay. So I'm starting that. So here we see it's starting to join the cluster and I have cluster of two nodes. My slides and this new application. And once it started, we see that we have hello from and now a counter. So two, three, four, five. Okay. But now we have a Java application that is sending message to my slides. How does that work? To my slides. That's my browser, seriously. And I'm really not a web developer. So believe me, I'm unable to do anything in web development. But let's go a bit further. If I go to my terminal here and I do npm start. Look, hello from a Bonjour from node. No, we have a node application that is sending message to my slides passing by the event bus. So I can show you the node application. It's very simple. You just get this npm here that we provide. Oh, no, that's here. From this npm, you just create the event bus. Oh, that's an interesting address. From where does it come? We are going to see that. That's actually the bridge address. And then once you have opened the event bus, you can just send message or publish message. Actually, it will work with publish too on the event bus. So how does that work? Like that. That's actually the vertex application that holds my slides. And it has a SOGIS bridge. SOGIS is a JavaScript library that will negotiate a protocol between node and the browser. So it will start by WebSocket and degrade to iframe with sort of steps or SSC and so on. And this bridge is going to be used by node and by my browser to be connected to the event bus. So my node publisher connect to this bridge, send an event. The bridge sends this event to the event bus which come back to the SOGIS bridge because my browser here has registered also on this bridge to say, well, I'm interested by this address. And when you get an event on this address, send it to me. So it's used WebSocket in both cases here because Node.js is really good at WebSockets and I'm using Chrome so it has WebSockets too. And my Java publisher here actually is just sending message on the event bus as we seen in the up here. So I'm going to stop a couple of things now. So that's good to do distributed application but again, they are going to fail. And they are going to fail a lot, believe me. So be prepared.  We are not bullet proof, we are humans. We are all making bugs and the hardware and the physics beyond networks and so on is going to make failures too. So you need to handle these failures. We already saw that actually with my asynchronous result. Asynchronous result is a structure that contains the result of an asynchronous operation. An asynchronous operation can fail. That's what we check here or can succeed. If it fail, you can have the reason that the cause, it's an exception. Or here, if it's valid, then you can get the result. Another way to handle failure is to set time out. It's actually a pretty bad way. I'm a former academic so I'm going to cite a couple of very old papers and stuff like that. But in 1985, some researchers have proved that we can't use time out to be sure that an operation has failed. And it makes a lot of sense. I have A and B. I'm calling B and if I don't have the reply in one second, that means that it's a failure. That's not true. That means that the message to go to B may have failed. Or the operation that happened to be may have failed. Or the message on its way back may be lost. So that the operation may have succeeded. But for us, time out will be still strong. So all our operations in vertex can have a send time out or a time out. So sometimes it's configured differently. And when you have a time out, what happens is that it will use this asynchronous result and consider it as a failure. Again, that doesn't mean that the operation didn't succeeded. It means that we didn't get the result in this one second. All our time out is in a millisecond. Another way very popular in the microservice world is to use Secret Breaker. So again, Secret Breaker really holds. It's something that was invented in the 70s in operating systems. Secret Breaker is just a three-state automata. It's really very simple. You start in the closed state. And here, every time that one of your interaction is failing, you just keep track of the number of failures. And once your number of failures reaches threshold, you go to the open state. In the open state, you won't execute the operation anymore. You will go to a fallback immediately. Periodically, and that was cool with Secret Breaker, periodically, it will try to go to an half-open state. In the half-open state, you will take the next request and one request only and will try to execute the operation. If the operation succeeded, then, well, everything's fine. I go back to the closed state. If it fails, then you go back to the open state and wait for the next attempt to go to another half-open state. Why is very important? Because when you fail, when there is a failure, you can cascade the failure bubble up and the whole system can die. Or you can contain this failure to a single node. Well, you can do that with a synchronous result. But what Secret Breaker gives, it gives time for the system that is failing to recover. And you won't stress it, because as soon as you are in the open state, you will execute a fallback. So you won't stress the system that is in very bad shape and need to recover, need to take a breath to be back, take some fresh air, and once it's back, thanks to the half-open state, you will recover. Vertex has its own Secret Breaker. Of course, you can use these tricks. Of course, you can use any other Secret Breaker, but we provide our own one, which is integrated with a non-blocking system. Another thing that is actually important is, okay, Secret Breaker is for failure, but what happens when the whole node crashes? SeqFort, out of memory. Well, all these things may happen. It's going to happen. We have leaks. We have SeqFort because we are using GNI. So at some point, something is going to crash. Vertex will write a built-in system to handle this. Actually, for introducing this, I need to introduce one other concept, which is Vertical. A Vertical is just a chunk of code, just a class that gets deployed and run by Vertex. A Vertical, so here, can deploy other Vertical and so on and so on and so on. So it's kind of a component model. It's a very lightweight component model. Vertical can be written in any supported language, Java, Groovy, JavaScript, Ruby, Salon, Kotlin, Scala and so on. When we start Vertex in high-level 80 mode, and one of your machines, of your cluster is crashing, Vertex detects this and will take all the Verticals that have been deployed and will deploy them automatically on another node of the same cluster. You don't have to buy an expensive solution. It's all provided. So generally, your cloud provider can do that. Here, you don't need even to rely on your cloud provider. Vertex will do it for you. So here, if this machine dies, this Vertical here is going to be redeployed automatically on this same node. Well, there is settings that you can configure to be sure on which node it will arrive. I won't show you a demo, but if you're interested by this, I have a full talk on Vertex Wednesday morning where I will demonstrate all the circuit breakers, this, really, with live demo. Elasticity pattern. What's the worst thing that can happen to you is that you develop a great app and you start getting success.  So be prepared to be famous. We never know. You may become rich. There is two ways, two elasticity patterns. The first one is vertical scalability and the second one is horizontal scalability. Vertical scalability means that instead of one event loops, remember, I have introduced seven loops. We don't have one event loops in Vertex. We have as many event loops as CPU cores you have. But it's not because you have that that all the synchronization pattern that I've stated at the beginning will be broken. We guarantee that. Your code is still going to be single-threaded. You don't need synchronization. You don't need synchronization construct. But the load is going to be dispatched on all your CPU cores. So a Vertex application is actually going to use all your cores of your CPU. The second thing is, thanks to the clustering, we also have horizontal elasticity. So vertical scalability because this is fixed. Well, you can't add a core to your CPU or it's kind of really advanced engineering. But horizontal elasticity because you can increase the number of nodes that you have on your cluster or decrease it. So if you have a lot of users, you start new nodes and once your peak is over, then you can reduce it. Oh, it works. Actually, it will be very simple. Every time you will send a message at the event bus, instead of always sending to the same customer, it will just implement a round robin. So if you have a lot of messages, the message will be under first by A, B, C, back to A, B, C, and so on. And when you get less load, then you can kill C. Then it will be just A, B.  Let's say your Amazon build that you will pay at the end of the month will be much, much smaller if you have only one node and then you scale when you have a peak of load and so on. So Vertex will handle that for you. Round robin is built in. Okay, so that's not the end. What I've presented is almost only Vertex score. So it's this part here, but there is many, many other things. We have asynchronous RPC. We have a lot of things around TCP. We have Vertex web that is used to build this application. We have clustering. We can use Rx and reactive programming to build your reactive system. Two times reactive, not the same meaning. So reactive programming to build your reactive system. We have Docker support. We have an MQP bridge. We have Mongo. We have GDBC. Because yes, you can deal with GDBC. GDBC is a blocking system. We provide you an asynchronous client. We have Stomp. We have service discovery. We have integration. We have Camel somewhere. Yes, here. So you can integrate reactive system with all your legacy applications that exist right now. Thanks to Camel and so on and so on. We have GCA if you have to provide the application. We have HTTP2 and so on. If you're interested to go further, first the Vertex website, Vertex.io, then there is this blog post series here that is really for developers but will accompany you and build your own, your first Vertex applications with testing, integration testing and so on. And that will be an application to manage my collection of bottle of whiskey. Yes, I developed it and it's actually used by me. And then there is a hands-on lab that will be Thursday noon and there is a talk which is Wednesday morning. So check on your agenda. If you like Vertex, vote for us for the Jax Award. That would be great if we can award this Innovation Award. I said about performance, so let's have a quick look. We don't run this. That's taking power. That's preliminary data but it's almost final. We are here. We are in the top five. One, two, three, four. We are sixth. So we are in the top 10. Most of them are just pure native. We are based on Java. We are faster than NetE on this benchmark. All benchmarks will show similar results. That's all for me. If you have questions, I will be around the booth. Well, thank you very much.