Thanks for joining my session. You probably saw on the schedule this is a non-core talk. I already gave the talk on Tuesday, and so many people apparently couldn't get in the room. It was already full and people were standing, and so they asked me if I could do it again, and I said, sure, be glad to.  Except you guys said, thanks for coming. Get a very exclusive presentation here. I feel like I should move closer to you because you're so far away, but we'll make do like this, okay? As Solona pointed out, you just get to ask more questions. There wasn't enough time. I mean, it was like 10 minutes, but we have more time. I would like you to meet Steve. This here is Steve. Steve is a real person. This is not his real picture, of course. Steve is a mathematician specializing in cryptography. He has a PhD in graph theory, and he is now 54 years old and lives in Staffordshire, England, which is near Birmingham. Steve works as a software developer, and because he's really good at his job, it's not exactly just a nine to five job, right? And because he enjoys his work, he also has a little site project of his own that he started in 2003, and something to do with secure online communication. This project became more and more popular. So first it was a few dozen downloads, and then a few hundred, a few thousand, and now it's well over the hundreds of million downloads. Steve, his full name is Dr. Steven Henson. Fortunately, after a while, Steve was joined by another Steve, by Steve Marquez. And Steve Marquez, the second Steve, he was more on the business side and concept and stuff, and Steve number one, he was still the only code reviewer and maintainer from that perspective, okay? So together they became known as the two Steves. Now, Steve and the other Steve, they worked a lot, put a lot of hours into this project and more and more, and I guess next to a regular daytime job, that can be very exhausting. So now in 2012, a German student from the University of Münster made a code contribution to Steve's code base. Steve reviewed it, deemed it good, and took it over into the code base. What they didn't know at the time was that this code contribution introduced a bug that was only two years later found out and exploited, and this bug became known to a greater public as the Heartbleed Bug, you probably, or you may have heard of it. This bug caused the single most severe security breach in the history of the human race, and it was a big problem at the time. It was only then that people started to look into who is actually behind this very popular project called OpenSSL, you've probably heard of OpenSSL as well. Virtually every online communication on the internet uses OpenSSL. So it was only then that people looked, who are these guys that are behind it, and they found out it was these two Steves, and it led to funny headlines like this here. The internet is being protected by two guys named Steve. It was spot on, right? The internet was protected by these two guys, and they only did this as a hobby, right? They were not being paid for this project, and just worked on it because they thought it was a good idea. It was a good idea, but so the bug put the spotlight on this thing that until then had worked nicely, right? So the two Steves, they did receive a lot of sympathy from a lot of people, but they also received a lot of harassment, a lot of abuse.  They were even accused of being spies, either for the NSA or for the Russians, introducing a backdoor that could be exploited. Same for that student.  So it was a really tough time for the two Steves. Now, you've all seen this picture, I assume. It's just such a good representation of the typical situation in software development. One component builds upon the other, and so forth and so forth, and then you end up in a situation like this, where you're all dependent on this one little building block at the bottom, and if a problem happens there, and if you take it away, it all comes crashing down, and we'll have a long period of scrambling as we try to reassemble civilization from the rubble. Sounds a bit dramatic, but it is. And another example is this here, log for shell, you probably have heard of that, because that's only very recent, less than a year ago. And the situation is very similar to the two Steves, except here it's three guys, and they don't have the first same name. They have their called Ralph, Matt, and Gary, but Ralph Gores, for example, who's the project lead for log for J, he also does this purely as a side job. He's not being paid for it, right? So we have a very typical situation. So open source runs the internet, right? And by extension, the economy, and yet a lot of time, even it's very common, even for core infrastructure projects that they depend, that they run and maintain and depend on a small team of maintainers, or even only one person who's not getting paid to do this. Okay, so it's actually a surprise that this doesn't happen much more often. I mean, a lot of problems occur, but very, very difficult, really crucial problems like this happen. There was a few others, I just picked those examples. It's actually kind of a surprise that it doesn't happen much more often. What can we do? What are ways to remedy the situation? So I mean, one suggestion, of course, was yeah, I told you so, just don't use open source, it's not safe, right? Kid, I don't think we need to discuss this idea here in this round, but another idea was, so we should have, in every company, we should have a central governing body that whitelists open source libraries and checks them if they're safe to use or not. Now, I do think that is a good idea to check the open source libraries that you use. I'm not sure if a central governing body is the right institution to do this, but it's an option, I mean, it's a viable way, but I think I have a few better ideas. So here we go. One is contribute, like go and make contributions to the open source project that you use, that you like, and that you probably depend on. Try to strive for high quality contributions, yeah? I mean, don't let this keep you from making any contribution, right? Everybody is a first-time contributor at some point, and first-time contributions a lot of time are welcome, but I should be a bit more careful with the microphone. Sorry. What I'm saying is when I say strive for high quality contributions, don't just throw something out there, some chunks, and tell the maintainer, well, you figure out the rest, okay? Don't do this. Try to be as good as possible with your contributions. Now, contributions was never a problem of the two steves. They had about 200 code contributions lying around at any given point in time, waiting to be reviewed by the Steve. So, but maintainer fatigue is still a problem, and when there's one or two maintainers only. So another idea is become a maintainer, take responsibility for an open source project, and be one of the maintainers, okay? Like as you get more and more engaged, maybe they'll ask you to join the maintainer group, okay? Obviously, you can't always be a maintainer for the projects that you use, because everybody's time is limited, but maybe, you know, one project, be a maintainer, the more maintainers there are, it's distributed, work distributed over more shoulders. Another idea is become a member in a foundation, you know, for example, the Linux Foundation, or the Eclipse Foundation. So we at Mercedes-Benz, we are members of Linux, we're members of Eclipse Foundation, also CloudNative, Hyperledger, and a few more. So the foundations, you know, they usually provide, for example, a legal infrastructure, or security infrastructure, and other things, you know, so that's usually a good idea. So I believe in foundations. And here is another idea, and that's sort of the point of this talk. Consider paying money to open source projects, reward them for their work, and if more and more people do this, then maybe at some point, people like the two steves can quit their daytime job and do this project that is their own as they're living, and make a decent salary, a competitive salary off of it as well. So according to one source, the Steve number one, he made, before the Open SSL Foundation was formed, he made about 20,000 US dollars a year. That's not very much for a 12 to 15 hour job, right? So give them the, yeah, reward, the monetary reward that they need and deserve, okay? So let's look into this a bit more. You know, it probably seems like a bit far-fetched that for-profit companies would spend money on something that they actually get for free, right? But I can tell you that we at Mercedes-Benz are doing exactly that. So as of about a year ago, we have started to financially pay money to open source projects that we use, that we need and that we like. So if you go to our GitHub sponsors, if you go to our GitHub profile, Mercedes-Benz group here, you can see currently we are sponsoring 34 organizations and developers. That it doesn't include the ones that the sponsorships that have expired, you know, you can choose if you do a one-time payment or if you pay per month for a period of time. And so the ones that we did that have expired, they're not mentioned here. Currently we have 34 and you can see some of our projects here. So Curl, Curl is a project that is actually not short of donors. So Daniel Stenberg, the maintainer, I think he's doing okay, you know? But still great work that he does and we're sponsoring. Then Fiber, you can see OpenSSL. I have an idea how that got in there. Yeah, because we just thought it was a worthy project, right? Cinder Sor, who is that? I don't know if you know this guy. He's one of the real open source heroes out there. I mean he has hundreds of projects that are used a lot all over the place. So he also makes a living off of it. And I think he's okay as well. But the majority of projects, the maintainers, they cannot live on it. How do we pick the projects is usually a question I get that we sponsor. So what we do is we ask our community, our developer community, and say, hey guys, we're gonna collect suggestions in the next few weeks, please make suggestions and tell us which project we should sponsor, which developer we should sponsor, and with how much money, and why, okay? Then after a deadline in our OSPO, we review the suggestions and then we allocate money to the projects and the developers. We pick, we look at the project, we look at the reasoning. Somebody says, please sponsor Curl because we use Curl all over the place. It's one of the projects we really would hurt if that wasn't there anymore tomorrow. So then we look, is it an active project? Because if it's not active, then yeah, we don't want to spend money on not active projects. We also look, is it a popular project? Is it, does it have 10 stars on GitHub or 10,000 stars? That plays a role, and so forth. And then when we have a good feeling, then it was like, okay, we'll sponsor this. All right, we have done this three times already, so three rounds of call for sponsorship suggestions. We are now very soon kicking off the fourth round. So we're collecting more suggestions and we hopefully will keep doing this from now on forever. Yeah, okay, we'll see, but that's the idea, all right? In case you think, that's a great idea, I want to do this at my company as well. I want to give you some insights, how you can do it and how you can set it up, okay? So we at Mercedes currently just use GitHub sponsors to pay money. GitHub is our partner. We have our corporate IT develop software on GitHub. We also use GitLab in our research and development unit, but GitHub sponsors, maybe you've seen it, there's a, if you're on a project site and a developer, you can click on the heart, it's a sponsor, and then you can make the selection how much you want to sponsor for our loan and so forth. Okay, so it's fairly easy. They are still in a, it's not a pilot anymore, but they introduced this two years ago at the GitHub universe in 2020, yep, which was in, what was it, December 2020. And they're not taking any fees yet, but they will do so probably soon and they don't know yet exactly how much fees they're going to take, but it will be around seven, eight percent is what GitHub tells me. And they don't want to make any money off of that, so it will just cover their costs, the costs on their end for the sponsors program. There's also a very, another popular platform that is Open Collective or Open Source Collective. They collect 10% on the incoming fees. I have that number verified, my first talk on Tuesday, somebody from Open Source Collective was there and he said, yes, the number is correct. There are other options as well. I want at Mercedes, I want to add other options like Open Source Collective, but just haven't gotten around to doing it yet, but these two seem to be the most popular options, I think. There's also, this is probably also very popular still, the Linux Foundation crowdfunding. They don't take any fees for the first $10 million and then 5% after that. And then there's a few smaller options. You're like LiberPay, Bownisaurus, takes those tight lift issue on the access code. I haven't tried them, to be honest, but I just for completeness purposes wanted to list them here as well, okay? So, now it sounds easy, right? If you go back to your company and say, I want to do this and if you work at a big company, then it's not that easy. So, let me give you some of my experience, what you may run into when you try to set some of your company, all right? So, right now the way it works is we give money to GitHub and then we tell GitHub via the sponsor button which developers or project they should give the money to. It didn't used to be the button because it was still sort of in a piloting stage up until like three weeks ago. The process was slightly different, like I gave them an Excel sheet here and I put in the numbers and the URLs and everything and then they used this Excel sheet and paid the money. So, it wasn't automated yet, but now it is, okay? As of like literally three weeks ago, now I can go and push the button, which is something that individuals could do before even but for corporations now, the button is active only as of three weeks ago. So, but the question is when you give money to GitHub that they give it on to somebody's sponsor, it's not that easy because as a company, when you pay money to someone, usually there are two ways to give money to someone. The first one is you buy something, so it's a purchase. And the second option is you sponsor someone, traditional sponsorship, yeah? So, for example at Mercedes, you know we would pay a famous athlete that they wear our logo on their sleeve or chest or wherever, yeah? They're famous, they're brand ambassadors for Mercedes, something like that, yeah? Now, what's open source sponsorship? Is it a purchase or is it sponsoring? You know, it sounds like sponsoring, but is it really because they're not actually carrying our logo on their sleeve and sort of making advertisement for Mercedes-Benz cars, right? So, it took me a long time to figure this out or because it was a new case, you know? So, first I went to the purchasing people and I said, I would like to pay money to GitHub so they can give it to other people. Is that a purchase? And they said, well, are you buying something? And I said, well, not really. I just kind of want them to be around, you know, they can do their own thing. And I mean, what the first recommendation is, well, okay, you pay the money and then you tell them, hey, for this kind of money, can you please implement a few issues for me? Okay, that's possible, but that's not the spirit of open source sponsorship, right? They know best what is best for the project. They have known this project and what's best for the project for many years, so I'm not the one to say this, so I don't want to, hey, we give you $5,000 and then you implement two issues. I mean, that's, okay, as I said, that's not the spirit of open source sponsorship. So, I told purchasing people, no, I'm not buying something, I just kind of like to give them money. Well, okay, then it must be sponsoring. I'm like, okay, so I go to the sponsoring people. I said, hey, I want to sponsor this open source project.  Do they apply? You know, do they wear the logo on the sleeves? Are they famous? Blah, it's over there, I'm like, not really. Well, then it's a purchase order, go back to them. So, I went back to them and I said, you know, this is not helping. So, got everybody together and there was discussion and they said, it's sponsoring, it's purchasing, it's, you know, so I'm back and forth. And you have arguments for both side, but it's not completely, it's not completely, so it's sort of in the middle. It's open source sponsorship, it's not something that fits the processes of big corporation, okay? So, at some point we just made a decision and said, okay, let's treat it as purchasing, even though we're not actually buying something that we can hold in our hands, but okay, fine. So, done. Now, the next thing is compliance. That's very important always, but it can be difficult to figure out as well. So, so here's the thing. When a company pays money to somebody, you have to check their background. You have to do sanction list checks because as a company, you're not, you don't want to pay money to somebody who is, you know, going to spend it on the dark web or funds dubious things with it, right? And then this, you know, makes the news and then you're in a Mercedes sponsors, well, I'm like, oh my God, that's the worst that can happen. You don't want this, right? So you need to put them into a sanction list check. Every company does this. I'm pretty sure every company does this. And so, what you do is, you know, they're automated systems and you put in their name and residential address and then it comes back green or it comes back, not green. If it's not green, then you have to usually make a manual check. And in 99.99% of cases, you know, everything's good, 0.0001, you know, there's a problem then don't give that guy or don't give that person money. All right, so I need the name and the residential address of the person. So I go to GitHub and I say GitHub, I went to sponsor this guy, but I don't have his name. Some GitHub profiles have their real name. Some have their email address as well. Sometimes the email address is in the commit message but it doesn't have to be there. And their residential address is usually not available, right? I mean, I wouldn't put my, why would I put my residential address in my GitHub profile? So I say, the ones that have an email address, fine. I can ask them, the ones that don't, I go to GitHub and I say, GitHub, can you please give me this person's email address? And then GitHub says, sorry, can't do it, you know, data protection laws. So I'm like, okay, because GitHub promises their users we will not give your information to third parties. We're a third party, even though we want to give them money, but we're a third party. So I had to go and find a way to contact this person. So some I found on LinkedIn, some I found on other social media, some, what was another thing? I Googled, you know, found them and so, but I had to do this for every project, right? Right, so now I have an email address. And then I send them an email and I say, hey, can I please have your residential address? Because I want to give you money. And so, I don't know, all of a sudden I'm this guy on the internet that writes emails to people saying, hey, I would like to give you free money, can I please have some information from you? And you can trust me, right? And I'm like, how did this happen? Okay, they actually did reply, like all of them replied in the end. And some right away, some after a reminder and some after a couple of weeks. But I guess, you know, my email address and my sender address and my footer and everything seemed authentic enough that they actually did reply. But imagine the situation, it was really weird, all right? And now, once that back, before I could even send this email, I had to align with our compliance people on that. I said, compliance people, I'm gonna send them an email to ask for their information, is that fine? And they said, whoa, hold your horses, you can't do that. Like, why not? I want to give them money. And then they said, yes, but you have to tell them all about data protection laws, you have to give them a reason why you need it. You have to tell them where you're going to store that information and for how long and that at any point in time, they can revoke their consent, you know, blah, blah, blah. They gave me like a two-page document. Here, this is the email you can send them to. And I said, no way. If I do that, you know, this was two pages in perfect legalese, yeah? I said, I want to send them an email that normal people can understand. At which point, our lawyer said that he actually did consider himself to be a normal person. But so, legal people are a normal person as well. Anyway, so I really shortened that text down, you know, to understandable English and I had to say, can I word it like this and then that was fine, you know? But it took a while until we got there. So, okay, then I had to text, then I sent them an email, then I got back the information, then we had to put it in this action list check and then we could give them money. So, the point is, it's not that easy. These are all the things that you might run into in your company as well. It took me months to set this up and it was not because I was procrastinating. I was, of course I have a lot of other things to do as well, but this was just, you know, talk to these and them and back and around and so forth. So, it was an interesting process. In the end, we made it and, you know, the first round took a long time, the second and third round were much easier. And so, GitHub and their payment provider Stripe, they also do these sanctionless checks. So, at some point we said, okay, they do it because they also don't have any interest in being in the news with funding, you know, nefarious causes.  Again, a third time, right? Two times is enough. Okay, that's that. Now, once you have done it, here's some of the feedback that we got from the people that we sponsored. So, I don't know if you can read it back. I'm humbled by the fact that people found out about my project and actually use it. Thanks, it really gave me the kick I needed to continue working and that good feeling one gets from contributing to something. This helps the team to be even more motivated to increase the quality of the project. Thank you again for the recognition. I am also receiving a lot of contributions from the team, which I greatly appreciate. So, I like this comment especially because, you know, we're not only giving them money, we're also giving them code contributions. And then here, we're very happy to get a sponsor and hope it will open up all sorts of new avenues for collaboration. Now, everybody's, most people tend to be very happy when you give them money, but this here, it shows that actually what seemed to matter more to a lot of people was the recognition, you know, the pad on the shoulder, the thank you for your good work, yeah. Also, by the way, so when we sponsor a project, as I said, right now, we still only do get up sponsors, plan to add the other options in the future. But so, if a suggestion from our developer community comes and they don't have get up sponsors enabled on their profile, we send them a message, an email, or an issue saying, hey, have you considered get up sponsors, could you please add it because we want to give you money. And then some projects do it, some is like, well, I can't, or we'll do later, something like that. But one project in particular gave us the feedback, like they enabled get up sponsors, set it up on their side. And then a couple months later, they said, hey, you know what, Mercedes, thanks again actually for asking us to do this, because after we set it up, we received money not only from you, but we have gotten 20 other sponsors since then. And that's a particularly great feedback, because that's actually sort of really the point of doing this. You know, we can't finance everybody on our own, but if many people, many companies do this, then it will add up to amounts where maintainers can actually maybe live off of it. Right? Now, moving on and sort of round and round, I'm going to stop here. Here's our open source landing page, opensourcemercedesbands.com. You can find our projects, our open source projects, some articles, some news articles. There's not that much there yet, because it's still fairly new. And there are also not that many open source projects yet. There's quite a few, but not that many, but we're adding more and more as we go along as we move on in open source. You can, also I want to point this out, here in the top right, you can find the manifesto. This is, go there, this is our FOS manifesto, the Mercedes-Benz FOS manifesto. And it states that we believe in open source, we ask our developers to be active in open source and in our source. We ask them to contribute, to become active members of the open and in our source communities. And they can do this in their working time, of course, right, because we ask them to do this. This is really important, because like 10 years ago, even like six years ago, actually, some of our developers, they weren't really allowed to do open source yet. And so they still use open source libraries, and so sometimes we'd have the case that some developer would go home in the evening, contribute a bug fix to the project that he was using in his work, so he could the next day have that bug fix available, right?  So we, none of that anymore, right? We're now open source, is part of our Mercedes corporate IT strategy. Oh yeah, here's the 10 seconds of advertisement. If you like to join Mercedes-Benz, we are hiring, okay? And so come find us, you know, you can see it's maybe a logo here, two more colleagues from Mercedes, and there's a few more. So if you're interested, we are hiring. And yeah, I know everybody's hiring, but we're a really cool company, yeah? So, and we have nice cars, okay? All right, so thank you for being here, and listening, I hope I've inspired you, and I hope that you can think about it maybe, then you and your company can be sponsors for open source as well, because if more and more companies do this, then we can really change the world, we can really make a difference, yeah? Because it supports and fosters open source, because it will help to ensure that the projects that we need and like, that they will still be around tomorrow. And because it's the right thing to do, yeah? So thank you very much, we have time for a few questions for, well, we have quite a few minutes, thanks so far. Thanks, do we have any questions? Any questions? Yeah, do we have a microphone for? No, okay, it's just maybe, I'll repeat the question for tips. Yeah. Yeah, okay. Check it out. I'll do that. The other thing. Let me repeat this for, because I think we're recording, so that the internet listeners, so the tip was from French accounting, maybe check if the accounting code in France, it's the same for tips in restaurants and for donations like this, so maybe that could help, thanks. My experience is I'm doing donations directly and the difficulty I have is that a company needs to get an invoice. For everything that is donated. And it means that there needs to be an organization that can do an invoice on the other end and my difficulty has been for some, even organization existing open source, that it was difficult to get an actual invoice, for some cases it took just months to just get the confirmation that made accounting a little bit nervous. Yeah, okay, thanks. So in this case, that was actually not the problem because the invoice would come from GitHub, because we sort of park the money in GitHub and then they distribute it. So we got the invoice, not from the projects, but from GitHub. Still took a while, but I think that was mostly on our end. Yeah, okay, thank you, thanks. Okay, do you have any more questions or remarks or? Okay, good. I mean, I'm gonna be here until tomorrow. So if you have any questions that you think of later, you can always approach me. And once again, thanks for coming. You had a lot of space, that's also nice, right? Thanks guys, see you later.


they closed right at the 50-day moving average, like literally at the 50-day moving average, and it really does kind of setting us up for a claim for it. Welcome to Access a Trader, the number one community for those who are committed to taking control of their trading in order to achieve success, profitability, and longevity. Thank you for joining us. Here's Dan Shapiro to help you find your edge, master your process, and own your future. Hey guys, good morning everybody. Welcome to another edition of the Access a Trader.com weekend update show. Hope everybody is doing well. I hope everybody is having a great weekend. It's like Christmas, right? Opening day, well official opening day of NFL kickoff today, awesome day, and a lot of you guys, just like me, you've been kind of really looking forward to this in this COVID stage of life, it's like the little things that make us so happy, and I spoke to so many of my friends this weekend, it really is like Christmas for a lot of us, so make sure this weekend, this weekend, this Sunday, definitely enjoy the games, go relax. I know again the pressures of life are incredibly hard these days, just in general, but make sure, again guys, make sure you put in that work, if you're like me, you're probably gonna be on the couch today for a long time.  The more, just understand this business, and I talk about this all the time, but this business is a game of failure. It's like baseball, right? In baseball, if you succeed three out of 10 times, you're considered a $100 million player. In trading, you succeed three out of 10 times, you're not trading, but the most important part is just understand this is a game of failure, okay? You're going to be wrong.    And it's like a roundabout type of game, and if words hurt, if somebody turns around and says, the market looks like it's about to confirm lower, right? We'll get to exactly what we're talking about.  Words hurt, you're soft, right? It's like my daughter's a wreck game yesterday, she had a wreck soccer game. We were up five nothing, and the coach told my daughter to stop going aggressive, okay? We don't want to hurt the other team's feelings. At some point, you got to grow up, okay? This is the stock market. Stocks go up, stocks go down. They're going to go up when you're in it, they're going to go down when you're in it. Get over it, okay? How soft do you have to be that if somebody turns around and says, hey, by the way, if the queue's confirmed the bottom of the channel, we're going to go lower?   You're soft, so forget about trading, okay?  The market is going to be here. Doesn't make a difference if you're in it or not. Stocks are going to go up whether you're in it or not. They're going to go down whether you're in it or not.  Grow up, look at charts, understand technical analysis, understand that the market does go up and down, okay? Don't fall in love with your stocks. They don't love you. Again, perfect example. Tesla's the most emotional stock in the history of the planet. Nobody loves Tesla more than I do, okay? Some of you guys are so emotional about Tesla that you would sell your kids to be right, right? And some of you guys just literally have started trading Tesla. We've been trading Tesla for the last three and a half, four years, and nobody knows how great Tesla is, both on the long side and the short side. But at the end of the day, it's a piece of paper, it's a vehicle, no pun intended, okay? To get you to point A to point B. The idea that you have to be so emotionally attached and tell another person on the internet of all things that they're wrong, it shows you not how smart you think you are, it shows how fragile and how weak you are. So get over yourself, right? Get over yourself, learn technical analysis.  But if you put in the work and continuously put in the work, the moral of the story is eventually you'll start to identify the areas that you are technically weak and start slowly to admit them. Other than that, if you don't put in the work, I promise you you're not gonna be trading too much longer, and it's so important to understand your deficiencies and cut them off as quickly as you can. So let's talk about the tape, right? So the scoreboard, the scoreboard is the scoreboard, right? NASDAQ composite down a little more than 4%. The Dow down a little 2%. And I think, if I remember what it was, I feel you don't even remember what the S&P was down. But the moral of the story is the market has been weak. It's been weak now, since it's kind of this blow off top here around the 302 areas on the Qs. But the more notable part about this whole equation is kind of what we talked about the last three, four days. If you've been watching this broadcast since Tuesday, even since Tuesday, we talked about this line in the sand here. This line in the sand here is a very, very important area. There was, again, something that you can't really have a discussion on.  That's the moral of the story. That's what technical analysis is. And we're trying to put everybody in a position that you're thinking with your head, you're not thinking with your heart. Again, everybody loves a bull market. Everybody is smart in a bull market. Everybody's taller in a bull market. Everybody's richer in a bull market. Everybody's better looking in a bull market. But again, bull markets, no matter if they stall out or stop, eventually are going to be a victim of gravity. And the first part of this whole move was just gravity. And again, we talked about the day to day. I'm not going out. Again, I've been saying this for the years. I'm not smart enough. I don't know what's going to happen three weeks from now. I don't know what's going to happen two days from now. I don't know what's going to happen on Monday. And we'll get to the technical aspect of it. But what I do know is how stocks behave at certain levels. And the most important part is, if it looks like a duck and quacks like a duck, and walks like a duck, I promise you it's not a rhinoceros. It's probably a duck. And what we saw here in the last several days of the market was a very, very notable. And noticeable area of a big, big buyer strike in the speculation numbers, speculation names that had a big, big run up, you know, the Amazons of the world, the Facebooks of the world, and the videos of the world, so forth and so on. Yes, was there pockets of strength within these dead cat bounces? Absolutely. But we saw the one continued common denominator, stocks started stalling out at very, very specific levels. So our example, even though we held, and again, this was the day I was, 5,000% sell buys going through the next day, with a confirmation, right? With a possible confirmation of the 50 day moving average that never happened. Again, this is the point we talk about, you can be wrong, you can be wrong a lot, as long as it doesn't cost you money. So again, we waited for the confirmation. We didn't anticipate. But slowly, but surely, we saw what happened next. And this is why, again, technical analysis is so important. The queues got rejected off the five day moving average. The five day again continues to be the shortest term sentiment you could possibly have. Again, I don't know why so many people won't recognize and acknowledge that the five day moving average is important, but again, that's a whole different conversation for a whole different time. But slowly, but surely, you started seeing things play out. And came Friday, right? Came Friday morning, first of all, very, very aggressive week. If you traded beta this week, you know how incredibly aggressive was, not only to the short side, towards the end of the week, but it was to the upside as well. Again, interval by interval, trade by trade. Again, we're now trying to figure out what's gonna happen next week. But Friday was different. Sometimes you hear this expression, this time it's different, right? It's usually conversational piece every time. It's like basically you're wrong for a long period of time and turn around and say, well, this time is different. Friday we started seeing, it was kind of going to be different. So we closed the previous day. We closed the previous day right here right at the 270, 56 low, right? That was right on the 50 day moving average. And if you can notice two days before, we closed on the 50 day averages as well, and we gapped up. So we got a gap up, right? We got a gap up Friday morning. The difference between the Friday morning gap up and what we saw the previous day's gap up after touching the 50 day moving average, slowly, but surely, we started seeing, this was very, very, very clean. We started seeing after eight o'clock, lower lows on the 60 minute on every single stock, compared to the day that we went up 650 points the following day we touched the 50 day, things were taking out higher highs. So I turn around and say, this time is different. And if you watched the video on Thursday night, I wasn't gonna put out to the market guides which way I was looking at, right? But I started saying, look, I'm not gonna say which direction I'm looking at, but it rhymes with frown, brown, clown, right? Didn't wanna tell the market guides which way I was looking at. So it was very, very important I didn't put that energy out there. I'm joking around, but it's the truth. So we started seeing lower highs coming in over and over and over again. And when you're getting a channel that's this type, and you're looking at legitimately two pieces of information, again, remember, trading is all about gathering information, gathering data. We knew we got rejected off the five day moving average. We knew we closed on the 50 day moving average and we started seeing lower highs throughout the pre-market. So these are all checks, right? These are all checks that the market it was not going to explode higher. And oh, by the way, if you look at every single chart of beta to Amazon, to the videos, Apple, anything too low, Alibaba, you started seeing lower highs throughout the week. So it wasn't one of those scenarios that you turn around and say, well, I think we're gonna go lower, right? I think we're gonna go lower, but just in case, let me get some longs. I don't think I had any more, I don't think there was been a pre-market time that I've ever put in 100% sell by shorts, maybe one other time before. Maybe I think it was maybe when we had a blow off top several months ago and we had a pretty big waterfall. So Friday's session I was 100 to 800% sell by us. Right, I don't think there was any more, I don't think there was any more room for interpretation. I had all the data that I needed, okay? I made my opinion, now is just a series of events that needed to confirm. And the one thing, and again, I continuously talk about every single video. Again, it's not about being right, okay? Nobody cares, it's not about being wrong. Nobody cares. It's all about being aware of your environment, and being prepared for the worst case scenario. And the most important part, when I was sitting there, I always try to get a little bit of sentiment, right? Just from the idea of where retail is coming from. And I'm looking at a social media outlet and everybody's talking about bears never learn, bears never learn, bears never learn, buy the dip, bears never learn. And I've already gathered all this information, okay? And my opinion was very, very definitive. And I knew right away, there's a reason, guys, okay? When you trade with retail, you're gonna get retail results. And trading is all about putting your opinion and waiting for the confirmation. And once you see, and you could clearly tell, these comments were coming from very, very new traders, like traders that were literally in this tape for the first year or two, again, that never have seen a potential waterfall. And the comments I made it, I was even more, I was even more put into conviction that this was gonna happen. And slowly but surely, we had one of the more aggressive, really, really aggressive waterfall sessions. And the most ironic part was the big pull, right? There was a pull at the open and I caught Tesla. That was the first thing I caught at the open. I fought with it a little bit, okay? I got it once and then it got me back and then I really, really got it back on the confirmation move into rising support. But the big, big move in these stocks, they didn't come, usually when you get a really aggressive flush. It's towards the end of the day, after two o'clock when wills are broken, people lose money, people are tired, especially on Friday. The big aggressive pull came at lunchtime, came around 12 o'clock. And it was ironic because what happened next was even more ironic that we actually rallied back. And this was kind of the line in the sand. And again, if you've been watching this broadcast, we talked about this in nausea for several days. It's this 50 day moving average. And even Thursday's video, I said, look, we get below that 50 day. Again, there is no room for interpretation.  If the bulls hold, you're good. Remember that? You're good, you're good. The bulls weren't good. Market broke down, right? Market broke down. They took out not only the previous day low of 270.56, they also took out the low of 269.56. And when I tell you, this was an aggressive sell-off, if you weren't trading Thursday or just weren't around the lunchtime, you couldn't really appreciate how aggressive it was. But if you think about it, the cues went from 270.56, right? The previous day's low. They went down $4, $4.5. You're talking about a $4.5 move within the lunchtime interval. Just really simply amazing. And you're really not going to get a really good understanding just by looking at the 60-minute channel. But look at these candles. I know if you trade the cues and you understand a dollar move is a lot, right? Picture a $4.5, $4 move within an hour of trading where most people went to lunch was pretty extraordinary. And if you look at the pivots, they were just literally one by one. Again, we were 1,000% sell bias. I kept on saying, I don't even want to, I don't even want to look at the long side. There's nothing that I want on the long side. There's zero. There's no reason. Sometimes you get so overly convicted that you can get FOMO, but if you have that overly conviction feeling and you let things play out, usually good things are going to happen. So let's talk about Friday's session, super aggressive, right? Super duper aggressive. Netflix, and again, green to red or red to green, they're not pivots. They're not mental, excuse me, they're not technical areas to get into trades. They're all momentum. So, but a lot of times when you're about to test major levels, you could do green to red trades or red to green trades, depending which way the market's going to set. But it's very, very important to understand that there is no technical safety net. In other words, if you're shorting Amazon green to red, understand they could take it red, right? Take it down to three points and then rally up third. So you really have to understand what you're doing when you're trading red to green or green to red. You have to have a very, very specific area to where the hell to get out, even though I use 60 minute channels to get into my trades. It's very, very important to use the previous five minute high if you're short and the previous five minute low if you're long, because if you get caught on a green to red move, again, there is no safety net, right? Because again, it's not a real entry, it's just all momentum. So every time when I put out, for example, on the stream, watch it for experienced trader green to red, there's always a very, very important area of technicals where it needs to build. And one by one, they started confirming. The other one that didn't work was Boeing. And it was very, very odd because Boeing was, I called Boeing the previous day on the short side, very, very odd stock is terrible yet they held it up. So Netflix green to red, again, on watch note, this is not a pivot. 478.50, 478, if it builds below can flush. Here was Netflix, right? So here was the Netflix flush. Here was the 478, right? 478 and went all the way down to like 483. Excuse me, four, what number did I put in? Hold on, did I put in the wrong number? 478.50, did I put in the wrong number? I might have put in the wrong number. 478, I might have put in the wrong number, guys, I apologize, even though, I think for those who did trade Netflix, I apologize, I think I put in the wrong number, it should have been 485, but if you took the 478, it only went down a couple of points, so I apologize, I apologize about Netflix. Boeing didn't work, actually didn't give you a second entry. 157, if it builds below can flush. It only traded down to like 156.40s, didn't make it, okay, didn't quite make it there. And ironically, Alibaba didn't even confirm, not even close, but slowly but surely, you see all these names, they got murdered. Amazon 3170 support, if it builds below can flush. Here was Amazon, pretty aggressive move. So here was the 3170, right? 3170 got just destroyed, went down to 3083. NVIDIA, again, green to red is not a pivot, blah, blah, 46 if it builds below can flush. Here was NVIDIA, right, one by one. So here was the 480, here it is, 486, got down below 486, went all the way down to 475. Big move there. Apple got smoked as well, 212 big area of support, if it builds below can flush. And that first move on Apple, it was like a flash crash, it really was. If you look at Apple, here was the 412, right? Excuse me, held the 112 several times. See this channel here, 112 here, 112 here, and it traded right to support at 110 very, very quickly. This becomes obviously a big area going into this week, this 110 area, so we have to watch that as well. Facebook 26650, if it builds below can flush, right? Here's Facebook, here's the 26650, that was a previous candle, went all the way down to 262. Pretty big moves, and considering this came, considering this came at lunchtime, it really did catch a lot of people by surprise. Again, in my notes, where I'm gonna give this more, the bears every opportunity to confirm today, if we still don't crack by mid-morning, then we'll start looking at some long-term ranges, but I wanted to really give these bulls, I really wanted to give these bears every opportunity to succeed. This was pretty good, I had a good trade with Tesla. 375, it builds below, can flush. Again, experienced traders, only not every single trade is for everybody, so here's the 375. Let me show you the pre-market. Again, my e-signals still messed up from the split. So here's the 375 right here, and you can see this candle, big, big move, and it stopped right, tad of 360, which was a very important level because that's the bottom here. You see this triple bottom here? One, two, three, four, excuse me, quadruple bottom. So this 360 level becomes very, very big. And again, I know you guys are emotional. I know it, man, from both the long side and the short side, Tesla's the worst, Tesla's the best, just trade the price action. Again, you don't need to go on the internet to tell somebody they're wrong. You sound like a fool, okay? You sound like a two-year-old, enough, really.  So again, we love Tesla, right? We love trading Tesla, long side, short side. Elon Musk came out and said some big announcements coming. The funny thing is after he said the big announcement came, they actually sold the stock off $8. Again, everybody gets the whole battery event. It's cool, that's great. But again, price action pays much more than opinions. You see this whole area here? This is a huge area here, guys, going forward. Everybody see it? Right here, this whole area here. This thing starts building below this area. Then Tesla, I don't care what the battery day and the go to Mars and this, that, the other thing. And again, I love Tesla. I trade it both ways. But if we start losing this range here, we're gonna test the lows of September the eighth. So again, I understand that you guys love Tesla. I get it, I love it too. But it starts losing this range. Again, held once, held twice. But if it doesn't hold the third time, this is at least the $30 waterfall in the stock. So we have to be definitely prepared for that. Tesla was good, excellent, perfect on Amazon. New lows, new lows. And again, this is where the selling, so we literally got that first poll, right? We got that first poll and some names. Now we said, look, we need to see what happens next. And this was the big number, right? Any close under 270.50, it's a sell signal macro. That sell signal came right away and we traded down to Tad under 267. So really, really big poll there as well. Amazon next stop, 311, they destroyed. If you go back to 311, went down to 3083. And I said, there's the flush. There's the flush. Again, oh my God is right. When you get a $4 poll on the Qs, I think it's pretty good saying, oh my God. And that's it, and that's it. So I think here's the tricky part kind of going into this week. So you gotta give the bulls credit for one thing. They could have completely died down after they broke 50 day support. They could have completely rolled over and died and said, you know what? It's Friday, who cares, we're tired. Let them, you know, let the bears have their ways with us.  And the most amazing part is, they closed right at the 50 day moving average, like literally at the 50 day moving average. And it really does kind of setting this up for a coin flip, right? A really big coin flip going into a Monday session. And, you know, as much as I had conviction for Friday's section, I can honestly say I have no idea what's gonna happen on Monday, okay? And, you know, I put some longs on the feed. I put some shorts on the feed. Again, you have to be definitely prepared for both sides of the market. There's definitely some good looking setups, both long and short. So for example, like a workhorse, right? Workhorse actually looks pretty good, right? It held up very, very well. And if you look at the 60 minute channel, if it starts, you know, taking out this whole channel here, maybe it goes back to the highs. So workhorse looks good. Peloton, right?   They closed it right at the 10 day moving average, at the 10 day moving average confirms it has more downside. So there's definitely plays both to the upside and to the downside, but this is the one day going into tomorrow's session, I can honestly say, yeah, we could rally up 500 points. We could sell off 500 points. Like I have no idea, but you know what? That's okay, okay? We're not being paid and congratulated for having an opinion. We're being paid for having that opinion confirmed and see what happens next. So the idea that, like most of us, and I speak to all my friends all the time, we've been doing this for a long time, most of us have no idea what's gonna happen on Monday, okay? And that's okay, okay? And that's okay. And I am pretty certain to say, I'm gonna let everything play out in the first half hour. More chances than not, I am going to start my day probably at the first candle of the day at 10 o'clock and see what confirms, okay? Because again, for the bulls to get really, and these are kind of the numbers for the week and you wanna really pay attention for the numbers, any close on the queues above 275 is bullish, or at least the buy signal, bullish would have to clear out this whole supply here, but at least a baby step going bullish, right? So if we close above 275 on the queues, right? That's at least a buy signal. If we close under 270 on the queues, that's a sell signal.   These are the numbers, these are the facts. You could take these numbers and have useful guidelines where you're next area of placing your bets, or you cannot, right?  Again, 275 bullish, 270 bearish, yada, yada, yada. It's all good. Guys, have a great, amazing trading week. Enjoy yourself, smile, okay? We only have one life, folks, okay? We don't get any do-overs. So the most important part is be a friend to yourself, be a good person, learn to smile, learn to actually like people, easier said than done, but that's the point. Guys, God bless, have an amazing Sunday, and I'll see you all in the field tomorrow.


Welcome to another episode of GUI challenges where I build interfaces my way and then I challenge you to do it your way because with our creative minds combined we will find multiple ways to solve these interfaces and expand the diversity of our skills and today we're looking at color and we're specifically looking at the relative color syntax and what it can do all of its features. I'm going to break down about 10 or 11. I didn't even count how many versions of like kind of handy ways that you can use relative syntax but let's check them out in today's GUI challenge. So here's our little demo site this is what I've built to sort of showcase what is relative color syntax a couple links like to the spec into the can I use and a brief breakdown of like what it is and so relative color syntax creates a new color from another color. You can break a color into variables modify those variables and return those edits and modifications for a newly defined colors values. This little image here well here let's look at the large one this is kind of showing you how it works you say RGB you can kind of pick a color space to work from and I'll just start with RGB since a lot of y'all are familiar with that we're going to make a new RGB color from this named color of green and what the browser is going to do and what the syntax does is it breaks this green down into RGB values passes those values up and over into here for you to use as well as alpha with the slash so this is pretty much like if we got rid of from in green we're defining a new color RGB you know we've RGB we can put numbers here we can also well you'll see we could put whatever number we want here and we don't have to use the variable but then the slash syntax allows us to optionally pass alpha so you don't have to use RGB any a anymore you just use RGB and so that's the sort of semantics of the effect here and we're going to use that to do all sorts of really cool color modifications so let's also check out can i use we can see it's already in safari chrome i'm in canary right now with the experiments turned on so here i've got the experimental web platform features you go to chrome colon slash slash flags and you can find this and you enable it and you can go test this out in canary today it is set to ship though in 118 you can kind of see that here with the little green flag so that's the next stable version of chrome is going to have relative color syntax and this is a very very powerful way to work with color so let's check back at our demo and look at all the different kind of use cases that i've outlined here and so i've got one right here this is just well let's let's twirl it open let's twirl open all of them and just go through each of these one by one so right here we have the basics and this is very similar to the image that we've already seen but this says okay lch from hex code a hex of yellow lch so really all that this does is this converts from hex to okay lch and does no transformations to it so this is sort of just extracting and converting a color and it might seem a little useless at first um because you know just a straight conversion doesn't really do anything but this is a great introduction to the syntax since everything's very minimal notice i didn't pass any alpha and i'm just showing that you can make a color from another color especially like a hex color and we'll do modifications to this like light net or dark in it there's all sorts of cool things and so those are the big basics here where we're just doing color space conversion over here we're just showing that it can work with custom properties so i've got an okay lab new color being extracted from a variable that's called cyan and that just so happens to be holding a value of cyan and this can be an rgb it can be an hex it can be an okay lch it doesn't matter what color space this variable is in it's going to get broken down and converted into okay lab and then lab come back for us for use and this is kind of cool just to show that it works with custom properties i think it might even work best with custom properties did i say that here yay it's it's never been more useful because if you've got like a brand color this works out really well and yeah there's the statement it might even be best with custom properties okay so we've gone over the basics we've gone over that it works with custom properties and now we can kind of get into these other pieces let's close these out since we know what they mean now all right so this one says do math on the pieces with calc so if i focus in on this one we can see i'm passing in lime i'm making an hsl color from lime and notice how it's pink the output of this color is pink and that's because i've taken the h value and subtracted 180 like 180 degrees this is like doing a full 180 turn on the hue which kind of gives us the complement and so you can see that then i just pass in s and l as they were so i'm not changing the saturation i'm not changing the lightness all i'm doing is rotating the hue with a calc on one of those variables that we get in here and so this finds the color in the opposite side of the wheel because we basically spun the hue by 180 degrees you also have access to other functions so it's not just calc you can use clamp min max sine cosine etc all these different mathematical functions that allow you to kind of compute in css they work here inside of these color um functions which is super cool and so that is you can do pieces uh do math on the pieces with calc and we'll go into even more ways that that becomes useful so then here access an alpha channel value so let's say we've got a you know semi transparent yellow so it's already kind of transparent we can make a new lch color from that so we just take lc and h so we're not changing the color itself but look at this we do slash calc alpha divided by two so we cut the alpha in half of whatever it currently is so like if it's 50 transparent we are now making a 25 transparent yellow and this could be nice for hover effects maybe for shadows things like that but just the idea that you can take any color and give it alpha or modify the alpha is super valuable so you can think of like a brand color and you need to make like a kind of cool hover highlight that like bursts out out from the button or something which is something i i do all the time in my ui but anyway you can make it semi transparent based on a brand color really easy just by changing the alpha with the relative color syntax and so yep here i just cut the opacity in half relatively adjusting the opacity so the relative change there's what's key it's relative because i used whatever its current alpha was then later you're going to see i make some absolute changes where you don't have to use calc alpha you could just throw away alpha entirely do slash 50 percent and just make a 50 version of yellow so it throws away the yellow that what or the transparency that was on this transparent yellow and just absolutely sets a new one so you have the option to use relative transformations or absolute transformations and i find that distinguishing kind of idea to be really really valuable as we move forward okay so you have access to channel values and calc works on them and it works with custom properties super cool stuff what else do we got here well like i was saying you can make an absolute change right i call this an absolute change versus a relative change where a relative change would have taken into consideration the value of the variable and in this case here we take transparent yellow and look it's just like i was saying we pass in a new alpha for the alpha channel so we you can do that with any of these channel values too so you can throw away the lightness and just put a number here put a number in the chroma put a number in the hue any valid value that goes into these channel values can be just thrown in here and so you can partially use or fully use the extracted variables that you get from one of these colors it's super cool all great so that was an absolute change to pass an entirely new value let's look at how to desaturate a color with the relative color syntax so we have hsl from magenta we're taking hue so we want to stay in the same hue we're going to calc on s the saturation and we're going to divide it by two and then pass the l channel back in so we've cut the saturation of this magenta color in half and here's our result on the left and that's pretty sweet we just cut the saturation and you can also do this in chroma it just depends on the color space that you choose so there's multiple ways for you to change saturation to change chroma just depends on which color space you chose from here so here i chose hsl which is going to give me the s value but we could also use chroma here and just do our math on the c value and then change the saturation that way chroma and saturation are not a hundred percent interchangeable so it might be worth testing out each to see which one you like the results of better so that's desaturating a color with relative color syntax let's also look at desaturation by just setting a new value so this is again like the absolute change so i'm taking magenta i'm saying hue and lightness and then i'm just providing a new saturation value 20 so i think magenta has normally a hundred percent saturation and i've said well i just want 25 percent of that so instead of doing math on that value i just pass in an entirely new saturation value and i get this nice little mauve kind of cool particularly effective in ok lch and ok lab and that's because the saturation of the chroma like to desaturate they stay in that perceptually linear lightness and so it's kind of nice to think about things that way so to desaturate relative or desaturate absolute so we had a couple of examples of that with alpha and saturation now super cool and here's another interesting one you can do you can chroma boost so normally we talk about colors like removing the saturation but you could also add saturation or add chroma so in this case i'm taking a color from lime which is in the srgb color space which has a maximum amount of brightness that that color space can represent i'm taking that color turning it into an ok lch color and taking the chroma and boosting it up to 0.4 normally this lime color would probably come in at about like 25.25.3 and i've said 0.4 which is going to take that lime green and really boost it up into the maximum lime green that this display can show so that's why i'm calling that a chroma boost because uh well we turned up the saturation into a new wider gamut color space of ok lch and then leveraged its ability to represent higher chroma colors by passing in a higher chroma color so again in this one we're converting from a lower like a narrow gamut to a wide gamut color and then boosting the chroma inside of their super duper cool stuff okay so here's another one we got reliably lighten so you can lighten in hsl with the l channel if you want you could lighten in a couple of other ways but i'm going to lighten this blue in ok lab because look at that lighten i got here i lightened it by 20 by 20 percent so i make i made it like i increased the lightness which is going to be towards white and i think that that's a really nice blue you'll find that if you try to lighten in hsl or other color spaces you might get an undesirable result and ok lab is a very very good space to color mix or in this case to lighten and color um just a cool trick that you can take a hex color or whatever kind of color you don't have to care what kind of color is in this variable you're just converting it to ok lab and lightening it inside of a space that's nice and reliable for that task super cool look at this one liner i'm going to use this one all the time for hover effects and stuff and conversely you can reliably darken so here i'm taking l and i'm subtracting 20 so i'm moving it closer to darkness closer to a black color and we can see i've got a darker red from this very very vibrant bright red super cool and yeah just a note as it says here different color spaces will give different results and that is something that we're just going to have to live with as we all still figure out color in this digital world right now okay here's another trick you can just remove the hue entirely so here we're passing in yellow which is going to have a hue saturation and lightness and look i passed the value of none and so i'm like i don't care what the hue was but i do want to stay within the saturation and lightness of this color and hue of none is going to essentially be zero and that gets us into red and so that's why we see a red color here so you have the opportunity to completely remove color values or color channels by passing the none value in which is a normal part of the syntax and in this case this is an absolute change like we were talking about earlier absolute first relative because i didn't do any math on the variable i just set a new value here and that's just kind of a cool thing to think about you can remove the hue you can remove saturation you could remove lightness entirely from a converted color in relative color syntax you could also just go grayscale so here we take cyan we were like hey i like the lightness in the hue but i want no chroma and then we convert it to a nice little light gray that's in the same brightness and vibrancy visually that your eye has between the cyan and this gray it's just lacking chroma entirely which is kind of cool so you can go grayscale any color that you want with just a little bit of relative color syntax you can find a complementary color which is kind of what we did in this example up here but this one's much more explicit where we're just calling it out as a feature so we're taking orange we're rotating the hue 180 degrees and that's going to give us blue right so we're getting the complementary color we could change this to yellow and we'd get purple you know etc so if you know the color wheel and you want a complementary color an analogous color things like that you can rotate the hue here keep the saturation of lightness and make really nice palettes this way so kind of cool and you can invert colors so this also depends on the color space and the strategy of what you're going to invert but here i'm using rgb and i'm inverting each of the r g and b channels by taking one and subtracting their current value so this is um the the strategy that you can use to invert colors in rgb look we kind of get the complementary here but really it's an inverted color just kind of a cool technique you'll need to employ a different strategy if you're using okay lab or okay lch but still the opportunity to invert the the values of each of the variables here is there for you which is kind of cool all right you can also with the syntax mix and match so look at this i'm making a color from yellow and rgb and then i'm passing the alpha as the r channel the b variable as the g value oh this is really hard the wait the b as the g the g is the b and the red as the alpha and like it mixes pink color just so you can mix and match them like this you don't have to put them back in order those variables are there for you to you to use in the channels as you see fit which is also kind of cool that you can do this you can repeat one of those variables over and over again so here i'm just taking a variable um making hot pink into rgb and then just repeating g over and over again which is going to give me a gray color because this is you know this is going to be 80 80 80 or something like that so you get a nice gray color out of it but that's just kind of cool the syntax works like that you can mix and match and you can repeat the variables you could even add variables together if you wanted to and our last example is a gotcha with the color function so notice we're using the color function from here now normally the first parameter that you'd pass in the color function is the color space that you want to make the color in but with the relative color syntax that comes after the from keyword and the color that gets passed in so that's why i'm noting it here's a gotcha is you might have expected to say color open parentheses display p3 from yellow you know rgb but that's not how the syntax works the syntax wants to know the from color before you start defining the rest of the color value and that is it for all of the different demos with relative color syntax i'm super duper excited about this you can you can take this syntax and build really really incredible things i have a prototype where um well here i'll just show you the prototype all right so here's my code pen this is open props kind of prototyping the ability to use relative color syntax to define many different well balanced palettes all with one definition of color and then we're just changing the hue for each of these and getting an entirely new palette so again this is one definite this is 50 look here they are 15 color variables that all i do is change the hue see how it says from color base so i'm going to pass some sort of color base and then just build an entirely new set from it so i can pass a hex color here this could be a brand color maybe it's just a blue that you really really like and it will build out a really light version all the way to a really dark version of those colors for you and um it's super duper handy these values that i've typed in here are hand created you could kind of theoretically um mathematically generate these if you like i just found that these were very balanced across all these different hues and the other cool thing about this is i can also make a gray scale version of all these and tint each of those so look i have a hueless gray palette where um obviously there's no hue passed in but then i have this warm one where i pass in a little bit of chroma that's maybe in a orange or a reddish tint and i can get a warm gray and get these sort of clay colors out of it and i can also pass in a blue tint and get a cool gray and so you have the ability to make this even more blue or less blue no hue some hue it's really really powerful stuff so that is all for relative color syntax i hope you enjoyed this GUI challenge check out the demo page and get ready to modify your colors with this awesome destructuring syntax and i'll see you on the next GUI challenge