Almost time for the bell, how many options will you sell? Fire up your platform, get ready to enter But first let's get the mindset centered Let's then trade it, have success, find what works for you and forget the rest Stats and probabilities is what we're about Time to dismiss greed and doubt, focus on the process Not the money and the big honey, power our lives Start the show, come on trade hackers, get ready to go Zero day options, time to make bank Get locked and loaded, then be ready to plank What's up everyone, welcome to Power Hour Live Tuesday, January 23rd Hope all is well and zero DTE land S&P up 5, NASDAQ up 27 Russell down 3, Dow down 133 Gold and silver both green, notes and bonds lower, 10 year yield up 1% Oil off half percent Maddie gas up 1.5% Grains a little bit green, Euro and the pound a little bit red Bitcoin off 2.5% and the VIX down 3.5%, 12.74 Chad is here as well, yep So here's what I got going on, I see some questions already So I only had one contract left of my lunchtime number one My AM number two was stopped out the last three contracts So I just closed my one contract that I had left of lunchtime one At 2.90 just to get rid of it, nice big profit And to open up the strikes at the money so that I could do Power Hour With not having to worry about overlapping strikes So I got nothing on right now And we'll look at like the 48.60 straddle Yeah so premium is pretty low I'm not going to do my normal Power Hour I just put on a straddle 48.55 That's part of my NTT trunching So I'm just going to keep that And then I've got one from earlier Which is the 50.55 So this is my combined couple of positions on So I'm going to just ride with these And potentially put on one other during Power Hour But not trading my normal Power Hour tranches Premiums are just a little low Almost 7, I guess at the money 50.55s could be 7 bucks But it would go inverted So I'm just going to do a little A little discretionary trading So here is my bots for the day All winners Overnight Aaron Condor booked 14% My O2 double calendar Tiny winner My 1DTE Actually that one's still open My DKS at 40% Half my quiet lunch Got stopped out for a profit of about 10% The other half booked 40% My other quiet lunch booked 50% And then my 1DTE is currently at 40% And that will close out at 45% And then I've done four Of my NTT trades today First one booked 900 Hit 20% and then got stopped out for profit on the remaining My second one booked 2900 Got 20% and then stopped out For a big profit on the remaining piece Then I have the two remaining on One has hit 20% and one has not yet So good day so far, good day By the way, if you just started trading Whether it's backtest or the Chad style Or any type of 0DTE the last couple days These have been monster days So just don't scale up your position size Based on the last couple days because Price will move Yeah So I just got filled on my On that 4860 straddle at 635 So my OCO is 635 of 20% profit Remember the trailing stop is different Trailing stop never is above 4 for me So 510 is 20% profit Trailing stop 4 Yeah, I'll probably put on a 60 straddle If we push up a little bit more Actually, I'd like to see a little bit of a pullback Into the candle, we're kind of in a trending situation So I'm just going to hold off for this point We just broke through highs of day Range has been about 15 points all day Beautiful, beautiful 0DTE trading And I am hovering my P&L Right before we got in here is Basically $1,000 below my end of year So I am almost officially out of my drawdown Nice Amazing with a few good days in a row Literally, I think it was Tuesday Or Wednesday of last week I was at the peak of my drawdown I think my account was down 22% Almost back to even So I've got... I've done three trades today Which is a little lighter Normally it's 6 total But I guess I could maybe get two in In front of power But may not AM number one was a $2,292 $2,295 profit winner AM two was $1,475 And lunchtime won $2,195 So... By the way, Chad If you have anything you want to show on your screen Just feel free Let me know I can stop sharing And let you pull up Take over So barring a meltdown Today should be another green day for me SPX up to $4,860 I chickened out on my Netflix call I closed it I made like $200 I was like, ah, I just love it I'm about to get stopped out On one of my tranches That I've already reduced the stop on If I could go any higher I'd get stopped My 1DTE Covering around 40% Need another little Bit of decay for that one Sitting dead centered I thought you were a couple of K away yesterday, Elliot No Is that somebody else? A couple of percent Chris, is there a way to alter the bot number of tries? I didn't know there was a number of tries I thought it was just a window I have my window in minutes I used to have it at like 2 minutes And then I increased it to about 4 or 5 Because there's an issue with delayed data from TD one day But I didn't know there was a number of tries A tag Tag Mr. Go Big Orange in the trade steward channel After the maximum tries Yeah, I've not seen that Okay, Dick K says it's time So it must have tried during your window and not gotten filled What's your window? As far as time wise A couple minutes Yeah, I would expand that a little bit If there's a delay in TD's API Getting it to trade steward That's what I've experienced I widened my time to about I think I have my bots at like 4 or 5 minutes now Or you can keep it at 2 If you run into that Manually fire it With the launch now button My 50-55 position is still hanging on Push it to a new high That would get stopped out My 60 straddles Looking good There we go Get away from there Get away from that stop The other thing to remember As I was talking about If you've had a couple of good days and you're new Also keep in mind Yesterday and today There's absolutely no news No scheduled news So that always helps That's a lot of times when Monday is so good Not only do you get the ball Pump from over the weekend But there's usually no scheduled news on Mondays Today, Tuesday, there's no There's the Richmond Manufacturing Index But that's kind of a no A no-go for anything Tomorrow, 15 minutes after the market opens We have flash manufacturing And flash services PMI Which could do a little something But not big news Pre-market Thursday Advanced GDP and unemployment claims And then Friday pre-market Core PCE price index Fridays, I mean of anything That one will probably Move the markets more than anything But that's also pre-market Price coming back down to 57 Price is really Kind of right where it opened today Not far from it anyway Trade scout, are you on here? So I put your trade up here just to watch My concern with that is the In the last hour of the day Those 1DTE options aren't going to Decay enough But to make it worth it But I put it up here just to Just to watch it anyway Because one thing I was testing And looking at last week Was tronching with 1DTE Because my 1DTE strategy has Done really well But the problem is You gotta get it on early And so trying to tronch into 1DTE throughout the day If you're trying to put it on later in the day You just don't get enough decay To make it worth the risk in my opinion And so I'm just sticking with my Early entry 1DTE Because it's If I can get 40, 45% By the end of the day That's pretty good And it's typically Short strikes are typically Out at or outside the expected move So we'd have to have a move Outside the expectation Outside of a 1DTE Move for it to Get stopped So for what I'm doing to Those of you doing what I'm doing I will not put on a second Power hour trade As long as those 4860s are at the money It would take a Move one way or the other To open up a potential Second power hour trade So I will just roll with this one As long as it's Centered Trying to push back up a little bit My 5055 is Getting close to a stop Out again It's like 1247 As I got into That one at 1575 And stopped out just now At 1560 so stopped for a small profit Yeah Theta So I'll just put my My Power one you can kind of see I just posted In the discord so it's sitting centered So I'm not going to Do a number two Unless that price comes to one of those Break evens or close to one of those Break evens and If it does that then I will take a look and see What if a number two makes sense Or not in terms of Probably another straddle Depending on the premium so And I don't Usually go inverted white tiger I've done that before But It's just the risk and the Little The profit that you would get Compared to the risk isn't Really good in terms of When I first started trading And doing it this way I would go inverted To get a second trade on but Three and oh right now And up about six grand so I'm not going to mess with it inverted I'll just roll with this one And add a second if that Price moves kind of like where I showed you with the Screenshot that I put in discord Chad do you have a minimum Premium that you take in power hour Yeah anything over five Got to be over five still Yeah still has to be over five Russell and the Dow still slightly red S&P and NASDAQ slightly green The screenshot In the discord of my power Target I have this on one screen And so now it's Instead of doing Calculation I just glance at it and I just put that in 2040 6080 So profit targets For different premium and then I don't have the trailing stops in there because Remember they starts at four So if you have a high premium and you're 20% is Is You know if you've got a 720 Fill in your premium Or your 20% is 575 your trailing stops For even if 60 Or I'm sorry 40% Profit target is above For the second trailing stop Is still four so That's why I didn't include any trailing stops There and then once it gets below Four it's just whatever that New profit target is That's just power hour only It's $4 fixed until it gets Under four Yeah just for power hour You know if you've got a 5 20 premium Or fill Or your 20% is 415 and your trailing stop is 4 Your 40% then Goes to 3 10 And a 310 trailing stop 60% 210 If you ever find yourself putting it If you ever find yourself putting in some A trailing stop above four you're doing it wrong For power hour 4863 Yeah I'm starting to move a little bit So my last remaining NTT trunch It's trading at 2140 Stops at 2595 So I'm going to need A little pullback So I'll put this in the discord as well here A little screenshot So you can see What I'm going to do is And so now it's kind of opened it up To where I, you know If I choose to If it moves up anymore I can look at the 4865 straddle You know I'm not going to overlap strikes If I wasn't in any trade right now I'd probably do the 4865 4860s But I'm not going to overlap the strikes And that's just my personal preference It's not saying you can't do it Why not a 65 straddle If I would do over Instead of overlapping I would do the 65 straddle So I think Yeah so it's kind of getting up there now So I'm going to keep a close look And see where this goes I'm going to give it like Let's see there's two minutes left In this bar So I'm going to let this bar finish And then see where this price finishes Because it could finish all the way back down You know The price finishes weak and then I'll just Sit tight If it finishes strong Then I'll consider The 65 straddle And I might give it one minute into the next Bar If it finishes up and it's looking like I could do a number two I might give it the first minute or so to see You know is it going to pause there Or is it going to continue to push And honestly that's just From So long of watching five minute bars Sometimes you'll get them where they Push out of the gates And sometimes They'll just sit there So I'm going to go ahead and at least Create the order for the 65 straddle but I'm not going to Place it yet until I See where this bar finishes Alright so It's finished So I'm going to see if this I'm going to give it one minute and see if this bar Wants to push highs or whether Wants to just kind of pause So right now I'm looking at The 4865 straddle with 20 Point wings You could go 20 or 30 A lot of times later in power hour you get You get filled easier if they're tighter And for me Using NTT as my Entry You can see prices Really you know obviously trending higher Which you don't need NTT to see that But I would wait for it to come And you know be inside The candles before I'm going to enter Another tranche and if that Doesn't happen in the next 14 minutes then I just won't So I'm going to try to get filled on this trade But if it keeps coming down Probably won't There I got filled 630 So now I want it to settle somewhere Between 48 60 and 4865 My Financial juice is rocking I've got the voice on so it's been Talking to me Actually I haven't traded it during power hour Krish so I think those I think an 80% Stop is too big My last one that I put on a little bit Before power hour I Yeah I've still got an 80% stop So I got filled at 630 So my 20% is $5.05 But my trailing stop is 4 Yeah I just refreshed financial Juice getting the same error Something's down And actually now that I say that Krish I don't know if it's too big I mean I'm getting it ratcheted Down to 40% once I hit 20% so maybe Fine the idea won't be The idea is not to be trading This during power hour When we have decent premiums But I like the idea of trading it If we have low premiums like we did today Also if you're new Here and A little confused and you're thinking Okay Chad got in On the 65 straddle But I didn't Should I follow him If I pick one or the other And that's a loser I'm not going to be happy That kind of thing Just keep in mind I talk about this a lot And I talked about it again in the little NTT mini course But the level That you trade at That isn't the important thing The important thing is that you have A process and that you manage Your risk around that process So it could have been a situation Where I could have been Great getting in at 4865 straddle but that's Not part of the plan For this methodology Our hour is always the most stressful for me With what I do, I don't know why Are your problems sweating, Chad? Well I think it's just because The range is so much tighter But I looked at my results I didn't start keeping track Of my results in terms of Time of day, you know Everyone knows now Because you're new I break my mind down Throughout the day into AM iron condor And I didn't start Keeping track of those time Frames until January 5th So it's really been I don't know what was that like 8 or 9 trading days But My power hour Has been the best In terms of percent So I'm sitting at What I looked at earlier today 17 and 3 17 winners 3 losers So That's a high win percentage But I don't know How stressful because it Oftentimes is when you can get your big movements That VXX verticals Rockin' So at about a lower 50% Of max profit now I've got 7 contracts left Started with 20 on that My time fly Still down about 400 Still in range here I've got one duck left That's In the area of 1 long enough to get an FDK So I'm going to get 505 Or less on that 505 somewhere in there Looks like it's still trading at about 5 Probably 520 or so 550 maybe So I'll just hold that I couldn't imagine the 20 Point wide power hours Yeah that's It's a beautiful thing Oh man I can't wait for those days I mean the straddles are definitely Little stressful times Long time ago Feels like a long, long ways away This morning's trades that I was My 2am minor converse That was why they were so great today It was the price movement They were 30 points wide or something It was great I continued to be so encouraged By my results because Every time I talked to someone I had a zoom call with somebody today It just seems like they're only going to get better Things get more volatile Yeah once the premiums get juiced It's even better So it's like if I'm doing really well In this environment over the last Several weeks Got to be encouraged As Volatility increases It's kind of like trunch three time And price is coming back down Into my candle So I may Add a 60 straddle 60 or 65 Financial juice is still down So we may not get a market On clothes number today Alright here's something that You can learn from price movement So what was it 15 minutes ago When it had that big push up You know pre sizeable push Compared to the rest of the price movement today So you remember me talking about that Second straddle so I waited until that bar closed If I entered it in I entered that straddle in at the Very top Okay Now it's come back down since then So I waited until it stopped and then I waited a couple minutes into the next bar To see what that would do Once I realized it's not going to push above it It's not going to collapse So essentially I entered About halfway through that Big push But if I would have gotten in at the very top You can see what now it would be off centered But now it's still okay I'll let them Expire If I'm not in a straddle typically If there's you know 10 point range Or something but straddles I like To try to get them closed if I can At least You know if I have one Or two contracts maybe not left You know if But Straddles can be It can move quick the last 5 or 10 minutes I like to try to get out of them by 245 central if I can 250 for sure See Data lists I'm not sure if I'm saying that right But my power stop loss Starts at 4 And then once the profit target gets below 4 So maybe I'm going at 40% profit target Or 60 Then it just becomes 100% of that So you know if I My 20% I'm filled at 510 And then I'm going To 40% profit I'll put it in order Let's say it's 410 My stop loss will still be 4 But if it gets to where it's below 4 The profit target you know let's say it's 3 bucks My stop loss is 3 bucks So that's how I reduce the risk Of the power hour trades Price came back down Into the candle so I'm going to Trade a 60 straddle Yeah Ken trailing stop that's correct 60 straddle filled it 1310 Yeah Cosmo I'm using the same thing 80% and then I'll ratchet down to 40 If I hit 20% I mentioned before I you know My intent is not to trade this way during power hour If we get decent premiums I'll go back To my normal way but It's low like this I'll just trade it the same way So this isn't a little pullback before another rip My 1 DTE sitting at 39% That one needs a little pullback to hit 45% as well 28 minutes to go Not sure about the early indication Oh financial juice is back up Early indication 52 million Cell side I need about 25 billion cell side Push this thing down a little bit Just rolled over Moving a little quicker now Getting close to hitting 20% of my power hour Number 1 Got an order at 510 it's currently at 520 Nice Frank 20% is so critical because You really can't have a A loss if you hit your 20% It's the beauty of it Our hour 2 got an order at 505 It's currently trading at 6 bucks Come on Theta Come on Theta Team Theta let's go Everybody's best friend when it's going down Technically going up Glad you like it Bumblebee Yeah it's easier for Me too because I'm not having the tight Answers What I'm also trying to trade Sharky if you're talking to me My most recent one was a 60 straddle I had a 55 Straddle on from earlier Hit and profit target number 1 here 20% it's below 510 There we go Filled at 510 Our number 1 So my 40% then If you look at the chart So I got filled at 635 So I go to the 635 And 380 is my 40% So 380 is also My trailing stop I did 10 contracts I got 5 left So I'm going to get rid of another 2 contracts If I can hit 40% Anybody in the 1 DTE with me Tomorrow you doing that one today? It's at 43% A little bit more decay that one should hit Decay Yeah I do too It's nice and wide I don't have a course on it Bumblebee But it's in the trade plan So you'll see the option Omega link with all the criteria So my 55 straddles Trading at 1420 My 20% is at 1275 So that one A little bit more down move My 60 straddle Trading at 1165 And my 20% Is 1045 So I need another bucket of that one I've got my 65 Straddle that It's trading About where I got filled at Just kind of testing that downside So I could use a little Bump up on my 65 Straddle to fill 20% I filled 20% It just takes all the pressure off Also so people ask When would you put in a third Tronch or a third Power hour trade I'm probably not putting in one Unless I get a third one Unless one of these would have gotten stopped out by now So There's 20 minutes left I would never put a third one on with 20 minutes left But let's say my first one Got stopped out 20 minutes ago That's when I would look To maybe adding a third When one is completely off That happens sometimes First one gets stopped out I've added a second Price has moved again Add a third But only two on at the same time So hope that makes sense Trade scout, your trade is coming back Into the profit a little bit Looks like You're taking some heat there for a little bit Are we not entertaining enough for you, Elliott? Is that what you're saying? No positions, alright I'll let it go then Hit my 20% on my Let's see That was on my 55 Straddle So ratcheting down my stop I wouldn't mind just hanging out here the rest of the day I need just a little bump up And then it can come back down Because again if I could fill that 20% profit on my number two Then that's guaranteed a scratch trade Or small winner Yeah, so Datalus So if I'm in for 10 contracts I'll do like 5 2-2-1 For power hour If I'm in for 6 Like in the morning where buying power is more It's like Let's start with 6 and then 3-2-1 Or 3-1-1-1 20, 40, 60, 80 10 I go 5-2-2-1 8 I go 4-2-1-1 And all that will be in my presentation as well Say 20% on my 60 Straddle I'm getting close to 20% on that number two Which is key for me And we'll guarantee no big losers today I just locked in all winners Nice It's always, not always feels good Yeah, whenever Chad slides today Just to give him some feedback And so we're just Trying to coordinate a date here I'll be pretty soon Chad responded, alright February 8th it is my friends February 8th after the market closes So like 30 minutes after the After the market closes I'll post something about it But the big thing that prevented me From doing it sooner Is at 3 o'clock When the market closes I got to typically take off to go get my boys At their bus stop either that Or they can walk to their moms But don't worry We got it scheduled now Alright I should be hitting that Number two, and then it can just stop Where it's at or come down a little bit India Wow What's in India? That's where Chris is from Oh really? I didn't know that Alright Michael 20% You gonna trade from there Chris Or you take the month off Atta boy, I knew you couldn't hold out What's the hour difference? You guys didn't like my Fred Flintstone gift earlier? Still 52 million The final one comes out in 5 minutes Okay I should be getting filled here Hold on little buddies Don't go any further $5.05 is my fill And it's under that, come on Hit it, nice Chris There we go Filled it 480 Just locked in all green today So my 55 Is gonna get stopped out if we go much higher After I reduce my stop here One DTE still sitting at 40% Didn't quite get that 50 And he needs a little pullback as well So my 40% target for my number 2 Is $3.80 So that's what the trailing stop will be There's a nice little drop So I will close 2 more of my contracts After getting rid of 5 At 380 Back down to 60 That was 480 I got filled So looks like Did anybody trade normal power hour?  That's right Come on down to 60 What's your sweet spot Chad? Well I've got a 60 and a 65 straddle Okay so you're right there You're in your sweet spot right here Yeah I'd take 4862 It might be a 5 figure day It's pushing Getting close to my exit time here And I got stopped out for a profit anyway Alright so I'm out of my NTT tranches So how many of those did you do today? 975 So that was my 1, 2, 3, 4, 5 So on my NTTs I Booked 900 on 1 2900 on 1 345 on 1 430 on 1 And 935 on 1 Those are just 3 lots 3 lot trades Number 1 got stopped out at 390 So nice winner And 60% on number 2 Still in the ballgame Still pushing My 1DTE should be closing About right now Here it comes Michael 6200 Nice Michael Alright my 1DTE got filled at 880 So I got 1 contract left It's to 65 Would be the pinhead So my final tally for the day On my bot trades A little over 9000 And then another 4000 ish On my NTT Good day kids, good day 3 minutes till the bell Yeah I mean I'm sitting at a pinhead If it's 65 9 of 10 contracts Nice theta Like seeing the paper trade Had a boy dick He's an animal That's a That's a low day for dick K Where is he at? Like some island somewhere Dick K he's got houses in a lot of different places chat Does he? The cyber treks on the way Awesome Nice That's something I want to get eventually is a 69 Camaro It's a bucket list purchase What I had when I was in high school and I sold it Wish I never would have sold it Am I going to get a pinhead here? Minute and a half I do have a order of 50 cents To get out of my last contract And $1.55 Is my trailing stop What's it trading at now?  Or The founder edition Is that the model? 30 seconds Are you right there chat?  No so $0.65 is where it ended $0.62 It's roughly $0.60 So it'll settle it Yeah $0.40 Yeah it'll settle basically Like you got filled at $0.40 Okay Because the market closed at $0.48, $0.64 and $0.60 Okay So my day Yeah Wuga had the 10 wide no stop go What we Depending on when you got in Could have pinned Okay so Five trades all winners Nice naughty dog Here we go $10,670 Very nice Alright all let's see live stream tomorrow Tomorrow is the 24th So chat will be streaming live in the morning With the mighty 90 and runners And then we'll be back for power hour Alright all take care See you tomorrow Peace


Good morning traders, Patrick Manley here with another Tick Mail Charter. I want to draw your attention today to a developing opportunity in the Australian Dollar. This day we saw a bit of a turnaround in risk sentiment, certainly in the S&P 500. And this caused a reversal in the Aussie Dollar, which has correlated pretty heavily at the moment to risk sentiment. And we're holding this ascending trend line, the bullish reversal candle yesterday, which flipped both the daily and the weekly VWAPs bullish, with the monthly VWAP bullish. I'm now looking for a move through the 73 handle, ultimately together tests now up towards the 75, which is the monthly R1 and the monthly predicted range resistance as well as the ascending trend line resistance. As always, traders, plan the trade, trade the plan, and most importantly, manage your risk. Until next time, thanks very much.


So our talk today is entitled Mission Accomplished. Kubernetes is not a monoripo, now our work begins. Thank you for attending on one of the last slots today. I am Justin Santa Barbara. I have been contributing to Kubernetes for, I guess, longer than I care to admit now. I've done a lot of work initially on the AWS Cloud Provider. I kicked off the Kops project a number of years ago, and I've been at Google now for a number of years trying to help people with their adoption of Kubernetes. Hi, everyone. My name is Cyprian. I'm a and I'm the engineer at Microsoft these days. I am also helping companies migrate to Kubernetes. And in my spare time, I'm a maintainer and contributor to various cloud native projects. So OK, so this is what we're going to be covering today. Broadly, why did we split up the monoripo? Why did we go from one big Git repository source of truth into the many repositories that we have today? When we did that, did we lose things? Or was it all just just upside? And spoiler, the things that we did lose, how can we get those things back? That's what we're going to be covering today. OK. In the beginning, there was one big Kubernetes repo, so everything in one place. All components were versioned together, like there was no cloud provider or other things. And there was end-to-end testing multiple clouds on every PR. And that was actually pretty good. It was the right architecture for the time. It was actually very easy to make big cross-cutting changes across multiple layers. You could have one PR that could change the API. It could change the Kube API server, the controller manager, kube-cuddle, it could change the scripts that installed Kubernetes. You could do that all in one PR, and everything would just go together. It was a very productive way to move quickly. And we had good test coverage as well. We had test coverage that would test on AWS and GCP. We had some other tests on other cloud providers that were a little bit more complicated. But those, the AWS and GCP tests were kicked off on every single PR. So every time you made any change to Kubernetes, even if you just changed the docs, we would make sure that you hadn't broken AWS and you hadn't broken GCP. And we were able to test all that cloud provider functionality, all the functionality in Kubernetes on every single PR. So it was a good productive place where we were. So it was pretty good. But why did we stop doing this? There were a lot of technical issues, many related to GitHub. There were tons of notifications, so people could not keep up with them. There was a huge volume of comments and it even broke GitHub loading PRs. And the worst and most frustrating, you couldn't merge PRs. Like it could take two, three days to merge your PR because there was a huge queue right before each release. And this was when bulk merge was introduced, but still was not perfect.  So it was hard to know in this growing community of people who needed to see each PR and who didn't need to see each PR and make sure that like the right people had approved the PRs. We introduced owner's files to try to route things more intelligently to the right people. But it ended up that basically we would bottleneck on a few key people. It was very hard as these people, I would say have more and more people to get everyone onto the, at the time quarterly release schedule and get everyone synchronized. And that just became harder and harder as we added more cloud providers and generally more functionality. So a lot of what I would call people issues as well. Okay, why did we stop doing this? It enabled us to do a lot of architectural improvements. This way, things are not depending that much of a single person can be split up of the Kubernetes repo. And also projects that use various pieces of Kubernetes could just source those components instead of just having a big dependency of Kubernetes and conflict with other dependencies that don't upgrade at the same time. And fundamentally, those technical people and architectural reasons were solid, but really there was an underlying reason. That was sort of a philosophical reason about how we wanted to be as a project. We did not want to be a monorepo where we were like the centralized gatekeepers for this is cloud-native and this is not cloud-native and you're in, you're out, you're hot, you're not. We didn't want to be that. We wanted to have this industry. We wanted to have a large number of tools where anyone could come and collaborate and put their ideas in. And that is what effectively became the cloud-native ecosystem that we have today. And we had a bunch of technical strategies that we used to enable this idea. So basically the core idea was to make sure that you did not have to contribute to KK. So you could get anything done without having to contribute into KK, KK being Kubernetes, Kubernetes. That is largely the case today, but at the time, in the early days, it was not. And so things like CRDs enable you to add types without having to extend the API server. That was not always the case. Things like webhooks enabled it to change the behavior of any type. We added APIs where there were not extension points before for things like CRIs, CNI, CSI. So that is some of the tactics that we used to get to this point. With the release of Kubernetes 127, even cloud providers are out of the main tree. This is a huge success. This was the last to go. So now we have broken up the Monorepo. We have CSI, CRI, CNI, cloud providers, and probably a few other things. All are developed in different GitHub repos and by the people that are actually interested in those topics and maintaining them. And so here are some vanity stats that sort of reflect where we are. So in the Kubernetes organization, there are 77 repositories. In the Kubernetes SIGS organization, there are 161 repositories. There are 240 GitHub projects tagged with Kubernetes controller, so that's a good proxy for operators. There are 27,000 plus tagged with Kubernetes, and there are more than 47,000 repositories that consume Client Go. So if you think about where we were, where all that development was happening in that Kubernetes, that second entry in that left-hand column, so now where we have 48,000 repositories on GitHub, this is a huge success in terms of de-bottlenecking ourselves and enabling activity to happen outside of just that second line there. As Justin was saying, innovation can all happen outside of KK. And we have now Carpenter, tons of operators. We have worked separately from KK on IPv6 for some time. Even Docker was removed, and everything kept going with container D and cryo. Well, now we have Docker back also. And it's much easier to contribute to individual CSIC and I and cloud provider projects. The IPv6 story was quite interesting. Technically, it was supported by Kubernetes since I think version 1.4, but it only worked in specific setups without any cloud provider support. With some work being done on dual stack, like two, three years ago, many of the blockers were fixed and inconsistencies, and enabled external cloud providers to do their own thing around IPv6. Also, the release of IPv6 prefixes by the major cloud providers helped us add it to cloud provider AWS and now we're working on GCE, for example.  If they say it's okay, you don't have to consult any other person. And of course, it is not all roses though. There are some thorns here. And so what have we lost? Well, I think the big thing that we've lost is that the experience for Kubernetes administrators, the people whose job it is to take those 47,000 pieces and put them back together, that experience is worse than when it was preassembled for them and tested for them in the KK repo. At least in Kubernetes, Kubernetes, we don't actually test these things together anymore. You have no guarantees and there's no one putting these things together for you. So a lot of people will go and you're almost compelled to rely on distribution now, whether it's a commercial distribution like GKE or EKS or AKS or whoever it is, or an open source distribution like KOps, you're very much compelled to, or it is much easier if you, you have to get your testing from somewhere else. And the problem of doing this yourself is now so much harder, right? There are all these components now which didn't used to exist and they're all developed independently on different schedules by groups that may or may not actually talk to each other that much. And it is a harder problem than it was before. It was never easy and now it's even like a bigger problem than it ever was. And that complexity is only magnified when you have upgrades and gradual upgrades and you have to worry about all these different release schedules and you are now responsible for putting those things all back together. So we have definitely lost something. Okay, should we put everything back together for testing to make it resemble more to a monorepo? Is this practical at this moment? Choosing version is very difficult and the complexity becomes exponential with the subsets of features and versions for each component. Keops does this, but so do other distros. So does every project that wants to run E2E tests. But all of us do it separately, duplicating various efforts and we do it better or worse. I'm gonna talk through a little sort of case study of one of the problems that arose here, which was the cloud provider for GCP. We had a bug that came up on the Keops E2E testing where a particular combination was failing. The combination was Keops and external, the external version of the cloud provider GCP in a particular networking mode. It's called IP alias networking mode and that combination was failing E2E tests and we didn't really know why. And the details aren't that important, but effectively what we, the manifest that we were using to install the cloud provider GCP, there's a little bit of that manifest over there on the right, right? Yep, was a little bit different from the manifest in the cloud provider GCP repo. And it actually turned out that both sides were broken. The manifest we were using was exercising functionality that was different from the functionality that they were testing in cloud provider GCP. That functionality was actually broken on the GCP side. Arguably they were testing the wrong functionality there, but there were things broken on both sides. And the problem is that we catch these things only after cloud provider GCP has been released. Typically, Kubernetes has been released, cloud provider GCP is then does their release and so on. This is really, really late in the day to be catching these sorts of problems. We would like to catch them much, much earlier. And so what we're working with specifically for cloud provider GCP and Kops, but we're going to be doing effectively on all the components and we would hope that other distributions to the same is this idea of sort of continuous testing with production manifests. So we're adding tests to cloud provider GCP. We've added tests to cloud provider GCP so that they continuously test with Kops and they're manifest. And they publish that manifest that they intend for us to consume. Kops will consume that manifest that they are continuously testing with. So we have some test coverage there. Other tooling, cluster API, Kube-ADM, whatever it may be, they can also do the same thing. They can, obviously they can consume the tested manifest that cloud provider GCP is now publishing, which is great and better than they are today. And if they also want to, they can add additional testing to cloud provider GCP so that cloud provider GCP can test with more sort of production environments and fewer of its own test scenarios. Okay, we are asking components to publish working manifests, not just container images. If all the Kubernetes components start testing their manifest in fully assembled distributions, Kops and others, then all the distributions can consume these manifests for testing purposes at least. We should catch all single source bugs in this way where bugs are introduced by the component. Combination bugs will be caught by the distros and are hopefully much rarer. Absolutely, yeah, so like a single source bug being a bug that's introduced in cloud provider GCP should now be caught basically when they introduce that PR. The cloud provider GCP PR will run against GCP with production tooling with Kops at some relatively recent version of Kops, getting back to where we were back in the days where everything was in KK, that test will run against real GCP infrastructure with real production scripting. And so hopefully if it's a single source versus multiple source, multiple single source, single source versus combination is sort of subtle, but the idea is if it's a bug that is specific to cloud provider GCP, that should hopefully get caught there. There are bugs that happen only when two things go wrong at once as it were, so you have a linker D in combination with some psyllium configuration, those sorts of things where they both need to happen, that'll only get caught later on by the distributions, but those are much rarer than the single source bugs. So components or projects should think about how distro do upgrades or how their customers do the upgrades, because if you release manifest, you have to take into consideration immutability. There are various fields that you cannot change with an upgrade like selectors or if you change the namespace, you might end up with awkward things. There's disruption. People don't really like to apply a new manifest and then their cluster be broken because you had to run some special command or something that was, you cannot express the other manifest, so it's not quite good. And the skew because the components don't necessarily think of their manifest as production ready. They tend to use simple versions of this manifest that the distributions have to enrich with various things like anti-affinity or, and in time, this gets to a certain level in version skew for distribution compared to what the components release. And in time, it's hard to keep track of all these smaller or bigger changes around the manifest. And besides all these smaller problems, there are non-cubernetes objects that cannot be expressed in manifest like IAM policies, firewall rules, TLS certificates, which should be somehow specified in a way that the distribution can keep track of them and can set it up so that the components works as expected. Not just have some, well, a bunch of documents somewhere, they say, hey, in this version, you have to set up this, this, and this. In time, they get lost. Yeah, the dream on this second one there is that we'd be able to install a CNI, for example, that we'd never seen before in a distribution tool, that the CNI would express the firewall ports that needed to be opened. So it's not a huge problem that there's a fairly small universe today. This is surmountable and that we can sort of hard code and we know, oh, you know, Celium needs this particular port to be opened. But just when we're thinking about the next 100x growth, how are we going to enable these things to move forward and grow another 100x, as it were? So these are the things we're gonna be working on. They aren't insurmountable. Another problem is that we don't actually have a great standard today for what a manifest should look like if it isn't static. And a lot of these manifests are not static. So a lot of the components need some per cluster information. So a lot of them need the cluster name or they need the cluster ciders, some of the ciders, service ciders, pod cider. And that information, there's no standard today for how we are going to plumb that through. Once again, I suspect we'll make do on a one by one, you know, one by one interaction basis, try to generalize those sorts of things. But these are some of the challenges we're gonna be working through with the components as distros. Another one is a lot of the components have what I classify as variants. So they have whole feature sets that are enabled or disabled in different combinations. And a canonical example is you can enable or disable encryption in Cillium, for example. That's okay if you have a small number of those features, but when you have a large number of features, you're potentially talking about two to the N manifests that we're now asking them to publish. So I think there's a interesting discussion there about how the components want to publish the feature sets that they want to be consumed. Obviously, we can publish multiple manifests if that number of feature sets is small enough. But if they genuinely believe they want to publish two to the N and N is big enough, that is gonna break down pretty fast. What about the Helm charts? It's very popular these days. Is this the answer? We think that not quite. It's close, but it's not perfect. Helm charts by default allow a large number of setting combinations. Because of that, you may end up with a generated manifest that is not quite what the component expected when the Helm chart was created or what they test with. There's no standards for the parameters structure, like the name of all of them. So you may have to read all of those or they will differ for similar components. And this is kind of like an API that has to remain stable across upgrades of the Helm charts. So our proposal is this. We ask the components to publish manifests in a way that they should be used in production. And we ask of them to test with this manifest, ideally with production tooling. Doesn't matter which production tooling, but not use internal things that they cannot be reproduced by other people easily. And in return for that, this is the sort of we ask and we promise contract that we are working with the components on. We, K-Ops and hopefully other distributions will join us in this, will help those components to test their manifests with production tooling like K-Ops. So we'll work with the components to add those E2E tests. We'd like for it to be K-Ops, but it's, we'd like for it to be K-Ops and cluster API and Qubit EM and a broad ecosystem of production tooling. What matters is that the manifests are tested in ways that are the same as are going to be run in production. And in return, we won't arbitrarily patch your manifest. So the manifest that you publish will be the one that goes into production. If we have to change it in some way, we will at least talk to you. This is sort of, this is not surprising, but this is somehow different from where we have landed recently where people aren't even aware of the fact that these manifests that are actually running in production are not the same things as the projects themselves are publishing and testing. And in short, so there's, we've come a long way. We are very close. I think we have a way to achieve some of the things that we may have lost when we broke them on a repo up. It's not the most technically challenging work, I think at this point. There are definitely some technical challenges as we talked about, but it's as much organizational and making sure that we go through and set up those testing jobs and make sure that the pipelines work so that we're consuming the same manifest that the components think we're consuming. And we believe that if we do this, that we actually are now gonna be able to get back to that reliable and easy Kubernetes experience while at the same time supporting this grand ecosystem that we have deliberately created and get back to where we were. And with that, I think we'll draw our talk to a close if there are any questions we can take them. And there is a QR code if you would like to leave feedback on this session. I don't know if we have any mics, but it's a small room so you can probably just shout if you have any questions. Thank you. At the back there, a question. This is the biggest goal. Yeah, I have a question because as far as I know, Kubernetes is the biggest goal, like open source repository. And I have a question. Did you encounter any problems regarding, for example, Go modules or sharing code between the repositories and how you were tackling it? Have you left any feedback to the Go team, et cetera? Basically you're, yeah. Thank you. Yes, it's a great question. So there's definitely been a lot of back and forth with the Go team about how Go modules work, how we should structure things. Anyone that has seen the staging sub-directory knows that the Go team, we're not the canonical example of how you should write well-structured Go. A lot of it has evolved over the years and as you say, it's because we have been one of the biggest Go projects and pushing the boundaries. That communication channel is open, I think it's healthier than ever. People like Tim Hawken, for example, I've done a lot of work on trying to use Go workspaces recently. And yes, there's a lot of feedback that gets fed back to the Go team in that regard. And historically, the relationship is healthier than ever. How about that? Daniel, do you want to read Daniel then, David? Thanks, so I mentioned a scenario where let's say there are 10 providers and one component, right? And so you change to the component manifest, gets tested against these 10 providers. And let's say today, one or two providers run the test and or however that works. And one of those tests fails. Is the burden on that provider or on the component? Now, let's say then a week later, all 10 of the providers have run the test and now it's failing for eight out of the 10 of them. Now, is it, you know, that question of the burden, where, yeah, do you have any thoughts on that? Yeah, I mean, I think the tests that run in the provider, in the components repos, we would expect for them to run on every PR and if there's a breakage there, that's where we'd expect the component to pick up on that. I feel like if we somehow see that something then fails in K-Ops when we pull the latest version, you know, we'll probably look at what's going on there first because our assumption will be that it's our fault somehow. I think we'll see what happens going forwards. There's at least some expectation then now that the code, the manifest that we're getting has worked at some stage, and we can now go back and look at those tests and having those two test results and the history of those test results will enable us to hopefully get some idea of where that problem may lie, but yeah, we'll figure it out sort of as we go. David, please, thank you. A similar vein, slightly more pointed. So I'm now a component, I support 10 different platforms and I'm trying to do the most good for the most people and one out of the 10 fails. Do you believe this should prevent a repo from saying, yeah, I'm real sorry, you're broken, but this is an important fix for the other nine? And as someone with a distro, we face the issue. Honestly, I think that should be up to you. I think when you take those, you're not obliged to accept the 10 E2E tests. I think it helps you to have more E2E tests and I think if you want to say, yes, we don't care about Google, then that's up to you, right? And I think it's a fair statement. Anyone should be allowed to make that statement and say that and make that choice and we're certainly not gonna stand in the way of that. I think one of the things that has happened today is that those statements are not explicit, right? So at least now we'll be able to say, yeah, we are deliberately doing this rather than I've accidentally broken like this thing over here and I have no idea really until six months later when you're like, oh yeah, I forgot about that entirely, which is sort of where we are today. So I think we're in a better place. I don't think anyone in this room wants to centralize and say, thou shalt not break other people, but I think if trying to give any good examples, if we had a secrets operator, right, that was maintained by Google and somehow it was breaking a lot on Azure for example, right? Presumably some pointed questions, even more pointed questions would be asked at that time. But I think we are, as you say, all trying to do the best we can and to date that sort of behavior has not arisen. So we're hopefully okay if we're able to make the choices deliberately, I think. Thanks, Sarah. Was there one more question there? And then maybe, I'll explain to the last one. This work on removing the cloud provider's code from the repo, I think it can be seen like a major paradigm shift cleanup in the repo. So I'm curious, can you think of any other like major cleanup efforts that's going on right now that is kind of like worthy of to take a look or maybe even contribute to? David, do you want to, I mean, I feel like a lot of it has happened, but yeah. We've had a lot of cleanup and a lot of spaces. I think if I were looking at like, what is this closest to? I would see this as comparable to the effort like when we introduced RBAC. We went everywhere and updated everyone and like Jordan did half of them, half of them by himself, right? And it was a lot of work. I think we're going to face something similar when we do sell admission where it's going to be, we want to replace these webhooks. Someone has to do all the work. So it's not the first time we've had something like this. This is one of the most costly though, but it would have a huge benefit. This would be awesome. Yeah, another one might be that there's going to be, I think more around maybe pulling some more stuff out of staging. I think like some of the work going into workspaces is maybe going to enable that. And so like maybe we'll split KubeCuttle out. You know, it's, I don't know, we'll see. I am not saying I'm not volunteering nor am I volunteering anyone to do that work. But you know, I think there will be, we're certainly unblocking a bunch of these things. And the sell work is, as David said, super exciting. I would like to add, like we are removing entry volume plugins in favor of CSI. It was a huge effort on storage site. Here we are, storage volumes, the next next. All right. Thank you very much. Thank you. Thank you.


Hello everyone from 4th Asia, I'm Resli Wang, graduated from Southern University. Today I want to address my talk in this topic, JSX Graphed Interactive Geometry Protein Virtualization with JobSuite. Actually it's a JobSuite animation library for mass purpose. Alright, let's get started. And first we create a normal stnl file and include the JSX Graphed library. As you can see it at the right side, we get CSS and JS files from the JS delivered. Then we declare a JXG box div inside the body tag to contain elements. Then we do our JobSuite stuff. We initialize a JSX Graphed board and create two points P and Q compared these two points to get a line. Alright, this is the result of the four-mode stnl files. Let's review it dynamically. Here it is. We can drag it around and also move the point to rotate and also the other point. Also there are some default items here. Alright, next I want to explain my motivation for this talk. Actually last year I have a talk experience at the first International JSX Graphed conference in Germany, virtually about my Gain of Life project. And this is the snapshot of it. Quite a beautiful user interface about Gain of Life. Alright, so because of this I want to share the joy of using JSX Graphed, this wonderful JavaScript animation library to more teachers, students, and developers. And finally, a direct reason thanks to the talk invitation of 4th Asia. Alright, let's talk back to the JSX Graph. The development purpose of JSX Graph is to make mathematics dynamic. So these are the typical domains that JSX Graph covers. Geometry, calculus, statistics, charts, integrated function systems, and transformations. And as you can see at the right picture is a demonstration of Riemann sums using JSX Graphed. Alright, let's also do a dynamic read. His idea is to represent the integral sum of sine function using the rectangles. Alright, let's change the slider. Fascinating. Alright, and here are some more of the once examples of JSX Graphed. To nanofield. So Pinsky triangle, infinity, trigonometric functions, collection field of differential equations, and harmonic oscillator, where the right point will move up and down here, and derivative of functions. Now you can change the dynamic. Alright, at this point you have already know the JSX Graph Fundamental Read. So I hope you can get interested about it and adopt it in your project if you really get interested. Alright, and here are the resources that I recommend if you want to know the JSX Graph in depth. The official website, jssgraph.org, where the documentations are provided in detail. And for beginners, I recommend to read the cookbook. And if you want to watch the update state of JSX Graph, you can follow this link. And finally, when you are facing problems about JSX Graphed, you can go to these Google groups and ask for help, where some nice persons are there to offer help, including the maintenance. Alright, it's the end of my presentation. Thank you.


This is the animation minute Welcome back to animation minute as always as some of the jobs. Here's a senior animator position Principal senior animator position here at giant skull cinematic animator position Here's another senior animator position and a 3d character animator entry level for blue zoom So you can watch animation. This is awesome. What is this 16 seconds? But it's super cute love these droids this whole project is really cool Make sure to check out the whole bad batch top tails project another very cool piece by Orion. I love these Another cool body mechanics piece using the Zelda rig always super cool good ending to spoilers Always love seeing sub motion just because it breaks my brain. It's just so cool Awesome accounts. Just make sure to check out all of these posts are great You can stop motion Kevin Perry always worth checking out super cute check out the whole thing And here tonight is grace available on steam This is a cinematic thriller with hand-drawn animation and a lot of mystery. It's super cool There is a demo which I'm gonna try out make sure to check this one out put on the wish list And buy it all that good stuff. It's awesome. These are bonkers Lego pieces. I hope these are real and not CG you never know But it's awesome. Look super cool. Speaking of super cool It's a nice piece there of course another one. This is from tank head with another one here Very cool, and you can see here the pre-order copy link. Make sure to check that one out anything I love this great colors to a lot of those old-school big monitor chunky pieces same thing here It's pretty awesome.  That is that for animation minute You can find it every Monday every week on my channel