The following is a presentation of TFNN. Trade what you see with Larry Pezzavento. Call now toll free at 1-877-927-6648 or internationally at<PHONE_NUMBER>. Now Larry Pezzavento. Okay, looking good, Billy Ray feeling good, Lewis. Take a look at the German Dax boys and girls. It's a three drive to a top. One of our favorite patterns. Keep a close eye on that. Take a look at the footsie. Let's get it up and take a look at it. And what do we have here? Three drives to a top. Now these are hourly charts. So that they give you a pretty good idea over the last several weeks and stuff. So pay attention to it because these are very important patterns. They fail a lot, but sometimes they work pretty good. So keep a close eye on it. Boys and girls, the menu of today is G-O-L-D. We are at the proverbial window of opportunity as I see it. And it might not be an opportunity. It might be something else. But let's take a quick look at this. Been watching this for a long time. We're now trading below 1270. That's below the 50% retracement. As you see here, the number that we're looking at here is 1260. Right now we're at 1268. We are $8 away. Now the key point here is the full moon on December the 4th was the left shoulder. The head came in at the lunar eclipse on the 12th of August. And now we're in the 20th. And here we are. It's three days out. The number of days on the count between the left shoulder and the right shoulder comes in at 342 days. And that would be yesterday. Now here we are today. So we could be off a day or two. We might be totally wrong. But what we're going to do is we're going to watch this really closely, folks, because we're down to this area between this 1260 and 1255. That might be the last time this train leaves with a low risk. I don't know. There's a lot of people on the internet saying that this is a major bear market in the gold. And they certainly could be right. There's no question about that. That could be. But right now with this pattern, we have to pay attention to it. And we're watching. If you want to have a little fun today, poke fun at the old cowboy. Let me just show you what I did this morning real early. I was getting ready to... Oh, that's not it. Hold on. Let's get it up here so we can see it. Here it is. Here's the order that I had ready to go. I was getting ready to make a video on it. And I said, you know, I said, I'd better wait another day here just to see what happens. And during that time, gold dropped $7. And so I said, hmm, better cancel this one. So I... This one... They went out... They went to buy. The buy and the cancel went out within 30 seconds of each other. So I didn't do anything with it. I'm going to be waiting for the 1260 level to see... To get along the gold. So we'll take a look at it. Fortunately, the shorts that we had on... We covered those, of course, on Friday. A little too early, I guess. We covered them a little bit higher, but that's okay. There was a good move on the downside. Now we're going to wait and see what happens to the next one. By the way, I want to give the hats off to Terry yesterday telling us about that Soybean ETF, S-O-Y-B.  I believe I saved it. Gosh, I hope I did because it was certainly a nice pattern. Oh, you never trust me. I don't know. Is this it? Yep, here it is. Thank you very much, boys and girls. Here it comes. Here's where we are in the... This Soybean ETF. I'm looking to buy that around 1567 with a stop at 1542. That's an easy way to get into the farming business. Remember, you're buying that at $15 per share. So you got to buy... Say you buy 500 shares, that would be equivalent to owning a contract of soybeans is the way I look at it. The risk on that would only be about $300 if you're interested in that. But it's an interesting period pattern to look at. So we'll watch it. Okay, I want to spend just a tiny bit more time. The cable is right down where it should be, Ruby. This is what we've been waiting for, Cable. Let's take a look.  Where are you, Cable? Here we are. I think we're right down there right now. We're within a heartbeat, I believe. Hold on just a second. This is not unusual. Let's get it up here. You'll see that the 2915, I think we had 2940 just a little while ago. So we're really close on that one. And the euro's setting right at the 78%. The euro's got to get below 111.60 folks in order for this thing to give up. That's the way I look at it. So let's watch that. Let me do a quick turn my head around and take a look at the big monitor behind me and see if I can find out. The pound is trading at 2960. The low's been 2945. The euro's setting exactly at the 78% level at 112.15. That was off the last low that we made. So nothing really dramatic is happening there. So we'll keep a close eye on these as we always do. But that's what we're seeing so far this morning. Anyway, it's going to be interesting no matter what happens. But it's going to be, the dollar is starting to rally. We felt that that had a chance to do that. That's been the thesis that we've had for some time. We'll bring this up here and take a look at this. You'll see, take a look at it. Yeah, the low was there at 129.43. I'm looking at around 129.10 possibly. But you can see here the dollar index, we are heading up towards that 98.20 level. That's a really nice ABCD offer that 382. This is what we pointed out last week, folks. Look at that dollar index. Ten days down and all it can do is make a 382 retracement. Hello, that's a sign of really strength, folks. Very, very strong move. So let's pay attention to that one. That looks like we're going to get up to that 98.40 level. And that would be almost a 78% level on the weekly chart. We'll have to check that, but that's a long way away. So we'll do, you know, one thing at a time. So we'll pay close attention to it. If you'll bear with me here one second, I have a instant message from Mr. Moneley here. Yep, hold on here. I just want to let him know and hold on a second. We'll get that done here. Let's hold on. I got to put this stop in. Give me one second. Shucks, I can't even think where the numbers are. Wow, this is not bad. Okay, let's move on here. We're getting into the zone, folks, where, you know, we would be looking at a potential bottom here in the greens. We're seeing a lot of bottoming action in the soybeans, the corn and the wheat. I'm getting ready to put some buy orders in on those. And in fact, I'm buying soybeans today, but that's neither here nor there. I had to, you know, massage it a little bit to make sure I get close enough price or I don't have to risk very much. Anyway, let's get on to these currencies because this level in the euro is so important. By the way, time out. This is my opinion, folks. I know the two things that have gotten to me in these last few days has been the gold market for one and the second one is the grain markets because I'm basically bullish the grains and not in, okay? And I've been bearish the euro for quite some time. But look at the euro where we are now, folks. You see where we're trading. This was the chart from Friday night, 1-12-45. We're now trading 1-12-15. Once we get below that 1-11-60, this is going to be trouble in River City for the euro. That means you're heading down to these levels of 1-05. So pay close attention to this one. This is a downtrend. You can see that 3-8-2 back in September. Let's pay some bills. We'll be right back. The TAS Profile Scanner is the most revolutionary piece of trading software that you will ever try. Wouldn't you like to approach the markets with confidence? As you begin your trading day, it's likely that you'll be faced with lots of decisions. In order to make the best decision, the first thing you'll need is a strategy that will help you minimize your risks. Whether we're in a bull or bear market, a good strategy is to have the tools needed to help you scan and analyze the markets before you trade. The TAS Profile Scanner instantly scans and filters over 2,500 global financial markets, such as stocks, ETFs, commodity futures, and forex. Headed by Steve Dahl, president of TAS Market Profile, the TAS Profile Scanner understands that in today's technological world, the use of top-flight software applications, automated trading algorithms, and technical analysis expertise is essential to successful trading in today's market. Whether you're looking at the trade matrix, the ETF heat grid, the market breadth, the landscape charts, or the many other features of the TAS Profile Scanner, this is a piece of software that will revolutionize how you look at the markets and set up your trades. The team at TAS has even put together a 12-part video series to walk you through every aspect of the TAS Profile Scanner, which you can find directly on the TAS order page at tfnn.com. Sign up now for only $97 a month with a risk-free 30-day trial so you have nothing to lose and everything to gain. See for yourself how you can harness the full power of the TAS Profile Scanner by visiting the front page of tfnn.com today, and you'll find the TAS Profile Scanner under the Services section. Remember, with a 30-day money-back guarantee, you have nothing to lose. Don't let another day pass you by without trying out this amazing piece of software that will revolutionize how you look at the market and how you place trades. Sign up today. See for yourself how you can harness the TAS Profile Scanner by visiting the community where professional traders and investors can meet, exchange ideas and information in a comfortable, moderated atmosphere. Hear all of the TFNN shows. Plus, see all of the charts as they happen live and have access to archives of all of those charts. You can test drive the Tigers Den absolutely free for 30 days and greatly enrich your knowledge of these markets and how to make your money work for you. Details on the Tigers Den are on our website. You can still visit us at the same TFNN.com URL, but when you do, you'll see a new and improved homepage with a much simpler navigation, whether you're watching Tiger TV live in high definition or just accessing your newsletter subscriptions. We even have new pricing in six months and yearly options. Check out the new TFNN.com now and experience all the upgrades. TFNN.com, educating investors.<PHONE_NUMBER>, internationally at<PHONE_NUMBER>. Okay, folks, I want to talk a little bit about Twitter. We've had the earnings come out. Someone asked me to take a look at it. As you can see, we have an ABCD pattern forming up there right near $37 a share and that's pretty much, we're close to that now. It's $3670 or something. So that is interesting. The gap will be something to consider, it's just an earnings gap, which I guess it was a good surprise, but frankly, I'm not surprised this stock is not trading at 100-something considering you see it on the TV all the time. Hold on a second. I think we might even have a caller coming in today. Hey, we have a caller from, oh my gosh, the state of Washington. It's Mr. Marshall Robinson. What's up, Bubba? Same here. We're very cloudy here on the Pueblo, but we are going to Guadalajara today. I have a guest coming in to visit and going to stop at Guadalajara to think of you and Lynn. So what can I do for you, buddy? Well, I was kind of curious a little bit your opinion about crude oil. I got two of them today. Two crude oil? No, no, no, no. Oh, two guests, two guests, okay. Two questions. Oh, two questions. Let's do them one at a time. Crude oil, I'm very bearish. The reason why is we hit that 66 level yesterday. It spiked to 66.05. And believe me, if crude oil was bullish, it would have gone to at least 66.30 just on buy-stop. So that basically told me that there was not much there. That's when I took a nibble at it. And it went down to 68, down about 40 pips. And now we've rallied back to 95. I don't think I'm going to see a 66 print today. But if I do, I'll be very nervous. But I don't have to risk very much being sure crude oil here. So that's what I'm looking at. Yeah, that was kind of my thinking too. Thank you. I appreciate that. Lululemon, you suggested that it was a possible ABCD. Time to correct things. Did I really? Hmm. Let me take a look at it, Marshall. Someone asked that question the other day. Was that what it was? Lululemon, L-U-L-U. Let's get this. They're banging the euro again. This is good. Hold on one second here. Lululemon, that starts with an L and ends in a U. Give me one second here. There's Lululemon. I'm pretty sure that's right. Yeah, that is correct. Yeah, there is a small three drive there. In fact, it made it just the other day. It hasn't really gone above it. Let's put this up here so the folks can see it. It's a really small one, but it is certainly a three drive. It has that huge gap in there. Let's give me one second here. Yeah, there it is. It shouldn't get above 176. Let me get this up so everybody can see it, Marshall. Then we'll be on the same page. There's the three drive pattern. It started back in the end of March. We hit it on Thursday, Friday of last week. That was the high at 174.64. We're bucking a half under that. So you don't have to risk very much. It's $173 stock, and if you want to sell it, you only got to risk $3. That's less than 2%. One of the things you might want to consider on one like this because it's so high up with that big gap is to take a look at the puts, looking at like a 168 or 165 put might be a very interesting one, might be really cheap and one way of getting into it, but I don't do those so I better shut up. I do once in a while. I know that's why I mentioned it, but when they work, they work really great. We've had some big ones that work, but boy, you have a lot of them that don't work. When you're in that option market, folks, learn to be an option seller because you're selling a decaying asset and that's the easiest way to make money for sure. Is that your second question, was Lulu? Yeah, that was my second question. So you can go back and play with the other dinners now if you want to. Hey, thanks a lot. Give your bride my regards, okay? I will, and enjoy the chips and salsa. Yes, we will today for sure. Thanks a lot, Marsha. We'll talk to you a little bit later, buddy. We'll see you soon, too, I think, right? You'll be down again in a few months? That's a guarantee. Okay. All right, we'll talk to you later. Okay, buddy. Okay, let's take a look at the next one we want to look at, folks, is the... Well, Euro's not breaking down below the 78% level. We're getting really close now in the British pound, folks. Watch that number 129.10. We're trading at 129.50 and it's going to be interesting to see if it can, you know, hold that level or not, but we'll do one thing at a time. So that's the main thing that I'm watching. The gold we're still waiting for that 12.60 to 12.55. We're only $4 away. So it could be today, it could be tomorrow, but we might even be overnight. So we'll watch that, too. But that's a big pattern in the gold, boys and girls. And you know the other one that's really interesting? Ruby talked about it this morning in the den. She had a really nice pattern in the silver that I checked and it just really lined up beautifully. I think I've got to... Oh, we're there right now, Ruby.  Let's just take a look at this because this is really a nice one. You'll see here, there's a... You have to look closely. You've got to use your imagination, folks. You see the blue... Now I'm going to highlight it just a second here. Slow down, Larry. Put this chart up here for the silver. You see the 61% retracement line that comes in at 174... Excuse me. 1472. The low so far has been 1470. That's also a three-drive pattern to the downside on the last eight or nine days trading. You can see that smaller gray triangles before the bigger ones at 1440. That's why this important support here at that 1470 to 1470... You could buy silver here and not risk very much. It's that easy. I don't know if it's going to work or not. I'm waiting until tomorrow, but that is a nice one. Anything below 1470 is going to take you to 1440. That's what I think we're going to, eventually because of the fact that that gold is still hovering there at that 14... Excuse me. 1269 level heading towards 1260... 1255 is what it looks like to me, but that's just the two cents worth. But that's a good number in the silver, so we'll see. Remember last week I was surprised that silver was holding up? Well, it was a false breakout because it started down again and that's what pulled it down. There is a possibility that this gold market is in a bear market. I don't believe that as of yet because of that head and shoulders pattern, but if that head and shoulders pattern doesn't start to hold bottom here either today or tomorrow, it's going to have some serious problems. These are the things that we're watching here. We're trying to get in without risking very much. That's the real key to following some of these things without too much trouble. That's the main thing. I did want to bring to your attention one other thing just from... Yes, the beast is out early this morning. The NASDAQ is making new highs as it should. It should make a new high about 15 minutes after the opening. We'll see if that does that or not. But we'll watch these other ones that are looking really good too. And that is, we talked about the Australian dollar on Friday, the fact that it was ready to move down and we've had a pretty good move down in the Australian dollar. We're now getting down to below that 7100 level. That's going to be interesting to see how much of a thrust it has to the downside, but we're seeing it in everything. We're seeing it in the Euro, the pound, and all the other things. So let's keep it on. It's going to be interesting.  This will be up to the date active trading information that will help you in your daily trading. In Larry's first week alone, he sent out 25 charts, six videos, and a full report to his subscribers in just one week. If you're a technical trader that uses patterns and retracements to trade, then Larry's service Fibonacci 24-7 is something that you must try. Right now, new subscribers can get a full 30-day money-back guarantee. With nothing to risk, sign up now for Larry's Fibonacci 24-7 by visiting the front page of TFNN.com under Trading Newsletters. The path of least resistance is David White's daily trading newsletter, and if you're looking for active trading ideas, then now's a perfect time for a 30-day free trial to this powerful daily trading advisory service. David uses his years of trading experience to offer his subscribers his trading ideas each morning in his path of least resistance newsletter. Using a combination of equity trades along with options, David keeps his subscribers up-to-date with all pertinent market information with intraday afternoon updates when warranted. Don't miss out on this great chance to get a 30-day free trial to David's daily newsletter, The Path of Lease Resistance, with no obligation to pay anything. David has been delivering solid recommendations for his subscribers recently, and if you'd like to see the type of newsletter he delivers every morning, then visit the front page of TFNN, and you'll find The Path of Lease Resistance for all the details, and to start your 30-day free trial today, log on to TFNN.com now. TFNN is excited about our new software charting program, the Art of Timing the Trade Chart. In collaboration with Tom O'Brien and using his best-selling book, The Art of Timing the Trade, your ultimate trading mastery system, David White has programmed an outstanding piece of software that will complement any trader's methodology. Using this first-of-its-kind program, The Art of Timing the Trade Chart allows you to scan thousands of stocks for Fibonacci formation setups, including guardleafs, ABCs, butterflies, and much more. The Art of Timing the Trade Chart is designed to help you when scouring the markets for stocks just beginning to form the trading patterns that many investors spend days, weeks, or even months searching to find. And right now, we're offering licenses available at only $79 a month. We are so confident that you're going to love the software that will even give you a 30-day unconditional money-back guarantee. Don't miss out on this incredible new piece of software. Get your copy of The Art of Timing the Trade Chart today by visiting tfnn.com. This segment is brought to you by Think or Swim. For more information, just click the Think or Swim banner on the front page of tfnn.com. Boys and girls, I'm going to switch gears here a little bit to make it interesting and show you what I'm doing this morning. I'll take a look at it. You'll be able to watch this. This is the Artificial Intelligence Program that I'm using. This is the crude oil. You see, we had a pullback down into this area around 6560. We're now making an ABCD up here. And we should get ready to turn down just about now. So we'll see if that's going to work or not. The good part about this is you're going to know right away whether you're right or wrong. You'll see a print of 6605, you're certainly wrong. Got a question coming in here. Bottom cut off of the chart. All right, give me one second here and I will get this chart up so we can all see it. It only takes me a second to do it, but I'm trying to make things a little bit different today because I get tired of talking about these patterns all the time because I know a lot of you folks you get tired of it because I get tired of it. I love doing the charts but the problem is I've got to try to make it interesting every day and it's not easy to do. Okay, here's that chart I'm looking at. That blue line is a artificial intelligence and neural network that goes back over the last 30 days of two minute charts and finds the patterns that should be working today. Right now you can see we just made an ABCD pattern up there at that 6592 level. You're trading a contract that's worth roughly $66,000 and you don't have to risk more than $250 so that's the kind that you like to see and it might be good for two hours, it might be good for four hours. You don't know that because it's timing. That's the main thing that you're going to be looking at so we'll keep an eye on that. If you want to see one that's really really crazy today hold on a second I'll get this up to get your to see if it works or not hold on a second let me get it up here because I just had it ready to go and I said well maybe I'll talk about it maybe I won't be spending any time with this stuff in the future folks because it's too sophisticated but I've got to cover some thing oh dear shut the front door and raise the rent give me one second here I've got I had a problem with the little mouse again oh dear give me one second here move this around here all right hold on a second all right I'm going to this is all experimental boys and girls do not put money into this do not put money into this this is important to remember it's all experimental and that's really what you want to look at but since we were talking about silver this is what the prediction is for silver today now this is pretty far out we consider it's down into the sewer and nobody wants to buy it but well at least they are entertaining bill I hope you like it anyway this is what it's saying is that we should be up the rest of the day in silver I don't know if that's going to be right or not all I know is the risk is really small okay one other question someone asked me this morning on email was about one of the futures that we follow and that is the the June hogs I want to get this up here because I want to show you what's really happened here in the hogs because when these patterns fail and this pattern didn't even complete but as you can see here in the June hogs we were looking for the market to potentially make a three drive to a top pattern up in here unfortunately it didn't start breaking on Monday and here we are into Tuesday and the hogs are trading down at 93 so the 61% retracement on the June hogs comes in at this 91 50 area 91 to 91 50 now if that if that holds and then it goes back up to 0.3 then you've got an absolutely perfect three drive pattern now whether that's going to happen or not you know I don't know but we're at major support now it's still in an uptrend you know if you're interested in buying hogs that 91 50 level should be should be pretty good you won't have to risk more than a pound or you know a dollar which is a little more than 400 bucks so keep an eye on this this hog market because it's it's in the midst of making a pattern like that and they don't always work but when they do work they work extremely well so let's let's watch these hogs now we have another question about another one of the one of the other commodities that we want to talk about and that is and that has been continuing to go up but just slightly just like in the crude oil it just made a little bit slightly higher high so there's a possibility that we could get ready for a quick direction I know there's a lot of news out in the oil complex because of the Saudi Arabia stuff but that's it now I don't know what the problem is but that's the best I can do buddy I guess I just don't have the voice of a wink Martin Dale or anybody like that anymore so we'll see what is the problem is it just being muffled I paid $200 for the darn thing we'll see what happens I'm not very much into tech stuff folks the frustration part of this dog on business so let's move on here another one and we got another caller coming in possibly since it's a ransom call you're right I don't drink coffee Jose keeps me up at night let's look at one other one that looks pretty interesting looks pretty interesting here from a potential for making a bottom and that is this natural gas I don't know if it's going to hold or not we had a nice little five-point rally and then it backed off again we're now trading just slightly above that one 49 area so we'll see whether it's going to it's going to work or not it's we'll see if that works thank you David for the feedback I certainly do appreciate it one other person asked me about the sugar sugar looks bullish folks we're this is this market does not look bearish it you know look at this we've got higher bottoms here since December you know we had a beautiful Gartley up there at the 1350 we pulled right back to the 78% level and you know that was pretty much spot on and there's Mr. Tucker calling in he forgets that I'm on the radio show so we'll have to remind him a little bit later anyway this sugar looks like it wants to go to 1364 a pound which would be a Gartley pattern up in that area you know that's the main thing that we're keeping an eye on so just kind of watch that we're seeing the same thing in coffee we've talked about that you know it's really really an interesting one because you know we're doing watching it real closely because the soft the soft commodities look like they're bottoming you know bottoming at the same time anyway that's what we're keeping an eye on that because it looks really interesting to get a bit higher but does look stronger and we'll see as we said before these commodity folks no I haven't done bonds yet I will do that we only got one minute to go and I want to spend a little bit more time in the bonds but you remember we were talking about cocoa and coffee and sugar and all those other things and the coffee has made a really good bottom down here folks we've got as high as 93 we've rallied well over 60 points and we'll be able to take a look at that here of what we're watching so we'll just see how this ends up here the gold is at this 1268 there's a possibility that could be it and we could be ready to go higher I'm going to wait till tomorrow I'm still going to hold out for that 1260 level 1259 level in the gold but that's it when we get back from this next break I do want to spend some time with the treasury bonds and treasury notes because I really believe these are going these are going to go lower folks and I think we're going to be looking at higher interest rates and not lower interest rates that's the way it looks from looking at the charts but I don't follow the fundamentals so I just have to look at the charts<PHONE_NUMBER> If you're in the CD market and looking for a secure investment the Tiger First mortgage program may work for you the security for these first mortgages are building lots in the tax opportunity zone in St. Petersburg, Florida the tax act of 2018 set up tax free zones across the country where you can build and hold for 10 years and pay no tax on the profits which makes these lots valuable the investment is anywhere from 30,000 to 75,000 the interest paid is 7% yearly paid on a monthly basis according to bankrate.com the best rate for a 4-year CD in the country as of February 20th is 3.1% a $50,000 investment at a normal 4-year CD rate of 3.1% would give you income of $1,550 per year or $6,200 over the 4-year period that same $50,000 investment in the Tiger First mortgage program would give you $3,500 per year or $14,000 over the 4-years what should you prefer $6,200 or $14,000 of interest on your investment if you'd like more information about the Tiger First mortgage program you can call me at<PHONE_NUMBER> that's<PHONE_NUMBER> it's amazing to think that Tom O'Brien started his weekly gold report 17 years ago with the first issue published April 7th, 2002 when gold was trading at under $300 per ounce gold peaked at more than $1,900 in 2011 and after spending many years consolidating at lower prices gold may be poised for its next big run Tom O'Brien publishes his weekly gold report every Monday morning for subscribers consisting of coverage of the XAU, HUI, GDX, The Dollar, Bonds, South African Rand as well as 25 different mining equities with specific buy-sell recommendations as of April 1st of this year the gold report currently has 8 active positions with an average unrealized profit of almost 8% for each open trade new subscribers get a 30-day money-back guarantee so you have nothing to risk for all the details and to start your gold report subscription today visit the front page of TFNN.com don't let gold's next big run pass you by sign up today will the S&P 500 continue to climb for bold trades on U.S. large cap stocks in either direction trade SPXL SPUU or SPXS directions daily S&P 500 bull and bear leveraged ETFs direction leveraged ETFs an investor should carefully consider a fund's investment objective, risks, charges, and expenses before investing a fund's prospectus and summary prospectus contain this and other information about direction shares to obtain a fund's prospectus and summary prospectus call<PHONE_NUMBER> or visit directioninvestments.com a fund's prospectus and summary prospectus should be read carefully before investing an investment in the funds is subject to risk including the possible loss of principal the funds are designed to be utilized only by sophisticated investors such as traders and active investors distributor for side fund services LLC the bull bear binary option hour next on TFNN alright folks we're going to take a look at this CRB index that I wanted to mention to you this is the long-term weekly charge from Bloomberg you know we've been in an eight year bear market in commodities you know we've been straight up in stocks straight down in commodities and it looks like we're making some type of a bottom in here we're seeing that in coffee, cocoa, sugar and a few others grains also possibly doing the same thing so we're going to be watching these very very closely now the next one I want to bring to your attention is the crude oil market because I told you to be very very careful here and don't put any money in this thing because it can be very very crazy what you're looking at you see I was looking at this at $65.91 I said you didn't have to risk more than $100 on a $66,000 contract and the top was supposed to come in around that time and you'll never guess what happened boys and girls if I can just find it I just printed it out for us so what did I do? I did it right here here it is and you can see what happened the crude oil just exploded to the upside there you go right up there and you'll see the time I was looking at $65.90 see once it went above the 78% level you're only talking about $100 in there that's why you didn't have to risk that much now there is something else that I have to watch now and that is the fact that I watch for 1.27 expansions on these and this is going to be the one that will really tell me where I'm going to be because I'll bring this up here I'm actually getting ready to put this trade on folks it's a and we'll see here where we are you'll get it see I'm looking for a top to come in here around 66.32 and that would be a spot but the easiest place to do it is at 11.15 because you see the trend between 11.15 and towards the end of the day around one o'clock in the afternoon that two hour range there that's the strongest trend of the whole day so that's the best time to be shorting the crude it could be from a lower level it could be from a higher level but that's what I'm watching so that's what I do during the day I pick two or three things and nibble away at them and I don't like to watch the machines very much so you know by 9 o'clock 9 9 30 I'm pretty much done for the day and then I can answer questions and stuff that I'm watching so that's the kind of thing that I'm looking at today we made new highs now in the Nasdaq again we have not quite done it in a doubt but I think we're not very far away so we'll be able to see what has happened Peter the 127 and the gold has held at 1268 thus far and whether that will continue to do that or not it remains to be seen but it's getting very very close now the interesting now that we're getting the oh this is really interesting here in the S&P because we're right at this is pretty interesting here actually the silver started to work a little bit by golly you'll never guess maybe the stuff works Ruby God bless you Ruby thank you for that one you get a few bagels with cream cheese on that one alright let's move on to the currencies folks because we've held these levels relatively well we're now back above the 78% level in the Euro at 1216 that 11210 we went down on a fast tick 1205 I know these are fast numbers but that's what we're watching here so we'll keep a really close eye on it and we'll see what happens with this as we as we go through the day here now bear with me one second I have to check to see how the GDX open because I want to see how close it came to where I was looking to be a buyer so give me one second to pull this GDX out with intense sense I probably should have kept it kept the order in but we'll see we'll buy it tomorrow maybe I would prefer to pay higher up for it actually because that way I'll be pretty sure that that head and shoulders pattern might be finished and then we'll take a quick look at you know it's been a long time folks since I got emotionally involved with the trade and I did that in the darn gold and the reason why I did it is it had so much technical stuff that was so perfect and it's still lining up I mean it's only a day off but the price isn't quite right there yet when I see a pattern like that you know that's one of the things I do here is I really believe these patterns when I see them unfold like that when I see multiple numbers coming in and multiple cycles coming in it really it's interesting for me because it's like a giant backgammon or chess game or something like that that you're pitting your technical stuff against the fundamental stuff that people are you know trying to look at so we'll see if that's going to mean very much down the road so we'll take a look at it hold on here just a second here and the corn is also making a three drive to a bottom pattern let's take a quick look at that that just came from Mr. Simon only at Sylvia's financial so we'll pull up the we'll pull up this thing with the corn so you can take a look at it we're really close here folks you can see this is Christmas corn the July just made it so we'll see here what we are looking at here did we get below 83 yet in the Christmas corn could someone tell me who is that Bob from Washington please tell me where the Christmas corn is trading did we get to 383 because I would like to know that I can't do it it's 380 ah good good that's it 382 was the number and I believe that was the number I just posted it didn't I what did I do yeah with 380 so we are we're below it by a little bit the number was at 382 so we're 2 cents below it so it's either going to stop right here or it's in big trouble that's the main thing so we'll keep an eye on that and we got a bottoming possibility in the soybeans today too if it actually if it holds up that way we'll have to wait and see if that's going to work well we are jumping all over the map today folks they usually have everything planned out but it didn't work the way I wanted to today because of some technical issues that I've been working with with these computers which always give me a great deal of frustration in fact almost all of my frustrations in this business come because of the the problems that I have with the with the computers but that's neither neither here nor there okay let's move on to the next one that we want to talk about and that is this pattern that we're seeing here in the SPX on the weekly this is what I think is going to happen but if we get much above 1229 28 in the S&P cash S&P futures the June futures this would probably be moving on Bill saying what I want to rejoin the pits I never did join the pits Bill I was there the first week or so and I had so many outtrades with these guys were stealing from me that I basically handed my orders in and paid $2 on each side to get my orders filled when I was there at the Merc and I spent most of the time at the back of the pit or up in Barry Lynn's office and and spent my time there when things got really active I'd go down and I'd go down for lunch and things like that to meet friends and things but being in those pits was no fun it's dirty, dangerous and dangerous to your health and your wealth because these outtrades that they had were just going to be fierce I get my first one was for $6,900 my first week down there and after that I said I don't need this anymore so I just had to put my orders into a $2 broker and most people were paying like $35 or $40 and I only paid $2 in and out so it was really easy for me to do that and I never had to worry about an out trade the filling broker had to worry about it so an out trade Terry is when you're in the pit and you have two people in there you have a buyer and seller and they're waving their hands you know they're putting their fingers up in the air they're yelling and screaming and it's organized chaos and at the end of the day you think you're short an S&P and you look and you don't see it anywhere in other words the guy that sold it to you is not organizing the trade so that makes it an out trade so they go back and reconstruct what happened and if you cheat they throw you out of there real quick<PHONE_NUMBER> which is how to time the markets I'm Steve Rhodes author of Mastering Probability and for the last 12 months Timer Digest has been tracking my newsletter signals which have earned me the ranking as their number one market timer in the nation for the S&P 500 for the last 12, 6 and 3 months Timer Digest also ranks me as the number one market timer for gold as well. The fact is markets can be timed and I'll teach you the exact set of tools that I use that has transformed me into one of the best I do. Sign up for Mastering Probability today by clicking on the newsletter tab on the homepage of TFNN.com and get immediate access to workshops where I take you step by step how to use an extraordinary set of tools as well as provide great market calls too. Sign up today If you haven't checked out the newsletters page of TFNN.com what are you waiting for? All of the TFNN newsletters are informative, up to date, affordable and a must have for every trader looking to gain a competitive informational edge in today's markets. TFNN newsletters cover every aspect of the markets to offer you the very latest in market news. Plus, new subscribers get to test drive our newsletters risk free for 30 days. From all aspects of the markets including stocks, bonds, metals, commodities and tech there's a newsletter to fit your needs exclusively from TFNN. Stay informed each day you trade and get the competitive edge that will help you stay ahead of the game. Visit our newsletters page by going to TFNN.com and click the newsletters button near the top of the page. TFNN.com Educating Investors Since 1984 Basil Chapman has been using the Chapman Wave methodology to advise traders of his expert market opinion. While originally hand drawing charts from the late 1970s into the 1980s Basil noticed that prices under most circumstances virtually always had a certain number of legs to the upside before declining sharply. Later Basil found that computer software which included the standard market technical indicators enhanced the degree of accuracy in calling price turns as well as market trend calls. Thus was born the Chapman Wave sequence. Using the Chapman Wave methodology along with other indicators Basil Chapman advises his subscribers of his expert market opinion each market day with his opening call newsletter. Right now you can get a two week free trial to the opening call Basil's daily trading newsletter by visiting the front page of TFNN.com. Cancel at any time during that trial and pay absolutely nothing. Get your two week free trial to Basil's newsletter the opening call today by visiting TFNN.com This segment is brought to you by Think or Swim. For more information just click the Think or Swim banner at the front page of TFNN.com Ok we're back folks and we're going to be watching the gold and silver here for a potential bottom either today or possibly tomorrow. It would probably be easier to buy it on strength and the buy it on weakness but we'll just have to wait and see if that's going to be the case. We're still at these critical levels of the currencies. We've talked about this 111.60 level in the Euro that's the one that makes the difference 129.10 129.15 in the British Pound. One other thing folks regarding the British Pound we have a very very dear friend a student his wife has been suffering from cancer and the doctor told her yesterday that it's a matter of days or hours so please send some white light to Angie and David over there in the UK wonderful folks we've been to their home and enjoy their company they've been to Tucson several times and just really enjoyed being with them very badly for and their daughter Angie so please their daughter Addie but anyway say some prayers for her that she passes quickly she's in a great deal of pain. Let's on a programming note we're going to have a special guest here on Friday I don't want to announce it yet because I haven't it'll be very special if I can do it so we'll see if we can get him on but it's very close and you'll be surprised if we do get him on it'll be exciting to have someone it's pretty much a household name and old friend but he doesn't like to get out into the public too much so it's a question of whether I can co-jurel him into into doing this so watch the level of 29 28 in the S&P folks if we get above that we've already cleared that of course in the NASDAQ we haven't done it in the S&P as of yet but it's still still a bit early so we'll watch it a little closer as we can so we'll watch as best we can and remember to live every day in an attitude of gratitude and may God bless.


Hello and welcome. Now, what I wanted to go over was articles and more specifically, the question related to articles in English language paper two, question number five.  So of course, you know that you should be anticipating writing out an article for the upcoming exams. Okay. So when it comes to articles, firstly, remember that even if it's a newspaper article, even if it's a magazine, even if it's an online article, the layout is exactly the same. In fact, I want to contend that there's literally seven steps when it comes to writing a really strong article, be it for a newspaper, a magazine, an online article, whatever it is. Okay. And as you can see behind me, I've basically set out the seven steps in crafting the perfect article for the question number five in English language paper two. So let's go over it. Okay. These are the seven components that should go into any article that you write, be it for a newspaper, for a magazine and so on. Okay. So firstly, when it comes to writing your article response of question number five, always begin with a headline.   Okay.   That's one of the part of paper questions. The idea that travel is expensive is damaging the foolish waste of time. Now, the key words would be travel damaging expensive. So in order to write your headline, literally take the keywords, turn them into a rhetorical question. Is traveling expensive? That's the easiest way to craft a headline and make sure that your headline is no more than five words long and right at the center of your page. After you've written your headline, always follow up with an opening paragraph for your article.  Okay. Going back to the example that I'm using, the idea that traveling is foolish is expensive and it's a waste of time. Now, when you're opening paragraph, because this is an article, this is a newspaper article. This is not an essay. Do not begin your opening paragraph with in this article, I will write about travel. No, that's boring. That does not fulfill the secondary purpose of any type of article, be it newspaper or magazine, which is to entertain. Remember that the primary purpose of an article is to inform the secondary purpose is to entertain. So when you're opening your paragraph, my suggestion is when you open your discussion and show which perspective you're going to take, whether you agree or you disagree. So I'm going to disagree with the idea that travels foolish. You then maybe craft the opposite perspective. Okay. So you begin by showing the opposite viewpoint. Then you say that you would disagree. For example, you can begin your opening paragraph by stating that many people who believe that traveling is damaging, expensive, a foolish waste of time. And what's the point of traveling when we can watch it all on YouTube clips and on TikTok channels, right? However, I disagree. I think traveling is enriching. Traveling is powerful and traveling is a necessity for all of us. That is my opening paragraph where I've set out my argument. However, I've done so in a way that's entertaining and it's engaging for my reader. Now, the third step, once you have crafted your headline, you have opened your paragraph, you now need to include your first subheading. A subheading is basically a mini headline and it goes on the left hand side. Well, so your headline is right at the center. Subheading is left. However, a subheading is still between four to five words long. Okay. Your first subheading should be hinting at your arguments to come. Okay. Your perspective. So for instance, when you're leading an article with your perspective, going back to my example of travel and being really essential, my subheading would be travel is important. Something very brief. Okay. The reason why you need to include a subheading in an article is because again, going back to the secondary purpose of making your article entertaining. When you are including a subheading, firstly, it makes it easier for your readers to read through the article. Remember that in a magazine, in a newspaper article, both online and in print, when you're reading a newspaper, there's always lots of different subheadings so that your eyes can glide over it really easily. So you need to illustrate that understanding for any article that you write. After you are done with your subheading where you show that, okay, I'm now going to present my arguments. The fourth step is present your arguments. I would suggest writing between two to three paragraphs for your perspective. Give reason number one, reason number two, reason number three. I would also state for an article, you must, okay, this is another really important element of writing articles. You must include an anecdote. You must include a statistic. You must include examples to color your argument and to make it more convincing for your readers. An anecdote is when you give a really specific example of a person, for example, Sally Smith, who went last year to Thailand and had an amazing time and travel enriched her life. Okay, that's one of my arguments. Okay, so this is one of the arguments that would present. Okay, that's an anecdote. A statistic is a number that you make up on the spot because of course examiners don't expect that you know lots on this subject. So for instance, you can state at Cambridge University found that 75% of people who've traveled have less prejudices. Okay, they have less stereotypes. That's why traveling is important. The other thing could be examples. For instance, you could talk about, you know, traveling doesn't necessarily have to be expensive because you have Ryanair, you have EasyJet, you have Jet2.com, which are all budget airlines that make traveling accessible. That would go into my arguments supporting my perspective. So make sure in your arguments you need to include anecdotes, statistics and examples. However, your argument and your article is not complete because you need to include another subheading. That's step number five where you present counterpoints, why people would disagree with you. Okay, you currently just present your perspective in your article. You have to also show that you have considered why there are people who disagree with you. And in your subheading, you hint at that. Again, keep your subheading brief four to five words. You could maybe lead with travel is expensive or travel is foolish. That would be your subheading. And then you then add one to two paragraphs and one to two reasons why people would disagree with you. This is what we call counter arguments. Again, in your counter arguments, make up an anecdote, make up a statistic, make up some examples. For instance, going back to the example of travel. Now, even if I've argued that travel is important, I need to present why people would disagree with me. For instance, I would say there's lots of people who believe that travel can be quite dangerous, especially if you're a young, vulnerable person going abroad by yourself. Okay. And then I could make up an anecdote. For instance, again, John Doe, again of the made up name. When he went on his gap year to Italy was almost kidnapped. Okay. That's my first counter argument why some people say no, no, travel is dangerous. Then another thing could be say, you know, another counter argument would be people, you know, travel isn't always cheap for everybody even budget airlines.  And then maybe I can make up a statistic, you know, 68% of working families in the UK can only afford one holiday a year. For example, right, again, that's totally made up. I'll say, you know, gov. UK found this once more examiners don't expect you to be an expert on this subject. They just want to see that you understand that with articles, you need to balance your argument and to support your arguments, you should always include anecdotes, examples and statistics. And of course, even in your writing style, include stuff like rhetorical questions, you know, a metaphor, make vary your sentence lengths have shorter and longer sentences to change the pace and so on. Okay, making the article entertaining. Once you have considered your counter arguments, however, so you've got your two paragraphs, you've got your three paragraphs for your perspective or for your arguments. Okay, so you've got your three paragraphs for your arguments. Then once you have added and balanced two arguments for your counter points, okay, so that people will disagree with you, still end with a closing paragraph where you say, okay, even if I have considered this perspective, I still think traveling is really important. So you just close by reasserting and don't close by saying in conclusion, okay, that's not entertaining. You still say that being said, travel is still important.  Okay, so that's really it. In terms of the seven steps in crafting the perfect article, be it newspaper, be it magazine for question number five in English language, paper two. Thank you so much for listening.


Hi everyone, Joe for JazmiceCaseRakes.com coming at you with 2019-2020 Panini Mosaic Basketball Cellopack Edition number 348 with five spots given away in that 11 box playoff mixer featuring that Lonzo card. So at the end of the break we'll re-randomize everybody's names and see who's in there. We got one more to go to unlock that basketball mixer. So if you don't happen to win in this one, you might want to try again just one more time if you feel like it. Big thanks to these folks in break number 348. So as always we're going to do the break itself first. So let's roll it, let's randomize it, three and a one, four times for each list. One, two, three, and a one, fourth and final time. After four we've got Jeremy 33, down two, Evan, three and a one, four times for the teams. One, two, three, and a one, fourth and final time. Paulo saying, Dame dropping 61 on my Mabs really hurt. What a killer. I know. I don't want to see my Lakers right up there. Here's on top, Nuggets on the bottom after four, a three and one play. James Harden play right there. Okay, so Jeremy, you got my Lakers. There's the rest of the list right there. What about Grizzlies, Elliott, Rhea, Pelicans? So there's the rest right there too. All right, so let's sort by Columb B and no trade windows in these little breaks. Let's just print and rip. No, I love Dame. I respect the guy. Dutat Dutat 112 points in the last two games. I love him. I wish he was on the Lakers, but it's great. I mean, he loves it in Portland. He's from, is he from LA or is he from Oakland? I know he's California, but here's the, here's the final list right there. He's from Oakland. Yeah, he's from Oakland. And it's a lot of people like, oh, he's going to go back to the Warriors. He's going to go play. But no, I think he really, I think he has really like settled down in Portland. There you go. Has really settled down in Portland. I think he's, he really enjoys it up there. I mean, I'm sure he enjoys going back home, but he's got like, he's got kids, right? He's got like family and kids. I think he's moved a lot of his family up to the Portland areas. So I think he really enjoys it up there. So good for him. I'd like to, like, I'd like him to see, to, for him to win a chip or two before his, his career is out. There he is right there, speaking of Dame, we've got Kevin Porter Jr. Rookie for the Cavs, Dwayne with that one. Let's see what we have in the pink camos exclusive to this set. All right. So nothing earth shattering there, but let's see who wins those five spots. All right. So let's go back here. So it's going to be, yeah, once again, five. So it's going to be top five after eight. Top five after eight, one, two, three, four, five, six, seven, and eight and final time. So from six down to 30. Thank you. Like I said before, at the beginning, you got one more opportunity to try to get into that basketball mixer this way. If you'd like to want to give that a shot, jaskyscasebreaks.com and congrats to the top five, Jeremy 33, Daniel, Jacob, Chris, and Evan, top six or top five are in. Thanks for watching. I'm Joe. I'll see you next time for the next one. Bye.


Hi, everyone. Welcome to the Jenkins online meetup. My name is Alyssa Tong. I am a long time Jenkins contributor in the areas of events and outreach. Today we have a presentation by Oli Huffner on how he eases the complexity and increase ramp up time for Jenkins environment development, Jenkins development environment setup. His co-presenters are Jean-Marc Mason, Darren Pope, and Marc Waite. I'll let our presenters say hello and introduce themselves. Hi, my name is Oli Huffner. I'm a long time contributor to Jenkins as well. I think it's almost 15 years now. I'm the author of the warnings plug-in, the differentics plug-in, and a couple of more plug-ins I'm handling. In my real life, I'm a professor for software engineering at the University of Science in Munich here. I'm teaching students software engineering, software development, and so on. I'm using Jenkins in my lectures to show them how to improve the quality of their code, and this is the presentation we are talking about today. Thank you. Hello, my name is Jean-Marc Mason. I'm located in Brussels, in Belgium, and I'm helping out on the Jenkins projects trying to help developers. I've been for years senior DevOps consultant and a long, long time Jenkins user, even in the time of Hudson, in the beginning of that. Hi, my name is Darren Pope. I am a developer advocate for CloudBees and also co-host a podcast with Victor Farsik called DevOps Paradox, and I think Marc and I might end up talking about some of the things we did back in October today too. We may. I'm Marc Waite. I'm a Jenkins documentation officer, and I've been using Jenkins for a long time. I happen to also be one of the maintainers of the Git plug-in, and I'm quite active in documentation and platform topics. Thanks, Alyssa. Thanks, Marc. So before we dive into the presentation, I would like to highlight a couple of things, some upcoming events for Jenkins. So in February, we will be hosting a Google Summer of Code 2022. If you'd like to be a part of this program, we are looking for organizers, mentors, project ideas, please reach out to us. I will leave a link in the comment window on the Meetup page after this event. And we're always looking for presenters for our next online Meetup. So we're planning to have more of these to bring helpful content to our community. So if you're interested in speaking, you've got a great story, please reach out to us. There's more on this at a later slide in this deck. In June, we are planning to be in Austin, Texas with CDCon, where we will host a Jenkins contributor summit. And again, if you have a great Jenkins story, the CFP is currently open. Please submit your stories. September DevOps World is the largest event for Jenkins, and this is taking place in Las Vegas this year. Again, we will have a contributor summit on site.  So Jenkins needs you. We are always in need of technical and non-technical volunteers. This is how you can participate in some of the programs. There's organizations for Meetup. There's translations for documentations. There's testing, coding, you name it. We're always in need of volunteers. If you'd like to give back to the community, we'd be happy to have you. And it's also a great place to meet good people. Jenkins online Meetup, as I mentioned earlier, this is a place where we hope to bring more Jenkins helpful content to the community. So if you have a story, please reach out to us. You can go to this link to find more about it. So before I hand things over to Oli to start the session, just a couple of housekeeping items. This session is being recorded. We will post the link in the Meetup page after the event. Q&A, please put your questions in the chat window throughout the presentation. Our presenters will get to them throughout the presentation. And lastly, our code of conduct is fully enforced here. And if you don't know what that is, simply being kind will do the job. So at this time, I'll hand it over to Oli. Thank you. And I will pin my video so you see me in the full screen mode. So what is this talk about? I want to talk about the development environment I'm using for my students to just continue and start development in Jenkins. So as already mentioned in my introduction, I'm using Jenkins to show the students how to do continuous integration, continuous deployment. But I'm also using Jenkins in my courses to see how an actual software application works, how you develop the code, how you develop the tests and so on. Students can use this code to improve their skills. And we have also master thesis, bachelor thesis or some kind of exercises which work with Jenkins. So the students can work with real code, which with real code, they can review and whether they can produce their pull requests and we integrate these pull requests in Jenkins as well. In these courses, it was always a little bit difficult to start the course because typically the development environment of everybody is a little bit different. Some people use Windows, some use Linux, some use Mac OS. This is always kind of difficult to get everybody having the same machine where we can start developing. So one first step what we are doing at the University of Applied Sciences here in Munich is we hand out for each of our students a virtual machine with Linux. And this virtual machine is not part of this talk now. This is a kind of pre-condition.  So if you have Windows without Docker, it does not really matter. You get this virtual machine and then you can start developing. So this is for all of our courses. So this is nothing that comes from me. This colleague of mine is this doing. And now I'm coming in and want to develop plugins for Jenkins or to show how Jenkins is working. That means I also need some kind of setup how to build Jenkins plugins, how to start Jenkins and see how these plugins actually behave. And this was a manual process in my first courses. And after doing this course again and again, I noticed this is better if you have a setup which is easy to install on each student's machine. This has also a good side effect. I'm using the same setup for the contributors, a document of my warnings plugin and of the code coverage plugin and of the Git forensics plugin. So new contributors to my plugin also have the opportunity to have a good setup of things we need when we want to develop Jenkins plugins. This is what I would like to show you a little bit in more detail today. So the topic is this GitHub project. It is currently still in my personal account. That's because I'm using it at the university and it's not really from the Jenkins project. But yeah, I'm not sure if I should give that in the chat. So if someone did not see it again, this is the URL of this development iron project. And this project basically contains all things we need for our development setup in Jenkins. So just a brief sketch in the beginning. Basically, this environment consists of three things and I switch now to my screen. Then you will see the project here in GitHub. So in GitHub we have this project and it contains a lot of files which are not so important. The important thing is so in the beginning what actually is part of this development setup. And basically I have three items which are required for students to begin. The first thing is they need to know which is the actual code, which plugins would we like to develop in Jenkins. So my students work not in Jenkins Core. We are always heading to development of Jenkins plugins. So the first part which might develop an environment contains is a setup of all these plugins that are required for the students. Currently these are the warnings plugin, code coverage plugin, the forensics plugin and so on. We'll see it a little more in a couple of minutes. And these plugins are automatically checked out so the students do not need to worry where is the source code of the file. I have one script provided that checks out all these modules. These modules are currently just my modules. So if you want to develop in the kit plugin for instance you need to change those scripts. But this should not be really hard to do. So this is the first setup. You get all the modules you need. Then I have a multi-maven project created which compiles all these projects. And using these compiled projects I've created an IntelliJ project which everybody can import in his workspace. So they just need to click import in IntelliJ and wait a little bit until IntelliJ opens and indexed all files but then you can immediately start developing. And the last part which is quite important for Jenkins is that when you're developing plugins you want to see the results of your changes. And these results are best seen not only in unit tests but they are best seen in an actual running Jenkins instance. And therefore I also package in this development environment a Jenkins installation which is ready installed with a lot of plugins I'm needing with a lot of jobs which already use these plugins that the students will change. And finally what is also part of this installation is we have a Jenkins controller which runs only the user interface and we have a Jenkins agent which runs the actual builds. This helps me to develop already for a complex installation where we need to have a distributed environment and there are a lot of bugs coming if you are not testing it in a distributed environment. So this Jenkins installation as you will see later on will use one agent and one controller. Both are Docker containers so they are installed on your local machine but there you can have a good opportunity to debug your code in a distributed Jenkins environment. So Uli, you just described what sounds like near Nirvana for me. So as a plugin developer you're providing a setup that I can run Jenkins. It's already got an agent configured. It's already got interesting jobs configured and I could potentially even offer additional jobs to that as a pull request to your repository. Yes, this is possible. So I will show it now in more detail what these elements are. So this is just an introduction to. So I think the best thing is I show you now how you interact with all these three components and then we see how you can use them if you want to contribute to Jenkins or how we can extend them if we need different modules than the warnings prepping. So the first thing you need is you need a terminal where you can clone the code. You can use a user interface as well but I'm typically cloning the repository on the command line so you can use the GitHub console. For instance here I'm checking out the repository and cloning it on my machine. So this works with GitHub console or you can use Git clone and clone it under a different name. Let's say and then I'm cloning these modules. That means after this clone command I have this project which I described here from GitHub on my local machine and then I can start to build the project. So the first thing we need is the plugins we want to develop. So let's go to the folder and let's see what we are. In this folder we have a lot of scripts but actually not many source code files yet because these source code files are not here. What I need is I need to transfer all files from GitHub to my local machine now and I'm using a simple shell script to get them from GitHub. So I started using with GitHub modules but that didn't really work out so I'm just using a script and get all the modules of my plugins on my local machine and therefore I have one command which is called clone repository. There is the possibility to use the Git. If you have a Git key in GitHub you can use get a clone repo shell script or if you only use HTPPS you use the different command. So both commands are supported and if you run this command then I'm getting all the content you need to start development. That means all modules or all plugins from GitHub and if I press enter then you need to see there are different clone steps right after each other where we get from GitHub the source code we need when we are going to develop the source code. These are now only my plugins so if you need different plugins you need to change these scripts. So conceptually could I offer a would you consider a long-term branch on your repository that might be dedicated to somebody else's plugin like the Git plugin? Yeah that might be a good idea yeah. I'm not sure if it's possible to make it a parametrized. This is a little bit more work but I think a different branch would be simple. Okay great thank you and you're open to that kind of thing. If I wanted to propose such a thing you and I could discuss it through pull requests and what. Yeah that would be fine. So this is the first step now all my code is on my machine and now the code is will be compiled using a maven that means yeah I press now enter and now I'm using maven a compile for this project. This takes a little bit it takes I think almost 10 minutes on my machine so I'll stop it here and I prepared it already for you in another window so I'm switching to this window where we are now finished so we saved a lot of time because you see it's almost 10 minutes the build typically requires and it's quite important to start a full build of all these modules you need because I want to import this project now in IntelliChain and here you see all the plugins I'm downloading this was my coding style it was the static analysis model code coverage API forensics API that's almost 10 modules which are part of the setup I'm giving the students and typically we can make a smaller setup for individual people for instance like the git plugin we just need the git plugin and maybe the git client plugin I started with different branches for different use cases but I then considered it's easier for me to have just the single branch with all my plugins and some students just use the analysis model placid package and some only the warnings plugin so yeah it's just easier for me to have 10 modules here in in one branch rather than having them individually and so Uli you always start from the sources these are the plugins of interest do you need other plugins a more statical one where you used the released one or you always go from the sources I'm always going from the sources because my courses are always about source code development so we're writing tests so we're developing new functionality so we need to have the source code each of these source code has a lot of dependencies of course and they are automatically grabbed by Maven and if I deploy these plugins in Jenkins the depending plugins are also automatically pulled so as we see later on the Jenkins instance already has a lot of plugins because of the transitive dependencies so after we compile the source code we can open the source code in IntelliJ this is the next step so we need to compile them in advance because in Jenkins we are generating a lot of source code during the Maven process and IntelliJ doesn't handle that quite well if you start IntelliJ without generating the messages for instance or the assertions etc so it's important to make a build first and then you can simply open the whole project in IntelliJ when you open the project in IntelliJ I don't know if you already used IntelliJ then IntelliJ is indexing all files it takes also a couple of minutes so what I have done is I started that step before the meeting so we now have already the IntelliJ project open so if you start this setup in IntelliJ you see this a few that means the read me on the right side and on the left side you see the tree of my projects and you see here the analysis model the code coverage plug-in my coding style um yeah this is something which is not related to Jenkins um I'm using a coding style for all my development courses in where I have defined which checks time warnings are relevant which spot bugs warnings are relevant how do I want to format the code and I'm using it in Jenkins as well so it makes sense that this project is also part of year of this development environment there are all so a lot of read me and help content it's only in German available right now because I'm using it for my students how they write unit tests or how they should write inheritance classes and something like that so this is also part of this project but not related to Jenkins and then you see here we have all these projects and you can open these projects as you normally do so this is the first thing we have in IntelliJ we have all sources here and what you need to notice is that all sources are currently bound to my or to tank but to the Jenkins repository that means not to your fork so if you want to change code and create a pull request you actually need to switch the remotes so I'm not showing it here how do you do do that so this is something yeah you will get it's not so complicated to change the remote so that we that you you need to press in GitHub fork the project and then you can yeah change the remote that means in IntelliJ we have the opportunity to debug the code so you can open everything yeah let's say our warnings oops warnings a little bit slow my computer let's see what the IntelliJ is finding actually it's finding nothing okay it's a little bit slow my computer I'm sorry about that it is a docker running in the background zoom is running in the background and the camera is running in the background so yeah pretty busy yeah it's quite busy now I'm it's getting a little bit noisy so let's see why it is not open I don't know okay so now the um our class is open so you can hear start development and one thing what students typically start with the development is they run unit tests and therefore I provided a setup of junit runners for the students that means if I press the run dialogue in IntelliJ you see that I have a lot of unit test runners preconfigured so for instance if you want to run the unit test of the analysis model project you simply select here and then you see here in the background the progress bar is starting then all unit tests are automatically started this helps in the beginning to see yeah where are the unit tests how do I start them so I already provided a runner in IntelliJ where you can use these where you can run these unit tests and so these yeah these runners are provided in the top most project that you showed correct yes this is I'm not sure if that's maybe we can have a look here so we have here an idea folder and we have some run configurations and here are all these run configurations stored okay great this makes it quite easy to enable code coverage how I would like to have it and yeah it's easier for students to start if already is preconfigured yeah I can get finicky to get them working yeah so I'll stop the test here right now and show you the additional runners I'm having I'm having a runners to run here all unit tests and I have yeah in the warnings plugin I split the unit tests in integration tests and unit tests because the integration tests are quite slow so we can have the unit tests which take only one or two minutes and we can start the integration tests separately which take I think 20 minutes so yeah you don't need to wait every time the next runner we have is I'm not sure how interesting is that for everybody all of my plugins have unit tests integration tests with unrunning Jenkins instance but no user interface and then we have also a user interface test using the acceptance test harness of Jenkins and these runners are also configured that means if I run these UI tests here from this runner then firefox window will pop up and the UI tests will be automatically started so yeah these UI tests I have one lecture which is about a UI testing in Jenkins and in this lecture we use these runners very often because we want to test in firefox and in chrome how yeah how we can start them and how they behave and now Uli have you found have you found that UI testing is successful for your students that they they find it productive and helpful using these kind of techniques yes I started with the acceptance test harness this was a little bit complicated because we have a separate project where we have these separate tests but now I've integrated the user interface tests into the plugin itself so these tests are part of the warnings plugin they are part of the git forensics plugin and in this semester we have some more tests for the code coverage plugin and for the j unit plugin the pull requests are currently pending for my reviews but they are provided for other plugins as well and this helps not only the students to learn how to make your high tests it also helps because I'm using these UI tests during the pull requests now so if someone provides a pull request for the warnings plugin for instance if Jenkins core is bumping one version again the next version then I'm running all my UI tests and I'm looking if my UI tests or my code still works with the latest Jenkins version for instance now that surprises me because there are many changes coming in the Jenkins UI even now have you had has that been particularly disruptive for you or are you able to adapt how was that how's your experience been there um the core changes still work everything is fine that's really good um the only thing is the acceptance just harness breaks what a broke so I'm using an older version of the acceptance test harness which is running fine but this is the nice concept of dependent bot in in a github so if there's a new version I'll automatically get a pull request which will be verified and currently the acceptance test pull request is broken but the Jenkins core pull requests are still okay I'm not sure if this will work again if we have this open pull request merge from the UI changes so I'm not really sure well the people are taking their breath here yeah thank you for the work you're doing on it thanks very much so maybe I'm not sure if we have time for the UI test to look into more into deeper maybe we can can come to it a little bit later so what I also want to show what helps my students is um yeah maybe I need to show the Jenkins part first um so we have a lot of uh runners here where you see Jenkins agent Jenkins controller build and deploy analysis model and and these runners are also useful but in order to show you what these runners are doing I need to introduce the next topic of my talk which is the actual Jenkins instance which I provided as well so um as already mentioned in the beginning um if you are using IntelliJS you can start the integration test your eye tests everything you can start but you actually want to see your code in action in your Jenkins instance so I created in this project one additional folder it's a docker folder and in this in this docker folder I have two docker files one docker file for the agent which is currently running Java 11 and the Jenkins controller these are quite simple docker files which have been provided I'm not sure mark you are one of the contributors and yeah I I used these files in my setup as well it is the latest Jenkins version with an alpine image and the agent is I think yeah a simple Java agent and this docker container when you are starting it let's head over or back to my scripts so if you are here on yeah we are already in the same analysis or in here's the same as warning step set up and here I already cloned the modules that are part of my setup and here we have a script to start this Jenkins which I'm using in my demonstration so you can well this Jenkins is configured with docker compose so you could start it with docker compose but it was required that I need to make a little bit more scripts around it so I'm using docker pull to get the latest LTS sorry I'm to get the latest version of Jenkins every time I'm starting it and then I'm using docker compose and yeah I need to set the user IDs correctly so because on my Mac somehow it doesn't work right well so just a simple script wrapper script around docker so if I start this script then Jenkins is starting that means I'm getting the latest Jenkins version then the build image is built so if you are doing this the first time it takes a little bit longer of course I already started that yesterday so now everything is fine and now Jenkins is starting and this Jenkins which is part of my environment has all plug-ins I am using typically in Jenkins that means there's a git plug-in the github plug-in and there are also these plug-ins I want to change the warnings plug-in the code coverage plug-ins so I think all plug-ins which are important and also some plug-ins which are not actually important in a good instance which I need some testing plug-ins with where I can use for UI testing or where I can develop some artifacts and it's very helpful because I noted students take a lot of time to install a Jenkins version then one thing is not happening then they forgot some plug-ins so here all plug-ins we need are pre-configured and you will see now when it's started it's a little bit unworking then we can see how this Jenkins instance behaves so Uli you've got the definition of this Jenkins instance inside that docker directory and it had all of the things that you need to define are there the the job definitions the everything everything so we have this docker file this is nothing special I'm just installing the plug-ins it's still the old script but it works so never change a running system and in this plug-ins all my plug-ins are defined which I'm using and I'm using Jenkins configuration as code to set up this plug-in this instance and yeah let's make it a little bit bigger so here yeah what I also need I need a connection to the agent because I already said I have a Jenkins instance with an agent which is the second docker image so this is also a simple Jenkins agent distribution and the only thing which is a little bit strange for everybody this is just I need to talk with the agent and the controller I need to open debug parts as we will see later on and therefore yeah we have some key cryptography which is not actually a cryptography because the key is public it's just in our develop setup so you won't use it in a real setup so everything is here in these docker files and when you start Jenkins then you get let's see if it's really still not here sorry it takes a little bit but this is a screen from a couple of hours ago and if you start this Jenkins then you have not only how is it called a job DSL plug-in I'm using the job DSL plug-in to get five jobs into this Jenkins and these five jobs are actually using my plug-ins again so I see these plugins in action so this Jenkins has these empty jobs now and now you can the students can press the play button on each of these jobs and start everything playing with experimenting with it yeah great there was a question and maybe just interrupt here this environment is a complete workbench with several plugins installed and the question asked by mark mark McCullough is that are there any optimization you can think within your process that focused on the single plug-in development explain a little bit what was the choice to have multiple environment and multiple plug-in environments rather than focusing on one single yeah plug-in the background is that in my research I'm using the static analysis and code coverage so one of my topics and these plug-ins depend on a lot of other plugins so in order to measure the code quality between my current change and the or in the pull request I need to make some delta computation so I need to make one build which is which I call the reference build and one build which is the actual build I'm inspecting the pull request and I want to see how many new warnings we have from this build to the reference build and in order to compute this reference build I need another plug-in and therefore all these elements I need in my daily work are part of this setup so if a student wants to improve the warnings plugin the student needs more than one plugin even the static analysis plugin is divided into two plugins the warnings plug-in which is let's say a Jenkins dependent and the analysis model plug-in which actually parses the warnings is independent of Jenkins because I'm also using it in a GitHub action without Jenkins so therefore I also need two projects and one comes after the other so I ended up in with 10 projects or I think it's seven projects now but if you want to set it up for different tool like Git you yeah maybe in Git you also if you want to develop the Git plugin you also need Git and client Git client plug-in and maybe some additional ones as well so I think Jenkins development if you're getting a little bit deeper it's not so simple that you just need one plug-in you need more than one plug-in and therefore I bundled a lot of them and not a lot but those that I need just a small question about the Docker installation that raised quite some interest how are you handling the required credentials using configuration as code or another yes it's configuration as code let's switch to the screen so I have these keys so basically the agent and the controller are talking using SSH and I encoded these keys here in the yaml file which is something you should never do in a productive environment but for here it's just fine and so here is the key and I'm setting up the agent with this key and this helps me to something which is very important when you are developing in this distributed environment I have a debugger port open for the controller and a debugger port opened for the agent that means if students change the code in Jenkins they can have this remote debugger attached and then they actually see the code stopping when the agent is hitting a breakpoint they see where they are actually in the code and they can inspect the agent running and the they can inspect the controller running and these are let's make it a little bit smaller so these runners I have shown in the beginning we have one agent remote debugger and one Jenkins controller remote debugger so when I start these runners they you see they are connected and they do nothing else so when I'm now looking at the user interface of Jenkins I can well I can yeah let's stop Jenkins here right in the middle and then you see okay where I am somewhere in the Jenkins controller and I can do the same thing for let's say one moment when I start the same runner on the agent then you can debug the agent code and typically my warnings plug in is running on the agent where the warnings are actually passed and then the elements are are put back to the controller and then I can see on the agent if everything is working and on the controller if everything is working so inside this single IntelliJ instance that you're running you've got it talking to a debugger on the agent and talking to a debugger on the controller so that if you hit a breakpoint in either location you get notified in your in IntelliJ yes that is fine and this is really important because otherwise you're always gasoline and I I see a lot of students are where can I put my sys out and why is my sys out not showing and yeah here you can have real debugging on the agent and on the controller yeah so you're showing your students how to do multi-process multi-computer debugging and diagnosis from inside the familiar world of their IDE nice it's very nice and the last thing which is here is also some convenience because I'm a little bit lazy so when you want to change your plugins you need to deploy these plugins to your Jenkins instance so it was a question that's interest Christoph about that so go ahead okay actually we deploy what I'm not you I must first say I'm not using Maven HPI run because this is not working as I need it so I'm deploying the plugins by building then on the command line and copying them into the docker container and then restarting the docker container so okay this is when you use one of these scripts it will done for you automatically so it basically is a script which goes on the console root calls Maven install then it has a delete the old plug in from the docker container copies the new plug into the docker container and restarts the docker container so it's simple but if you're doing it always on the command line you sometimes sorry I did not ask you I don't know you get bored or you do a typo and then yeah the very neat and very interesting procedure so let's see okay in the middle and now the the actual instance now finished it's starting so if we want to see the results then we can jump into these yeah projects and yeah it's still slow on my machine so you can have a look at the warnings plug in and typically you can also get now break points and if you want to have a break point yeah I did not prepare one because it's now a little bit late in the hour I think we need to keep a little bit focused on the time but you can debug everything by switching back to IntelliJ and and you see here the controller is still running the agent is still running so everything is under your control and it simplifies the development of such a complex infrastructure in Jenkins so basically everything I wanted to show so maybe we can have a little bit of focus on questions yeah there there's one question here from Martin a more general question which language do students use for plug-in development Java groovy the mixture we only use Java I'm not aware that anybody in the tank in the universe is using something different than Java because Java is just working and I think all plug-ins are using Java now now while you say Java there's a lot of JavaScript in the warnings next generation plug-in is that a complication for you how have you been able to deal with JavaScript and the Java world that the Jenkins involves I assume your students get involved in JavaScript also yes actually the user interface of the warnings plug-in the refreshment was made by a student and she created this in in her bachelor thesis and a lot of students are working on the front-end side in their companies where they are working besides the students besides and yeah I think it's still easy to add JavaScript on the individual pages of a plug-in it's a little bit more complicated if you want to show your new user interface in a page which is used by several plug-ins in tanks for instance the job view let's see so this view is totally under control of my plug-in so I'm using here bootstrap and I'm using e-charts and I'm using data tables here to use a different user interface as other plug-ins but when you get on the build page for instance this page yeah here it's a little bit more complicated and if you're getting to the top level view yeah now it's just one build though you see no trend charts but this page is subdivided by several plug-ins so it's a little bit more complicated to use JavaScript in here but in an ideal Jenkins world I would like to have these scripts I'm using in my plug-ins basically on top level of Jenkins so everybody can use bootstrap out of the box without configuring it a little bit strange currently I have one question about the VM yeah that you provide the students is that a hosted VM that they get to use or are they expected to have the hardware to be able to run that VM they have are expected to have the hardware on their own machines so we are using an Ansible script to create the virtual machine we are deploying the the image on our university cloud you know location and the students can get it from there but then they are they need to have a computer that runs virtual box or which yeah reamware or whatever what kind of specs do they need in order to be able to run this successfully run actually we use it it's just I think it's the I have four gigabyte of memory requirements for the virtual machine and one CPU and it is already working for them sometimes when they want to have UI tests with Jenkins and then we have Docker in Docker then it's getting complex and slow as you see on my machine today if you're running too many applications in parallel you need a new laptop now we we got a question in in chat related to is there a local versus server profile that you would consider for development when I see what you're doing it looks like you're doing what I think of a server profile anyway is there are there other things you might consider for cloud based agents or something or has has your development environment worked well even though many of your users are deploying to cloud or kubernetes environments actually both those parts I've never used yet even in my the other problem is that I'm now almost at 10 years in the university and I'm not in any business project anymore which is now using every different technology so actually I'm using it still in this old school let's say environment well but but have your you certainly have thousands of users of the warnings and g plug in there are thousands probably tens of thousands by now of users of that have you had cases where you've had to diagnose problems that were uniquely cloud centered or your environment has been able to let you diagnose any problem reports already okay yeah I think I can diagnose these projects with my setup but some problems just occur if they are in a cloud instance for instance the code coverage API transfers the source code from the agent to the controller which works quite well if you are have an agent which is right near your server instance and but if you are using it in a cloud instance it's really slow if you all transfer all your source code are highlighted but this is something yeah you actually don't need to have a setup to reproduce you can see the timings of the bug report and then you can think about it so my plugins are not so complicated that they need to use these complex setups thank you now do you envision that the setup you've got might be usable for someone who is beginning in google summer of code for instance maybe they're evaluating project ideas is this something that a relatively new person to the project could do or do they need to be one of your students in your classroom to in order to comprehend it well no this is I think this would be a quite an easy task for someone else for instance google summer of code so I think it's not really hard to understand what I've done here it's just a little a lot of work it was but now when it's now running you can just yeah it's kind of a search and replace you need to replace some modules and you need to make a maven module a maven multimodal but this is yeah not really complicated and now oh go ahead no sorry the only part which is a little bit more complex is the docker setup because it was a hard time to get it with the ports and the communication but that's working now you can inspect the controller on in intelligent as well the file content so yeah this is okay but the rest is I think simple so winding a little bit back to Darren's question one of the places we're considering is we're about to embark on the she code Africa contribute on and as part of that I'm worried that are if I told them hey you need to use this virtual machine is it going to be bigger than the machine that they've got available to host it so you said you run in a four dig virtual machine and that's enough yeah mostly yeah but um I always say to students it's it's better if you can run it on your own machine of course but then I'm it's it takes normally two weeks before it works on their own machine so it was easier for me to have this virtual machine which they are using in every other class so that's brilliant thank you thank you very much especially if you are using windows and docker you know it's hard it it's not always working as you wanted now wait a second those of us those of us who love windows that windows is my preferred platform I don't know what you're saying no sorry that's great well Uli thank you so much we're we're approaching our end time thank you thank you the recording that I'm looking forward to reviewing it again looking at your your docker definitions and you should expect change a poll request coming from me to think about how can I help contributors to things that I maintain use your technique several compliments to in the chat okay and if there are questions after the meeting I think we can use the community or the guitar channels how people would like to use great thank you Uli thank you Mark thanks so Mark thanks Darren and thank you everybody for joining us um we'll post the recording to the meet-up page shortly so thanks all and we'll see you next time bye bye


Earlier this year, the National Emergency Management Organization, or NEMO, facilitated training sessions for its new disaster management platform. Disaster Information Management System, or DIMS, is a digital platform that will be used by disaster management stakeholders. The training is now geared at administrators of the platform. This time it's the administrative training so that the persons being trained can assist NEMO with the maintenance of the DIMS. The previous sessions were for the people just using the system, but today the people being trained will be able to help administer the system. So to create user accounts, add user accounts, modify user accounts, configure the system to help it be tweaked as needed. The design of the platform was a collaborative effort of Imagine Solutions and Business Tech Research Incorporated. It's not just your regular system users, volunteers, various persons at NEMO who will be operating the system on a daily basis. This has to do more with the maintenance and the administration of the system on a technical level. So persons managing users, user groups, user permissions, metadata, the core data application, dealing with any bugs or any issues that may be faced by the system and how to record and to report those things to escalate them to higher levels for developers to look at. The platform streamlines NEMO's ability to deploy resources before, during and after a natural disaster. This efficiency will save countless lives in the future. This is Jack Hingson Compton of the Disaster Vulnerability Reduction Project.


Musa and his family had many animals. His parents sold their milk and markets. But for some years now, it has rained so sparsely, there is not enough water anymore. Almost all of the animals have died. Musa's parents can't provide their children with enough food anymore. In the hope of finding new sources of water and a new life, they left, walking hundreds of kilometers. Musa and his family are not the only ones moving in the context of climate change. The impact of climate change, such as drought, affect millions of people worldwide. Up to 216 million people could be internal climate migrants by 2050. However, this number can be reduced by 80% if we take concrete climate action now. Act to address climate migration. It takes all of us.