And we're live with Spotlight. This is Dan Papandrea. We have a special show today. We're talking Thanos. It's highly available, Prometheus set up. It's an incubator project from the CNCF, long-term storage capabilities with Bartek Biotka. Okay, and Spotlight starts now. All right, Ibarthek, welcome to Spotlight Live. How are you doing? Thank you for having me. Yeah, I'm fine. Thank you. It was a long day.  Is that okay? You know? Sure. Awesome. So we are, this is the CNCF disclaimer. This is an official live stream of the CNCF and it's such a subject to the CNCF Code of Conduct. Please do not do anything in the chat or questions that would be in violation of that Code of Conduct. Please be respectful of one another. Another subject that's very close to our heart, Spotlight, is KubeCon. KubeCon North America. We're gonna talk about that in a little bit, folks. Registration for KubeCon and CloudNativeCon North America 2021 is now open for in-person and virtual, explore all the registration options. Go ahead and, you know, there's a link. You'll probably put the link up, hold down one second and boom, there you go. I'll leave that up for a little bit. So, Bartik, we're talking to Thanos today. I wanna ask you a serious, serious question. First question, and I know, look, I put your face on the guy. Is there inspiration from Thanos or it's just you all just went back to like Greek times, like Greek gods times? Like, I wanna understand this whole Thanos name. Where'd it come from? Nice, nice, good question. And I think there was a time in the very beginning of this project where we were afraid to tell the truth. I talked to my manager. We were trying to make some Marvel jokes, right? And my manager was that, from legal perspective, do not poke the beer. Do not poke the beer. All right, okay, we had like amazing jokes and whatever. So, at the end, we didn't joke too much. We were silent, but actually, when we proposed, donated the project to the CNCF, they made the proper for copyright, trademark checks, and apparently there is no trademark on the Thanos. So, we can joke around, just fine. And so, I can tell you the truth and the truth is that our, in my past job at the startup, it was called Improbable, amazing startup around games and distributed systems. And we were part of the infrastructure team. We were looking for some monitoring metric kind of solution that will solve our needs. And we were... Can we talk about Improbable real quick? I'm sorry to interrupt you, but let me ask this question. But maybe, yeah, maybe let me finish the naming and then I can talk about it. All right, all right, go ahead. At the end, I want to just quickly go into the topic why we even named Thanos. And the reason is that we were having like Kubernetes microservices and each of those services used to have some names, right? We have like a Scarlett, Ironman, Aquaman, and like Tor and like all of, and those we are trying to find a meaning, right? So, every time you create a new microservice, you were responsible to find a correct name, right? And we were kind of playing around different names and that's why it came with Thanos. And I think it, to be honest, it might find, it might be kind of feel silly, but actually I think it contributed to some popularity, right? So, let me ask about Improbable though. What was the major game that Improbable? Was there a game that was in the studio that like, what was the major game from Improbable? Sure, so now we used to have like a minor, I mean, many contracts with like smaller indie games and they were actually pretty playable. And the kind of idea behind the whole game studio, or like it's not a game studio, by the way, Improbable is like just a platform that allows to game studio to actually develop games easier, right? And actually it is still ongoing and the newest game, the Scavenger, you can kind of Google it around, it's actually, I think it's a beta so you can actually either buy or even try it. So the whole general idea is that you make a game in a very easy way, but actually you distribute this, you kind of write a game like it will be on one computer for one user and actually upload to our cloud and it will just distribute into many machines and run a persistent game with like capabilities of like scaling to millions players. So we used to have a game called the World Adrift, which was actually a pretty fine game where there was like ships and you could like build those ships and they were flying around the islands. At the end, if the ship was broken, the one piece of the ship that you could just harvest fell down in some island, in one year, you will play this game, one year of real lifetime, you will go to this place, if no one touched this part, it will be still there. That's what persistence really means, right? So the idea was cool, but very ambitious. Let me ask you something like, now you asked me like, I have two questions at this point. Like, are you a comics fan like, or was that forced upon you? Like, were you like, oh, Phaedos, I'm pretty, that's awesome. Scarlet Witch, amazing. Or were you like, oh, Dorky, I'm not into it. Yeah, you kind of were, you had to like it, I guess, where you were with us. Yeah, no, I like, I don't like, I mean, I would love to have time for comics, but I really like the movies and like this kind of, also Star Wars, also other stuff. So I guess typical, typical person. But yeah, you have to have some passion towards that, right? Got it. So let me, let's ask this. Let me, for the uninitiated, somebody in this community right now or an end user that's looking at us like, okay, what is Thanos? What does it do? What is it? Sure, so Thanos is a monitoring system. At the end, what it does, it allows you to collect metrics, which is a certain observability signal, among others. So one way of observing your software, how, what is the state of your software? What is the healthness? Maybe you want to trigger some notification if something goes wrong and how to define those things. All of this is part of the monitoring system. So we allow it to kind of collect those metrics and store them. So it's at the end, it's a distributed database, you can call it.  So the goal of Thanos was to really do what Prometheus is doing, but just on scale and then cheap and then continue the same amazing functionality through like a very stable promql language. It's like a language of querying those data, which is really, really loved by many, many thinking, many people in the community. So what we did in the, you know, in the essence, what we did with Thanos, we kind of took the Prometheus, we split into pieces and put into microservices, right? And we have similar functionality just scaled and this is what makes it powerful, right? And also highly available and so on. One additional thing that were, we added on top of, let's say this setup is, you know, we had the goal to make sure this is cheap long-term. So, you know, at the end, when you collect lots of metrics, you are having lots of data, right? So you need to have like a cheap storage and we thought that object storage, which will, which is available on every possible cloud provider and it's super cheap to store data there. We believe that, you know, it is actually amazing, you know, place where you can store all of this data, especially because you don't really use all of metrics, to be honest.  So for those cases, it is actually very efficient to use and very cheap, right? I've learned a couple of things I was looking at the website and I know of you all because of, you know, what I work on, right? And so in terms of like unlimited retention, that's what we were talking about, the cheap aspect that you can throw this in that S3 bucket, the global query thing from PromQL was genius, all right? It's the way that you all interact so directly with PromQL, it's phenomenal because I can literally write one PromQL query and query all of these things versus one disparate exporter and all of these different nodes, which to me is pretty goddamn awesome. Like that to me is the big draw of this. And so like talk to me about like, again, is what was the problem, the original problem you were trying to solve with, honestly, like, it's not like, hey, you know, you just want to make this distributed thing. It's like, oh, what was the problem you wanted to solve here? That's a very good question, right? Like especially just doing something distributed for fun is the biggest anti-pattern ever. You should avoid doing this. Like it's a complexity. It is actually complex. Any distributed system can have complex situations, right? And to be honest, yeah, Global View was the main goal here. And I think the fortunate situation or like unfortunate that triggered this project was that it improbable to accommodate those different game studios and maybe players on different continents and different locations. We were running like 30 Kubernetes clusters in the very beginning of Kubernetes, to be honest. Like we were running Kubernetes ourselves and that was a problem at the end for a metric system because like from materials that was supposed to be localized is that we suddenly have 30 clusters. So you need to have a global view, bird eye view, whatever you call it, to gather all those information. And we really wanted to aggregate so some applications, some game could flow between clusters and get migrated. And all of this is part of the same application. So I would love to have informations and aggregations, no matter where it is, all right? So, and to be honest, it was like four, five years ago almost, not almost like literally five years ago when I joined improbable and we had those problems. This is, this was like very beginning of, you know, the whole world starting to noticing those problems, right? Because when I'm now kind of architect in Red Hat for observability things, then the main problem right now are not only observability problems, but anything else. Hey, we suddenly have multiple clusters. We treat clusters as a cattle, not as a pet, which means that we kind of create them and then destroy them in a seconds, right? So this was never a problem before. And now everyone is moving in this direction. So those federated solutions are must have. And this is why, you know, Thanos were born in a, burned in a, or like, born in a correct moment, right? And because we maybe were having those issues prematurely than other companies, right? That's incredible. And again, it's like you were definitely the early adoption aspect and then being able to like take that and then, you know, something you gave to the masses. Let's talk about that for a second. When did you decide, hey, you know what? Let's take this thing and open improbable, like you all open sourced it pretty much. Was that an early decision? Were you like, let's do this. Like, who helped with that? Oh yeah, that's extremely good question because having an open source project and like doing open source things for, especially a startup, a very focused startup with minimal amount of engineers has, it's like a huge investment. And to be honest, it would not happen if not somehow primitive community, let's say, because how the project started is that we have this problem of like, hey, we need federated monitoring system. And we want to have long-term storage and cheap operational cost and high availability. And we already used Prometheus. So that's great system that we just want to build upon. And we tried different things. And at the end, it was Fabian Reynard, like amazing engineer now working at Google. He had this idea that maybe we can use object storage and we can use exactly the same format as Prometheus. I don't know how it looks like, but I feel this will work. Who wants to pay for this work? And improv was like, yeah, let's meet. We kind of met in the KubeCon at some point. 2016 or 17. And yeah, we just started collaboration. So he kind of stopped his work at CoreS and for three months got contracted by Improbable. And I was kind of the engineer working on observability. So I kind of joined this effort. And his main kind of, because he was part of Prometheus team, his main criteria for even joining this collaboration was, hey, this has to be open source from scratch. So to be honest, Improbable was not even thinking twice because it was very, I mean, well, maybe they were thinking about this. But what I mean is that it was not like a huge conversation because there was a, you know, someone willing to do it, someone capable of doing and some good idea. And his requirements was to have it open source and there was not strong feelings to make it known. But like that's why it was, I'm super grateful that Improbable accepted that offer for and kind of we collaborated, we designed everything.  But the truth is like he left like this contractor thing went to Google and for legal reasons, he couldn't even contribute again to Thanos. So I was kind of continuing this work. And really this is where the true investment from Improbable actually, you know, appear, right? Because this is the moment where you need to ongoing, do ongoing investment on community, getting more people involved and just paying this engineer to kind of look on those, you know, contributions and really open source factors. And this is where Improbable were kind of doing some of it and I mean, super grateful. And this is why this is super successful. But at the end, I had to sacrifice a lot of free time too. You know, that's the, nobody talks a lot about that. Like in terms of like open source, like, you know, like it ends up, there's the superstars in the core maintainers of certain projects. You know, I work on Falco, right? And so like there's, there's parts of this where it's literally like, you know, there's core maintainers like Lorenzo and Leo and folks on my side that are just, you know, killing and doing so much work and stuff like that. But then there's, we have to kind of take that step back and let others kind of come in and let them contribute. Talk to me a little bit about that. Like where you were like, look, I've done all this thing and now I'm like nurturing other talent to bring, take the mantle and take finals forward. Yeah, that's a very good point. It's all about- I'm nailing it today, Bartek. I'm nailing it. We're doing it together. Let's do it. All the points are good. Yeah. Let me think about that. So I think, you know, first of all it was definitely very important to start like building community. So I know I spent many, many, I know hours to just talk to different people and collaborate and really establish some kind of process that will just gather more people, gather more community because it looks like that the project got some, you know, movement, people started to use it, adopted but you know, it's hard to motivate anyone from those companies to actually even mention they are using it. That was really a blocker for some people. So I knew that internally, you know, you know huge projects are, huge companies are using TANOS but I couldn't even speak about that because legally, whatever. So at the end it was very hard work to and like maybe, you know, a little bit of strategy, you know, tactical thinking and maybe some discussions around how to get those people, those companies to contribute or even share that they are using or share some feedback. That was the first step. The second step was to actually have and start really a secure environment for people to speak up. And I was really, again, I was like, you know true open source developer, asynchronous work, no Slack no chat, like this is like not efficient. I don't want to do it. And at some point I was like, okay, whatever let's create the Slack channel. And actually that was actually the stepping that the trigger for actual contributor because there are so many people who are afraid to ask maybe silly question in GitHub issue because for them, GitHub issue is like, wow, a huge proposal. No, it's not for us. It would be fine if they would just ask this question but they were just looking for this easy, you know small step where which was just Slack and just, hey, just say something. And then with this momentum people started to help each other and this was a trigger for actual community.  Like you have to have it. Like there's no, you might not like it. You might like IRC who by the way no one use IRC this time around. So you need to have a Slack, right? There's no other way. And or whatever is the most popular kind of chatting platform but in the end that was a major goal and of course a major service step. And of course, you know, trying to get maintainers. So having contributors is one thing but then how to get that step. And there was this balance between, hey, I want to have some bar of the maintainer that he has to know about, you know, this stuff. They'd have to be friendly. There was so much. It's like an, it's like a hard interview to pass except that you don't have money after that. So it's really challenging but you just need to show value. I think mentoring help as well. We have lots of maintainers based on the mentorship we do and literally all of our mentees have like a nice job. So I'm super happy with that, with the effect of it. So, you know, mentorships, community and kind of having a safe space. So people can see the value. Like they see, oh, I will now maintain. Oh, now many companies want to hire me because I have this skill.  And sometimes we, what I recommend is that, you know it's rarely the case that the person is familiar with the whole code base, try to figure out like one portion. Okay, you are a maintainer for this particular part. So at least you help on this position like front end, for example. And you don't need to know about like everything else but you at least meet like those criteria. And we have the occasion when, you know we joined, well, we get someone as a maintainer and he immediately got the job, right? Like in the SRE space because, you know he knew he was part of the Thanos. So someone told me once because there was some interview of someone and then in some company and he didn't have a lot of even questions. He just said, I'm Thanos contributor or something and or like maintainer and someone said from this interview or this company said we don't need to check you that much. You maintain Thanos.  That's a good actually value as a maintainer, I guess. So this is those are some motivation points where you can bring, right? If there's projects and again, so, you know Thanos is an incubated project the Falco is an incubated project. There's projects, anybody's watching this I think exactly what he said it's like, you know having that being able to ask those questions showing gratitude, I think is the biggest thing is like, Hey, thank you for doing that. Thank you for putting this in here. We send, we have a contributor of the month is what we do. And basically we send some swag out to them and we say, thank you so much. Because, you know, people are taking time out of their day. This isn't their day job. Their day job isn't maintaining Thanos or Falco or Cube. It's not out of that. And that's the part I think that, you know any burgeoning projects in the sandbox you're watching this, I'm sure, you know but that could agree with me show gratitude to the people that are taking time out of their day. Totally, I want to add to this point because we had for some time and it was like a contributor idea to every Friday, just do a shout out and like shout out on Twitter and on Slack and literally traverse through all the weeks Slack and get all the people who contributed and like name it, name them and just say, thank you. And it works so well. We actually have an issue even open to create a bot for this but probably bot will be not like rewarding but still I think there is enormous help that people do and it allowed me to, for example focus on delegating and teaching and all of the stuff and I don't need to be constantly on the main Thanos user channel because people are helping each other. So it's enormous, right? And it was helped. I'm writing this down. Okay, sure. Let's create a bot together. Again, both will be nice still. Some kind of kudos bot, whatever, right? Yeah, man. I like it. Carlos, Pannado, if you're watching this, get that bot ready. Come on, got some work for you, my man. All right, so I'm going to ask you this because, you know, again, I'm in this space. You know, I work for Cystic. You know, we have like a back in store for metrics and also like, you know obviously run time security stuff with Falka and Cystic secure but there's one thing is like I've seen there's a lot of other projects that have very similar kind of, you know traits, right? It's kind of a store for metrics, right? We think of like Cortex or M3. What do you think like, but I always hear Thanos is kind of, this is the thing. This is the key kind of flagship store. So my question to you is, what difference? What makes, what's the difference? What makes you stand out besides those other tools? Yeah, that's a, you know, tough space to be in, right? Like there is so much demand that, by the way there is a place for everyone. Like if every of those projects will have like a, I don't know, like found a company behind that like we would still have customers, enough customers, right? So that's a good thing. Like there are still a place for this competition. It's not like it's a very niche. However, you know, there are still differences and first of all, yeah, there is demands. There are different people having different ideas about how the backend should work, right? So, and I think what is very unique in Thanos is that we really grown the solution from Prometheus project itself. So we use, you know, native protocols. We stick to the native APIs, but even on storage, everything is the same. So you, what we do literally in Thanos is like, we combine everything into those TSDB, whatever time series database of Prometheus blocks, which are directory of files, and we literally kind of put it in object storage. So if you would download the thing and run Prometheus on top of it, it would just work, right? It's exactly the same. And this is super powerful because we could leverage the same tooling, the same knowledge that Prometheus spent six years or seven to teach people all about, right? So PromQL is one of the most, you know, the most powerful and flexible, you know, metric querying language, but it's also, it has a steep curve of learning, like as every, you know, sequel or whatever other languages, right? So since people already adopted that, it was much easier to use this one. So that's why all those decisions were optimized for this, you know, integrity. And also it's worth mentioning that, you know, we treat this as a family. So for example, when our students or our, you know, maintainers on contributor, especially mentees, like they want to, you know, they have a project and task to do a feature to do on Thanos. We say, hey, contribute this to Prometheus first. Maybe we can share that, we can reuse that with Prometheus code, there's community, there's other people who can take a look on that. And if you contribute during this time into Prometheus, we count this as a contribution to Thanos because we're literally importing the same code. So this reusability was very important for us because we don't, you know, program the promo code engine from scratch, like a compaction from scratch, storage format, reading and writing. Those are very complex pieces of code, like literally unreadable sometimes because it's so optimized, it's memory mapping, it's so, so much stuff. And we directly import this code, right? And this is very unique, right? Because there are so many companies that M3DB, like Amazing System came from Uber. So, you know, Uber has to create something like, I don't know, like five years ago from scratch because there was nothing there. So no one blamed them to have like a solid system they want to share an open source. So it's great. And actually they are very, you know, happy to collaborate and they are adding integration points. So they are supporting Prometheus, they are supporting a write protocol so we can send data from Prometheus to M3DB, not only to Thanos. And the same with Cortex. Cortex is special because it kind of grown from the Prometheus maintainers, just different Prometheus maintainers and it was actually created one year before Thanos. And, you know, we would love to use it and we tried in Tim Provol to use it and it didn't work. But we are, I think it's okay to say that because, you know, we were very beginning of this project as well. And we used to have different paradigms as well, different thinking. We said, hey, we want object storage support. We want to have the same storage support. We didn't want to have push replication. There's some technical things that we want to try out. And in practice, what we see is that our teams collaborate very much. Like we have, you know, Cortex maintainer, Marco as Thanos maintainer, for example. I was contributing to Cortex many times. I know it's codebase because they actually import Thanos code and we import their code. And like we, this is great collaboration but end up with like massive goal. Let me ask this. I'm going to ask this. I want to ask you a question. Sorry, I'm going to interrupt you. Why have multiple projects? If you know what I mean? Like it's because, and I understand this and, you know, this is a controversial thing. I'm going to ask like, but like why have a Cortex and why have a Prometheus, why haven't M3, or excuse me, a Thanos when you can kind of integrate these if everybody's working on them. Because then it almost confuses the end user. But is it because of, like you said, it's the context each one is providing. Each one has a different thing that it's doing to a certain degree. At the end, they are doing similar thing. There are minor feature differences but at the end, especially Cortex and Thanos we really maintain the same APIs and stuff. And nowadays we have the same storage with some differences. And so this is a very good question but I will ask you, you know would you like to, you know your focus project like Cortex or Thanos and would you like to suddenly adopt, you know 100,000 lines of TechDepth, right? And for Cortex team, it will be TechDepth to have Thanos kind of components and code. For Thanos, it will be, you know, Cortex code. So at the end, this is a significant work and to merge those things. And we kind of, you know, talk about many, many times but I want to show the advantage of all of this. Like we learn from each other so much, right? We, and I was talking about many times is that we collaborate. I know what they are working on. They already know what we work on. And, you know, for example, it allowed Cortex to totally not work on down sampling, right? Because they, hey, Thanos have it and we will kind of integrate that if it will be needed. So they can experiment on that, right? We are not doing any shuffle sharding, like the Cortex is doing. And maybe they kind of chosen a different direction of compaction. I don't want to go to low level details but essentially they are using small blocks. We are doing large blocks. And, you know, those are different trade-offs. So being able to simultaneously kind of experiment with those two paths in the same time, it was actually enormous. Enormous, you know, a value for all of that. So we make different decisions because our teams have a different culture. We are diverse. So it actually, you know, because we treat each other friendly and we kind of reuse each other code if it's useful, this is super, super massive, massive help so far, right? Nowadays, nowadays I see Cortex maintainers very busy, right? Like they got this Amazon kind of user and I don't think they kind of contribute back. So Cortex maintainers are trying to hide things. So there are some interesting stuff going on. And I think it's worth to see that as a lesson as well, how that really evolves. But so far it's a super useful project. And yeah, just check it out. What do you need from the user perspective? No worries, yeah, it makes complete sense. I'm gonna ask a question about just a lake, somebody, and this is probably something you should probably go on raw codes, LGTM, but how does somebody contribute and get involved in Thanos at some point? Shameless plug. I shouldn't be plugging that guy, we're mortal enemies, but go ahead.  We're not competitors, I've won. That's it. So anyway, moving on, let's go. Yeah, so it's actually very easy. Just go to the Thanos IO and click the community button and you should have beautiful documentation, what steps you could do to maybe pick your first issue or maybe you want to give a nice feedback or maybe you want to help us to create tutorial or maybe you want to share your case study or blog post or any talk that you made around Thanos and our project and what we do and maybe you want to be MNT. We are heavily investing in mentorship and we are doing those sessions every three times a year and this year we have four MNTs and now we have another four so it's kind of madness but it's super useful for everyone, I think. So what you can do, just really apply for those programs because by the way, those are not for students. Like you might be a very skilled smart engineer who is like in like some close source company which doesn't give you lots of opportunity to be part of the community and you want to just try to join open source effort and maybe, I don't know, switch a little bit. The focus, we would like to show you the value. We have so many senior engineers, for example, Jessica on the Prometheus mentorship program, like she was working full-time and still participating as MNT and I was super useful for her to learn how open source looks like, right? So this is another way how we can get involved in the community. So yeah, just go to this website, find yourself the documentation and just ask questions to the like channel, yeah? If you have any. Fantastic, and again, no rest for the wicked here. You're so busy, man. By the way, I want to tell you, I appreciate you coming on here. I know you've been super, super busy. Let's talk about this.   Tell me about that. Yeah, why not, right? I think, yeah, exactly. The question is why not? Like, I think, you know, people still learn a lot from books, like technical books. I love reading them. And especially if it's about like generic programming, whatever, like maybe technology that doesn't really get obsolete that quick. It's worth reading, but no one really writes books. Like we have only those fancy people who are doing streams, right, Pop? And wait, hold on. What? Go ahead, I personally attacked on that one, man. Just kidding. Like I think it's just, you know, more rewarding to do a video, more consumable for users. So I really understand this effort, but I think it's not many people write book, right? And it's not sexy anymore. And I talked, I really wanted to find a co-author and I really found, I mean, Fred Erick is helping me, Fred Erick Brancic, who is now... Shout out, shout out. Yeah, I super... Paul Polar wins. Coral Eskai. Shout out to... Amazing person, yeah. He's been so supportive of just everybody. He's just a wonderful person, dude. Shout out to you, Fred Erick. Yeah, I don't know anyone who doesn't like Fred Erick. I don't think anyone such like that exists. So Fred Erick's an amazing person and he agreed to write one chapter with me. So that's amazing. About profiling, by the way, because he's creating this... He's the CEO of the Polar Signals company behind profiling, continuous profiling and stuff. So anyway, and I was trying to find a co-author and it was so hard to, because everyone was calculating money and I was like, oh, this will take me 500 hours of my... And this means this money. And oh, I don't see this happening, right? So I really, if you do it, usually you really do it for just maybe values of teaching others and yeah, other stuff. So to be honest, my other motivation I want to share is that maybe people from me probably will laugh, but there was this kind of spreadsheet and probably is like many of us are having this in companies where we want to share who is good at what thing. And there was a spreadsheet with like a scale from zero to 10 where zero is like, I have no idea what this technology is about.  So I want to be 10. I was always like eight and like in GoLang, whatever. I was, and I write book about GoLang and performance. I didn't share the title. I don't, I didn't even share really publicly what it is about. So I slowly started to talk about that, but I really, really wanted to try this out. Well, best of luck and I'll probably end up having you on the podcast and we can talk about it live when it's about to launch. I'll probably buy like 10 copies and give them away. See, that's just, that's the thing I do, man. Anyway, so I get this question from my man, Narin. Thanks for joining the stream, but can newcomers to KDK utilize Thanos or is it focused on the enterprise use case? Yeah, good question. Actually, I would say it's mainly for Cubanist customers because well, it's in the CNCF kind of ecosystem. So it's kind of communities is our main targeted orchestration system. Of course, we make it sure it's like a containerized so you can run everywhere, but we have some special discovery mechanism and things that makes it much easier to work on communities. And it is actually used a lot in the smaller companies. And I seen this and I will tell you why. The reason is that it has a very flexible deployment model so you can install, you have your Prometheus stack. Usually they start, like if you want to start with observability and metrics, just run Prometheus. It's a single binary, just learn how to do that first. Then you can gradually install stuff. You can install just a sidecar and a courier and suddenly you have a global view because you can connect many of those Prometheus under the same and a Promql engine. And then if that feels all right to you and you say, oh, deploying is kind of nice, but I want to add as object storage support and like a cheap storage. So then you install additional two microservices. And then if you say, oh, now I'm a super user and I want like multi tenant and like amazing scalability, then I can think about maybe receiver and maybe remote write replication. And there is like lots of steps you can do. You can mix all of this. So it's very actually welcoming for just experimentation different parts and not implementing everything and getting migrating and like all those big step we are iterating, right? Trying to have this process of iteration. Alrighty, let me ask you this. I mean, this is kind of the last question I have for you, but what's next for Thanos? And what's next for, let me break it into two questions. What's next for Bartek and what's next for Thanos? Oh man, I think it's really something related to what you said that it's very important to delegate at some point, right, to the work. And I think we build like amazing team right now in Thanos where I can go to vacations finally, right? And I can focus on maybe some more advanced stuff and maybe I'm active in the seek or like tag observability now as a tech lead. I'm writing book and I'm doing lots of stuff around observability for different signals. I, yeah, I have passion to kind of improve this step and make use of pool-based kind of observability collection mechanics better and so on. So that's the future for me. I would say I would love to explore those things while making sure Thanos can integrate into that well. For example, we created a new project called Observatorium. I can plug that, right? And observatorium.io just literally go there and you can see this is like a platform which allows you to deploy Thanos with other observability signals because at the end you want metrics, sure, but there are other cool stuff like logging, everyone logs, everyone do at some point some tracing and continuous profiling. And to be honest, you can totally combine all of this and we are making sure as a Thanos we integrate with other signals, making sure the correlation story makes sense. You can jump from the metric, you can say you can have an alert and you have some amount of errors for some service you are on call and there is incidents and then you know, but what are those errors like? What's going on? You click the exemplar which is kind of the way to link into the tracing. Example situation that happened in your actual container in actual binary thanks of the tracing and this exemplar's kind of support. And then you jump into trace and see exactly who and what error happened and in what kind of circumstances. So those correlation capabilities is when you have like a consistent model of configuring different systems. So that's why observatorium was created. And we know it takes some time to integrate Thanos with those other systems making sure for example, exemplars are supported and they are in some way but we want to kind of extend this. So all of this is kind of grown out of Thanos and this is really also best practices grown, right? We are starting Thanos, I mean, CNCF meetups like literally today we have the first one. So mentees meetups. What we mean CNCF mentees meetup what we mean is that it's a series of meetups where we want to make sure mentees have like a way to practice public speaking but also learn, I mean, teach them about learnings they get and we get from the mentoring as well. So we want other CNCF project to also participate in this group. And I had a link somewhere but I don't have it right now. So maybe later I can send it. But at the end we are doing those things. You know, I mean, there are so many good best practices that came out of Thanos like including book, right? This is why I write this book because like not many people know how to optimize go, right? So this is another stuff that I want to focus on. So this is for me and in some way for Thanos, right? To make sure it works with other of the signals it is just even more scalable and secure, right? So all of those productionize topics really productionization topics. Well, you snapped your finger. You changed the universe. You made Thanos. He did some great stuff today.  Pardon me for a second. I'm going to speak some Polish to my friend Bartek right now. Thank you Barzo, Suham, Dwa, Bivo, me and you. Skupkan, good? No, it's a little bit of a pro. Let's do it, that's it. All right. All right, thank you so much Bartek for being on the spotlight. I'm going to do some housekeeping and I'll basically go, here we are everyone. So next week on Monday, we have Duffy Cooley. He's this week in Cloud Native. We're going to be talking also Tim. Tim Banks is on solid state and then we have Cloud Native Latinx. A bunch of shows next week. A lot of fun you all. Thank you so much. Remember to follow. Please make sure to follow the Cloud Native here the Twitch channel. We really enjoy them. We really appreciate you all being here enjoying the shows we're putting together. A lot more common everyone. It's going to be really cool. And remember everyone in the community, spotlight is always on you.


Hey guys welcome back to week three of our beginner series. Today we're here talking to you about fabric. Probably the most fun part. Yes. At least for me. It's the best. Yes. The best part for sure. Yes. So if you're a beginner like us you probably started with quilters weight cotton. It's kind of the go-to. Easily able to find any local fabric shop they're gonna have your quilters weight cotton. Well as you grow you're gonna want to start moving away from that quilters weight cotton because there's lots better things out there that are still easy to sew. Slightly more challenging. We have a few things for here for you that are a little more challenging but really not that much more. No. And a lot of them you'll find are still cotton. So it'll be familiar to you but it won't be that weight and it won't be that repeating pattern necessarily. Which results in the weight results in a boxier garment. Yeah. You'll be able to make things that are more similar to what you would find in the store. And I think that as you develop your sewing skills that's kind of where everyone ends up going. Yeah. Yes. Definitely. Alright so first up we have a cotton lawn. This one's been cut a little bit. So excuse that. This is a gorgeous Liberty cotton lawn. They are a little more pricey but that's just livery. There's lots of cotton lawns you can find out there that aren't in their price range but they just have the beautiful prints. So it is lighter than a quilting weight cotton. Probably can't see the the sunshine through. Yeah. But they are more sheer. The most ones I've seen are more sheer. Have you ever run across one that's not quite as see-through? Well, I mean it probably depends on the background. Yeah. That's true. It depends on the print. Yeah. Yeah. So they are a little more drapey a little more flowy and light not that stiff boxy feel of the quilter's weight cotton. A cotton lawn. So it's the same as quilter's cotton. Yeah. Really no difference there. It's just kind of it's a finer weave. Yeah. So it's got a little more of a sheen to it. Yeah. So cotton lawns are great. Really easy fabric. Yeah. Step up from the quilter's cotton. And you're going to be able to make you know a lot of those beginner patterns that we talked about with a lawn with really any of these woven that we're talking about. Yeah. So when you think of lawn think of something as just like one step lighter than quilter's weight cotton. We'll go even lighter than that when we talk about voile but lawn is just like one step lighter than quilter's cotton is how I would describe it. Yeah. Let's do the voile next then so we can kind of stay on the same. Okay. Voile. Voile is probably the first thing I sewed after quilter's cotton. It's a voile. Gosh, I don't know if I remember. Yeah. Definitely to think of a voile. Voile? Oh, I'll have to we'll have to try to find a link. There's an exact description of what voile is. I believe didn't Annemarie Horner develop it. Pretty sure. Pretty sure I read that summer when I was first starting looking at the voile. We should have researched that for you guys. But we'll look it up. I'm pretty sure that she developed voile. If not, that's a good rumor. I really think that you are. I don't know. I'm pretty sure. But voile is even lighter than lawn, really silkier. It has more of a sheen than lawn. But I think it's almost as easy as lawn. It's hard to think back to when you're a beginner to think how easy something is. I remember just feeling voile for the first time. It feels buttery. You think to yourself, oh, this is just cotton, but it doesn't. I mean, it feels so much better. It feels so nice. And there are lots of voile options out there. I remember when I first started sewing, there wasn't as many, but now you really see it a lot. Art Gallery has great voile options. There's a lot out there. So you can even go pick a more flowy garment with this. Looks great in skirts. You can do glasses out of voile. Lawn wouldn't want to do a flowy bow. Blows out of lawn. It's a little too stiff. But voile is would make a really nice blouse. Yeah. Anything that has any billowing or draping or gathering or pleading would be good. Yes. Okay. I'm not seeing where Annemarie Horner created voile. I imagine it probably goes back in time. I don't know. We'll let you know. I'm gonna do a little research. I'm really interested to see the term comes from French and means veil. So that can help you remember kind of the sheerness and the lightness. If I'm wrong, I don't know how I would have, where would I have gotten that from? I'm not sure. But yeah, Wigapedia doesn't have a ton of information that definitely does not say anything about Annemarie Horner at all. I might have just given her big props. Yes. Maybe. That's interesting. That's one of those swimming rumors that you know, you kind of hear like the same of the scissors that we talked about in the previous video. Anyways, next up is Seer Sucker. A Southern girls like uniform. Yes. We live in the south. So it's very popular where we live. Yeah. Seer Sucker actually is the first dress I made. This is the first thing I sewed with. Okay. Yeah. So I didn't start with quilters cotton. I started with Seer Sucker. Yeah, I picked out Seer Sucker and I made the hazel dress. Of course, I was in a class, so I had a little more support with me. But really Seer Sucker, so it was just like quilting cotton. Very nice. And of course, it's more apparel looking because you're seeing it in the stores, especially down here, lots of skirts. Shirt dresses are great out of Seer Sucker. So really great option. Yeah. A-line skirts are really good. It is a little bit more on the sturdy side. Yeah, definitely. Not nearly as drapey as that. And it's, you know, obviously most recognized for the stripes that it has. And it's not just cotton with stripes printed on it. No. It's the way, yeah, the way that it's actually woven together is what makes it technically a Seer Sucker. But you can get Seer Sucker in tons of colors. You can even get it embroidered with little crabs or sailboats. All there's a lot of really cute ones out there. And it's really affordable. Yeah. This was, I think this was less than $10 a yard. It was really quite quality. Yeah, for sure. So Seer Sucker makes something really cute for sure. Yeah. So next is another one that you see everywhere in stores, especially this summer. I feel like it just blew everywhere. Shambray. There's lots of different kinds of Shambray. This is definitely a heavier one. It is the same type of Shambray I made my older shirt dress out of. So it's a little heavier. They do sell some lighter ones. That would be a little trickier because they're a lighter weight. But this one is so easy to sew. It's so easy to cut. Press is great. I mean trickier, like the lighter Shambray would be trickier, but not difficult. Not difficult. No, I'm just trying to categorize if I can at all. It would be the weight of these others that we've already talked about. So if you wanted to make a shirt dress, a heavier one would be good. But if you're wanting to make a Shambray blouse or something billowing or gathered, don't let that deter you. Like it's not going to be hard or undoable. Just different. Just different. Yeah, definitely. So yeah, Shambray is great. And again, everything that we've mentioned so far is still 100% cotton. There aren't any other materials. No polyester, no rayon, none of that. It's still 100% cotton. And I think that as we move away from 100% cotton, yes. Just keep in mind that anything that you find that's 100% cotton is probably going to be a safe bet. The only question mark is going to be the weight of that material. How light or drapey it's going to be versus structured and like more boxy. Yeah. So cotton is always a go-to for anything. All right. So next up, we have my favorite fabric to sew with. Is it your favorite too? Yeah. Yeah. Yeah. That's rayon shawly. It is just amazing. My top is rayon shawly. Supercheapfinalfabric.com. I think this costs me like $8 to make. Nice. Yeah. Yeah. It looks much more expensive than that. Yeah, right? Yeah. No, no, no. I am so sorry. That is completely wrong. I got this $25. No, it was still super cheap. It probably was $8. I got this on Stylemaker Fabric. She has a selvedge yard section where she gets like the bolt end of designer fabrics. So there's, it's very limited yardage and you have to buy woods. Yep, you have to buy a couple of them are like you can either buy two yards or four yards or one yard or three yards. So there are some different quantities. This, there was a yard left. Gotcha. So I bought it. Perfect amount for the top. So yes, check out that section. Pretty good find. Yeah. Anyway, so here's a couple other swatches. These are also from Stylemaker Fabric. She's got a lot of rayon shally. Yeah. Really nice options. Rayon shally is trickier. Lindsey just did a post for Kali fabrics. Yes. For our Kali fabrics collaboration this summer, we did 15 tips for sewing with rayon shally. And you can find that, the link to that blog in my video with the same title. So I did that mint green maxi dress. If you've been watching our videos, that was rayon shally. And it's hard to explain exactly why rayon shally isn't difficult to sew with because you would think the feel of it, the weight of it, it would be hard. It would be difficult. It would be shifty. It would move around a lot, which it, it does, but not in a way that you can't overcome. Like there are some like polyesters or silks or things like that, that no matter how precise and slowly and meticulously you do it, it still doesn't come out right. And I don't feel like that's how rayon shally is at all. Yeah. And I feel like even if, you know, it wasn't perfect as you cut it or as you sewed it, the item you're sewing is probably a flowy drapey to begin with. Pretty forgiving. Really forgiving. You're not going to notice something just a teensy bit off with a gathered skirt, for example. Exactly. Yeah. So I think there's a lot of room for, for a little bit of error in there with rayon shally, but I can sew with this today. I love everything about it. Yeah, it feels good. It washes well. It does wrinkle a little bit with wear depending. It's been so few years that I haven't even noticed everything you just do that out. Yeah, it's true. But but so yeah, I would check out that post if you're interested in trying something with rayon shally, it would be, you know, you have to pay attention to what you're doing. You can just like willy nilly cut it out and yeah, sew it together with a cotton. But it a beginner can can achieve a beautiful looking garment with rayon shally, more so than a silk or a polyester or anything chiffon, anything, any of those kind of you get the silky ish kind of feel without all that fuss. Yes, definitely. So okay, we'll link that below. Yeah. So moving away from our woven. Yes. Nits. Your first knit garment.  This is so cheap. Gonna do it. It'll be a nightmare. I did it. I did it. Yeah. And actually, I did it with like a tutorial like Maxi skirt tutorial where you just you see it with the flip over the flip over way. I can't even when I went in the trash. I don't even know if I made it to the waistband. Oh, it was awful. It's not wearable. I was bad too. Yeah. And I scratched off this for a while after that I was kind of scared away. But there are some really great options out there for nits that aren't scary. The first one up and it's really a specific to the brand art gallery nits are very stable. They're cotton with a little bit of Lycra, I believe they're just a really stable knit. They were not going to shift around when you're cutting it when you're sewing it. They just so really, really nicely and they wear really nicely too. Yeah. So I think they're a great place to start. They are a little more pricey, but they're really worth it. And when with nits, you don't need as much guarded usually like a top. I mean, you can go with under a yard sometimes tag top. So you really don't need as much guarded with a knit so you can go up price a little bit. But it also another thing that makes it so tricky is hemming and these hem so nicely with the really thin cheap nits. They're just a nightmare to him.  So yeah, give those a try. I am really impressed with their nits. Yeah. For those of you who are sewing with culture cotton, I'm sure you're familiar with art gallery. They make really great culture cottons. And so maybe try and make a shift a lateral shift like that within a brand that you know, you already like like the art gallery cottons, try and knit or the cotton and steel and cotton's try their crayon. Yeah, they make rayon. It's really, really, really great quality. Yeah, a lot of experience. So it's really love it. So typically, if you if you like a quilting cotton brand, they're going to put the same amount of like quality into their other substrates too. So you could be comfortable trying that. Yeah, definitely. And something I've been sewing with a lot and just absolutely love our double knits. I love double knits. I just made a little crop tea out of a double knit. I made two dresses. I just really love them. They're so easy to sew. They're another stable knit. You don't even need to have a serger. You can sew this up on your regular sewing machine. And it's there's going to be no difference between it and a surgeon. Of course, surgery is faster. But they sew beautifully on a regular sewing machine. They hem really nicely. They cut easily. They press easily. They're just fabulous. They're a great gratifying. Yeah, do you think these have cotton in them too? Probably. No, most double knits are really polyester. Yeah, this one's polylike. So I'll make your fabrics. Another one they have a big selection of double knits. Fabric.com also they're really doing a lot better with their fabrics lately. I don't know if they're under ownership, but they're really Amazon bought them. Well, that must be the difference. Amazon bought them. So anytime Amazon makes their footprint on anything. Yeah, I guess I don't know if they have more partnerships or they just it's hard to tell why but yeah, Amazon bought. Yeah, great stuff. I found some really nice stuff on there. It's just it's I just love it. I love everything about it. Yeah. And oh, these are textured. They got texture. Yeah, they almost feel like kind of spongy. Yeah, I tend to say that word because that will definitely put it in a certain cheap category. They're definitely not cheap. They're good quality. But yeah, they're good quality, but they're actually really affordable. Yep. Yeah, they're like in the $10 your price range. Yeah, I think that Stylemaker Cali fabrics that the people that that we love, I think that's why we love them because the fabric is affordable. But when you get it, you're like a little bit pleasantly surprised like, Oh, I can't believe this was only $8. Exactly. You know, whatever. And another thing to mention too. These are swatches. A lot of online shops do swatches. Some are free. Some are cheap as a dollar. So if you're unsure, you just don't know what things feel like. Order a swatch. That's what we were most excited about when we went to New York City. They're like, we hear all these different types of fabric. We don't know what they feel like. So we just felt things. Yeah, we'll see like there's suggested fabrics on the back of like a McCall's pattern. And we're like, what is that? It's still to this day. There's some of them that are on there. But I have no idea what what that is. And you don't want to spend all this time researching Georgia, for example, only to realize that Georgia is too complicated for you. It's too difficult of a fabric for you to use. So yeah, doing that or even going if you have like a Joanne in your area, going there going to the fashion fabric section and just walking through and feeling things and looking to see what they're made of. I think that that that helps me a lot and learn about fabrics and the more that you become familiar with certain types of substrates, the more that it becomes almost common sense as to what you would use for one project versus another project. But so hopefully this has inspired you guys to try sewing with a fashion fabric period. If you've never done that before or if you're brand brand brand new to sewing and having even sewn with a quilter cotton before, maybe you can get off get started off on a different foot than those people, which which would be kind of fun to just have skipped all over because of this video. Yeah, that would be great. But for those experience, so it's out there if you have any suggestions for our viewers as to fabrics that you think are perfect for beginners that we haven't mentioned today, feel free to put those in the comments. And for those beginners out there, if you have any questions, you can leave those in the comments. Like I've said, like we've mentioned our favorites, Stahlmaker fabrics and Kali fabrics, both of them are very responsive with questions that you may have. Yeah, so other than that, just you know, subscribe to our channel if you haven't already and be sure to give this video a thumbs up if you found it to be helpful. Follow us on inside the him on social media on Instagram, Twitter, Facebook, Pinterest. I mean, Google plus if you're into that. Every week you come out with a new one. We're basically anywhere that we can be. We just really only pay attention to the ones that we really love. So that's maybe why other ones pop into it. When we started, we just we got an account everywhere. So I'm just into Instagram. I don't know. Yeah, that's my favorite one too, probably. Anyways, follow us there to keep up with what we are doing in between videos and be sure to tune in next week, where we are going to talk about good resources, good online resources for beginners and we'll link the last two weeks videos, the other videos in the series that was already been published. We'll link those down below too. Is that everything? Good Gord. That was like the longest wrap up ever. Bye guys. Thanks.


What's good Josh boros back again with another video? So it's time for me to do my preview and predictions for AEW Revolution this Sunday. It's gonna be a good one, man. I am looking forward to it I've been liking the build for the revolution pay-per-view and I just can't wait to check it out We'll probably be checking it out on the Cusco on road page because we're still we still have our strike on the main page So be on the lookout for that if you want to check out that live stream And I'll probably pin the actual live stream link as the first comment On this video. So once I set it up, I'll pin the link. So definitely go ahead and Definitely check that out join us live tomorrow for our live stream reactions of AEW Revolution man, so I'm gonna give my thoughts with my preview and predictions and we're gonna go from there I'm not gonna really do the The buy-in I'm gonna do actually from the the main show the main card. So let's get into it Chris Jericho Eddie Kingston, man I've been liking their promos. I've been liking it I love fuses that don't really have to involve the championship. I I think I Think you need to give Eddie Kingston the win here. I think you give Eddie Kingston the win here Jericho can definitely take a loss in this situation. I'm not sure Jericho is giving me some heel vibes in this situation. He's definitely not the overall face Eddie Kingston is coming off more like the face here, but I would definitely give the win to Eddie Kingston here. I think they're gonna have a good match and Honestly, the promos have been fantastic by these two guys. So I'm looking forward to that So Eddie Kingston is my pick to win Brian Danielson versus John Moxley. Oh man, this has been so good I like the basis of this This started as Brian Danielson wanting to team up with John Moxley to potentially Create some type of faction or a tag team or whatnot And pretty much John Moxley was like, yo, if we're gonna team up together We got a bleed together first and they're gonna have a match and um from their history Moxley has never beaten Danielson. So I think this is great and Honestly, I would have John Moxley win Daniel Brian Danielson can take another loss here And it's he's losing to someone that is credible in AEW in John Moxley. So I would definitely have Uh John win this max match and I think it's gonna be hard hitting It's gonna be brutal easily probably one of the better matches of the night I am looking forward to this as well. The promos have been fantastic Once again, another match that doesn't involve the championship But it still feels big enough to be a main event championship match. So boom I'm going with John Moxley winning and uh, I don't know what's gonna happen with him But I do think John Moxley is gonna win and maybe maybe he will team up with Brian Danielson Who knows? Okay. So we got the tornado Trio's match Matt Hardy on dry day and Isaiah Cassidy versus Sting Darby Allen and Sammy Guevara I think the the faces will hint winning this win Sting Darby Allen and Sammy. I think they will win I think this is gonna be a good match It's gonna be a lot of action going on. I'm looking forward to this match as well But I do think Sting Darby and Sammy will I don't know what's going on with my camera y'all I don't know why it's chipping out like that.  I'm trying to fix it Sorry about that. It's just if it's going black. I don't know why it's doing that. But yeah, I do think uh Sting Darby and Sammy Guevara will win this match next one. Oh, this is the match I'm oh so looking for probably the match. I'm most hyped about on this entire card The dog collar match between cm punk and mjf Sign me up This match is gonna be great. The promos have been fantastic The way they ended off well the way they really enhanced this view with the mjf heartfelt promo cm punk almost buying into it Then mjf attacking him and bloodying him up and choking him with the dog collar. Oh my gosh Sign me up for this match, bro. This is a match once again Another match on this card that doesn't involve the title and it feels just as big as a title championship match I'm giving mjf to win here. I think mjf wins and I think he wins possibly Warlo reluctantly will probably help out I think that's what's gonna happen here because they're really building that story with warlo And mjf really starting to clash and I could see warlo being reluctant Once again, but ultimately helping him out. I think that may be the ending But mjf will win. He'll win in a heel-like fashion as he should and then he'll be focusing on the aww championship I think you give mjf that win. You have to give him that win It doesn't make sense to for him to lose this match He needs this win cm punk can take a loss here and cm punk can take a loss in a situation where someone else interfered So it makes pence cm punk still looks strong, but it will be bloody. It will be messy. I can't wait It's gonna be great All right, then you got the the face of the revolution ladder match warlo versus keith lee versus powerhouse haws versus ricky stars versus orange castley versus christian cage Oh, man, I'll be honest with you. I know they're really pushing keith lee here I know they are pushing keith lee and warlo though those would probably be the The two favorites. I think a lot of people would pick honestly Honestly, bro, I don't even know. I know Warlo was gonna play a part in the mjf cm punk match I honestly think That keith lee will win it. I think keith lee will win it because I think there's They're setting up something with warlo in mjf. That's that's what that's where they're going But I do think keith lee will win the match. Um, it's not warlo's time. They're just they're really building up I think more people are interested in warlo Facing mjf than him getting a title at this present moment because I think that's gonna catapult him to getting a title Once they have that few mjf and warlo. So I think keith lee will win this You got the awtbs women's championship match j cargill or cargill versus uh, take, uh Conti, that's how you pronounce it conti. Uh, I think j cargill is going to retain here They're really booking her as a strong woman's champion and I do think she definitely needs to retain So I think she's gonna retain here Hey, they'll be tag team championship match Jurassic Express the red dragons versus the young bucks I think the Jurassic Express will retain And it's gonna create the red dragon and young boys. That's gonna create some type of few involving adam Cole I feel like they're going with that the red Jurassic Express definitely need to retain it Because they're building something with red dragon in the young bucks. So I think Jurassic Express will retain aww women champions World championship match brit baker versus thunder rosa Brit, uh, brit, uh, I can't even talk right now. I'm just so excited brit baker will retain I don't see her losing to thunder rosa. I just I just feel like she's gonna retain the title It makes sense for her to retain That's just my personal opinion on it. And then, uh, of course the aww world championship match adam hangman page versus adam Cole Which one of the atoms will win? Why is my camera tripping out? Who knows? um, I'm gonna Adam Cole is not winning this match. I just want y'all to know this right now. He's not winning this match only because It needs to be mjf that dethrones adam hangman page That's the only person I think a majority of us want to see if If adam hangman page is to lose to anybody it needs to be mjf That's who it needs to be And this will be a good win for adam hangman page because once again, he will be You know, he would have been a very A very good opponent, you know what i'm saying his title reign his wins have been pretty solid, you know I will say this do I think this will be potentially match of the night? It could be But there's so many things on this card. I'm in my opinion I think a lot of the things that's on the undercard Overshadows this main event. I'm just be honest with you. Hell the dog collar match is damn near I think Going to be a lot of people's favorite match to see And we can't discard Brian Daniels and john moxley people want to see that those are World title contingent matches, but I think this match will be fine. I think it will be enjoyable, but ultimately adam hangman page will win will retain and hopefully Hopefully at some point soon we get the the match that we all know we want to see MJF versus adam hangman page. That's the match we want to see that's the match that needs to happen this year And ultimately mjf be the champion at some point. That's how I would book it It's his time to do this. He is hotter than ever as a heel And whoever will be the baby face trying to take the championship from him is going to make them even more of a star So but comment down below. Let me know. Do you guys agree with some of my picks here? Who do you guys think will win? Who do you guys think will lose? Also, will you guys be joining us live on the clutch going rogue page? On sunday, man. Let let us know man down below, but I appreciate all the love and support Row two syndicate. Appreciate y'all kicking me. See y'all next one. Peace


Get, get, get, get, get, get it, girl. Take her, take her to the floor. Show her, show her how you wrote.


We're going to be hosting our second police parks and pedals event on May 13th at 10 a.m. We're excited for our partnership between the Parks and Recreation Foundation, the Coleman Police Foundation, Walmart as well who donated 50 bikes for this particular event. So we're excited about this collaborative partnership for our children also inclusive of risk and scooter stick one. Those children will be impacted by the donation of these bikes as well as helmets. So we're just excited about this collaboration. We're excited about this partnership We're excited about this event. So come out and join us as we impact our young people in the community, as we impact their parents, as we impact those who are intimately involved in the planning process. We're excited about you being there. Come out and see us. Come out and fellowship with us. We're looking forward to it. My name is Sergeant Smalls with the Columbia Police Department. I'm excited about an upcoming initiative between the Columbia Parks and Recreation Department, the Walmart Corporation and the Richland County School District 1. This year's event will take place at TS Martin Park, which is located at 2700 Block of Itson Street. If you're not familiar with the area, it's adjacent to W.A. Perry Middle School and the rear of W.A. Perry Middle School. The date will be May 13th at 10 a.m. We'll have a designated bike route already set up for the kids to enjoy their bikes. We look forward to the families coming out and join some ice cream provided by the City of Columbia Police Department. So come on out and enjoy your kids as they work hard through the school year. And we want to recognize those kids on May the 13th at 10 a.m.


A warm welcome to the 43rd session on the subject of wavelets and multirate digital signal processing. In this session, we continue with our recent series of tutorial sessions and the objective of this session is to give a tutorial on the uncertainty product. We will first recall the meaning and the significance of the uncertainty product and subsequently we shall use this tutorial session to calculate a few sample uncertainty products. So, with that little introduction then, let me begin with the tutorial here. Now, let me recall briefly the context, the uncertainty principle as we know it, which essentially says that there is a bound on simultaneous time and frequency localization. So, essentially one cannot localize as much as one wants simultaneously in time and frequency. In fact, you will recall that we had derived a lower bound on the product of the time variance and the frequency variance in one of the lectures of this course. I shall not go through the derivation again, but I shall put before you once again the basic result that we had derived in that lecture. So, we had shown in that lecture that one could define for a time centered function time variance, which we called sigma t squared of x as the L 2 norm of t times x t the whole squared divided by the L 2 norm of x t the whole squared. Now, remember this is for a time centered function, that means a function whose time center is 0. Just to complete the discussion, let us recall the meaning of the time center. In fact, let us recall the premise on which this whole idea of variance was based. We said that x t divided by the norm squared of x t. So, if we considered mod x t squared divided by the L 2 norm of x t the whole squared, this constitutes a probability density function. In fact, that is obvious because if you integrate this it must be 1 over all t and naturally it is non negative by very construction. So, one can think of the mean of this distribution and the variance associated with this distribution. Now, when we say time centered, what we mean is that the mean of this function is 0. So, let us write that down time centered anyway. The time center in general would be essentially t times mod x t squared divided by the norm of x t the whole squared integrated on all t and we call this time centered t 0 and when we say a function is time centered, we mean t 0 equal to 0. Similarly, of course, we can talk about frequency density and frequency center. So, let us just complete the discussion by defining the frequency density. So, if x t has the Fourier transform x cap omega, omega is the angular frequency then mod x cap omega squared divided by the norm of x cap omega in L 2 R the whole squared is the frequency density and of course, one can conceive of a mean and a variance in terms of frequency 2. So, one can talk about the frequency mean which is essentially frequency center or frequency mean a manner very similar to the case of time and of course, when you say it is frequency centered, you mean omega naught equal to 0. So, let us write that down and we can similarly define the frequency variance. So, the frequency variance would be the L 2 norm of omega x cap omega the whole squared divided by the L 2 norm of x cap omega the whole squared. Of course, for omega naught equal to 0, if that is not the case then one needs to take a moment a second moment around omega equal to omega naught. So, this is a little recapitulation of the ideas of time and frequency variance. Now, what we had established in that earlier lecture was that the time for an L 2 R function anyway we need to consider functions of finite energy. So, for an L 2 R function the time variance multiplied by the frequency variance is lower bounded and in fact, we had established that lower bound. We noted that if you took the time variance and the frequency variance in terms of angular frequency, then that lower bound was 0.25 or 1 by 4. So, the lower bound is 0.25. Now, we had also looked at a couple of examples at that time of how we calculate the time variance, the frequency variance and the uncertainty product. What we intend to do today is to look at a few more examples to understand the calculation of this uncertainty product little better.  So, example 1 let us calculate the uncertainty product of e raised to power minus mod t for all t. So, of course, we need to do a little bit of homework first. We need to verify that this function is an L 2 R. We need to check whether it is centered in time and frequency and then we could proceed to the calculation of the product as we wanted. So, you see looking at the function itself, it is obvious if we call x t equal to e raised to power minus mod t, then integral mod x t squared d t over all t, you see you could for the moments sketch the function. So, this is how the function looks. It is a double exponential. It is obvious that x t is symmetric about t equal to 0. So, it is a real and even function in time. Now, a real and even function in time has a real and even Fourier transform too. So, it is obvious that this function is both time and frequency centered. It is symmetric about t equal to 0. It is Fourier transform is symmetric about omega equal to 0. So, we could straight away conclude that this function x t is real and even. Hence, it is both time and frequency centered. Now, I must emphasize one point here in this tutorial session. One must check that a function is time and frequency centered before one proceeds to make a calculation of variance. Otherwise, one can land up with very incorrect results. In case a function is not time centered or not frequency centered, it is useful to first center it. That is not difficult to do. Recall in the derivation of the uncertainty principle, we also had prescriptions for how we could create time centered and frequency centered functions starting from those that were not. Time centering is easy. Once you identify the actual time center, just shift it by that time center to make it centered. Frequency centering in time implies multiplication by a complex exponential essentially modulation. So, shifting of course, you could conceive of frequency centering as shifting on the frequency axis, but the equivalent operation in time is to modulate by a complex exponential. So, anyway here we do not need to do it, but in general one must be careful to do it. So, now, let us come down to calculating its time variance. Now, to calculate the time variance and anyway also to calculate the frequency variance, we need to calculate first the L 2 norm of the function. So, let us do that first. You see it is very easy. The L 2 norm of the function is easily seen to be 2 times the integral from 0 to infinity through symmetry e raise the power minus 2 t d t and that is 2 e raise the power minus 2 t by minus 2 from 0 to infinity which is very easily seen to be 2 by 2 or 1. And therefore, the norm of the function here, the L 2 norm of the function is clearly seen to be 1. Now, we need to calculate the L 2 norm squared of t x t or L 2 norm squared more precisely which is now this is not too difficult to do. Let us do it. In fact, we could easily see that integral t x t the whole squared in magnitude can again be calculated separately in the negative and positive side and they are equal. So, it is very easily seen to be 2 times the integral from 0 to infinity t e raise the power minus t the whole squared integrated with respect to t. Now, you see this is an integral which requires a little bit of work to evaluate by using integration by parts. So, let us see how to evaluate it. So, this is of course, so we consider the integral t e raise the power minus t the whole squared d t. Let us consider the indefinite integral first that is t squared e raise the power minus 2 t d t and that can be seen to be by parts. So, you know since the indefinite integral we evaluated by parts first. So, we will keep this as it is and differentiate this. So, we will continue to differentiate this to eliminate the polynomial here and integrating or differentiating this is no problem at all. So, it is always convenient to differentiate this so as to do away with the power of the polynomial. So, keep as it is here integrate this minus 2 times t e raise the power minus 2 t by 2 by minus 2 d t and of course, we can integrate this once again. So, now again we integrate by parts. So, we could strike away and we have a plus sign coming here we strike away the 2's. So, this gives us essentially we need to calculate integral t e raise the power minus 2 t d t from 0 to infinity and this becomes well you keep this as it is integrate this and then differentiate the first term and integrate the second and there we are. Of course, everywhere we need to substitute limits, but we will do this later. So, although these limits need to apply to both of these quantities here we will put the limits later. So, at the moment we will again consider the indefinite integral here as we require from the step in the past. So, essentially we were trying to calculate t e raise the power minus 2 t d t here and the limits shall be substituted in the end. So, now all in all the indefinite integral becomes as follows it has the following terms it has this term first. So, t squared by minus 2 e raise the power minus 2 t plus now I will continue later essentially plus this quantity here, but this quantity has been simplified here. Therefore, we have minus t by 2 e raise the power minus 2 t plus half e raise the power minus 2 t plus half e raise the power minus 2 t d t.  Now we can substitute the limits at this stage and in fact if we only care to look at the terms here. You see if we look at the limit from 0 to infinity here at t equal to 0 this term is 0 as t tends to infinity this goes to 0. Of course, one might argue that this tends to infinity, but a polynomial is always less dominating than an exponential that can be shown of course, by L'Hopital's rule also. So, I leave it to you to show that if you take the limit as t tends to plus infinity of t squared e raise the power minus 2 t it would go to 0 and the same holds for the term t e raise the power minus 2 t. So, therefore what we have here is when we take the indefinite integral and we substitute now the integral from 0 to infinity t squared e raise the power minus 2 t d t we essentially get e raise the power minus 2 t d t integrated from 0 to infinity and that is easy to calculate that is essentially e raise the power minus 2 t by minus 2 integrated from 0 to infinity and that is easily seen to be half into half and remember what we want is not this we want twice of this. So, therefore the time variance is 2 times the integral from 0 to infinity t squared e raise the power minus 2 t d t which is 2 into half into half which is half. So, there we have the time variance ready for us. Now, we need to calculate the frequency variance of this function and here again I shall recall an important idea there. Now, you know it might seem again that to calculate the frequency variance you need to calculate the Fourier transform that is not true to calculate the frequency variance we might do as well to look at what it means in time. So, let us recall that the frequency variance is essentially the L 2 norm omega x cap omega the whole squared divided by the L 2 norm of x cap omega the whole square, but then using passable's theorem I could always insert a j here and interpret this using passable's theorem as also this. So, one could first write this as the square of the L 2 norm of j omega x cap omega divided by the square of the square of the square of the L 2 norm of x cap omega and now with passable's theorem this becomes essentially the L 2 norm of d x t d t the whole squared divided by the L 2 norm of x t the whole squared. Of course, you will recall there is a factor of 2 pi which has got cancelled here. Therefore, we have a very easy job before us we can calculate the frequency variance essentially by looking at the time derivative this is convenient when the time derivative is convenient. So, in this case when you consider x t is e raise to the power minus mod t then d x t d t is essentially e raise to the power minus t times minus 1 for t greater than 0 and of course, for t less than 0 this would be e raise to the power t and therefore, it would be e raise to the power of t for t less than 0. So, of course, you know the equal to can be captured in either of them. So, it is said there is a discontinuity in the derivative actually. But anyway it does not matter because we are only interested in the integral. So, now if we consider the L 2 norm the L 2 norm of d x t d t the whole squared is actually the same as the L 2 norm of x t in this case that is because they are related through a factor of plus or minus 1 on either side. So, when we take the norm or the norm squared this factor of plus minus 1 has no effect and therefore, the frequency variance in this case turns out in fact, we know what that L 2 norm is 2 the L 2 norm we remember was 1 essentially and therefore, the frequency variance turns out to be 1. The time variance we have calculated before turns out to be half and therefore, the uncertainty product for this function turns out to be half into 1 which is 0.5 and as expected it is greater than 0.25. So, there we are we have one tutorial example here of calculation of the uncertainty product and we can see that for this function as expected the uncertainty product is more than the minimum that it can be which is 0.25 and we are not surprised because this function as we can see is discontinuous in its first derivative. In a certain sense the more discontinuous a function is either in itself or in its derivative the more trouble it gives to the uncertainty product. In fact, we saw that if there was a discontinuity in the function itself the uncertainty product is divergent it tends to infinity. Take the example of the Haar wavelet or the Haar scaling function the uncertainty product there tends to infinity because of the discontinuity. In fact, it does not matter whether the discontinuity is in frequency or in time. Remember there is a certain duality about the uncertainty product whatever methodology we have established here to calculate the uncertainty product can be done either in frequency or in time depending on what is convenient. So, if the function is neatly described in the frequency domain and if it is easy to find the derivative in the frequency domain one is welcome to start from the frequency domain in calculating the frequency variance first and then come to the time domain by using the principle of duality. Anyway that a part let us now consider another function which would hopefully do a little better namely a raised cosine function. Let me define that raised cosine function. We define the raised cosine function as xt equal to 1 plus cos t for t between minus pi and plus pi and 0 else. Let us sketch it notionally we should draw an axis in between like this and we need to draw a smooth cosine function like this. Now it is obvious why it is called a raised cosine it is as if there was a cosine or rather one whole cycle of a cosine raised so that it becomes positive. This raised cosine function has a lot of significance in digital communication. It so happens that this is one of the pulses often chosen conceptually or in reality for transmission of digital information. So, it is a monotone function modulation waveform or modulation and demodulation waveform of choice. Now we expect that if that is the case it should do well in terms of its uncertainty product and that is exactly what we shall now investigate. So, let us look at its uncertainty product. Let us consider its L 2 norm of course, we expected to be finite again this function is real and even and therefore, we can use symmetry to calculate its L 2 norm squared twice the integral from 0 to pi mod xt squared dt and that is a very easy integral to evaluate. So, we work out the steps here 1 plus cos square t plus twice cos t integrated with respect to t and of course, cos square t can again be written in terms of cos 2 t. So, there we are. So, let us consider we can do a little bit of simplification here. So, you see look at the terms here we have a constant we have another constant here we have integral cos 2 t dt and cos t dt and we are going to integrate them from 0 to pi. Now the integral of the cosine function from 0 to pi is of course, 0 we know that if we take the integral of cos t from 0 to pi you have as much positive as negative area. So, let us sketch that. So, cos t from 0 to pi would look like this and in fact, cos 2 t would go through 2 cycles rather 2 half cycles this is cos t this is cos 2 t and therefore, we have a 0 integral over 0 to pi. So, if we put back the limits in this integral here if I integrate from 0 to pi we can drop this term and this term here and we are left only with this term. So, we are left only with integral from 0 to pi 1 plus half dt which is 3 by 2 times pi and of course, what we want is not this, but twice of this. And therefore, we have the L 2 norm of x the whole squared is 2 times 3 by 2 pi which is 3 pi. Now we calculate the time variance and once again to calculate the time variance we note that this function is real and even and therefore, it is already time centered because it is real it is frequency centered too. In fact, its Fourier transform is also expect to be real and even. So, we do not have to do too much of work. The function is already time and frequency centered we must make it a point to note this every time we calculate an uncertainty product it should be a practice to note this. In some cases it could be time and frequency centered because it is real and even in some other cases we need to explicitly look at mod x t squared and come to a conclusion about the center and center it if it is not. Now in this particular case as I said it would be easier to first deal with the frequency domain. So, let us calculate the frequency variance first. Now to calculate the frequency variance we need to first calculate the L 2 norm of dx t dt and this is easy to do. In fact, we can write down dx t dt very conveniently. dx t dt is essentially d dt of 1 plus cos t which is minus sin t and it is very easy to calculate its L 2 norm the whole squared. Essentially it becomes 2 times integral from 0 to pi sin squared t dt and this integral is easy to evaluate in terms of sin 2 t or cos 2 t. So, it is 2 times integral from 0 to pi 1 minus cos 2 t by 2 dt and once again if we note that the integral of cos 2 t dt from 0 to pi is 0 what we have is essentially integral from 0 to pi dt which is pi and therefore, we have a very neat result for the frequency domain variance. The frequency variance just becomes essentially pi by 3 pi or 1 by 3. Now we need to calculate the time variance and that requires a little more work. I shall indicate the calculations here. So, to calculate the time variance we need integral t squared mod x t squared dt which essentially is integral t squared 1 plus cos t the whole squared dt and of course, one can make use of symmetry here that is not a problem. Let me do that. So, in fact, let us first calculate the indefinite integral. It will be easier to work with the indefinite integral first. So, let us expand this. Let us get integral t squared 1 plus cos t the whole squared dt to be integral t squared 1 plus again the same thing cos square t.  So, of course, now we have a set of integrals of the form a power of 2 say t squared times cos some m t dt. So, we need to evaluate integrals of this kind. Now what I am going to do is to indicate for you the approach to finding such integrals and I shall leave a little bit of calculation for you to do in the end. So, typically what we need is to calculate an integral of this kind say t squared cos m t dt where m is an integer that is not terribly important, but anyway that is what it is and that is easy to do. It is essentially keep this as it is integrate this. So, we have t squared sin m t divided by m minus integral differentiate this integrate this with respect to t. Now we need again to consider integral t times sin m t dt and we can do that by parts as well. Let me rewrite it integral t sin m t dt is essentially keep this as it is integrate this that is minus cos m t by m minus differentiate this integrate this dt and this is easy to complete. This is essentially minus t by m cos m t plus sin m t by m squared. So, now we have the indefinite integral properly constructed. Let us make use of the calculation to write down an overall expression here. So, we have t squared cos m t dt is all this and we have simplified this here. Let us write down the integral in total. So, there we are we have the total expression here. Now let us look at the terms that we have in the integral. We have a t squared cos 2 t dt term and we have a t squared cos t dt term here. So, if we use this expression here let us write down explicitly what they are. You know the t squared cos 2 t dt terms are essentially going to give you t squared sin 2 t and so on. So, you have t squared sin 2 t and of course, t squared and you see we are going to take limits at the two extremes. So, you see without doing too much of calculation let us look at what these limits would give us. Now take this for example, the integral is going to run from 0 to pi. So, as far as the sin terms are concerned sin of 0 and sin of any multiple of pi is automatically 0. So, we do not need to look at the contribution of this at all. The sin terms do not contribute. It is only the cos term which might contribute at the two extremes. What we are saying in effect is we essentially require this and this and we have taken note that when we do this when we calculate those two terms wherever there is a t anyway it is 0 at 0. So, these drop out wherever there is a pi the sin at a multiple of pi is 0. So, therefore, you see all that we need to do is to consider. So, you see sin at 0 is 0 sin at a multiple of pi is 0. So, these two terms drop out we need to look at only this term for 2 t of course, again we have cos of 2 pi and cos of 0 whatever it is. So, let us write down the two expressions. So, essentially what we are saying is we need to consider only now even here if we look at it carefully let us take for example, m equal to 1. We have 2 t cos t from 0 to pi and of course, at 0 it is 0 at pi anyway of course, this is cos pi which is minus 1. So, we get only one term. So, it is 2 pi cos pi for m equal to 2 we would have 2 t by 2 square which is 4 cos 2 t from 0 to pi and of course, at 0 it is 0 at pi it is 2 by 4 times pi times cos 2 pi which is 1. So, it is half pi. So, here you have 2 pi cos pi which is minus 2 pi and here we have half of pi. Now, I am going to leave a little bit of calculation for you to do and complete. What I would now like you to do is to calculate the time variance based on these integrals. It is easy to do it is just a matter of substitution now and to compare the time variance with 0.25 there should be a little bit of excitement left for the student and I am kind of giving you a hint of what will happen. Let me sketch the function once again for you. Recall that the function look like this a kind of bell if you might call it that and kind of exaggerating the n's is minus pi and plus pi here and this is at 0. Now, you will see that the derivative is 0 at minus pi 0 at pi and also of course, in the centre. So, there is a certain additional smoothness that this function has over and above the function e raise the power minus mod t. Therefore, we expect that this function should have a lower uncertainty product then e raise the power minus mod t and indeed when one actually carries out this calculation one would see the product would be a little closer to 0.25 than the earlier one. With this then I leave this calculation for you to perform and we end this tutorial session on the note that you could now consider a few more such functions may be with more than one cycle and calculate a few more time frequency products to understand them better. Thank you.