All right, we can get started. This is standalone Cinder. And we're going to talk a little bit about Cinder, what it is, how it works with OpenStack and sort of the normal deployment. We will talk about and demonstrate Cinder alone without OpenStack or any of the other services running. We'll make a case for Cinder with at least Keystone and Glance. We'll show you that as well, and hopefully we'll have some time for Q&A. The slides are going to be available, or they're already available here at Google's short URL. If you'd like to find them, I'll show this again at the end. I'm Scott D'Angelo. I work for IBM Cinder Core Developer. You can get ahold of me through IRC or email. Thank you, Scott. I'm Ivan Kolodzashny. I'm also a Cinder Core Developer, and I joined Cinder team, I guess, two years ago. And I worked with OpenStack Science Diablo Release. Walter? Hello. I'm Walt Boring. Yes, that's my last name. And I joined the Cinder team back in the Grizzly time frame, and I'll be showing a demo at the end. Thanks. So what is Cinder? From our wiki, Cinder virtualizes the management of block storage devices and provides users with a self-service API to request to consume those resources without requiring any knowledge of where the storage is actually deployed or on what type of device. So Cinder basically abstracts away your storage and provides an API to get to it. So Cinder is a software-defined storage management system. This is kind of what Cinder looks like, similar to all or at least many OpenStack services. You connect to the Cinder API server via REST, either through the client or directly with the HTTP. A message bus transmits messages from the API to the scheduler to determine where to deploy a volume, where to create it, depending on criteria you may have set up in your configuration. The message bus also will pass information to the Cinder volume server, which does the work for Cinder. Volume servers have drivers that interface with the underlying storage. And so that's our architecture for Cinder itself. So what happens when you attach a volume? This is the normal use case, not Cinder standing alone, but the OpenStack deployment you may be familiar with. So you would interact actually with Nova. You'd go to the Compute API, make a request to attach a volume. Nova itself will use the Cinder client to connect to Cinder's API through the messaging bus. It'll go to the Cinder volume server. And then depending on your deployment, you'll use the proprietary backend or the individual backend driver to connect to the storage. This is where we get information on how to attach the volume. So iSCSI targets, fiber channel information, SAP or NFS have their own connection information. This is all passed back up through Cinder, back through the API to Nova. And then Nova will use that information to directly connect the volume from the storage to the Compute host. So Cinder's no longer a player in this when Nova is interfacing with the storage, the data path, Cinder's out of the picture at this point. The tool that is used in Nova for this is OS Brick, which is the underlying connectivity service. So the question really is, why not just use OpenStack for your Cinder connectivity? So one reason is this. If you want OpenStack, if you have need of all the services, you deploy them all, you're running a big cloud, that's all fine and good. But there is some complexity to OpenStack. This is an old picture, but I think it's still applicable. So what are the use cases for Cinder standalone? One is, as we just showed with the complexity of OpenStack, it gives you the software defined storage management without all the overhead of deploying all those resources. So Cinder standalone will work with Docker containers. We believe that all of the supported Cinder drivers will work with Docker containers to attach a Cinder volume in a standalone way. Except LVM. LVM is a little more complex because of the way it uses loop deck devices, the way it uses Udev. It's been done, but it's a little tricky. Most of the other drivers will work sort of out of the box with the tools we're going to show you today. Cinder will work on almost 100 storage back ends. That's just the in-tree supported drivers. All the drivers are open source. They're in the tree. They run CICD on every patch so we know that they work. So when you get Cinder as your software defined storage management, you get all these drivers. There's a list of them approximately.  And most importantly, Cinder is open source. So lots of proprietary vendors will give you a software defined storage solution. But it's not open source. It's not as underactive development. Cinder's very mature.  A very active community. So unlike a proprietary system, if you were to use Cinder, you're going to get the vibrant community and the active development. So I think Ivan is going to talk now about Cinder as it's normally deployed with OpenStack. Thank you, Scott. So I believe many of us started with OpenStack using DevStack. It's the simplest way to deploy OpenStack on your workstation, virtual machine, et cetera. So I will show you a simple demo with DevStack. I've got almost a default configuration of DevStack. What's going on? Where's the video? It should be video. OK, maybe it's loading. So it should be a default DevStack except Cinder volume driver. I used the RBD driver to this demo. Oh, OK. So Cinder standalone starts two years ago when we were requested to use Cinder with Ironic. That's why I will show you a demo how to attach volume to Nova instance. And then I will create some file on this volume and read this volume from the DevStack host. I will use Cinder local attach feature for it. It allows you to attach volume on any host. And one requirement for this is Cinder client and Cinder break extension, which is available on PyP on Debian packages. I believe on CentOS 2, I did not test. We've got some issues with internet connection. Must be the Wi-Fi. Yeah. That's the way it goes. Yeah. It looks like it's loaded enough of it. I don't know why it's not playing. It just didn't auto start. Oh, I will skip. Demo is uploaded to YouTube. And all links will be available on the end of our presentation. You can download it. You can download DevStack config file and use it on your open environment. So it's using SAP, right? Yes, it is SAP. And this is the standard DevStack deployment that most developers use when developing on any given project, right? So they stand up their DevStack, which includes almost all of the services. Yes. It includes Nova, Glance, Kistol, Neutron, Cinder API, Cinder scheduler, Cinder client. Yes. All right. So what box are you logging into here? You're doing an SSH. Oh, yes. It's a serious default image. I attached Cinder volume to this instance. And I'm using the default tools to create disk partitions and create file on it. As a result of this demo, you can see that you are able to attach your volume to any host and read all data. So one of the use cases is ironing this and containers as Scott mentioned. And also, it could be used for troubleshooting issues when you've got something went wrong with your instance and you can attach volume to compute host to some backup host and do anything you need. All right. So you just wrote some data to a file there. So this is showing that we can detach a volume from one host and then attach it to another, I presume. Oh, Cinder local touch feature works only for admin users because it uses a SkyZee connection or IBD connection in case of safe drivers and safe backend. So what he's actually showing here is the Cinder client that has the Cinder client brick extension installed so that way you can attach a volume to any bare metal host. So that's not actually inside a VM, right? That's, well, I guess that could be a VM, but it could also be bare metal. Yeah, sure. So the original impetus for all this was that using Ironic to use bare metal, we needed to have Nova spun up in order to attach a volume to a bare metal host, which seemed a bit ridiculous. So we, and by we, I mean Ivan, wrote the Cinder client Python brick extension that enabled Ironic to start to use Cinder without having Nova in the picture. But in fact, it basically allows anyone to use this tool to attach a Cinder volume. To be honest, Walter starts with brick implementation in Cinder tree. And after we moved it out of Cinder to Osbrick library, we were able to implement these things. All right, so what are we seeing here to go backwards? So let's talk about Cinder standalone. Okay. All right. It's almost the same, but as Scott mentioned, we need a lot of services to start Cinder with Nova Keystone, all the stuff. It could be complicated and not needed if you need only storage management. So how can you get it installed? Of course, you can use DevStack, but it's not production ready it's only for development testing purpose. So you can use operation system package manage like up to install Cinder, yum install Cinder, but in this case, all configuration will be your responsibility. So you have to create Cinder config and so on. That's why as one of the methods, you can use OpenStack Ansible. You can use CF, CF puppet, but all of them requires Keystone. To be honest, OpenStack Ansible requires Keystone too, but we work on it and I hope it will be merged part of PyKrelease and we'll get standard standalone mode with OpenStack Ansible out of the box. For now, I've got some Georgia hacks in OpenStack Ansible, you can clone my repo and play with it. On internet's work. So our demo is pretty much the same, but I use OpenStack Ansible, I use only Cinder. Okay, as per requirements, I configured Cinder, no ALS support. It's old feature in Cinder API, but Cinder client will support no ALS mode only for PyKrelease. Of course, you can use new Cinder client and all the Cinder APIs, it will work too. That's why I installed Cinder client from master branch because no ALS feature will be merged one or two months ago. And as you can see a bit late in the demo, I use only Cinder services. I use Cinder APIs in the Cinder volume. All of them work in containers except Cinder volume because it's complicated to use LVM inside containers. I mean to use LVM and provide volumes to consumers. All right, so it looks like you're talking to a Cinder instance somewhere, right? Yes, and as you can see, only Cinder, RabbitMQ and MySQL service are running. Nothing else, no Keystone, no Neutron, no Glance, no Nova. And you're still able to use Cinder, attach volumes and use it. Like you use it with Nova. And those are all running in a container there, right? Yes, everything in containers except Cinder volume. And you could run Cinder volume in a container if you had a different back end than LVM storage, right? You can use Cinder volume in containers for any volume, any remote storage, like safe, net up, solid fire, so pure storage. Pure. So are you using the big extension here? So after the local attach is complete, you can see in that output there that it shows the actual raw UDEV device that shows up. And then after that, it looks like you're partitioning it and formatting it. I use the same written machine for attaching volume running, but you can use Cinder somewhere and attach volumes to your desktop, laptop, or even smartphone, I guess, with Android. Walt's show you something different. Yeah. An even more risky demo. Yes. The coolest demo. Well, we'll see. All right, so this is just the raw Cinder services, right? Cinder scheduler, API, and Cinder volume. There's no keystone of off here. There's no glance involved. It's a standalone mode. Good question. This is no off. I use no off mode for Cinder here. It means no keystone, no authorization, no authentication, so all users are, it means, and so on. And can see everything. But don't try this at home, Mr. If you wish to have authentication, it could be used on some trusted environments like one tenant, clouds. Yes, you can implement Cinder client plugin to use DirectLDub without keystone or anything else. Yes, yeah. And of course you can use keystone and everything will be okay. Which we'll see in a minute. Okay, unfortunately, we've got several issues and limitations for standalone mode. Not all supported feature Cinder's work with no off because nested quarter requires keystone with three API. We don't support all of existing drivers. We support only LVM and RBD backends. It's mostly because we don't have a lot of environments, a lot of storage is to test it. So if you are interested in extending this feature to use your storage with your protocol, such protocol, maybe fiber channel, it's easy to extend, mostly add to line to the code. We can discuss it after the talk if you are interested. We've got POC of NFIS support, but it's too tricky, not secure, and has a lot of concerns. So I'm not sure it will be merged in Cinder. It works now only for Linux hosts. So you can run Cinder anywhere on Linux on other servers about to attach volume directly to this host only links to patient systems support. I guess it will be not very hard to add windows support if anyone is interested, welcome to contribute to it. Yes. And of course, I cannot mention security issues because without keystone, we've got a lot of security issues. Even with keystones in the standard mode, it provides to use the many knowledge about Cinder API itself, about storage network, about storage protocol storage itself. That's not what Cinder is supposed to do, but it's how it's implemented, it's how I sky that other storage protocol works. So it's up to you, up to cloud operators to configure all security or to configure, maybe pertinent network to storage for this feature. So we provide this feature, but it's up to operators to configure it right. I hope we will have some security guidelines for it soon. So it will be easy to implement production environments. Okay, so in the bulk of stone, Walter will show you how to work with this stone. Okay. Thank you. All right, thank you, Ivan. All right, so what we kind of showed here, what Ivan showed is how to use Cinder, just bare bones, absolutely bare bones. I actually installed the Cinder myself from the Ubuntu packages and you can actually get that up and running with no Keystone, no Glance. It does function, but you know that you're missing some key features that Ivan kind of talked about already, which is the ability to do authentication. That's a pretty big thing, right? And one of the other capabilities that's not there, if Glance is not there, is the ability to copy volumes to images and images to volumes. It's sort of a way to do backups. You do that a lot when you're doing a standard open stack deployment, when you want to duplicate volumes and create images that you wanna boot later. So there's a use case here for adding Keystone and Glance as part of a standalone Cinder deployment. Now Keystone gives you the authentication that you probably are going to need. And Keystone, as you know, has different authentication backends that you could use if you wanted to play within an enterprise. So you could configure Keystone to use LDAP if you want an open ID. I think it also supports some various other backends Keystone can do. So there's a lot of value for a standalone Cinder deployment for Keystone itself. And it takes quite a bit to stand it up manually, but there's a lot of value there. And Glance, of course, is the other part that I already talked about here of being able to do the image to volume and volume to image operations. And if you don't need that, you can actually disable it in the policy file in Cinder policy when you deploy it. But I think it's a pretty valuable thing. All right, so I think my slide is next. So I brought some bare metal nodes with me here to do a demo, and I'm crossing my fingers that it's gonna work. So I try and do things a little bit differently in the community and try not to live up to my last name, which is boring. So I wanted to do something that was really risky and kind of crazy and stupid, but kind of interesting and fun, and I learned a lot in the process. So what I set out to do was to use Docker containers on my bare metal and deploy the Cinder services, right? That doesn't sound like it's really that difficult to do, but I'm using a different kind of bare metal and one of my nodes is a Raspberry Pi. So I'm using a Raspberry Pi zero here as one of my clients. I have a server that's running, which is a Raspberry Pi three that's right here, and I'm trying to be careful not to unplug the power because it would totally roast me right now. And I also have another Raspberry Pi three here. That's also another client that I'm gonna use to create volumes and attach volumes and so on and so forth. All right, so let's plug this guy in and get it booting. Show that this is something kind of live. Okay, that's plugged in. My phone here will show me when it's online. So all right, so this is the network that I have. This is my cloud, right?  It's my cell phone acting as a Wi-Fi hotspot so that way I can have connectivity between all of my Raspberry Pi machines here. So yes, I am going to do iSCSI over Wi-Fi. It's ridiculous. But hey, why not try that here at OpenStack at a live presentation? Hey, that sounds great. What a great idea. All right, all right, so. It means faster Wi-Fi. Yes, we need faster Wi-Fi. Okay, so it looks like everything is up and running according to my phone. So let's go over here. So all right, we got that up. So 221 is my server that's right here. That's running all of the services. Let's make sure we can get on there. Come on, baby. All right, so what I wanted to do was use Docker to deploy a bunch of containers for MySQL, RabbitMQ, Keystone, Glance, all the three center services. And as they have been mentioning before, I had a really tough time getting LVM working inside the container itself. I tried just as much as I could to get it to work and I couldn't get it to work. There's a lot of issues with needing privileged access to the host system to get the loopback devices in UDEV to work correctly. But even when you do that, you start getting duplicate loopback devices and the host system says, wait a minute, what's going on? And it starts really messing with you. There's probably smarter people that can help me figure that small piece out. But I decided after I was running out of time, I was working on this a couple of days ago, getting that up. Yeah. So I got to the point where I just had to punt and try something different, right? So the cool thing is though, is that I did learn that in fact, Cinder and all of Cinder services itself work great inside of containers, even on a Raspberry Pi in Docker. And it does work and it's great. It's really, really cool. But unfortunately, I'm not going to show you that cool part because I couldn't get LVM to work. But like they said, if I had actually lugged along an actual storage array that I could get my Raspberry Pi to talk to, then I could use that to serve up by SCSI volumes.  So I decided to use DevStack. It's an old anchor of ours as developers. We use that a daily basis, you know, for developing and deploying and stuff. So it's not as sexy as Docker containers, but trust me, it did almost work. All right, so, oops. All right, so here we see, you know, your standard DevStack screen set up as your stack is up and running. And you could see here clearly that there's just Keystone, Glance, and the Cinder services running there. And that's what's running on one of these boxes. And so let's go over to the other client, the other Raspberry Pi. And I'm pretty sure that one is 63. Yes, it is, okay. Get on that one. Hopefully it comes up and it's working its way in. There it comes, okay. So this is my other Raspberry Pi that's sitting up here. And I'm gonna log in as root because in order to do an attachment using the Cinder Brick client extension, you need root access to do the actual attachment piece here. So, okay, so I have a script that I created that helps me set up the virtual environment as well as the environment variables that are needed to set for the Cinder client. And so that's what I'm setting here. So let me make sure I get this right. 43.221, okay. All right, so now I should be able to do Cinder list and let's hope and pray that this actually works. It takes a little while sometimes because this is a Raspberry Pi and it's over Wi-Fi. So it's not gonna be the fastest demo we've ever seen. There we go, okay. So we got a Cinder list, all right. So let's create a volume here. So dash dash or single, let's try one. I probably got this wrong. Of course, I'm trying to create a, all right. I did it wrong. Display name. Display name, no? Okay, I thought that was deprecated. Yes, I thought that was deprecated. Okay, thank you. Name is optional, you know. Yes, it is optional, but it helps to make myself look silly doing a demo. Okay, so hey, there it is. It's working. Let's go over here and you can see some API requests going on. Let's see if I can switch screen windows here without blowing things up and evidently I can't. Maybe it's my fonts. Why can't, oh, maybe that's right, yeah, okay. Let me, let's get out of here. All right, let's start over slightly here. Awesome, yes. If there's anything that can't go wrong during a live demo, it will. Okay, so my SD card may be going south on me, which is what happens on these things. Okay, so let's see if I have any services over there running still. You know you wanna work. Hey, and it says it's available even. How about that? All right, so let's go the extra mile here and try and attach the volume. And science, we've seen the local touch surface, different network connect. So you can configure each network adapter will be used as storage network. Why can't I see? I wanna show the Cinder volume service, but I can't. Screens giving me fits. Okay, hey, there it is. An iSCSI volume attached to Raspberry Pi over Wi-Fi. That's ridiculous, I know, but this is why I do things. All right, so I don't know how much time we have left, but I could show a demo of it actually working on this little guy here in this other screen here, but I think we're getting six, seven minutes. We have six, seven minutes. You wanna see me try it? I'll try it. You get to do one, I think. Okay, this is a single core CPU. It all has 512 megs of RAM. It's running at one gigahertz and it takes even longer to execute anything just because it's only a single core.  Hey, that worked, okay. I thought I could do this. That's not gonna work. I thought for sure that will work. I think name does work. Name works. I think it does. Display name is deprecated. It does work. It does work. Display name was deprecated a while back. It's actually a name, so I just forgot the leading dash last time. Okay. All right, let's make sure it's available, then we'll do the attach and then, I'll call it. The demo gods are kinda sorta with me here today. It's a miracle that I've gotten to this point. Okay, it's available. I'm root, let's do the local attach there. Let's not try and attach the one that's already attached to the other machine. Do we have multi-attach working yet in onion? This would have been a great demo to show that. I actually thought about that. I'm like, well, if I'm gonna actually do that, I need to write some files to it. I'm like, well, okay, I can't use EXT anything because that would immediately blow up. And I'm like, well, I need to install GPFS. And I'm like, oh God, do I wanna do GPFS on Raspberry Pi? No. Okay, so I just thought I'd get to this point and see if I can get this to working. And hey, there it is. It did in fact work and attached. And now we have an iSCSI volume attached to a Raspberry Pi Zero W over Wi-Fi on a cell phone, on a conference. All right, so there we go. We... Good job, Walt. We have a couple minutes for questions if there's any questions. We're done. Oh, you want me to do a benchmark on it? Okay. I had a question. I think, Yvonne, I might have made the comments. Not all of the drivers support standalone Cinder? No, it not dependent on driver implementation. But Cinder local touch feature works only for iSCSI and RBG protocols. It's only because we did not test it and we do not want to enable something which won't work. So any one of the drivers that supports iSCSI attach to the Nova hosts today can support local attach over iSCSI? It's almost all drivers works over iSCSI but just have a fiber channel or... Yeah, sure. And a file source or something, yes. Yes, all iSCSI drivers that should work in Cinder as they do to Nova should work in this case too, should. What are the underlying API calls? Like, I noticed, you know, you have to run it as sudo. It says the OS brick, I guess, plugin supports iSCSI. Does it have to use a specific iSCSI target implementation on the machine that you're locally attaching to? I don't even know if I'm using the right word, sir. It requires open iSCSI package and that's all. And it uses the standard Cinder APIs for attachment like Nova does. The questions? So you can see here at the bottom my, I'm just using HD Parm to do a generic really lame performance test and you can see how incredibly speedy iSCSI to, a Raspberry Pi W0 is and I tried running it on my Pi 3 and it's, well, it seems to be worse. But it could be for any number of reasons, so, anyway. But it'll work better on your own enterprise system. Yeah, so, you know, when you want to deploy your cloud on a Raspberry Pi cluster, then this is the way to do it. Another question? Basically, I just want to ask you like, how you get rid of the most open stack components. Then I just wonder like, what's the really usage here? I mean, what's the difference between this one just from the iSCSI ADM command to attach a lung, you know, I mean, without those time, maybe you don't even have a QoS controls on all the drivers. So do you have it or not? And also like how do you play with the live migration in this case, if you want to do this? So one thing that is not tested to my knowledge is some of the other features of Cinder like the migration and backup, et cetera, et cetera. Some of those probably could be made to work pretty quickly but they're at this time untested. But why use it? Was that your first question? You know, really it would just be if you wanted to have some, well, or you wanted to have some way to manage storage and you didn't want open stack. I mean, if you're here for open stack and you have an open stack cloud, you get all this. But if you need some way to manage storage, you want to be vendor independent and open source, you want to have a way that provides an API to your users that's consistent so that it can abstract away the storage. You can get all the features of Cinder without the open stack overhead of Nova and Neutron and all the other things you have to. Yeah, you could have purchased a particular vendor's backend and use this to create your volumes and then realize, hey, I want to switch over to another vendor or SAF and go open source. Then you can use this to actually migrate your volumes too. Or open open stack too. Three different vendors in SAF you could have a mixed deployment of storage and make this work. What I'm asking is that the other thing is that in open stack for the same driver, you can configure different drivers for different tiers for the QoS, but you can just stand alone and do still have this kind of feature. So actually, yeah. It should work. Most of the QoS, it depends on what kind of QoS you're setting up in your volume types, right? Because you can set up your volume types such that all the QoS settings are based upon the backend itself and the backend does the QoS limiting and rating for you and not Nova and Libvert, which is what I think you might be trying to distinguish there if I'm hearing it correctly. Yeah. Yeah, so the sender backend would do that for you. Got the acknowledgement slide. Oh, got the URL for the slides too. All right, so here's a couple of acknowledgments. So one of our other developers on the sender team, Gorka, he actually created an amazing blog post that talks about in depth how to do a deployment of sender stand alone. And that's kind of what gave me the motivation to do a presentation here to talk about it as well as do something crazy here. One comment about this blog post, it's absolutely great, but minor comment, it was pretty old before Cinder Client implemented no-else feature. So for now it works out of the box if you installed Cinder Client from the Git Harper repo. Yep, yep. All right. Thank you. Thank you. Thanks guys.


Remote sensing is capable of providing information on mangrove status and changes over a large spatial extent and in a continuous manner. In this study we use Landsat satellite images to analyze the changes in Iskandar Malaysia, AIM, the fastest growing national special economic region in southern Johor, Malaysia. This article was authored by Kusturi Devi Kanaya, Afsane Shiki, Arthur P. Kraknel and others.


Tää on Kiri, minä olen Finland ja minä olen nyt ymmärrän opensoftware konsultaasi ja opensource konsultaasi firm. Meillä tuli edes kehittämään ilman, koska ensimmäinen kertaa, että olemme löytyneet, että meidän liikkuu ei ole niin hyvä. proimittiin ca. 50 000 euroa rokotteen pork Green for just our reports that never got to the system, so then we had an idea or or as we thought, and there came this weird feeling that we can do things pretty much faster. And well, first of all, I will tell you about the manifesto, the reasons for this system. The world is decentralized. When was the last time that you had to share a document with your customer or with your co-worker and you were in a situation that it just wasn't, well, this connectivity of email isn't always the greatest way to do it, so your CRM system should make this easy and flexible. Sharing is security. As Linus Torvalds once said that only Vimps use tape backup, real men just upload the stuff to the FTP and let the rest of the world mirror it. And you are often online, offline, I'm sorry. And this is basically what it is. It's an offline CRM application, so you can use it wherever you are in a train, in a bus. And currently we have embedded it to a few mobile devices, so you don't have to always open up your laptop, in example a bus, which isn't the greatest way to do it. Web is a native platform. IATUS is based, it's a simple one HTML file actually, which just gets controlled by JavaScript to render all the UIs and everything. So like these days people are more and more using web applications, the forms, breadcrumbs, navigations are coming more and more the real basic intuitive way of doing things and applications. Speed matters, no one likes to wait. And speed, Saviola if I think right, said once that no one likes to wait in a queue or in a restaurant for food and we definitely don't want to wait for our web pages to load. So that's why offline simple Ajax user interfaces are pretty nice solutions. And everything can be connected. You never really know in a CRM system what you want to connect to each other. Like you have a meeting notes and you may have a meeting notes about those meetings and you also may have our reports of writing those meeting notes or whatever. Or you have a project which has a different kind of tasks and they have different kind of projects underneath and just endless loop.  So Ayatus basically manages everything online at least on our point of view. We have a billable hours, expenses, notes and contacts and events that we can all handle through one application. And to connect data to each other we use tags. And here this is actually a simple proof, one page of the Ayatus itself. With tags we can have a simple tag just like name me or then we can have a tag named project, semicolon and something else and we can also add value to it. So it can be an example project support for that and that equals year 2008, an example. And tags just connect objects to each other. So every object that has a different tag just gets connected. Nothing fancy about it. Well, we get back to this later and we also have faster reporting. The fast speed is really a factor for us. So in here in example is a simple report form. There are a few types of these forms but report form is a basic scheme. We have a date, our description, tags, what you want to link it. It's a whenever you press create here it gets updated to the app and you get a new blank form and you can always start it over. So just keeps going and going and going. And well a little bit about the background of Ayatus or the structure itself. So the bonus of Ayatus is based on jQuery Javascript library, which is a fast and concivs Javascript library. Basically the same as dosers and prototypes and all this. It has all the HTML traversing and CSS selectors and all this kind of thing. And it's of course chain ability which is really important on this project. And Ayatus is actually just a huge plugin to jQuery as jQuery has its own plugin structure. And it's a namespace under Ayatus. And the heart of it is jQuery couch. It's a jQuery plugin for couch DP. I will get back to that later on also. And basically what it is is just a wrapper for couch DP database which uses restful JSON packages to communicate. And this jQuery couch just makes it easier for developers to communicate with couch DP with Javascript. We have a simple example of how to create new database to the couch DP. So it's based on connections. We have three different connections database, documents and views. And they have each their own methods. And it's also chainable. So we can just continue this line like when we get here, if this were document creation, we get the document back and we can update it. And also save it or destroy it in the same same same line. And the sole, the couch DP. Couch DP is actually a really huge thing to talk about. So I'm only going to go through it briefly. Basically what it is, it's a NRDBMS word monster. It's a document database server accessible through restful JSON API. And the greatest thing is that it's totally schema free. There are no tables or columns or everything you just push like JSON objects inside it and read them. And it has a simple replication utility inside it. It uses HTTP protocol and you can use it with any language actually that has HTTP and JSON library with it. So you don't really need a Javascript or something like that to use. You can PHP, Ruby, whatever. And the couch DP itself is written in Erlang, which is really nice language by the way. And 10, a little bit about Iotus structure. Iotus is basically structured on three parts. There is this documents, which Iotus document is basically JSON object, which has a lot of, it has its own major data in example and can contain file attachments. And every time we read or are saving document, it gets automatically validated and repaired if the scheme has changed for some reason on that behalf. And this is a simple structure of the document. These two ID and revisions are the couch DP's defaulted meta values and then inside the value that we collect everything key value pairs, what we have. Okay, Iotus views. This is almost like model view control pattern but not even close actually. But views is, it's just a way of defining like listing and view edit. Here we have an example like part of a listing views and then we have an edit views. So it just renders the scheme and whatever view we are in and accordingly to those rules. And the UI is still a little bit rough but we can handle it. Okay, and then we have some system defined views. Those are like those previous one was automatic views, which are generated from the schemes. And we have then system defined views, which are actually coded views. And in example front page and trash archive tags. And this is a preview of archive view. And we just, in a archive front page, we see the list of archive objects recently. Okay, Iotus types. They are schemed couch DP documents. Here we have a simple scheme from, this is written in JavaScript file, which defines the Iotus type. We have currently inside, we have our report, node, contact and event types and experience report type. So basically we just define what we have, we have a title, label it title, it gets localized later on. Richard, this uses Richard text. No config for that. Default value null required true. So pretty simple. And they all also types can define their own views. Well, plugins. Iotus can be extended in a lot of ways. Basically the easiest way is to just write, get to the JavaScript core and just start writing there or create new views, content types, whatever. Or you can just use any language that you prefer and talk to the couch through simple API or to the couch systems like straight to it. And of course plugins can be used to connect the edges to existing CRM systems. So you can create links between them easily. And a little bit of a feature. We are currently building a expansion packs, which are more like a, you can totally rewrite the whole like system with just the expansion pack. You can select them from the preferences pages to say enable this expansion and you can define everything, change everything everywhere inside that expansion. It's still a little bit in a thought. And of course we have a scaffold coming. So you can easily create those types and expansions more currently. It's just copy C, copy V and rename it. So that's it. But we will have a scaffold for them also. Pillow talk is actually going to be pretty nice. It's actually going to be much larger than we actually thought in the first place. But it's going to, we are going to use it instead of the HTTP protocol based replication. We will use XMPP, so Japper for the replication. So whenever your contacts came online and they have I have to install or your data gets replicated with them and the other way around. And also we are creating a new UI for the mobile devices, a little bit better CSS, larger buttons and more padding between them. And currently we have a implementation of Ayatus in Nokia Internet Tablets and OLPC. Had it running, but hopefully we will get more of this soon. And I will get back to this one view for a second. Yeah, yeah. Okay, so basically this is a, this is the simple view view view of the node object, node type. And we have a title and description in here. The description is actually, you can select which content it is. This is currently a markdown. And then we have a method visible on the view. And we have also, as you can see, revised and revisions. So it has a full revision support. So whenever you are editing a node in, let's say in a meeting room and you're talking in at the middle time, you're writing at some points. And then you're talking again, because it's web application, it's really important that it has autosaving. Because otherwise if you're browser crash, you just lost what you ever was written before. So it autosaves the document in, you can prefer the default is five minutes and it actually checks if anything has changed. Otherwise it doesn't create a new revision for it. But yeah, and then you can browse the revisions back and forth and edit the previous ones or make them as a new one and those kind of things. And yeah, actually there is, I think I thought too fast, because I still have time. But okay, let's check this out. Resources, Ayatus is located at ayatus.info. And of course jQuery and jQuery Couch is added to the plugins, the jQuery site and CouchDB. I really hope people can check it out. It's actually really usable in many cases. Ayatus is just one application that you could use to build on it. Basically what we are running this on now, we use a desktop machines and we have a company server, which is a central replication server. So all of our consultants replicate to there and replicate them from there to their machine. So everyone has a copy of everything all the time and still everything is accessible offline and still of course backed up to the central server and for easier access. Because we are not always close up so we cannot do peer-to-peer replication. So we use the peer-to-peer to the central server and then everybody peers from there. So that is basically it currently. And there are a lot of future plans also for little machine just widgets. Okay, thank you.


So this video this video All right, let me actually pull up the email first. Well first of all Tom likes to make us nervous sometimes He was out at gone in a meeting for like two hours with somebody and then came back and said hey Let's make a video about firing people. Yeah, and so Kyle and I were both kind of like So what kind of video about firing? Yeah, and so this is a very Marvin just fired someone and we're talking about firing clients and So this is about firing clients and it was just a weird coincidence Marvin fired a client because the client had to be fired and Someone literally sent me an email titled client firing. I'm gonna leave out the details I don't want to I don't like to reveal anyone's personal information, but I will say That a I'm making this video right now because it's Alignment of reasons I should make it one you sent me an email And you know who you are and maybe I think others have an interest in this Marvin just fired someone. Yeah, so Here's the thing about firing clients and this is very impromptu But it's just a process you need to go through when you are a smaller company You take a lot of crap from other people sometimes because you kind of need the business which I don't think is always the best move And it is coming from what may some may call a position of privilege where you deny clients Well, you had money to deny them. I didn't though But you want to keep your sanity either way we have at times fired clients and we just had to fire one of them the other day they are Nuts and this is sometimes you cannot deal with people You doesn't matter what we do the client was never happy and there is no making this person happy They don't like paying your bill There's at least one major issue and reality is when people don't pay their bill and say I'm not you know I'm a good customer. I'm like no, no, you're not a customer off You don't pay the bill You're just someone who I'm providing services for that doesn't pay the bill and that's something to keep in mind too If you have to constantly chase them down Well, guess what that costs you money. Yeah, that's that's not only not only are they not paying But you are then paying to try to get them to pay Yeah And it becomes this constant loss leader when you have to chase money for them for projects that you did that you Build out for them and they're like well I think that should be included or whatever and this was even a go-to-go server I managed client who was giving us a lot of problem. So they were our manager says but here's what they would do They would bring in their own computers or other computers add them to the network But then expect us to fix them too because we were fixing the other ones and they're like well We want to transfer the agreement over to this one. We look at it. What's all virus up? Well. Yeah That's why I want to transfer that one. I'm like you don't want to add it And they're like no they want they would find any way as if it was a loophole in the system To do the things they do they would complain about things. They would try to do a pressure thing Oh, I had my friend look at and he says you're not doing it, right? So I should get a discount this month because he found a problem You didn't know about what problem and it was always these vague as if that's a strand and I say if they had their friend Do it it voids your your service warranty. Yeah Because now we have to go through the extra work of figuring out what your friend screwed up so that we can then fix it And most of his friend was his son who came in and goofed things up was we actively caught his son goofing things up And unplugging things on numerous occasions now we will take care of your IT but when you have your kid coming in who knows computers and Hey, great. Everyone has to start somewhere and learn dad's company while under a contract is Not the place to do it or you're gonna get a bill and now this kid on plug things plug things in wrong Admitted to it at least dad said my son wouldn't do that kids like yeah, I did that And then the screaming would begin because screaming was definitely something this guy likes to do Oh, yeah, he's at about this volume level all the time. He's hyper Excitable about things does not like replying to emails if you asked him a question email He will smoke certainly give you a phone call no matter what it is He likes to say yes or no be a phone and he said I'm reading email you did I printed out the guy has an old-school mentality for things yeah, so We went there to collect in person once again that money-chasing thing So we're there in person because you know the credit card they put doesn't go and yeah So now Marvin's there in person collecting once again that spending money sunken costs So yes firing clients is appropriate. It is healthy for you They may not ever be a healthy business So there may be sometimes that they're just not a fit But there's other times that some people are nuts and they do happen to own businesses and they will continue I Remember when I fired one of my clients over told you this hmm.  I go what did you tell him something cost money? There it was there was and I'm like, yeah They go we draw straws that who has to tell him on something breaks because this was a big enough company that had a staff of about 30 other Construction workers and had industrial equipment like bulldozers. Oh my gosh So you're not talking about some random guy running a place You're talking about a company that did millions dollars a year By the way it did catch up with them and he is out of business and I don't feel bad at all Good news is the company actually bought and they rebranded it and they're still kind of there I'd like to get them as a client who's there now because they have nothing to do with them But the employees were saved by this other company buying them out and he's gone.  He's he's gotten a total Yeah, he fell off his assets everything were liquidated and sold when he went bankrupt to the other company But yes before I digress here Good idea to fire people I've said it like I said my regret is even suggesting I would come back to that company after he flunked things off the desk But I just he said I didn't want deals no more Is it worth the however much you get from them?  Yeah quote quote quote that may be true. I know there's some bad IT companies We've all seen the wiring mess. We've all seen the things we've all walked in I'm not just Tom playing it But if they start out hardcore bowed my bad mouthing the last guy think about it a second and What did they do to attract that person?  He was right And they we can't believe anyone would not be nice when they have been a wonderful client for years We're like wow, I feel bad that you chose a horrible person for your IT We're here to help and they have paid their bills and been an absolute easy to work with when we say you need something new They go, okay. When would you like to install it? We love them as a client embrace those people. They are rare. There's never enough of those customers There's always the ones we're seeking most of them are going to be in between average Hey, here's a proposal. Can you do it for a little cheaper you negotiate and the project gets done and it happens It's nice, but yes firing clients important important for your sanity important for your company Because they can be a drain on your resources and then Think about the big picture drain of how much time you spend chasing them for projects time and money for you sunken costs with them You know who your troubled clients are every now and then it's a good idea Just to look over what they've spent with you what they've what you've had to do for them It is worth it. It is liberating because the client came as a recommendation. You should really help this guy And we tried to help and we even the people who refer to him say, you know, we know he's difficult No, he's not just difficult. He lives to be difficult impossible impossible We decided that he does not like the fact that we fired him that much He thinks that we should still do swear and we were like, no, don't call us Just lose our phone number find another it guy. Can you recommend someone? No, no, I like people call the guy I don't have any enemies right now or I would recommend call the guy you had come in and Yeah, what we didn't do right quote unquote quote on wrote So that was it just a quick video on it I thought it was funny that I had both got the email and my fired a customer like just well yesterday Yesterday was yesterday.  Don't worry It's coming off, buddy. We don't give services for free. So it is being removed. Yeah So, yeah, that's uh, just a quick video on that topic. I wanted to share with you guys, uh, Firepeople firing friday fire on friday friday isn't good day to fire. It really is if you're finding people Studies have statistically shown that there's less chance of an incident Fire people on a friday little office space for you. Yeah. Yeah Thanks. See you Thanks for watching. If you like this video, go ahead and click the thumbs up Leave us some feedback below to let us know any details what you like and didn't like as well because we love hearing a feedback Or if you just want to say thanks, leave a comment If you wanted to be notified of new videos as they come out, go ahead and subscribe and the bell icon That lets youtube know that you're interested in notifications. Hopefully they send them As we've learned with youtube Anyways, if you want to contract us for consulting services, you go ahead and hit laurance systems.com And you can reach out to us for all the projects that we can do and help you We work with a lot of uh, small businesses it companies even some large companies And you can farm different work out to us or just hire us as a consultant to help design your network Also, if you want to help the channel in other ways, we have a patreon We have affiliate links. You'll find them in the description You'll also find recommendations to other affiliate links and things you can sign up for on laurance systems.com Once again, thanks for watching and i'll see you in the next video


Welcome back to my channel and happy happy Saturday. It is Saturday. So, you know what that means It is grocery haul day. I am doing a Walmart grocery pickup I'll be doing some shopping at both Target and Trader Joe's so I have quite a large haul for you again this week We are having a couple of little get-togethers for the 4th of July My mom and her boyfriend and some family friends are coming over Friday night and then I have friends coming over tonight So it's going to be a busy weekend with lots of little festivities lots of food needed So I have quite a large haul not to mention my amazing meal plan and meal prep for this next week So if you want to see what I picked up for this week's grocery haul my meal plan and meal prep stay tuned So here's this week's grocery haul I have a huge haul this week Not only did I have to grab everything for meal prep and meals throughout the week We also are having two separate barbecues this weekend So I had to make sure that I grabbed everything for those barbecues as well So we got a big haul so let's jump right in so these are some of my very favorite potato chips from Trader Joe's They are seasonal you guys know I bought these the last few weeks I got them for the barbecue, but these are a mixed bag of sea salt and vinegar delicious dill home-style ketchup and Kicking sweet Smokin sweet barbecue flavored chips so good now these don't have the best ingredients, but they are seriously so good I had to pick up one more bag while Trader Joe's still has them in stock and they're not bad in smart points or calories either I will be putting both points and calories here on the screen so that you guys are aware if you're counting calories or points Or both I just got a thrive order and I ordered some organic pizza crust So I grabbed some of the Trader Joe's pizza sauce this sauce has pretty good ingredients. It's super low point It's really really delicious so that way we can have a pizza night And then I was almost out of cumin so I grabbed another cumin at Trader Joe's you can't beat their spice prices So $1.99 which is a stellar price so I grabbed that and then I restocked my coffee creamer this time I grabbed the fair life creamy in vanilla Again all flavored creamers have natural flavors not always the best ingredients But this one is pretty good and it's pretty low in smart points because it's only 30 calories Per tablespoon in lower sugar than a lot of the other options if you're not interested in a sugar-free creamer This is a good choice. I needed some more maple syrup just until my thrive order gets here I usually buy it from thrive. It's way less expensive But this organic Vermont maple syrup from Trader Joe's is awesome By the way, I will link thrive down below for you guys You get $20 worth of free product of your choice when you join the thrive market. So definitely check it out Also a small little thing of Parmesan cheese just because our other one was expired We don't use it that often But I wanted to make sure that I had some on hand and then in the back here I have of course the partake cookies. These are some of my very favorite these cookie butter ones are amazing They're soft. They're so good. You can have one cookie for two smart points. A serving is three cookies So however you want to do that calorie point-wise and then I also grab the birthday cake ones because these ones I have to say are my very favorite with these cookie butter ones in second place the chocolate chip We're good, but I just like these two flavors a lot better a restock on my great value unsweetened almond milk I really like this almond milk and I love that. There's no carrageenan and no natural flavors and it's super super affordable I've been using a lot of almond milk and smoothies and protein shakes So I grabbed that since I did my Walmart pickup Target I grabbed a six-pack of my Zebia ginger root beer Fred Meyer is the only place Which is a Kroger store that I've seen Zebia in the 10 pack or 8 pack for a way better price So next week I'm probably going to go shopping there But this week I wanted to have some to kind of make it through the week So I grabbed a six pack at my local target at Trader Joe's I grabbed the salmon and sweet potato treats for the dogs.  I bought this a couple years ago, and I love it I love having my skin all soft and moisturized in the summer Five dollars. I think for this big container So highly recommend if you have a Trader Joe's near you I grab some more eggs and as far as eggs went This is really the only option at target. These are the good and gather organic large eggs They were pretty affordable. So I grabbed those and underneath my eggs is two packages of Ultra thin roast beef from the good and gather brand. This is for my husband for his lunch He asked for roast beef sandwiches this week. So I grabbed that. This is a new thing for me These are the perfect bite. So these are refrigerated little protein snacks I always look at the perfect bars when I'm at the store and I just never buy them because they're really high in calories and points for That matter, but these aren't too bad. You can actually have 11 bites for a hundred and sixty calories I haven't taken a really close look at the ingredients, but generally perfect bars are pretty good And it has 20 plus superfoods. They're organic and in one serving you get seven grams of protein And they're pretty good size you could have half of a serving and still get a good little snack in so I grabbed those and then from Walmart some more Parmesan cheese just because I need this for actually several dinner recipes this next week Some organic feta you guys know I love this on my salad And then I'm actually making a big green salad for both of the barbecues And I'm gonna do my my salad the feta the strawberries the pumpkin seeds all of that So I grabbed some more feta Also some buttermilk bread. This is for my husband's lunches of course for his roast beef sandwiches And I loved these last week you guys when I grabbed these little good culture cottage cheese The pineapple is my very favorite the blueberry was okay. I've never tried the raspberry So I'm excited to try these this week These are really low in points and it's a mix of cottage cheese and fruit So it's kind of a nice little treat and it's a hundred calories I think it's three or four points and only three grams of sugar So I got a raspberry to try and then two more of the pineapple because like I said those were my very very favorite So excited about those Some turkey pepperoni. This is for a meal prep. I can't wait to share meal prep and my meal plan with you So stay tuned after the haul for that Lots of cheeses a restock on my light shredded cheese for recipes Mozzarella cheese, this is another thing I love and I shared last week that if you do pick up this mozzarella from Trader Joe's It is one ounce for two points So it's a great dupe for that one point light Mozzarella that Trader Joe's used to have and this stuff is amazing. So I grabbed that the baby Swiss is for his Roast beef sandwiches. I thought roast beef in Swiss would be a great combination Wonton wrappers this is for a recipe. So I grabbed these at Walmart. I actually didn't see these at Target So I was glad that I added them to my Walmart order Grab some of these true story. These are brand new at Trader Joe's un-cured beef hot dogs These are organic. I'm excited for these I heard on Katie Hesby's channel if you guys don't check her out She does a lot of Trader Joe's hauls so check her out if you love Trader Joe's But she talked about these and I thought for the barbecues this weekend This would be great and they're only 120 calories per link Which is pretty good for a full fat sausage. So excited for that Also got the organic sweet Italian chicken This is for a jambalaya recipe that I'm making these are incredibly good as well and fabulous fabulous ingredients for these Big bag of powdered sugar. This is for the desserts that I'm going to be making for our barbecue I'm going to be doing a fruit Pie it's like on a sugar cookie crust with cream cheese and fruit And then I'm making homemade little biscuits with fruit and homemade whipped cream kind of like a like a strawberry Shortcake for the 4th of July with berries and blueberries kind of the red-white and blue theme And I needed powdered sugar for all of those recipes and under that is of course Per the usual the six pack of kombucha from Walmart. This is the best price So anytime I go to Walmart, I add this to my car as well I picked up a box of the simply balanced organic low sodium chicken broth from Target There was a great coupon for this and you guys know we use chicken broth for so much that it's nice to just have an extra one on hand This is a new find for me And I actually was just walking down this aisle getting ready to leave a target. This is the simply balanced light Chai tea latte now this has pretty good ingredients. You can have three quarters of a cup for only 45 calories Here are your ingredients. I think natural flavors was the only thing I didn't love Which really you guys anytime you get anything flavored It's probably going to have natural flavors, but I thought that I would give this a try I thought it would be really good and refreshing for maybe like an afternoon snack So next time you're at char target check it out I'll let you guys know how this is Four cans of green beans and take a wild guess who those are for diesel and Lola I always grab them at Walmart.   I believe they're five points But they're only 130 calories and they're just full fat delicious great ingredient yogurt So I grabbed those I like to have those as a snack Especially either pre or post workout because you get a good amount of protein and fat and they're really really delicious Top it with a little bit of granola or some fresh fruit and it's a perfect snack You can even have that as breakfast with some eggs Amazing and then for diesel like we talked about last week for his digging in the gravel I grabbed a couple more packets of taco seasoning This works really well if your dogs dig in places because they don't like the smell of it So we just sprinkled this down in the gravel and voila. He doesn't dig anymore And then you can see I picked up a sugar cookie roll. This is for that fruit pie I don't know what it's called. I'll put it here on the screen. It has a name for it I think it's a fruit pizza But you make a sugar cookie dough crust and it's so good you guys So I grabbed that for that barbecue recipe some no key This is for a couple of dinners coming up a pound of 99 percent ground turkey just because I just used my last pound of 99 and Sometimes I do like to use this 99 percent in recipes if I'm trying to reduce calories and points It works really really well. It's super low calorie It's zero points on blue and purple and really low on green So it's just a nice option to have available in the freezer I need a cream cheese for those recipes for this little barbecue and party that we're having I'm also making homemade whipped cream. So I picked up two packs of heavy whipping cream from Walmart We're having burgers. So one night We're going to have the burgers that came in my butcher box Which you guys if you're looking for affordable grass-fed grass-finished beef check out butcher box It is super affordable down in the description box. I have a link for $30 off your first box You can't beat that you basically at $30 worth of free meat. We love it. We get a box every other month I have one package of burgers, but since we're having two barbecues I needed two packages. So I grabbed these good and gather ones from Target Clio bars per the usual So you can see my stack I have going on here. This vanilla is my favorite now I really like the strawberry too, but I love the vanilla. So these are a hundred and forty calories Per bar they have eight grams of protein.  They're that good. I love the vanilla I love the strawberry. So it looks like I grabbed eight of the vanilla and four strawberries So these will definitely last a while, but you find these in the yogurt section of Walmart I don't know if other stores carry them. I heard Target does but my target does not So I think it's kind of hit and miss but they are by the yogurt I get tons of questions about them You can also buy them on the Clio snacks comm website if that's easier for you, but I think that they're a little more expensive there So check your local Walmart. See if they have them I've also heard that they are sold at some Sam's Clubs and Costco's We don't have Sam's Club here and my Costco does not carry them So lots of options to pick these up if you're interested and then for my husband I grabbed just a little jar of olives. You guys these were like 80 cents at Target You can't beat that and he loves green olives. So I picked those up And I needed a couple of different craft dressings for a couple of recipes I couldn't find the other one. So I'm just gonna use this zesty light Italian in both recipes I think it's going to be just fine, but I have a couple dinner recipes that require Craft salad dressing. So I grabbed that at Target Walmart I grabbed my buns for the barbecue. So I have two packs of hamburger and one pack of hot dog That's because these buns are only a hundred calories and three points So they are the lowest point buns that I can find in my area hands down. We do not have Schmitz 647, which I know is another really low point bread and bun option We don't have that in my area. So this is by far the lowest calorie lowest point bun So it's gonna be perfect for the barbecue for me to not have to count a lot of calories and points for it I also grab some cauliflower gnocchi at Trader Joe's just because we only have one bag left in our freezer in Truthfully, this is a staple in our house. Also a restock on my Yasso bars. I loved having these last week These are so good. Now are they the cleanest food? No, do they have better ingredients than a lot of the low calorie ice cream bars? Yes, so I picked up the chocolate chip cookie dough I loved this one and then another box of the mint chocolate crunch This one is so good too. So this one's a hundred and fifty calories and five points And this one is a hundred calories and five points. So just keep that in mind. They are five points apiece Now everything else is produce. So I have a bag of organic lemons Of course for my water a couple big sweet potatoes here This is for my lunch meal prep for this next week, which I'm so excited about Fresh basil for salads and then I also want this for pizza and dinner recipes Mushrooms for a recipe these organic cremini from Trader Joe's are so good. You guys the best mushrooms And then I needed some tomatoes not only for burgers, but also for recipes Tri-color peppers I'm going to add some of these to the salads that I'm making for the barbecue And then I need peppers for a couple of dinners and then lastly I have some more frozen veggies from wal-mart the Seamable multicolor cauliflower blend. I really like this one and then just some organic broccoli florets And I also picked up a bottle of wine for the barbecue water and beer for my husband But that's this week's grocery haul. Holy moly my friends. We made it through So let's jump into meal plan and meal prep. I forgot to show you guys my fruit These are for the red white and blue desserts and then of course the rest for snacking. So I did grab a big I mean, this is a huge container of blueberries 8.99 at Trader Joe's for organic blueberries And then also a big pack of organic strawberries again for the desserts and then the rest for snacking So now let's do meal plan and meal prep. All right, so let's get into this week's meal plan and meal prep Again, I'm showing you guys my carry ale meal planner. I'm not sure if these are back available I know they do have the printable version. So if you're looking for a great meal planner Definitely check out the carry ale. You guys know I love this So I did put together my calendar for july. Isn't this so cute with all the llamas I did kind of map out what I was planning on having for dinners now Sometimes I do change up the days that I have these particular meals But this is my plan of attack for the month of july So I do utilize the monthly calendar and then each week There is actually a weekly menu and a grocery list and I use that as well So let's take a look at this week. You'll see the grocery list is missing because I took it to the grocery store So this is seven four through seven ten So saturday we are having a barbecue the day you're seeing this video We had a little fourth of july get together yesterday and today so it's going to be super super fun So i'll be using weekly slash calories for that sunday. I'm making slow cooker jambalaya. I am so excited for this recipe I'll be featuring this in my what I eat in a day that will be out next wednesday So definitely stay tuned for that. You're not going to want to miss this recipe Monday is pizza pasta salad. This sounds very intriguing. I'm excited for this I'll probably pair this with some sort of zero point protein I'm not sure what we're looking at points and things in this salad So I'll probably pair it with a low calorie zero point protein Tuesday, this is another thing. I'm really excited about gnocchi and meatball bake So this is a casserole bake with gnocchi, which is one of my favorite things meatballs, which I love So i'm excited for that Wednesday, I think we'll do some leftovers just because we'll have quite a bit from earlier in the week Thursday, we're going to do some grilled bruschetta chicken My husband is off thursday friday saturday, so i'm going to have him grill some up We're going to put some bruschetta on there. It's going to be delicious And then friday we'll do another leftover night simply because of having so many leftovers from earlier in the Week now on the back of my weekly plan is where I decide to also plan for my meal prep So all of these recipes you guys will see in my meal prep video. That will be out on monday I am so excited for these three recipes. I can't even begin to tell you So keep your eye out for that video monday for breakfast. I'm going to be making breakfast Cups. Oh my gosh, that sounds so good lunch is going to be turkey sliders with sweet potato buns So this is going to be an extremely low point dish on the purple plan and still great on blue and green as well So we're using sweet potatoes in place of buns So this ought to be interesting and then i'm making lemon bars because it's summer and we love lemon Especially in the summer. So stay tuned monday for those three recipes. So again, that's my meal plan and my meal prep for the week My cariel meal planner go ahead and head over to their website Check it out. See if they have the spiral bound available or just the printables But I love it and it's such a great way to stay on track Thank you so much for joining me on another weekly my w w grocery haul Who my friends we had quite the whole this week. We had such a great time friday night I'm looking forward to tonight my meal plan and my meal prep for next week. All of it sounds absolutely Incredible meal prep will be up on monday. So stay tuned for that You'll see a recipe on wednesday and I have lots of fun videos coming your way the rest of the week So if you're not part of my channel, make sure that you hit that little subscribe button And the bell next to it so you're notified when new videos are uploaded Check out the description box below for the link to my website also to head over and join my facebook group We would love to have you be part of our amazing supportive warm community over there We have grown by hundreds of new community members just this week alone. So head over and join us You'll also find links and discount codes to my favorite things. So check out that description box Give this video a big thumbs up if you love yourself some grocery haul And let me know down in the comments if I showed you anything new that you have to get your hands on Happy saturday my friends, and I will see you tomorrow in sunday's video. Bye