top three favorites in each category is a video that I have not done in quite a while, so I thought I'd sit down and share what I'm loving right now with you. I also do wanna tell you that I have a numbering system, so a number's gonna come up on the screen that will correspond with whatever I'm talking about, and it's really easy to shop, then you can just go down into the description box, remember that number, and next to it will be the name, the link, and the color that I wear on it, or the colors that I have shown. And just as a reminder, I know that a lot of people do enjoy seeing my top, my jewelry, and having me give a little bit of explanation on that. We've moved that until the end of the video, so go over and take a peek. All right, let's get started in the order that I would normally put my makeup on. So this is after your skin prep, after your SPF. I go in if I need it, I have a color corrector, but these are my very favorite three. Everybody that has been around my channel knows that I love the Pixie by Petra color corrector. On their website, they do have another color, which is a deeper color than this brightening peach color. This one is just perfect for me, because it has that little bit of peach in it, so it's gonna take care of all that discoloration, and this one's a great one for me as well, because I feel like it's not too emollient, but it's just got the right amount of creaminess that helps it spread out. And I also feel that way about the new ELF one as well. I don't know which color this is, because these colors are always really hard for me to see. This is the Putty Color Corrector, and it's a little bit lighter and a little bit more yellow than the one from Pixie Beauty. Yellow is the complete opposite of purple, so you might need that one. Also, this is a little bit more emollient, so if you've found that the Pixie doesn't work for you, that it's a little bit too stiff, you might like the ELF because it's a little bit creamier. And then lastly, I love the ones from Sigma because they give you two in here. They give you two different colors, and I think that's great. The colors to this one, oh, this is the medium to dark one, which is kind of surprising because you know I'm very, very fair, but I love Sigma's packaging, and I love that they do give you options, so many options on their website, as far as which one you can get. I actually think they are also on Amazon, so if you have Prime and you wanna get that fast shipping, you can get that as well. Again, this one is the medium to dark. If I'm talking quickly, it's because I don't want you to have to sit here for an hour and a half while I go over everything. And I know that I said three of each product, but guess what? In this category, I only have two. These are eyeshadow primers. This is nothing that you guys haven't heard before. This is the Anastasia Beverly Hills eyeshadow primer. This will completely take care of any darkness or any discoloration that you have on your eyelids. It's amazing, and it will make your makeup, your eye makeup eyeshadow stick there for all day. I love this stuff. One thing about eyeshadow primers, if you're getting them to crease, you might be using too much, or you might just have a little bit more of an oily eyelid. You need to set it immediately. This one from Jason Wu, it comes in different colors. The one from Anastasia does not.  I like them both. I wore this one from Jason Wu today, and let me get the color for you on this one. This one is light, so I think this is the O2 one in light. Love both of these, and the Jason Wu does give you a bit more product, and you can buy this in-store at Target. Now we'll go to foundation base or foundation primer. And the ones that I put on here, I don't think these are going to be any surprise to you either. Revlon's Prime Plus Perfecting and Smoothing. Now, Revlon does have several different kinds of these in this configuration or in this bottle, but this is the one that works really good for me because it does smooth out my complexion. It goes into those pores and makes a really nice canvas for my foundation, and I really do like that one. The Wet and Wild Impossible Primer, if you have not tried this and you hate silicone primers or if you just have not tried it, you need to try it. One thing is it's not very expensive. The other thing is, I don't know how it's done, but it is very, very hydrating, and then it gets into that smoothing property right as it's getting ready to set down, and it's gorgeous. It does have that watery consistency, and yet right there at the end, I'm feeling it now.  And this one could not be dethroned as well. This one is the Lumite Glossian from L'Oreal. I've used this for years and years. I like this better than the new one that they came out with Elf this year, but this is just a great one because it does have a little bit of silicone in it, but it does have the glow properties to it as well. It just goes across the skin just beautifully, and you're going to have a little bit of luminosity show through your foundation. So that one is my third pick for a primer. Next up would be Foundations. I did rediscover this year the Full Coverage Foundation from Koki. Now this does have a full coverage matte finish, but it's beautiful. And I have very dry, dry skin. You can also put a drop of oil in any of your full coverage foundations, or you can use something like the Lumite Glossian and it will give it a semi-glowy finish to it too. You can mix it right in there and it's just beautiful. This bottle is, it looks high end. Don't remember where I saw this. Oh, I do. I remember Koki released their concealers that is this full coverage formula. And so as I'm browsing that, I found this. And I still love it. I just think it is still such a good one. It gives such good coverage. I have so much discoloration on my cheeks and then of course dealing with my decollete from Sun Damage. And I really love this. It looks great sheered out and it looks great as a full coverage. And it's not that expensive. I really love it. Now, I just barely got this one from Anastasia Beverly Hills and this is our new stick foundation. Let me go ahead and wipe my hand here. I have fallen completely head over heels in love with this. I'm wearing this like every day. I wanna reach for this every day even though I need to test other things. I put this on with a foundation brush. I think it's the 01 or 02 from BK Beauty and it just spreads across my skin and it's gorgeous. I actually sheer it out quite a bit because as you know, stick foundations can be quite thick and quite full coverage. And I just use a little tiny bit of it and I go over all of my skin. Then if I need a second coat somewhere, I use a little tiny bit more. It is matte but I never feel like my foundation is flat. You can see how well it covered everything. I don't have very many stick foundations or cream foundations that have really impressed me but this one really impressed me and I can't put it down right now. Another one that came back into my life early on this year and I am just in love with it all over again is the 24-hour Full Coverage Infallible Pro Glow Foundation. Now this one can be anywhere from medium to full coverage depending on how much you use, depending on how many coats you use. At two coats it's gonna be completely full coverage but this one has that beautiful satiny glow to it. This is beautiful on mature skin, on younger skin, older skin, anybody oily, anybody in between, anybody dry. It works especially well on somebody that's dry but if you're oily or combo, you're still gonna be able to use this. You just might have to set it down a little bit with some powder and we're gonna talk about powder right after I talk to you about these concealers. Now before I get some feedback from you all about this I want to say that I have recently found three, number one, high-end foundations, one is luxury and I did put in here a fourth. It's my channel, my prerogative. I get to put in a fourth. Makeup by Mario, the first time I put this on I knew it was gonna be a love of mine because the color was perfect, the coverage was perfect. It just looked like my under eyes were naturally blurred out. It did increase throughout the day. I do set down my concealers with a little bit of powder but I didn't have to use a lot and that's what I loved about it. This is a concealer that I can absolutely definitely recommend to you along with the brand new Natasha Denona one. So blown away, same exact thing. I put it down under and as a matter of fact I should tell you that I felt like this was a natural finish. I feel like all three of these that are high-end that I'm gonna talk to you about they're natural finish concealers. They're not super matte, they're not super glowy or dewy so they look beautiful on mature skin and the one from Natasha Denona was no different. I just went gaga for this stuff. It acted just like the makeup by Mario which I'm sorry I forgot to swatch that for you. They have very similar ones. Now you're gonna see different colors and that's because all of these companies they don't have the same colors. I would look at the makeup by Mario as one that is a bit warm, laning neutral and then the one from Natasha Denona as a bit cool leaning towards neutral. And then the Tower 28 came out with theirs. And same thing, I put this on and I was just like is it possible that there are so many beautiful concealer, excuse me, coming out right now that I can recommend this many of them and boy howdy yeah. And I will have a video where I try these on because I know you're gonna wanna see the differences in them. They all feel hydrating without feeling like they're gonna crease immediately. Maybe the Tower 28 one is a little bit thinner and it feels a little less emollient than the other two. I'm talking eight hours of wear time and they still look absolutely beautiful under my eyes. And I'm just completely and totally blown away by what they're doing with concealers in the high end market. Now this is one that I've shown before but I'm gonna show it to you here because I didn't give you an alternative for a drugstore concealer. And you really only can get this one on their website or on Amazon. But it is the Catrice True Skin Hydrating Concealer. And when I first put this one on, I did the same thing. However, I think this is more of a self-setting version of what we've just been talking about. This is a little bit lighter than those. I have come to the conclusion that if you're going to use a concealer, please do not use a concealer lighter than what you think your skin tone is. The reason being is when it's lighter, it is a little bit whiter, whiter, and it looks great. When it gets on top of those bluish under eyes, those purplish under eyes, and you're gonna just look ghostly instead of looking bright. So that's why I'm encouraging everybody to look for the little bit of neutral ones with a little bit of yellow or a little bit of rose in them. It's gonna look so much more flattering than what everybody's been saying about looking for two shades lighter than your foundation. Uh-uh, not for a mature woman that has super dark circles. You're gonna wanna look for one that is the color of your foundation. Okay, whew. I'm just getting started. Here we go. This is from Flower Beauty. It's the light illusion one. And I really love this. This is the porcelain color. The packaging with Flower Beauty reminds me over and over again of such a high-end packaging.  I have said this time and time again. I'll say it again. This acts like Charlotte Tilbury's airbrush powder, only better. And I will stand behind that 100%. You could put this up against that Charlotte Tilbury powder and it would fly right over top of it and land and kick its butt. So I love this. It's really good. I did set my whole face with this today and I couldn't be happier with this powder. The ColourPop Pretty Fresh pressed powder. Again, this is one that I can stick my finger in and go whoop, that's better than Charlotte Tilbury. I'll tell you why I think they're better than Charlotte Tilbury. They're lighter. They're airier.  They are so light that when you get them on your face they do exactly what they're supposed to, which is set down your makeup or blur it out and blot whatever you need to do. These two are going to be your drugstore best friends. I think this one is only like six or eight dollars. How good is that on this powder? I have been keeping this powder under wraps because I wanted to do a full video about it but I've just never gotten around to doing a whole video about this powder. This is the Yuloma Hydro Blast Setting Powder. This is so different. Everyone has to perk their ears up right now because it truly is a very, very different powder. And this one is in Fair Lady, I think. Fair for sure. Anyway, when you stick your finger in here it immediately feels cool. It immediately feels like it's on the cold side. That's because there are microspheres of water. It bursts onto your skin. It feels so cooling and hydrating. And when I first got it, I'm like, what the what? It was just really different. It's different than any powder I've used. It's loose, which I don't normally go for. Oh, it is something special. You won't be able to understand until you get it and just try it for yourself because it's that different. It's not like any of the other ones I've ever tried. So if you have been looking for the perfect powder, this may just be it for you. It's really good. It's really, really that good. Three of my favorite setting spray, LA Girl Setting Spray. This one doesn't have any, actually, I don't think the other two have alcohol in it. LA Girl Setting Spray. I've worn this all summer and I wanted this summer to wear a setting spray that I felt like dried out around my nose and chin, where things crease and underneath my eyes, that kind of thing. Then I started using it in between my moisturizer and my primer because I use so many moisturizers because my skin's so dry. So just to help, you know, with a lot of the moisture that I was having, especially when it got really humid in August, squirt like a charm, love this stuff.  That's a pet peeve. Has been for a while, if you've been with me, you know this. Neutrogena Radiant Setting Spray have the healthy skin line. Again, you're supposed to shake this one up because it does have little particles under it. This one I would probably spray first on a brush or a damp sponge and then go ahead and apply it to my face because the spray does come out quite a bit stronger than I wanted to. Again, no alcohol and it really does give you that radiant, dewy look to your skin and I love that about this. This one is great in the winter when you're wanting a setting spray but you're not wanting anything to dry you out at all. So good. The Charlotte Tilbury Airbrush Setting Spray. This one has little polymers in it that actually blur your makeup while holding it in place and to me, this is kind of the ultimate in setting sprays. Just a really nice one and yeah, I bought several bottles and probably will continue to buy it. Now let's talk about eyeshadow. I really did it up today with the purple eyeshadow. I was just having all kinds of fun. I actually, again, I put four palettes in here and I wanted to put this Aurora Struck Palette in here because it was like this came out and because ColourPop does this thing about having to release a new palette every other day, it just gets lost in all of the brouhaha. So I have just been using this week to become reacquainted with not only how beautiful the ColourPop formula is, but also how beautiful a palette like this can be. Can you see that we are working with two rows of really light, one roll of mid-tone and then two rows of the deeper jewel tones and then this is a cool palette. It's almost completely a cool palette which is unheard of when you're working with colors. Nobody does this and when I got it out, I was like, how did I get this pushback in the back of my drawer and not work with it? I'm telling you gals, if you like these colors, if you're somebody that has been afraid of using color, if you're somebody that really wants to try different things, there are dual chromes in here, the mattes in here are fabulous. They always have the best mattes, they just do a great job and those metallics are not gonna show a bunch of texture on your eyelids. Holy Moses, I'm in love. I'm really, really, truly in love with this. I think it's so special and so pretty. Also from ColourPop, the Pretty Please palette that came out just not very long ago. This is my perfection for my dream palette. It has neutrals in here, but then you have just a tiny, tiny bit of the purple in here, not a lot of purple, just more long lines of mauve-y colors in here and it has your pinks and then it has the light tones. This is so pretty, I just really love it. This one is a topper, very unassuming unless you get it on top of one of the mattes. I love this palette, I've worked and worked with it and it's one of those ones that I reach for over and over and over again. These are just pretty, they're just very soft, very easy to work with, buildable, but when you first dip into them, they don't feel like they're super pigmented and for me, I like that a lot of times because my brush can get away from me and make something a little bit more than I want it to and of course that's user error, but beautiful palette, Pretty Please palette. Then Natasha didn't own a dream palette. This was a dream for me when I got it back. I think it was the end of last year and I don't think it made it into the yearly favorites because I hadn't had it long enough. So this is beautiful. This has this duo chrome over here in the corner which I don't know if you're even gonna be able to see it but it shifts between a pink and a green. Oh, it's so gorgeous. This one tend to be a little bit darker but how I went around getting around that was I just really sheared it out and then I could get dramatic looks out if I wanted to. Her mattes are like next level, gorgeousness. Everybody knows this but honestly, her matte is the formula is just so beautiful. Now, how many palettes did she come up with this year? It's like three, maybe four and I still go back to the one that was at the end of last year. So this is one of my very, very favorites and I think that she did a great job. And then this one I wanted to show to you because this one is from Moira and it's not very expensive and besides the packaging is really cool. This has a great color story and when I got my hair done and my hair's darker now, I was looking around for palettes because I know my skin tone is still really light but I really wanted to play with something a little bit more neutral warm. So this has like two really, really warm colors in here and the rest are neutral or even working on cool. I think this palette is so gorgeous and you know what I love more than these metallics are the mattes. This comes with a mirror. It just has a really pretty presentation to it. A little bit thicker than what I would have wanted if I'd been developing it, but you know, I think Moira, their whole cosmetics line is overlooked and I really feel like somebody's dropping the ball here. The other products that I chose are some microbrow duo type things and then a setting gel. Now, if you haven't tried the Benefit Setting Gel, this one is called 24 Hour Brow Setter. It's a clear brow gel which I'm sure that all of you have seen before but once you put this on, your brows are set in place and I do like this so, so much. I've been trying to find something to dupe it out and I haven't quite found anything yet but this is a really, really good setting gel. I really do love it. So what's interesting is one is from Uoma. It's called One and Done and the other one is called Sketch and Set from Tarte. This one from Tarte is in medium cool. Then this one from Uoma, I believe, is zero four. I can't see anything on it but what is really cool about both of these and they're the same thing, wrong side Melissa. It is a microbrow on one end and then on the other end, you have your setting gel or a gel if you want to use it. They're both really good pencils. The Tarte one is a little bit stiffer than the Uoma one. Even though I love the Uoma one as well, it's just a little bit different on that, kind of different colors too. Like I said, color is a tough one, isn't it? So then you get to the other side and you have these tiny spoolies, especially on the Tarte one, teeny tiny spoolie and the setting gel on there. So good. I love both of these. I've used this as a dupe. The Uoma one is a dupe to the Tarte one because they are that good.  I really like both of these and yeah, that's my brow roundup. Eye pencils, oh my word. NYX is the first one. They're Epic Wear liners. They are so good. This one, let's see, this one is... Black metal. I use this to line my upper waterline and this goes on so creamy but it is there. It's like there all day and then this one I discovered this year from Jula. This is the What is it All Day Waterproof eyeliner and it's in this sapphire blue color. These, when you get these on, they're on. So don't try to take it off. No, I'm kidding. They're on, like they are waterproof as well and then this third one that I got, this one actually just came out as well. I think you guys will tell me if it's been around for a while. This one is from L'Oreal. It's the Infallible Grip eyeliner and this one is in Brown Denim and I've been wearing this one in the waterline, upper waterline as well. And boy, Bubba, this one, it sticks to... This one grips. So when you're putting it on that upper waterline, it's gripping and then it gets waterproof. So what could be better? And I just, I love all three of them. Let's finish off the eyes with some mascara. L'Oreal Lash Paradise, I forgot how much I love this for volume.  So I love this for the volume but I also want something that's going to give me a little bit of length as well and I'll use it in conjunction with the telescopic lift that we got this year or that it released this year. I love the wand on this. I'll show you the L'Oreal Lash Paradise one as well in a second. This wand is very cool because it is the silicone brush or the plastic brush and it has different layers on it. That one is really good. I love this one because it doesn't flake on me and it doesn't smudge on me. None of these do or they wouldn't be here. Let me show you this from L'Oreal Paradise. This is a beautiful wand and again, it just grabs every single little individual eyelash and it separates them and makes them look all fluffy and I love that stuff. And then this one from ELF, this is the Lash It Loud and you know what, they're bold or bigger, bolder mascara came out right after this one. I couldn't make that one work because that wand, that spoolie was humongous and I was always making a mess. So this one, it just worked really good for me. This is really good for tipping your lashes as well and getting a tiny bit more length out of your lashes, great one. And like I said, they wouldn't be here if they flaked or smudged or ran on me. Just, I love all three of them so, so much. We're gonna talk about bronzer slash contour. And usually I don't wear a lot of bronzer but lately I've been finding that I do like to wear like a color that is in between those two, contour and bronzer because then, you know, you're getting the double payoff, you can get, you know, I always put my contour up in my hairline because my hair, or my forehead is like a five head, not a four head. So yeah, definitely I'm using that all the time. This one from Kiko Milano, this is their contour stick and this is in the color chocolate. It is the perfect cross between warm and cool. Very, very leaning towards cool because, you know, oftentimes I get one of these and they are orange. Makeup by Mario, Rare Beauty, Anastasia. They all have them, but they all turn orange on me. And who would have thought that a little $10 stick like this from Kiko would be something that would work out so well. This one is the color amber from Fenty Beauty, their Cheeks Out Bronzer contour on this particular one. I do love this, I love the color of this. I used this one this morning and I'm here to tell you this one is the perfect combo. I have been through, I've used two others of this. So this is my third one. I think that this particular color is absolutely gorgeous and amazing. This one came out and Lisa J was talking about it and she was saying how great it is. And I agree, this big humongous pan of her bronzer or contour or whatever this is, what is this one? It is beautiful skin, sun-kiss glow bronzer. It's so pretty, I love the formula of this. It's just creamy and buttery and very, very blendable. Oh, you can see. Okay, see how it's different than the Fenty one? So you're talking true contour color here. Well, down here you're talking true bronzer, the combination between bronzer and contour. So it's beautiful, I love it. I wear it all the time and yeah, I'm not somebody that usually goes for Charlotte Tilbury because I think it's overpriced and you're paying for the name but there are sometimes products that do surprise me and this was one of them. Okay, highlighters. Rare Beauty came out with this, a lighten highlighter and does it say what color this is? Nope, it might be the color in lighten but it's just a highlighter I guess but it's super light, super duper light color and when I first got it I'm like, whoa, that is just gonna be way too high beam for me to wear on my cheeks or anything and it wasn't. It kind of just shears out just a little bit so it looks almost like glass. No glitter particles and it's very finely milled so this one is very pretty and then I don't know why but years have gone by since Benefit Cookie has come out and I had never tried it so I'm like, I gotta try this and see what all the hype is about and this one too, same thing as the Rare Beauty. It gives this incandescent glow about you. Now this one is a little bit more of a highlighter than the one from Rare Beauty but this is pretty, really, really pretty on your skin. So I'm gonna take my dual-ended brush that I've got from Hourglass and we're just gonna try to put a tiny bit on, go up a little bit. I don't wanna do too much because I already got my glow on pretty good so this is so pretty, pretty, pretty champagne color. Now as much as I do love those too, this one from Flower Beauty for years and years has been one of my very favorites and you have three colors in here, you have kind of a goldish color, champagne color, then you have a pink and then you have a very neutral, kind of sandy metallic color. These are all beautiful, so pretty. I, when I use this one, which I did before, I put that one on from Benefit, I cannot believe the quality in this and you know, they came out with a darker one like, I don't know, like a year or two ago. So if your darker skin gal, they got you covered too, these are so good, they're really good and best ones I have found so far at the drugstore, blushes, let's talk the new L'Oreal Infallible, this is the 24 hour blush, fresh wear, these are so pretty, they're really, really beautiful. What I do love the most about them, I cannot see that, wow, that is the littlest, oh, there's no way. This is color 20, it just looks like a very terracotta color right there. Very soft, very, very pigmented formula, you need just such a small amount. This one is Confident Pink, again, this is a corally, peachy pink, kind of, very bright, very pretty, love that one. And then this one is Fearless Coral and honestly, I don't think that that is truly coral. Again, I think that's very peachy pink, it's so close to the other one, it'd be hard to really make a decision if you got them on your cheeks. And then this one right here is Legendary Berry. Now, I use the pink and this berry one together and it's gorgeous, but oh my goodness, if you're fair like me, take your foot off the gas and be very conservative, take just a dot on your brush and then kind of tap it in your hand because these are super, super, super pigmented and bright.  And then I just come across Honest Beauty on Amazon and their blushes are so pigmented and so beautiful. And here's that bubblegum pink one, I think it should do you the guys. No, I haven't shown you these since I got them. This one is Cotton Candy and just beautiful. And then you have this one that is P&E pink. My grandma used to call it peony, so I got in trouble for saying that on the hair here. And then this one is Lush Lilac. People are going nuts for this really beautiful berry lavender color, it's so pretty. Last of the creams and girls, this formula for Moira, it is so beautiful. So Moira has this one that is the called I Miss You. This formula is called the Love Heat. This one is super, duper creamy. So this one is I Like You, I Miss You, I Like You and I'm losing my space here. That one's probably my favorite, so I like you one. And then the last one is I Trust You. And so pretty, I love the names of these colors. They're just pretty and there she is. So they're just gorgeous. I did that, now we're at the lips. I had to bring you these ones that are the LA Girl Shockwave Liners. These are so good and they really are, you know, really gorgeous, deep, intense colors, but they're workable and I also like that once they're on and they're set, they're there. And so this one is called Rosewood. This is a deepened mauve, beautiful color. I'm in love with it. And then this one is called Mauve. So pretty. I'm really always looking for these berry mauve tones and that's what I was going for here, gorgeous. And then the other drugstore one I have is when I discovered very recently from Essence, this is the eight hour matte. It's an automatic liner. This one's called Cool Mauve. I like that it's an automatic liner. It is a little bit more of a thick formula, a little bit easier to work with, and it's very matte and this stays a little bit longer. Now the one high end that I fell in love with, this to me is the perfect formula from Anastasia Beverly Hills. This one is Blackberry. This is the perfect formula because what happens is it's got enough dryness or enough, you know, it's not really creamy. And when you have a lip liner or an eyeliner that are too creamy, they're just not gonna last all day, but these do and I love them. This next one is called Dusty Rose. This is probably the one I've used the most. I would say that that is not a Dusty Rose. I would say that that's a deepened peach, almost like a peachy pink, but very deep. And then the one that I wore today was this one that is Deep Taupe. This one is the one that I wore with my lip gloss. Next one is Muted Mav. Now I love all of these. I think they're gorgeous. So, well, that was a big one. And I think that you would absolutely love these two. And then here we go into lipsticks. Flower Beauty's Petal Pout Lipsticks. Honestly, I don't know if the formula can be beat. High end drugstore, I don't know if they really can because I would pick one of these up way over anything else. Even though I love what's on here on my table and I'm gonna show you, I still think this is incredibly gorgeous. Dahlia Desire. Gorgeous, gorgeous. That's one swipe, that's two swipes. How beautiful is that? And then the next one is Coral Crush. I loved wearing this one this summer. That's one swipe, that's two swipes. Beautiful, beautiful, beautiful colors. This one is Naked Blush. This is one of the prettiest nudes ever. Prettiest nude I have ever seen. Just, it's a neutral, so it doesn't matter if you're warm or cool, both sides can wear that. And then the last one is Peachy Nude. Pretty nude as well. Gorgeous nude color. So these are, oh my gosh, they're so pretty. But I also forgot about this one. From Rimmel is their lipsticks. And this one's called Soft-hearted. This one is just the specific color, the specific formula, very satiny formula. By the way, most of these from Flower Beauty, they're kind of on the satin matte side. They last a really long time too. But look at that. It's got that really pretty mauve tone to it without being too brown, without being too pink. I just, oh, I love their formula. Anastasi Beverly Hills also added to their line. This one is Hayes. This again, a very, very neutral nude. That's an extremely light nude. I love this particular formula. It's more closer to matte than it is satin. This one is Taupe Beige. The reason that I like that is because when you're using it, you get that color that will blend with any pencil, lip pencil that you use. And then this last one is called Rose Dream. This one is really gorgeous. This is probably my favorite. And again, they're just these great formulas that last and last, and I do love them. All right, I know that I'm hurrying in this part, but this is gonna get to be 500 years long. Let's talk about the last thing which is lip gloss. All right, a couple of these you're not gonna be surprised at. It had all the Lifter glosses from Maybelline. I love these and I started to go after all of these non-traditional, for me they're non-traditional. Like this one right here is a coppery color. And wow, I love it. So pretty. I always talk about these being the most pillow-y, soft lip glosses without being that sticky, nasty stuff that you get. This one right here is pearl. I believe it's pearl. I better look or I'm gonna say something wrong. Yep, it's pearl. This one is a great topper that just catches the light, has a little bit of glisten in it, and it's a very smooth formula. The other one, I have shown this to you guys a million times. I even know most of the names of these. This one is a topper color that's got a little bit of pearl, like lavender in it and pink in it. It's just so pretty. This one is called Wilde and it is wild. It's pretty. It's got this pretty, iridescent look to it. The next one is this one that has a shift to it, as well a duochrome. It shifts in the tube. You can see it's shifting from gold to pink, which just got me, immediately just got me. As soon as I got like a ton of lip gloss on here. Oh well. As soon as I got it, I was like, woo, I love that. So it is definitely a duochrome. And when it's straight on, you cannot see that pink, but you turn a little bit and you see that pink and it's gorgeous. This one that is the purple one is Regal. And I don't think I know the name of the other one. I wanna say the other one is Gleam, but I'm not sure, so beautiful. And again, these aren't pillowy like the Lifter glosses. They're a little bit thinner, but the formula feels so comfortable on my lips. What is this one? It's Gleam. Oh, good. Okay. This one is a red, which I don't ever wear red, but the color of it really drew me in because it was just soft and subtle. And I felt like any woman could wear it. So these glossed glosses from this four collection, get my thumbs up. All right, we're at our last product. That was a lot. I wanted to put something I've never tried before and showed you guys in there and in here. It is the Lala's Forget the Filler lip plumping line smoothing gloss. I love this. It's so beautiful on your lips.  It feels more like it's almost a peppermint, kind of a feeling, not that stinging that you can get on some of them. That's the cinnamon or menthol. I just, I really like it. This is so good. All right, if you have stuck with me this long, thank you so much. Now let's just take a look at what I have on for an outfit and my jewelry. The top that I chose today is just actually a white t-shirt, but I love the princess neckline that it has and it's still short-sleeved because it's still a little bit warm around here and it has a little puff sleeve as well. And then these leggings, you've seen me wear it million times. I wear a compression legging because of my surgeries before. So nothing that you haven't seen before but they are very heavy duty leggings and they have held up wash after wash after wash and I just love them. And then I will go ahead and show you my jewelry. My jewelry is just a heart link chain necklace. This is just a piece of fashion jewelry. It's not 925 silver or anything like that but I thought it was all kinds of fun with the little rhinestones in the hearts as well. And then these are hoops that I believe are 925 silver and they are in the shape of a heart. I love these. I have them in gold and rose gold and then the silver too. I'd love to hear from you in the comment section below what your very favorite product of all time would be or if you have a few of these that you like or didn't work for you, I'd love to get a discussion going. Again, thank you so much for being here and I hope you enjoyed it. Have a great day. Love you much. Bye bye.


What's up everybody, Jason here for jaspyscasebrakes.com, 2022, clearly Donner's one box break random division number 22, just sold out guys. And again guys, Jason's some party and a free early spot giveaway to the first five of that box guys. Here's the dice roll, here's the five customer names, here's everybody else. Let's click the row and it'll do the same randomize, we use the same dice roll for the randomize for the free spots and the names and divisions. Three and two five times, good luck. One, two, three, four, five. David Harrison, congratulations. Being an early bird you got a free extra spot. Now we're going to go five times here. One, two, three, four, five. Five times, Triss at the top, down to Matt, last ball mojo at the bottom. And five times here on the divisions. One, two, three, four, five. And FC South down to the AFC East. Alright so Triss you have the NFC South and AFC South, David with the NFC East and the AFC North. Matt with the AFC West, Brian with the NFC North. Tristan with the NFC West and Matt with the AFC East. So there you go guys. Yeah usually there's no trades guys so I'm just going to start it right now. Are you going back over there and coming back? Are you going back one more time and then come back? No I'm done with you. Bring me a trash bag.  Alright we got that Crestcott there, thank you. Little Brady Gold, Eli Pierce, Romeo Dubs. We've got a numbered Saquon Market for the NFC East which is David, this is Jones Jr. and whoa do we have a retro auto? Also Wilson that's so sick. That is a Donis 1992, 8 out of 10 autograph. First name Bronson, last name Wilson. There you go that is going to go to the AFC West which is going to Matt. That's an awesome hit right there man, congrats. I'm not expecting that. I've got Hutchinson, Stingley Jr. We've got a Mack Jones insert, Jameson Williams and Eric Izacana. Alright nice box. Nice little hit right there for you Matt. What a Russell Wilson 8 out of 10. Again guys I already posted another one. I think we have just like one or two more boxes left guys and then we are done I believe. I appreciate you guys. JasperysCaseBrace.com


Good afternoon, Pastor David. Hi, John. Welcome, everybody, to a random moment with Pastor David unfiltered. Pastor, recently I was reading that Mr. Biden is forcing a faith-based child care act to affirm LGBT ideology or lose federal funding. The premise of what he's wanting to do, quote, is, within the White House, pass a bill that would require preschool and child care facilities to abide by federal nondiscrimination laws related to gender identity and sexual orientation. This means that faith-based facilities that affirm biblical beliefs on marriage and gender would not be able to participate because they do not hold LGBT ideology. It's ridiculous. And 1st Timothy 4.7, it says, wrote, but reject profane fables. What's your thoughts on all of this, Pastor, and how it's how this is affecting the church? I don't know how it could affect our church. It won't affect this church. You know, I don't take federal funds. You know, I'm not going to have the federal government tell me how to spend money to further the gospel or minister to the people of this church. And so because we do not take funds, that's not going to affect us in that and that regard at all, you know, so how should the church respond? Well, one, perhaps the church should be aware of the fact that anytime you take money from the government, the government owns owns you. Maybe we ought to be aware of that. Maybe churches that are relying on the government to support them ought to be aware of that, you know, for us. I was taught very early that my the one who supports me, my foundation isn't going to be the government. My foundation is going to be the Lord who raised us up and who sustains us.  You know, I don't see any reason why the church or any church should ever kowtow to that kind of discord discrimination against the church. I mean, we have a 2000 year Christian tradition and biblical understanding as it pertains to how to raise children, what a family is, what a husband is, what a wife is and all of that. And so for churches to be told, you're going to begin to preach what we the the ones who crucified Christ, we that group of people, you're going to kowtow to us, or you're not going to get our money, I would say, so keep your money. You know, I'm not going to ask in any way, it's not your money anyway. You are you are undermining and usurping the the right to choose as I as a Christian who also paid taxes, you know, should have something to say about that.  I mean, this is this is somebody that that is under the control of somebody else. I mean, he certainly doesn't have his own control. He's certainly not self-control. But this is somebody who has presented himself in a moderate fashion, but in fact, is a puppet to somebody else. And I don't I don't have a clue who the actual person behind the curtain who's doing all the talking on his behalf is, but America is getting sick of it. America is getting sick of this insanity, you know, the the kinds of things that are taking place in in our world today. I mean, my goodness, this is this is the ideology of hate. That's what it is. And to tell us to tell the church that we cannot raise our children to believe what scripture teaches, which is, you know, to respect a woman, respect a man, to, to, to care for other people and all that we do to try and paint us as haters if we don't do that is just pure insanity and nonsense. You know, it wasn't that long ago that the government was giving money to to churches and and all you needed to do really was apply for it and and they're just giving money and and people act as if that's free. It's not free. Somebody paid taxes on that. Somebody is paying for that even now. So churches began to take these grants that were actually never expected to be paid back and I could have applied for one. The amount of employees I have, we're regarded as a small business, John, and I could have taken a grant and gotten hundreds of thousands of dollars or more in order to pay our bills and keep the lights on here. And one of my friends called and said, are you going to apply for the grants? And I said, no, I said, God raised this church up and God is very capable of sustaining it. Why would I look to the hand of the government to uphold me when it's God who raised us up? And I said, no, I'm not going to do that, which we didn't. We haven't taken a dime from the government and we won't. Why? Because this church is the Lord's. Jesus bought it with his blood and I'm certainly not going to have Mr. Biden or any other person who's twisted tell us what to do. I'm not going to do that. And it's a blatant attack against our children. It's a blatant attack against God's word for our president, which is founded on the founding fathers of biblical foundations to now turn and try to indoctrinate and pass ideologies, which is, would you think, Pastor, you know, if Christians don't abide by this, there's a penalty, you know, and we don't want to get them mad, you know, and he's losing his patience. He's losing his patience and we don't want we don't want that. No, but yet on the flip side, you know, if we stand up for what we believe we're considered the Christians or the church is considered to be haters or we are haters. We are haters of evil and promoters of good. And I really think that the church needs to stand up. We need to unite and we need to say, you've gone as far as you're going to go. You're not going to go any further.  I didn't give you permission to do that. You know, I'm not yielding to your authority. You're not going to do it. And so at a certain point you draw a line and you actually hold to it, unlike the previous, not Trump, but the previous president who drew his line and was constantly moving because he didn't have a backbone. You know, the church has to have a backbone. We need to say, no, we're not going to do what you said. We will obey God rather than men. And so no, the government doesn't tell me as a preacher what to preach. We haven't gotten to that place yet. Pray to God that the church wakes up enough to realize we need to elect officials that come in who actually don't violate our consciences through their laws. And maybe this is one of the ways that the church will finally wake up. Amen. Pastor, thank you so much for that. We want to invite you guys to our Wednesday evening service tomorrow at 7 PM. We'll be taking communion. And you are taking us to Titus chapter 1 versus 10 to the end of the chapter. And so I want to invite you guys to come on out to hear God's word. And what a great way, Pastor, to go into the Thanksgiving season with having communion with our Lord and Savior, Jesus Christ. And so I want to invite you guys to come on out. There's so much things to be thankful for. And Pastor, thank you again for spending time with us. Thank you guys for tuning in. God bless you and we'll see you soon. Amen.


Hello friends. I am Sanjay Gupta. In this video, I am going to demonstrate you how you can use static data and static member functions in C++. Before starting, you can note my information. You can follow or subscribe my YouTube channel that is sanjaygupta underscore tech school. You can download my Android app that is Techimage which is available on Google Play. Now, coming on to the topic. First, I have included a header file that is iostream. Then STD namespace is used. Now name of class is test, which is having two attributes. One is count, which is static. So here this count is static data and this X is non-static data. So when you declare any variable as static compiler automatically creates a memory location for this static variable, whether you create any object or not. So you can see in this demonstration, I have not created any object. Still this function will display the value of count, but this X is a non-static data. So it will be having a memory when its object will be created. Then a constructor is defined, which is receiving an argument in A. Then A is assigned into X and then count is incremented. Then show function, which is displaying value of X and then show count function, which is displaying value of count. Notice that this function is declared as static. So this is a static member function. So static member function is also a spatial member function, which can be called through name of class and without creation of any object. So you can see I have called show count function with the help of class name and I have not created any object. Before main function, I have initialized static variable by zero. So this is the syntax of initializing static variable. Now first time executing this code, you can see the output count equals to zero is displayed. So I have not created any object. So count is having a memory location. It is initialized by zero and it is displayed using static member function and that static member function is called through name of class and scope resolution operator. Now I am creating first object of this class that is T1 and I am passing five inside it. So with this statement constructor will be executed. So T1 will be having a memory block where only for X memory will be allocated, not for count. So X will be initialized by five and this count variable will be incremented by one. So now you have to notice that if I am creating more than one objects, so this count variable that is static variable will be shared by all the objects. So I am going to demonstrate you this. Now I am calling T1 dot show function and then T1 dot show count. So you can see the difference here. Show count is called through class name and here I am calling it with object name. You can also write this statement here. So you can call this function through class name if you have not created any object and if you have created an object, then you can call it through the object also. So first time executing this, you can see the output count is zero, then value is five and then count has incremented by one. Now I am creating one more object. This time you can see I am calling show count through class name. So I can call it through object as well as through class name and I have created T2 another object. So here constructor will be called. A will be assigned into X and count will be incremented by one. So here count will become two because previously it was one. So now we can see the output. First count is zero, then value through show function is displayed five, then through show count one is displayed. Then again, second objects value 10 is displayed and you can see now count is two. So friends, if you want to share a single attribute of the class with multiple objects, then you can declare that variable as static. And that static variable will be managed by the static function and static function can be called through name of class or through object of the class. And these static variable and static function are gathered memory without creation of any object. So if you have not created any object, then also you can access static variable as well as static function. So this is all about static data and static member functions which are available in C++. I hope you have understood the concept. If you want to watch more programming related videos, you can follow or subscribe my YouTube channel that is sanjaygupta underscore tech school. Thank you for watching this video.


So good afternoon, everybody. So my name is Swami Nathini. I'm here representing the data sciences group by Hola Caps. So again, it's a day to be here today in this first level, but we are confident that it's happening in India. And I think we'll be meeting all of you. So I'd like to thank the sponsors and the organizers for this. So to, so the purpose of this talk is to basically give you an idea of the problems that the data sciences group at Hola Caps is worth a lot. To sort of tell you about the techniques that we use, the algorithms, and the high-level products. And to sort of try and see if you're able to handle your interests. So this is a really short presentation. So I'm going to be touching upon as many areas as possible in this time. And if any of you would like to have a deeper engagement or a deeper discussion on any of these problems, please do reach out to me after the presentation. We also have a few data scientists from Hola Caps who are here today as well. So we have a similar group, I'm sorry. So please do reach out to them or to me in case you want to have any deeper discussions. So Hola is today one of the largest B2C service providers in the country. But it doesn't require too much of an introduction in that sense. But I still wanted to highlight a couple of points about Hola, which I think not many people would be aware of. One is the scale at which we operate. So we have a fleet that is of close to a million vehicles today. So these are vehicles, you know, across from the technical vehicles that we have. They put compact cars, sedans, luxury vehicles, auto-hours, and you know, buses and shuttles as well. So and the reason we operate such a large fleet is to essentially cater to an audience of several million active users who use our service on a recurring basis. And we have a presence in all of the tier one cities in the country and even most of the tier two cities. So we operate across a length of the country. And so that the scale with it brings, you know, opportunities for optimization, which are like a hundred. So the data thanks group at Hola is sort of interested that optimizing this business and to try and make it more efficient for the customers and for our regular partners. So that is what the second thing that I wanted to highlight is the nature of the demands that we need here. So especially viewed from a perspective of, you know, operability. There's a wide range of, you know, demand that is available. So, for instance, today our default taxi, all our main servers is priced at 10 rupees per kilometer price point, which is a very price in most of the tier one and even tier two cities. And this is something that is affordable for a common man in the city of India. Whereas, you know, if you go slightly, you know, towards the tier two cities or even smaller towns, all their 10 rupees per kilometer is not an affordable price point. So over there we have, we're looking at services like Hola Share, which would essentially allow the user to programmatically share his ride with, you know, with a friend or someone that they know and which would essentially half the price, to five rupees per kilometer price point. And at that point, you have, you know, more audience coming in. And then you go even lower, you look at people who essentially use buses for their daily commutes and they travel at a price point of about one to two rupees per kilometer. So Halaem, we have the service known as the world shuttle, which we are just launching. And, you know, over here, if you have a bus which can seat 40 people, this room is fully occupied, and you go, even if each person pays a rupee per kilometer, that's like one rupee, which is enough to sustainably, you know, run the bus. And so the reason I wanted to make the point is that, you know, at this point, we're only scraping the surface of, you know, the demand for transportation in the country. So as we, every time we launch a new service, no matter in what, you know, small, no matter how small the start is, like the shuttle and the share is available yesterday, we find that it immediately unlocks a new set of people, a new pool of demand, which was not visible earlier. So these people were not engaging with us when we were offering our service at a 10 rupees per kilometer price point. And suddenly they become visible.   And we also have other business lines. We have Ola Money, which is a currency, which allows cross-selling between the different products that we have. We have Ola Cafe, which is a food delivery service, Ola Store, which is a groceries and home needs delivery service and so on. So what is the data that we generate? So every taxi or every vehicle that we have on the road is essentially a source of data for us. So every taxi sends a beacon to one of our servers every once every few seconds.  So it helps us assess, you know, for instance, if you want to assess the level of prevailing traffic in a road at any point in time, even our vehicles and the signals coming from vehicles will be able to model the traffic at that time on that particular road. And we also will be able to, like, sort of derive relationships and understand traffic flow better. So we know that, you know, at the point A, or if a marked lane is going to get clogged at 5 p.m., then it's some portion of the traffic lane. 25% of the traffic will go down the road and clog it at 6 p.m. Because it would not be able to stand even one-fourth of the traffic that marked the lane. So these are some traffic relationships which help us forecast traffic. And with this, we'll be able to make our service more efficient in terms of giving better ETAs and alternate routes to be faster. So that is the main source of data. Apart from it, we also have customer data in terms of who are using the RAF, the right ETAs and so on. So of course, then we give utmost importance to user privacy and all this data is used only for improving the efficiency of the business for the customer and for no other purpose. We also have data from other business lines, like I mentioned, which would help us understand more about the deeper part of it. So I just thought I'll give an overview of the kind of problems that we have faced here. Pricing is a very important problem for this, like I mentioned earlier. And also there are different flavors of pricing. There is search pricing, which you would have noticed if you've used all of them recently. Which basically increases the price to liberate the mismatch between demand and supply. So if you have, it works more on the lines of how agile and pricing works. So when you have more demand and less of supply, you sort of search the price automatically. So apart from search pricing, pricing itself is a fairly deep area in the sense that you could price the service at 10 rupees per kilometer and allow it to search up to two X. So that will give you a max price of 20 rupees. Whereas an alternate philosophy is to set the base price at five rupees per kilometer and allow a search of up to two X. So these two philosophies will have a variety of different reactions in the audience. For instance, a lot of philosophy will ensure that your demand gets smoothened out across time. You mean that there will be a lot of people who would wait for the search price to drop and then take the rate at a much lesser price point. And with that, you'll be able to influence the traffic flow in the city, to some extent. Or even at this point, the scale that we are at will be able to ensure better time of arrivals, better faster and suffer arrivals for users who travel there. So pricing is a prominent area. Forecasting is another area wherein we like to know what is going to happen in the future. And an example I gave about traffic, our relationship between traffic is a very important area that needs to be forecasted. We also forecast demand from users so that we can properly outsource supply. And we also forecast supply in order to see if we are able to ensure that we meet the needs of demand. So, essentially, we are running a marketplace where demand is represented by the customers who want to use our service. And supply is the drivers that we work with. So, any scheme or any marketplace, and we are the business, we are the manager of the marketplace. So any marketplace initiative you would know would impact both supply and demand, typically in opposite directions. So we'll have to ensure that we hit a sweet spot between supply and demand. For instance, if you increase the price a lot, then supply would be bent and drivers would be happy but users would be turned off. The same time going in the other direction would result in the opposite reaction. So it's important to extract the sweet spot of every initiative. And also, given a bunch of initiatives, given that you have a new pricing strategy, given that you have a new iron sourcing strategy, given that you have a new incentive strategy, and how to ensure that all these strategies sort of work together and ensure that the balance in the marketplace is not dead. The moment the balance in the marketplace is tilted, then one side would deflect to high competition. And the moment you start losing supply, the demand will close. So the managing this tilt is a very important part of the problem which we work on. And forecasting sort of helps us because it uses the view into the future and helps us to foresee what's going to happen. ETA at every time, and ETA is a very sensitive, ETA stands for expected estimated time of arrival. So whenever you book a taxi on the whole app, it's going to show you a time in minutes that the driver is going to take to the issue. But this is a very sensitive metric because we know that the moment this ETA promise is violated, our cancellation rates peak up. So the moment you cross that ETA time, probably your cancellation, it just shoots up exponentially. So it's a very business-sensitometric in that, in the sense that you'll be able to satisfy your demand better, you'll be able to manage expectations better, you'll be able to predict ETA correctly. And predict ETA and requires understanding of traffic, which I talked about earlier. And also guarantee the arrival time. So when you have a sharing service, for instance, when you want to share your ride programmatically with someone else, then it's important that your time at which you would reach the destination is sort of, there's a bound of it. When you cannot be reflected, your food cannot be reflected too much to ensure the other person gets it done. So guaranteeing on arrival time is also another area for which you require ETA prediction. Destination prediction is important in the sense that today we don't ask for the user's destination, except in the case of very specific destination points like airports, you don't really ask the user where he wants to travel. The reason for that is because we want to keep the service as unbiased as possible. We don't want to bias in favor of people who are going to travel longer distances or whatever. So it's irrespective of the destination, you will get the same quality of service. And so destination prediction is important because it allows us to foresee where the cab is going to end up. And potentially the cab can take a booking even before it actually ends up there. So estimating the supply pipeline helps us ensure that we are able to actually show the real supply that is available to the user. So some of the other areas that we work on, programmatic incentives, incentives that are given out to drivers, incentives that are given out to drivers in order to ensure that they stay on the platform. It's often programmatic. We have more work on the driver side. We have predicting attrition, for instance, so of drivers as well as users. So once you figure out that a driver's usage pattern sort of became that he's no longer as active as he used to be on a network, then the moment you immediately try and give him a better package or a better sort of incentives so that he again resumes working for us. Again, the same thing applies to users as well. So it's important to ensure that when the user is slipping out of using that kind of set of incentives to make sure that he comes back on board. Market-based optimization is something that we talk about. We have to show some critical metrics which are sort of set forth by the business, EPA being one of them, and version rate on search pricing being another. So we have these critical metrics. It's important that when we do all of this in the spectrum of projects, it's important to ensure that these critical metrics are preserved. So each one could pull the metric in some direction. It's important to have the right balance between supply-centric initiative and demand-centric initiatives to ensure that the balance is maintained. And that is another, that sort of handle in an automated fashion, so I suppose. Driver rating, so as I said, we get a lot of data from the taxis that we have on the ropes. So we get data about from the driver's accelerometer, so which sort of helps us to understand his driving profile, how risk-taking he is and so on. And also, every time you complete a ride, you rate the driver. The driver rates you as well. So in order to do a driver rating system, the straightforward way of doing it is to ensure that drivers who get rated high by customers who are rated high are actually good drivers. So that's sort of feeling into doing something like page-riding on the ratings program. Law is different than else, I think I talked about. So you sort of tie in the driver. So today we have initiatives where we source cars for some of the drivers. So a lot of people, I mean, so this is actually, so drivers are pretty interesting because it's a new section or new classification of employment that we've created. So these are actually self-made entrepreneurs who are not strictly tied to any service present. And they're able to sustain themselves by getting access to demand in a very problematic and predictable way. So that, you know, earlier the driver ecosystem was not properly managed in the country.  So people are not really sure if, you know, having been a driver is a good long-term occupation. That is, you know, by sort of programmatically providing them a channel and source of demand, we've sort of ensured that our driver ecosystem is right there. Yeah, so user intent prediction is another thing to brand understand as much as possible about the user. The moment there is, we realize that there is a need for people to brand not Jim to write this, this also. So, I mean, very quickly on some of the models, I mean, we use, on regression we use GLM, so there are a lot of regression activities like predicting what the conversion rate would be at a certain search price in a certain location, at a certain time and so on. So this pricing is very sensitive to location and so it's true to the category of service that a relationship between, across categories. So when you price one category at 1.5X of the other, you know, there's a certain relationship, there's a certain flow. Whereas if you sort of bridge it, the flow would be better. So understanding what is optimal price point given a category, given a time and given a location is very important and that's one of the most important regression problems that we welcome. We have other problems as well like regressing ADA, regressing men, there's a regressing probability of demand for a given user that's possible. So we have a combination of, I mean, more categorical and numerical data which we use to train these models. So we sort of de-couple the categorical attributes and sort of use tree-based models like Canadian booster trees, random forest in order to make the categorical attributes. And then once you cluster or once you work on the data using your trees, on each of the resulting ensuring partition, you apply your numerical techniques exactly as well. Time series modeling is important for forecasting. So we have time series models like Arima. We also look at the Fourier coefficients and try to predict into the future. Large dimensionality handling is, again, taking care of a standard technique like PCA or regression. And there's a, as I said, every taxi being a data source is a lot of data that gets collected. And hence, most of the algorithms, of course all of them run on distributed systems. So we use distributed systems like OOFIG which are handled a lot and also Spark which is sort of something that's picking up. So one of the reasons why we are here is to try and see how Julia will be able to help us in these initiatives. And so for guys learning, of course, given that we have categorical data, we try to use our tree models to do clustering and we also do mintry of two k-means. And so on and so forth. So for the graph problem, to understand model the nature of traffic, the nature of traffic efficiency, we have a large distributed graph which is powered by Apaches Giras, which is an open source, large graph processing system, which we use to have, maybe in graphs with tens of millions of nodes, each node represents some point of significance. And the, and the sort of train IEK models on the office. Also we have constraint optimizations even more important when we manage the marketplace, because they're a business-sensitive matrix which are to be sold. As I said, you know, when we have these initiatives and experiments happening, how do you ensure the marketplace balance is not level? So that is the other thing. I think I'm basically done in a minute. I came with the material even though it's going to be short-talked. So do you have any questions? So the thing that you mentioned about is the problem that you told about is a classic perishable inventory problem wherein you want to forecast the demand on top of that. If the demand is greater than the supply, you want to optimize that demand. So in the last slide, the last block that you mentioned about constraint optimization, is that what you were referring to then? I mean, is that what you're using for optimization? So that is one of the things. So we have, ultimately, it's a constraint optimization problem. Everything is a constraint optimization problem. But the individual constituents of this, the objective function and the constraints have to be predicted because they are not already more. So it's important that we train models. For example, if you want to forecast or if you want to predict what the conversion rate would be if I surge the price at certain factor. So that is something that could have never been tried before. So it's important to predict that. So constraint optimization with individual constituents plugged in via prediction. That's the way it works. So just to add on to that one. So essentially a task-added model where one set of things have been as a subset of problems, which finally funnel into your LP, which gets solved and then you make sure that you can treat it out. So it's a multi-level cascaded problem, in some sense. At the bottom, you have the constraint optimization. You have models, cascade of models. Just one last question. LP, are you distributing that at all? Or just one more. LP, we're not distributing. How large is the LP? How large is the LP? So we have a number of constraints running it about two tenths to one tenths. Did you arrive at the price of 10 rupees by optimization? It was initially arrived at by trial and error. So right now we are doing some amount of work here. So we cannot optimize it. And we cannot have a price like 8.7. So we'll have to ensure that our prices are strengthened a lot. But there's some amount of experimentation at the end. So that's the reason why you find that across cities, the price varies a lot. That will be the highest level of optimization. So related to that question, you said trial and error. Are you doing systematic experiment design? Yes. So I mean, when the company was started, I mean, of course it was trial and error. There was no data sciences group at that point. But right now, yes, I mean, there's some systematic, some levels of which we can set price. Of course, I mean, business sustainability is important. But given restrictions, there are some levels which we play with. And it gets more complicated because pricing one category at a certain point would have an impact on the other category. For example, if you make your compact cars very cheap and the sedan driver should be upset, and they are different. So it's important to ensure that this is this sort of... That's the way I was going. It's actually a machine that is running and the side effects and also the... It's not just restricted to itself. It's restricted to our other business lines. It's restricted to auto rickshaws, for instance. If you price the mini too low, then for people who use auto rickshaws, they're different. At the same time, people who are using sedans are also restricted to it, so both sides are different. So it's important to get the price spectrum right across the range of services. And also take care of surge prices. So when mini surges, it could approach the price of a sedan. So over there, what is the market reaction? So interestingly, people are still not reflecting to sedan. That's something that we know. Even when we... When the mini is actually... After I apply that multiplier of whatever, one point by whatever, whatever, if it exceeds the price of a sedan, people are still booking the mini. And if they don't find a mini, they just go away. So I hope any charges... Thank you. So the activity is that the user does only from the OLA app and record it. So we add anything that you can add. Now, when do you open the app? When do you want to do it? When do you use other online services? These are symbols of the individual. You have a question? Any other questions? Do you get to know when I open Uber and then you take the Google app? LAUGHTER You've got this big icon on your hand, I can't say it, but we know that. LAUGHTER Yes. LAUGHTER Thank you. All right, thank you. So please do talk to me if you want to have any deeper discussion. I'll go to the team, which is sitting. APPLAUSE


Hey, hey there do squad it's Logan here back here again another reaction video now today We're gonna be freakin reacting to some funny moments or produce 48 on crack Now I have been watching this show and I am loving the show. I am loving it so much man I oh it's so good how they're Japanese contestants and Korean contestants. It just spices it up man It's just makes it so much better. And this is my prediction for produce 101 season 4 I reckon it's gonna be Chinese males and Korean males That's what I reckon or maybe Chinese Japanese and Korean barricades Chinese and then Korean males But yeah, I'm pretty excited for this there are like those Like those solo clips that people do and like all of those games that people do that's not actually on the show But it's like on the website, so I'm actually excited to see if there's any of that on this I just can't wait. I just can't wait. I freaking love the show I watched new episodes as soon as they come out and oh man. Oh man. Oh man Is it good, but are you guys of them that is good straight into this? I'm freaking excited I hope you guys out there and let's do these Sakura man, you know when go to I just want to spoil it. Oh this stuff. Oh, I need to be able to do this Won't be wait. Well, that isn't okay. That is a reversal Oh, is that why she does that? Oh I love this stage. I love this stage. Oh, by the way, Minju is my number one pick for the show So when she was doing the llama before I was like What I Have not Dance I can't wait to see her dance. She's got such a great person She's my Famous song right here of the stage. It was so good legit. I loved it so much. Oh They were positive. I didn't see like I didn't know that Oh, I forgot her name other the person that does a gear second I like I didn't know that it was because of guessing and I thought she just did that because it was funny But like guests are two freaking one-piece fans. What up coming high five all the one-piece bands out there I love that pieces produce 48 is an amazing show. I can't wait to watch future episodes and oh My I like I wonder who's gonna be in the final 11. I hope I'm into it No, it's final 12 isn't it? I hope Minju is in the final 12 because oh, she's just so amazing man I just love her to pieces. I just love it to pieces and also she's friends with creature Chew and I love creature chews music. So, you know, it's Gucci Gucci Yeah, but are you guys I think that this is gonna be all for this video I hope you guys did enjoy and if you guys did the different show so support by living I like and also comment down below who your number one pick is for produce 48 and also subscribe you guys and move to channel with me more produce 48 reactions And then I'll be reacting to this group when they debut because it's gonna be freaking awesome and also subscribe Wait, I just said that but yes subscribe if you want to subscribe because I just said subscribe just before so I said subscribe and Subscribe and I yeah, I hope you guys upgrade that and just keep on smiling and I see y'all Subscribe


What was the most incredible, transformational thing that you experienced with the ayahuasca this past week? Man, you know I never drunk or smoked prior to this. I never did any of that. So I went straight from being 100% sober to the mother. Monday we did breath work. I never did breath work like that and what came out of me was the spirit of laughter. I was just laughing so hard. Fast forward a little bit. The first day was the craziest day because it revealed to me. It showed me how everything we process, everything we watch, everything we eat, everything we do becomes a part of us. And it showed me that because when I took the medicine, a lot of times they use breath. I guess you know that's how they channel the spirits. After the drink, they say whoosh. And within 10 minutes of me taking my first drink, I was out on the ground. And then that's when they started the music and dancing around and doing the chanting. And that's when they started the smoke. Instantly, I was out of it.  They about to, they about to harness my organs. They done, they done led me here.  How did I let them set me up? That's the first thing. Instantly what I first experienced was fear.  I did die. I died over a thousand times, man, and I couldn't get up. And some people call that sleep paralysis, but I couldn't get up. But I was kind of conscious of what was going on. I've never been drunk, but I can imagine what drunk felt like. And I was like fading out and can't move and just like, ugh, and feeling real sluggish. Something wanted to throw up, but it got stuck here. I can remember me beating on the ground because I was like, I gotta make it out of here. I went to hell, dude. I was in hell, man.  I felt so much suffering, so much pain. And my girl, sometimes she had panic attacks. And I used to always think like, that's in your head, you just tripping. Why do you always act like that?  And I kept beating. I felt my heart trying to pound and crawl out of that place, right? But I died. Every time I died, it's like the more I got conscious that it was happening.  Your heart is burnt. Your skin is, your flesh is burnt. And it comes back and it's burnt again. And I literally went through that and if I had a count on it, I would say a thousand times. It's just agony. Time of the gods and time of us is different. So even though it felt like five minutes, dude, it was years I've been in that place. It was five minutes on this physical plane. One of the things I kept saying I exist because I got lost in existence. I died so many times, dude, I lost my mind. What mother was doing was killing that side, was detoxing. That energy that I was processing and I was going along to believe truth. One of the things, shout out to Amanda J. Rowan. Oh my gosh, I'm gonna marry her when I get back home, bro. She was one of the things that kept me alive, bro. I got so lost in myself, man. It was so much agony. And one thing I asked mother for, one thing I asked for was compassion. But how can you have compassion if you never felt a level of pain, if you've never been through certain things, even on a vibrational level that others have been through to be able to relate. And I felt so bad for how many times I left her in the dark and I shamed her about it. How I made her curl up. Not only did she have to battle in the spiritual world, but she didn't even feel safe on the physical world. And me as her man and looking at as the provider, I couldn't even be that for her. I was too immature to be that for her. And Lord knows I cried for her so that night. My soul cried for her, man. When I woke up, I was being taken through time. I was being pulled through time. And it was almost like I was being Jesus. I was being Buddha. I was being so much people. And it was like the medicine said, this is who you are. It's so weird. And then I remember doing like this dance. And it was like, ooh, I come by, I come by. And it was like this beautiful African dance where I was this big dude and I didn't have too much clothes on. From that dance, it was like people saw me doing it. They walked by. It was like I was in a different world doing it. And they just came and hugged me in real tribe. I said, he's back. He's back. I cried so much, dude. Before this experience, I was a man that prodded myself and being able to hold my own. And my father told me, men don't cry. But that's what happens at the split. Our ego creates this separate identity that allows us to live in the world that we're living in. I just recognize, bro, how strong, how strong and how hard they rose me to be in it and how insensitive I was to people and people in this world, bro. And now my heart is just so open, bro. When your soul and your ego dies in that way, bro. Oh my gosh, man. And that was just a first thing.


OK, there we go. Hello. So we're going to talk about eight things that happen at the dot. This talk came out of a couple things. One was a discussion I had with Guido, where I said, hey, what in Python does still kind of need to you? That you wrote. And he said, well, descriptors are kind of neat. And the other one is this is something I've occasionally asked on interviews and that people are not real familiar with what happens here. Usually, if it's going very well, we'll see how it goes. So first, who am I? I'm a new father. I have a daughter who's about a year and a half now. I'm bringing her to London for the first time next week. So if anyone has suggestions, let me know after. I've been a Python developer since Python version 2.4. When I first started, the book said, based on Python 2.2, newly updated for Python 2.3. That said, this talk is all based on Python 3 and 3. whatever. And it's all stuff that hasn't actually changed pretty much the whole time. This is all stuff that has not changed since Python 2.2 with one exception. I've previously approached the topic of descriptors for type control in a talk at PyCaribbean in 2016. And I've previously given essentially this talk at PyGotham in 2017. I'm at Bloomberg now. Before I came to Bloomberg, I worked in industrial automation. I worked in metaverse development. I worked in some investment banks. Currently, I'm at Bloomberg in the data license group, which is the group that packs up bunches of Bloomberg data and sends it to clients. So for clients that want, say, all the data about the equities in North America. Our group of about seven people uses a wide array of technologies. This is fairly typical of Bloomberg. We use Flask, Celery, PyCSVW, Jenna, Riot. I think we got rid of the PHP, but it's probably still hiding somewhere. Perl, JavaScript, C++, and they keep telling me there's Fortran hidden away somewhere that our group's responsible for. If we ever find it, we'll probably replace it with Python. That's typical of Bloomberg as a whole. We are enterprise scale, but we are extremely agile. And there's some reasons for that. Marketing gave me this slide, but it actually is kind of interesting. So 5,000 developers, 150 of them, for example, in machine learning, one of the largest private networks in the world. Our scale is kind of big. There's about 120 billion pieces of data going through our system, peaking at about 10 million per second, and they aren't all simple. Two million of them, as much as 500 per second, are news stories that are being digested, analyzed, and distributed from 125,000 sources. A billion of them are instant messaging chats, which is really kind of big. But moving on to our friend, the humble dot. The dot usually kind of sits there between our object and our attribute. And we go, oh, that's syntactic sugar for get adder or attribute name. Usually that's just going to go to dunderdict and index it and return what it finds, unless of course you went to Gordon's talk earlier when you know it doesn't quite do that. But we'll go a little deeper into some of the things it does and how. So we pretend it does this. We pretend it goes to the instant stick, but it could also go to the class stick. So we know it'll go ahead. It didn't find it in the instant stick. It'll go find it in the class stick. Here I put a value of 4 on the class attribute for y, and I can find that from any instance. Of course, it might not do that. It might go to the parent class. So here we have a base class for my object. I put t on the base class. I go ahead and get that from any instance, and it works just as well. But this is Python. And in Python, we have some more powerful tools. This is actually even older than Python 2.2. This goes back to the original object model in Python 2.1 with get adder. You call it. It doesn't find it in the instant stick. It goes to see if there's a get adder. It calls the get adder, says I was looking for this. Can you give me one? And whatever get adder returns, it returns. Now with get adder, if a value is set, it will no longer call get adder. So we can see that here. Once we put our into the instant stick, we no longer see get adder being called. On the other side, we have set adder. If we're on the left side, that is actually pretty simple behavior. If you call it, it does what it says. Now you will notice it doesn't update the dict, so you can disable anything being set onto your object by simply implementing a set adder that doesn't update dunder dict, which is what we used to have to do until they gave us get attribute. Get attribute is always called. That's great. When get attribute is called, you will be called whether they put something in the instant stick or not. So here it is. We access it when the instance attribute is not there. And we just get attribute is called. It prints it out. And off it goes. It returns any var. We put it on there with a p.s equals hello. And we call it. And it still gets called. But actually, get attribute is doing a lot more than that. Get attribute from object, which is where that code actually lives, is actually looking at what it found in the class stick. So we create this probe nd object. And we'll go ahead and make that a class attribute on my object. Now, it's z. So of course, we expect we're going to call o dot z. It's going to go up to the class. It's going to find z. It's going to return z. But it actually doesn't. What it actually does is it calls dunder get on the z that it found once it found that there is a dunder get there. Similar to get adder, if we put something into the class stick and here I've gone to the instance stick, and here I've gone ahead and done it directly just for clarity, that will be accessed and get attribute will not do the whole access on the class stick or will not run it. However, if you do as little as add a dunder set to that object in the class stick, the behavior of object get attribute changes. So here, probe dd inherits from probe nd and adds a dunder set. Now, if we take a look here, I'm putting a value for z into the instance stick. And then I'm calling o dot z. Now, we would expect from the previous behavior that it would not actually call dunder get because why would it? Why would behavior change? But the actual behavior is if you have a dunder get and a dunder set, dunder get will be called even if that attribute is in the instance dictionary. And that's what we're seeing here. It's there, but we still call dunder get. For completeness sake, yes, dunder set is called. It is called about how we'd expect. If we set a value, it gets passed into that function, and that function does whatever it darn well pleases. It does not magically put it into dunder dict or anything. I don't do that, so it doesn't get done. OK, so let's take a look at the eight things. We've got the first three things. We'll call them the simple lookups. We look in the instance stick, the classic, the base classics. Go ahead and see if we find anything wonderful. Then we've got the next three things, four, five, and six. We'll call those the old hooks or the simple hooks. Get adder, set adder, and get attribute. Get adder will be called if it doesn't find it in the instance stick. Set adder is just always called if you're setting a value, and get attribute is just always called. And then we have seven and eight, dunder get and dunder set, where we know the behavior of dunder get is changed based on whether dunder set is there or not. This is what's called the descriptor protocol. And the descriptor protocol is new in Python 2.2. OK, I don't know if we can still call it new, but they are officially called new style classes throughout the run of Python 2. In Python 3, we call them classes. The descriptor protocol in totality is these four functions, dunder get, dunder set, and dunder delete. Dunder get is called whenever you try to access that attribute. Dunder set is called when you set a value. Dunder delete is called when you delete a attribute. Does anyone actually delete attributes here today? OK, if anyone's not willing to raise their hands but still would tell me about it, I do want to know. Of course, we saw the subtlety with dunder get being called based on the presence of dunder set or not. And if you call a attribute at the class level, you'll get an object of none instead of an instance. There is one addition in Python 3.6, set name. This is very cool because now a descriptor can find out the name of the attribute that it was assigned to, which is terribly handy and solves many cases, none of which I'm showing today because I promised I'd stick to Python 3 simple stuff and not too cutting edge. Two names here. If you just have dunder get, it's called a non-data descriptor. If you have dunder get and dunder set, that's called a data descriptor. You can flip back and realize I called it probe ND and probe DD for a reason. Technically, you can write a data descriptor with just a get and a delete, but none of you use delete. And as I said, if you do, please tell me. So what is this used for? If you take nothing else away from this talk, what I'd like you to know is that this is not an obscure set of hooks. This is what makes method binding work. Every time you bind a method, every time you access a method from an object, the descriptor protocol steps in and does the binding. So here is a totally trivial class with a totally trivial method. And if we go and look at the class of the function, if we look at the class of that method, it is function. If we look at function, it has a dunder get implemented. If we access that attribute, functions dunder get runs returns a different object of a different class. Now the class is method that is what your bound method is. This happens every time you access a function from an instance. And this is how it works. So what else? Well, every variant method binding is using this. Static methods, class methods, and properties are all just let's bind functions differently, exactly where we would otherwise. So they just create a different class with a different dunder get that does what it needs to do. Frameworks love to use this. SQL Alchemy does it. It's hidden in the Flask config module. Any framework that you're sitting there going, I'm not quite sure how I would do that, or I'm not quite sure how I would do that without descriptors or metaclasses, is probably using descriptors. Maybe metaclass is two different talk. It's also useful for lazy execution, proxying, monitoring, runtime type checking is great to do with this. And of course, many other kinds of behavior things. Let's look at another couple of examples if we still have time, and I see that we do. This is one I wrote it up for this talk, and then a couple of days later at work I realized I needed it and put it into some code. So this is an alias descriptor. This is, hey, I have two names for one thing because I'm transitioning some code between the names. So I want to call them both the old name and the new name. So we construct it. We just give it the name. We just give it in its initializer the other name. And then we have a dunder get and a dunder set. If you do the get, we're going to go get the other attribute and return that. If you do the dunder set, we're going to go to the other attribute and set that. And that's all we have to do. There's one subtlety here, my choice. If you call it at the class level, I'm going to give the alias descriptor itself in case you're, I don't know, switching an alias around. That's a very common choice in descriptors. So usage code here, we have legacy x, y, and z. Store data in it, whatever. But then we're going to start calling them data x, data y, and data z at some point in the future. So we alias those up. And the behavior here, we construct one. We call it high pylendinium 2018. We can see data x, legacy x, both got high. You can't really tell from anywhere outside the class. We can see the value of legacy y, which is the actual value is pylendinium. And dc, data z, and dc, legacy z are the same thing. If we change the value of data x, it also changes legacy x. And it's an alias. It's working. Take another one, defaulted method. Hey, guys, let's implement class methods differently. Instead of class methods working on class objects, how about if we just create an object, if you call it at the class method, at the class level. We'll just run the initializer and make one for you since you didn't give us one. That's probably a horrible idea, but I implemented it. Just to give us an example of a non-data descriptor that's playing with binding. So in this case, for the initializer, I just need the function because this is both a decorator and a descriptor. We grab the function, we store it away. Fine. When Dundergit gets called on us because we're sitting on the class, if we were not given an object, then we're going to go ahead and create an object. And just to give you a different example that is totally equivalent, I bound this up with a partial. Do not use that in a real code. That's just because I thought some people in the audience might be more comfortable seeing a partial do the binding. The proper alternative would be to call Dundergit on the function. And then if I was given an object, I just called Dundergit from my own function and returned that. So we implement it. We have name printer. It stores the name that it was given. It has two functions, name print and print name. They do the same thing. They print the name. If I construct one and I give it my name and I call both functions, they both do the same thing. Code works as advertised. However, if I try to call them both without giving them anything, then the first one will work because it will hit defaulted method. It will go to get. It'll construct one and then it'll call print name and it'll have an object that's fine. The second one will not work because that's a normal method being called at the class level when it's an instance method. What do we have? Oh, perfect. Wonderful. Because this is the point where I really like to have questions. Do we have questions? You got questions? Who has a question? So really, eventually, what get attributes was needed for? This is the big question that was left from the previous talk. So why there was the need to get attributes? So actually, in order to implement descriptors. So the bindings in the old style classes did a number of special, this is only a function thing. This is only a class thing. This is only an instance thing in order to bind up functions. When they said, hey, let's clean this up and make this a normal, regular thing that can be done in other ways, like class method, static methods, et cetera, then they had to kick it up to something that could do that kind of change. They implemented object to get attribute, and then the rest flows more or less out of there, as well as I understand it. Thank you very much. It's very insightful talk. So when you mentioned that when we call a method within an instance or a class, it always says, one of your slides, you said, when we call a method or a function, it always binds it, or there's a slide mentioned that the class always does that before we actually execute the method. So can you find a little about what it actually does? Sure, sure. Let me see if I can flip back to that slide quickly enough to make it matter. So that should be this one. So method binding, this slide. So method binding, in all cases, it binds the method through the descriptor protocol in Dunderget, and then it evaluates what it got. So I've broken it up across two separate cells here. So I bind it here, and I execute it here. But even if I move the parentheses up here, it still does this operation, gets this object, and then executes on it every time. Does that clear it up? OK. Hi, thanks again for the talk. Could I just quickly label that point of the getatter and getattribute? Am I right in thinking that you're saying that the getattribute allows you then to include descriptors in your calling? Or is that something else? Getattribute is what actually calls and implements the whole descriptor protocol. So getattribute actually does it? Does the actual descriptor call? You can check the source code for subtleties on that, but at that level of abstraction, can we get a mic over here? I recently had a use case for accessing my snake case attributes using camel case. Can I abuse the descriptor protocol to do that? Well, you could use my alias descriptor if you wanted to alias them individually. That you could absolutely do. If you wanted to, say, make something that generically anytime there's a snake case that you can't find or anytime there's a camel case you can't find, then do the search. That you would do in getattribute override. We have another question over here. Yeah? You said that getattribute looks in class.dict. Does it actually use class.dict? Or is it calling getattribute on the class? It's calling. That's a good question. Getattribute, because if it's calling getattribute on the class, then you could do tricks into the meta class on it. But a lot of these accessors do bypass that. I'm honestly not sure. I have not tried mucking around with that level of the search because did you have a use case for that? Oh, I was hoping you did. OK, I may have to play with that. That sounds like fun. All right, well, that's all the time we have for questions. I think Andy will be here for the rest of the day if you want to catch up with him, or maybe Andy and Gordon together. And we have lunch right now on seven. And I've been told there's two cues today, not just one.