Hi everyone, Joe for jaspyscasebreaks.com coming at you with a quick little pack break right here. 2020 Panini Score Football, one pack break number two, random team break number two with four mixer spots being given away. After this, if you're watching live, after this, I think we only need to do one more mini break and that unlocks the football mixer finally. So let's make that happen. Go to jaspyscasebreaks.com, look next to the football mixer, you'll see it. So, as always, we're gonna do the pack break first and then we'll re-randomize the names at the end. The top four will get spots in that football mixer. Big thanks to these folks right here for getting into it. There are the teams. Let's roll it, let's randomize it. Seven times, four to three. This is the break first. One, two, seven, then final time. Patrick K, down to Dustin. Seven times for the teams. And seven then final time. After seven, we've got the pats down to the bangles. All right, so here's the first half of the list right here. There you go, this is 2020. So, Dustin, maybe a Tua in there? Rookie card even, autograph maybe? I don't know, it's just a pack. Can't really expect too much out of here, but you never know. We've been surprised before and Dustin with the bangles, there you go. Chargers Daniel, Chargers right there. And we've officially changed it to the Las Vegas Raiders, it's a big moment. All right, so, no trade windows and stuff like this, so let's just quickly print and rip and give away those mixer spots. That's the important thing here. That's the important thing. Do I like Las Vegas Raiders or Vegas Raiders better? I'm not sure. I think both are okay. I think they're officially styled as Las Vegas Raiders though, as opposed to the Golden Knights who I think are officially Vegas Golden Knights. And we've got Tyler Huntley, is your rookie autograph? I don't know which, personally, I don't know which I like better than both. Both are all tongue okay. All right, Tyler Huntley, where do you go? Tyler Huntley is a Raven, a Baltimore Raven. All right, so, let's get Baltimore on there and that is gonna be for Ryan Shackleton. There's four autos in this box, so, there's a chance to get autos in these little pack breaks right here. All right, now on to the important stuff. Adam, from Adam down to Dustin, those 32 spots and everybody in between. Everyone has a shot at winning those mixer spots. Top four after seven. Top four after seven, six and a one. One, two, three, four, five, six and seventh and final time. After seven, top four. And big thanks to all of these folks right here. We got one more, if you're watching live, we've got one more of these mini breaks to do to give away the final spots in the mixer and we can finally do the mixer. So, check that out on jaskyscasebrakes.com if you didn't win this time. All right, Daniel, Daniel, Daniel and Adam, congrats to you four right there or you two getting those four spots. You're in the mixer. Show for jaskyscasebrakes.com. I'll see you next time.


From San Jose, in the heart of Silicon Valley, extracting the signal from the noise, it's theCUBE, covering OCP US Summit 2016, brought to you by OCP. Now your host, Jeff Brick and Stu Miniman. Hey, welcome back everybody. Jeff Brick here yesterday and today. This is really what powers the cloud. This is the hardware, the real computers that are at the data centers that are giving us the hyperscale performance, the hyperscale applications, the support of mobile and social and big data. And all the things we talk about at other shows, this is where the big iron is. We're excited to be here for our third year. Big shout out to Pica8, Micron and Melanox, our sponsors for this event. Appreciate your sponsorship and all our other sponsors for other shows. Without that sponsorship, we can't bring out the crew and the cameras and the gear and the people to come to the events and bring you the signal from the noise. So thanks again to the sponsors. So Stu Miniman, you're joining me. Stu, we had day two at the show.  What are your impressions?  First of all, San Jose, it's a nice event here at the convention center. Couple thousand people. We haven't gotten an official number, but my estimate, probably in the two to 3000 range, the keynote yesterday was full.   Intel's the big platinum sponsor. I mean, they put a significant amount of money in here on the show floor. They're a big spot in the middle and they've got two of their partners, Hewlett Packard Enterprise, and I think it's Hive is the other one that's kind of three big booths going across. And most of the companies that are in the booths are what we would consider kind of a component company. So these are the chip guys, people that make SSDs, people that make the cabling or the connectors in here. But I mentioned Hewlett Packard Enterprise, so there's somebody that puts the pieces together. There are the rack based solutions that pull it all together. And then even you had, I mean Goldman Sachs has a booth here and I went over and talked to the woman there and she's like, well, we're really excited about this. We're contributing to it and we want to share, which is a little surprising. You don't think of the big financial guys as ones that are going to share because isn't that a competitive differentiation? IT is something that really helps enable a lot of what they're doing, but you see many of those companies really involved in some of the open source now. So it's interesting though, you talk about the competitive advantage for Goldman Sachs, it's obvious, the technology supports their trading business and all their financial services business. But what about for the hardware companies too, if a hardware company is getting into open source hardware spec, how do they find the place to differentiate, be consistent with the spec, yet still have something to differentiate themselves within their own competitive sphere? Yeah, that's a great point, Jeff. So you look at Microsoft's here and Microsoft created a spec and they said, here's what we're doing. And of course, since this is what they designed and they donated it, over 90% of the servers that they have follow that spec. Now, Hewlett Packard Enterprise and Dell, of course are saying, well, hey, we want to keep the huge partnership that we have with Microsoft and we want to be a supplier to you and we also want to be able to sell Microsoft, Azure Stack and Hyper-V and everything else to customers on-prem. So they're scrambling to make sure that they can support OCP and the differentiation is tough, Jeff, because we understand if we follow spec and we go, it comes down to price, it comes down to support. There's not as many places, but everybody, like any other open source project is you start with a baseline and you start adding on your pieces, growing the core and hopefully have that virtuous cycle of making everything better to be able to make it there. So interesting pieces and overall, I know Facebook looks at it as helping their efficiencies and driving down costs over time.  What's that going to do to overall profitability? The other piece we're seeing Stu, interesting to get your take is kind of this bifurcation on the data center thing. You know, Floyer wrote a long time ago, big piece on the super data centers, basically because of latency. It all is driven by latency and this constant issue of getting the data and the compute close together, whether which one you move to, which is always kind of application-specific. So you still have the large data center, but then you've got the little data centers kind of driven by IoT and military and other demands where I need a data center in the field or close to the field or close to my factory or close to my sensors. There's really an interesting kind of dynamic in play between kind of the separation of those two kind of buckets of data center capability, if you will. Yeah, because it's interesting that there's so many examples of what you're talking about there, Jeff, about kind of that bifurcation because OCP on the one side, we're really talking about disaggregating all the components. When you talk about networking, the hardware and software is pulling apart. Compute, some of the pieces are pulling apart. We've seen what Intel's trying to do there. But on the other hand, when it's going to be purchased, you're really talking about buying something at a rack. So it's not, it's got all these pieces, but the solution gets put together and when it comes to kind of mega data centers versus edge, things are changing a lot. So rather than just saying, okay, here's my silo, here's what I buy application by application, now I'm thinking about where I put things. So I might buy SAS, which means, I don't really care where it lives. Somebody else has taken care of that, whether that lives on Amazon, whether it lives in a service provider. Customers are buying from lots of service providers, but you mentioned IoT is a real example that we're going to need things at the edge. There is an interesting French startup here supporting OCP that has this box that they seal five blades in it and the outside container, they fill it mostly up with oil and create a vacuum and seal the whole thing up and you've got a power and networking cable, but otherwise you don't need heating or cooling, it doesn't need to be touched. So great for some of those weird government applications or environments where I don't have the right data center to be able to handle what I have. So as always with IT, there's a huge spectrum of what we see going on. Definitely those large data centers, not only kind of the big seven or eight out there, but the service providers are growing these environments, looking to gain efficiencies as they grow and OCP is one of those tools that are going to help them improve their operations and drive down costs through overall efficiency gains. In the last trend still, let's get your take on this deconstruction of what used to be done with an appliance, right? Where you had proprietary everything inside of a box and it was optimized to run a particular way. And now I think really, it seems really the cloud in like Azure cloud that needs to be able to support multiple things. You're seeing it in software to find networking where we're breaking apart different pieces of traditional boxes. So even in the hardware space, it's still software eating the world and software still continues to be really the place that offers the most opportunity for differentiation and those efficiencies that before you had to have in this contained system are now being supplanted by really fast networking, really fast compute and really fast store. So Leo Leung who currently works at Scality is going to come on the program. He wrote a good article talking about the software that's going to sit on top because absolutely it's one thing to say that I've standardized on the hardware and hopefully it's less expensive but if it doesn't change my operation model, if I don't have the tools to really be able to orchestrate everything there, that's where just the huge amount of cost is in the last segment yesterday when we talked to Wikibon's David Floyer, he said it's $2 trillion a year spent on enterprise IT operations and that's where we have a big opportunity. It's not to get rid of jobs, that's not the purpose but it's to help companies be more responsive to the business and move faster and therefore we need to allow really it's that automation that intelligence of the system to take over some of those mundane tasks or not even mundane tasks but be able to respond to certain alerts and take care of things that we don't need that human intervention. When we talked to Kevin Lee from Facebook, he talked about the artificial intelligence, that AI stuff. We're just talking orders of magnitude more processes that need to happen and we've got those faster processes or all those GPUs to be able to crank through all the data, figure out what needs and give back to the humans more useful, more complete information at the end of the day. Right. And then what about the control? I'm always thinking of all these systems, what is the plane of glass that these guys are looking at most of the time? Because it seems to be there's so many systems now that can integrate and work together. How much of that can we automate so it doesn't have to show up on their plane of glass? Well, how's that battle going to shake out?  How do you manage all this stuff? So at the end of the day, you got to be looking at something at the top of the stack. Where does that go? Who's going to win that battle? Yeah, so one of the real challenges, Jeff, with Hybrid Cloud is it's not one thing, it's usually, as we said, it's here on premises, it's the public cloud and it's lots of SaaS applications and there really aren't great tools to pull them all together. How do I create a portal? What alerts do I get? What has to happen? I haven't heard, at least in the parts of the show that I've gotten to see, haven't heard a lot about who's pulling together those pieces. It's definitely something that, for example, at the OpenStack show, there's lots of talk about how those pieces get pulled together. We've looked at many of the cloud management platforms that are out there. There's been some recent acquisitions. The big guys are all making acquisitions and Cisco, Oracle, IBM all make pushes because they have serious plays in those environments. But we'll see. Looking at this show, it's impressive to see Google shows up, why they showed up and what their real motivations are is something we're all debating a little bit. Is it kind of talent acquisition? Is it so that they and Microsoft can kind of stand up here and be, puts a little pressure on Amazon to who today is, I guess, the least open or least publicly involved in open source. So, what happens with that? Because all these guys making major pushes, growing what they're doing in the cloud. So, show this gives a lot of visibility on that topic. Exciting time. So we got another full day lined up for everybody. We're excited. We've got Melanox coming on again. Thank you for sponsoring. Melanox, we've got Scality coming on. Deterra coming on. Equinix, few other surprises in store. So hang with us all day. We're in San Jose at Open Compute Project Summit 2016. Day two of wall-to-wall coverage. Stu Miniman, Jeff Frick. You're watching theCUBE. We'll be back with our next guest after this short break. Thanks for watching.


presentation of RubyConf 10. I hope you've all enjoyed the conference as much as I have. So to cap it off, my name is CJ Kielbom. I'm Jonas Niklas. And we work at Elab, a consulting company in Sweden. And we want to talk about the front-end testing frontier. I'm going to start off by asking all of you a little softball question here. Who here likes to test their code? Not very unexpected. We love testing in the Ruby community. I haven't seen anything like it in any other community. I guess maybe the small talk community, which I was never a part of. But we absolutely love testing. But I'm going to ask you another question. Who here tests their JavaScript code or front-end code? Somewhat, yeah. Alright, that's not too bad. That was maybe a higher number than I expected. But still, much, much fewer of you than the people who test the Ruby code. And I hope that's not because the rest of you don't write JavaScript code. Otherwise, I guess you wouldn't be in this talk. But the conclusion is that we love testing our Ruby code. But JavaScript, not so much. We rely on maybe some doing some manuals, some testing, clicking through, making sure things are working. But we don't really, in general, write that much JavaScript testing code. So why is that? I think that probably, at least for me, the biggest reason that I had a hard time getting into it was that front-end testing is very neglected in our community, especially in Rails. So the thing that really got me started with testing my Ruby was that as soon as I started a new Rails application, I had everything I needed to get started with testing it. I had all these scaffolding for my unit tests, for my functional tests. Soon as I created a new model or controller, it gave me everything I needed to get started. With JavaScript, there's nothing like that in Rails. So that means that we're on our own there. We have to figure out our own way forward. We have to pick a library to use. We have to figure out how to configure it and install everything like that and do it all on our own, which makes it harder. There's a speed bump on our way there to get started. Another reason, I think, is just that it seems hard. We think that front-end testing looks pretty hard. We're not quite sure how to do it. There's not as much documentation or examples or tutorials available as for normal units or functional testing that we do. So with this talk, our goal is to get rid of some of these notions and show you that it doesn't have to be hard and hopefully inspire you to get started with doing front-end testing in your own code. We're going to talk about two different ways to do testing. The first one is integration testing. Integration testing, of course, means that we're testing our entire application from the top to the bottom, from the user interface, all the way down to the database, and trying to use it in the way that the user would. Probably the most popular way to do that in Ruby right now, especially in Rails, is with Cucumber, where you write your features in plaintext format. I'm sure you all have heard of Cucumber, so I'm not going to go into that. But even if you're not fond of the plaintext aspects of Cucumber, you might use something like Stake to write your integration tests in pure Ruby instead. That's fine. But they all have something in common. They all need something to drive the application, to act as the user, basically, to flick around in it and fill out all of the forms and everything like that. And the way that we like to do that is with a tool called Keppibara. Oh, maybe you can't see that. Can you see the rodent in the background there? Awesome. That's a Keppibara. So, just put some context. Awesome. I'm from South America. So, we have this library in the Ruby community called WebRat, which is a fantastic library for interacting with the web application.  Filling in forms, clicking links, et cetera. And it works really nicely, but the problem with it is that it doesn't actually execute any JavaScript. So, you can't actually test your JavaScript code using WebRat. It does have a sort of very limited Selenium mode, but it doesn't really work. And so, I looked at this and I wanted to improve it, and I couldn't really figure out how to do it. And if any of you guys were, Yehuda's presentation yesterday, you talked about how to incrementally improve the library by refactoring it slowly. Yeah, I didn't do any of that. So, basically, I threw the thing away and I wrote my replacement, which I called Capybara. And the reason I did that was because I thought it would be very hard to retrofit the main feature that I wanted for Capybara, which was, for instance, driver agnostic. And what I mean by that is that the backend feature that actually executes your specs, that executes whatever you tell the application to do, should be switchable. So, you should be able to switch seamlessly from one driver to another. We have a number of different drivers that we can use in Capybara for this. For example, we have Selenium, which most of you will know. It's basically a remote control for a browser. So, it opens up a browser, usually Firefox, and it runs against Chrome and IE as well. So, it will pop up in an instance of Firefox, and it will control this instance of Firefox, click around, fill in forms, et cetera, and so on. And the advantage of this is that it's actually using a real browser. So, it has a real JavaScript engine, a real CSS engine, and it's basically identical to what the user would experience. So, it's very, very compatible. Unfortunately, it's also very, very slow. It also requires a GUI, which is a problem. So, it can't actually run on a computer that doesn't have any desktop client installed. It's not the local Selenium version. So, you actually need some kind of window manager in order to run your tests, which obviously can be a problem on your continuous integration server, for example, which might not even have a user interface installed. So, there's also this simpler driver, which is called RackTest, and this basically works the same way that WebRack does. It runs your tests in a pure Ruby environment, and that also means it has no JavaScript support at all. So, it basically works the same way as if you switch off the JavaScript in your browser. And it can do these simple things like clicking links and filling in forms and so on, but when it comes to more advanced stuff, obviously, you have to switch to one of the other drivers. There's another class driver, Driver's Builder in HTML Unit, which is a Java library, which is basically a browser specifically written for testing. So, this library can be used for completely headless testing. So, it doesn't need a graphical user interface, and it has fairly good JavaScript support. So, actually, it can run most real-world JavaScript. It's also pretty slow, and depending on which driver you use it can be pretty tricky to set up. So, the way we actually have three different drivers at the moment which use this library. One is called Celerity, and this basically a JRuby library that wraps the Java HTML Unit API. We have Celerity, which can be used from any Ruby, and it spawns a JRuby process, and it talks to this process via socket. And that's pretty good, but it's pretty tricky to set up, and it's pretty unstable, so that's sort of the main problem. We have a new one, which I encourage you all to check out if you're using Catabara. It's called a Cataloz. It's pretty cool, but it's pretty new, so it still has some issues, but it's, I think, shaping up to become really probably the best Catabara driver. I think they can get it to work properly. And the last one we have is NBJS, which is super fast, completely headless, which sounds awesome on paper. Unfortunately, the JavaScript and CSS support isn't very good. For those that don't know, it's a DOM implementation written in JavaScript, which is kind of cool. So it's very fast, not very compatible. And the way we switch between drivers in Cucumber is that Catabara sets a Cucumber tags for you, which are tags that you can add to your scenario or feature files. And by specifying this at JavaScript tag, you can switch on the JavaScript-enabled driver. There's also specific tags for the drivers, for example, excellent and available and so on. So you can easily switch to a different driver in your Cucumber. All right, so that's integration testing, and of course the main benefit there is that we can continue writing all of our tests in Ruby, which is very, very nice. But as you see from the different drivers, it looks like if you want to have good compatibility, it's probably going to be pretty slow. So if you're doing a heavy TDD workflow where you're test driving your code to drive the design of your JavaScript, then you probably want something that's a bit quicker with a faster feedback loop. And of course that means unit testing. Now with unit testing, where we're trying to isolate as much as possible of the application, that means that we're probably not going to want to have all of the different integration points that you have when you're doing integration testing. And that means that we'll have to write our unit tests in JavaScript as well to run them in an environment that's as isolated as possible. And there's been a number of different JavaScript unit testing solutions out there for quite some time now, and none of them in our mind has really worked that well, primarily when it comes to sort of integrating with your application. So what we're using is that in our mind the best tool for the job is Evergreen. So Evergreen isn't actually a testing library in itself. It uses a JavaScript unit testing library called Jazzmine, which was written by Fibito Labs, which is an absolutely awesome testing library. It's, in my opinion, it's the best sort of general purpose JavaScript unit testing library out there. Pretty cool. But what we didn't really get from Jazzmine was this really nice out-of-the-box experience. We wanted to basically be able to just install a gem and have it work out of the box. No configuration necessary. Convention over configuration. And we wrote Evergreen to provide the best possible out-of-the-box experience. The trickiest problem when it comes to JavaScript unit testing libraries is templates. In order to test your JavaScript code you really need a DOM because most of your JavaScript code in your application is going to be modifying the DOM in some way. And in order to have a DOM you need an HTML page. And most of the older JavaScript unit testing libraries solved this by just giving you a static template. And this would reference your JavaScript testing library and your production code. And you would put in whatever HTML you need. And it would run your JavaScript test. But what we did instead in Evergreen is we have a dynamic template, which includes your template fragment that you wrote in just HTML in a dynamic template. And this allows us to package the JavaScript testing library and everything else we need in order to run your tests nicely in the gem. So you don't actually need to generate anything. You don't need to put it into your project. It just install the gem and it works. This also solves the other main problem that JavaScript unit tests have, which is that there's no way to do transactions. So if you have a static template, like most other unit testing libraries, you're going to end up in a situation where one test modifies the DOM and then the next test sees the modified DOM. And it's obviously going to be dependent on this new DOM. It's going to be coupled to the test that came before it.  I'm sure most people have tried to experience this problem at some point. So what we do instead is that we have a special div on the page that we basically empty after each test. And we fill it again with the template so that between each example in your test, the DOM on the page looks exactly the same. So we want to show you all of this and how it all fits together with a quick little demo. So we've built a simple little application here. Actually, I can zoom in a bit, maybe. That's a whiskey bronzer. So you select Scotch whiskey, I should say. So you select one of the Scottish whiskey regions here. I like Isla. So I'll select that and click show distilleries. And then I'll select Isla distilleries, such as Ardbeg, and click show whiskeys. And I get a list of some of the botlings that Ardbeg has produced. So that's a very simple application. There's no JavaScript in this one, but we have a cucumber feature to test this. So first there's some background. So there's some background setting up the regions and distilleries and whiskeys. And then the scenario simply selects a region and presses the show distilleries button. It selects a distillery and presses the show whiskeys button. And then it makes sure that we only see the whiskey that's from that specific distillery. So that's very simple. And we can run this. And now this is using Kefi Barra. Oh, sorry. So this is using Kefi Barra. And it's using the default Kefi Barra driver, which is rack test that Jonas was talking about before. So this does not do any JavaScript testing at all, which is fine because we don't have any yet. But this UI is not that great, apart from the design of it. We really like it so that the user wouldn't have to click these buttons. So we've got another version that looks like this. So you'll see that the buttons are no longer there. If I select a region, it updates the menu automatically with Ajax. And when I select the distillery, it updates the list automatically as well. So that's a bit nicer for a very important whiskey browser application. We're going to remove all the frustrations when we're using this to limit our drink, maybe. And I've added another feature to test this. Let me get this up on the screen a bit. There we go. So this is the exact same feature, except that I've removed the steps that presses the buttons. So if you compare it to the one above it, you'll see that I've removed this one and I've removed this one. Other than that, it does the exactly same thing. But the important thing to notice about this one is that I've added the JavaScript tag here. And this is, of course, using QCyber. You can use it with stake, as I mentioned before, and then you just use the Keppie Bar API to set the driver you want to use. But with QCyber, this is very easy. And you'll also notice that I've tagged this specific scenario. So that means that I can have this scenario which doesn't use any JavaScript and make sure that that still works so we can make sure that we have good accessibility, et cetera. But we don't have to run that one in Selenium or whatever JavaScript driver we're using. We can target the scenarios that we want to run really good. All right, so let's see how this looks when we run it. This will start just as the previous one did. It will start by running the first scenario which doesn't use JavaScript again. And that's all right. And then it will pause when it encounters the JavaScript tag and spin up Selenium and Firefox in this case and run the rest of the tests or the other feature in using Selenium instead. And that passes as well, which is nice. But of course, that takes a while. So if you're doing TDD and you really want to have that quick feedback loop. So I've got some unit tests as well. So if I look in the spec directory, there's a JavaScript folder here. And in that, I have two spec files. There's a region menu spec and a distillery menu spec. And these are pretty normal Jasmine tests. They have some additional things in here such as these required statements to load the JavaScript code that we're using and testing. This also means that we don't have to load all of our JavaScript code. We can load only the things that we really need. And a bit further down here, we have a template function that will load the template fragment that we use for this specific test. Other than that, this is Jasmine and it looks very similar to our spec in many ways. We've got our describe statements. We've got our it statements here. And of course, we're using JavaScript's anonymous functions instead of the Ruby blocks that we use in our spec. And the way we can run this is if we go to our application, every green includes an engine. So we can just go to slash every green in our application. And it shows us a list of the spec files that we have. And to run one of them, I just click that and all of our tests run. And I can show the passing tests here. I can show if there were any skip tests, which there weren't in this case. And this is very, very quick. So if we're doing TDD, this is great to just be able to change our test, search the browser, hit reload, and the test run in 0.024 seconds for these small tests. So that's great. But this is very simple tests. I'm not going to go into the specifics of it. We're going to make all of this demo code available on GitHub later so you can have a look at it yourself to see how it works. But this is a simple test. We're not really doing anything that tricky with JavaScript here. I think one of the things that people find the most difficult or imagine is the most difficult one they think about JavaScript testing is drag and drop. If you have a very interactive user interface with a lot of drag and drop in it, at least I had a hard time figuring out how to test that. But with Kaby Bar, it's actually very, very simple. So I'm going to switch to another branch here. And in this version, we've added a little shopping cart. When we run out, we can select our favorite distillery and then just drag the bottlings we would like to buy down to our shopping cart. So how do we test this? This is, at least before we started doing this, this was one of the cases where we just hope that it would work. Try it out in the browser and hope that the changes that we did later on wouldn't break this functionality. Which might be fine in a small app where you can manually test the entire workflow every time you do a change. But in a big app, that's not going to be feasible. So I switch back to the code here and there's, we have another feature called Purchase Whiskey. In order to quench my thirst with delicious whiskey, I want to purchase my whiskey of choice. And we have the same background here, setting up the regions and distilleries and bottlings. And then we have a scenario tagged with JavaScript that just says that when I select a region and distillery and I drag the whiskey Art Bank Provence to the cart, then I should see the whiskey Art Bank Provence in the cart. There's still some functionality missing here to actually get the whiskey delivered to you, but I'll leave that as an exercise for the audience. But of course this is just cucumber, it's just plain text, this doesn't actually mean anything or it doesn't actually do anything. So just by writing here and I drag the whiskey to the cart, it doesn't make that happen automatically. So the important part to look at here is the step definition. We have a whiskey steps file here that has our step definition that describes what the application should actually do or what we mean when we say that we drag the whiskey, whiskey name to the cart. So what this does is it uses Kappibara's API to find the DOM element that includes the text of the whiskey we named and then it finds the DOM element for the cart and then using Kappibara's API we just say whiskey dot drag to cart. So that's all there is to it. This actually will run in Selenium or in the HTML unit drivers and do that drag and drop for you. And if we test this, let me just cover features, that starts and it spins up everything we need which takes a while unfortunately. So that tested the drag and drop. That wasn't too difficult, was it? Excellent. Now there is one... that's basically it, that's all there is to it. So just using Kappibara will give you the APIs to do basically whatever you want to do with JavaScript. And that's really, really powerful. And Evergreen really helps us sort of get around the limitations of doing front-end testing or integration testing using Selenium or HTML unit by giving us a way to really run our tests really, really quickly. Actually there's one more thing that I forgot to show you. We don't have to run our Evergreen tests in the browser. We can run them from the command line as well. There's a rake task if you're in Rails or I guess in any rake environment. Oops, forget it. I always do that. So rake spec JavaScripts, it uses Kappibara as well. So it will use your default Kappibara JavaScript driver and run your unit tests from the command line. And if we configure it to use one of the headless drivers, then we can run our JavaScript unit tests in continuous integration as well, which is very nice. So that's basically it. But there's one more thing. I've got a CoffeeScript branch here as well. How many of you have heard of CoffeeScript? Right, that's decent. How many of you have actually used it in an application? I think CoffeeScript is probably my favorite thing that's happened in the JavaScript space in the last year or so. I really like JavaScript, but I'm not particularly fond of the syntax. So CoffeeScript is basically a nicer syntax for JavaScript. And its syntax is structured in a way that makes you write better JavaScript as well, which I need. It sort of gives you the structure, which makes it much easier to get a good JavaScript structure and not just throw a bunch of functions in a sort of top-level namespace, LAPHB. So Evergreen has built-in CoffeeScript support. That means that we can write our unit tests in CoffeeScript instead. What distinguishes this is we just give our spec files a .coffee extension instead of .js. So this is the same files, but written in CoffeeScript instead. And the biggest benefit is that we don't have to write function on every single line in the test. Which really helps with the flow. I love that. So instead we've got this stabby lambda syntax that we have in Ruby 1.9 as well. So this creates an anonymous function. You'll notice that it's independent, it's indentation-based as well. So there's not a lot of closing brackets or any. There's implicit returns and a lot of the good stuff that we like in Ruby as well. And this works exactly the same way. We don't need to configure anything really. We just have to make sure that we have CoffeeScript installed. And Evergreen will just pick these up, put them here as well, and we can click them to run. They run in exactly the same way that the JavaScript would do. So I think that's a really, really nice way to write unit tests in CoffeeScript. I forgot to mention, all CoffeeScript does basically is that it compiles down to JavaScript in the end. So you can very well write your JavaScript application code in CoffeeScript as well. But then you have to make sure that that can run, that that compiles and is uploaded into your, including your application in a good way. And of course Evergreen only, Evergreen is only concerned with your testing code, so it doesn't help you with that. But that's all I wanted to show you with the demo. Let's get back. So with that, I hope you have seen that front-end testing does not have to be hard. It's actually quite easy to get started. And we've provided some resources here. As I said, the code is available on GitHub, the demo code that I showed. So feel free to check that out and have a look, play with it and see what you think of it. And if you want to contribute something back, maybe more whiskeys. Feel free to do that as well. And check out Capybara and Evergreen on Jonas' GitHub account and of course Jasmine on Pivotal's account. And if you have any questions, feel free to send us a message on Twitter or come up to us here. And we'd love to talk to you about this and help you get started. We'll take a couple of questions and after that, if there's time, we can show you some real, what this looks like in a real application, and not in this maybe contrived example. I'll open up for a couple of questions first. It's in Selenium, at least. Oh, sorry. The question was how close the track to the I in Capybara is to the real world. And in Selenium, it's very close, actually. It pretty much simulates taking the element and dragging it on top. Unfortunately, I think that Selenium doesn't support all sort of mouse-native events in the operating system. So it's not 100% accurate, I think. There might be some very slight deviations. But I'm actually not entirely sure as to what those are. Yes? When do you use Capybara when you use Evergreen? The question was when you use Capybara and when you use Evergreen. And that's a really good question. That's actually really, really hard to sort of find a good balance between integration tests. I personally believe that integration tests are good for testing sort of the workflow through the application, but you don't want to use them to test every single possible case because it's just too slow and it's just, yeah, too difficult to maintain. So I'd use unit tests for driving the code in the same way you'd use Aspect and Ruby to sort of really test the internal API of the code in isolation or I'd use integration tests to test the test. So the question was if you can do integration level tests with Evergreen. Yes and no, it depends on how JavaScript heavy your application is. But what you can't do, for example, is AJAX requests because you don't have Rails application running. So when you're running Evergreen mounted in the Rails application, like on Slash Evergreen, obviously you'd have the Rails application running. But if you're running it from the command line with the array class, then it doesn't actually even use the Rails application. So you can't rely on Rails application being this. You can't test AJAX, for example. So there's limits to what you can do in JavaScript unit tests. And there's limits in general, like even testing drag and drop, for example, in JavaScript unit tests can be a little tricky. You actually do that as well in the application, you might show you that. Did you have the question? You actually answered it. All right, okay. Yes, so does Evergreen tap into the Rails autotests? The Rails what? Autotests, no. So you can run autotests and also the Evergreen? So the question is if Evergreen taps into Rails autotests then I think the answer is no. I at least haven't seen anyone do that. It might be possible. In the back. Can you speak up? Can you repeat that? All right. So the question was if this correctly, how are you keep the HTML templates up to date in your unit tests? And when I first started out with unit testing in JavaScript I actually wrote this really elaborate script for sort of taking a Rails template and dumping it into this JavaScript to testing template and it was pretty weird. But I've come to realize that you need to at least for me I find it works best to treat the templates for the unit tests sort of as fixtures. So you actually need to update them manually. And you need to let your integration tests make sure that the JavaScript still integrates with your application in the right way. That's what's worked for me. Do we have any further questions? Yes. Can you tell the audience why there is no letter E in whiskey? I can answer this. All right, so Yarko wanted to know why there's no letter E in whiskey and that's because this is Scotch whiskey that we're talking about which usually doesn't have an E in the name. Now American whiskey and Irish whiskey on the other hand usually spell it with an E. And if you want more information on that you can talk to Paul of course who's a whiskey fan as well and lives in Scotland. So that's your question? All right. So we have just a couple of minutes left. So if you want we can just give you a quick look at one of the applications we've been working on lately. That's a very very JavaScript heavy application. It's basically all most of it is JavaScript and then there's a simple rails back in. And this is where we really got into doing this a lot. The question was if we could show just Selenium running behind the terminal here. So if we run Rick, you come or no with the background music nicely provided so the first part is running with drag test which we obviously can't see. There we go. So the actual I meant on the big demo you were going to show it now. Oh well, yeah so let's switch over to that. How much time would do it? I guess we could just get the get the test started. I think you had the last session of the day so I think as long as anybody wants to stick around you have time. Yeah unless Hilton boots everybody. If we can take to like 8 in the evening or something. Take that long to run. On this computer this is a MacBook Air so it's not the most powerful computer. This entire suite takes about 10 minutes to run. So if you want to stick around and watch all these green dots fill up the screen it's very cool. With the MacBook Air it might be faster if it's iobab. It's not. iobab. Alright so I'm going to run one specific feature here. What is the name of it? Drag allocations. Let's get rid of the other stuff here. What is this? That'll get it running first. Just imagine some nice elevator music going on in the background here. Yeah this is all Selenium. Is this a Selenium web driver? Yes. Now you can use Selenium too with Chrome or with IE as well. You have to configure that. It uses Firefox by default. Many people seem to want to use Chrome but in my experience Chrome is much much slower via Selenium. So actually Chrome starts slightly faster and you usually end up with much slower tests if you run Chrome. So I actually recommend using Firefox because it works much better. Also Chrome doesn't support drag and roll. So obviously this is why one continues integration probably because you want to be able to make sure that your entire suite is run but if you have very heavy front-end integration testing then it's going to take a while and so the best thing that we usually do is that we run our specific feature that we've been working on and we rely on the unit tests for driving the development and then we let continue integration and take care of the rest. Alright. One more question. Yes. That's the one that sort of kind of cruise continuous integration tool for any JavaScript that's a whole bunch of different browsers. Alright. Yeah. So JS test drivers. I haven't used it myself and I remember sort of looking at it and thinking that well this is way too complicated. That was sort of my reaction to it. We're not really doing anything that's particularly new with Evergreen or we're just packaging it to make it simpler to actually get people to do it and to get ourselves to do it. So yeah. The dirty secret is that we're really terrible at actually setting up CI. We're waiting for Dr. Nick to solve that. So I have no answer to that. Actually can we just show the unit test from here? I think that's interesting. So let me just show you one of the one of the spec files in this application sort of a real world JavaScript unit test file written in CoffeeScript. As you can see it's pretty big. This application has a lot of JavaScript unit tests. I think that's it. I've been following Capybara on and off as client needs are rising. Some months ago there was a path to merge Capybara and WebRound. Is that still going on? Or what's the story there? I don't know actually. Really? Okay. Apparently Brian was here like Brian Hancock. And I haven't been able to find them. So I haven't really talked to them. And I haven't talked to them any. So I don't really know what's happening. From my perspective I sort of don't feel the need anymore. So if someone wants to do the work to make that happen then that might be interesting. But I don't really know what that merge would entail either. So what do we need to merge these libraries? I don't know. Okay. Do you have a question or do you just want to tell us that we're out of time? No, I have a question. Can you guys just provide a little bit of insight around the maintenance of a test suite like this? Just your personal experience? Maybe even on this project? So I think the biggest problem that we're facing now is if we can talk about the maintenance of a test suite in an application like this. So the biggest challenge right now is the execution speed of the test suite. Because it's just getting ridiculously slow. We have some ideas on what to do and how to fix that. We haven't really gone around it. So that's really our biggest problem in this application right now in JavaScript tests. Other than that I don't really think we've had a problem. Cucumber really allows you to sort of nicely organize your integration tests. And with Evergreen it's sort of writing your JavaScript test. It's basically like writing your Ruby test. I haven't really had a problem with maintenance ability in that. Right? I think we're done. Thank you so much.


There's something loose on that mountain top that's bigger than any man I've ever seen, and stronger. Before I leave, I intend to find out what it is. Gun will travel, starring Mr. John Dana as Paladin. San Francisco, 1875. The Carlton Hotel, headquarters of a man called Paladin. I'll not change your mind, Mr. Paladin. You still go? I'm afraid so, hey boy. Oh, by the way, send a dozen long-stemmed roses to Miss Julie Parker, and regrets. Oh, I do not go there, Mr. Paladin. Please. Why not? Why does this trip bother you so much? Oh, I read a newspaper. Monster at Moon Ridge. Lady bewitched by apparition.  I've already been hired and accepted. I'm leaving right away. Oh, then, let me, please. And what have you got in that jar? Please. Oh, here, dragon tooth powder. Dragon tooth? Here's one here, and one here. Keep you from harm. Dragon's tooth powder, very powerful protection. Your new country has a better formula for destroying superstition, hey boy. Equal parts of reason and daylight. But I thank you for the friendship behind the thought. Oh, then you go. You see, Mr. Vito Bella? That's right. Vito Bella. Bowtown, California. Even if you've had embarrassing dandruff for years, you can get rid of it now in three minutes. That's all it takes with Fitch, dandruff remover shampoo. Yes, unsightly dandruff's gone in three minutes with Fitch, quickest, easiest of all leading shampoos. What's more, using Fitch regularly is guaranteed to keep embarrassing dandruff away. Just apply in the unique Fitch manner before you wet hair, rub in one minute. This way, Fitch shampoo penetrates right down to the scalp. Next, add water. Lather one minute to wash every trace of dandruff out of your hair. Then rinse one minute. All that loosened dandruff goes down the drain. In three minutes with Fitch, one rubbing, one lathering, one rinsing, dandruff's gone. At the same time, gentle Fitch can leave your hair up to 35% brighter. To get rid of dandruff problems forever, brighten hair too. Use Fitch regularly. Get Fitch dandruff remover shampoo today, only 59 cents. The Indians have a name for the high mountain lands back of Placerville. They call it Shadow Ground. Indians have a way of seeing things in the shape of a piece of land that no white man can see. So they always bypass it. They didn't like the thunder that boiled up against the peaks and rolled down the canyons. But then the Indians had little use for gold and silver, and the white men did. And the white men built their town where a teepee village might have been, close to the top of Moon Ridge. It was after dark and the sky was heavily overcast when I pulled up in front of the sheriff's office in Bowtown. Hold it right there. I'm looking for the sheriff. My name is Paladin. Riding in at night with a black horse and black trail clothes?  Well, do you have to hold that gun on me? Come on in.  This is Jake Kelly, Mr. Paladin. He carries silver bullets in his gun. Really? He claims something grabbed him on top of Moon Ridge one night.  Thanks. Where are you from, Mr. Paladin? San Francisco. Are you the fellow Vito said he was in for? About Emily? He wants to know what's bothering her. I'm going to try to find out. I'll tell you what's wrong with Emily. She's hexed. And you know I'm talking true, Darren. If you'd have a ride up there and see her yourself. Sheriff's got to stay around town. Now, you know that. He ain't set foot out since the time your posse got scattered. That was a little accident. A few horses run away and folks build it into something big. There ain't nothing up there. Oh, Mr. Paladin. I was as far from it as I am from you. I've seen it. Half man, half bear. And footprints this long. A human at one end, claws at the other. I guess I'll have to see them, too. Don't believe me. All right. When you get to that Bella place, you ask Emily Bella what carried her off. Don't ask Dan here. He's Sheriff. If he admitted there was something up there, he'd have to go on out after it. Get out of here, Jake. Now go on. Crazy old coot. Sheriff, is there anything valuable up there? Minerals? Gracing lands? Any reason for someone to scare people away? No. Formation ain't right for gold or silver. Indians didn't want it. Said it was full of spirits. You know, a short time ago, I was feeling superior to a Chinese friend of mine when he sprinkled dust on my coat. I forgot that he came by his superstitions honestly, that he learned them from the cradle. I can't find the same excuse for you, Sheriff. I ain't superstitious. Why the mistletoe above your door? Oh, that. I forgot it from Christmas, I guess. There's an old belief that it wards off evil spirits. All right, Paladin. The Bella place is north out of town. Last house on the way to Moon Ridge country. What makes the difference sound and sound difference that you hear on this station? It's the teamwork between the CBS Radio Network and its affiliated stations. This teamwork combines the far-flung resources of CBS News with local programming that helps you know your neighbors and neighborhood. Your listening post on your town, your nation, and the world is this station backed by CBS Radio. Don't settle for less. The Bella place was run down and listless with a small light gleaming in the window and the figure of a woman seated on the porch steps, a young woman, dark, plain, no shoes or stockings, long hair, and the most vacantly staring eyes I have ever seen. Good evening, Miss Emily Bella. It's dark. Yes. Oh, Mr. Bella. Yes. My name is Paladin. Oh, Mr. Paladin. Call me, oh. Moment, please. Emily. Now, you promised you tell Papa when you stepped outside. Remember, it's cold here. When a visitor comes, a big girl says, what? How do you do? How do you do, Emily? It's very good.  Emily, you can go to your room. A dozen years ago, there was, in this valley, an epidemic. It took my wife, almost my daughter. I'm sorry. Afterwards, Emily's body grew, but her mind, huh? She remains a child. Wine? Please. Well, this epidemic, what was it? Well, we don't know. No doctors here. Yes, a young boy was affected the same way. People treat him like an animal. They call him names. They kick him until he's a mother, but she took him away. I saw I have to leave too, bring Emily here, far from the town. The land here is, it's no good, but we manage. Those dolls are hers? See, she is of an age where toys are pleasant. She's fortunate to have you as a father. I think she's fortunate in other ways.  Perhaps I do.  At the best age of all, their world is wonderful, mysterious, half real, half make-believe. The world you and I live in, Mr. Bella, is not always as pleasant. I think you're a wiser man, Mr. Paladin. We drink. Salute. Salute. The newspaper said Emily was this way because of shock, some unusual experience. A spell cast by the monster of a moon rage. Since that story is untrue, why do you want to pay me $200, Mr. Bella? The telegram has said $500. You haven't answered my question. Mr. Paladin, there is something on Moon Ridge. It took Emily away from me for a week, and she wishes to go back to eat. I don't want to lose my daughter. Go on. For that week I searched for her. I find her prints and other prints which I will not describe because... Half bear, half man. You have heard, huh? She will not tell me, even her father, what kept her there. But she was not harmed. She wishes to return to this thing? Yes. She has tried twice to run away. Then I think it's time you let your daughter go back to Moon Ridge, Mr. Bella. The three of us will leave first thing in the morning. The morning was dark and foreboding with the threat of rain in the air. Low clouds hung over the peaks and in the valleys, misting the trees into gnarled shapes and making the rocks grotesque and sudden to come upon. All very unreal. But the track we came across on the top of Moon Ridge late that afternoon was real enough.  Maybe. Emily. No, Mr. Bella, then be honest with me please. What make this print? I don't know, Mr. Bella. No, it's going to be dark less than an hour. Hey, what is that? I'd say it was a bear. Emily, come over here. How did she go down the canyon? You follow with the horses. I'll try to catch her. The canyon walls were steep and rocky and it made the climb down them treacherous. By the time I was standing on the floor of the canyon, darkness was coming overhead. I walked toward what I thought might be the head of the canyon, only to find a wall of granite blocking my way. But no, Emily, no sign of Bella, no way out. But something, something watching me, something old, bent in tattered clothing, which like in the quick look I had then gone suddenly. You come back here. All right. I know whoever you are. Listen to this carefully. I have a gun. I'm not going to be frightened away. Are you there? Can you hear me? I warn you that I am going to... When I regained consciousness, I was inside an old mine shaft, a chain on my leg, minus guns. A very real looking bear was chained across from me. There, in the dim light filtering back from the opening of the mine shaft, I saw something moving slowly toward me. Something which seemed only half human. Something old and horrible. I waited there, quiet, as the thing came closer. What do you want with me? Leave while you can. He had dropped a small sledgehammer before she turned and left. It took me the rest of the night to pound out the connecting pin so that I could remove the shackles from my leg. Outside it was morning, bright and clear. Bella! Bella! Over here! Have you seen Emily? No. I found the organ on a belt. Thank you very much. I didn't know what to do. I have expected to find your body. Let me ask you something, Bella. Has anyone, has anyone ever been hurt in Moon Ridge country here, actually physically injured? No, no. Only frightened? Yes. I've been frightened too, but I'm not hurt, Bella. Where? I would say up there. Beyond that cliff that backs the canyon. The cliff? Possibly a meadow behind there. The trailer would be worse than in Sicily. It would frighten a bad rider. And with a little clever discouragement, even a good rider. Come on. Now there's a luxury car that fits regular parking spaces and ordinary garages that's easy to handle and traffic. An exact luxury car. The Ambassador by Rambler. Now, medium priced car buyers can have the room, comfort, luxury and performance they expect in a fine car, but without excessive length, width and book. If other medium priced cars have sized and priced you out of the market, then you owe it to yourself to test our best. American motors finest. The luxuriously compact Ambassador. Note the quality construction and careful attention to detail. Enjoy the most favorable power to weight ratio on the medium priced field. With Ambassador's 270 horsepower V8 engine. Try luxury features like individually adjustable front seats that glide back and forth separately. Five minutes at the wheel of an Ambassador will change your ideas about luxury cars. Test our best. The Ambassador V8 by Rambler. Finest car ever priced so close to the lowest. See, drive the luxurious Ambassador. Now at Rambler dealers. It was a steep trail, but a worthwhile one to follow because at the end of it, there was a meadow brilliant in the high sunlight and there was a house with a fireplace and smoke coming from a chimney. Not very mysterious at all. Some more living up here. Very comfortably, I'd say. Look there, across the meadow. Emily, my Emily. Wait. No, wait for what? She may be hurt. Does she sound like she's in trouble, Bella? Look, there's a boy with her. Do you recognize him? Maybe. It could be Maria's boy, the one I told you was afflicted like Emily. Yes, the mother and son, the ones they ran out of town. I think it's time that we visit her. There's no need. Maria? Yes, I watched you two climb the trail up there. You have no respect for witches. But I have a great deal of respect for a clever woman. So, where else could I take my son? I had no money. I had to find a place where people wouldn't ridicule him. Mr. Bella suffered from the same things. Yes, and once we were old friends, Maria, you should have had faith in the me. Well, I should have sent her away the first time she wandered up here, but it's just so good to see children happy together. The soil is good up here. Better than below. More sun and more water. Why talk of it? Why not?  I'm sorry. Materialize an apparition on a broomstick in front of him and he'll ask it to sweep the floor. The monster footprints I made, half mine, half a bear, they meant nothing. I've run out of tricks. I've moved before. We can do it again. Why move? See, why move, huh?  I think since I am a man, there would be a gun in my hand and friends would be welcome, others would not. If a man has something to say, he comes right out and says it. Yes, well, Maria, I think perhaps I like your land. And I think I'll be going. I'll expect $200 to be placed in my San Francisco account, Mr. Vella, and I suspect that you got more than you bargained for. But you will get what you bargained for, Mr. Paladin, a $500. You have to ride through town, I suppose, and talk to the sheriff. No, no, no. They can rent and prejudice people like to be deceived and they deserve it when they are. Why confuse them with the truth? Oh, Mr. Paladin, you back safe only on one piece. I'm glad to be back, hey boy. Was it bad? Oh, bad for people who believe in witchcraft. Any messages for me? Oh, yes, many messages. Let me see. Oh, lady send note and say you call on her when you come back. Uh-huh. Not a lady send servant over and tell you not to call on her when you get back. What else? It's all. Well, in that case, tell me the name of the lady over there, hey boy. Oh, yes, it's Miss Romero from Spain. Very new in this country. Thank you. Miss Romero. Oh, yes. My name is Paladin. May I be of service to you? Service, senor. See, it is the custom for a gentleman to offer his services to a lady in this land. Oh, what kind of services? Any kind the lady wishes. Dining in fine restaurants, the theater, the opera, perhaps a carriage ride to historical points of the city. Your heart names it. I like these customs, senor. But isn't such a relationship fraught with possibilities? It is, senorita. All kinds of possibilities. Shall we begin with the possibility of dinner this evening? Travel, created by Herb Meadow and Sam Rolf, is produced and directed by Norman MacDonald and stars John Daener as Paladin with Ben Wright as Hey Boy. Tonight's story was written by Jean Roddenberry and adapted for radio by John Dawson. Featured in the cast were Lauren Stopkin, Virginia Christine, Jess Kirkpatrick and Jean Bates. Hugh Douglas speaking. Join us again next week for Have Gun. We'll travel.


Hi friends. Welcome back to my channel and welcome if you're new here. My name is Jen. I'm a certified weight loss and nutrition coach and I'm on the WW or the Weight Watchers Blue Plan. Happy Monday. It's a another meal prep day. I have three delicious recipes for you. I have breakfast, lunch, and a sweet treat that is so perfect for spring and as we move into summer. So if you're excited for another meal prep, give this video a big huge thumbs up and don't forget if you're new or you haven't yet subscribed to my channel, I'd love to have you here. Hit the subscribe button and ring the bell right next to it so you never miss a single video. I do a meal prep every single Monday where I share at least three recipes with you so you definitely don't want to miss out. Check out the description box down below where you're going to find nutrition coaching. I do offer personalized to you macros and calories. Really, really important to know where you should land every day to be successful. And if you want to chat with me one on one, I offer one-on-one coaching sessions as well. So check that out down in the description box. Links, discounts to everything I shared with you in today's video as well as all of my other favorite things. And of course, my Facebook group are also down in that description box. So check it out before you go. So we have three amazing recipes to make. So let's jump in. This week I'm making bacon, egg, and cheese biscuit bake. So we're deconstructing a bacon, egg, and cheese biscuit and making it into a bake. I'm excited for this. I love having a good protein filled breakfast, a well balanced breakfast with carbohydrates, protein, healthy fats. I will probably pair this with some fruit to round out my breakfast. But for the biscuit bake, you're going to need some eggs, light shredded cheese, preferably a seven and a half ounce can of biscuits. Like I mentioned in my grocery haul, Target doesn't have those. So I just weigh out seven and a half ounces of this big can.  So ideally you would want a seven and a half ounce can or do what I do and just weigh them out.  So the first thing we're going to do is get our bacon cooking. You can fry this up in your air fryer on your stove top. I'm just going to add that to a sheet pan, pop it in my oven at 400 degrees until the bacon is crispy. You need eight pieces. I'm just cooking up the entire pack because again, my husband loves bacon. So he can have that and those leftover biscuits. So this is 8.2 ounces of biscuits. I need seven and a half. So when I go to assemble the casserole, generally I just cut one of these biscuits in half discard that and that makes it seven and a half ounces. Here are the other four that are going in the oven alongside the bacon. While the bacon is in the oven, we're going to crack eight large eggs into a bowl. Some pepper and salt and three tablespoons of whatever milk you're using. And then whisk that together until fully mixed. We're also going to cut these biscuits up into smaller pieces. I am going to discard half of one of the large biscuits, chop these up into small pieces. We're going to add the chopped up biscuit pieces directly to the eggs. We're also going to add half of the cooked bacon. And then give that just a quick mix together. We're going to spray a 9x13 baking dish really well with some nonstick cooking spray. We're going to pop this in the oven at 350 degrees for about 20 minutes. I went ahead and removed the biscuit bake. We're going to put it back in the oven to finish cooking. But before we do, we're going to add three quarters of a cup of light shredded cheese and the other half of the bacon bits. And now I'm going to pop this back in for another 10 minutes until the cheese is melted and we want to make sure it's cooked completely through. Look at how amazing this breakfast casserole looks. I just pulled it out of the oven. This entire pan makes six servings.  Again, I'm going to just pair this with some fruit to make it really easy and well rounded. So let's go over the points and calories of the breakfast bake. So one sixth is only six smart points on the blue and purple plan and eight on green just because you do have to count for the eggs, 284 calories. So not bad at all for this breakfast. And again, pair it with some fruit or your favorite side for a perfect, easy, delicious breakfast. This week, I'm making a one pot 30 minute chicken chow mein. I'm excited for this. I've been wanting another Asian inspired dish. Plus, this is a great way to get in all of your veggies. You're going to need a bag of coleslaw. This is just a tricolor coleslaw with carrots. You'll also need some additional carrots, sugar, snap peas, chicken stock, chicken. Of course, this is the thin sliced chicken breast. We're just going to dice this up a bell pepper. The recipe calls for a red one. I have this green one that needs to be used up. So I'm going to do that crushed red pepper flakes pasta. So of course, I'm using a fiber gourmet pasta. This is the light linguine. You guys already know this is my go to pasta. You can have two ounces of pasta for only a hundred calories versus 210 of traditional pasta. That makes two ounces dry of this two points versus five to six points. So it's a great way to save a lot of points and calories. Not to mention it has 25 grams of fiber, which is your complete daily intake of fiber. So that's amazing that it is in the form of pasta versus just two grams in traditional pasta, 17 net carbs versus 41 and a complete seven grams of protein. So I love the fiber gourmet. I buy this off of net triton. I find that they are the most affordable. They have the biggest selection and they have all four shapes that the fiber gourmet pasta comes in. So I'll make sure that is linked down below for you. You'll also need some soy sauce, some hoisin. I'm just using this Mandarin orange sauce. I have this in my fridge and it needs to be used up. Minced garlic, cornstarch and some oil. We have lots of chopping to do.  I am going to add a tablespoon of oil and get this warmed up. Since the oil is warmed up, I'm going to add in the diced up chicken and we're going to allow it to cook almost all the way through. Now that the chicken is just about done, we're going to add in that big bowl of all of our veggies and cook it for two to three more minutes until they've softened. Once the veggies are pretty soft, they're still a bit al dente. We're going to add in some crushed red pepper flakes, a big heaping scoop of minced garlic and some ginger. Stir that up and let that just simmer for two to three more minutes so that those flavors can melt together. We're going to add in four cups or one carton of chicken broth, one quarter cup of soy sauce, and one quarter cup of hoisin sauce. We're going to bring this mixture to a boil before we add in our pasta. We have come to a boil, so we're going to add in the bag of fiber gourmet pasta. I reduced the heat. I'm going to pop the lid on it and we're going to allow the pasta to cook al dente. My pasta is cooked. It's still a little bit al dente, which is exactly how I want it to be because it is going to continue to cook a bit, but I'm adding in a slurry of one tablespoon of cornstarch and one tablespoon of warm water. I just mixed that together and it creates a slurry which will thicken up the chow mein. So it has thickened up quite a bit. I'm going to remove it from the heat. We'll package it up for the week and go over points and calories. So I'm going to divide my chow mein into six equal containers since it makes six servings. My chicken chow mein looks absolutely incredible. I divided it out into six equal servings. It is only three points on the blue and purple plan for this entire bowl and five on the green just because you do have to count for chicken, 235 calories. So very low point, very calorie friendly and a fantastic way to get in all of your veggies. This week I am making strawberry oatmeal cookies. We'll really chocolate covered strawberry oatmeal cookies, five ingredients, super easy. You're going to need some rolled oats, two large really ripe bananas, peanut butter or almond butter, fresh strawberries and chocolate chips. These are the lilies chocolate chips. Going to chop up a few strawberries just into smaller chunks. We want about a quarter of a cup to half of a cup. Very easy to put together. We have a bowl here. We're going to add one half of a cup of peanut butter or almond butter, two cups of rolled oats, two super duper ripe bananas, a medium to a large. I have two pretty large bananas here, one quarter cups lilies chocolate chips and our diced up fresh strawberries. Now we're just going to stir that together. Kind of mash the bananas as you're stirring. Make sure that peanut butter gets mixed in really, really well. I went ahead and sprayed a baking sheet with some non-stick cooking spray and then we want 16 cookies.  I bought this off of Amazon. It came in a three pack. If it's available, I will link it for you guys. The last couple of times I've shown it, it has been unavailable. But if it's there in Amazon, I will link it for you. So I'm going to scoop out 16 cookies. So I ended up getting 25 cookies instead of 16. So pro tip, you can definitely make your cookies bigger to get 16, but I'm just going to recalculate points and calories. These were already low point, so they're going to be extremely low point. And this is still a pretty good size cookie. So I'm popping this in to a 350 degree oven for about 12 to 15 minutes or until they're golden brown on the edges. Strawberry cookies are out of the oven. They smell incredible. They're going to be super sweet with the strawberries, the bananas. So let's go over points and calories when I got 25 cookies out of the batch. Each cookie is two points on the blue and green plan. And you have to remember that in these cookies is real ingredients. There's no sugar other than what comes naturally from the banana. There's no flour. So these are a great healthy option. And again, two points on blue and green, one point on purple, just because you don't have to count for oats and 89 calories apiece on my website. I will put the points and calories if you did 16 larger cookies. Thank you for joining me on another weekly a WW meal prep. I hope that you are as excited about these three recipes as I am. I truly can't wait to eat these all week long. All of my recipes are on my website. I will make sure that is linked at the top of the description box for you as well as nutrition coaching links, discounts to everything I shared with you in today's video, as well as all of my other favorite things. And of course, my Facebook group will all be down in that description box. If you enjoyed today's video, don't forget to give it a thumbs up. It really helps out my channel. And of course, if you're new and you haven't joined this community, we'd love to have you here. Hit the subscribe button and ring the bell right next to it. So you never miss a single video. Happy Monday, my friends, and I'll see you all in my next video. Bye.


Alright, today's video, I'm going to continue with the two Dutch Shepherd puppies, and we have some new stuff today, so I'm going to keep on as we go, because probably going to be about another six months to a year of adding new things by the week. So last time I was showing all the complicated stuff already that we've been doing, and prepping these two for elite high level protection training in the end. Now there's two aspects generally, two all exercises. So for example here, we started them with walking backwards, and there's a toy version, like a trick version, play version, and then we have a barking version. So when it comes to protection, most scenarios, we're going to have the two aspects. So I'm going to show you both. So for example again, the dog to follow backwards in heel, so we have the play version that you can do as a trick with your dog, or as fun, but it doesn't have barking attached. It's not protection specific, so that is this version. No barking, it's just following the leg and staying in position, focusing on the owner. Now the protection version, we want staying with the leg, but not looking at the owner. Just looking ahead at the object that we told it to bark at, which is setting up for later protection when we have an attacker. So object attacker, same thing, so we're just teaching the dog to focus on that object, and talk on command at the object, and keep with the leg the same. Now look a little different, because there's a lot of energy and passion. So we turn that talking on, it changes the look, and it's not as tight. We don't really care that it's that tight when we're in a protection scenario, as long as they stay with us and follow us without getting out of control. So that's this version. So the two scenarios, one just follow the leg, no talking, very little talking, and looking up and staying steady. Second version, now we add a protection aspect to it, and now it's at the object for future protection skills, which leads to this. So that would be the end game of those exercises leading to the end result of a dog learning control, it's all about that, controlling themselves while they're in aggressive state, staying focused and torn between the two things and doing it well, under tight control, which is not an easy thing to do when you're trying to contain that passion and aggressive state. So those are two versions for that, which the puppies were doing. Now, we also had been showing that Michael here in France had been doing all over the place and really challenging them, not just on a straight line, but all over the place in both angles, backwards, circular, all over the place, which makes things so much more difficult. It's very difficult, it's really hard for dog stuff, and he's moving, right? Michael's really moving quickly. So that is very difficult for many reasons, and I've explained this in a lot of videos. When you have a dog looking at something else and focusing, and you put them into aggressive state while they're focusing on something else, not your leg, you're also telling them that they have to stay with the body while it's peripheral, right? And stay here, but still see you here and be in an active, aggressive state while looking there. It is very difficult for the dog to handle, right? Have to move, move wherever the body's going, wherever the leg is going, and stay focused on what we told you to focus on, no matter where it is, and talk as much as possible while doing that, right? So very complex, and you're not going to see this done anywhere, right? At this level. This is like an unseen thing you will see in the world, this level of it. And puppy, being able to hold that leg, right? And stay with, backwards, round, talking, focused, containing itself, not to run off the body and go attack the object that we told it to bark at. So Michael really raises the game too by the speed, right? You have sports like Mondio, French Ring, where they have a little version of this, and it's a path in the owner walks, and it's very slow, and not many dogs bark. The dog knows what's coming, it's a game, it's not real protection, and they wait and they know it, there's going to be a touch eventually, and then they go grab the object on the decoy, much, much higher level game than sports, right? I mean, different realm of difficulty than any dog sport we have. That's why I'm always saying, don't compare dog sports to the stuff that I do in protection. You can't compare, right? This is way beyond, that's why these dogs cost big money, right? Because this is way out of sport caliber. So again, this is a very difficult exercise to create. Now the new thing that we added to this is circling the body, right? So I have not shown this yet, it's new, Michael just started it. So again, we have the different versions. We have the play version, right, that you can do as a trick, just for fun, and then we take that, and we have now turned it into a protection version, okay? So the dog barking at the object, holding the body while it's stationary now, and knowing how to go around the body smoothly and around and guard the owner, okay? Stay against and guard their body and keep off whatever is out there, and directing aggression towards the owner. The dog keeps itself in that spot all the time to block off any threat or attack. And that's the purpose of this exercise. And there you see the actual protection version. For real life, and I always say this, you never know when you will need that dog. Or when your dog will be called on to act for you and actually use the skills it has been taught. And dogs who have these skills, which is rare in real life protection dogs, rare, right? To have these elite skills, very rare. But it's setting you and prepping you and your dog for anything and any movement that has to happen in that scenario, that you don't know how to move properly because you don't know if your dog knows how to move properly. Your dog is ready for it because he's done all the movements and learned how to follow the body and stay with you no matter where you're going. So there's a fluency that there's not going to be any confusion when that moment comes if ever that it won't be all over the place, dog's confused, you're confused, you don't know what he'll do and won't follow, right? That's not the moment that you want to test that, right?  And obviously, if the dog never went through these things, they're never going to be good at it, right? Most protection dogs, if you ever need them, it's this, right? And you're stuck now with a crazy dog on the end of a line and trying to get away and it's pulling you this way and you want to get away, right? So that is not protection. That's insanity that is out of control, that is lack of discipline, lack of skills, right? Now, maybe it saves your life, right? But lack of skill and causes chaos. So that's why to me these things are so important. I'm always thinking reality and how do things really work in life if it ever comes to it? And I'm always thinking of all the scenarios that could happen or possibly come about as much as possible to make sure that owner and dog are prepped for whatever may come. That is why these things are so important and that is why these dogs cost so much money. All right, so now, big question, everybody always, right? This is just a universal thing that comes to people's heads and questions, right? So here, this is, I'm going to show you now, Michael for the first time is going to take off all collars off the dog, right? It's going to be naked, bare, nothing on. And we could have done this a long time ago, right? Don't need the collars, don't, but going to test the conditioning he's done with them and how fluent they are, right? Knowing the game with no help, which he's been doing for a while anyway, but this will be the first time taking off all collars and putting them into Michael moving all over the place now to see how much mental control and all the skills built in, how fluent are they with no help to the dog, okay? While it's an active, passionate state. So here, Michael's going to take the collars off for the first time, everything, no collars, bare neck, and do the exercise to see what the dog will do with no collars on. Okay, the situation that we can? Perfect, right? Nothing, it's just the dog doing what it was taught to do and do it well in passionate state, again, focusing on an object while talking, while trying to hold the leg in its peripheral and stay with him as much as possible, and he's moving quickly, right? All these things add so much difficulty to the exercise, again, for the dog it's very difficult, it's a lot of speed, right? And then all over these movements. So you see how fluent this puppy is with such a high level game, right? Now this is why I always state, start young, start young, start your obedience game, eight weeks old, start your bite work game, very young, you know, ten weeks old, eight weeks old, I start right away, but within the first, you know, three months of the dog's life, you should be starting the bite game, the passion game. So I always say this, much easier to build anything and everything into a dog when you start very young, the dog doesn't know better. So it's very easy to come off collars and all discipline or any help when you've done the game very well and started early and young. The later you start, the harder it becomes, and yeah, we'll always get the dogs off the collars and always have it in the end just the same. Doesn't matter, but make life easy. Start very young because when the puppy comes to you very young, they don't have a history. They don't know anything except for what you are showing them life is with you, right? If you let them do what they want and no discipline, no rules, no training, no, you know, showing them how to do things, how to bite, how to bite the pillow, how to out building drive, building those obedience skills, right? Things become more challenging as the dog ages, right? So five, six months up, if you waited to there, you're still too, you're late, not too late, but you're late because they've already, most people, they've had them since eight months old to three months old, eight weeks old to three months old.  Just let it be a dog, right? And it becomes harder because they have a history already developed of not working, not using their minds, not listening. And this is, now you have to counter condition what they saw life with you as you start eight weeks old, they don't know anything coming from mom. And this is what we built in a lifestyle and an outlook that they don't have anything else to judge it, right? Or look back on. So we mold it and we create a mental habit that they can't even help. It's just ingrained and it is what it is and they don't even know the difference. So the example here of Michael doing this started very young, eight weeks, nine weeks old and these are high level exercises, right? Not even just puppy stuff, this is high level. And being able to do with no colors on perfectly well in all directions and in an active emotional passionate state, which is the highest form of control, right? Regular obedience compared to that is a piece of cake. Getting a dog or puppy into a motion and getting that mind crazy but still being able to focus is as high as dog training gets in the world, right? And where it all counts to control that passionate mind and still having them keep a level head of the skills and holding their form of what they're supposed to do and not let the emotions get the best of them by breaking the command or the exercises, right? Because of the emotion and passion. That's where real dog training counts. So that's just the example I always say again, start young, start young, start as young as you can. Other new things Michael just started working with and again, remember Michael's never trained a dog in his life. This is all new to him. We've been doing this through Skype, Miami here, France, only through Skype since they were eight weeks old and building all their skills only through Skype. So now he started working them together in obedience and here's him doing now the exercises that we were showing in the past, some of them, and starting to get them to work together as a team with some of these things. Fantastic, he just started this, it was really the first time there in those clips that he's ever really done it with them together. So I mean for the first time, it's fantastic the way they're working with each other with these certain exercises and he's just starting. So there'll be more and more, we pair them together, pair them together, we'll start doing protection exercises with them together and as a double tag team, right, against the decoy, against several decoys and they'll have to work on Michael as a team together. So that'll be coming soon, next few months we'll start doing that and I'll just keep showing progressions. All right, so I'm Richard Hines, America's dog trainer. Yes, good! Okay, so I'll point out something really good. She walked sideways, not backwards, but sideways and she kept it perfectly.