installment number five of drugstore beauty brand superstars is coming at you right now. Hi friends, welcome into installment number five of beauty brand superstars where I show you the best of the best of the brands that are at the drugstore and I pick out for you the very cream of the crop to take out the guesswork when you go shopping. So there are four videos before this which I will link below in a playlist so you can go back and see those. Today we're going to be going over Coqui cosmetics, color pop and makeup revolution and I can't wait to show you what I found. All right, we're going to start with Coqui right away but before we do I do want to tell you that my earrings are not available. I have had these earrings probably for 15 years. I don't remember where I got them but I get asked about them every time I wear them on camera so that's that and then my top I got at Ross and you might still be able to get it. It's kind of springy and bright and all of my makeup will be listed down below along with all of these products. Okay, we're starting out with Coqui. Coqui is one of those brands that I really think is a hidden gem at the drugstore. You can't get them at too many drugstores. I know their Ryde does carry them and then Sally Beauty actually carries them now too which I think is great and probably the most standout product for me is this foundation which is the full cover foundation. It's what I have on today. I actually really love this foundation. It covers so well and it goes really good on my mature skin. It is a little bit more heavy so if you're somebody that likes a lighter feeling foundation it's actually one that I wear more in the winter time you know as I get into the summer I kind of lighten up the texture as well as you know darkening the color of my foundation this one I did have to color correct and I think I have this in two zero C or cool but this foundation wears so pretty on my skin. It will be there all day long. It won't have any break apart. I don't have a problem with that. I do use a very small amount and then if I need to I go in an areas where I just kind of need a little bit extra so because it is a little bit more dense of a formula you need to use a whole lot less which I don't mind. The foundation itself has a pump and it has this gold accents. I love it when they do a really nice drugstore foundation that looks high end and so here's the foundation right here and you can see how well it's going to cover. It's just a really great foundation for that and like I said this isn't a great color for me. I do color correct but this is a really nice foundation as far as it doesn't dry me out. I do have dry skin. As you can see it's a little bit matte. It's not super matte though and I do like that about it. So this is a foundation that I would say works really good for me and if you want to try it out it's not going to break the bank. Also from Koki I love their lip liners and today I do have one of them on. Let me see which one I have on. The one that I have on is plum purple and this is just a silky formula like a gel formula. It goes on really well. It blends if you want to blend it into your color which is what I did today and mix your colors. It blends so well and then the other one that I have they're both plum purple. I picked up those but I do like the other one that is kind of the deepened red but I love this. It goes on really smoothly. It blends in really well. It gives you a little bit of definition on your lips and it doesn't bleed out into my lines which I have vertical lines which I really like about it. So I do like that one and then also the last product I have from Koki is their cream highlighter. Oh my goodness. This is so pretty. I think this one is rose something. Let me see if I can figure it out. It's rosy. So this is a cream product which I think is just beautiful. I do have this on as my highlighter today. It's one of those highlighters that I just think is so nice and so pretty on skin and this one particularly I will pull this back so you guys can see a little bit better. It is a rosy color. They did have a gold and I believe they had like just a light color too. I'm not sure. They might just have the gold in this one but it's really silky, really smooth. It lasts a long time, doesn't show up any texture and really plays well under blush and over foundation. So really love those products from Koki. The next brand that we're going to talk about is Makeup Revolution. I started out absolutely loving Makeup Revolution's Eyeshadows and then somewhere in there they just changed their formula and that all changed for me but they do still have really pretty complexion products and so I have a few here that I really like. I actually also want to mention the hydrating formula of their foundation. I haven't tried the glow formula so if you've tried that let me know in the comments what that's like but the hydrating formula of their foundation is really good and I actually just tossed that out like about a month ago when I did a declutter because I had had it for like two maybe almost three years so I really needed and it was separating and all that so I really needed to get rid of that but here's the other complexion products that I have that I like. I recently put this one in a dupes video. Actually I have two of these in here that were in a dupes video. This one is the Makeup Revolution Conceal and Fix Ultimate Coverage Concealer with Salicylic Acid and this one is in Light Beige. This is a dupes for the Kevin Aquan. I can't remember what it's called right now. It is super duper creamy, super emollient, a teeny tiny bit goes a long way. That might even do your whole face how much I just put on there.  It is absolutely gorgeous as far as how it covers. It's fantastic. I just really love everything about it and what I will say is go watch that video because I talked about how you have to use this. If you don't use just a minuscule amount of it, I mean even like the tip of a toothpick or something you will get too much and you won't like it. I also do really like the infinite formula and the hydrating formula of their concealers. Both of these again have fantastic coverage. Now these both of these formulas are a little lighter. The infinite one is a little bit more along the matte side. So if you do have a little bit of breakthrough and kind of an oily underneath your eyes, some people do, then this one that is the infinite one probably would be a really good one for you. The hydrating one is just a little bit more along those properties of being hydrating enough that it doesn't really make you look super dried out. Again, if I'm talking concealers any time with anybody, I'm going to tell you use tiny, tiny amounts of product. Even if it's some like this that are more on the creamy side than the emollient side, I tell you use less.  And then a product that I did compare to Charlotte Tilbury's Her Flawless Filter Primer. This is the Fix and Glow Ultra Glow Primer. And this is not exactly the color of those. This is a little bit more pink. But when you get it underneath any sort of foundation, you're going to find that it's just a beautiful primer. I do have it underneath mine today. When you have a super matte foundation, that's when these come in and they do give you just a tiny bit of that glow. They will show through if you don't have a super high coverage foundation. This one is a little bit more higher coverage, but you can still see that this shows through just a tiny bit. This is a beautiful primer. And as I'm feeling it right here, I can feel that it has a tiny bit of the dimethicone or the silicone base to it. So it's still going to fill in your pores and kind of even out your complexion at the same time. But doesn't that hand look pretty? It really does look pretty as far as this other one that doesn't have anything on it. So you can tell that it's going to kind of really help boost your complexion. I really like that. And then lastly, I am wearing their mascara. And this is the Lift and Defined 5D Lash Extra Dimension Mascara. Make Revolution did send this to me. So I do thank them. And that is the wand right there. It is not a plastic wand. It's the natural bristles. And then it just tapers up to the end. I do like that it's a little skinnier than what we're seeing out right now. I have, you know, really shaky hands.  So I really do appreciate the skinnier wand. And I do feel like it really builds up and it really does define my lashes. And hopefully you'll be able to see my lashes are a little bit thin right now. They're long, but they're a little bit thin.  I like the length that it gives. The only concern I have with this really, truly is that in the process of building, you can only put one coat on. Don't go in and put another coat on immediately because you're going to get them kind of clumping together a little bit. After it dries for a second, you can go in and put on a second coat and then tip them to make them look longer. But yeah, that's the only thing I have to say that might be a little bit negative about it, but it's a really good mascara. And I've been using it like crazy. It even made itself into my mascara video that I did. I tested like 30 mascaras in a year and this made it into one of the top ones. So you know that this is a really good mascara. Okay, now on to ColourPop. ColourPop is one of those companies that has just come onto the scene as an indie brand and it's just broken up everything. It's just completely broken up the industry. I feel like because of their price point and because of their quality. And I started out way back when using ColourPop and their Super Shock formula and fell in love. Every time I get into a highlighter or a favorites or anything like that video or cream video, I'm talking about the Super Shock formula. And one of those things is the Super Shock highlighters. I wish they would start coming back out again with their bronzers and their contours that has this because this formula is something really special. This one is called Stole This Show. I make sure that I put my lids back on really tight because this is a cream formula that will have a tendency to dry out on you. Now you can, even though it might separate from the pan, I will say that you can just go and put your finger in there. It's still going to be a good product. It's just that they don't last more than about a year. So you know that. But they're worth it. Look at that highlighter. Holy cow, that one stole the show. And then we're going to go in with Flexitarian is the next one I have. This is my favorite one. And Flexitarian is what I have on my inner corner today. But it's my favorite one. It's like a champagne-y pretty color that just looks good with just about any coloring. And then Stole This Show is like a pinky, pinky peach almost, I would say. It's one of those colors that's just, oh, I love this one. And it's very light. It's not as beaming as the other two. So you're not going to have quite as much light from it or quite as much reflect from it. But you're definitely going to have the glow from it. So those are the Super Shock Highlighters. And I think they're just gorgeous. They hug the cheeks. They work into mature skin so beautifully. And they never show up any texture for me. So that highlighter has been a favorite of mine for a very long time. Now when they did come out with the Super Shock Blushes, which I think was their second product. So the Super Shock Eyeshadow, which I don't have any in here today. But then it was the blushes. And holy moly, these are so, so good. I love these. I have a couple that I have hit pan on. This is called Between the Sheets. This is probably my favorite color because it can go with anything that you're wearing. It's a very pinky peach color. It's along the lines of that rose, natural, just your flush look on your cheeks. I think it's so beautiful. And then we have the Pre-Nap, which is definitely more along the lines of a Mavi Rose. And this is another one I've hit pan on. Beautiful color. This is the one I do have on today, which I probably will pop a little bit more on there for you so you can see just a little bit. Beautiful rosy color on that one.  It's so pretty. And it blends in so seamlessly.  Never shows up any texture. The last one I have is my more peach option, which is Count Me In. Gorgeous peach color. That is so good for the spring and summer. They're all beautiful for spring and summer. But you can tell right there that they have a really good selection of them. They have some that are deeper and I just, I love them. They can be built up. They can be sheared out. They're just a gorgeous product. So yes, super shock blushes. Absolutely love them. Probably my number one product from ColourPop. And then also in a recent video, I talked about colored eyeliners and how much I'm enjoying those. I do have this blue color right here, which is crazy. C-R-Z-Y is the color on their website and on Ulta. It's like a cross between a navy and sapphire blue. And I've just been using those across my lash line on the top to bring definition, but also to bring a fun pop of color without going too crazy. And then this one right here is the brown one. And I don't remember what the brown one is called.  So once you have them there, they're going to dry down. They're going to be there for the whole entire day. You're not going to have to worry about them. I will say that they're pretty juicy when you first get them. You can see right there that there's a lot of ink in there, but you can, you know, go in with a really light touch and get a really great line there as well. And I don't know if you can really even tell that I have on a blue on the top of my eyes or not, but it's so much fun for me to do that. And I just have really enjoyed having these particular liners because they have some really pretty colors. So you might check out also what's on their website for other colors. They have a lot on Ulta though too. And then one of my favorite things that they have is their pencils, their lippie pencils. I think this is a great formula. It's very much like the Koki formula in the creaminess that it has, that you can blend it with your lipstick. And it just blends in like a dream because these are, I believe these are a gel formula too. And I'm going to have a hard time seeing this because they put their, okay, this one's called Shot Clock. And this one is kind of a nude rose color, a medium rose color. So it would be really pretty on somebody that had lighter coloring. I was going to show you three, but I can't show you this one because it's been discontinued for a long time. This one is Lumiere and this one was the one that Kathleen Lights chose this color. This is probably my favorite color ever and they don't have it anymore. But Lumiere was one of those ones that I wanted to show on air today because if you're ever on any of their social media color pops and they say, would you like us to bring any colors back? Lumiere in the lippy pencil is a must. It's one of those colors that I can wear all over my lips and it's a beautiful mauve rosy pink color that I just wish that they'd bring back because look how little my pencil's getting. I love that stuff. And then the last thing we're going to talk about are their shadows. And I have a few suggestions for you for palettes. If you're somebody that hasn't gotten into this before, the Stone Cold Fox palette came out a while ago and it is a palette that has a lot of cool tones in it. And I love that they are looking to cool tones now because for such a long time, all of the eyeshadows were warm, but this palette takes you into a little bit of warmth, but a little bit of cool too. And so I really have appreciated using this one. It has some gorgeous lighter colors, which is so nice for me too because sometimes the palette can get too dark really fast and I won't be able to find a color that I can use as a light color. This color right down here at the bottom, I'm going to pull back because sometimes these are hard to see, but right here, this is a color that I have across my lids. And then I used another palette today that I will show you in here in just a second, but the colors are great in here. Yes, but the formula is very easily blendable too. You do have a tiny bit of kick up. I'm not going to tell you that that's not there, but at the same time, they work as eyeshadows so well because they do have a great amount of saturation and they do also blend very easily. Their mattes aren't like super buttery, but they're a pretty, pretty formula that's very easy, easy to work with. And I think that that's the standout about their shadows. The next two are kind of neutral favorites of mine. Well, I actually have three that are neutral favorites. The one that they had that is going coconuts, that is kind of, if you want to talk more along the lines of a neutral palette, it's still got a lot of warmth to it. When somebody says neutral, I want it to be something that is very easily worn for somebody that loves pinks and very easily worn for somebody that loves corals. So this fits the bill for a lot of that. I really like that they didn't throw any of the glitter in here. That's one of the things that's hard for me. So this palette is really great for that. I love that they went into like a more rosy neutral color. And like I said, this one can get a little bit dark, a little bit fast, but this is my saving grace right here. It's that bone color right there. Mix it with any of these. It lightens them up immediately. And then that's taupe. This one is their Cool Tone palette. This is the one that I do have on today. I actually went in as this one right here is my transition color, mixed with a tiny bit of this. And then I deepened up with these two colors right here. And it just worked out really pretty. I love this palette so much. And then Making Moves is one of my standbys for the Cool Tones. And then the Moves that work so good as eyeshadows without getting right stark into purple. And I really think this one is beautiful. Again, we didn't have any of the glitter in here. I love that about it. Now the last two that I'm going to show you are the Lilac You a Lot and the Blue Moon Palette. And these two palettes came out quite a while ago. And I do love the purple palette. It's a really, that's why I think it's my pleasure. Love that palette. But this one in the spring and summer, I tend to go towards because it just has those lighter springy colors from the purple hue. And plus for me, I'm a little bit lighter skinned, so it helps out a lot. Love this color down here. This is one that works so good in your transition. And then hit the other ones with your outer V and across the lid. And they're gorgeous. Now there is a few of these in here that are the Super Shock Formula. This one's not, but I did want to show you that one because that is such a bright pink. And I think it's so pretty. Just really, really pretty color. And then into the Blue Moon Palette. This one is one that completely stole my heart. Because these blues are so vibrant and so pretty. I love these. Now this one down here, I've heard a lot of people say that they're not crazy about this color. I am. It's a duo chrome blue. So it's got that icy quality to it. And then it's got the blue to it as well. I love that. When I get that on my eyelids and I turn in it, it's just a beautiful reflect of that icy blue color. Very, very pretty. And then today I do have this color on as my liner underneath my eyes smudged out. I love this Periwinkle blue right here. I think that's one of the prettiest shades I've ever seen in a palette for a long time. That blue is, it's just unique because it's almost to the point of being like a light lavender cast in there. But at the same time, you still have that almost cornflower blue. So I really love that color. If you do happen to see one that you really enjoy the color scheme of, you might want to go ahead and grab that. Okay, that's it for today. If there's anything in these brands that you absolutely love, let me know in the comment section below because I'm always looking for new products to try. And I thank you for tuning in today and spending a bit of your day with me. Please stay happy, stay healthy, stay sanitized, and stay safe out there. I love you very much. Catch you in my next video. Bye, friends.


Yeah, global connections, you know, update on the war in Ukraine, a couple of thoughts about that. I'm Jay Fidel, this is Think Factor. The fellow on the other screen is the Karl Ackerman. He's an historian, especially skilled in Eastern Europe. They're not a number of programs with Think Factor discussed that. But it's a couple of thoughts here, update on the war in Ukraine. You know, there are a lot of threads in the news lately and some people think that, you know, Ukraine is fading from the public view because there are so many other things that are discomforting happening in the news, especially domestically. But we have to keep on focusing on it because it is the thing that's going to determine the future of the liberal world order, clear enough. That's one thing. So we're going to continue to do this with Karl and others to keep current on Ukraine. And the other thing is because there's so many articles in the newspaper and the Times and the Post about Ukraine, you know, we really have to collect our thoughts and connect the dots on what's going on. And that's the intention here of, you know, updating on the war in Ukraine. And let me say what I would like to discuss and Karl can agree or disagree. I would like to have Karl catch up and understand how things are evolving in the war, including the strange and failing moves of the Russian army, Putin's troubles with the war crimes investigations, and with the oligarchs who are breaking away and protesting, and the Russians who protest by leaving. Putin's move just in the paper today to command the army by himself is very interesting. The surrender of the steel plant, that was very troubling. It was a surrender in a manner of what words were put on it by Ukrainian government, Zelensky. And the decisions by Finland and Sweden increasing in their urgency to join NATO, understandably. NATO's response to that and to find out what is happening in terms of the coalition of support in Western Europe. And I find this very interesting, Turkey's attempts to block the effort by Finland and Sweden in NATO, hardly suits him, Erdogan, I mean. Biden's $40 million package, attempts by Rand Paul and other Republicans to delay the package. It was gonna come on, I'm sure you realize, Karl, today, efforts by Mitch McConnell to get the package passed. All these things and maybe more about Ukraine. So I'm gonna turn the floor over to you, Karl and see what you can do on helping us understand. Well, let me start with Senator Paul in terms of what he's attempting to do. This is a huge mistake. I often end our shows by saying we are all Ukrainians. And what he's trying to do is to block any kind of military aid to the Ukraine. And this is as miscalculated and wrongheaded as anyone could be, but it doesn't stop this gentleman from doing things that you may remember his questions during the Supreme Court hearings for the most recent nominees. So this is on one hand, it's one of the few areas where most Republicans and Democrats are united. And this notion, and I think Rand Paul follows a lot in terms of the former President Trump, America first and not spending monies on any kind of foreign policy. And this is greatly mistaken, but let me go on from there. In terms of foreign policy, and I think this is the most important point I'll make today, Jay, is that the fact that Sweden and Finland are applying for NATO leadership means that Vladimir Putin has already lost this war. His whole attempt was to create buffer zones around Russia and to restore the former Soviet Union. And he has just created such fear in two countries that were neutral and fairly friendly towards Russia and never having problems, just like simple fences separating Finnish territory from Russian territory in cases and Finns crossing the border to buy vodka a lot. As I remember when I was there in 1969, days and days and years and years and dinosaurs ago. But this is a huge event in diplomatic history and it's a complete turn in world events. So by committing this war, and of course what's happening with the Russians on the ground is, except for one Southern city, is that they're losing the battles and they're losing the battles because I think for two reasons. One is, I don't think the Russian military knew what they were getting into and I think they were ill prepared, that's number one. But number two, what's motivating the Russian troops? I mean, that there are fascists in the Ukraine? Well, any soldier that goes into the Ukraine is gonna understand pretty quickly that there are not a lot of fascists and there's a huge upsurge against them. So I think he is in deep trouble both on a military front and as I said, on a political front, he's lost big time internationally. And of course, he's peri-op to most Western leaders and I don't think you can get something like that back. I don't think you can get your reputation back. There's no way that he may be able to, after this war concludes, be able to sell his oil in Western Europe or his natural gas. But I think he's become someone that people don't wanna affiliate with. So, and I'm gonna stop there because I've made a couple points already. Okay, well, I'll continue with some of my curiosities. I guess we know what it means when the troops don't have any understanding of why they're there and getting killed. And we probably know what it means when the Russian families at home, which are ordinary people misled by state TV, when they get body bags that notices that their young sons have been, and I say young because a lot of the military from Russia is very young, when their young sons and to some extent daughters have been killed, for what? This has gotta be permeating through. And one of the questions that I would current to me is that, you know, there's no protest permitted. And if you call it a war, you know, theoretically go to jail for 15 years and all that. But there's got to be an underlying protest and underground protest, if you will, just as Putin uses the state TV and he clamps down on social media and all that, there's ways for people who disagree with this war in Russia to pass the word. You know, just as technology can seize on one side of an issue, it can also affect the other side of the issue. That's the world in which we live. Dictators love the technology they can use for propaganda. But there's a growing group of people, you can read about them every day, who are using the technology back against them. And my question to you is, how do we know about this and how is it working? And is it limited to the protest in Russia or is it expanding worldwide? Well, let me take the last quarter question first. It is expanding worldwide. And especially in all the NATO countries, you know, there have been massive demonstrations and people have been on the streets. So I mean, that's pretty clear. What's unclear to me is how big the sentiment is. Now, when the Russians were in Afghanistan, again, under Putin, you know, before they got out, what happened was that there became a clandestine operation by Russian mothers and they banded together in an organization, I'm forgetting the name of this organization, to remove Russia from Afghanistan because too many Russian soldiers were being killed and also in Chechnya now, the same thing happened. And so, you know, I think that your comments were really the most astute ones, Jay, in terms of when it becomes apparent to a lot of Russian that, you know, there are lots of body bags coming back and there are lots of body bags already coming back. But you know, when it becomes, you know, 100,000 as opposed to 30 or 40,000, I think Vladimir Putin is gonna be in deep trouble. I'm not that he isn't already.  So as it has in the United States. And so the oil economy is still operable in Russia.  But other avenues, you know, whether he's selling to China or to India or, you know, African states, I'm sure he's doing all of the above. He's still got Nord Stream one working. Yeah. At 200 million, 200 million euros a day, he gets paid on that from Germany. Right, so that's one thing.  I mean, just yesterday we heard about McDonald's, you know, retreating from Russia. And I have kind of an interesting story about that is when in August of 1991, when the Soviet Union collapsed, you know, during Glasnost and Perestroika under Mikhail Gorbachev McDonald's come in.  So, my metaphors a bit there. But anyway, you get the general gist of what I'm saying. And so, you know, the fact that these McDonald's are leaving and a lot of international companies are leaving and stores are being boarded up, this is a real sign of economic problems in Russia. And they're, you know, the one car that is decent, Lada is, you know, Renault and other companies from the West are pulling back. And so, you know, without this Western infusion of goods and enterprises, banking, et cetera, you know, things are gonna be coming more and more difficult for the average Russian. No, he nationalized Renault. Yeah, yeah. Yeah, and so that's what I'm talking about is that of course this puts everything under Russian operation. And as I said in the last two of our shows, you know, you don't necessarily hear about a Russian car ever, you know, when they're partnering with Renault or Renault or Fiat, you know, they generally produce good cars, but that's because they have good engineers outside of Russia. Not that they don't have good engineers, but they just don't have good quality control about almost anything in Russia. So that's why, you know, people are always afraid in Russia in terms of nuclear waste. Of course, my everlasting concern, even though there aren't too many places that Russia now has control of Ukrainian nuclear power are the missiles, the aircraft, you know, that are going into Russia. And the most curious thing, Jay, that I really am puzzled about is the notion of no aircraft, you know, during that celebration of World War II in Russia, in Red Square, that's a strange one. And I'm not sure why that took place. There's a theory that, you know, Vladimir Putin needed to use that one of the aircrafts which would carry him aloft in case there was nuclear war. And it didn't want to expose that aircraft. But the other theory is that, you know, that there's some problem with the Russian Air Force. And if that's the case, then all bets are off because the Ukraine- It could be. That's a theory that does resonate that the Russian Air Force generals said we're not participating. Yeah. I mean, that's just as odd. It could be a rebellion by the military. Yeah, that could be. I think that's probably an outlier. But you could be right. You know, I was talking to someone today about, you know, the strange things that are happening in our world today and the Russian invasion of Ukraine is right up there.  But, you know, what we talked about, Jay, and we've talked about privately and also on the show is, you know, what is Vladimir Putin going to do in that area between Moldova and Ukraine? And what is Vladimir Putin? Transnestria. Yeah, Transnestria. Yeah, Transnestria or, you know, Kalinkan grad. And, you know, it's in those two areas that I worry about also in addition to, you know, nuclear reactors being somewhat damaged. But if anyone's watching that wants to know about something to read about the current state of Russia, the last New Yorker has a pictorial section with David Remnick, you know, the editor of the New Yorker leading with a page passage. And then following that is a wonderful article about the hospitalers. I think that's the way to pronounce it. And it's all the people who are going in to try to help. You know, Joe, normally, former Ukrainian nationals who are living abroad, they're going back and they're working in hospitals.  Well, that brings me to what happens to the 600 army that were surrendered. Zelensky decided it'd be better to surrender them in the steel plant. And he ordered them to surrender. And they were taken away in a bunch of Russian buses into Russia, or into Russian-held Ukraine. And ostensibly for medical care, but also possibly to retire them from the war in Siberia. And, I mean, what do you make of that? I guess from a prudence point of view, from a practical point of view, Zelensky was right in surrendering them, who was going nowhere. But what implication does it have? What effect does it have? What consequence?  One can see this, you know, on face value, it has to be a loss for the Ukraine. I mean, in other words, there's no ways around it. But if you look at it from a longer-term perspective, like the Winter War, the Fin spot against the Soviet Union, you know, people don't remember this war as the great victory of the Soviet Union over the Fin's. They remember it as the Fin stopping a much larger army, much better equipped, you know, for months at a time.  But I mean, this is like the Alamo.  It was the heroic stand of the Americans that's gone down in American folklore. So, you know, I think this is the way it's gonna be remembered is this is a heroic stand by a, you know, a poorly, I shouldn't say poorly, but under-equipped military personnel and things like this.  And I think also you have, you know, a president of Ukraine who is very good about keeping it on the front pages. You know, you have a, you really do have, I mean, you know, people have compared him to Churchill and things like that, and maybe, but he is definitely someone who, President Zelensky, who is gonna keep this war forefront and center, and as well it should be, because this is really the democratic fight of our times and the Ukrainians are heroic. And this is not to do as, you know, people often do is to make everything Ukrainian perfect and lovely and wonderful. We're not saying that. And this particular fight, much like World War II, there are good guys and there are bad guys.  Well, I mean, when you start talking about war crimes and clearly the raw war crimes and atrocities, a major magnitude weapons of mass destruction, of killing civilians with no good reason at all, five of thousands, of forcing a population to leave by 10 million people. This is, you know, this is unprecedented. Even in the 30s, this is unprecedented. And I think this is going to Spain, him and Russia for the next few generations. It is one great big war crime. It redefines sovereignty. It redefines the propaganda.  And I think, you know, there are 5,000 investigators in Ukraine now, probably increasing daily, who are investigating and documenting the war crime. And they are going to take these cases. They are already taking these cases to international courts and national courts in Europe, not in the US right now, but maybe. The point is that it's very hard to prevent that those prosecutions and those cases, and ultimately the outcomes of those cases, from getting back to the Russian people and the world. And he and Russia will be stained by the huge amounts of evidence of war crimes in this war. And that he cannot escape that. Well, you know, as in this case that this Russian soldier captured and, you know, submitted to Ukrainian justice, I think that more of this is gonna happen.  And so, you know, it's a difficult, it's difficult to swallow, any of the Putin lies, you know, about Nazis being in the Ukraine. And once, as I said before, you know, once the Russian soldiers on the ground and doing things, I mean, there have been places where Russian soldiers have been, where they've said, I'm sorry, you know, I didn't know what was going on. And some of those captured have said that, not because they've been forced by the Ukrainian soldiers to do something, you know, under torture or something like this, but just because they realized what they were fighting for was completely wrong. And you know, we've had this experience with the Vietnam War in the United States. And the Russians, just to repeat a story that I love, because it deals with a place that I spent many a year at Putno, when President Medvedev, I'd taken over from Putin and was sitting at dinner at the headmaster's house. And someone asked him about advice for Afghanistan. He didn't hesitate, didn't go through his interpreter and said, get out.  Either the Russians did it in Afghanistan, they eventually did it in Chechnya, they did it in Georgia. And you know, this is Vladimir Putin's last gas. But you know, I mean, you know, I don't know what, you know, when he looks in the mirror and he says to himself, oh my God, I've just lost Finland and Sweden. And they're going to join the organization and he thinks is the biggest threat. And going back to Russian history into the 19th century, and I mentioned this slightly before, but I'm going to go into it again because I think it's so important. You've always had, since Peter the Great, people who were great Russian nationalists versus people who looked to the West. Gorbachev looked to the West. Yeltsin during the last part of his reign looked to the West. And Vladimir Putin is an intense Russian nationalist. And besides that, he felt, you know, he has this intrinsic notion of terrible, I would think, hurt.  And it's a cultural point, you know, you have these leaders in Russia who like killing and it seems to be happening over and over again, especially in Western Russia, you know, between Russia and Eastern Europe, wherever Eastern Europe may be at a given point in time.   But at the same time, Russia has permitted this sort of thing. It's in the culture. It's in the culture of this area, according to Timothy Snyder's historical reference on it. But let me ask you one question before we run out of time because it's gonna take a little time to address this question. Okay. You know, war of attrition. I mean, there's a lot of things happening that could give you optimism. You know, Zelensky is good. The many protests you see in Russia and the maxi protests you see in Western Europe, the existence and continuation of the coalition, hopefully the $40 billion aid package passes, Finland, Sweden, all that stuff. And the world is taking notice and you're right. I mean, a lot of it is what gets out in the press. The press is more powerful than the guns, actually. However, there is the wild card. There's Trump. And if I am Putin, I am playing that part. I gotta keep this thing going until we see how Trump does. Because if Trump gets back in power, Trump, this is my expectation, Trump will cool it from Putin. He'll give Putin a break and Putin will see that as a huge opportunity to continue his mischievous. So what do you think about that? I mean, Trump is trying hard. There isn't a day that goes by that we don't hear about Trump making outrageous statements and sometimes winning outrageous events of one kind or another politically. And it seems clear that he's gonna be a candidate for 2024. There are yard signs out already in a number of dates for him in 2024. If he wins and gets back in power, I mean, this country has a lot to worry about. Our civil liberties are at great risk. Our government, our democracy is at great risk. But one thing also that's at great risk is Ukraine, is Eastern Europe, is Putin. It would encourage Putin and Trump would give him a pass. What do you think? I think, well, there are two things. First of all, I think the likelihood if there's an election, Joe Biden phases off against Donald Trump again, despite the economy, I don't think that Donald Trump was gonna win. I look at the past elections and if you're an independent, do you vote for Donald Trump? I don't think so. So I don't think that's a great possibility. However, let's say it was, let's say it happened. But you have to remember there's, that's two years away, that election. And in two years, the kind of attrition, I mean, if the attrition occurs at the same level that it's happening now, Russia's gonna be suffering severe losses. And if God forbid, Vladimir Putin decides to use weapons of mass destruction, then I think game is off. And I think, I'm hoping that he realized how good the American military is, because our targets, our military capacity is huge. And we're not gonna be fighting on the ground. We're gonna be fighting in the air. And the American military is second to none. And I just think that it's a losing proposition for Vladimir Putin. And if he launches any kind of weapon of mass destruction, I think then Biden frees himself up and says, okay, that's it. And he goes to his military and says, let's take out some cities. And you're the border, maybe in Russia or something. But then it becomes a bigger war. And I think Biden has been good about that. But I don't think Russia can survive two years of this. I just think that Putin can survive two years of this. If he's forced to do so, his economy is gonna be in shambles. I don't think the Russian people for the next two years are gonna be willing to sacrifice their children. And as you mentioned, the guys that are coming into Ukrainian villages are 18 or 19 years old. But you began with a question, Jay, that I thought was really a droid. And you said, okay, yeah, Vladimir Putin's gonna take over now. Well, we remember what happened when Nicholas II, those of us who study history, decided to take over the reigns of the army in 1916 and 1917. He couldn't get back to his capital. He was deposed. The Bolsheviks took over. And he was shot with his family and he kept to Rinneburg. So not a good idea of Vladimir Putin, not a good idea at all. Unfortunately, these guys lose their historical perspective. And I just, I think, I really do think, Jay, the turning point has occurred already with Sweden and Finland. Because that's a major blow to the geopolitics of Russia. And I think for us in the West, it's a great thing because I'm sure that the Chinese are looking and the Koreans are looking and saying, uh-oh, the West is becoming united and all because we blundered. So I think it makes things safer for Taiwan. It makes the president in North Korea a little bit less hostile, even though he's still pursuing nuclear weapons. So I think all of this is, I think there are good signs. But as I said, in sort of concluding, the New Yorker article, or I should say two articles in the past New Yorker, were really quite fine. And the fact that Ukrainians from abroad are still coming back to their country and defending it and people, especially the men of the country are saying we're not leaving, is really a profound comment about the patriotism and about the spirit of democracy in the Ukraine. Let me leave you with this, Jay, is that I was at, you know, this, it was a Zoom discussion today by the American Jewish University. And there was a discussion of Bob Dylan and the sacredness of Bob Dylan's words. They were comparing Bob Dylan's songs to prayers. And I think blowing in the wind is important for today and the Ukraine. Dylan wants the cannonball to stop firing and he wants people in the last dance of that song to stop dying for God's sake. Much less, of course, to his comments about integration and civil rights. But I think we should all be thinking about blowing in the wind and applying it to the Ukraine and applying it to the Russians in the Ukraine because the Ukrainians are not doing anything to the Russians. It's purely a Vladimir Putin war. An invasion. Well, I have two remarks to make. Thank you for that. Number one is today's a big day because somehow the vote in the Senate on the $40 billion package is another turning point. And it has huge impact, not only in terms of the weapons and support and the aid in general, because it gives Vladimir Putin a handle on what is happening politically in this country with a politicized Senate, which helped him before. The other thing, I think it's always important to say this and I would say it in response to your comments and our discussion in general, Carl, is while we are doing this, we meaning the planet, global warming is increasing and not being handled. COVID for that matter is increasing and not being handled from a collaborative, organized point of view. And I think when you get into this kind of contention, perhaps the greatest crime of all is that as Putin has distracted us from the business of saving the planet and humanity, that's the greatest crime of all. And I would leave you with those thoughts. Carl Ackerman, professor of history, teacher of history, especially in the Eastern European area. Thank you so much for joining us, Carl. And there'll be more news. We'll do this again. Thank you so much. Jay, it's always a pleasure and you were the king of mench. So for those of the audience that don't understand, that just means Jay's a really good person. You too, Carl. Thanks. Thank you so much for watching Think Tech Hawaii. If you like what we do, please like us and click the subscribe button on YouTube and the follow button on Vimeo. You can also follow us on Facebook, Instagram, Twitter and LinkedIn and donate to us at thinktechhawaii.com. Mahalo.


Okay, first, Bleedita. Okay, we've got a floppy cable. This is a 34-pin, 2x17 IDC cable. It's rainbowy, it's festive. We're gonna use this to connect our floppy drives together. It's got a keyed and strain-relieved edge on both sides. You don't have to use it for floppy drives. You can use it for anything that has a 2x17.1-inch header, but chances are you've got something. You wanna connect from one board to the other. This cable do the job. Next up, we have a battery monitor for a LiPo or lithium-ion battery, so anything that's 3.7 volts slash 4.2 volts. And it's pretty easy to use. It's a kind of simplistic design. It's got basically a resistor divider on the back. Actually, go to the two images forward. Yeah, so it's got a little micro-troller and it's got a resistor divider and it does an analog comparison, and then it lights up the different segments. So if you go back one. You wanna go to this one? Yeah, so you can see it lights up. The outside basically is like, you have at least 25%, and then the rest of them light up for each 25%, 20%. So if you go to the overhead, although my battery is now being finicky. Okay, so, hold on, let's autofocus. Okay, so this battery, I've had it sitting here for a bit. It's a very basic thing. Obviously it's gonna drain your battery so you don't leave it in all the time. It doesn't have, you know, of exact voltage or exact percentage, but I think it's inexpensive and you can just have it in your toolkit. You just wanna really quickly check a battery if it's dead or not. This will give you a rough idea of your battery percentage range of charge. You know, if it's charged up or if you have to put it in the charger. Okay, next up, we've got some more beautiful artisanal LEDs. That's right. We've got from Deluxe Delight, we've been getting various colors and designs. So this week, we've got these red spikes. I think they're super punk and funky, but they can also be used if you have like a little garden gnome. We want a red hat on it. That's a good idea. It goes up. All sorts of interesting ideas you could do. So it's a red LED embedded in a translucent clear body. You just provide it with some voltage and it lights up. We also have a blue crystal. We had the yellow crystal a couple of weeks ago falling up with the blue crystal, using for model making, using it for art projects. I don't know, these are just very cool LEDs and I'll show them off on the overhead as well. So this is, I'll go with the red. Yeah, so this is the blue LED. So it's brightest in the middle, but the whole thing is lit up. And then did it here, the bottom is where the LED is and then the whole spike kind of lights up nice and diffused. So this is two different new shapes. And we've also got, I think we got some more white skulls that came in and some other shapes and colors that we restocked. Okay, and then the star of the show tonight besides you Lady Aida, our team, our customers, community, our staff, is, it's out of this world. It's, yes, well, this space theme today. So this is a solder together STS kit where you can make your very own desktop discovery.  It's a very, very popular space shuttle. It comes as a PCB that you break apart and you have to do a little bit of soldering. There's three, you know, flame effect LEDs.  And you have the stand and then you have the two pieces that slot together. And then on the bottom, there's a coin battery and a switch so you can turn it off when you don't want to have it glow. But it's a really adorable, first off, if you love space shuttles, then of course this is awesome. But more importantly, if you want to learn how to solder, this is a great little kit and it's very easy to put together. Yep. And spacey, so beautiful silk screen and you can see it's got like a slide together design. It's got the flame effects and then on the bottom is the coin cell, which you can pick up at any hardware store or we also sell them. And then turn it off when you're done. Zoom. And that's new products. That's right.


Hey, good morning, everyone. My name is Yan. I'm here to tell you a bit about a few projects that I've done on the side over the years. So in my day job and my spare time and every other minute when I'm not doing something else, I am a gStreamer developer working on the framework that many appliances and many computers use for playback of multimedia or delivery of multimedia. If you're processing video and audio in some way, then gStreamer is a useful tool for that, but I'll talk a bit more about that. What I wanted to talk about today is a couple of projects that I do in my spare time. So this time of year, the gStreamer conference is on somewhere in Europe. And I like to challenge myself before that conference by coming up with some project that I've wanted to implement for a while and then proposing a talk, thus giving myself a deadline for implementing something towards that goal. And this is a couple of things along that track with a common theme of automating my house. So I've never wanted to buy a smart house or integrate a lot of other people's appliances. It's a challenge to build it myself. So I've got this vision that's now a pretty common, well-understood one of a house that you can talk to. You can ask it to do things for you, like turn on the lights and turn off the lights. You can ask it to play music for you. And that it's aware of your presence and your needs and understanding what it is that you want when you ask it to do things. And there are commercial offerings along that line that you can buy off the shelf and that many of you probably have. The Google and Amazon and Apple offerings that you can buy a smart assistant drop it in your house and they have integration with a lot of external devices that you can buy. But they have a problem for a free software or open developer that they are all isolated bins of closed silos. And I really think that we need a solid open ecosystem built around that. And they're all cloud-based.  As we've seen in the last year or two, potentially listened to by complete strangers who are monitoring things going on in your house. We hear about people who are subcontractors of Amazon hearing things going on in people's houses that they never should have heard. So I'd like us to be able to take that control and own it ourselves. And there's lots of... There is a bunch of free software initiatives that are moving in that direction. One that I like a lot is Mycroft that's an open source smart speaker offering that you can download and try on a Raspberry Pi. And various other underpinning projects that tie in with that smart speaker theme. So there's a Mozilla Deep Speech Project that's about doing speech recognition. And there's multiple options for doing text back out to speech so they can reply to you. There's the Home Assistant framework for doing the lower level control once you've got some commands that you want to execute. And there are even lower levels. The MQTT message transport that there's been some talks about elsewhere here at this conference. And lots of cheap hardware for building this stuff on. This is a 10 years ago, it was so much harder to try and do this yourself. But now there's a million cheap SBCs and SOCs and there are smart switches you can buy that jump on your Wi-Fi and let you take control of the appliances at the electrical level. But this talk is about GStreamer. So what is GStreamer? Because I normally give this talk or these talks at the GStreamer conference or another conference that I know people are already familiar with what GStreamer is. But in this case, this is the first time I've spoken at ELC. So I'd like to talk a little bit about what is GStreamer? At its heart, GStreamer is a data processing framework on top of which we have built specific data processing plugins for doing video and audio. It's not the only use. There are other examples of people doing things that are not video and audio with GStreamer. But the heart of it is you build a processing chain of components, you link them together, they feed data buffers between themselves and do conversions of some kind. And with the right plugins, you can do any kind of media transformation that you can imagine. And with the right application on top of that, you can reconfigure them on the fly and do quite elaborate things. So there's a very simple example from the GStreamer documentation of what a Ogvorbus audio decoder pipeline looks like inside. Ogvorbus, the aura, video and audio decoder. So pipelines can do audio codecs. We have plugins for recording and playing, audio converting, audio doing, resampling, all the things you think that you should do. We have plugins for streaming your media across the network on different protocols. Most recently in the last couple of years, a WebRTC stack that means you can integrate tightly with hardware encoders to connect to web browsers without having to pull in the Google WebRTC libraries and their somewhat finicky hardware integration model. And okay, so the first side project that I wanted to talk about as a thing that I've done. So way back, seven or eight years ago, I first came across a sonar system and it was kind of the first of these boxes where you buy individual smart speakers and you drop them around your house and they talk to each other and they play synchronized video and audio. They give you that music in every room and you can divide your house up into zones and turn the music on and off. They give you a remote control on your phone via voice over a smart speaker and it reminded me immediately of a toy that we had built almost a decade earlier, 2005, 2006 or so. Doing a similar sort of thing, network connected devices that had to synchronize against each other. And I came up with this project called Orana. So, and its goal was to give me that kind of distributed house-wide media player. So how does that work in practice? So one of the key pieces of GStreamer is its abstraction of playback timing and clocking. And it's a very complicated system. It lets you do all kinds of things like playing back at different rates or playing subsections of an input media but time-shifting it or playing things, reversed trick modes. And the basic problem with trying to play sound out to separate devices is one, how do you line up the sound so that it sounds natural? You don't want it to be too far apart or you get echoes and it sounds like a stadium. And also, when you're playing something for a really long time, every clock in the world runs at a slightly different rate so you get clock drift. So after playing for a little while, even if you started synchronized, they won't be synchronized anymore. So the idea that many of you probably know, you can synchronize your clocks across the network using protocols like NTP. And GStreamer has a built-in piece like that, an NTP-like protocol. These days we also have PTP implementations and an NTP implementation in GStreamer. So there's a couple of different ways. You can have one clock somewhere on the network and then you can have multiple listeners that are tracking that clock and accurately replicating it on another machine. And now you have the key piece for synchronizing devices across the network. So here is my professional sketch of what Orina should look like. I don't know how visible that is up on the big screen. So it's a rough sketch. There's a server somewhere, it has some pieces inside, it has a command and control, it has configuration, it has a database of media available and it has some interfaces that clients can connect to. And then clients are either a sound output device or a controller device or a combination of both. I built a few controllers. There's a web interface where you can use a native GTK application and the sound output's a simple command line daemon that connects to the server and listens to be told what to do. And then you put it into practice and you get something that is hopefully synchronized across the network to some respect, in some respect. With a little prayer for doing demos in a completely new environment. Let's see if I can get something here. If I scroll across all of my other available windows, one of the things I have here is a, okay, so I have the web browser, it's connected to a server running on my laptop and then I have a client on my laptop, that's Pimiento and I have another little box here that's just connected over an ethernet cable for today's purposes. And you can see you've got the world's simplest interface where I can go play, I can hit next track and get a random shuffle, I have a global volume control, I have individual volume controls and I also have these little reports coming out about the clock synchronization so we can tell how closely are these devices going to attempt to synchronize and that's pretty good, we're getting under a millisecond of error across the ethernet link, it gets a bit worse on wifi, it can get up to 10, 20 milliseconds or worse and that's getting to audible range but at that point you're more worried about separation of the speaker devices for time delay of audio transmission through the air so that's pretty good. If I hit play, I don't know quite what's going to happen. So this device is plugged into the speaker output that I've been given but I don't hear that coming out anywhere so no, that's not coming out but it is coming out on my laptop. So that's arena as it was so that's arena as I first put it together for a GStreamer conference a few years ago and then I've added things to it since that and we've done various improvements in the clocking and but there are still pieces I've never quite got around. These projects tend to turn into sketches of something that then get left idle and I push them forward every now and then but there are things that so it can do video if you put video files in your media then you will get synchronized video playback as well and at a millisecond or 10 or 20 that's frame accurate video playback across your house. It will do multi-channel audio but at the moment it's every device plays every channel and one of the things I always wanted was to add a mapping layer where you could turn each speaker you add to a room into front left, front right and tell it which channels to play so there's some things that I could do in that direction and the zone support is everything just joins one zone at the moment if you want to play something different on other speakers as well that's work to do. So that's arena. Now let's talk about another thing that I've done so it's pretty easy with GStreamer to connect up to a video camera it's also pretty easy to do things like standing up an RTSP server that provides that camera onto your network so I do that pretty often I've got a bunch of Raspberry Pis or other SBCs you put GStreamer on them you take whatever camera they have and then you publish them as RTSP so there's a bunch of RTSP devices just hanging off my network that are hand built for with whatever I had laying around and they do need things like letting me watch the sheep or we do fisheye lenses that's kind of fun that can get you a 180 degree view around that you can pan around and look I've also the last year been working a bit on 360 degree support with two cameras so there's a bit more to do on that front but we've now got a GStreamer that can take input from a 360 degree camera and then add the metadata that's required to stream that live to YouTube for example and then I don't know if you've ever seen those kinds of videos on YouTube you can grab the video and drag around to look anywhere in the playback on the sphere that's kind of fun this was Linux Conf Australia in January they gave us all little Raspberry Pis for swag in the bag so I strapped the fisheye camera on that and then had it in my badge live streaming my conference over WebRTC in this case so I mentioned GStreamer has grown a WebRTC stack that from the top level is a couple of it looks like a pretty normal WebRTC API converted into C internally it does a whole lot of work for you so that's a picture of the pipeline that the WebRTC stack builds internally to do all of the finicky pieces that are around firewall, discovery, ice negotiation and DTLS encryption transfer, RTP level jitterbuffer and UDP streaming pieces are all sort of plugged together for you to make this complicated thing so that's a couple of the projects then I mentioned the desire to do voice control and when I came up with Arena and was building it to do my music playback I had in the back of my head this secret plan that took me a few years to actually get around to and the idea was that if I can synchronize sound output I can also synchronize sound input across the network so I can stick microphones around and I had been aware for a while of this technique of if you have an array of microphones or an array of network antennas you can use transmission delays and arrival times at each node plus maths plus filtering to extract information about where the signal came from so you can do beam forming so I had this plan to build an array of microphones across the network using individual nodes and the network synchronization you stream all the audio back to a central server instead of from a central server and then you have the processing on the central server and do magic, extract information about where the person is standing that's what I really wanted this context awareness in my house of when I say turn on the lights the house knows where I'm standing and which lights I'm near or if I say turn off the TV it knows the room that I'm in and the TV that I'm standing near even if I'm in the doorway so it's about adding context awareness and so these microphone arrays are normally a hard coded thing but I was proposing to build a flexible microphone array with unknown configuration and that was a bit of a challenge and my first attempt I put a runner on Android devices because I had a few of those lying around and set it up to stream microphones to the server and I had found a project from the university in Canada called Many Ears designed for robot auditions so it was designed for autonomous robotics with microphones on the top and that it would do this analysis of the incoming microphone signal and their model was based around eight microphones in a fixed grid and gave you both localization of where the sound was coming from but also tracking individual sound sources and splitting individual sound sources so that's another key component if you speak in a noisy room that you can use an array of microphones to split out the background noise and so the theory is that you have sound traveling at 343 meters per second at 20 degrees C and normal atmospheric pressure so a millisecond of difference between two signals means 34 centimeters of positioning error and that sounded fine to me if I have roughly a millisecond of error in my clock that I can get someone to within a meter of where they're standing, that's pretty good but the worst the clock synchronization gets then the worst the spatial inaccuracy so the result of that project, complete failure just didn't work at all the problem was I was using Android in this case and getting up to 100 milliseconds worth of unknowns in when the sounds were arriving at the Android device let alone when I was able to send them to the server and that just was horrible and there was a second problem which is that I was just putting one maybe two microphones on each audio, on each device and then I had to go and measure the configuration of the room manually there was no kind of way to build that model of the microphones and that's critical so I put it aside, I left it for a few years and then last year I decided to have another go at this problem and by now the situation has changed because I've been watching and I can go online now and I can buy lots of little like this one this is a four microphone array hat for a Raspberry Pi you can buy two microphone arrays you can buy little boxes like this re-speaker hexagon that has them built in in a six grid so suddenly microphone arrays in 2018 are very available but in 2015, hard to find, in 2018 they're in your Alexa's, they're in your Google Homes and your Homebods already doing this kind of tracking and separation so every one of those devices they use it to split out the noise of the TV and listen to the person speaking and who knows what else, they're a closed box doing whatever they want so I have lots more options for my hardware now so I'm playing with the Seed Studio reed speaker I'm playing with the re-speaker core that's got a built in arm and the microphone array you got Raspberry Pi hats that come in four microphone or two microphone arrays even on the zero form factor and I also discovered that many years had been superseded by another person at the same university who has built a new piece of software called ODAS with a similar goal but much more flexibility and a cool interface that I'll demo in a bit so you have one of these arrays and they can tell you which direction a person is speaking in, you have a fixed configuration in the hardware now so you can model it at each node you don't have to worry so much about the configuration of the room and you can get the audio out you can split multiple people speaking out into separate audio streams but a node generally can't tell how far away someone is from that node they can just tell you the direction so that's the far field effect where the microphones are too close together to get decent triangulation so each node on its own it's not enough to tell me where a person is standing it's just enough to tell me the direction they're in but let me give you a little demo of ODAS because it's kind of very cool when did I leave that so this is the ODAS interface come back over here okay so I go, I'm running in SSH over to this little microphone array and I can run the ODAS live client which after a little minute of running we should see it find that and then connect and then hopefully we get some kind of pop up hey there's some sound sources appearing it's hearing me as I walk around it should show me a track of me walking around the microphone so it can tell me the direction there if I speak into this it probably gets a bit confused about where I am if I just talk here you can see it's tracking my position it's also tracking so it's also got that loud offset loud bit of noise off to the side that is the wearing of my laptop and it has some little filters here if I turn the low area down you see a lot of static noise that's the thresholding turn that back up so ODAS is awesome so what I've been doing is taking that and wrapping it up in a GStreamer element which is required of a bit of modifying of that ODAS code and so I don't have it quite ready as a GStreamer component to show you today but I'm going to keep hacking on that but what that would let me do is is place it into my existing arena set up so that arena is capturing the microphones and running it through ODAS and getting out these individual sound sources and then making them available for me to stream back to something else so now I can capture it and do that voice recognition on it through GStreamer gives me a bunch more flexibility around what I do with that so that's ODAS as it stands I mentioned I have this still have this problem of I don't know I can't solve my original goal of knowing where someone's standing when they say something because all I have is a direction to them so I still need to know the configuration of my listener nodes so I have this question about how do you do calibration and I came up with this answer of you have the nodes play a sound and you have the other nodes listen for the sound and because they have a synchronized microphone if you have information about exactly when that sound was transmitted and you can receive it and measure when it was received now you can measure the time delay plus you have a microphone array now so you know the time delay and the direction that it came from by using the network clock so now we can for each node play a sound in that direction and get a vector both of them should get the same answer for the distance between them and now we've got a locked configuration for two nodes you do that across the whole network and solve for all the relative positions right, simple there's a couple of problems one, how do I... what information am I going to transmit? Yep, sorry Oh, sorry that's...thank you let's get this out of the way let me do it this way array, okay thank you okay, so I have this unknown configuration and I can't do my triangulation from that so I have the nodes play to each other for each one they can get a vector relative to themselves that gives them the ability to figure out what their absolute orientation is relative to the room I showed you ODAS it's able to figure out up, you know, anywhere within the sphere the hemisphere above the array it can give you azimuth and elevation information about the source so you can actually have things at an angle strapped to the wall and they'll still be able to solve their relative positions it's not dependent on having them all on the same level or flat on a desk or anything we play sounds we listen we get the direction of arrival we get the delay and we... I want to encode some identity information into each signal that'll make some of the other pieces around it easier to manage and then you solve for the relative positions of all the nodes but I have some problems how do I put information into a sound signal in a way that it's able to be received across a room through noise I need a super redundant signal and also this unknown question right now of what calibration volume should I use I don't want to just blast to full volume that gives you the best chance of receiving it on the other node but if it's audible information then there might be people in the way so I'm being conservative on that front at the moment I've also done some work on this calibration question I found a modem package LibQuiet that uses the liquid DSP libraries to do modem encoding in different forms it has a packet structure it has a bunch of different modulations you can choose and it generally works I can put in some input information I get a sound out I can play the sound and if I'm lucky I can receive the sound and get out the information again but one it doesn't work too well beyond half a meter right now the modem is kind of it's an acoustic modem but it assumes a channel that is free enough of distortion to recover the signal and it uses quite a narrow band signal so more work to do on figuring out what modulation I want to use there the other thing is I need to be able as I receive a sound on the remote and decode data back out of that I need to be able to apply a timestamp so I think I need finer control over what's being generated in that audio stream so that I know exactly what the delays are for here is the data I want to send here is the time I want to send it at what piece of audio did that go into and then on the other side what piece of audio did it come from when I get data back out some timing recovery things to do there but that kind of works let's see if I can do another little demo for you this window actually the one I want is back over here this is the arena version that I didn't point out these little microphone symbols here this is the arena version where it also has the ability to turn the microphone on and each node and it'll start streaming it back to the server and it has that calibrate button there that let's see if I can get that to go let me do this a different way this is the question of what volume should I play at and of course the volume is way down can anyone hear that good so it's supposed to be reasonably hard to hear there it is this little window over then I have a G streamer pipeline running listening to the microphone a little USB mic so what I mean about it being finicky so it played the sound but it didn't hear it really awkward to do this on the screen up there demo gods are not being kind to me today this is what I mean about I need a lot more redundancy in the signal that's being generated here so that it can be received when there's not so much noise when there's distortion in the signal there's a bunch more research I think there's a good chance you could describe that as an entire research project on its own to get that working I have seen some other interesting options I found a web implementation that uses quite audible beeps and blips to transmit an sdp between two machines and then use that sdp to set up a WebRTC connection between the machines so you can just do a you don't need a central server you just have a one web browser plays a sound the other web browser listens to the sound and they now have enough information to form a WebRTC link and transfer a file they're the method that they were using there looked pretty promising and I can also go a lot lower in bit rate than what lib quiet is trying to achieve because I really only need about 100 bits per second or something in the encoded into a really redundant audio signal I'm going to keep working on that alright so that's pretty much it for the couple of little side projects I wanted to talk about and introduce the idea of is good for building these kinds of toys and maybe introduce you to a new idea around using arrays of microphones for doing interesting things does anyone have any questions about what I've just covered thanks for the great talk it was very interesting actually what is the time synchronization you can really achieve on a commodity Wi-Fi networks so they have like several milliseconds how long can you bring the down so the clocking algorithm is doing a bunch of non-linear filters because even on my domestic Wi-Fi I have round trip times where the Wi-Fi will go 1 millisecond, 1 millisecond 1000 milliseconds, 1 millisecond and so the clock has a lot of outlier detection and it's trying to do a best estimate and it uses minimum ping times to lower bound the round trip and then runs filtering to try over a longer window to try and estimate the clock within that I think it's not perfect I've been tinkering with some other filtering algorithms but it does work pretty well it works really well over Ethernet and it works pretty well over Wi-Fi certainly well enough for my audio but it doesn't sound like a stadium kind of use case I mean is it like a half millisecond or maybe lower than that or is it unreasonable to expect something below a millisecond range like you I think it's not you can't really expect sub millisecond accuracy on general purpose Wi-Fi especially if there are devices running at lower speed that take up huge chunks than cause big delays but I can certainly see I see it pretty regularly under 10 and that's you know human ears generally can't hear 10 millisecond difference or 10 millisecond difference is 3 meters of separation between two speakers anyway there's another one there you talked about the smart home like I can easily imagine several interesting things to do with these directional audio measurements but how applicable is it when there's furniture in the room like how does it deal with reflections like if there's a soul finder in the middle of them yeah so the ODAS I didn't talk too much about what ODAS is doing internally it's looking so a reflection looks like a ghost signal but at lower intensity it generally works pretty well even in a room with furniture and with sounds bouncing off the walls you get those kinds of scattergun static noise sources but if you put the entropy threshold slider above the cutoff then they tend to disappear and you only get strong entropy primary sources you also generally get the primary source arriving before you get those reflections and then it has in the existing ODAS code base it's using a bunch of particle filters to track individual sound sources and to correlate the actual audio signal of them so it'll work okay if you have two people circling a room and crossing each other it will still track the right person as they cross as well and the one downside of it is that it chews pretty much a full core on the arm on this to do all that processing but the researcher that's responsible for ODAS also has new papers out in the last six months with a new technique that is 40 times less CPU intensive so is there like in G streamer is there a plugin for you touched a little bit on it for voice to text and motion capture of video there are open CV elements for doing motion detection on incoming video and voice to text there are so the Mozilla deep speech project I think has a G streamer plugin as part of deep speech but I haven't used that so it's hard to kick track of what there are G streamer plugins for because they're not always within the G streamer framework or the project the speaks to text has a G streamer plugin as part of that project that's completely outside and there's a festival plugin for going the other direction to produce audio out right are those projects that you mentioned are those like engines that you can install yourself because I really liked your comment about not being able to do other stuff at home at all yes they are the Mozilla deep speech has an online cloud based service but you can if you have the right level of GPU available you can do that locally and the lower performance lower requirement things like Sphinx you can install and download they just don't have as good a response necessarily the benefit of having these microphone arrays that you can get better speech recognition because you can clean up and isolate the voice signal and to get rid of that background noise that automatically helps some of these engines work better as well any other questions thank you all very much for listening


Hi everyone, Joe for jaspyscasebreaks.com coming at you a 2021 hip parade football. This is the jaspy exclusive edition of hip parade football. 10 box, random team break number 11 and a wax party giveaway. Big thanks to this group right here. And there's all the teams right there. But it would never happen Rex. That's the thing. I would only bet my life I'm 100% confident that I'm right. Two and a two for the hard way. So it would never ever happen, right? Never ever four times right here.  Adam down to Edward after four. Two and a two four times for the teams Rams down to Packers. All right, so that was four times. That was four times. And here's how it shakes out Adam with the Rams. Joseph with the bills, Edward with the dolphin, Steve with the Cowboys. Kym with the Niners, Joseph with the Chargers. Stephen with the Bengals. Jimmy with the Cardinals. Edward with the Colts. Barry with the Vikings. Jimmy with the Broncos. David with the Seahawks. Jimmy with the Saints. Kenneth with the Washington football team. Brandon with the Jets. Edward with the Steelers. Stephen with the Ravens. Joseph with the Chiefs. Jimmy with the Browns. Tom with the Eagles. Mark with the Texans. Arturo with the Patriots. Joseph with the Giants. Ryan with the Bears. Matt with the Titans. Kenneth with the Panthers. Edward with the Buccaneers. Jimmy with my Raiders. Kym with the Lions. Jayden with the Jags. Karen with the Falcons. And Edward with the Green Bay Packers. So let's sort by team, alphabetically by team. And we're going to pause the video. When we come back, we're going to see if there's any trades. And then we will have the break. So stick around. We'll be right back. All right, welcome back, everybody. So on Sunday the 16th, no deals were done in hip parade football, Jaspy Exclusive. Pick your team number 11. Big thanks to this group for making it happen. Appreciate it. Looks like Brandon Hall ended up at Last Spot Motu. He has the Jets. Jaspy Exclusive. We worked together with the good people at Hip Parade to build this exclusive product. We actually, the other week, we actually hung out with the guys from Hip Parade. They did a little interview with us. Kind of a hip parade, promotional sort of video. Testimonial video type thing. So I'm not sure when they're producing that and putting that out. But whenever that gets published, we'll definitely let you know. That's true, Rex. I do have to, in that 64 box break tomorrow, I do have to count for Rex harassing me during the break, asking me about non-break-related stuff. So that's probably another 40 minutes to an hour. First thing out of the gate, two hours, is Jordan Love. We love it. Future quarterback for Green Bay, maybe? 10 out of 79. Green Bay, Edward for the Packers. We're enjoying a first-round buy right now. Next, we've got some Seedy Lamb. Tough day at the office for the Cowboys, but this guy's pretty good. 22 out of 199. Steve Wright with Dallas. I know, Rex, our biggest mistake that we discuss frequently at Jaspies, the biggest mistake is not banning you six or seven years ago when you first came around. Now it's just too late. Got a graded card. We've got Lamar Jackson. Nice. 2018 Panini Prism Football. PSA9 Rookie Lamar Jackson. Ravens, that's going to be for Stephen Schwartz. Neon Green, Ink Autograph, DJ Daniel Jones, Rookie Patch Nato from Spectra. It's a sharp-looking card. We'll have a new head coach, 50 out of 50. Maybe that'll unlock potential greatness from Daniel Jones. That'll be for the New York football giants, Joseph Bart. All right, see you, Josh. Have a good one, man. Yes, you as well. And we've got Patriots edition of Gronkowski from 2010 Topps Magic Football. PSA10. Gronk had a touchdown. That's Rookie Gronk, by the way. Look at that, RC. Beautiful. That's nice. I'm taking one of your boxes because it's broken down. All right, sure. Thank you. That's fine. That's fine. All right, I'll see you once again. All right, see you. Sorry. All right, see you. I'm leaning cardinals. Are these boxes VEC-authenticated? No. They're authenticated by hip parade. All right, next is Sam Darnold, 48 out of 49. Rookie, Jersey, and Autograph. Let's see if I thought this was going to be the year. Brandon Hall with the Jets last spot, Mojo. I thought this was going to be the year where Sam Darnold will show the world. But maybe he's going to be a real label rumor. All right, next up is George Kittle. Nice. Shadow Inc. Gold Inc. Autograph out of Panini Black Football. And that's one out of five. Nice. Niners with the big win today. Kym with the Niners. And all aboard the Big Head Express. Woo-hoo. No, that will be in the next exclusive that we do with hip parade. This is all football edition. Baker Mayfield. PSA 10, 2018. Rated Rookie Baker Mayfield. He gets that shoulder fixed up. If he stays healthy. Cleveland Brown, Jimmy Connell with Cleveland. Cleveland, this is for you. Then we've got DK Metcalf, Sensational Signatures. Seattle, David, DK Metcalf.  Nice, PSA 10. From 2021, Donner's Football, Trevor Lawrence, Rated Rookie Card for the Jaguars. And that's gonna be for Jaden and the Jags. Well, the new coach, hopefully that unlocks Trevor Lawrence, hopefully he'll have a strong second year. And there you go, gang. That was a hip parade of football, I think. You could win a case of this in our Wax Party promo. In fact, we gotta give away two of those spots now. So let's flip back over here. Top two, we'll get into the Jaspies Wax Party. Which, yes, we are giving away some boxes of that, five boxes of exclusive football. Next five boxes of Jaspies exclusive basketball too. Pretty nice. So check out the details on jaspiescasebreaks.com. So it's gonna be the top two. It'll be the top two after, there it is. It says top two, we'll get an invite. So let's gather all these names. New dice, new lists, and top two after eight. Five into three, eight times. Good luck. One. Two. Three. Four. Five. Six. Seven. And eighth and final time. After eight, top two. So from three on down, sad times, but there are a lot of more opportunities to try to get into that big promo. Over $25,000 of boxes being given away. A lot of wax there. Adam, my apologies, very close, no cigar. Thanks everybody for giving this a shot, I appreciate it. We'll get him next time. Top two, congrats to Barry Roberts, Joseph Barton. After eight, you're in the top two. Thanks for watching, thanks for breaking with us. I'm Joe for jaspiescasebreaks.com and I'll see you next time for the next one. Bye-bye.


This video will talk about inverses and one-to-one functions. A one-to-one function shows that every element in the range corresponds to only one element of the domain. If you remember when we talked about functions, we were saying that every input or domain value had only one range value. So one-to-one is going back the other direction. And if we look at this, we have the horizontal line test here. The very line intersects the graph of the function and at most one point the function is one-to-one. If you remember to find out that it was a function, we had the vertical line test. So we could go something like this. Now we have the horizontal line test and it says if I go this direction, how many times do I hit my graph? And if I look at this one, I can say that it's one-to-one because it passes that horizontal line test. If I come over here, this is a function. It's a quadratic function. We know that function. But if we do the horizontal line test, we find out that it is not one-to-one. And then we come back over here and this looks like a sideways quadratic and it really is. It's x equal y squared instead of y equal x squared. And if we do the horizontal line test again, we are going to get that we only hit our graph once. So this one again is not one-to-one. So inverse functions. Inverse function has to be one-to-one and it's going to be a one-to-one function that has order pairs AB. So the inverse function and this is inverse function notation right here. And I want you to understand, you've probably heard this before, but this is not f inverse of x is not equal to 1 over f of x. This doesn't mean f to the negative first. This is just the way we write inverse function notation. When we look at this, if we have a function that's one-to-one with order pairs AB, then the inverse function is going to have ordered pairs BA. And if the range of f will be the domain of the inverse function, and the opposite is also true, the domain of f will be the range of the inverse function. And that's why these A and B points switch. So it asks us to find the domain and range of this function. Well, the domain is going out forever and in both directions, left and right. So the domain is going to be all reels. And the range is also going down forever and up forever. So it is also all reels. Then it says, determine if the function is one-to-one. Well, if we do our horizontal line test, we can say that it is not one-to-one. All right? Now if we look at this function, it happens to be an ordered pair. But what's the domain? Well, the domain in our case here then is going to be x is an element of, goes from negative 6. We have negative 3, 8, 12, and 2. And the range is going to be y as an element of 2, 7, 0, negative 1, and negative 3. Probably would even be better if we had braces on here. It's just a set of numbers. And we want to know then if it's one-to-one. Well, if we look at our range values, we had five different range values and we've had five different inputs. So that means that every input had its own output, made it a function. And every output had its own input, so that made it a one-to-one function. Remember, it must be a function first to be one-to-one function. And then it says find the domain and range of the inverse function. Well, the domain here, x is going to be an element. And this time I'll write it nicely. We'll just make it a set. It's going to be these range values because it switches. So we have 2, 7, 0, negative 1, and negative 3. And our range is going to be our domain of our function. So it's negative 6, negative 3, 8, 12, and 2. Okay, it asks us to state the domain and range of this function. Well, the domain is going to be, we can put any x in here and multiply it by 3 and divide by 4. So the domain is going to be all-reals. And the range, no matter what I put in here, I'm going to get a real number out. So the range is also going to be all-reals. Find the inverse function and state is domain and range. All right, so here we go. How do we do that? There's a couple of ways you could do it. One way is to do what I call the table method. And let's just start with x and then just list order of operations. Well, the first thing we would do is we multiply by 3. And the second thing we do then, after we've multiplied x by 3, is we divide it by 4. So we want to go the opposite order and opposite operation. So the last thing we did was divide by 4. So now we're going to take x and we're going to multiply by 4. The first thing we did was multiply by 3. So the opposite of that is to divide by 3. G inverse of x is going to be starting with x and we multiply by 4. And then all of this is going to be divided by 3. And when I'm doing the table method, I like to put parentheses around what I've done. Because each step that you do is applied to everything up to that point. The other way to do it is what we call the algebraic method. An algebraic method says that we want to switch the x and y. Because remember we had in our inverse function, if this was x, y in our function, then the inverse function was y, x. So now instead of g of x, which is really y, we're going to say that's x is equal to 3y over 4. And then we're going to solve for y. So we have to multiply both sides by 4 to clear the fraction. And then we're going to divide both sides by 3. So we have 4x over 3 is equal to y. And then you just put it in inverse function notation. So I would have g inverse of x is equal to, and notice part of the reason I switched my x and y was because I would have an x in my answer and my function is of course going to have b with respect to x. So here's my inverse function. Either way I did it, I got the same thing. And then the domain, again, is going to be all reels. And the range is going to be all reels. And I remember that the domain is really the range of your inverse function and the range is really the domain. Well, it's not easy to see here because everything is all reels. But we do want to graph it. So let me call it my calculator here real quick. And we want to put these two equations in as their own equations. The first one was 3x that was being divided by 4. And the second one was going to be 4x divided by 3. And if we use a standard window, we get this graph. And if I could put it in here, I'd put in a dotted line for y equal x because they're symmetrical about y equal x. And here's how you know that. y equal x. That means when x is 4 and the function y is 3, we'll go make this y now a domain value. So when x is 3 and my other function, the inverse function, y is 4. So x equal y, y equal x. So that's symmetrical about that line y equal x.


Thank you very much. Please, good morning, and welcome to the White House for the signing of this bill that Bill has been telling you about, the Trade and Tariff Act of 1984, a crucial piece of legislation and a triumph not just for free or in fairer trade, but for the legislative process itself. I believe this bill represents the most important trade law approved by the Congress in a decade. In its first form, the bill was strongly protectionist and would have sharply limited our trade with other nations. I'm not campaigning, but I couldn't in good conscience have signed a bill containing those provisions and I don't believe that many members of the Congress could have supported it either. Then the bill went into a conference committee and together senators, representatives, and Bill Brock, our United States Trade Representative, rolled up their sleeves and went to work. In the words of an editorial in the Washington Post, most of the bad stuff in the bill got thrown out and all of the good stuff stayed in. And the result is a fine piece of legislation that stands four square behind free and fair trade. We know that if America wants more jobs, greater prosperity, and a dynamic competitive economy, the answer is more world trade, not less. And this fine legislation builds on the Trade Act of 1974 that was signed into law by President Ford. That act promoted world trade by authorizing the president to liberalize trade with poorer nations, to engage in trade with negotiations, and to defend American interest in world markets. The legislation before us today advances each of those efforts. To name some of the central provisions this bill will extend the generalized system of preferences into a new decade. By encouraging 140 of the world's poorer countries to build their economies through trade, this program will give them a chance to help their people benefit from America's powerful economic expansion. In turn, it will help American industry by ensuring that less developed countries accept increased responsibility in areas like the protection of patents and trademarks in the international trading system. While promoting free trade, this new act insists on something just as important, fair trade. A section of the bill originally known as Senator Danforth's Repropositive Proposal gives the president new leverage to lower foreign barriers to trade, especially in the dynamic and rapidly growing areas of services, investment, and high technology. With regard to our steel industry, this bill gives the president new authority to enforce agreements we may enter into with our trading partners as part of the steel policy that I announced on September 18th, 1984. This legislation will enable us to enforce steel export restraints, guard against unfair import surges into the American market, and help keep the United States from becoming the world's steel dump. And that means that we'll be better able to help our steel workers get the fair shake they've always deserved. I must add that while I support the act's emphasis on the need for reinvestment in our steel industry, it is the industry, not the government, that must make these investment decisions. To strengthen relations with one of our closest allies, the bill contains a bold new initiative authorizing the establishment of a free trade area agreement with Israel. When concluded, this agreement will completely eliminate the trade barriers between our two countries, allowing the duty-free entry of Israeli products into the United States while making the Israeli market wide open to American goods. Over the past five years, our trade with Israel has been growing at an average annual rate of some 10%. This bill will enable that vital economic partnership to grow even faster in years to come. The act also opens the door to discussions with or on mutual trade liberalization agreements with other countries, fully consistent with our obligations on the general agreement on tariffs and trade. Free trade agreements allow the free enterprise system to operate as it should openly and vigorously. These agreements will encourage American and foreign producers and workers to become as efficient and competitive as possible, and they will foster increased trade in services and greater investment both abroad and here at home. The bill that I will be signing also makes refinements in our trade laws designed to help America's producers and workers deal with unfair trade practices. On balance, these refinements should go far to strengthen American trade laws and make them more effective and fair. We'll make certain that they're used not for protectionism, but for the promotion of free world trade. Everyone who had a hand in passing this outstanding legislation deserves our thanks. Congratulations to the conferees, especially Congressman Dan Rastonkowski, Chairman of the House Ways and Means Committee, Congressman Barbara Conable, Sam Gibbons and Bill Frenzel, Senator Bob Dole, Chairman of the Senate Finance Committee, and Senator Jack Danforth. And a special thanks to our United States Trade Representative Bill Brock. Bill worked tirelessly with great skill and dedication. This trade and tariff act of 1984 signals to the world that America does not fear free trade because the American people can produce and compete on a par with anybody in the world. The big winners today are dynamic new American industries like telecommunications and high technology, American importers and manufacturers, and the American people themselves. Each of you, as my heartfelt thanks and more important the gratitude of the nation. That's why I thank you and God bless you, and now I'm going to stop talking to start writing.