extrators and we are going to continue with our spreads video series and in a previous video in January we looked at spreads 101 we looked at verticals okay and we talked about how verticals basically took something like a long call which is infinitely profitable but that's not really ever the case of course but there is a big downside right there is a big risk and we talked about taking a trade like that and doing two things number one we want which is what we actually want is to reduce this risk right we don't want to risk a thousand dollars from the start we want to risk a little bit less and we can do that by selling a call which will eventually lower this risk from a thousand to maybe 500 and as a trade-off our potential which was infinite you know but never realizable is infinite it gets capped okay so there's a max to it so we won't make infinite profit we'll make a little bit less than infinite and then from there on it'll just go flat okay and what that P&L look like is this alright so we went down from a thousand to 700 okay so that's not that bad from a thousand to 700 so we're only risking 700 so 30% less and as a trade-off we get a cap in our infinite profit so instead of making infinite amount of money we're only gonna make $1,200 sounds good to me okay one of the big takeaways here is that this strategy allows us to play big names which are usually expensive and to play more importantly closer to in the money calls the closer to in the money the higher the delta the higher the delta the higher the probability the option will close in the money making you of course money so those higher delta options are obviously have a higher probability of ending up in the money but they are also more expensive so how do you deal with something like that well you take an expensive call such as this right look at how close the current price of 180 is to the 195 call that we're buying now that means that this is gonna be a very expensive call that's a thousand dollars so the way to reduce that risk is we take the vertical by selling a call right selling it after whatever this price is which is 205 so we still buy the 185 and we profit from the break even but only up to the 205 the sold strike okay but we're doing it with a lot less risk how much less 30% less all right so that was the beauty of verticals and keep in mind that verticals are directional okay just as singles they are directional and you can take a single and reduce its risk by 30% to 700 by making a wide vertical and as you tighten that vertical okay you actually get a lower entry you get a lower also profit but you get a lower entry okay so you can play with verticals but they're still very directional you still want that ticker to blow past that blow past that strike and you will make your money so okay that's great now what if we don't have a price target what if we're not exactly sure that this thing is going to blow past our strike right enter time spreads now time spreads are a little bit more neutral and if you tinker with them you can actually make them a little bit direction so when the market is choppy and it doesn't you know it's not necessarily bullish or bearish in any particular direction then that's the perfect time for time spreads like calendars and diagonals now what does that entail well when we look at verticals and single options or naked options we are relying on Delta to make the money for us Delta is how much the ticker moves the underlying security that is represented by that option if the ticker moves in a large direction whether up for calls or down for puts then Delta is what's going to make our options premium increase in value now if we're neutral then that means that Delta is off the table so who are the next two most likely candidates to play in an options contract like that well that's theta and Vega now where does that come in now theta obviously plays in with Delta as well theta is time right so how much your premium decays with time and as we have seen time decay is exponential the closer we get to expiry Vega is volatility okay so how sensitive is that option to the volatility in the market so there are a lot of market volatile events which obviously affect the price of an option okay so those are the two Greeks that we're going to be focusing on when we talk about time spreads okay so let's take a closer look at theta and Vega theta we saw in this chart before you know time decay starts out very slowly the farther you are from expiry and the closer you get to expiry the faster it decays and that's why you need bigger moves towards the end here if you're going to make a lot of money with these options you need smaller moves in this case if you're far from expiry but the problem is that you know if you buy options that are too far out that's more expensive that's why you'll see a lot of day traders dabble around around here you know five or three days to expiry or even zero days to expiry so but the higher quality trades are back here okay and that is also why spreads are so good for this because they're more expensive if they're higher quality okay so time is represented by theta or time decay is represented by theta volatility is represented by Vega and we know that there are a lot of events in the lifetime of an options contract all the way until it expires which can make that options price go up or down okay and those events represent what is what we call volatility okay there are things like upgrades and downgrades and inflation numbers and recession numbers and GDP or employment numbers which make traders nervous right and jittery and then all of a sudden they react and they usually overreact to these events and that is what causes volatility and volatility can also affect the price of an options contract okay so and keep in mind that the farther away from expiry you are the more of these events there are that can affect your options contract price alright so this is another before we get into the theory and the finally the example of time spread is this concept up here is is usually what most traders keep in mind because most traders buy options and that is well you buy low you sell high obviously okay so let's say that you're down here same as if you're buying the stock if you're buying a call you want to buy when that call is low and you buy it in at a hundred dollars and then it goes to 200 300 400 500 600 boom you sell high you made money okay buy low sell high that's the usual case or the more common case where when traders are looking at buying options whether it be buying calls if that ticker is going to the upside if you bought it at a hundred and the ticker goes up this way then you're gonna be able to sell it 600 puts work the other way okay you buy a put here at a hundred as it goes down you're gonna sell your put for 500 down here okay because puts increase in value as the ticker goes down and calls increase in value as the ticker goes up okay but in both cases your put is increasing in value your call is increasing in value both options are increasing in volume you're buying it low and you're selling it high that's how you make money everybody knows this this one is a little bit more counterintuitive and it has to do with shorts and all these you know fancy terms of shorting stocks which you can do but you can basically short options in this way and what you do is you sell high and you buy low because think about it it's the same thing when you're selling options what you want to do is you're up here you can buy a put and that put will increase in value as the ticker goes down or you could sell a call which up here look at this people who bought here at a hundred sold at 300 so this options contract up here this call is worth 300 you could buy it and expect this to go up or you could sell that options contract and expect it to go down if you sell it at 300 it's going to go down to 100 well if you already sold at 300 and you buy this at 100 then you're pro you're pocketing 200 bucks okay chronologically it's kind of weird because you sell first at 300 and then you buy at a hundred right but it doesn't matter you still bought at 100 so you can sell options right and be profitable if you sell high and buy low all right so what does all this have to do with time spreads well get this if you don't have a particular strike that you are expecting this stock to blow through then you're just expecting it to basically ping-pong right or pinball up and down up and down up and down up right until then it breaks through this is the perfect idea the perfect example of when when to use a time spread if you are a trader here at 190 for caterpillar and you are long-term bullish okay then you can buy a 220 even though it's at 190 right you can you can buy a 220 call but it's going to be expensive because caterpillar is an expensive stock and because you're going to buy it out long-term the longer the farther out you go the more expensive the call is going to be check your account your options chains right your option chains the further you go out in time the more expensive the options are so if you're going to buy them then it's going to cost you a lot of money so what do you do you want to buy that because that's the high quality high beta sorry high Delta 220 call okay it's very likely to be in the money because it's far out and because it's caterpillar and it's bullish and whatever but it's expensive it'll run you a thousand five thousand whatever many dollars well if you expect it to ping-pong you know from here to six months which is exactly what we did with caterpillar example well then guess what when this thing goes up right and it hits let's say the top of this channel you sell a call you sell it at a hundred and they expected to go back down and then you can buy that on that same call at 50 bucks so you pocket 50 okay and then you wait for this thing to go up when it hits that resistance again right you're still expecting it to chop sideways you sell another call this time it went higher so you might sell for 150 right and then it drops and it drops even lower so it drops maybe to zero right so you pocket 150 so now you have 150 plus the 50 you had before now you've pocketed 200 bucks right I expect this thing to go back up again you saw it 300 this thing dropped to 100 you pocket 200 now you've got 200 that's 200 that's 400 this does this again maybe you pocket another 300 that's 700 does it again maybe get another hundred that's 800 right and you've been basically rinsing and repeating okay every time it hits the top of your resistance whether it's a horizontal resistance or a dynamic uptrending resistance all right every time it hits the top of the channel the top of that trend line you sell a call against the one that you have out here selling calls selling options is dangerous unless you have a long call to go with it right it'll let you do that because if you have to if you get assigned on that sold call then you obviously have to deliver those shares where you well you can you can deliver them because you have an options contract that allows you to buy up here okay so that's the safety of diagonals of sorry of spreads but time spreads are even better because you can make money off of these little you know intermediary ups and downs and sell calls every time and make maybe 700 800 dollars and then by the time this thing hits you know it's it's wrap then you're gonna make 700 dollars you've already pocketed previously plus whatever you make up here or is if this thing doesn't you know ever break out of that channel then worst case scenario you have 700 plus here let's say that you lose 700 here then you break even you know but you're more than likely going to exit this trade before it eats away at your profits that you've already pocketed back here so that is exactly what time spreads do so let's look at some of the characteristics of each okay we're gonna compare the verticals we saw a previous month with the calendars and then we'll move into diagonals but calendars and diagonals are pretty much the same thing okay so verticals you buy an in the money expiration strike why because you're buying something that is high quality and you're offsetting it it's expensive and you're offsetting it by selling an out-of-the-money call and in the money the in the money call that you bought is expensive because it's high quality and the call that you sold is going to be out of the money which means it's delta is less which means it is less likely and less likely to end up in the money which is exactly what you want when you're selling an option okay and basically you sell it whenever you sell it as soon as possible whenever you make your profit you sell it you know you don't wait to expiry and then you leg into you can also leg into a vertical to lock in profit if a call that you had as I was already up 100% you can say oh you know what I'm gonna go ahead and sell a call against this that means that if this thing starts going down it starts going south then I'm gonna I'm gonna have a sold call to offset however much this ticker keeps going down a worst-case scenario when your sold call profits enough to offset what you've already made then your break even otherwise you can just let this thing ride so you can leg into it as a profit locking strategy and we'll cover an example of that in the future but basically that is how you put on a vertical how do you put on a calendar you you still buy that far dated which is the high quality expensive leg that you want or options contract that you want but you sell a near dated one out of again out of the money so that you can collect that premium and preferably keep the premium the difference is that in this case you want it to do you want that sold call to actually go to zero so as soon as that thing hits zero then you get rid of it otherwise you can just hold it if it's far enough from the strike price you can just hold it until it is 100% out of the money and then you go ahead and repeat that and that is the key once you're out of that short leg then you can just rinse and repeat okay so that is the the difference between the calendar and the vertical remember the vertical both of these have the same expiration date they just have different strike prices so expiration date arrives and you're automatically out of both of them in the calendar or diagonals in the time spreads because they have different times different expiration dates then you buy a very far dated high quality expensive in the money call or put you do with puts call and you sell these weekly calls against it and what you're going to be doing remember is when it hits the top you sell okay when it hits the top again you sell when it hits the top again you sell you sell you sell right and of course after you sell when it hits the bottom you buy back and you profit because you bought back lower you sell you buy it back down here you sell you buy it back here and then again down here and you keep going you sell and then you buy again down here and you can choose whenever you want to stop doing this whenever you think you've had enough money and in case you're thinking that this thing is about to take off or you have maybe you have earning seasons coming up and everything's looking positive or you have some good macroeconomic expectations and you're expecting this thing to rocket past that strike maybe here you know so then then you don't continue with this leg you just okay let's just leave it and then it'll rock it up once you sold once you bought back the call you sold up here then you let it run you don't sell another one you go okay and then you profit from your long call all right so that's the difference between the verticals and the calendars or diagonals which are the time spreads basically you're still buying that far out of the money sorry buying that far in the money high quality option and you're selling these out of the money near dated options just to let them go to zero so that you can collect that sold premium and then you just basically rinse and repeat all right so this is basically what if you could option strat just highly recommended to visualize these kinds of spread strategies this is the 180 call calendar okay and as you can see here the top one that is the June and the bottom one is the March okay so you're buying this 180 June which must be really expensive but you're selling the March call all right and the strikes are the same so this from June from March to June there's three months and basically three months times four weeks that's that's 12 weeks that you can rinse and repeat right you can go ahead and sell and then wait for it to go down and buy it at a lower price and then you profit it and then wait for it to go back up and then sell again and then do that 11 more times okay and the calendar profits only when you're it achieves maximum profit when you basically when you when your short call is at the peak here at whatever this the ticker price is wherever this peak is all right that's your zone or your area of maximum profit now that's very hard to hit if you go back to your verticals you'll see on a vertical it's a lot easier because you can profit all the way from here which was 192 all the way up to 200 you know 300 and you can still profit here okay so you can be off buy quite a lot and still be profitable in a vertical but with a calendar it's a lot riskier because look at this you know after a certain point below whatever this was which is must be the 180 right and this is the 160 anything from 160 and lower you lose and guess what anything above 210 and higher you also lose right you lose money so the thing is you want to make sure that you can rinse and repeat right many times so that you know even if you end up maybe here or here or here or there that you've done it enough times that you've built up this cushion of profits right so that's the calendar and you can make these a little bit more bullish so in this case we're moving it we're still on Boeing and remember that's trading at around 180 so it was trading at around 180 down here and here we basically we've done a calendar but the 195 is up here okay so this is the peak of maximum profit right and we are currently at this price at 180 so this is a calendar but it's a little bit bullish it has a little a little bit of direction okay we would expect this thing to move up closer towards the 195 as compared to this one where we are basically selling the 180 right as well as buying it because these are calendars they have the same strike price so in this case we would expect this to remain at 180 if we use our chart that we use for an example if it's trading at 180 and we sell a 180 calendar or diagonal okay if we sell a 180 time spread we are going to expect this thing to trade within a very narrow margin okay somewhere in here if we were to reach this this point in time here we would be losing a lot of money because guess what we're out of that 180 okay and then all of a sudden boom we're back up but then if we reach here then again we're not profitable we're losing money because we're out of that 180 okay that's this example here your short strike is at 180 if you move this short strike to the 195 as we did in this case well then that means that you're more than likely up here okay so this thing better end up closer to this area so that you can be profitable so that's the difference between a calendar that uses a little bit of direction okay your short strike is a little bit above the current price of 180 okay or if you are really expecting this thing to just chop around for a long time well then your short strike is the actual current price of the ticker okay or where you would expect this to chop so where would these you know where would something like this work well if you are expecting maybe a Fed announcement you know and everybody's unsure of where this thing is going to head then you know there's not enough bullish or bearish momentum in either direction and you can do a quick calendar you know and in and out in a few days three to five maybe seven days and this would just chop around right because there's no definite bias to the upside or to the downside and that's why a lot of these are played in earning season and you'll see traders play these close to the actual earnings okay because since the ticker is not expected to move a lot what is expected to happen is volatility to go up and why does that profit why does that benefit a calendar because when volatility goes up premiums go up and that means that a call calendar is going to go up in value especially if you have something like this this is ideal right for er you're here you're expecting this thing to move up as volatility goes up right and that is exactly when you would put on something like a call calendar okay so let's move on to diagonals diagonals are a little bit more directional okay and we're going to compare these really quickly um basically they're both volatility positive so they both increase with volatility as we have mentioned before and they're both um you know you're buying something that's far dated where there's more uncertainty which is why these are volatility positive okay so let's take a look at the PNL chart this is what that looks like okay so it's a little bit closer if you look at this a little bit closer to what the vertical spread chart looks like right and this is because we have uh switched our strikes and that should make sense to you because in a calendar i'm quickly going to jump back in a calendar in both cases the strikes are the same 180 180 bottom sold 195 195 bottom sold okay with a diagonal the strikes are different 165 195 well guess what that looks a lot like our vertical spread setup right 185 205 you're buying the 185 you're selling the 205 right that's the vertical if you go back to the diagonal you're buying the 165 you're selling the 195 okay so it should be similar what is the difference here well two main differences one of them is the expires are different from a vertical so you can do that whole rinse and repeat thing where it goes up you sell goes down you buy a back profit it goes up you sell goes down you buy back profit right you do that until until such time you feel comfortable enough that that strike is achievable and you let it go right and also because of the volatility okay these are these are so far out far dated you know this is june compared to them to the march sold options that they are volatility positive so there's a lot of events in between that can make these things jump up in value which is perfect for somebody obviously waiting to make money all right so that is the wrap up on calendars and diagonals uh this is uh these are the two you know charts that you could you should keep in mind when you're thinking about calendars and diagonals and again you should always uh uh time spreads keep in mind uh have different expires okay what they differ in the calendar and the diagonal is that the calendar has the same strike so it's a lot harder to hit so beware uh and the diagonal has different strikes so you can you know you can uh increase your zone of comfort if you will so that uh you know you don't have to stay glued to your screen every minute every hour every day you know you can come back in and check in on these every now and then and uh uh you'll surely make money even though it's not an infinite amount of money but it's still money all right so that is what I wanted to cover for time spreads if you guys have any questions drop them in the comments below don't forget to subscribe to our channel uh to get all the notifications of the latest videos and uh again DM me a lot of you have been DMing me about you know you want me to cover this topic the other topic go ahead and uh on my discord you could uh can touch on me my user is marcio cogo you can see that on the beginning of this video as well and you can DM me for whatever uh topics you want me to cover okay so I hope you enjoyed this video series on spreads and I'll leave a link here for the verticals um video which I mentioned earlier and uh I hope you guys really enjoy this and I'll see you next time have a great one


Hello everyone, welcome to another Narc survivor live video just here with Nala just checked in to my new apartment here and Yeah, in this video We're going to be talking about when karma catches up to the narcissist a lot of their actions Impact their environment They impact the people around them the boom bridges and It leaves them stuck isolated Because they try to destroy the very people who are trying to help them Those are the very people that they end up abandoning So they end up without a support network Because a lot of times they don't realize that the people they're surrounded by Are just as bad as they are Most of these narcissists are surrounded by other narcissists You may have been the only decent person in their lives But they may have been unaware of that at the time and they often run into other narcissists after you're gone They're running to other people who are just as bad as them People who manipulate them people who sell them a dream People who future fake, but you were never going to do anything like that to them You were always honest genuine and trustworthy You told them the true fracture on the start, but they win honest with you and there are other people That they're going to encounter Who aren't going to be so honest with them and this is when karma catches up to them when they run into other people Who are just like them because it's only a matter of time until that happens They got lucky with you They found someone good, but they took you for granted They didn't appreciate you and yet they say they have this magical thinking They're arrogant and audacious. They think they're the best thing since the blood since sliced bread so In their minds, it's gonna be so easy for them to forget about you and move on with someone else And that's when they fall right into that trap The trap that someone else has laid out for them when they discard a source And they're in the love-bombing phase with someone else That is when They are actually very gullible They're willing to believe anything Because things just went bad with you and everyone is looking at them and And They may be on their side, they may be blaming you as well, but now the narcissist knows they need to step up their game They need things to look better with the new person that they're with because otherwise if things go wrong again People are gonna be wondering what's happened They're gonna start questioning What's going on with the narcissist and why do they keep experiencing all these situations? And how can it not be them? People are gonna start wondering about that so they have to put on a good show for everyone They have to make it seem like they have moved on from you And all of these things were wrong with you But now they finally found this perfect perfect person Who is everything that they want them to be and just that narrative and no alone is enough to set them up for failure It's enough to destroy them in the end Because now even if they do run into a narcissist Someone who is abusing them. They can't even do anything about it. They can't tell anyone Because then it's gonna look bad on them and maybe people won't even believe them People may be thinking that if it's happening again There must be something wrong with them Because how come they're saying everyone they run into Is a narcissist or they're doing something to them? Because that's usually how they like to play it. They like to play the victim and they start to learn about this information so They're calling other people narcissists now And they may have said that to you They may have said that you were the narcissist.  This is how Karma catches up to them Perfectly sets them up in the games All of these things that they said about you all of these things that they did It comes back to get them because when you're just going around destroying everything destroying good people who are genuinely there for you and You act like the person who is trying to help you as the problem And there's nothing wrong with you and you can move on and find someone better When you're creating these narratives Things can only go wrong in the end It's not gonna turn out well for them, but they don't see that because they have this magical thinking They think they can do anything be anything Or maybe they think they could just run off and trick someone else just as they tricked you Without knowing that not everyone is gonna be as good and as nice as you are Not everyone will react the same way other people Might have a short fuse They might get fed up very easily with the narcissist and They might do something That they will later regret They might do something really bad and The narcissist is gonna be on the receiving end of that Something to think about Because there are so many ways that karma can catch up to them. They always get it in the end Yeah, I'm just relaxing today And the new apartment here got Nala with me and Just been doing a lot of exploring and explore some parks and temples tomorrow in the area If the weather is good, let's try out the smart home system here. Hey, Google. It's the weather good tomorrow Tomorrow in Pedder, there will be scattered thunderstorms with a high of 32 and a low of 23 Okay, that doesn't sound so good thunderstorms But we do get spots of sunshine around here as well So if there is a bit of sunshine tomorrow, I will be out of the parks and temples and Hopefully I Will find some time to do a video then as well Nice peaceful view like here. Maybe I'll do a video here tomorrow What park or temple I really want to put some more Live videos out there. I think they're really helpful for people. I'm noticing a lot of likes and comments And I appreciate all of the support from you. So, yeah, if this video has been helpful for you Please give it a thumbs up down below Let's me know that you enjoy the video and It helps the YouTube algorithm as well Supports our community So, please give it a thumbs up down below 74 live viewers Only 26 thumbs up at the moment and share this video Share your thoughts on the comment section If you'd like to book a one-on-one with me, you can do that for the work through the website it's not survivor dot could at UK and Check out my Instagram as well. It's not survivor YouTube. All right, that's all for today Thank you all for joining me. I hope this video helped and I Will talk to you in another one very soon. You all have a great day


pipeline happens in a stage. There's nothing running outside of stages. This will work better with visualization including the existing stage view plugin and the in beta for a little bit longer blue ocean UI for Jenkins. It's easier to look at any declarative pipeline and understand what it's doing than it is with a structured pipeline. Just as looking at any kind of configuration file is easier than looking at an arbitrary bash script because that's following certain rules it's more like configuration. The structure also enables round tripping with the visual editor which has got a beta coming out on Monday more detail on that later and the whole thing has been built with with and for blue ocean visualization so we've got markings in blue ocean for stages that are skipped due to a failure in an earlier stage for stages that are skipped because you can decided to conditionally not execute it so we've got a predictable execution model and better visualization of that execution model. Now the error reporting which is one of the things I have had the most fun working on. One of the biggest frustrations I've had with pipeline is running an hour long build and then discovering 55 minutes into it that I have a typo in a variable name or a parameter name and the whole thing barfs out. There's no way for me to know ahead of time without executing it whether I actually have the right syntax have the right parameter types etc. Declareative does syntax and validation checking before actually executing the build so the very very beginning of the build it goes through make sure the syntax looks right make sure that we've got the right types on all of our steps make sure that we're not doing something completely insane and errors out at that time at the very very beginning of the build with errors that are reported as compilation errors pointing to exactly where the error was telling you what the error was giving you suggestions for what you might have meant if you had a typo in a parameter name or something like that and through this we're able to eliminate many of the potentially confusing stack traces that pipeline can give you when things go wrong not all of them there are still some that can sneak through but I think a lot of the most commonly encountered and mystifying stack traces now instead will give you a clear error message about what's wrong in their definition of your pipeline rather than again waiting until the end of the build and saying oh yeah something went wrong and yeah we validate syntax we make sure we've got required configuration we make sure step parameter types match up and more so an important thing to touch on with the clarity of pipeline is is what this means for scripted pipeline in practice it doesn't mean anything both still exist declarative pipeline is very much built on top of scripted pipeline it's not a separate thing it's a new syntax for pipeline and we're now calling traditional pipeline scripted pipeline so that you can distinguish between the two and understand their roles the visualizations like blue ocean and stage view don't see any difference between a run of a declarative pipeline versus a run of a scripted pipeline because they're all still just generating stages and running steps within stages so it's not not a different thing it's still the same execution engine it's a different way to use that execution engine and scripted pipeline is still used inside declarative pipeline all of your step invocations you're still using those there's still escape patches where you can use a more the full set of scripted pipeline syntax without validation and you can always copy the by your steps and contents from a declarative stage into a scripted pipeline and they'll work just fine it's a subset of the scripted pipeline syntax so declarative isn't meant to cover absolutely every use case that scripted pipeline does it's meant to cover a lot of them the ones that are fairly standard that are fairly predictable fairly consistent and when you need to go beyond that when you've got more complex logic or you just can't quite fit it in declarative that's when you move on to scripted so why did we write declarative pipelines so first of all we've got the reasons why we think everyone should be using pipeline it's the future of Jenkins it's also the present of Jenkins now pipeline gives you durability so that your builds can continue despite a master restart or a disconnect between the agent and the master gives you pipeline is code the Jenkins file the ability to have your Jenkins build definition checked into source control versioned in source control alongside the rest of your code pipeline has a much more modern back-end implementation in the Jenkins internals than the traditional freestyle builds do which gives us a lot more potential for improvements and optimizations going forward and pipeline is more powerful and it's more flexible than traditional Jenkins jobs there was a great blog post that just went up last week I think on conditional build steps and how you can replace those in pipeline without jumping through quite the same weird hoops to put conditionality in a traditional Jenkins freestyle job so the way we see declared the reasons for declare is we want to have benefits for both new users of pipeline and existing users of pipeline we're going to touch on the new user reasons first and I think these don't just apply to new users but to they're particularly relevant there declarative has a lower barrier of entry than scripted pipelines it's not just throwing you at a blank text editor and saying here write a groovy script to run my build it has a sorry okay it has a predictable well-defined and documented syntax they can tell you what you need to do how to do it etc and as I mentioned there's the upcoming UI editor so that you'll be able to actually go to Jenkins write your job through the editor it'll save down into a Jenkins file and round trip etc so that you can get started without having to even touch the Jenkins file by hand we're not quite there yet with the editor but we will be soon declarative is more human readable again I said that it's more of a configuration field than a script feel and while not saying configuration files are necessarily easy to read they tend to be easier to read than scripts declarative does not require groovy specific expertise now I don't think that pipe that scripted pipeline necessarily requires a lot of groovy specific expertise either but it can feel that way and when you get into more complicated things it can be that way so we wanted to make sure people didn't get intimidated by having to think they really need to learn a new language or write scripts and something they're not comfortable with just to run their build so we think that declarative is a better experience for someone who's just getting started with pipelines and for someone who's not not writing a ton of them or it's just part of their job and well we hope that people will find that to be the case now while declarative is in large part directed at the kind of newer or more casual users we do think it will be really useful for the more advanced or existing users since declarative is using the same engine as scripted your existing investments in shared libraries and the like still apply there's not a case where you have to start over and learn a completely new thing you don't have to throw out all the work you've done just to switch over to using declarative and by expanding the usage and usability we're putting less burden on the Jenkins domain experts in a shop it's not like we want to make it so that you don't end up having to have one or two people who are the people who know how to write Jenkins jobs and it's so everybody else has to go through them to write a Jenkins job so it should hopefully lower the burden on the experts and empower everybody else more again since we're moving to this more configuration syntax we think that that's going to make collaboration and code review easier one thing the the error reporting I mentioned doesn't just work at the isn't just available at the beginning of the build there's also a CLI command and more to come to run that linting or validation against a Jenkins file without even having to run a build so you can get a faster feedback loop on whether you've actually written a valid Jenkins file and we also think there's a real value in separation of the Jenkins infrastructure related configuration like what are my agent names like what tools do I need installed from the step execution so that you don't have the configuration interwoven with the build steps so that you can more easily see oh this is the stuff that I need change when I'm copying it over to a new master or I can go as an admin go change the you know label everywhere but I don't have to worry about oh but somewhere deep in the steps of this one build maybe they do something different with it we think that that separation is going to lead to easier maintainability and easier scaling so now let's do a walkthrough of the syntax hold on one sec you to make sure my presenter notes show up you can't read this so we're gonna move on just an example of scripted pipeline and declarative pipeline don't worry there's a lot better visualization later I just wanted to keep this so I could make a point that it's not necessarily the case that declarative is going to be shorter for all of the pipelines in terms of text you know the scripted pipeline is shorter than the declarative pipeline declarative pipeline is a little verbose at times because we believe that the verbosity provides more information makes it easier to understand and use and thought that was that the problem is not necessarily that the pipeline could get too long it's that the pipeline could get too confusing so now we'll actually start looking at the syntax I will find some way to get links to the examples I've got here but for now so the first thing that's relevant is that right there the pipeline block everything in declarative goes within a pipe a block called pipeline and if it's not in there declarative doesn't care about it so we've got our own syntax within that that's not executed exactly the same way as scripted pipeline then the first thing we've got after that is declaring the agent that our job is going to run on and here we're saying that we want to run on in a Docker container we give the image name and declarative will automatically say okay they didn't say what label they want to run on they can run anywhere and you can specify the label but you don't have to and it will fetch the container image it will run the container and it will run the rest of the build within that container so it's a simpler way to be able to specify the configuration for your agents and can be overridden per stage not just at the top level there's other options for agent besides just Docker obviously there's label there's Docker file in which case it builds a Docker file from your repository and runs inside the resulting container and there's also some magic shortcuts for saying don't run on any agent for some weird edge cases or run on any agent but in general I think that you'll figure that out and plus we got docs options contains a few different things at the back end but we could think about it as four options for your pipeline that would apply across your entire pipeline so here we're setting the build discarded job property to make sure that after five you know when we run our sixth build the first build gets deleted etc and timeout here is the timeout step that wraps the entire build and if the build takes more than 30 minutes it will get killed and reported as having timed out so when we need to do things that are not just applying to a part of the build but for everything those show up in options parameters are traditional job parameters we've pulled them into their own section here so that it's a little more clearer than the way it is in scripted pipeline so string boolean param various things don't think we need to go into a lot of detail there the one thing worth noting is that in current versions of Jenkins from 217 onward there's a params variable in your scripted pipelines or declarative pipelines that will use the default value if you haven't already specified the parameters so you don't have to run the build once and then run it again to make sure it doesn't error out you still just get the default value on that first run but at least it doesn't error so that's something nice the next key part and probably I mean the bulk of declarative is stages you put all of your stages inside the stages block it's at least one and as many more as you want each stage takes a name and then it can take some configuration that will take a look at later and then a block of steps to execute and so each of these chunks of steps are executed in that stage they'll show up in the visualization in blue ocean so you can see how long that particular chunk took what the results were from that particular stage organization is a good thing having a better sense of the individual parts of your build is a good thing so we're enforcing that by requiring that everything be in a stage I mentioned that tri catch isn't needed to make sure you send an email at the end of the build that's another thing that really annoyed me about scripted pipeline is that if your build fails because of command fails or anything really unless you've wrapped that failure the section of code that could fail with a try catch or pipeline zone catch error step the build will just stop when it gets to the error and we'll never actually clean up afterwards or send an email to let you know it broke etc so we have the post section now post section actually is available both for the entire build and for individual stages it checks to see whether the current build status matches a condition so always meeting it always runs regardless of what the build status is and then we've also got success unstable failure there's also changed in case the build status is changed from the previous build and this is an extension point so we can add more conditions going forward so no matter what when the build ends we're going to gather the J unit tests and J test results and report on them if the build successful will get an email saying hey the build succeeded unstable will be notified there's test failures failure that there's build failures now this is a fairly simplistic example but here where we've attached this just to the specific stage so we're going to get these emails based on the results of this one stage not necessarily the whole build so you may not be wanting to necessarily send emails at the result of one stage but you may want to again check for you know archive unit test results even if the build failed like on a fine bugs check that comes after the unit test run or something like that you may need to do cleanup if you're running a more complicated integration test or something like that where you want to make sure the machine gets back into a pristine state before you run the next build now we have another stage here that has the when condition when is evaluated to determine whether we're going to execute the stage the example I have here is using one of the built-in conditions we're adding more there as well the built-in condition here is branch if the branch that we're on currently matches the pattern that we've given it in this case master then we're going to publish our artifacts to s3 if we're on a pull request branch or a feature branch or something like that well we're not deploying it we're not going live with it so we're not going to publish to s3 so we've got that conditionality that in what I think is an easier way than we've had previously there's also one that looks condition that looks to see whether an environment variable is set to a specific value and one that allows you to write a pipeline expression that should return a boolean ideally so you can do more complicated logic for your when checked you know is is it noon you know is it afternoon or is it morning for some reason you might actually care about that and then here we've got a step in vocation using the kind of ugly metastep syntax I just wanted to show that that actually can be done that you're not just limited to the more aesthetically pleasing in simple steps the legacy older steps that haven't updated to have the better syntax throughout all of pipeline can still be used within declarative now we've got our final stage which also is only running when we're on master and in this case we're using something that's coming from a shared library to show there is no actual step called with tower that somebody somebody wrote for an example and but it's still if you've got your shared libraries and you've got them available you can use them within the steps in declarative justice you can inscripted they work just fine the validation still can be used to some extent and you can nest state steps when you've got block scope steps that say okay everything within this block runs with access to tower with the credentials for tower and now the next example so here we're just using a label we're just saying run on any agent that has the Docker agents label on it we're taking advantage of a nifty trick with the environment section where you can set environment variables that will be available throughout the build what we're doing here is using a special function that's available in declarative to take the ID of credentials that you've configured in Jenkins and automatically put them into an environment variable that you can then use later on so this is a shortcut to make sure you don't have to jump through as many hoops using the with credentials step to make those environment variables populated so you can actually have access to your credentials throughout the build another section we've got here or directive we've got here is the tools directive this if you've used maven or JDK's or npm or a number of other tools in Jenkins you may have encountered that they can auto install on to if you've configured them on the master you can auto install them on the agents you don't have to make sure they're already installed etc and what we have here is a nice simple syntax for making sure that those tools get installed on to the agent before we run saying give me a maven tool with this configured version give me a JDK tool with this configured version the important thing to note here is that the tools syntax the tools directive and tools installer doesn't actually work on Docker containers I'm working on that that's a limitation in pipeline in general and I am working on that but if you're running on just straight agents this will work for you out of the box yeah this one's just a simple stage but I wanted to have an example that actually seemed kind of realistic so I wanted to make sure that I was actually running steps and here we're running two steps you can run as many steps as you want I have a tendency to have my examples tend to be just one step so I wanted to make sure that I showed yes you can do more than one step I know that may have been obvious but I was afraid it wouldn't be next step tests so here we're showing per stage configuration and specifically per stage configuration of agent so our first step that ran make clean and make package and generated our build artifacts was running on just the agent load and now we want to run tests but we want to run those inside a Docker container so we've specified the image that we're gonna build in and we specified reuse node true what that means is that the this stage is agent will run on the same agent that the previous stage ran on will have access to the workspace and the checkout and the artifacts we already built so we don't have to worry about copying them around etc everything's already available so that we would then run our you know shell step to actually do the deploy using that environment variable that we defined before with the credentials it's got access to the artifacts and has everything it needs to deploy without having to worry about stashing them between stages etc the reuse node field doesn't mean anything at the top level because there's no previous node to use but it's a handy trick for Docker and Docker file so that you don't have to check things out twice you don't have to build things twice you don't have to copy your artifacts around and so those are the two examples let's talk a little bit about the validation like I said this is my baby in this is my favorite part because I've gotten so annoyed at error reporting in declare in scripted pipelines and then the lack of easy visibility into what I did wrong because I do a lot wrong the first thing is as I said it always happens at the beginning of a pipeline build when you're declared a pipeline build starts it compiles and validates and make sure that your syntax is actually right and not just in the sense that the groovy script can compile because getting a groovy of a compilable groovy script is not very hard you can have very broken groovy that can still compile but once we're in that phase we're supposed to start doing the validation we look to see okay if you've got did you have a stage because if you don't have a stage what's the point we're gonna error out on you did you supply an agent name an agent type that that's actually existing and it's available on this master because if you try to do agent banana there's no agent implementation for banana it doesn't know what that is it should tell you that ahead of time and say well did you mean one of these and it will it'll do the same thing for parameters if you give it a an agent the wrong parameter if you give a step the wrong parameter that doesn't exist or you have the wrong type it's gonna tell you that so that you can know ahead of time oh right that's what I need to go fix and the errors point to the problem areas with line and column number with what I hope is a useful and internationalized though not yet localized error message hopefully with suggestions to point you in the right direction so my apologies for this text size but you know so here I got an error saying invalidate parameter you and did you mean unit because I did the timeout step and I got time right that's that's an existing thing 15 is the right type you and minutes wait no you unit okay so it's telling me what I did wrong where I did wrong and giving me an idea of how to make it right next year I'm calling the sleep step but instead of giving it a number I'm giving it a string and that's not a valid parameter type you can't really tell something to sleep for quote 10 minutes on quote and so it's telling me that it was expecting an it but it got 10 minutes so you might want to change that and what I've got an empty stage that doesn't have any steps in it it's reporting that there's nothing to execute within that stage and saying that's that doesn't fit into the syntax that's not allowed you've got to actually have something to do in a stage and so it's giving me a useful error message pointing at what went wrong giving me the line and column information same as you get from a compilation error I think that's really useful now you can do this linting without actually having to run the build the way that I recommend is using the Jenkins SSH CLI in which case you need your Jenkins administrator to open an SSH port need to make sure you have creds but that's we'll ignore that for the moment you SSH into the master call the declare declarative linter command and pipe in the Jenkins file and it will give you the same results the same messaging that you got when you run it in your build again it'll tell you if it's successful it'll tell you if it failed and if it failed it'll tell you where it failed and why it failed you can also do that via the REST API with curl the curl command is a little ugly because I made sure we're actually using Jenkins crumbs because you're you really should have crumb protection enabled so on your master it's a good security tip and we've got plans for I'm sorry yes the question was whether you could validate scripted pipelines using this as well no that's we would still like to eventually be able to do validation and linting for scripted pipelines but it's a lot harder problem than doing it for declarative that's part of why we wrote declarative is giving it with this this structure and the predictability we can we don't have to worry about things like oh what type is that well what you know that that random class what is that etc we actually know what all the possibilities are and can better analyze what could go wrong but so from for the foreseeable future no we will not have validation of scripted pipelines we do have plans to have a more flexible offline validator that doesn't require you to SSH and to Jenkins to do it that's not around yet but that is on our roadmap as well as GDSL for IntelliJ and other things to make the development and testing of your pipelines of your declarative pipelines easier we'll see where that goes and like I've said this is just 1.0 so it's we'll see where we end up taking things further I just want to mainly focus on what we've already got for you who here's her to Blue Ocean if you haven't you should check it out it's like pretty especially by Jenkins standards I mean by Jenkins standards it's gorgeous I say this is somebody who loves the traditional Jenkins UI because I've lived in it for nine years but so I'm not going to talk that much about Blue Ocean here because I am not a UI person but I did want to just mention a couple things that are declarative specific in Blue Ocean or related to declarative in Blue Ocean that we've got some special smarts on both sides for optimized visualization such as operations inside declarative like the SCM checkout like Docker image prep or building the contain the image for the container post-build actions things that are not specified inside your actual stages block but that still actually take time in your build they get marked with special behind-the-scenes synthetic stages so that declared so that Blue Ocean knows it doesn't have to put those in the main UI because you're not really as long as those don't fail you're not really concerned with seeing that in your visualization that's just the cost of doing business you know that there's going to be a little time for your checkout there's going to be a little time for your Docker image prep et cetera you don't need to have your your graph of stages necessarily include those and as I also mentioned that we've got special marking of stages that have been skipped due to either an unsatisfied when condition or a failure in an earlier stage so that those will show up differently in Blue Ocean so that you'll be able to see okay yeah this stage didn't run because there was a when condition that was not met so it'll be I think it's gray but don't quote me but so you won't have you'll you every single build you run will show in Blue Ocean will show every stage that's in the execution model even if they didn't run that time so that even if the build failed on the first stage it'll still mark that the second third and fourth stages existed it just they wouldn't have done anything and they'll be displayed in a special way so you can see that they were just skipped now just a little teaser on the editor like I said the editor will go into beta on Monday it's still not not quite done it doesn't yet do the round tripping being able to read a Jenkins file from your get repo and then write the changed Jenkins file to the get repo that's in the works it will happen before it goes one out but I wanted to show you a little bit of what the UI looks like pretty again it's it's like it's like a visual editor it's so you can specify your stages you can specify parallel execution by clicking that plus there and then you can see here we've gotten our test stage that we're executing both on Chrome and on Firefox and also on Internet Explorer and then we get our deploy stage there so that's just the basic graph that you end up getting it looks a lot okay almost identical to what you see for the the run visualization in Blue Ocean not a surprise it's part of the Blue Ocean UI theme now here we're specifying a shell script to run a shell step to run inside the Chrome parallel chunk so it's just standard put in some shell it will run and it is able to do the validation in real time so that when we use print messaging an echo and we don't require put in a parameter for it it's saying wait no that's that's not valid you need a parameter you can't run that without a parameter and it's giving you that validation right away through the editor without having to even wait to run a linting against it or run it in Jenkins which we think is going to be really handy so that especially for when you're getting started but also I still use the freestyle editor just like I just need to do something quick bam bam bam okay right it works and again it's we've been designing declarative with the editor in mind since day zero we've made sure that conversion between the the syntax that the is internal to the editor and the syntax that it actually runs in Jenkins that that conversion is seamless we've got innumerable tests making sure of that we've made sure the data model makes sense for the editor it's it's we very very much want to make sure the editor is a good usable tool for you with the clarity pipelines and that it can help well kill freestyle because I with the with the editor I personally feel that we're getting to the point where freestyle doesn't offer anything that you can't do better in pipelines either in declarative for most cases inscripted for the more complicated cases now I'm sure I'm wrong I'm sure there are things I'm missing but we'll get those two and so yeah Monday the beta comes out not sure how long it'll take to get to 1.0 but I expect it will be this spring and we're looking forward to you giving it a try and giving feedback and seeing what's horrible and what's wonderful so what is the 1.0 release I just want to wrap up with that since you know that's why I'm here 1.0 came out on Wednesday of last week it's in the update center we will be very very very careful not to make any breaking backwards compatibility changes if we do that's a bug and we will undo it but I think our tests are comprehensive enough that that's not going to happen by accident and I won't merge anything that does that either it's important to note that declarative does require Jenkins 271 or later it's the first LTS line of Jenkins 2 Blue Ocean has the same requirement who here's running Jenkins 2 and who here's running Jenkins 1x it's a good time to upgrade to say that I'm not be I'm not entirely being facetious a little but not entirely I think the two said the Jenkins 2 line is beyond mature at this point I think it's worth the upgrade I think that the improvements that it has over the 1x line for usability and UI are worth it and if you want new stuff you kind of got to go to so there are blog posts coming up and one already up on Jenkins.io they introducing declarative they'll be more detailed blog posts on some specific aspects like the syntax checking or the Docker integration this talk obviously is part of the 1.0 launch we're doing a Jenkins online meetup on Wednesday February 15th talking in more detail about declarative with more information more more deeper demo dives and some talk about the editor as well and there is by I think most open source standards and especially by Jenkins standards an immense amount of documentation up on Jenkins.io thank you Tyler and we it's now when you go to the pipeline documentation what when you go to the pipeline documentation on Jenkins.io it starts showing you declarative you can switch over to see the scripted but our plan going forward is that the default way you start is with declarative and so we want to make sure it's documented it's accessible it's understandable and if you find flaws in the documentation the things that could be improved pull requests are very much welcome as our bug reports see if you don't actually want to fix the docs yourself so resources like I said the main one is Jenkins.io slash doc that's the canonical place the definitive place the right place to go to find documentation on declarative and on scripted pipelines and pretty much anything else that Tyler actually gets around to writing about Jenkins I think that Tyler and his team have done an amazing job with the Jenkins.io docs and I think it's it's something we're proud of and that I think is really useful so don't be afraid to give it a look amusingly the examples actually pull requests actually didn't land yet so we'll work on that but I think that there's enough examples in the documentation that you'll be okay for now and if you really are curious you can find the source for the plug-in on github and pipeline model definition plug-in don't ask about the name you never have to think about that if you're on Jenkins 2.7.1 or later if you just update the pipeline aggregator that pulls in all the other plugins this gets pulled in with it so you don't have to jump through hoops to install it but in case you wanted to see the source I always feel the need to link it and we have reference cards as anybody already picked up a reference card from the Jenkins booth all right well I've got some more up here and they're also available online and we're pretty happy with them and yeah printed material and that's pretty much it so let's we got about four minutes for questions so does anybody have any questions yes the question was do we have plans to support stages in parallel so right now you can use parallel but it doesn't but then you have to specify your nodes etc within that it's it's it's it's ugly it's a little awkward so the answer to your question is yes I have a pending post 1.0 work in progress pull request doing exactly that to give you the ability to say here's a bunch of stages to run in parallel we're still working on exactly what the syntax will be exactly how the execution works but parallel stage execution will be in within the next six weeks or so would be my guess we consider that a requirement there are some things that Blue Ocean needs to do for better visualization of that so I need to bug them but that is we consider that a requirement we wanted to have that for 1.0 but we wanted to make sure that we focused on getting what we had really solid before adding that feature but it will be there soon I promise yes so the question was can one stage declare what is going to run which stage is going to run next and what steps are going to run in that stage so the the stage execution order is the Lexcorder it's the order that it specified in the Jenkins file I have played around with being able to say this stage can't run until these other stages are done or this stage when this stage finishes this other stage kicks off but I'm not sure if I'm going to be able to find a good syntax for that that actually makes sense that so for now the the it's just what's next in line but we'll see that's an area I'm definitely interested in to create more of an execution dependency graph but I need to figure out what the right way to do that is and if I can't find the right way I'm not going to do it we're not going to it's important it's really important to us that declarative continue to make sense and provide the both simplicity and power so if we have to make a compromise between full power and full understandability and usability in declarative we're going to go with usability because you can always switch to using a scripted pipeline when you need more power yes is there any way to enforce declarative right now no there are some ideas I would expect that if there they could be something from cloud bees that would require that but right now there is not a way to enforce requiring declarative for everything yes yes yeah the question was whether there's a way to get some of the power of full scripted pipeline without having to completely leave declarative pipeline there's a special step that's available called script it's just a script curly brace steps and if it's inside anything that's inside that script block doesn't go through validation so we're not checking it to make sure it fits the subset of the syntax we allow we're not making sure that the step parameters are valid we're allowing you to do if else for etc things that we don't allow you to do


What's going on everyone Sam here with Leighton sports guards, and I am ripping one box of 2020 2022 leave best of sports for Dylan P. Good luck here Dylan. See what we can get out of this for you, buddy These have been on literal fires night 2003 upper deck redemption special LeBron James rookie PSA 9 This stuff is nuts dude $280 a box Like I've seen so little people lose money on it. It's crazy. Yeah, like I've never even seen this card before That's so cool. Oh, dude. This stuff just hits so hard Let's go congrats Dylan That'll do it for your break buddy. We will get it right out to you. Thanks so much, man. Holy


Sometimes it gets pretty busy like we have receipts like all over the table hung up as well like it gets really stressful Fangcha, located on one of the busiest streets in Berkeley to get food, is not only a successful family-run business but operated by mainly students of UC Berkeley Basically everyone's a student or like has been a student so we're all in school. It does make it like really nice like asking for a cover Like please cover me. I have a midterm because we all understand and like it's nice because like we're pretty close We can like study together and stuff like that. So it's like a good it's nice that like I work with a lot of students as well Being a Berkeley student is a full-time job But to also have another job on top of that shows the amazing work ethic many Berkeley students have I thought to know Heia who shared her story about working at Fangcha and balancing student life work Like having a job like courses need to organize like accordingly Like if I know I have like a five or six hour shift Like I know I have to study before like stay on top of things But it does get a little overwhelming sometimes just have to like remember I was a student before my job and I feel like still I it's been like the same amount of time that I've been spending on school It's just like spent at different times In addition to having a job working on one of the busiest streets in Berkeley has its challenges Honestly, I think probably once a week there's like some crazy story, but it's just like usual Durant random activities Like I don't know be close pretty late so that you can always get pretty hectic When walking on Durant you may just miss it hidden in the usual Durant chaos is the sweet loving community Fangcha cultivates for its customers and workers I'm sure you can you just know that like the shop is in good hands. Like it's taken care by the people that Like own the business. I think it's like so awesome. And like a lot of times they like cook for us Unbusy shifts like don't make us wrong and like in the winter. So it's like it's just nice that I feel like a lot of their Family as well, even though it's like they definitely have a lot more stakes in like the business But they're still like treat us as family As the normal customer only sees the encounter or receiving their boba They usually don't see the family energy invites behind that counter As a normal Berkeley student takes on 15 units of schooling around 45 hours of education Being a student who has a job is tough, but it also provides a unique perspective others do not get Next time you buy food or drinks from any shop on Durant Remember that those are students like you working there alongside these family run businesses It is the students and families that allow Berkeley to thrive and grow Reporting for Cal TV. I'm Shaila Sampor


This programme contains strong language and sexual references throughout. Katie, the villa is overcrowded, someone at the beach must leave before the next ex washes up.  You have the choice of Alicia, Bailey or Josiah. Katie, go and deliver the news and you will replace that person on the sun loungers to await the next ex.   I am loving this. George poor fellow, slightly shitting himself.  Mate, I can't even look at this. I can't do this.  I'm so sorry about this, but I've got to send someone home. What?  This girl is staring me out. I've decided to send you home. Third one.   I love Alicia, I think she's great and Bailey is obviously my mate now. So Josiah's got to go. She's at the bed. Love you Josiah. Love you. Love you. He's looking so fit, thank you for sending him in. Jack is back and I'm taking over. Last time I came out at sea for Harriet. How you doing? Good babe. I sacked her off and pulled the fittest bird in the villa. So what's your type then? Oh, dark, ill basically. When I get into that villa, I'm going for the fittest girl. And if she's with someone, then I'm just gonna do this still. Are you getting on? Yeah, I'm right, yeah. Is it? Me and George have been cracking on and Katie knows you from outside. I know George. You and George, you just get along or not? There's no way there's a threat to me, that's sweet.  I know Jack does love a lovely blonde. I do want to set him up with Bailey, just the fittest girl. Welcome to the beach, Jack. Your new search for love is about to begin. You're off to get oiled up and hands on with Bailey. Oh my God, it's so bad. Bye Hans, enjoying it? Yeah, good luck. Love you, Bay. Oh! What do you think? So I'm going on this date with Bailey. She's meant to be cracking on the George in the villa.  So, Jackson's new arrival. We're gonna play a little game. Gonna put his blindfold on. And every bird in here has got to give you a kiss. You've got to decide whatever girl is the best kisser. Bobby's probably still got a bit of jealousy there.  All right, girls, get up, random order. Let's go. Number one. I'm a little bit nervous. Come on, Bobby, go for it, lad. There was a little bat going on there. I can have an it off this car.  I've had other days put it that way. Fuck, honey, this is so rad. Oh!  Who gave you the best kiss? I would say... Number one.  So, Dominique, I must have been putting the work in. Putting it that way.


How's it going guys my name's DPJ and if you enjoyed the video leaving a like really helps out and if you like what you see and want to see more outriders on a daily basis be sure to subscribe. Okay so playing for close to 20 hours I still haven't had any legendary items drop but there comes a stage for a battle you are guaranteed a legendary drop. A one-time drop as far as I'm aware. No matter the world tier you are on either. I did this on a world tier 7, my pal did it on a world tier 6 and I had someone else do on a world tier 10. Each one of us got a legendary item. So you get this legendary from a boss called Chrysoloid I believe that's pronounced who I will state isn't the hardest boss at all but at the same time I've been doing what I've showcased via the guides on my channel to maximise gear to make bosses like this a lot easier. If you need that kind of help my video guide you'll find links down below. Okay so guys you will eventually get to a place called Faust Enclave which is the 7th chapter in story point. So for some it might take a while to get here but once you do you have no choice but to fight this boss called Chrysoloid who is quite a big fella. So this boss who I will quickly guide you through isn't too hard when it comes to understanding his mechanics and like I said it doesn't matter what world tier you are on so if you do struggle drop it down a world tier and you're guaranteed that legendary either way. Like I said though I will you I'll try and maximise this because it will be a high drop and if you want to maximise your gear you need to make sure it's at the same level of the enemies like I said check out a video I've linked down below. So within this boss I'd say a sniper and an AR would work best as a lot of range damage needed here to get the boss down and although the footage you are seeing now was my first run I wasn't sure on the mechanics at the time and I was using an SMG but since watching it back it's quite clear what to use and what the boss does. But I will state the boss has two phases and with the entire first phase you can basically cheese and hide within a rock and shoot it out of the rock which is on the right hand side of the arena. The rock blocks all of his attacks besides one the one where he slams his hand and when he's about to slam that hand simply move that away then go back into the rock and lay down that damage on the boss. There is an ammo crate by the way just to your right when facing the boss too so you should be alright there. The second phase I'd say is a little harder because there's no cheese spots but if you take your time with it you shouldn't have a problem. All you really have to do is pay attention to the markings on the floor in which his moves will land. Laying down that damage in between each of his moves and then wait for him to call for that back up.  Take these feet out and repeat the process of just laying down that damage avoiding the floor markers where he drops his abilities and you shouldn't really have a problem with it and you eventually guys you'll get this done and you do get a ton of loot from this dude. For me the legend though didn't actually drop on the floor and I noticed it a few minutes later it got added into my inventory. I got the torment and agony but the powers of mind who did this also were notified that they had drops which was cool but like I said if you don't get it to pop up check your inventory. But yeah guys do this for I guaranteed legendary gear piece and I hope you get something great. Again world tier doesn't really matter and if you're having problems with him if you find him a little difficult you can always drop that world tier down but it will affect the level in which your legendary drops at so just keep that in mind. But on that note guys ended the video has arrived if you enjoyed it leaving a like really helps out if you're new around here I want to see more outriders on a daily basis be sure to subscribe and hopefully people I will see you on that next one


So if there are so many advantages with simulations, are there any problems? Well, yes, there are. Actually, I wouldn't necessarily say that's limited to simulations, but many of the things we do both in this class and in experiments for that matter. Have you seen this image? René Maquitte, 1929, from an exhibition called The Treatury of Images. On one hand it's funny and it's deep depending on how you see it. You could argue that it's not a pipe, but it is a pipe. Well, Maquitte's argument here was he can't say that this is a pipe because you can't really stuff it. It's two-dimensional, not three-dimensional. It's just a picture of a pipe, and in your case it's electrons delivered over the internet to your screen. So the whole point is while we might think it's a pipe, this is kind of a model of a pipe. I can't turn it around, I can't look inside it, and I certainly can't stuff or smoke it.  This is a model of a protein. This particular model happens to be based on a simulation, but it's not that the simulation aspect is particularly problematic here. If you're determining an experimental structure, there are no experimental structure methods that will give you XY and Z coordinates that are based on either your or somebody else's model interpretation. It doesn't mean that the models are bad, but don't confuse your model with reality. You have to be aware that you're looking at a model, in particular when we have computers that render beautiful things. They're even moving and they have amazing colors, but this is just a set of XY and Z coordinates from a simulation that I have visualized and rendered for you, and it could be incorrect. So what are the things to think about? Well, we can compare them with experiments, which is quite instructive.