I can hear them from here. Here what? The Lash Technicians come in to drag me in the comment section. Hey there you guys. Yes. The first thing I'm gonna do at this table is the same thing I've been doing, which is forever on a quest to become the most beautiful person that has ever lived undisputed hands down. So I am a YouTuber. First and only of my kind. I'm rare, like a dragon. Right, Julian?  Go on. You scream loud. Before all of the Lash Technicians drag me, I will give a disclaimer about what I'm doing right now. I bought one of these Ardell Lash Extension kits. Now technically this is called tabbing because you're putting these little knots and not individual lashes on. And it's also, I think, it's not like the same kind of glue that a Lash Technician would use to adhere your lashes professionally because they apparently need to be like separated and like done really nice.  I think this is kind of for people, well like me, right? So you glue a strip lash on occasionally, but like sometimes I just like them to stay on for a little longer than that. But this is like, stick them on, see how long they last.  So I will never be using that. I will only be using coconut oil. I'm gonna wash them and treat them the same as like a Lash Extension because I have had them once before. They were lovely, but the woman was like, text me when you want another appointment. And I texted her and she just never texted me back. So I took that very personally. I felt like she just didn't like me. So I let them all fall out and never did that again. When you get ghosted by the Lash Technician. She ghosted me. I sat there silently. Lash Technicians be like. Plus, if it has controversial reviews, give it to me. I can't wait to try it. Does it burn your eyes? Does it hurt them? Give it to me. Wait, what?  I'm like that friend if they're like, I think there's a bear over there. I'm the one that's like, let me go check. I will say my experience with individual lashes is incredibly limited.  I'm literally gonna read you the instructions. There's almost nothing on here. It says pour two to three drops of lash adhesive on a piece of foil. Drop it into the glue and then put it over your natural lash. And then the next step is how to remove them. The medical grade glue or whatever a lash tech uses like your eye needs to be closed because it like, the fumes will hurt your eyeball. This does nothing about keeping your eyes closed or anything like that. So I think this is definitely like a lower grade. I bought this at the drug store type of glue. Going to get your lashes done is pretty expensive, which is like my whole thing, right? If it's expensive, there's gotta be a way to learn how to do it and do it yourself. That's why my hair be looking so great. Like I said before in my disclaimer, I think this is sort of like a, you do it once in a while. I don't think it should or could replace like a a professional lash. The glue won't come out. All the glue, so. This is not. Globy like. Julian, do not. All right. So my lashes are very clean and dry. I just like triple check them. So this comes in a pack of short, medium and long but I also bought like a ton of extras because I didn't really know what was going to happen here today. I've also read that less glue is better because apparently it might dry a little crusty. Oh, look, I just put a lash on. Damn, you found a way. So I pushed it in there and then that gave it a squish. What do you think? Are we done here? I literally see no difference. You know. What happened? Wait, why are you wapping? They look like they're crossing their fingers. One already came off and all I did was just like breathe. I don't understand. Wait, so is this one done now or should I try doing it again? I don't know the rules. Oh no, no, that one's coming off too. So far, this has turned out to be a challenge. It's not stuck. All right, maybe I need a little more glue because these aren't, they're not stuck to anything right now. I mean, to be fair, this glue wouldn't really come out. So, oh, there, oh. There came out. When life is glue. Julian, I need you to stop it. We're starting over. I got a lash. I'm going to dip it in a little glue. Look at it. I can't get it straight. Now it's upside down. What do you want me to do? I'm trying to put tiny eyelashes on my face. Oh no, this doesn't look real, but can you even tell? I got a macro zoom lens right here so I can see. Oh God. Like every single one has to be like straight and pointed out. Like it's almost impossible. Look at this one.  I'm not sure I've done anything more like tedious and frustrating in my life. All the YouTube videos that I watched were all like, so you just take your tweezers and you put it on your eye and then it's done and you put it on the lash. Is that what a YouTuber sounds like? Uh-huh. Well, so far it's been an hour. Julian, don't remind me that I waste my time. I don't think that one's going to stay. It's got an agenda, but it's like looking at your nose. I thought I was going to be able to do this. Stop. That's kind of pretty, but like it's not very good. Let's move on to medium. I feel like I'm getting a little better.  I do remember the one time I got lash extensions because I have like sad lids that go like down really hard and then the corner ones just always just look real sad and out, you know? That's not a good look, but that's my look. You dropped something on your cheek. You dropped something on your cheek. I just put that one straight into my eye. Oh, they're looking okay. Like in the- When you lower your standards. Julian, come on. I'm trying my best. The corners are definitely the hardest. They like misbehave. Yeah, that one on the left is not doing what you told me to. What, this one? No, my left. The stage left. This one? Don't stage left me. I feel like this is kind of time consuming, but like I feel like it's worth it so far, no?  It's nice and hairy.  No, no, no. You're not allowed to do that. I wanna run my fingers. You're not allowed to do that. I wanna feel your eyes. Is it too long in the middle? I mean, I can say that I am having a good time. Like the glue- Definitely, me too, me too. Oh, that actually looks like not that bad. Really? It lasts longer than if you just glue a strip on your eye. Well, a strip is like you take it off at the end of the night, but these apparently it says can last for weeks. Is that too much? Do I look extra? Cause I have the too much gene and I don't know when to stop. No, it looks good.  I'm not having any of these like people were saying that they didn't really stick or like that the glue is irritating. Like I'm not having any of those problems. I am having a great time right now. Can't say bye, I love. I think that looks really, really nice. Yeah, it looks less cookie cutter than your average like line of lashes. You can tell when to wear the line of lashes. I'm saying like it has more texture. It's like up and down a little bit. It's nicer. It's like more volume, more character. Stop looking at me like that. Maybe in the morning, I'll give you an update on how just like a night goes. Cause I feel like if they make it through the first night there's a chance that they're gonna stay on there and hang out for a while. But if they can't make it through a sleep, they're not gonna last. To be fair, this was my right eye. I am right-handed. It stays last for those only days. It's about to go down. So you do the easy one first when you procrastinate your problems. Hey. Oh, I wish I didn't have a nose. It's like a puzzle that doesn't want to get done. Those lashes remind me of like the Zypheron Zypheron bag. Compliments like that aren't compliments. You know why? Why? Because I'm looking at a snack. I take everything back. Okay, I just mushed two of them into one. Like everything was going great. I have like one good eye. Right now is the moment when the going's getting tough. But we just, we gotta focus. We gotta get our left hand ready. What if I got my left hand ready? Da, da, da, da, da, da, da. It's completely stuck to the tweezers. Oh! I think I might be gaining some momentum. Stage right is coming along. Stop calling my left eye stage right. I've never needed as much patience as I do doing this. Takes the patience of a Virgo to get the left eye done. It's not looking too hot right now.  I just want to jam it into my eye at this point. There's a gap and then a traffic jam. But it doesn't look awful. Yes it does. It just looks a little more confused than what the stage was. Everybody's going to know I did my lashes at home. I don't know if I can make it. I don't know if I can do it. They're all tipping the wrong way. Oh my God, how is anyone supposed to do this?  I can't strain them out. They don't care about me. Oh my God. It's like, it's getting worse. I need encouragement! You can do it. Like the root, like this one, all the roots are super even and clean. And this one, they're just like everywhere. But it looks good. I've never been tested like this. Will you encourage me? You look great, you look hot.  I don't want to be a lash goddess. I want to be done with this. Honestly, I understand why this cost hundreds of dollars. This is the most annoying thing I've ever done. It looks good. You're doing really well. So infuriating. Especially for a Virgo like me who needs everything to be perfect. I'm very angry. Ow! What? I squeezed my eyelid and now my eye hurts. I feel like it's taken my soul with me. These ones are all over the place. These ones are gonna fall off for sure. Ooh! Ooh! Honestly, a longer lash actually helped a little in there. No, it didn't. Oh! Is it like passable? I'm not even lying, it looks good. The internet is gonna disagree with you and then go roast me. Came out clean, it came out nice for the most part. Like the lash line is even, it's pretty. And this one is like, you can see all the knots, all the glue, just everything is everywhere. They look identical. Who they doing? I thought you were done. So did I. This eye, I can already feel like some of them don't feel as adhered as the right eye does. I'm a little disappointed for all the amount, ow, I squeezed my eyelid. For all the amount of people that do these types of tutorials on YouTube, they're all, most of them are just like, all right guys, thanks so much for tuning in. I'm done. And they're like perfect and amazing. Where is your struggle?  They feel like individual lashes. So they feel like lighter. I thought for some reason, maybe if this glue was like more heavy duty, it would feel different, but it really doesn't.  Yeah, for sure. I mean, they'll flap in the wind big time. But I mean, I'll at least wake up in the morning and show you what they look like then. Cause I have a feeling we don't- The social media? No, in this video. Cause I have a feeling we're gonna lose some men in here and in here. And then this one's just gonna stay like this. I don't think these ones are even gonna make it through the night, some of them. They just struggled their way on there. That's sort of like a deal breaker for me. If like I can only successfully achieve it on one eye, then like what's the point?  Ambidextrous people be like, I can't relate. This was very inexpensive, but if you're skilled at individual lashes, maybe this is a thing that you could do for like, if you had a week that you wanted to have pretty lashes for. If you don't know how to do that left eye, or if you're left handed, you don't know how to do that right eye. I'm not sure this is a worthy endeavor. My spirit is tested. I was broken halfway through.  Yeah. I'll check in with you in the morning and we'll see how things are going.  I feel dehydrated after I did this. It took way too long. And I don't want to tell you how long it took, but you know what, I'll check in with you in the morning. It's the next morning.  We played some video games and my eyes were starting to get so irritated. Even this eye, which I thought I had done so well, all of my user error started to just bleed out. And I could really feel that one is like, too close to my lash line and is poking me. There's also, I don't know if you can see, I don't know how close I can get you, but all of the white crusty that people are talking about in the reviews, I am experiencing, even though I truly believed I would be in the minority and not have this happen to me. It's not super visible unless you were very close to my eye, but it is still irritating. But I mean, they're holding up pretty okay. They're not supposed to get them wet for at least 24 hours. So I'm gonna give them a fighting chance and not get them wet for 24 hours. But they do definitely, like, if I touch them and move them, like, some of them you can tell are really just ready to go at any second. So I think the first time I get them wet, we're gonna lose them good men. I really feel like these are an alternative to strip lashes. They're not an alternative to lash extensions. Like, even for the comfort of your eye, unless you're very skilled at placing them, which I know some people are. This is just like, it's really bothering me. Like, this one hurts a lot in here. And I have the urge to just rip them out, but I'm trying really hard. I'm really starting to feel the consequences of my decisions on day two, you know what I'm saying? But I think you know where this is going. I think the answer is, this is probably not something I can DIY. Probably leave this to the professionals and or just stick with a strip lash. It doesn't, I'm not feeling good. Some of the stuff I've been able to DIY and been like, you could save a bunch of money. This is so much better. This time I just failed. But I don't think it's this product. I think it's my ability to create this look in a way that's even good for your eyes. What's so funny? Your face. It's only been like however many hours and more of them have come out. Do they look crazy? They look good, but it doesn't seem to be functional given how much mental trauma and emotional distress it's giving you. But I want them to be beautiful. I think I'm gonna get some coconut oil and have a funeral for them. I feel like I can't see out of my eyes. My eyes are irritated. Gonna go ahead and gloop this on here. I'm sure these are great for someone, just not me. Is this why I'm not allowed in the beauty community? Cause I'm too threatening with my beautiful good looks that I achieve at home for less. I just, oh it feels so wrong. I've met my beautiful people match. I don't wanna pull them cause I don't want my real lashes to come out trying to salvage what I got left. I didn't even make it a full 24 hours. I just wanna be beautiful. There's like sharp chunks of glue in here. I can feel it. I'm not sure I've ever felt more uncomfortable than I do right now. Bad. That's really, I know that you're coming from a good place but it's not helpful.  Ah, I'm free from the prison that I created around my eyes. Well, I think we've learned a lot. Most of it I guess didn't need to be learned but we learned regardless and that's all that matters. Have a new appreciation for my natural lashes. I hope that they stay. I like them very much. I will never wish they were longer and thicker and fuller ever again except when I wanna glue on a strip lash that's probably about it. Or go to a professional. This is just not within my capabilities to hack. This isn't a life hack at all.  If you wanna relive this experience for yourself do so at your own risk. This has been my experience. Subscribe.


So, my name is Bozhan and in this talk I'm going to present how to build Debian-based embedded systems or products using Debian and BitBake. So, the plan is our motivation where we started, why we developed the whole thing at all, a brief introduction on either how we do this. There are a couple of slides about the mechanisms, I don't think we will have time for that today, but I included this for a reference so that you know what to look in the documentation and a couple of news since our last presentation on embedded Linux conference. Okay, so where we started, we wanted to build a product and we knew that we are going to use Debian as a base system for this project. Actually, this was back in 2004 and I don't remember whether open embedded existed at that time, at least I was not using it then. So, what we needed, we needed to have a Debian system and produce complete bootable file system and firmware images. So, it means including U-boot and kernel and so on. There should be binary Debian packages used and there should be our own application packages that are going to be included on the system. What we also wanted is one command on demand image creation and what we also didn't want is to touch every upstream package and at the end, after this is a product, we want to build an older version of some snapshot afterwards. There are some further requirements on how to handle the whole thing. So, we want to be able to customize upstream packages if you want to. We want to build several products from one repository because they are, for example, similar or share components and we also would like to incorporate upstream code from software or hardware vendors in the repository and we have to maintain this for at least 10 years. If we look today at the existing art, basically we have binary distributions and source distributions. So, Debian is a typical binary distribution where you get pre-compiled binary packages and you can use them right away. Yocto, on the other hand, is a typical source-based distribution where you get the whole sources and you have to build them yourself first in order to use them. So, I'm not going to go through this whole table and also please don't take it very literally, it's really an over-simplification to give you a feeling in which direction every project goes. But to summarize, Debian has many standard tools. It's tested as a whole distribution, which is important for us. It has clear licensing, long-term maintenance or relatively, depending on the definition of long-term, and fits small products or the whole product's lines. Regarding Yocto, in Yocto we also have clear licensing. We have BinBake, that is a single command integration tool, which is very flexible and efficient. And we have collaboration policy in form of layers so that software pieces could be grouped together according to some criteria. Also, last but not least, one difference between them is that Debian focuses on certain pre-selected architectures. For example, if you take ARM, then only two of them are currently available. And with ARM CPUs, you have a wide range of optimizations that could be important for you. So, with Debian, you only have two grades of freedom, whereas with Yocto, after it is source-based, you can fine-tune your build for your required CPU capabilities. So, what is Ether? It started 2004 as a bunch of shell scripts. Of course, with the time, we saw that it's very difficult to maintain it and we switched to BinBake. First off, Ether is not a distribution and is not a distribution builder. So, we just enable to use Debian distribution as a base system for our product. And we have some mechanisms to build our own applications and install it into the firmware image. And we also like basically the structure and workflow of the Yocto project, how they organize their directors and we also use this in Ether. So, this is what we do and what we don't. Basically, we reuse binary packages from Debian because they are tested because they have security updates and because we don't want to rebuild them every time. And we use BinBake, the tool behind Yocto to bring the whole thing together. Like in Debian, we have distributed source repositories and like in Yocto, we have centralized metadata repositories.  This means we try to really reuse Debian packages and only where we have to, then we modify them or build our own applications. So, this is an example how we did this in this particular product. We used Debian packages as is. We modified some small amount. We built with them once and saved for future use. So, we use them also pre-built. We also built our own U-boot once and used it as a binary. And the rest we rebuilt every time because it changes often. This is an error also in this slide. U-boot, we don't rebuild U-boot every time. I took it above. So, kernel drivers, libs and applications, we rebuilt every time. So, how does it work? Do we have a pointer? No, we don't. Okay. So, first, we create a build change route. This is a change route. It's a Debian installation where we build our packages that are needed, like our applications. Then we build, actually, build these packages there, like in this example in HelloGit, in this build change route. So, this build change route in current implementation, it is an ARM change route and we run it with QEMU and build the packages with standard DPKG build package tool set. After that, after all packages are built, we call multi-strap again to create a root file system. Then we install the packages that we built there and create a bootable, complete firmware image, containing also U-boot, kernel and root FS. So, these are simple five steps and they are all incorporated in one command, like we know from Yachter. So, how we build images, we clone our repository, we initialize the build environment and we create an image. So, if you look inside, basically, the whole thing consists of five files, so-called recipes, and these recipes do each every small step, like build change route prepares the change route only and HelloBB is responsible for building the Hello application and user image base and debug are recipes for building the whole images. These recipes consist of tasks and order, build order is defined by task dependencies and performance is achieved for one hand on using binary packages and on the other hand through parallel execution of this. The whole thing is organized in two layers. The layer meta is a core layer and it provides basic functionality like build change route. And meta either is the product template layer so that you can copy this template to your own project and modify files there. So, this is how it is organized. You see here two metas. The meta core is going to be pulled from time to time from our site when it is updated and your meta product you modify it once and maintain then you don't update it. And you see that your application Hello and your images are in your meta product and here you can see for example dependencies between the tasks which define the order how the whole thing will be built. So, how you create your project? You clone either, you push it as your own repo, you define your product images, add packages and add boards. Images are defined in their respective recipes so that you have a copy of your product recipe and you can customize it. For example, if you want to install more packages in your target router first then you say you modify the image pre-installed variable inside it and say okay I want to have apt and I want to have open ssh server and so on. You also might want to provide images with more functionality for example for two different products or for debugging or development tools. In this case you just include the base image recipe in another recipe and add additional packages to image pre-installed like gdb or else of all strays and so on. So all variables in these recipes like bb and also configuration files are added to a single global namespace. Often there is a question why not use a single configuration file? The problem is if we want to build multiple products that share components then if we use single configuration files then we are going to repeat ourselves. This is the problem and that is why this modularity and that is why we have to find a suitable place for that. Now in the long term we want to reduce the number of configuration files and to organize them in some way maybe we need a GUI. We have to get more experience with that. So adding packages basically you should have an own project or application repository and it should be already Debianized. After that you create a three line recipe for that referencing the URL of the repository and source revision and then you say inherit dpkg and this makes the whole thing built. For now we have to list the dependencies of Debian packages here in the recipe again but we are looking for solutions how we can add building DSC files directly from a bit bake backend. Finally you have to add your application package name to image install in your image definition file. Also please note that we don't port all Yocto tasks here we also we only have those that we need and at the time those are fetch and build. For a board definition it's called machine in Yocto consists of settings that are necessary to bootstrap Debian and get a root file system. So what you have is a reference to the machine file. It's QMO arm is really the name of the QMO arm conf referenced below and you have distro Debian jc. It's also a reference to a file that defines the Debian jc distribution and distro arch is arm hf which is the architecture Debian architecture name and in QMO arm you just list the kernel image and internal day image and pre-install packages that are necessary to bootstrap the root file system and here is the example of distro definition files so that you can install the right suite with right components from the right app source and afterwards configure it with a certain configure script if you need to create some device nodes and stuff like that. So for effective collaboration we want to organize codes in different directors because once we put them into these directories it's not finished. In a few years we have to update these files with newer versions and this is where layers are useful. So we define different layers usually by vendor or by company or by division and define split also products in their own layers so that every layer has more or less its defined life cycle and update cycle and so on. There's maybe basically in one central repository or distributed in different git repositories that it doesn't matter and you can use tools like repo for example to clone all repositories. What is important is that these layers have only to be listed in the BB layer conf file and that's it so you have after you create these layers you list them in this in this file and they are then included in the build. So one common use case is overriding an upstream package for example with custom configuration or modifications. So a quick and dirty way for doing this is just to hack this in image recipe. The right way that we follow is to fork the respective package but of course this means that as soon as you have one line difference in init tab you have to fork the whole sys5 in it. So our vision is to have a recipe that can override the default package with some patches and then that it will create the source package and the binary package for that but this is not implemented yet. So this is for the reference. We can return to them if there are questions regarding that. So what's new currently in the development branch? We have added we started with ARM support. Now we added Intel support. We had some issues with Jesse that are now fixed and we also after we have done U-boot and in general boot loader installation manually in the recipes we are looking at image creation with WIC which is Yachtos tool to create images. It has some a number of dependencies and we are looking what would be the right way to incorporate that in ISR and we also have numerous documentation fixes. Okay, so to summarize we tried to combine the best options that we see and Debian provides a stable tested distribution with security updates. Yachto provides BitBake which is very flexible and efficient. We provide the template repository that you can use right off and you can use it as a template and modify for your own product and the whole thing after you get running you want to work it fast and this is last and not least why we developed this system. Here are the references so we are on GitHub. Manuel is in the wiki and for mailing list we decided to abuse Debian embed it for now till we have great much great amount of traffic and we could move anywhere else. Well that's it for today. Any questions? Yeah well actually sorry in Yachto there is a possibility to generate SDK. Do we do this or don't we need this? Well I personally don't need this but what you get is actually in the first step you get a complete build truth that you can use in a virtual machine or you can use it in a changed environment. So we could provide a BitBake shortcut to carve this so that it is like an SDK that I can hand over with one file to a developer and that they can use it. Basically technically the answer is we provide it but not in the form that people are used to in Yachto community. We could think about adding this syntactic similarity so that people find stuff where they expect it to find. The same is also for DevShell so you basically change root into the build truth and you get the development shell. We compile the kernel or something like this. Generally we are using GPS but we have a package it's called QMLux so because we have problems with the performance does it have the same problems? Well actually as we started we used the question was excuse me whether we had problems with QML performance for building kernels and whether we provide a QML axle package to mitigate these problems. The history is we started with cross compilation in a native system so the build truth was not really an arm truth started under QML it was a native Intel change root and it ran natively but you had to cross compile your kernel package so this means basically you don't want to reuse your Debian kernel in your product that is why you can hack a small kernel package for you and cross build it this is not a big deal so this is how it started. Now we had a hard requirement from a customer who didn't want any cross compilation in their system and they insisted that we ship this with an arm build change root that is built under QML and this is where stuff gets slower so to answer your question today we haven't looked at QML acceleration we might look at that however if you need performance then my suggestion would be to go to native compiler to get it cross compiled. Okay so we have two minutes or okay okay so we we don't have time but I'm available here if anyone has questions then please contact


116.7 per 100, way too much space for Al Horford. Horford now deeing up 80 and doing it well and cleaning the glass himself and running the floor. What can't this man do at 37? Basin Tatum, 0-3 from the floor, 0-2 from distance, white with the hot hands to poke it away from Henderson. 3-on-1, it's Jaylen Brown and nifty sidestep and a timeout blazers. Snakes that ball screen back and the lane floats it and pouring that right on the head of Dwokry. Richard matched up with Baton Leeds at Furtatum on the two-hand flush. That's the screen here at Furtatum. Took a peek at the rim. The hit! The king of the follow again. Give him something, Luke. He's going to be the man here. He is the man right here, right now. Moving forward, he's going to be the main guy. JB with the magic left hand. He took a peek at it. Yes, sir, Jaylen Brown's got 15. He looked down at it like he had that glove on. Like we're at Indy for the dunk contest. Henderson, a little bit wrong on the three. Richard emerges with it. 4-on-1, showtime! Jay to Jay. He's got a plus rating in every game, an average of plus 16.3. Orford denying the pass from Henderson. Now, Kamara draws the Tatum assignment. Takes him to the dance floor. Morgan defense. Wow, what a fine Tatum to Percent. When asked if he called bank, he said I called game. Counts it on the less. Houser with the steal. Leads it for Pritchard. Gets it back. Yes, sir! Smoney from the corner. And the Celtics have cracked 100 with 8.38 to play. Right on the floor, Orford on the finish. And the Celtics match their largest lead of 19. And pretty soon, we should be hearing, let's go Celtics' chance from this Celtics crowd that's here. This Celtics crowd that's here is sizable. You guys are Orford out to Houser? Thank you, Richard. Peace out! Howitzer is overheating here in Portland tonight. Celtics highlights are presented by Metro by T-Mobile.