Alright guys, I'm going to go ahead and get started. My name is Chris Moore. I'm with the PCVSE project. I'm the founder and lead developer and I get to hack on that all day. So that's a lot of fun. I like my job. It's cool. The talking thing at conferences is not so much, but you know, bear with me and we'll get through it, okay? But today I'm going to be talking about the Warden and what it is and what's coming in 9.1. What's new, features. We're going to go through some command line functionality of it. And then we're going to take a break, go to the GUI and actually show you how with the couple clicks you can do all the same stuff. Those long commands could have done for you. But first of all, what is the Warden? Well, let me give you a little bit of history about it. It's a jail management utility. It originally shipped with PCVSE 8.x as an add-on. It wasn't included with the operating system. It had a GUI and a command line interface, very basic.  I mean, it really wasn't that impressive. It was more just to get the GUI and the command line working together as a starting place. But I always knew there was going to be a lot of new stuff we wanted to put in here eventually. And when 9.1 started rolling around, we finally had time like was able to dedicate a couple months to sitting down and adding some new features. So we're going to go over what some of those are today. So new for 9.1. First thing is it's no longer a download add-on package. It's built right into TrueOS and PCVSE 9.1, which will be coming soon to download near you. For those who don't know what TrueOS is, on the PCVSE DVDs, starting with 9.1 when you grab those, traditionally we've always had the ability to install PCVSE and then Pre-VSE. Well, we've now added something called TrueOS, which is our other server offering.  So we're not taking anything away or changing it too much on you. We're also pitching it, especially the Linux system developers or system administrators, and we can, you know, give them utilities like sudo and bash out of the box. And we've got a Linux show, and they're so excited when they hear that. They're like, wow, I can run PreviousD and get my sudo, my bash, and then run ZFS, and how cool is that, right? So we're seeing some really positive signs talking to a lot of Linux guys about this. But anyway, for the Warden again, it still includes a full command line graphical interface, so that hasn't changed from the previous. It's written 100% in shell for the back end, so real easy to look at and hack on. And then the graphical interface is a C++, Qt4. And one of the cool new features is that ZFS enabled, and we'll talk a little bit more about what that means in a moment. Also for 9.1, we've added support where you can do now multiple IPv6 and V4 interfaces on one jail. Of course, we still have support for importing and exporting, which is important. We'll talk about that here in a minute. For the GUI, we've added a lot of new graphical utilities. Here you can manage packages graphically, updates, users, start and stop services graphically. Again, if you're somebody who has no idea about FreeBSD services where they are, you know, Linux is admin, this is really cool for you, because you can now get up and get a jail running with a few clicks without having to know the internals, and then you can dig in as you have time. And we also have support for multiple types of jails, and we're going to talk about that here in a moment as well. And we can import jails from custom archives. If you're a FreeBSD server administrator and you have jails already, we can then import those into the warden if you want some of our nice functionality that we offer. Again, graphical package management, we can do some basic statistics on your jail too via the GUI and the command line just give you an idea what's going on. But one of the things I want to talk about really quick is this idea of multiple jail types. I know you're all familiar with what a traditional jail is on FreeBSD. That's what most people are running. There are two others called PortsJail and LinuxJails. Linux, you can guess what that is. But the PortsJail first, it's FreeBSD jails again. It does a few special things, mounting user home and temp into the jail, copying your Etsy password file so you have your users in the jail. But what it's useful for is if you want to run a sandbox where you can set up a whole other ports tree, you know, do development ports if you're hacking on something and you don't want to mess with your running desktop or your running user local base, you can now have a sandbox location where you can run the Xapps right out of that jail as your user account and actually they're functional and work really well. So I use it for development. It's been pretty handy. It's a feature we had in PCBSD 8, but now that it's in the ward you can have as many of them as you want. So you can have as many development projects rolling at a time and not have to worry about it trashing anything on your box. And feel free to stop me if anyone has questions. By the way, I love chasing rabbit trails. Why is it called PortsJail? On PCBSD 8 we originally named it that because we have PBIs of course for the base desktop and then we encouraged users to install their ports collections in this jail so that they wouldn't go and accidentally remove libpng and then not be able to boot into KDE or, you know, have some disaster happen. So it was a safe place to go and run ports. That was the idea. And so we just kept that name because it's familiar to our community so we'll introduce that to you, but that's what we mean when we say PortsJail. Now the Linux jail, okay? Obviously we're talking about Linux inside a jail where it should be kept. It belongs there. What we do right now is we can install Debian or Gen2 inside a jail. It's still using all the ZFS stuff under the hood, all the functionality the warden provides. It includes easy to set up distro scripts so we're by no means limited to these two distributions. Those just happen to be the two easiest ones that I picked to put in for 9.1. But those scripts which populate your Linux jail are user configurable. You can specify it at the command prompt which script you want to use to load which distro. I'll just give you a brief example of what one looks like. So with our Linux script for Debian, for example, there's a cool utility in the port street called Debootstrap. I don't know if you're familiar with it, but essentially just say give me a release and throw it in some directory and load Debian for you and put it in a charoot directory, which in this case is going to become our jail. And then our scripts will usually do some cleanup. There's some stuff from running Linux in a jail we got to do.  But again, these scripts we're hoping to get users to help contribute them. So if you have some Linux distro you need to run in a jail because there's some cool app you need there that they don't release source for. We don't have a port for. Please feel free to write stuff like this and send it to me, and we'll include it in the next release for you. So you don't have to maintain it. We'll start taking care of that for you. Now the ZFS support in the warden. So what have we done with ZFS? Well, first of all, it's all automatic. There's zero configuration for ZFS. All it needs is ZFS on your file system. So if you install PCBSD or TrueOS and click the ZFS option, this will just be enabled out of box for you. It'll go ahead and detect your pool name, et cetera, and use it for all the right commands. Of course it does snapshot creation and management of the snapshots. We now have scheduled snapshot ability, which I'll show you that in the GUI here in a little bit. It's easy to clone snapshots. If you're in the GUI again, one click, your snapshot is cloned. You may now go view the files on it. And of course we can revert back to previous. So it's got all the pretty typical ZFS stuff you'd expect. So at this point I'm actually going to show you what some of this usage looks like. So you can get a kind of an idea of the syntax. Again, stop me if you have questions. I'll be happy to explain why things are the way they are. Or if you have suggestions, I love hearing from users what can we do to make this better, because I want it to be the best it can be. So first of all, this is in a TrueOS box. I'm sorry the font's a little grainy. I just took screenshots. But what I'm doing here is I'm just running the command warden. That's the main command for everything. And you just pass it a variety of flags. In this case I'm telling it we want to create a new jail. In 9.1 the jails are specified by IP address. So that's going to be your unique name at the moment. I'm hoping to change that a little later. But I'll talk about that in a bit. Yes? Yes. Well okay, I'll let you know here. In a moment, so next thing is the host name Tjail and then the dash ports flag says we want ports. But as you pointed out it says it's installing world. In this case what it's doing is on TrueOS and PCBSD it'll go out to our mirror or whatever your default mirror is and fetch the world environment automatically for you. So it's going to grab it from our FTP or HTTP server. It'll save it somewhere on your hard drive so that you can quickly make other jails later without having to re-download it. And that'll be based on the release. So it'll be 9.1 if you're running 9.1. Like your custom world? Yes. There's an option in the crate flag to specify your own archive that you can roll and modify and customize it any way you wish and then say this is what I want to use to populate this jail. So yeah. Yeah. You can have multiple IP addresses on a jail so I could create this jail and then give it a few other IP addresses later or IPv6 or whatnot. But the IP for that jail has to be unique, the initial IP. That's just the way we have done it for a while. There's some work going on to change that especially for port jails because we want to change it where you don't even need an IP address. So that'll be changing in the near future. But at the moment it's by the initial IP address. That's the way you reference it. And you can see it's just gone ahead and created it in user jails so standard location. In this case, again, same command. I'm just giving it the dashboard jail flag and again it does all the work in the background to make a port jail sandbox for you.  This is a little more complicated. We're going to go ahead and give it an IP and host name. We're going to feed it the Linux jail flag and then we have to give it the name of the script. So that's where our default scripts are. So in this case we want to do Debian 6 squeeze. And then I truncate it because it does a lot of stuff here. But at this point it's running that DE bootstrap utility. It's downloading, putting it all in the jail for you. And that's where you can supply your own script. So if you want to do something for Fedora and you have a way to fetch Fedora easily or having it sitting on your drive somewhere, you can script that in and say, this is going to pull my Fedora into this jail. And again, please share those with me if you get them because we want to include them as well. No. Okay, so the question was, you know, the jails are not hypervisors, so are we loading Linux kernels? So no, it's not running a Linux kernel. You're still using the FreeBSD. We're using the Linux compact layer for this.  And hopefully more of those things get ironed out over time. I can tell you this has been pretty popular when I talked to sysadmins that are running Linux now and absolutely hate it because they want to use ZFS and ButterFS as nowhere near close to being ready for them. And so as soon as I say, oh, yeah, you could just run that in a jail on ours with ZFS.   Like, this sounds really cool. And they're like, I don't need a Linux kernel. All they need is the user land half the time. They just want some particular app to run in there. So this will do it for them. After we've set up our jails, I've just created three here. Referencing them is really easy, just the warden list. It'll give you a quick, you know, IP list here. What's there? Whether it's set to auto-starve, status, you know, they're all stopped at the moment. And then of course the type. So you can quickly look and go, these are my Linux jails. These are my standard jails, et cetera. Starting, very simple. Again, we're trying to keep the commands easy here. Just warden start, then the IP address. That'll be the unique identifier, that ends up being in the future. And again, stopping, same thing. It's going to go ahead and run the start and stop scripts there. Now logging into the jail. So we have a charoute command, which is actually running jail in the background to log you into the jail. So you can execute that, and it'll dump you into your jail session. See here. Oh, and this bottom example here, I've charued into Linux. That's all I did. So that's what it was identifying itself as. Also, optionally, I don't have it on a slide, but if you give it another argument after the IP address, a command you want to run inside the jail, you can do that too. So if you're in a ports jail sandbox, you can give it user local bin Firefox, and it'll just fire it right up on your desktop, just like it was a local application. So what does this look like? What's it doing in the background? Well, and user jails is our default location that's changeable via the configuration files. But after I've set up these three jails, you'll see I have my warden charoute file. That's my world environment that I'm using to extract the jails, and you can replace that in a monkey with it if you please. And then the jail addresses there, those are the directories, and then we have our metadata, which is where we store extra flags for jails, settings, et cetera, stored outside of the jail. And those are what we use when we're importing and exporting and moving stuff around. And of course, if you're running ZFS, again, you saw in those commands, I didn't say anything about ZFS, it just did it auto-magically for me. So you do a listing, script for jails, everything's in its own ZFS dataset automatically now. So again, we want to keep this as easy as possible. So snapshot support. Again, you can do this off in the command line, you could script this in if you wanted to, although we have some facilities to automate it for you. But all we do is just say ZFS, make me a snapshot of this jail. Done, it'll do it, you can list it, it'll give you a list of all the dates when the snapshots were created. Reverting, again, you just feed it to the IP address and then the date of the snapshot you want to roll back to, it'll start, it'll stop the jail for you, revert and start it back up if it was previously running, so it'll take care of all that for you. Now cloning, so say I have a snapshot from a week ago that has a file on it that somebody deleted, I need to go get back and I don't want to revert. Again, cloning's real easy, I just get my list of snapshots and say, if you have a snapshot, it'll go ahead and clone it and mount it for you somewhere on the file system and it'll give you that address so you know where to go look and you can list all the clones on the system as well, so when you're ready to nuke it, you just run ZFS, RM clone, IP address, the clone you want to get rid of, it's gone. It just takes care of all the ZFS bits in the background. Yes. Clones are... Yes. Not via the interface, you could if you did it manually, if you'd like. Yes. Correct. Yeah, that would be cool though. 9.2. 9.2. Okay. Okay, so in this case we want to do some scheduled snapshots. Again, I don't want to know the details, all I want to do is say, give me some cron snapshots of this jail. I want to start it because you can stop it as well. I want to do it hourly, you could say daily and then you specify the number of days you want to keep, so you could just give it a couple weeks there as much as you need, as little as you need. Some people may want to do more often than that. It's real easy to put that in cron if you would like.  But we may add more down the road. Okay, updates. That's another thing we can do for the jail. We can say, check for updates to this jail and it's going to go ahead and run FreeBSD update on it and make sure everything's up to snuff inside the jail for you and give you the commands to do the FreeBSD update when that's done, assuming there are patches. Flags, so you want to set some cool jail option like raw sockets because you're running Postgres or something, well, we can do that. So we can get the flags for the jail and set them. We can just run set, space flags, jail name and then just give it a comma delimited list of whatever flags you particularly want for that jail. You can get them again later and it's pretty simple, again, the interface here and that'll support all the jail flags. What was that? Well, no, you have to set these all as super user. Obviously, this isn't running. Yes. Yeah, yeah, you cannot set any of these. The only thing you can do as a user I think is run the list command to see what jails are on the system, but you cannot modify or monkey around with any of the other jail stuff. You can, if manually, just our interface isn't going to allow you to do that. Well, no, no, excuse me. I take that back. That was the way it used to be. For the port jail now, you can. So if you run warden charoute, my user, Firefox, whatever, it's running it as your user account. I'm sorry, I get confused what eight did. Now this is nine. So yeah, nine does that as your, we use the jail me command as the internal and then it logs in and does its thing. Okay, so that's just some of the back end. What's going to happen?  So, shrink that anymore. So this is the first time you launch the GUI here. I've already set up a couple jails. You can see I have a port jail. It's kind of fuzzy there. And then the Debbie in jail is my Linux jail. And we're going to have some cool tabs on the bottom here, which just gives you some info. It's not running. There's no active connections. I have no additional IP addresses on it. What the size on the disk is. We'll have some tools in here for launching a terminal, checking for updates, service manager, user administrator. We're going to get into that in a second. And then the snapshots. I'll come back to that here really quick. I want to show you guys how we create a jail. So, we'll just give it a name. Jailbird is the default. Pick whatever you want. Traditional jail, obviously not a secure password. Give it a second. It's going to go ahead and set up my jail for me. Anybody have any questions or are waiting for that? It might take a minute. They don't have to be. At home, I just give them an IP address on my local network and they just work. Not yet. That is a feature we want to do for 9.2 where you can say give me 10 jails sequentially from this IP address or whatever. Yeah, so that is something I do plan on adding for 9.2. It's just at this point. We don't have the time to go add that back in. So, the jail's gone ahead and been created. Again, that's all on ZFS. What was that? Yeah, I'm sorry, I didn't mention that. So, yeah, it just falls back to UFS. If you don't have ZFS on your user jails directory, it's just going to do all this same stuff on UFS. What you're going to lose is the snapshot functionality. All that's going to be grayed out or the warden will say I'm sorry, you're on UFS. You can't do these snapshots and all the cool things. So, you really want to be on ZFS. Yeah, it'll do the exact same mount points on UFS, user jails IP address. Well, it's not a mount, it's just going to create a directory and dump it there for you. For ZFS, it's going to make that a mount point. It's going to make that a ZFS dataset in user jails. Is that compressive data? No, you can go compress it and set that on if you'd like. We don't compress it by default. I might add an option down the road in the GUI or via the command line to say just auto-compress this. Sure. We may end up doing some stuff like that too. Let me show you how we do that here really quick. Yeah, set the properties on it. Yeah, that would be, again, once we get a little farther down the road, hopefully we'll have all the ZFS options right there and you can set your properties. Yes, that's the plan is to add those in. So, now that the jail is here, we're just going to go ahead and start her up real quick. We're started. So, now that activates all the utilities. So, we have graphical utility for managing users on the jail. I can come here and say, hey, somebody needs access to this box. Let's just give a criss here. I guess an unsecure password again. Yeah, I like this guy. He can administrate the system. That's it. It's on. That user is now in the jail. So, we've just launched a terminal inside the jail. Look at that. There's a user. Chris's directory got created. Just to care of it all for you. Again, that was a couple clicks. Any Linux system in it doesn't know any of the free VSD commands can go and click and get its jail set up. Or Windows guy. I mean, it doesn't matter. I'm not trying to pick on Linux guys. It's the thing to do at the VSD conferences, right? But anyway, so we've done that. Say we've installed some software here. We have a graphical way we can manage the services that are running. It's going to go through and show you what's disabled, what's not disabled in rc.com. And I think by default I had SSH on on the sucker. Yeah, the SSH is running. I could come here and restart it. Disabled, et cetera. Again. Oh, does it say disable that? This is a bit of buggy code. I'll check on that. And of course, we can do the check for updates via the GUI as well. It's going to do the same stuff you saw in the background before. In this case, it's not going to find you things. I don't have a network connection. You go away. Now the fun stuff, snapshots. So we're on ZFS. Again, if you're on UFS, this is going to be great out.  So I've just gone ahead and created my first snapshot here. I can go ahead and make a whole bunch of them if I like. And then I can scroll back through time and see them all. If I can see where I'm clicking here. Organized by date. Great. I want to restore it. I can hit restore. It's going to roll back. In this case, though, we'll say I just want to grab a file off it. Wonderful. It's gone ahead and mounted this snapshot for me and tells me where it's at. I can start browsing that. And when I'm finished, of course, we can just unmount the snapshot. So that's how it works. Again, scheduled snapshots, pretty self-explanatory. Just hit the pull-down button for the amount you want. Last but not least, we also do package management via the GUI for it. So you can come in here and say, hey, I really want to get some Apache packages or whatever. Just click on hit apply. Petch is from our server and you have Apache running in the jail. Right now, for 9.1, we have a pretty limited set of packages we're offering for the jail. For 9.2, we're going to move to PackageNG and start building our own entire repository of everything. So hopefully, you should be able to go here and grab any of the ports or packages from the FreeBSD tree and have it available. And it'll keep those up to date for you. I can't show it to you here on the screen, but on our tray, we have an update manager that runs just like most desktop operating systems. It's smart enough it'll actually check your jails, too, when it's checking for updates and come up and flag you, hey, in this jail, Apache's out of date. Maybe you want to think about doing something about that. So it's got some neat integration with our other utilities.  I just want to save it somewhere and it's going to export the jail for me. That's going to go ahead and take a moment, but it's just basically compressing it and dumping it to an archive file. Eventually, I may do some stuff with ZFS with that to make it a little neater, but that's how it works for the moment. While we're waiting for that, luckily, I've already have a virtual box running with the same jail or another jail that I created there. So we'll say this is my server sitting under my desk or down at the colo or whatever, and I've sent my archive file and I'm ready to roll. So I can do warden import and then give it the archive file. Now, cool thing is you can change the IP address on it as well. During the import time, there's flags that change the IP and host name, so if you've done it on a local address and you need to give it your public address at the colo, you can specify those on the command line. That'll update the free VST IP addresses and like rc.conf in the host file. It won't go update all your services though, so if you have Apache or MySQL set to internal IP addresses, you'll still have to go set those by hand, but it'll at least get it up and running so you can SSH into the box and it'll have the correct IP and all that'll work out of box. There we go. So now it's going to go ahead and import and when it's done I'll have a fully fledged jail ready to roll. Are there any questions really quick? Well, I'm moving some of these windows around. Yeah. DDoop? Yeah, yeah. Okay. So DDoop, some of my coworkers at IX turn all shades of gray and white when you mention DDoop and their experience with FreeNAS with that. So yeah, you could potentially go turn that on. I don't have any options to do that right now because it's a memory hog and you can potentially, I guess, John was that you can corrupt the entire Z pool if it runs out of memory or something. All I know is as soon as I mentioned it to Josh, he's like, no, don't give users any ability to do DDoop.  Use compression. But yeah, so no, we don't offer that out of box. I mean, if DDoop at some point becomes more stable, then yeah, sure, I would love to have that on. Yes. Yeah, I actually, I've looked at that same, was a walkthrough on how to set that up and that's something interesting. We may incorporate something like that down the road. Yeah. That's the thing. It's like a whole new world now with all these things with ZFS and what you can do and it gives me a lot of options. So we're definitely thinking down the road we may do some of those things. We're going to steal a lot of ideas from the other jail programs as well. Yes. Well, this is one I exported. So this was a jail. I had it on my desktop and I exported and that could be whatever was in the jail. All the packages. Yes. By default, it's going to use a blank free BSD environment but you can provide your own image. It's free created. Yeah, it's an image of ours. Yes, it's just a stock. Correct. That's where I would like to go with it eventually where we just send it over to ZFSN and it's done. Yep. Yeah, there's a lot of cool stuff we'd love to do with that. And of course, I don't have to be the one to write all this. Patches are welcome. It's all in shell. It's real easy to hack on. So feel free to send me some. Yes. It's really old. This new stuff hasn't yet ported yet. I have to do some refactoring of it to put it back into the forks tree. It uses some new libraries that I have elsewhere. So I hope to do that after 9-1 releases. So I won't leave you guys out in the cold too, too long. Okay? Okay. So we've gone ahead and imported our jail here. You can see it's there and good to go. And it's made the meta directory and it's made automatically the ZFS data sets for it as well. So I could make this on my UFS desktop even and then send it to the data server and then get all the ZFS functionality. It's not going to limit you just because you created it on one. You can move back and forth if you'd like. So, okay. And over here, this one finished exporting. Really quick. Let's just fire up the old Debian jail. This may take a while. I don't think without my networking how quick it's going to be. Okay. So Linux is up and running. No. Okay. I have some slides on that here in a moment. I'm glad you asked. We're going to talk about that in a second. So you can see we're running Debian in here. App to get actually worked. I mean, if I had a network connection I'd grab something for you but oh, I don't know. What do you got? Oh, it's already installed.  You can do that and give it to a Linux guy and he can go install whatever service he needs and just be happy to know it's running on the previous D in the background. Let me go back to the slide portion of my talk here. Okay. So we've taken a look at the GUI now thinking ahead. What are we looking at doing here in the future? Well, the first thing I mentioned before we're looking at doing jails without an IP address. We're going to just drop that so we can add whatever we want without IPs. We actually want to borrow some code from Freenaz. Freenaz has some really good snapshot support for ZFS with the off-site replication. They've done a lot of work on making that solid. It's a Python module, so I'll have to see how I integrate that. But I've been told that's the way to go because they've already spent the countless hours to debug it and make sure it works. So we want to integrate something like that into the warden as well. Of course, additional Linux distros definitely want to see those. So we're going to add a new package in the repository, so hopefully we'll just have every package available. We'll create our own server set with special options for inside your jail. Another feature we want to add, nobody brought it up, is 32-bit jails on AMD64. Right now it's going to use the same architecture as the host, but I would like to add out a flag where you can just say, okay, this is cool, give me a 32-bit jail.  We want to do some stuff with ZFS and not using archive files. That should make the jail creation almost instant. And then one thing I want to do is you know how I showed via the command line, you can set jail options like allow raw sockets or whatever. We want to add something in the GUI or just list all those and you can just click, click, click. I want those options done. You don't have to know what the actual flags are. And as you mentioned, Linux utility. So as we start seeing more Linux distros show up in the warden as jailed Linux is, I want to add some support so that once you install the Linux YUM manager or something or some graphical utility for administrating your Linux system, it'll just add the icons right to the warden where you can say, okay, launch the Linux this. It'll pop it right up. It'll handle all the X messiness in the background so you don't have to worry about how that's working. And then you can administrate it via their graphical utilities as well. And we might even do something with their update management that way. Additionally, that may be a little trickier integrating that into my system tray, but if there's a way to do it I'll definitely take a whack at it and see if we can get it done. So that's the end of what I have prepared. A lot of info up on our website and Wiki page. Of course, comments are always welcome. Patches are more welcome. But I'll be glad to work with anybody and if you have good ideas, this is still a pretty fresh project. A lot of stuff's going into it. So I'll be happy to entertain thoughts and see what we can put in. Yes. I don't have that via the warden yet. Again, that would be a cool feature if I can hopefully... Yeah. Yeah. I'm not going to commit to that for 9.2. My list of wants is already getting rather large, so maybe a 9.3 or 10 feature. But again, those are cool things. If you email me or put them on the Wiki page as a suggestion, it'll eventually get put in. Yes. Any other questions? Yes. I don't at the moment. Okay, Dan has... So Dan's looking for the secret sauce. He doesn't have the secret sauce. Is that the deal? Okay. Cool deal. Okay, guys. Well, if there's no more questions, I'll be around for the rest of the show. Feel free to come on by and I'll be glad to talk to you more if you've got more internal stuff you want to know about. Thank you, guys.


This is stock number 2-0-T229A. We are here at Summit Automotive in Fond du Lac, Wisconsin. You're new and used heavy-duty truck headquarters. Today we are checking out this super clean 2016 Ford F-350 Crew cab long box single rear wheel This truck has the Platinum edition on it. It is also a Lariat Ultimate package This truck has been fully safe and inspected by our service shop has a fresh oil and filter change All the fluids have been checked and topped off the truck has been gone through mechanically 100% and is 100% ready to go Shadow black is the color we shoot all of our videos in 1080p 60 frames per second So if you have HD capabilities on your computer tablet or smartphone device Turn them on right now because it is definitely your best way to check out the quality Condition of the truck before seeing it in person And if you'd like to check out all the photos on this truck in the upper right hand part of your screen is a link to our website Click that and check us out there comes with the 20 inch painted and polished aluminum rims that are in excellent shape And it has Cooper discover LT 275 65R 20 tires on here They have right around half the tread left this one does have the FX4 off-road suspension package You can see the frame and under bodies very nice and clean with the Rancho shock there Front fenders in nice shape didn't see any major dents who dings on there Headlight lenses are nice and clear you get that platinum painted grill Comes with the factory fog lights chromed tight ends Toe hooks should say and the lower valence is in nice shape as well Didn't see any major dents or dings on the hood And the passenger side front fender is in excellent condition as well Passenger side rim no scuffs or scrapes on there And as you go down this side of the truck take note of how clean the body is how reflective and mirror like that paint is We take these HD videos So if you are far away or even if you're close by and you just cannot make the trip down You can still see the truck hear the truck and of confidence in the vehicle that you're looking at Before you even get here so that when you do get here. There's absolutely no surprises And that's why we offer the summit auto fast-pass option in the upper right hand part of your screen a link right to our website Where you can apply for financing Get pre-approved see a payment quote even appraise the trade all from the comfort of your own home So when you get here all you got to do is drive the truck. Love it. You'll be all set to go Back tires have just about as much as the front tires frame and underbodies and really nice shape Has all the remaining factory exhaust and it's like that all the way underneath Lower rockers all look really good as well And it does come with the factory chrome step bars You also get the chrome tipped exhaust And as we come around to the back of the vehicle rear bumper is in nice shape comes with a full towing package Which includes a receiver hitch four pin and seven pin wiring the tailgate is in really nice condition as well And we'll take a look inside the bed here So it does have a sprained bed liner has the fifth wheel and gooseneck prep package back here Those rails are four on top of the roof rack They attach for bars across and then it does come with these seven pin wiring in the bed Just a couple little scrapes on that cap Probably the only thing on the truck that isn't Really nice Going down the driver's side just as clean as that passenger side no dents or dings in the box And for full disclosure this back rim is in excellent condition as well. No scuffs or scrapes And down the rest of the side of the truck looks really good Does have the driver's side door code entry. We do have the code for that Comes with the power scope mirrors. They power fold in power telescope out Inside the platinum package gives you the black leather interior No rips no tears on the seats. You get the platinum stitched into the backrest Both of these seats. I believe are heated and cooled. We'll check that out in a second It has Husky all-weather floor mats and factory floor mats underneath You do get power pedals auto headlamps Power windows power locks power mirrors and these mirrors do power fold in like I said I always like showing both sides so that you know Both sides are working You do have to have the ignition on for that power scope feature to work So you can see they do power scope out and in On both sides Sony sound system as well as we hop inside the vehicle here You can see that this one has a hundred and fifteen thousand four hundred and forty nine miles Instrument cluster is very nice and clean Comes with the leather wrapped and woodgrain trim steering wheel Bluetooth and audio controls on the right cruise controls and information center controls on the left Comes with the six speed automatic transmission with the optional tap shift turned out four-wheel drive Downhill assist control stability control Factory exhaust break comes with the forward my touch radio AM FM and Sirius XM radio capabilities Do you get the factory navigation system heated and cooled seats and it does have the heated steering wheel option as well This is also where your backup camera shows up. You can see that that's working good You also get the plus to zoom in over the hitch, which is really nice And you do have a CD player turned out controls right there the more tactile climate controls dual climate control you do get a factory exhaust break on this vehicle turned out four-wheel drive factory Brake controller and four upfitter switches where you can put power points to those 110 volt 150 watt plug-in passenger side format and seat are in excellent condition as well No rips or tears on there, and it does have the power sunroof, which is the nice option Has the home link buttons for your garage door security systems and lane systems Map lights and your power sliding rear window buttons We'll take a quick look at the back seats, and then we'll start it up and check out under the hood Back seats are in excellent condition as well These back seats are heated on the outboard side You get the power side and rear window with the built-in rear defrost Platinum stitched into the back rest of these as well And underneath you get a storage area that is lockable with the ignition key Factory floor mats back here, and you do get a hundred ten volt hundred fifty watt plug-in back here as well There your heated seat buttons for this side, and you do get child safety locks on the back doors We'll start it up and take a quick look under the hood I would personally like to thank you for checking out the video today and hopefully from this HD video You'll have been able to tell just how clean this truck is all the way around inside and out Under the hood we have the 6.7 liter Power stroke diesel Engine base very clean, and it's very smooth It has been fully safe and inspected by our service shop as a fresh oil and filter change All the fluids have been checked and topped off And this truck is 100% ready to go And for the miles on the truck it's in really nice shape And to see more pictures of this truck or one of our other 450 new and used cars trucks SUVs mini vans wranglers half tons three quarter tons one tons you name it We got a go down website right there www.SummitAuto.com full pictures and descriptions of every single vehicle from two locations all at SummitAuto.com And if you'd like to check out more HD videos You can go to youtube.com slash Summit Auto remember to like subscribe and share on this video and all the videos that you see there In fact any second you will see a link to subscribe to our YouTube channel on your left a link to more Ford F350 videos like this one right if you have not been to our website on the bottom link to this vehicle on our website Click those check us out, and we're super excited to be Helping you with this really clean 2016 Ford F350 crew cab long box single rear wheel Platinum addition and shadow black clear coat. Thanks again for checking out the video


So when I prepared the talk, I found that this is a bit of a difficult talk to prepare because this is an abstract framework and abstract frameworks are very nice for the people who know the instance specific instances of this framework because then you can somehow appreciate the generalization and see that it's a nice theory But if you don't know the instances it sometimes a bit of okay, there's a lot of formalism around What does it mean what why why this level of generality? So it was a bit tough to prepare so let's see how I managed So this is the overview I'll first talk a bit about reactive systems in the sense of lifer and Milner Which is an abstract framework of rewriting Then I'll talk a bit about the conditions in the title I'll define them. I'll relate them to first order logic. So quite a bit of first order logic now again take on first order logic Then I'll say what are these conditional reactive systems and I say a bit on the operations on conditions what you can do with them How you can manipulate them? And then we also have two applications in this paper. I mean it's an abstract framework, but it has two applications And the first is to compute pre and post conditions and the second is conference via critical pair analysis and then I'll conclude Okay, what are reactive systems? It is an active abstract theory of rewriting Which was first introduced by life friend Milner. There's a conquered 2000 paper And it's a general framework in which it encompasses lots of things so it encompasses term rewriting process Calculi graph transformation by graphs also invented by Milner and The original motivation actually that life friend Milner had when they introduced this framework was to derive labor transition systems Really for process Calculi so that original application was process Calculi And they used this to derive labor transition systems in a fairly general framework and then also to derive Bites by simulation congruences and equivalences. So I will not really talk about equivalences here behavioral equivalences But about the underlying And in this talk, I'll show you how to enrich reactive systems by conditions making them to conditional reactive systems and These conditions control whether a rewriting rule can be applied or not and So we have a huge source of inspiration which comes from graph transformation systems And these conditions have been really extensively studied in the context of graph transformation systems And we show how to lift them to this more upset setting and I think it The theory that you get is quite elegant And especially if you compare to what has been done for graph transformation system There's important work done there, but it's really a bit cumbersome And I think that on this abstract level it really things become suddenly much simpler and much easier to understand Okay, so first this is about categories So I don't really want to frighten you too much But I mean I think I'll give you the definition for category which is really not too complicated And I think you really needed to to understand the rest of the of the talk so category is a generalization of a monoid in some sense and It consists of objects a B and arrows between objects Just think of them as arrows just arrow. There's no deeper meaning behind us It's like a monoid element. It also doesn't have a deeper meaning. It's just an element With the property that their identity arrows from each object to another arrow It's another object and there's an associative composition operation Meaning that if you have two arrows one from A to B and the other to B to C they compose and are using this semicolon for composition and Well, let's say the category that every other category in some kind is trying to imitate It's the category of sets and functions but the categories that we're looking here are Category of graphs and graph morphisms. So here the objects are graphs and The arrows are graph morphisms that are really Very similar to to moshes homomorphism from the last talk only here our graphs can have loops So things are slightly different Then the other category that I'm looking into is the category of graphs and cospons of graphs and The objects are again graphs and the arrows of cospons of graph morphisms that is we have two arrows Sorry two morphisms They should be morphisms Of the form there's a graph in the middle and there are two other graphs J and K Which you can think of the interfaces of this graph So think of it as a graph G where you identify two subgraphs J and K which act as the interfaces of this graph and Let me give you a bit more of intuition for this cost bank category So cost bands are graphs with an inner and an outer interface and composition You'll also need composition to have a category performed by gluing over the joint interface so we have to these two go cost bands and You see that the in this outer interface and this inner interface are really the same so we just glue over this and Leave out this interface and then you get a new cost band. This is how cost band composition works and Let's say this is the category which I will mainly work in the other category also makes a short appearance at some point Okay, in a reactive systems over category C the arrows are Rerwritten in the following way. Let me show you maybe the definition So you have a rule which consists of two arrows Ellen are starting from some distinguished objects zero Think of it as the empty graph. I'm in most cases doing to an object I and The reduction relation is generated as follows If I put this left-hand side into some context C, which is again an arrow of the category. This is perfectly General then we can place replace this by the right-hand side and the arrow C So in some sense, we're doing prefix rewriting Whether things that we are rewriting our arrows of a category So now you can say oh, isn't this somehow restriction to do prefix rewriting is in a sense But let's say one special case that we're very interested in is a double push out graph rewriting and If we instantiate this with the cost band category, we get exactly double push out graph rewriting So we get something which is very well known. This is not a result of our paper this has been known for a while and Why the prefix is okay? It's basically because you can always rearrange decompose actually a Graph in such a way that the left-hand side comes first and then you have the rest and then you can cut out the left-hand side And replace it by the right-hand side Okay, now what is the condition? So condition a is a finite tree Whether notes are labeled through objects and quantifiers So I mean here for instance this node is labeled with quantifier for all object a and then you have The edges of the tree and on the edges of the tree report the errors about the errors of the category And of course in such a way that f is an arrow going from a to b and a is called the root object of the condition Okay, so it looks a bit first order like when we are not quite maybe and Actually, this is quite true. This is more or less a first order led logic and I will make this more precise in the following So just but let's do an example maybe first In order to express that a graph So graphs now we view as co-spans Where the middle graph is the graph you want to consider and has an empty inner and an empty outer interface And we want to express that a graph contains an isolated node f Here we say something like this There exists a co-span In the graph and this co-span is this one is just this isolated note Such that for all ways could continue We need nothing so I have an empty universal quantification Which is just true So this means there exists such an isolated note f and it really must be isolated because you have no way to glue something to this Okay, then I have to tell you how to evaluate a condition on an error, so they're always evaluated on errors If you have a condition with dude object a and the error goes from a to b then I can evaluate or check whether the the error satisfies the condition and Okay, they're naturally there are two cases. There's universal quantification and if you have universal quantification and here This kind of branching in the condition here. There are other conditions sitting Sorry require that for every index of these f1 to fn and every alpha such that I Compose the C which is the arrow for which I asked whether it satisfies the condition Can you decompose into fi and alpha? We require that alpha satisfies the condition out ii which comes afterwards so basically for every way of removing such an arrow fi from my Arrow the remaining arrow had assessed to satisfy the condition that comes afterwards an existential quantification. Well, okay, you can guess that now for every way of decomposing the c into f one of the fi and no source they exist the way of composing C and fi and alpha and For this alpha that we get then it has to satisfy the condition So actually we compare this with another category or ecologic which we kind of invented ourselves So maybe this is not interested so much It's a so-called logic on sub-objects and it tries to imitate monotonic second-order graph logic in a more categorical setting And if you restrict to the first sort of fragment we get exactly the same logic or the same kind of expressiveness as We have fear for the conditions Okay, so yes, there's two strange logics, but okay if you This logic if we take as the category the category of graphs and graph morphisms now, and I'm taking this other category I get exactly first-order graph logic so this is something well known and Okay, but Many example the example that comes now doesn't work in the category of graphs and graph morphisms But in the category of Cospans and in this category actually the logic is more expressive So we have examples of properties that can be expressed in this logic, but not in the other logic Okay, so now what is a conditional reactive system it consists of rules Again just as a reactive system plus every rule has an application condition sitting on this interface object I hear and Then rule is applicable to an arrow if the arrow can be decomposed as left-hand side plus some context and The context must satisfy the condition So we're always evaluating the condition on the remaining context left after removing at the left-hand side And in this case Left-hand side composed with the context is reduced to the right-hand side composed with the context Okay, just a simple rule maybe to illustrate a bit better what I'm talking about This is the dear referencing of a file owned by a user So there's a user and owns a file and it wants to so this own relationship should be removed But I can only remove it If for all if for all protected loops that are attached to the F nodes There exists an admin node attached to the user node Which means that either the file is not protected or if it is protected the user has to be the admin And this is basically what you can specify. I mean, it's a really a first-order logic and Okay, that's I said this before basically so conditions really restrict the context in which the rules are applied Okay, now we have to do a bit with these conditions. We need some conditions and For this I'm introducing the following Thing which is called as a representative class of squares. Now. What is that? assume that you're to given a Commuting square commuting means if you compose these two errors and these two errors you get the same and Just we say a class of squares is representative if for every commuting square you find inside another of such representative squares that can be Where you have also find an error e such that everything here commutes so inside you find a representative square so in a category usually take if you need Representative square you usually take the so-called pushouts But now assume that you don't have pushouts, which we don't have actually in our category and So the idea is to find something that such as for each pair of arrows a b There are only finitely many squares representative squares push out there would be only one, but we're happy if they're fine Okay, this is not terribly exotic in the sense that this has been studied before It was a Real problem in the work of life and mill know where they generated this label transition systems behavioral equivalences To kind of close these squares and they came up with a notion of so-called item pushouts The definition is not too too complex. I'll not give it here But actually the implications are very Complicated because for the in the categories you're interested in not even these item pushouts exist and then you get into a lot of trouble and it There's really a huge amount of work trying to solve this problem Which is connected to somehow very tricky automorphism problems of course Then the one way to solve this was the so-called group we little item pushouts by Sasone and so Bochinsky We also had our own solution, which is the so-called bird context diagrams, but Here we just we don't really say what kind of universal properties these squares should have we kind of really trying to avoid the Problem and say we just need the police Representativity property I showed on this slide before and then things work fine Okay, now the operation that I want to do with these representative squares is how to how to shift the condition along an arrow and Assume we have an arrow going from A to B and Then we have a condition and they shifted along the arrow I can't to show it on this slide, but it's better to show it on this slide You have this condition the arrow going from A to B and Now here you have two arrows, and it just take all representative squares here, which could be zero one two many and You close it then again you have here an arrow and here an arrow and you can take all representative squares And then once you're through the tree it might be Might be have a higher branch in degrees than before But if you have this finiteness property that for two hours you have only finite many representative ways to close this square Then the condition that you get will also be fine and We have the following property the shift has a nice property So I mean some of the things we're showing here, especially this one There are similar results in the context of graph transformation system. It just kind of abstracted them to a Higher level and so so this operation shift has been known there and it has the following property if vice See satisfies a condition a this is equivalent to see satisfying a shifted over five So it's a kind of a partial evaluation I know already that I will evaluate my condition on arrow starting with five so I shifted and kind of pre-compute this this condition and Okay, what we have in the paper actually is this result that the shift Is part of an adjunction so now we also have Existential quantification universal quantification which is so just means putting an existential universal quantifier in front of a condition and usually These quantifiers arise as adjoints in categorical logic So it was quite natural to look here. What is the adjunction and the adjunction is with the shift operation? so shift here is a right adjoint to Existential quantification, which is the left and here's the other way around so if you don't know that much about adjunction Think of the last Galois connections, which might be known from from program analysis So Galax connection between two lettuces and here the lettuces are the sets of all condition with the Boolean or and Okay, this is it just a theoretical results, but nice and of course you can Derive several laws for this logic for instance the usual quantifier distribution law holds for all distributes over And the shift distributes over both should be because it's a left and the right adjoint But this is also easy to prove otherwise and then there's also these bits slightly more unusual Quantifier distribution law so you can do a bit of Loss and equivalences with this logic Okay, now the applications We had to have two applications in this paper and the first is on computing pre and post conditions So again, there's a rule with the condition and that be a condition on errors with the source of X zero so just a condition on Think of that condition of co-spans, which are conditions on graphs for instance, which tell you something of the property of the graph And then when you apply a rule you want to know What is the strongest post condition that the graph set is for the graphs that you reach satisfy afterwards? And if you have a backwards you want to know the weakest precondition So we can split condition of a rule for a condition B is computed as follows So for all left-hand sides that you might have if If the remaining context satisfies C Um This implies that the context must satisfy B if you put our in front This is what it means To have a weakest precondition and the strongest post condition says they resist the right-hand side Okay, you just applied the rules there should be a right-hand side such that the context satisfies C and If you put in front the left-hand side again, what do you have satisfies a? and Okay, this looks quite natural and But we hope you have to look what People have done in the graph transformation literature and there are all these construction But it typically takes two or three pages to construct these things with lots of operations And we find now that this is somehow a nice high-level representation of what you get there Okay, so another application is Confluence, I mean We are doing here abstract high-level some high-level rewriting So of course we want to do all the stuff that you'd usually like to do with rewriting all the in the also in this setting and Okay, we want to analyze local confluence, of course I mean if you know if your system is locally confident and terminates then it is confident And we do this by the usual critical pair analysis That means look for overlapping left-hand sides So just overlap your left-hand sides and in these Things that you get which consists of two overlap in left left-hand sides You apply both rules apply the rules and get the what you get after inserting the right-hand sides And then they show that after potentially any number of steps you are your confluence So you reach the same same error afterwards and Of course the question is what are the critical pairs here and the critical pairs as we found adjust these representative squares So the rewriting relation is locally confident if and only for every pair of left-hand sides and all representative ways to close this left-hand sides There exists an arrow D such that you can reduce here and here and You end up in the same and this is an if and only if result as in in terminal writing string writing You have it is confident if and only if it satisfies this Okay, and then okay This is about conditions conditional reactive system. So we wanted to do the same with conditions and Actually, there is a predecessor work on graph transformation system Which has a similar idea and we kind of adapted it to generalize it a bit and now especially moved it to this more abstract setting and Okay, this is a bit this looks a bit more difficult So rewriting relation is loaded conflict if no if and only if unfortunately we thought about it But we have some examples which show that if and only if it's probably Not really possible For every pair of left-hand sides and all representative ways to close this pair Okay, now they accept now several arrows to which you can reduce why several Because you have conditions and if this a contact satisfies some condition You might be able to go reduce to this one But if it satisfies some other condition, you might be able to reduce to some other arrow There's ever and conditions that that under these conditions you can make the reductions to the DI and This condition and what does it mean since you know that both rules were applicable. You know that the context satisfies these conditions This implies the disjunction So at least one of the pairs of conditions that guarantee conference has to be has to be satisfied So and here AI denotes the application conditions of these two rules move to the joint to move to their joint interface And this means that under this condition a can reduce to be it might not be in general able to read a Might not be in general able to use to be because the contacts Might have some inhibiting conditions, especially with these conditions You can express things like that certain things should not be there And if they are there they might inhibit the reductions So if no the intuition but I already stated this basic if under the condition that both rules can be applied We can at least one pop find one less possibility close the diamond and the system is locally confident and There might be several different ways to join the diamond and only only one direction. No if and only Okay, so now I should say a bit about related work because This is really based on a lot of stuff and we kind of pulled it together and packaged it into this framework and nested application conditions and graph writing have been studied quite a bit actually have to be Fair and say it's not just graph writing, but it's rewrite also some categorical form of rewriting, but let's say Thing that's based off very similar to graph writing and then basically were one step more abstract Then we did this biggest precondition as strong as post-conditions in high-level transformation system. These are these form of double push out rewriting have already been studied in hub by hobble and panaman and Then the idea to compare these conditions the first order graph logic is by rensing from 2004 The local confluence for job transformation system without condition is from plume by plume and with conditions as I just said We took the special case and which it was is from 2010 and generalized it now to this setting and things I think they were really took some pages to express in these papers now you can write in few lines and Yeah, we also had heavy some inspiration from categorical logic, especially to look for this adjunction that is because they usually exist in in categorical logic and And So okay, what else do we have in mind? So the reason why we looked into this was really that we came from the from the area of deriving labeled transition systems behavioral equivalences and We wanted to do it with conditions. I mean why okay nice here, but actually we really have some very tough Case studies, which we will talk to very find these especially from the area of model transformation So we have some people who bring us case studies from the air of model transformation You want to transform some model sometimes they are a bit UML like Petri net models whatever into another model and you want to show that some kind of behavior is preserved and These model transformation rules always have conditions always all the time so you cannot really deal With rules who do not have conditions if you come more from process algebra You might think my conditions really don't need them But if you look into this application area, they're they're abundant and the other thing is now that we can Compute the pre and post conditions. We couldn't principle Implement this for the special case of graph transformation and do some kind of cigar so count example guided abstraction refinement framework With predicate abstraction for graph transformation. So we haven't done this yet. This is an idea So many steps are I've been taken but of course is not clear whether the results will be good And of course in order to do this, I mean because we also have to in mind to implement this We have to solve one small problem and of course, this is the first order logic and the entailment problem is undecidable So in order to get around to this we actually either can actually restrict to a simpler logic or There actually have been already quite successful attempt especially in the PhD thesis of penamon To do this in an approximate if way so that you are actually can reason with such logics despite the undecidability Okay, and that's it and thank you much for your attention


Hey, girlfriends, I'm Bianca Renee, and you're watching Bianca Renee Today. And today, we're gonna talk about celebrity brands. Are we over them? There's so many, and it seems like it's getting a little overwhelming. The quality's being questioned, the authenticity's being questioned, the money grab-ness, and I asked you all this on Instagram, and many of you agree. A lot of you are over it, so let's talk about why we don't like certain celebrity brands, why some celebrity brands are doing better than others, and if we want more, and if we do want more, what needs to change? So while I'm talking about all this stuff, I'm gonna do a little get ready with me. We're doing face and hair. I went to Sephora, I bought some things. I got the new Makeup by Mario Foundation. Everyone's raving about how do we feel about celebrity makeup artists coming out with makeup? Are we mad at them too? Let me know. Then I did get to take enough celebrity, the Fenty Velvet Liquid Lipstick in two different colors. We'll try those on and something that's not new or celebrity related at all. The Carol's Daughter Wash Day Delight Gel to Foam Styler. I got this at Sally Beauty. I saw gel to foam styler. I saw a love connection of hold and definition. All my favorite words were right on the front and then it's sulfate, pariet, silicone free, so we'll do a little refresh with this and try on some new makeup. Now back to the conversation. Let me pull up some of your responses on Instagram. He's a Miner's primer squeezing the life out of it again instead of just buying some more. Some of you said they are not experts and seem to be doing it for the money. I feel unsure if they are in good quality or if it's just another way for them to make money. I do not like them in the hair space, not here for it. They don't formulate it themselves at all. Overpriced, overrated and usually don't work all that well. It's too overwhelming over them. Folks starting to very much give might as well launch one too energy. And I feel that. I feel like you almost can't be a celebrity without a brand.  Cool, what else do you make? We got J.Lo doing skincare. We got Rihanna doing makeup and skincare and clothing lingerie. We got all the Kardashians having like five brands each. We have what I just reviewed for you by Tia doing hair products to Raji B. Henson as TPH. We got Trace Ellis Ross doing pattern. We have Alicia Keys doing skincare.  We have Jessica Alba with Honest. It's a lot. Part of me isn't like too mad because why not? You have the money to do so. You have a following. People are going to buy it just because they like you, period. You're basically guaranteed sales. And that's always like the scariest part of starting a business.  So if you're a celebrity, you already have the who's gonna buy it because they love you and they just wanna support you at least in the beginning and if it doesn't work, they might stop supporting you in that way. But it's a nice guarantee. As a mom, when you got a family especially, if you have a way to make more money, guaranteed money might as well. But depending on the person's like integrity, you would hope that they would at least try to make something really good so that it's not just like a waste of everyone's money.  That never ends well. Cancel culture is very much real. So I would still be a little mindful. I think some things have more risks than others. So for example, I recently was approached by someone who asked me if I wanted to create my own hair products. Calm down, calm down. I know a lot of you have asked me to create my own hair products. I'm not calling myself a celebrity at all but I am somebody with a following and I do think that it would probably do pretty well because of the trust that I have built for 10 years. So I think when it comes to like hair care, you guys would know that I would really make some good products versus if all of a sudden, like if I never wore my hair straight and then I came out with a straightener, like how would you guys feel? And I kind of felt that way like with Taraji to be honest, I never saw her rock her curly hair. It's like we knew she had curly hair but like we never really saw it. She's always had like a really bomb like wig or weave which is fine but I just wouldn't expect someone like her to come out with a natural hairline. She did have some that were for your scalp for when you are putting on a wig or a weave, like that was smart. But for her to be like the face of curls, I don't know. Let's try this foundation. I like the pump. It's a nice big bottle. Let's see if I got a good color. Hmm, am I? I guess that's good. This is my pale winter shade probably. All right, let's blend this in.   This is my real hair. It's time for us to celebrate our uniqueness. And the sad part about that was just kind of a segue to another whole bigger issue is that the natural hair community does not like when mixed people talk about black hair. As a mixed girl myself, I do consider myself black just as much as I am white. I'm literally, you know, half and half. Well, I mean, I got a lot of things in me but people really try to tell me and try to tell me that I'm not black. So like some people think that if you are mixed then you are no longer black. But I also can't go to a place of only white people and be like, yep, I'm white and like I'm gonna get looks. So if I can't be white and I can't be black, what am I supposed to be? So people were mad that Tia was kind of saying talking about like, you know, black hair, natural hair and some people think that curly hair isn't natural hair and they think that natural hair means like type four hair only. And if you have type three hair, even though it's the natural hair that goes out of your head, it's no longer natural. It's just, it's curly. Whole different conversation. Don't shoot the messenger. I didn't make up these silly rules but that's just what's going on.  But I'm not like mad at her. Like I actually believe that Tia did want to make some good products that worked for hair like hers. That's just genuinely what I believe.  Oh, totally lost my train of thought. Okay, back to my scenario. Someone approached me asking if I wanna make my own hair products. And so I'm talking to him and he's like, yeah, we have this factory and we can get all the ingredients that you likes. So we make a lot of the hair brands that you probably use. So basically we could just take the formula and add your spin on it and then we put your name on it. So let's say you like Aloe vera or you like flaxseed or you like jojoba oil. We could take that ingredient or their recipe, if you will, add whatever ingredient you like in it and now it's your product. I was like, okay, how long would this turnaround be? Like when are you trying to launch my brand? And he's like, yeah, so by the time we go into the lab we create, maybe get a couple of samples we're probably gonna launch in like two weeks. Bruh. Bruh. Bruh. I said, do you really think? I mean, this is more in my head. But I was like, okay, cool, cool, cool, cool, cool. Tuned out the rest of the conversation. Meanwhile in my head, if you think I'm gonna launch my curly hair brand in two weeks after what I experienced firsthand with like diva curl, now Olaplex is under fire with the sensitivity of someone's scalp and hair loss? No lawsuits for me? No thank you? You can keep that? If I were to launch some hair products they would have to be under trial on multiple hair types for minimum a full year of testing, honestly. If I made my own hair products it would, this is why I'm not doing it because they would have to be the best products of all time. They would have to detangle, like you'd have to be able to spray it and like the detangles fall out. Like that's how fast you have to detangle if they were my product. The slip would have to be insane. The smells would have to be like a rose garden or pineapple and I, the gel would have to be the greatest hold of all time. You should be able to go out in the rain and your hair still looks good. Like waterproof but without any buildup. They would have to get the greatest products of all time because of how picky I am with things and my ingredients would have to be great. They'd have to be vegan. They'd have to be cruelty free. I'd have to have some fragrance free for my people. I gotta have some coconut oil free ones. It would be such a thing and it sounded like he really wanted me to just slap my name on some products. I definitely could do that and I feel confident that you guys would buy it because of the trust that we built with each other and you know, I talked to you guys online like we have like an online relationship. So I know you'd buy them because many of you have told me that and I feel like you would support my brand but at the moment where I need your trust the most and I need your like participation in my brand that's not where I'm gonna drop the ball. I'm not just gonna steal Eco Styler's gel and put Bianca's gel on it and now you're like love it because it's similar to Eco style and I'm just like that does not make me excited at all and he kind of had this whole influencer lineup of people, I can't even name names, but like TikTokers, I had like a viral video and like now they're making makeup and they don't even do makeup. Like it was just getting weird and I was like, yeah, yeah, yeah. You know, how would this work? He offered me a whopping 30% ownership. I was like, look, I've watched enough Shark Tank to know that that's not a good deal. So are there some celebrities that are probably getting a similar pitch maybe from a really big brand that makes other brands? I'm like, oh, you should make yours but it'll have your name on it and we already know how to make it. We could drop it in a month, we'll get some photos ready, we'll do a photo shoot, we'll do a commercial and they might go for it because it's easy. Like all the work has already been done.  Easy money, yes. But if you are someone in the space, even like a makeup by Mario, I don't think a actual credible makeup artist would drop something like Willie Nilly.  I feel like there probably was some thought to it. Let's actually look at it. It feels really good. I haven't really been paying attention to my face since I've been talking. The coverage is actually really nice. I think the match is good. Is this Kim Kardashian's makeup artist? I should know this because I'm like a reality girl now. I need a mía. Hmm, pretty nice. So then I asked you, what celebrities are doing it right? And a lot of you said Rihanna. You guys are not mad at Fenty. You're not mad at Selena Gomez with wear of beauty. You're not mad at Tracy Alice Ross with pattern. She's probably like one of the few celebrities that made it out alive of very picky hair game. And you're not mad at the Jessica Alba's with honest. And I think that's because you need to be able to fill a need. So she really wanted to make clean baby products. It was a need. Oh, I've also realized I have not been giving you guys new challenges. I'm like two weeks behind by the time you see this video. This week's challenge, looking at this disgusting beauty blender is the clean your makeup brushes challenge. Guys, I, I'm so guilty. Look at this. Look at this crust to crust. Oh, Lord have mercy. Yes, I know there's bacteria probably growing. Yes, I know it's bad for my skin. I know, I know, I know all the things. You don't have to yell at me. We're gonna fix it this week. This week we are all cleaning our makeup brushes in our beauty blenders that we have been collecting. It's time. Let me know if you accept the makeup brush challenge. Let me just do a quick little rinsy do and then I'll come back and do a deep plane of this later. So then I asked, are you more influenced by celebrities or influencers? The results are in 93% said that you are more likely to be persuaded by an influencer than a celebrity. Wow, it's almost like brands should like really take us seriously. Then I said, fill in the blank. I have purchased more things due to YouTube, IG and TikTok or a commercial on TV. 98% of you said that you are more likely to purchase something because of a social media platform versus the 2% that said a commercial on TV. Guys, did any of you buy anything from the Super Bowl commercials? Like, when you watch the Super Bowl, did you like, wow, that commercial was great. I wanna go buy some kibbles and bits. Like, no, but how many of you have purchased something from Amazon at two in the morning from five things you didn't know you needed from Amazon? Six Amazon must haves. Come on now. And do you know the millions of dollars that are being spent to make the commercial for the Super Bowl, let alone air it for a 30 second spot? Millions of dollars. I will take millions of dollars. I will gladly promote your product on YouTube but no one has offered me a million dollars. It's crazy. When the numbers say that people trust influencers even more than celebrities and commercials, there might need to be a pivot in where the money's going. With a money reserve, with a money reserve. Let's get some more responses, maybe a different perspective. So someone said, I see nothing wrong with celebrity brands. I feel like people could turn off only because they're celebrities. I see this side too. Maybe you are prejudging it because it's a celebrity brand. What if that celebrity actually put some time into it and you aren't even gonna give them a chance? So I think where I stand is I'm not mad at people trying to make money. Why not? I mean, I think if you could, you would as well. But at the same time, you want the product to work. So I'm always gonna try something. As you guys know, all my reviews are honest. So if I don't like it, I don't like it but I wanna make my own opinion on it first. And I do watch reviews just like you guys do. So sometimes I might like kick back a little bit, see what the people are saying and then I'll try it for myself. And at the end of the day, only my opinion matters when it comes to what I'm putting on me and when you buy a product, it doesn't matter if I don't like it. If you like it, that's all that matters. Okay, I'm going to set this with my La Mercier and they were going to switch to the hair because I was supposed to do that first. Okay, switching the hair, let's think about some more brands and what makes that celebrity brand make sense. So Alicia Keys, she came out with Keys, her own skincare line. Now if you know or follow Alicia Keys, you know that she is someone who struggled with acne and she was very like vocal about that. She was like the spokesperson for proactive at one point. As somebody with acne prone skin who has dealt with severe acne. If you've ever had acne, there's a 90% chance that you have tried proactive and there's a 90% chance that it stopped working for you after, I don't know, a month or two and it just didn't have the long lasting results as we wanted, but now that she made her own products, I would want to say that since you're someone that has dealt with acne, you would not risk putting something out that would be bad for your skin or that wouldn't actually work. So I thought it was smart for Alicia Keys to do skincare versus like hair because that's something that we know that feels more authentic to her. Now do we want any more celebrity brands? The majority of you said no. Majority of you said that you are over it and enough is enough. But then I did see one comment somewhere under a video that said if anyone's gonna be making hair products, it needs to be somebody that actually wears their natural hair out. Someone maybe like Viola Davis. I respect that she has continued to wear her hair out and natural at red carpet events. That's usually the number one time where somebody will easily slap on a wig, straighten their hair, wear a wig because the special occasion and natural hair isn't good enough for special occasions. And I love every time she wears her hair natural, which is the majority of the time. Now she made some products made specifically for tighter, coily hair, like type four hair. I think that would actually be very well because she wears her hair like that. I feel like people would just be happy with a product even made just for type four hair. I know brands love to say, oh, for all hair types, but I don't think it has to be for all hair types. I think your brand should make multiple products so that you have something for different hair types and textures. But I don't think every product even needs to have the word made for all hair types. But that makes me almost like not trust you because it's just not realistic that one magical product is gonna work on someone with wavy hair and my hair and a tighter coil hair. No, I don't think we really like expect that. So I do have some pattern on my hair from yesterday. I used the cream and the gel, but I'm going to refresh with something different. Hopefully they get along. Let's try the Carol's daughter wash day delight. What is a gel to foam styler? Oh, okay. It looks like gel on the inside, but when you pump it, it turns to foam. It's very fresh, clean green smell. Like it smells like the aloe, but not like. But in a more happy perfume way. Oh, oh, slippery consistency. Oh, okay. Has some good slip to it. That must be that aloe. Interesting. I kind of like how it stays a foam but doesn't like disappear and turn to a liquid. It almost turns into a little bit of a very, very light gel. But yeah, this seems to be the main thing, this comment right here. Kind of over the hair care products from folks who have never had their natural hair out. That part. Like, come on guys. Who are we really trying to play? Oh, that even reminds me of Gabrielle Union. When she first had her products, I was like one of the first to get it. That was my first time getting a PR box from a celebrity. I remember I got an e-book that said, Gabrielle Union wants to work with you. And I was like, oh. And then I realized it was probably not actually Gabrielle Union. It was like her marketing team and she had new products. And then her very first line, she did kind of like stop and start over. Full of, I think, at least silicone, maybe sulfate. But I was just like, dang it. And that was the first time that I had to check my morals and check my integrity. Once I was going the no sulfate silicone route and then I was got this offer from Gabrielle Union to review her products. And I was like getting attention from a brand. And I was like, damn. Even if they offer me some money, even though I could be besties with Gabrielle Union, that's what I did. And I have yet to hear anyone talk about those products. That was that. It feels really light. It might be good for a refresh. Don't know how this would do on day one hair, as you see. Anytime I want to keep adding more, it's because I'm nervous. I'm nervous about the hold. I could see this drying lightly, but maybe it'll still be defined and give you that defined but not crunchy look that so many of you desire.  And I'm back. The power of hair and makeup. Now let's try some lip colors. So I went out and got the Fenty Icon Velvet Liquid Lipstick. I was influenced by my own influencer friend on TikTok. Shout out to Alyssa Marie. They all looked amazing on her. I was gonna buy all of them and do like a whole swatching for you. But these were basically $30 each. So I said, you know what? $60 in lip colors that I absolutely don't need. So I got RiRi, which is like a mauve. And then I got MVP, which is a red. I think I want to wear the mauve today, but let's just do a little try on while we're here. And let's talk about Fenty while we're at it. So, oh, look at this. It kind of like fills up. That's kind of cool. Now I did wear one of these the other day and I wouldn't say it's like a forever lasting like stick to your lip situation if you were eating and drinking, but when you put it on, oh, look at that. So soft, so creamy. It's like mousse. Back to what we're talking about. I'm sure that when Rihanna said, hey, I want to make my own makeup line or I want to make my own lingerie. I'm sure people laughed at her. I'm sure she had to convince her team. I'm sure that they were like, you do music, like staying in your lane. There had to have been some negative people around her. That's just life. But look at her now. She's a billion hair without having to put out any new music. We've gotten what? One song from the Black Panther soundtrack in the last, I don't even know how many years. And that wouldn't have happened if she didn't try and put herself out there and try something new. It's always scary to try something new. And if you really put effort into it, I think it shows. I think we know that Fenty wasn't just like, let's just do it to do it. There's levels and her products are really good from makeup to skincare to lingerie to clothes. It's a lot. That is a pretty red. Apparently this is the red that she was wearing during the Super Bowl. Why do you want to switch colors now? And here is the color reread. I love this kind of like mauve pink. This is like my go-to every day. It feels amazing. These aren't made to like last forever. So if you like eat or drink or kiss somebody, it will transfer. That's not like one of their claims, but it's extremely comfortable and soft. Like not drying at all. So if you want to some comfortable wear more than a long time, if you're for a good time that a long time, you might want to get one of these liquid lipsticks. I think the overall concluding thoughts on celebrity brands is that most people are over them, meaning they're not excited about them. And I think that people also have such trust issues when it comes to products nowadays because of people that review products and social media and everybody like reviews things on TikTok whether you have a following or not. There's just so much honesty on the internet when people want to say how they feel about a product that you can't really fool anyone anymore. So I don't think people are gonna be just buying products because a celebrity uses it unless they like love that celebrity. But a lot of us still want to see the review. We want the receipts. We want to know if it works to see if it's worth our money. In my personal opinion, I'm not mad at anybody that wants to do more and create more. Anyone that wants to fill a need. Anyone that wants to reach a market that hasn't really been given any attention whether it's a wider range of shades in makeup whether it's products for a certain hair type. The more of the merrier when it comes to things that work. But at the end of the day, you don't know if you're gonna like the product until you try it or until you watch a review from someone you trust.  Make sure to leave me a thumbs up and subscribe. I post new videos every Sunday and you also can follow me on Instagram and TikTok at Ms. Bianca Renee. Join the conversation down in the comments below and I'll see you guys next time. Thanks for watching Bianca Renee today.