You're watching a Y254 TV business Tuesday interview right now. We are talking about the impact of COVID-19 to businesses and manufacturing industry. I'm speaking to Prishna Arsha, CEO of One Stop Enterprise. Send us your comments or questions to all of our social media platforms at Y254 channel. Good evening. Hi, Hilary. How are you? Awesome. Great. It's an honor to have you here. Thank you for having me. Now, COVID-19 has affected almost every person in the society, be it an employee in the office or someone who has been doing the small businesses. They have been affected in one way or the other. And I am sure even you as a manufacturer, there's a way you have been affected. And I'd like to know, with the continuous measures that have been put in place, how have you been coping with the situation in your manufacturing company? Thanks, Hilary. So first of all, the biggest problem we faced was trying to encourage social distancing in the factory. When you're working in a factory situation, we're doing food processing. Social distancing was never an issue. And suddenly, come March, we're being told that you've got to have two meters separating you. So we've had to incorporate social distancing in the factory. The other thing is having masks on all the time. It's very, very uncomfortable having a mask on. So that's another thing that we've had to encourage. We always had good hygiene where our staff were very well trained in washing hands as often as they needed to. So that was not something new or something we struggled with. We are at a situation where most people have been laid off. And especially as we were talking about the social distancing, we saw some of the fast containment measures was working with shifts or in shifts. And did this affect your labour in terms of reducing the number of people working at a particular time? Or how did you apply the measure? So we've always run a very lean machine. We've never been overly overstaffed. However, what we did do was we started sending people on leave, which is normal paid leave. In the past, we've been sending everyone at one time on leave. This time, because of COVID, we decided that we would send two or three people every for two weeks leave. And that's how we've reduced the number of staff at any given time in the factory. And having reduced the number of people working at a particular period of time, did the supply or the production of certain measures, say you get to have a lot, did you reduce the number of production? Yeah, a production capacity reduced marginally. Obviously, it would. And also what you see is a lot of staff are doing something else in addition to what their normal duties are, just because they're covering up for someone else. Where you're working with two drivers instead of more. And so your workload has increased as well. Are they understanding the situation if they have to work for more hours or maybe have to work harder for two people? They are understanding. They're not working more hours because we're also very aware of the curfew. The curfew was much earlier, so we would close the factory at 4.30. Now we're closing at 5.00 or 5.30 so that people get home on time. But yes, our staff, we've been lucky. They are very, very understanding that they know that they have to make up for someone else's absence. And since you're in the food industry, how is the market doing for you? We were not too badly affected. You know, when there was a lot of panic buying, we really enjoyed ourselves. Sales were brilliant. The month of June has seen a reduction in sales, but we're also hoping that come July, things pick up again. And we're praying that the economy actually is slowly opened up. Other than the containment measures that the government has put in place to ensure the spread of COVID-19 has stopped what we are saying is containing every person, containing every situation that we can. What else have you done in your company to ensure that we have fought COVID-19 and we've won? So our staff are all tested. And they're continuously tested. Not only for COVID, but all other sorts of diseases that can be passed on because of food processing. This is something we've done for years. We've just had to add COVID onto that. However much it's been expensive for us. The other thing that we've done is that we've consciously, as employers, decided that we're not giving our staff pay cuts. Awesome. So that is a conscious decision. As employers, we've made the first question when everything was going on. Our staff and our shop steward came and asked us, so, you know, what's going to happen? Because they were scared. They were hearing from their friends. And we said, well, until we can manage, we're not going to give you a pay cut. The day we can't is when we're going to talk about it. So far, touch wood, we've been lucky and we've never given a pay cut. You must say that was kind of you because I know most of the people who are sent home and paid leave. Others have been given the pay cuts of which they didn't take it kindly. Considering how the economy has been even before COVID-19. Now, tell me about this business now. I understand you've been in operation for years. How has your success story been? So I'll start with the history of the business. It was begun in 1982 by my father and his brothers. They, our family suffered a financial hardship and we filed for bankruptcy. There was a point where there was no money for even milk for myself and my cousins. And the fallback as usual is you go back to what you know. And my grandfather said, well, my mom was very good at cooking and she still is. And why not? And that's the birth of one stop. All right. We started, they started at home on these huge big jicos that would take like the biggest bag of charcoal and they would fry crisps and chevda and things on that. They grew and we moved into a premises in Gara which we occupied until 2018. Just the other day. Just the other day where we needed more space as we're growing and we decided to move to Babadogo into a nice new factory premises. Yeah. I must say it has been quite a journey. It's only that you didn't go to details we can already tell how it has been. But of course we are speaking to the youth who would want to come up with something. Who would want to go back to what they know like you have mentioned. Now how do I, do I materialize the idea that I have and make it work? You've got to try. You have to keep on trying and it's hard work. I remember up to probably the 90s my dad was literally still frying crisps alongside the staff. So nothing comes easy. You mentioned in crisps and I know some of the the youth or any person I've seen on traffic cleaning, robes selling crisps and like I want to find a nini. Yeah. You know they feel like this is not the kind of a job. What would you say about most of us who say I can only do this and that but the other thing I can't? My mom has always told me there's no job that's a small job. You will find me even in the factory helping where there's help that is required. My mom and dad still come to work for half the day and they will do. My mom will sometimes sit down and help them pack a packet of crisps if that's what's required and especially the last few months where we've been short staffed. She's been doing whatever needs to be done.  We are at a state where we have a number of youths who are unemployed and it has been a notch cry to the government and to every other stakeholder we do not have our youth employed. And the question that will be there is or the response that comes from many is find something to do and then again this argument from some of them do you all become entrepreneurs? Why not? Then who consumes for who? There's always room for consumption because what you're going to do I may not do. So you're creating a market for what you need to do. All right now brings me to the question about competition. How do you fit in the competition? Is there a fair competition in what you produce and others? And then how are you able to sustain yourself throughout the business enterprise? So within the industry there is fair competition. However we have people Indian women making these things at home and that's totally unfair because we have to be compliant with NEMA, CARBS, city county licenses, etc. When you're making something from home you're not fully compliant. So your overheads are much lower. When you're running a whole enterprise your overheads are high because you're fully compliant you've got safety measures in place. So that's where the unfair competition comes in. And someone would argue I don't have enough money to have say somewhere to work from unless I work from home I know of people who cook from home and they start playing out here. They don't have to fight with the Kanju in the streets. They cook from home. They don't have enough money. What don't you think? I agree. You don't have enough money right now but you've got to start somewhere. That's where you start but don't stay there forever. I have to move. You have to move. You have to grow. Once you grow you need to become fully compliant. All right. Why do you think most of the youth are reluctant to take up opportunities that come even if they are as humble as they could be? Could it be finances? I don't know if finances sometimes does play a role. We even as industries face times when finances are tight for us. Right now we're facing financials. We know we have to play around. It could be finances. It could be lack of mentors. Yeah. Could be lack of resources. You have mentioned of a mentor. Are you bringing someone in this line or maybe in the other line to help them become what they have wished to become? So we've done it within our own factory where we've seen two of our very valued employees grow into positions of supervisors and into positions where they are now able to autonomously make decisions and where I can trust them and say, okay, you can make that decision and I've seen them make decisions and they've been the right decisions. I am also being mentored at the moment so I am not over the learning process. No one has approached me for mentorship but I would love to be able to, you know, impart my knowledge to someone when the time is right. Maybe as you wind up I would like to know how do we most of the people have a problem of financial management especially when they have a business. You will find them they say, I had this profit but I can't account for it. Not that they misuse but there's a way they can't account for every care. How do you keep your records?  When you're small you can't afford an accountant but someone recently told me, get a friend. I'm sure within your friends you've got someone who's an accountant. Let that person help you even if it's on a Saturday. Secondly, make sure you know where every penny is coming from and where every penny is going. Even if you're putting it down in an exercise book and account for it. That will help someone go far too much. If you need to make sure you know what's coming in and what's going out. The minute you're not on top of that then you don't know where your money is going. Exactly. And don't use your business money for yourself. I thought the profit is mine. The profit is not yet yours. The profit is to be put back in the business until there's so much profit in the business that it can become yours. And is there time that it will be enough? Yes. There is always enough. All right because I know billionaires always look for another billion. Yes. You'll never stop looking. You'll never stop looking. But once you have your billion you know you can spend 50 million. Awesome. Now I'd like you to speak to someone out there and tell them especially the young people regarding now that we are speaking of COVID-19 is it about time they come up with a new idea? How are they supposed to cope with the situation with SMEs? And maybe an encouragement to someone who feels like they have lost it all during this pandemic. Thank you. I think you just need to keep your head up. The pandemic is going to end but it's still here with us for a while. There's a lot of information out there. There's so many webinars, so many Zoom meetings that you can go to. So many courses that have been subsidized or free that whilst you're at home whilst you're doing this you can actually be in you know expanding your knowledge and nothing is lost. Thank you. All right thank you so much for coming and sharing your story and encouraging our young people to taking up our chances out there and making the best out of it especially the financial management. I have to take care of myself. Thank you so much. Thank you for keeping us company. It has been business Tuesday. We were speaking about the impact of COVID-19 to the businesses and enterprise. My guest was Prishna Shah, CEO of OneStop Enterprise. Thank you so much for coming. Have yourself a very good night. My name is Adereva Hillary. Goodbye.


Everybody forced here up in 2023 top sterling baseball hobby We've got why do I get four box case? Where are my double cases? There's my double cases. Sorry. I literally grabbed the wrong title double case eight box double case number one There we go Random hit style so Christian is gonna type in the names as we go along here And then we'll do the random at the end to determine who gets what? That's right. See who gets what so good luck everybody Everyone's gonna hit of course. Let's pull some a bat-knob bat-barrel out of the rushman big rookies I guess we'll just go case-by-case here. We can kind of see what one case looks like In four box cases this year if you were buying a paint it'd be like Pinot Noir Merlot be some wine or some food, okay The wait is over Okay, oh, okay, this could be a good start So again, there's always two mini boxes and it'll have like a theme 2010s MLB all-stars in 2023 rookies. I hope that's an Adley. I hope that's an Adley All right, 2010s all-stars any guesses I'm gonna say Mike trout 2010s like oh 10s. Yeah. Oh, we got a nice start. It's an Aaron Nola one-of-one Jumbo nameplate patch Jumbo letter patch Aaron Nola one-of-one So usually you'll start with the player you feel like jumbo patch. You just do jumbo patch on one-of-one That's how we start that sterling Part of the Nola the N and Nola. I would I would have to assume that's gonna be a nag One-of-one to start the day. I mean that that's sterling though. Come on Adley. Come on Adley first box Again, we have spots left in the other two today Sam's got some tonight Matt's got some later on today as well guys. We got sterling all over the place And it is my guy Tristan Casas on a rookie dual jersey auto. They cleaned up the design You can see the auto is a lot better this year He's to have all like this used to go all over the place Not like embroidery looking for that like paisley pattern almost 425 rookie dual jersey auto Tristan Casas Good stuff Good start good start. It's up spear. It's a bow Not Corbin Corbin would be cool to see too Just because I said one one player's name doesn't mean I also want don't want to see the other 85 people on the checklist. All right, so we got two thousands all stars CC CC sabathia triple jersey out of 4 of 10. I have a lot of slider boxes after today CC sabathia 4 of 10 triple jersey auto MVP award winners. Okay, this could be a big one. I'm gonna say a Low-numbered buster posey on the MVP.  Oh My god Each row Metsui Otani triple relic redemption.  Oh, no, man That's the that's two boxes in right there. That is gonna be something else. I Would just put each row Metsui Otani triple or redemption you can just put redemption If it is redemption make sure it does say redemption though Cuz like when the results post and if someone goes to check it out, but they you know, it's gonna be as specific as possible Yeah, good luck on that you guys Good luck on that Let me get you a link for the next one. We're just hitting big cards here 11 to go on the next one 11 to go I think it's just gonna keep going like this. So young award winners and Hall of Fame Hall of Famers, I'm guessing that says let's start with Cy Young see a Pedro Pedro or big unit I Did I did decide this I decided to pull big cards It's all up to me you guys You could find it on the checklist what would be numbered to I'll just give you guys a checklist It's it's it's a crazy one triple Autorellix I think it's the 10 the 10 or less It didn't have a parallel so I would assume 10 red is the five silver is one of one So Roger Clemens as a Red Sox thankfully Dual Jersey auto Roger Clemens five out of 25 the rocket He had a few strikeouts He had a few Hall of Famers that could be a that could be most of names on this list. I think he's most of the non-active names Sam needs to match this heat Yeah, I'm putting the pressure on him right now. Oh Famers Vladimir Guerrero dual relic auto 19 to 25 Exposed version of Vlad. His cards are bright though. These cards are bright You got gloss on a man. They're like whiter up top this year Vladimir Guerrero 19 to 25 dual relic auto prefer blue jays Clemens Who do you play for blue jays red Sox Yankees Astros am I missing a team? I feel like there's one more in there Silver slugger and tops also rookie cup team. All right, so this is the last box out the case. So we got the next one Yeah, should be the 10 silver slugger Christian might faint if we pull the wander bat nob. You might that's okay. We got we got Aubrey here. We're good Yeah, dual relic auto Wade Boggs chicken man Wade Boggs 17 to 25 for Alec auto Nice bogsy went a little off-card up top boxes or breaker proof Yes, Steve. Yeah, you're drinking a rubbing coke That episode was ridiculous Bobby with junior dual Jersey auto 5 of 25 Second-year Bobby Awesome Bobby with junior we can make that one too dual Jersey auto on the wicks Replace Open us up and link the next one. All right, great first case there again, good luck on that that triple round that triple auto redemption at that Very well might be the biggest hit of the of the break here. We'll see though. We'll see we'll see. Whoa, geez. Whoa Don't throw expensive card boxes across the table. Let's see. Let's see double case to add 11 to go still everybody Yeah, let's see how they let's see how this this four boxer stacks up to the the previous case here silver sluggers in 70s all-stars Silver slugger in 70s all-stars Silver slugger gonna be Miguel Cabrera. I was wrong. It's Dale Murphy though 5 of 10 of the triple relic auto Dale Murphy By that a 10 Do the brave never play in those throwback blues that I know they play in the Hank ones are good But like the Milwaukee Braves, I don't know if they play in those those blues This was 70s all-stars. Oh, yes, Stremsky a lot of red socks in this Carly a Stremsky triple relic auto two of ten again. Everything's game used relics in this product Carl you're Stremsky, you know spell you're Stremsky Christian It's a fun one it's a fun one Good uh, good Polish name with this is a random Z random Z just hanging out in the middle It's like Yastar Zemsky essentially I Planned at the Red Sox cards if I chose which cards are gonna be in this the Raphael Devers bat knob auto would have been pulled already I'll tell you that MVP award winners here. That's how I kept trying to say it to Kyle Yastar Zemsky. Oh, that's a thick one That's a thick one. So this was MVP award winners.  Who's this? Nob is a Freddy Freeman bat knob one of one Look how worn that thing is The manufacturer looks like April 19 2017 Freddy Freeman one of one bat knob a Dodgers Freeman Beauty good luck on that one everybody Good luck on that. Yeah. Yeah, so Every case is gonna have a few pretty pretty nasty things Did a rat get to the back? I think it's just gnawing on it in the dugout I don't know what Freddy's doing with his bats, but they're getting wrecked. Oh my god, Shohei Otani 9 of 25 dual relic auto What if you personal that box you probably have fainted? We're just full on on fire now. That's it. That's it 9 of 25 Shohei Otani dual relic auto Yeah, that's that's what we're working with today everybody top sterling baseball It's no joke It's no joke Yeah, Sterling's nuts. Yes. It's a good time right here. I don't even know what that says something all stars 1990s 1890s Something MLB all stars and then 2023 rookies. Come on Adley. Maybe Corbin. Maybe uh, gunner's not in it. I don't think Already pulled causes. That's the one I wanted to see is a will Clark dual bat relic auto 16 of 25 little foams everywhere. I could put them right here this thing ever Definitely 1890s. Yeah, we'll clock. I don't know will Clark's that old Yeah, still spots for the next two breaks everybody I'm not sure usually with Sterling it's rookies that have had time before this year So like you will not see Volpe and Walker and guys that are playing currently like that had just come up But like Adley has cards in this so usually the rookie checklist on sterling is a little shorter It's typically guys like I said that have played a good bit in the majors So Moreno might be one of those guys. I'm not entirely sure Michael Michael Harris Adley Richmond I'm not sure Corbin Carroll's on it sterling a sterling debut auto relic So it's like Adley Beatty morel young Harris Gorman green and tosses. I think that's about it Speaking of this guy's on fire right now triple jersey rookie auto Christopher Morel Five of ten That's a huge card right now Christopher Morel rookie triple jersey auto five out of ten Good luck on that one too. That's all dude. He is he's doing something else right now He's on another one setting records all over the place Yeah, him playing super well makes the list look really good actually Josh young as a beast Obviously other guys are too This is 90s all-stars 1990s all-stars are 1890s all-stars. He's been on a reel this year He was pretty good last year too. Like he was slept on a lot of people wanted to see him in an update But oh mad dog Greg Maddox dual relic auto 21 to 25 Greg Maddox Cubs Cubs uni Greg Maddox Looks clean this year How's it going warrior That kid's been crazy good. Yeah, if you're ever having audio issues on YouTube just refresh Usually that's what does it because sometimes when I watch on on the on the mobile app It does that well, it'll sound choppy if you just refresh it it It normally sorts itself out last hit of the break is going to be the MLB's Iron Man Cal Ripken Jr. Dual Relic Auto 21 of 25 Ripken jr That record will literally never get broken Okay, give me a sec guys. We'll get the random squared away, and then we'll run it We're still at 11 to go on the next one In every single spot hits random hit style And again, we pulled a Shohei in each case one was part of a triple I still think that triple might be the biggest the biggest chase right here But we'll see let's make sure you get out of that last cell so that I can like get it On the sheet there you go. Yeah, because if it's like if you're still like typing it won't let me like grab it Yeah, try to do first names if you can't sell a huge deal on these guys Set guys changing a few things Yeah, because then there's like Carl and Mike is trying to ski and then if you want to put like a rookie on some of those You can do that too. Like if there are reviews All right Let's run this random or randomized the names and the hits the same amount of times and put them side by side in the Spreadsheets know who's got what good luck y'all Thanks for filling this one up Figures, I'd roll a 12 I'm going 12 times Okay, hang on. Let me change the title of the random I change. I just messed up the title and everything Not four box case number one eight box double case number one now. We're good to go 12 times One two three four five six seven eight nine ten eleven and twelve Scott M. Down to Joey a and the hits 12 times here. Good luck everybody one two three four five six seven eight nine ten eleven twelve Cal Ripken down to the Isherow Otani and Matt Sui Redemption so congrats to Joey. Let's see what we all got here Scott M. With the Cal Ripken John a the Otani dual relic auto and the Freeman bat-knob.  The Bobby wit jr. Dual Jersey Auto Christian M. The Dale Murphy triple relic auto Jacob G The Costas Ricky dual Jersey auto Joshua H. Will Clark on the dual relic auto Mike C. Roger Clemens dual Jersey auto Larry K The Christopher Morel rookie triple relic auto to 10 great hit Larry Ching L. With the Wade Boggs dual relic auto to 25 Ben Wy the sabbathea to 10 and Joey Like I said earlier, each row Otani Matt Sui. We'll get these results posted to the side. I'll get the breakup But we're on to the next one


So it's a little bit later in the day, I hope the copy is kicking in for everyone, starting to work for me. Today, I'm going to talk about what I call real world Ruby testing, and that is a lot of things I guess we've learned from writing and maintaining a sort of freakishly large test suite, but a little bit about myself first. My name, there we go, that's me. I have a Twitter and a blog. If you want to follow along, the slides are up on Heroku, and I work in puppet labs. So when you run this on our project, you get this, and that is almost over 9,000, but what it's not actually showing are all of the tests that didn't run because I don't have a Solaris box or an AIX box, or I don't have a Mac Quartz or Fink, so if you run all of the tests in the puppet lab suite, it's probably well over 10,000, and that seems like a lot of tests, and we've had a lot of experience wrangling those tests together and trying to make them work well with each other and run quickly enough that they don't impose too much of a burden to actually use them to drive development. So I'm going to talk to you today about what I've learned about using tests to drive development and manage change. So there are a lot of testing frameworks, and I first want to give you guys a brief overview of the most popular ones as far as I'm aware and help you possibly decide which one may be right for your next project. We'll start with test unit, which is the classic Ruby X unit testing framework. It's been in Ruby for quite a while, actually before 1.8, but it's in the Ruby 1.8 standard library, so everyone has access to it. And you're probably all familiar with the way the tests look. On top of test unit, we have, oops, I'll get to that in a second. The next one is RSpec, which is the de facto standard VDD framework, I think. A lot, I would say it's probably the majority testing framework that people are using these days. So I think most people are familiar with it. And I think we're all probably familiar with the way it looks. Actually, before I go any further, let me ask you guys a few questions. How many of you have never written any tests before? No hands, that is fantastic. I don't have as much, that is actually, that's surprising. I don't have as much to talk about as I thought I would. So I'll just wrap it up. How many of you use tests to drive your development? Test driven development VDD, 80, 90%? That's a good job, guys, really. This is unusual. This is a very singular phenomenon in the community, I think. So you guys are all familiar with Test Unit and RSpec. You're probably familiar with Shutter, which is a VDD framework bolted on top of Test Unit that adds to Test Unit the context and should from VDD style development. It has a lot of helpful matchers and assertions, a lot of which help implement Rails testing idioms. And those matchers can also be used in RSpec, drop and compatible with RSpec, which is nice. It was written by Timer Sala and the Thoughtbot guys and its tests look a lot like this. You can see some of the Rails matchers in use there. Some of the less popular frameworks that I think are still interesting to look at for how they differ in their philosophy and their design. You may learn something new about testing just by experimenting with a new framework. Many tests, which is actually not that different is Ryan Davis's. And it is now the testing framework that's in Ruby 1.9 as of 1.90. So when you're writing Ruby tests in 1.9, if you're not using another framework, you're using Minitest. Minitest is a Test Unit replacement, but it also has a VDD syntax and it has its own mock object. And it looks like this. And if you guys want to follow along with the code, there's not a lot of code, but you can look at the slides on Heroku. If you want to follow along with the code, this is the spec style. And this is an interesting VDD framework. It's lighter weight than our spec, but it adds, it's designed to be API compatible with our spec, but it adds some interesting features like focused examples and arbitrary metadata. With focused examples, you can have the spec suite only run examples you designated as focused. You can have it run the entire suite or just the focused examples and that helps you trim down run time when we know you only want to focus on a certain area of your testing framework. And you can also use custom metadata to implement your own filters or whatever else you would like. And it has its own syntax that should look relatively familiar. It's a pretty simple VDD framework. It's designed to be simple and that's one of its pluses. Bacon, though, is even more lightweight. It's less than 350 lines of code and that's hardly any code at all. I'm surprised it even runs, but it actually runs really fast too. It's at least in order of magnitude faster than our spec, typically. I've actually got some, Ryan Davis gave me some benchmarks that I'll be showing in a minute here. Bacon has a similar but not identical syntax to our spec. It doesn't have a lot of our specs more advanced features, but I think that's by design. I think it's designed to be a very simple bare bones testing framework and its speed is important and I'll get into it in a while later. Finally, and this is a newer framework, BearTest. BearTest is very interesting. BearTest, written by Steven Resterholtz. And it's a VDD style framework that has a lot of formatter so you can use tap style formatting which, for instance, Vim and I believe Emacs can parse so they can return your test results. By the way, Vim at least can also mostly parse test unit and our spec output to determine file and line numbers. And that's in the Ruby of Embundles, but BearTest has XML and tap compatible output formats and it has the concept of a suite and in a suite you can declare dependencies which we, at Puppet, we bolted dependency declarations and that kind of context management on top of our spec but that's baked into BearTest and it has assertion helpers for things like float inequalities, unordered comparison of collections and it has also an interactive mode which is sort of like a debugger inside your test suite which is pretty cool. And the dev branch of BearTest is not exactly a VDD style framework. It's very different from other frameworks that I've seen before and I definitely suggest you look at the development branch of BearTest for a new take or an old take that's been, I guess, rediscovered in the Ruby community on test-driven development. So these are the benchmarks and Ryan can tell you a bit more about how they're calculated and I should point out that Shuda is slow because of a bug. It's actual, it's real performance with a bug that Ryan fixed is somewhere between test unit one and test unit two. But if we look up at the top, MiniTest and Bacon are way faster, way, way faster. I was wrong apparently about the order of magnitude but way faster at least, you know, 200% faster than most of the other frameworks and that's actually maybe more important than you might think when you're dealing with your test suite, when you're running your tests. Ryan, do you have anything else to say about the benchmark? So probably, I would guess one three but I don't. I'm sorry? He didn't test BearTest because I didn't tell him about my talk and he didn't test it on his own. So I don't have numbers for it but I bet he can have them pretty soon. So given the possible choice paralysis involved with choosing a testing framework, how should we go about deciding first of all how I can get my screen back and second of all, how, there we go, we should choose a framework for our projects, for our company projects, for our personal projects and the answer is actually a lot simpler. By the way, here's an example for, I forgot one, sorry guys, back up. Riot is a take on BDD that doesn't, by design doesn't have set up or tear down blocks because the idea is that it enforces test independence by not allowing you to do things that might possibly cause state leak in your setup or, you know, forgetting to tear something down and it has a setup that defines a topic that's used like RSpec's new subject block and its code looks like this and okay now I'm back on track, sorry about that. Choosing a testing framework boils down to two things, familiarity and expressiveness and what I mean by familiarity is how familiar you are with the testing framework, how familiar your team is, how much experience you have collectively and how much experience your community has. The ease of getting answers for your testing framework of choice is going to be critical because if you're blocked writing a test, that's one of the, I think the worst possible ways to be blocked because you're really not making any progress, you're not learning about your system and you're really just stuck. So choose a testing framework that you are familiar with or can become familiar with quickly and one that has a community that's active enough to give you feedback when you need it to solve your problems and your issues that you have as you learn it. And expressiveness basically means how informative and how much feedback your tests give you about the state of the system under test. A more expressive, some frameworks are more expressive than others but you can write your tests to be more expressive in any of these languages. So something that's maybe surprising but I think is true is I don't think it matters which framework you use. I think that the difference in test quality between a good tester and a bad tester is way, way, way more important than the difference in test quality between any of these testing frameworks. And I just have anecdotal evidence for this but it's pretty overwhelming for me. So use a framework that you like, use a framework that your team likes, use a framework that has a community around it that can provide you the support you need and find one you like enough that you'll use it and really dig into it and make the best possible use out of it. I don't think it, I'm not going to recommend one because I don't think it matters which one you use. And so pick the one that you're most comfortable with and pick the one that you understand the best. So after talking about testing frameworks and sneakily disregarding that topic, I may have pulled a bit of a bait and switch on you guys when I said that I would be talking about testing frameworks. What I really wanna talk about is why we test and how we test. And for a lot of you in here that do TDD and BDD, the first half of why we test may come naturally to you but I think I still have something that may be of interest. Ron Jeffries said a while ago that we test because it gives us clean code that works. And I think that's a strong argument but I don't think it's the best argument. In Extreme Programming Explained, Kent Beck says that change is inevitable but change creates the need for feedback. And this is critical. And I think it's interesting that in Evan's talk, two of the salient points were trust and communication. And I've found that development psychologically is fractal in nature. These values like trust and communication are applied across all levels of scope, across all the different aspects of development. They're applied at low levels and high levels and they apply everywhere. And it's interesting that my talk at its core is also about trust and communication. And we test for two reasons. We test because we want confidence and we want to have communication, better communication about our code. We want confidence both now and in the future. Confidence in the now allows us to drive development and confidence in the future allows us to manage change. And we want communication because feedback, as I said, is essential for dealing with change. Without feedback, you can't change a course once it's set. Feedback is critical. And communication comes in many forms. And another, one of the more, I think, commonly expressed benefits of especially BDD style testing is that the tests themselves become living documentation of the code and that form of communication is also valuable, but maybe not as valuable as tests that create feedback. And I'll get into more about what I mean by that in a minute. The other reasons that we write tests are that tests allow teams to relax and develop trust. Trust with each other, trust with their codes. Customers look forward to releases of well-tested software because they have a greater expectation that it will actually work when they get it. And this is all anecdotal evidence. I don't have research studies to back this up because I couldn't get a grant. And I couldn't get a grant because I didn't apply for a grant, but this has been my experience and not just my experience but the experience of a lot of other people. So I probably don't actually have to sell you guys very much on the benefits of testing. So I'm going to move ahead a bit. Why, so I was talking about why ought we test and that's an easy sell with this crowd, which is good, which is surprising but good. I want to talk about why we do test. What are our goals in writing tests? So what is their purpose? The purpose for writing tests I think are twofold. One is to drive development and the other is to help us manage change. And this isn't a pure dichotomy because development causes change. So driving development is also managing change. But these two tensions I think express most of the value that we get out of testing. So now that we know why we do test what our goals are, I want to talk about how we write tests that help us achieve these goals. And I want to talk about what, I want to try to formulate a definition for what a good test is that will help you write better tests. And I want to talk about some common testing smells or anti-patterns that I've experienced that can really hurt both the confidence or the trust that I have in my tests and their ability to communicate. And I want to talk about testing practices that help improve trust and communication and also that help us manage change. So good tests, I struggled for a long time with a concise definition of what a good test is. And I think I might have found one. A good test for me is something that provides fast, focused feedback. And all of those words are important because a test that is slow, test suites that are slow don't get run enough. If your tests take more than a tenth of a second, then they're too long. If each test on average takes more than a tenth of a second, that doesn't seem like a lot of time. But when you have 10,000 specs to run, that takes a long time. That would take minutes. In our tests, we'd actually run those, almost 9,000 tests run in about a minute, which lets us actually run our tests often enough to get the feedback that we need to drive development. It's also important that your tests only test one thing at a time and that they localize the problems that you do have quickly. When a test fails, you want to know why it fails, where the code is that caused the failure, and how the test describes that failure. And if you can't figure that out from your test, it's not a good test. So that's what focus means. And finally, feedback is about, it's about minimizing the distance between your understanding of your code and your understanding of your tests. Your tests provide understanding of the behavior of your code and how it responds to change. Having a testing framework in place allows you to manage change by being aware of the changes you do make, so that when you make changes, you know you're making changes where you intend to and not anywhere else, and that the changes you do make are actually what you intended them to be. So if you take one thing away from this talk, I hope it would be that the hallmark of a good test is that it provides fast, focused feedback. And that's been very helpful for me in guiding my own test right. Let's talk a little bit about some common problems in tests and how they manifest themselves and how we can solve them. One of the most common problems, especially in large test suites, is stately. This is when two different tests share data and possibly mutate it in ways that would cause, for instance, we for a while at Puppet, and we still somewhat struggle with this, although we're making concerted effort to remove this technical debt, have significant portions of our test suite that would fail depending on the order in which the tests were run. Does anyone see a problem with that? We could literally switch the spec options from make time or change time to change time reversed and get 30 new failures. On a regular basis, this is terrible for providing confidence in the quality of our tests and the feedback that they provide. If they just fail on a whim, how do we know that the given failure you get when you write code is a real failure that gives you real feedback that really localizes an actual change or a problem? You don't. It's crucial that you make sure that your tests are encapsulated, that if they create state that that state isn't shared, if the state has to be shared, you have to ensure that that state is returned to a known state at the beginning of each test. And some frameworks like Rails will help you do this by, for instance, resetting the database every time. But that might not always be enough. And the first thing that I would suggest to minimize state leak is to minimize state. If you have less shared states or no shared state, there can be no state leak. It won't happen. So anytime you're running into state leak, the first question to ask yourself is where's my shared state and what's changing in that state? Once you can answer those questions, you can start to mitigate the problem of state leaking and eventually remove it entirely. The next problem that I want to talk about is long setup or tear down blocks. And the problem with long setup blocks is that it tells you that the code you're trying to test is in some way too complicated to be tested efficiently.  Something is going on that forces you to go to unnecessary lengths to simply get the code you want to test into a test harness. And that shouldn't be happening. Setup blocks should be, it's hard to provide a metric, but if they're more than a half dozen lines, it begins to be questionable. And one of the ways I try to minimize setup and tear down blocks is if I'm using a BDD style framework, which we do at Puppet, the context block that creates the scenario under test should have a corresponding, should have a correspondence with the setup block that it contains. So if my context is context when a user is logged in, my setup block should only log a user in. If it does anything else, it's doing the wrong thing. That also helps us keep a mental correspondence between what the tests say they're doing and what we are actually causing them to do. And that's important. Because if our tests lie to us about what they're testing or how they're testing it, that is extremely detrimental to our confidence, to our trust in our tests. The next issue I want to talk about is long running tests. And I really want to, no it's not. Setup duplication, if you have the same setup block repeated in multiple places, it can be an indication that the code under test requires unnecessary steps to create objects, to create state in the way that it should be and that you may have a design. It's indicative of a possible design problem. And all of these test smells aren't indicative of problems in your tests. They're indicative of design problems in your code under test. If the code were well designed, were well written, these test smells would largely disappear, assuming that you're not introducing them yourselves. So as long as you keep in mind the principles here, if you find yourself writing long setup code blocks or having a lot of duplication between your steps, you're being told by your test the feedback you're receiving is that you may have a design problem in the code that's under test. And you should listen to the feedback provided by your test on all levels, not just spec failures but also your difficulty in writing tests, your difficulty in getting classes into a test harness. Your difficulty in providing dependencies to objects. All of these things are telling you about potential design problems in your code. So after step duplication, set up duplication, I'll get to what I was thinking was next, which is long running tests. And I really want to stress that if your tests take more than a minute or two to run, people won't run them enough. They won't get the feedback they need to and you won't have confidence in the code provided by your other team members. I've got a question. Yeah, what about CI and your version control that forces a test when things are committed? So the question is what about continuous integration and version control and running tests on commits? I think that this is fantastic. I think that all projects should have some way of verifying the functionality of test, of code that's committed. But what I'm talking about today is developer tests specifically. I'm talking about test that developers write for developers. I'm also not talking about QA tests or acceptance tests. I'm talking specifically about development tests. So that is definitely something you should be doing but it's somewhat outside the scope of my talk. The reason I'm talking about developer tests is because they're the frontline of defense. They are the first feedback that we get. Feedback in seconds and minutes is far more valuable than feedback in hours or weeks. It's the time value of time is important here. The shorter the feedback cycles provided by your tests, the more feedback you get, the more quickly you can respond to change and the more quickly you can take action. Having a continuous integration suite that takes an hour to build across all, across different platforms, possibly across different versions is valuable but it doesn't provide the same kind of value that a short running testing suite that written by developers provides. Does that answer the question? So long running tests probably haven't even been run in a while. We had a problem with our spec suite where it took, I think 15 minutes to run and 15 minutes doesn't seem like a super long time for people who are familiar with two hour compile cycles and things like that but in the Ruby world, when you're trying to run an agile shop, when you're trying to respond to the kind of change we see with our community and our customers, 15 minutes for a developer to run tests and determine if the code that he just spent five minutes to write worked is an atrocious and unnecessary waste of time. It's a huge productivity killer. It takes you out of the rhythm of writing tests and writing code, which is one of the great values of driving development with tests is that the tests and the code, the cycle of writing tests and writing code creates a rhythm that helps developers stay in flow for longer. So long running tests take developers out of flow, they disrupt rhythm and code that runs long can itself be indicative of complex, or tests that run long can be indicative of complex code or code that's hard to test and can itself be indicative of a design problem in your code. And the last problem is fragile tests and I think I could probably give an entirely separate talk on the fragility of tests. We have had in the past tests that changing a line in a file on one side of the library code would cause a breakage in a completely different spec that tests a completely different file for no discernible reason, except that we had global state that we weren't managing properly in the test. So stately can cause fragility. Another thing that can cause fragility is improperly scoped tests. Tests that are focused at the wrong level, tests that provide feedback. The fragile test problem is the underlying problem is it's a failure of feedback, right? It's a failure of your test to provide the focused feedback that you need to accurately assess how your code has changed. And one of the ways you can avoid fragile testing and again, I really feel like this deserves its own talk, is to be aware of the trade-offs imposed by mocking versus dubbing versus faking and understand that the more invasive your use of those tools, the more fragile your tests tend to be. And Kent Beck's advice, to do the simplest thing that could possibly work is no more applicable than it is in testing. Writing the simplest test that could possibly work is one of the tenets of testing and development that should be true of all of your tests. You should always be looking for ways to simplify your tests because simple tests mean that your code is simple. And if you can write simple tests that aren't fragile, it's a indicator, it's a perfume, if you will, that your code under test is simple, that your code under test isn't fragile, that your code under test doesn't have state leak or other problems that cause failures where you don't expect them. And that communication gives you better trust in the quality of your tests and the quality of your code. So fragile tests are, I would say, as important, if not more important, than the rest of these, I should put it up there. Because fragile tests are the most sure of our way to undermine your developer's trust in their testing framework is to make your test break all the time for no apparent reason. There is nothing more frustrating than writing a line of code in one file having a test break in another file and you're not understanding why, nothing. So if you see fragile tests, now is the time to repay that technical debt. Don't wait because I don't know, Evan said that premature process is the root of all frustration, but I'm pretty sure that this is very summed. So I don't have time for Q&A. We can do one question. Okay, so let me go over very quickly my list of testing practices and then I will wrap up with a question. So I wanna talk about isolation, isolation between tests, which is to say that your test should not affect one another and this is the antithesis of state leak. A test list when you're writing tests that derive development, I'm sure many of you know who use test-driven development is essential to keep work focused. It helps to prevent scope breach. Regression tests are a critical way to provide feedback about and improve the trust in your code. When you fix a bug, write a test first and then ask yourself why you didn't write that test before you wrote the code so that next time you may be able to anticipate the problem of the future. The first test that you write when you're starting out at the beginning of the day should be a test from the list that you think you are confident that you can implement and that when you implement it will teach you something about the system you're trying to test. Finally, I talked briefly about mocking and stubbing and the perils therein and so I will wrap it up and try to get one question. No, thank you all very much.


He missed it, and now the Lakers will go to the line. Stephen Curry has missed almost 9,000 shots over the course of his NBA career. He has missed approximately 6 out of every 10 3-pointers he has attempted, and yet he has widely considered the best shooter in the history of the game. The question is, why is he the best shooter of all time? Is it his footwork, his shooting form, his hand-eye coordination? Sure, all of these traits play a role, but there are plenty of players with these traits. So then what is it that makes Stephen Curry the GOAT? It's for two reasons. Number one, his commitment to the unseen hours, and number two, his consistent next-play mindset. Let's look at the unseen hours. Stephen Curry has most likely logged more hours and thus more made buckets in empty gyms than any player in history. Steph started playing basketball at 5 years old. He's currently 35. Let's conservatively assume he averaged making in extra 500 shots a day, 6 days per week, 50 weeks per year, from the time he was 15 until present day. That's 3,000 extra makes a week, 12,000 extra makes a month, and 150,000 extra makes a year, for 20 years. That's 3 million extra made shots. That doesn't count the extra shots he made from age 5 to 15, any workout where he made more than 500 shots, or factor in what he made in practices and games in middle school, high school, college, and the pros. That's literally 3 million unseen hours makes. If you do anything 3 million times, you're going to be really good at it. Now let's take a look at his next play mindset. It doesn't happen often, but there have been times when Steph has missed the first 5 shots in a game. Curry dancing along the baseline couldn't get the 3 to 4. Catch and shoot Curry in and out. How'd you hack the paint? Curry missed fires again. He's now missed 12 consecutive shots. What makes him the greatest shooter of all time is that he then shot the 6th shot with the same confidence and optimism as if he had made his first 5 shots. He never lets a previous miss affect his next shot. He misses the shot, next play. He misses another, next play. He wipes the slate clean after every shot and always believes his next shot is going in. When it comes to the unseen hours and next play mentality, Steph and Curry sets an unparalleled standard. That, my friends, is exactly why he is the greatest shooter to ever play the game. But wait, there's more. The unseen hours and next play concepts are not confined to basketball. They apply to executives, they apply to sales professionals, they apply to managers, they apply to you. It's been my experience that what's true in basketball is often true in business.


My name is Gregory Rocco and I'm one of the co-founders of Spruce. Spruce is an open-source software company whose mission is to let users control their identity and data across the web. We believe the world today is moving away from the centralized model of authentication where users log into platforms and may or may not be granted access based on a number of factors to a decentralized one where platforms have to log into a user's data vault and users retain control the entire time. We believe it also starts with open authentication methods based on public key cryptography such as signing with Ethereum and today I'm going to show you how to integrate signing with Ethereum to your Auth0 tenant. To integrate signing with Ethereum you're going to start at the Auth0 marketplace. In the marketplace you could search for Ethereum and signing with Ethereum should show up as a social connection. Once you hit add integration and review what signing with Ethereum will need access to the next step is obtaining a client ID and a secret which can be done with a curl command. Now you have to open up your terminal and insert the following curl command which can also be found on the Auth0 blog detailing how you could integrate signing with Ethereum to your tenant. Note you're going to have to replace the redirect URIs with your own. After you insert this curl command and run it you will be presented with a client ID which you should copy into the client ID section of the setup and a client secret which you'd also be copied into the section. Finally you could decide whether or not you'd like to sync user profile attributes at each login which includes a user's ENS information. After that hit create and finally you could add this seaweed connection to any of your applications in Auth0. To demonstrate this integration I have a sample application here called my NFT gallery and if I hit login first I'll be redirected to sign with Ethereum and then on this page I could sign with Ethereum using one of my many wallets and in this case I'm using MetaMask. After signing in using this prompt I'm now logged into this application that I signed in with Ethereum too and that's all there is to it. We see the Auth0 marketplace as an easy way to get started adding different authentication methods for your users and the signing with Ethereum marketplace integration as an easy way to get started with native Web3 users. Thanks again!


How to beat any 6 star ditto tear raid in under 5 minutes First thing you need to do is catch a ditto. It can be any ditto and it doesn't matter which ability it has. You can find a ditto in this area of the map. Next thing you want to do is head over to the 6 star ditto raid and host it with one of your friends or on your own. It doesn't matter. Head into the raid with ditto as your pugman of choice. Since you're the one that's hosting the raid, the wild ditto will use its impossibility on you and turn into a ditto. For the rest of the battle it will try and use transform on you but it will repeatedly fail because it can't turn into itself. All you have to do then is transform into one of your partnering pugman and defeat the ditto while it sits there and does zero damage.


that was canceled and that sucked because I would hope that how I try to carry myself now and how I try to continue to change and call myself out and be very self-aware for the most part, I would think that would, I don't know, I don't know, but you know I can't, it's not my place to ask or I don't know, I don't really know what I'm trying to say.  What is up everybody? This is Chris from the Rewired Soul where we talk about the problem but focus on the solution and if you're new to my channel, my channel is all about mental health.  So if you're new to that kind of stuff, make sure you subscribe and ring that notification bell. So yeah, Thomas just came back and he posted his first video since his whole other video that I talked about with virtue signaling and talking about like white privilege and racism and it was just, ah, he ended up deleting that, a bunch of stuff went down on Twitter with Jeffree Star and all of that, but we're here to learn some lessons from good old Thomas, okay? So yeah, real quick, real quick, like it was really weird because Thomas kept saying a month, but it was only been two weeks and it's really interesting too because I see a lot of parallels between Thomas Halbert and Tana Mojo and Tana was doing that too. She was making like, she was saying like she hadn't been on social media in like a month and she hadn't been on social media in like five minutes. Anyways, I just found that interesting. So before I jump in to the tough love for all of you as well as Thomas Halbert, I want to talk about this clip right here. I struggle with an eating disorder, okay? And whether you want to take that as a lie or not, whether you want to take that as me trying to get sympathy points from people, that's fine. You can think that all you want, but I struggle with an eating disorder and I was getting hundreds and hundreds of comments, not only on Twitter, but on Instagram, calling me obese and fat and unskinny. So yeah, in that clip, like man, we live in just such a brutal time. A brutal, brutal time. Like sometimes I look at like my tough love and I'm just like, am I being too rough on people? Am I being too hard? And I see stuff like this.   Thomas is young, immature, possibly dumb, but like it is not cool to go after people in this way. Like I think I talked about it after Mac Miller passed away and the hate people were giving Ariana Grande and Pete Davidson. Like to go after Thomas Halbert's eating disorder and purposely tried to do that, that is just not cool. Like it absolutely sickens me and disgusts me and just, I don't know, the internet, the internet is this amazing thing that terrible people can use sometimes. So I'm sorry that Thomas had to go through that. If any of you have to go through that, I'm sorry that sucks.    But you know, come join our support group on Facebook. It's great. We'll talk.  Alright, so let's get into the topic about how Thomas needs to un**** his adulting. So speaking of, boom, do y'all know I'm doing a giveaway for this book? Thomas, if you watch this, I will send you a free copy of un**** your adulting, okay? All of you need to read this book. Like, I'm sitting there and I'm going to touch more on these topics in a second. But man, like, people just need to grow up and this book has all of it. But I'm just going to talk about some of my lessons that I've learned and talk about some of the things that Thomas discussed throughout this comeback video. But if you want to enter to get a free copy, go watch the video that I'm going to link in the info card as well as down in the comments below. The giveaway is going until November 4th. Not only did I catch myself doing it, but my boyfriend at the time caught me doing it. Friends caught me doing it and it wasn't a situation where, it was a situation where I had my boyfriend, like, friends coming to me being like, Thomas, we don't like how you're acting. So I have been working on myself to become a better person for a month prior to any of this coming out. That's why I made that video. Alright, so right there, right there, Thomas, like, he seems really frazzled at the beginning of this video. I'll say that he gets a little bit more comfortable later on. But like, he's like talking about how like, by the time I recorded that video, I was working on myself for a month. Like, what? Like, this is one of the biggest issues that people have and it's interesting too because this is kind of what Fuzzi did too, like, you cannot just be like this, this awful person and then think like in a month that you're like this enlightened human being. Like, that's not how it works. That is not how it works at all. You need more time. I've made videos in the past about how actions speak louder than words.  It wasn't fair of me and I was being a hypocrite at the time.  Like this right here, this is a perfect example of that old saying of like people living in glass houses should not throw stones. Okay, it takes more time than that to change who you are as a person. But the thing is some people like, you know what, I've been screwed up in the past so I'm good now. No, give it a minute.  Like I get that and I agree with that. Everyone makes mistakes we're all human beings.  You kind of had that coming and I totally accept that and I agree with that. This clip right here is exactly what I was talking about with virtue signaling. Exactly what I was talking about. Okay, this is why virtue signaling can get you into trouble because like what Thomas explained and it's funny because someone sent me a tweet. I forgot who it is but I'm going to have it up on the screen right here. I'm going to make sure Zach puts it in. Anyways, Thomas like made a tweet about people accusing him of virtue signaling and then he deleted it but what Thomas doesn't realize I don't think is that he's admitting to why he was virtue signaling and this is something that we all got to recognize, right? Like when we throw this out there, when we put up this big old virtue signal sometimes it's to make us feel better about ourselves, right? Like for example, some of you might know you're a narcissist and Katie Moran just did an awesome video about narcissists. By the way, check out my buddy Ryan Liberty's channel. There's a bunch of video about narcissists and narcissistic personality disorder but a lot of those people who puff up and try to act all holier than them, it's because of their insecurities and that's what Thomas is talking about. So Thomas doesn't realize that that's why he was doing it but this is why some people doing it because they don't feel great on the inside so they have projected this image of themselves on the outside and as you see with Thomas, it can backfire right in your face. So yeah, a few people like DM'd me on Twitter and they were like, hey, did you see Thomas's new video? I'm like, no. And some people were talking about it. It seemed like you played the victim and all that and like, I do agree. This entire video he was double talking. He was double talking. He was like, it's not an excuse but it is justifiable excuse. Like he went back and forth on this like a dozen times. But anyways, in that clip right there, like he's talking about how people are like judging him for his past or judging him for his past. Like let me make this very clear to all of you out there who try to get into that victim mode. Like do you guys understand that you are watching a guy who was a drug addict and alcoholic for about a decade, okay? Like not many drug addicts and alcoholics are good people. I was an awful person. I had to leave my son for a year. I stole money. I made my family like worry about me constantly not knowing if I was going to die.  So why do you think it is? Why do you think it is that people aren't coming at me calling me a hypocrite when I do my YouTube videos trying to give you advice on how to improve your mental and emotional well-being? It's because of exactly what I was telling Thomas at the beginning of this video. It takes more time. If I would have hopped on to YouTube after being sober for a month like people would have called me a hypocrite, right? But I've put in the legwork. I've put in the work to get where I am today. I've gone through all of these changes. So now what I say holds depth and weight. So Thomas mentioned somewhere in this video that you know he had the right message but the messenger was wrong. Exactly. Exactly.  Like I'll never forget. I had a client who relapsed and he was getting drunk all over again and he calls me drunk from the bar and he's like really upset and I'm like what's going on man? And he's telling me that his friend won't get sober and he's really trying to help her get sober.  You're getting drunk. Why would she listen to you? Same thing Thomas. You are not a changed person yet. So do not try to give this message trying to tell people how to be better. I'm 21 years old.  Oh the good old child excuse. I'm just a little baby. Like you guys we need to stop this. We need to stop this. This is the Tana Mojo excuse. Like you can't want all the celebrity you can't want all the power. You can't want all these things but just take all the good and leave all the bad. Like we see people like Tana Mojo say this all the time like I'm just a human. I screw up. Like that is such a cop out to screw up. Like quit saying that all right. Yeah you're 21.  I'm sorry to say it. Like there are many many many other people who have like moved out like one of my best friends got emancipated when she was 15 years old and started living on her own. Okay. So when I hear these 21 year olds trying to use that excuse I find it as complete BS. There's people watching this video. There's people like me who had to raise ourselves at a young age.    Okay. You don't get to use it. What this month has told me is that being who I was before was just exhausting mentally and everything is just a draining person. So I wanted to end this video by showing that clip. Thomas is exactly right. It's exhausting. It's draining to live like that. Like you guys like I can't explain to you enough like the reason I'm making this video the reason I make all my videos I used to be Thomas. I used to be Thomas right. Like I used to be the guy who was seeking validation. I've admitted in other videos that I used to be a drama queen. I would always do this and it was for different reasons and it wasn't until I started working on myself that I figured this stuff out you know and like man I was angry all the time. I was lying all the time. I was keeping secrets. I was sharing secrets. I was doing all that. It's just exhausting man. It's so exhausting being that kind of person. Like one of the reasons I'm a better person today like it was hard. It was exhausting to try not to lie to try not to stir up drama to try not to do these things. That was exhausting but my life is so peaceful today. I would do it a million. A million times over again. Alright so you know Thomas mentioned that he's working with a therapist and talking to them and kind of realizing some stuff but only time will tell. Only time will tell. Again I'm really glad that Thomas is you know getting help for his eating disorder and he like the second half of his video if you want to check it out if any of you struggle with an eating disorder. Like that to me is the most inspiring thing like I think in my opinion Thomas could make more of an impact in the community and change his image if you will if he started making videos about his eating disorder recovery because if you think about the audience he has he could really inspire a lot of people. A lot of people who are struggling with eating disorders. Alright so like that would be my suggestion to him people would start seeing that his actions are speaking louder than words. As far as will he change? I don't know man. I don't know. Gabriel Zamora in there. Like I haven't done a video on Gabriel yet but Gabriel after his whole many things like oh I'm gonna change and I'm gonna quit being petty. Like the snapchat that Thomas is referring to is like 20 minutes of Gabriel being nothing but petty. So I don't know. There's just so much drama in this beauty community it's hard to know if these people are gonna change from just being you know involved and keeping an eye on it for the past few months. Like nobody's changing.  Anyways hopefully Thomas does change. Like that'd be cool. And again, Thomas you watched this video copy of this book is yours. But everybody else check down in the description below as well as in the pinned comment. I'm gonna link to the other video where I announced the giveaway. It's going on until November 4th and I'm giving away five, five copies of this book on your adulting. Alright. But anyways anyways let's have a conversation too down in the comments below. Are you somebody? Are you somebody who uses your age as an excuse? That's what I want to hear. That's what I want to hear. And why do you think that's a justifiable excuse to use? Alright? It just humors me. Anyways, that's all I got for this video. If you liked this video please give it a thumbs up. If you're new make sure you subscribe and ring that notification bell. And a huge thank you to everybody who supported the channel over on Patreon. You helped me do something that I love which is spread a message of hope when it comes to mental health. And if you would like to become a patron you can click or tap right there alright. Thanks so much for watching. I'm your adulting and I'll see you next time.


So oil let's take a look at this oil market. We get Saudi Arabia. They're gonna basically go out to market They're not going out to our market. No, well, no, they're not then so you get oil up this morning 56 95 you get 271,000 contracts. Let's look at this. Yeah, so you got a Ramco going to Riyadh right the yeah index over there And you know just to keep it in context man. They were originally gonna pump out 5% of their equity in International markets, they're now gonna push out, you know, 3% in a foreign market, which much much less reporting standards Buyer beware extremely I wouldn't touch that thing and the the valuations I heard Goldman was saying they might be worth 2.2 2.3 trillion and then you had I forget what company might have been Bank of America But a legitimate big analyst saying maybe as low as 1.2 trillion. I mean this sounds like a we work type You know, it's like maybe it's worth 2.4 trillion and an analyst saying maybe it's worth 1.2. Well, then maybe it's worth 600 billion I don't know, you know, and why would you believe anything they push out when it's a state-owned Saudi Arabia oil? I mean, this is the same country to bring things to reality that just basically killed a US resident Yeah, you know, right. Oh, it's so buyer beware to say the least. Yeah, and you know I'm really surprised that they're doing it this quick after we work because it's like, okay You know the broken the other community the banking community they make a percentage of what is going to get pushed out Yes, of course, they're gonna try to justify as high as they can get. Yes. It's just amazing that to me that people would actually I Agree, so we'll see I agree. We'll see where it shakes out And at least some of the people might be protected because it's at least not on the NASDAQ not on the NYSE Whereas most people Won't be buying an equity that's trading over in the Riyad Exchange or what not but still and it's people are gonna get hurt if they buy it and they lose their money When you have a company like Goldman out there saying it's worth more than two trillion dollars and they're very biased by that recommendation Yeah, yeah, so we'll see where this oil market wants to go. That's kind of interesting actually I mean, it's like, you know what they pump in the little mock-up at the same time Yeah, oh totally, you know because you're over the swing point now. I mean that's saying 58 Well saying 58 19 is game. That's the bottom of the downdraft out here. That was Well, actually was an updraft the next day was the downdraft that was September 16 And that was the attack on those Saudi oil fields. That's right, of course. Come on. Look at that gap Come on, we weren't even searching for this story, but it's up there and it's interesting nonetheless, right? So they're pulling out all the stops to ensure success for the IPO after the Crown Prince finally decided to offer shares The kingdom cut taxes on the company for a third time revealed incentives for investors not to sell and it's considered boosting dividends further Yet the Saudi government's already conceded the company probably isn't worth the two trillion valuation They've long advocated while somebody should tell Goldman Sachs that as they're out there pushing two plus trillion And just to keep in mind again, you know, there's probably not a lot of investors I think we're plowing money into this even out there listening thankfully But when you have a state owned oil company, right? They can tweak everything in terms of they can shift so let's say the company's making Boku bucks All right, you invest in the company. They're just crushing it Well, the state oil the state decides to just tax the oil company greater right and they take all the profits from the company and Meanwhile, it's still state-owned So it's just kind of shifting it from one bucket to the next and all they're doing is taking the money from investors in the company To push it back to the state meanwhile the state owns the company the state gets the taxes So they're lowering all the taxes ahead of the IPO But then they could just raise them back up the moment that the IPO is pushed out to the public And if you want if depending on how long a shot your memory is hoax, okay, you can remember that the next paragraph there I went up go published a So-called intention to float on Sunday the most dramatic change to Saudi oil industry since the company was nationalized in the 1970s Yep, and that's when the kingdom took it over sure, you know, so the bottom line is that Then here's where so Saudi Arabia is aiming for a valuation of 1.6 to 1.8 trillion Goldman Sachs told investors it's worth 1.6 to 2.3. What would it? What is that? You know, I mean seriously Bank of America another top bank in the deal had a bottom range set at 1.2 BNP Paribas looked at 1.4 to The Bank of America is still another top bank in the deal and they're still saying 1.2 So be skeptical of even that You can see what's happening there, but they're employing 20 banks folks on its IPO So they're splitting they're trying to get every I'd say I got everybody in their pocket exactly So everybody's got a bias as they push this thing out. Yeah, and they got to figure out they got to get to a price that they can just Push so much out. Yeah If it's only 3% that's that I don't think that's gonna be hard for 20 banks to basically get clients, right? You know, but good luck in a year. So Where's that price gonna be right in there? So they had a naked income last year of 111 billion most profitable company of any corporation with an act Apple Google and Exxon combined, but the company's pledged to pay a minimum of 75 billion in dividends What happens in a downturn? What happens if they decide to say, you know what? We're gonna raise the taxes on that company to 85% on an annual basis because the state needs the money from the State-owned oil company and I'd question the aspect of them going public period I agree. Yeah, because of the fact that okay, if You're in a great business folks, okay, and you have plenty of money which they do. Yeah, why are you basically saying? Okay, now you can have some money public, right? That's just yeah, not how it goes and we can see, you know I mean there's there's alternates to oil right now and yeah, I'll turn it away Yeah little by little I mean most of the time you go public because you don't have the capital required to grow the business at the rate that you can grow it at Saudi Arabia I said a private company this is from 1970 talking about 50 years seems like they've had their infrastructure built out They're just selling it off because they think it might be great to diversify well Guess what? You don't diversify if you have the best company out there, right?  There's no doubt. Yeah