Welcome. Good morning. I see that if you're in the room today here, you didn't get scared off by the word Java in the title of my presentation. So I work at Engine Yard on the JRuby team and I want to talk to you today about refactoring Java to Rails. So when we think about refactoring, usually we're talking about improving the design of existing code. And when we're doing a refactoring, we're thinking about making incremental changes to an application and changing the code but not changing the functionality anyway. And that's generally the approach that I'm taking. But if you think about refactoring, I don't know if any of you have read this book. It's a classic book, great information, but it really applies at a really fine-grained level of your code base. So there's no patterns for refactoring like introduce new language or extractor Rails controller. Those higher level refactoring aren't some things you typically think about. And so another question you might be thinking about in terms of what to do with a Java application that you want to use Rails for is, well, why would you even do that in the first place? You guys are sitting here at the Scottish Ruby conference and I probably don't have to convince you that using Rails is a good idea or using Ruby is a good idea. But for a mainstream Java programmer, why would they even want to do something like that? And there's actually a fellow, Matt Rabel, who gave a talk in Belgium last December about comparing various JVM web frameworks. And he actually had the foresight to include Rails in his comparison, even though Rails technically is a Ruby framework, it runs just fine on the JVM with JVM. And I'll just mention, up front JVM 1.6 is our latest release. It just came out a couple of weeks ago and it's probably our biggest release to date. It supports Ruby 192 and its support for Rails is better than ever. Rails runs pretty much without a hitch. If any of you are coming from pure Ruby applications to JRuby, there's some other considerations in terms of what you might need to do to change your application. I'm not going to talk about that today, but I actually have to have a talk at RailsConf next month that's going to focus on that topic. I don't know if any of you by chance will make it there, but you can maybe look online for details about that in the future. So I want to talk, again, to get you back to this idea of refactoring and how it fits in the realm of a Java application or a legacy application or an enterprise application. And to do that, I want to introduce a metaphor with the built environment, with architecture. That's maybe a little bit of a weird metaphor to make because typically with software it's very malleable. With buildings, you build it, it's done. There's not a lot of refactoring you can do. But I actually found a couple examples that I think would apply to this. So when I talk about enterprise software, I'm really talking about long running projects, legacy code bases, those are the kinds of things you think of. So it's code that's already really entrenched and it kind of feels a little stagnated. It feels hardened. It's resistant to change. And so the whole idea behind bringing Rails or Ruby into the mix here is to enliven the application and make it able to respond to change more quickly. So to get back to my architecture metaphor, I want to bring up, my first example, I want to bring up the Sagrada Familia in Barcelona. I assume maybe some of you have been to see this structure. I myself have actually not been there to Barcelona to see it yet, but hopefully within my lifetime I might be able to get there and see it finished. This building is, you know, obviously if you know the history of it, it's been in construction for I think about a century or so. And they still have at least a good probably 10, 15 years before they can even call it close to complete. And what's interesting about this building is just such a long running project, right? And so they have all these different façades on the building and they have scaffolding inside of the building to hold up the archways while they're building out new facades and new interiors. And just this, I mean, already, like even seeing the word scaffold, right, kind of makes you think of rail scaffolding right away, at least that's kind of the metaphor that I was thinking of there. So you have this building that has all these different faces on it it's gone through different phases of construction and you could kind of think of software being done in that same way, at least a long running software project where you're doing multiple things to the project and at various stages you might be working on pieces that are only loosely related to other pieces in the past, but you still have to bring them together somehow. Another example I have is this hotel in North Korea. I think it was construction started back in the late 70s or early 80s. It's a fairly ambitious project. I think it's like a 40 or 50 story hotel and it's a really odd shape. And I think back in the mid-80s or so, it's probably not surprising that the North Korean economy might tank and the construction stalled out. And so the things stood empty with the, it's a little bit hard to see in the screen, but it stood empty with no skin on it at all over here. And so this is a picture of what it looked like in 2005 and then only recently it was sort of the project restarted again. You can see they're starting to put a glass skin on the outside. And so for this example you can kind of think of a software project where it might have been mothballed for a while and then you need to pull it out and actually revive it again and actually do something to it. Another area that's interesting is this idea of a seismic retrofit. These are buildings that have been retroactively reinforced to withstand earthquakes and other natural disasters and that kind of activity. And this is a picture of a couple buildings in Berkeley, California where they've had these cross brace struts applied to the outside of the building to reinforce them because when they originally built the technology if it was standing earthquake wasn't what it was. And so later on technology progressed and they are adding these extra structures on the outside of the building. So I found that kind of interesting. And then my final example, this odd structure in Krakow is another sort of abandoned building that probably never will be finished. And yet it kind of stands as an eyesore on the Krakow skyline but actually it's been kind of repurposed recently by H&M and some other advertisers. They put these huge billboards on the side of the building. And so that's kind of example of well the project's kind of dead, it doesn't really do anything but maybe you can still do something useful with it. And so to kind of summarize all these I'll just kind of click through all them real quickly here. I mean I think I kind of gave you some idea of how each of these structures has sort of a history behind them various phases of construction and you can kind of draw parallels with software with building new parts of the applications scaffolding, reviving old projects. The size and retrofit is kind of almost like you could think of it in terms of like a security audit or you want to improve the security of an old application by adding and the Skeletor example with finding new uses for old code. And so all these areas are areas where you can add rails into an application and quickly spin out new features. And I'm going to show you today how you can do that without having this completely disturb your existing application. And so I have this repository on GitHub that I'm actually just going to pretty much step through today and I'll kind of have an extended demo and we'll just kind of browse through the code and I'll try to give you some examples of some of the things that I did in it. So the idea I have with this repository is it's basically a, it probably spans about 30 commits or so and it starts with a basic spring MVC application that uses hibernate. It's actually the spring PEC clinic if you've ever seen or heard that application which is a little bit generic and a little bit small. It's at least something I could work with and something that was readily available that I could use. So the other comment I have about my approach here today is that I'd like to be standing up here giving you sort of an experiential report about how I did this to a real-world application. I don't have that today but I do know of some people in the community who have done this and I just haven't convinced them to step forward and talk about it or we haven't put our heads together to say let's get the word out. So my main idea with this example today is really just to be sort of a clean room. If I were to do this here's how I do it and it's out here in a repository well documented step by step and the hopes is that people, you guys and others can go look at the repository and browse through it, browse through all the commits and learn about some of the things that I did to introduce Rails into a Java application so it can provide a way forward if you will. The prerequisites are pretty small and if you're already doing Java coding you probably have most of these. You might need to install JRuby if you don't have it. There's a number of ways you can do that. You can go to JRuby.org there's a download page. You can get it through RBM if you use RBM and then of course you just need Git because the project is in a Git repository. So the way I structured the refactoring was to do it sort of in three phases. I did a small, medium and large refactoring and the reason for this was to sort of give you different options for how you might proceed in your application. So if you want to just do a small amount of changes you don't really want to affect the existing structure of the application the way it's laid out, the project, the way it's built, those kinds of things you might just consider some of the things in the small refactoring. And then the medium refactoring builds on that and adds some more functionality in and starts to take over more of the old application. Then the larger refactoring actually goes full scale all the way to completely replacing the spring MVC parts with rails parts. So we're going to step through all three of those hopefully in the time we have here today. So windows got resized again so hopefully we can see that alright. So on the left side of the screen here you can see sort of the basic project structure. It's just a normal Maven Java application with a source and you have your Java code and your Web app code in here. So when you're doing a refactoring what's the one thing you really don't want to you don't want to be caught without when you're doing a refactoring would be some sort of a test suite. You want to be running that constantly and making sure that you're not breaking anything as you go along. And so my decision for which I chose to build out a small Cucumber set of Cucumber features that test the application through HTML unit to verify that the Web pages are all serving up correctly. But we can actually look at if you haven't seen the pet clinic application before. I should have it running here. It's very simple. It's got owners, veterinarians and pets and visits are the main entities in there and you can look at a list of veterinarians, search for an owner, look at an owner and look at the pets and how many times the pets have been to the clinic. So that's the basic functionality. There's not a huge amount of stuff here that needs to be replaced. So the first thing we want to do is I want to I want to change to my Cucumber. So what I'm doing here is I'm going to be just stepping through this Git repository here. This is a list of all the commits here. So the first thing I did is we have the Cucumber suite so I can actually run it. And so I've got the Cucumber suite set up to boot the Tomcat Web server using Maven. It'll stand by and wait for that to finish. It takes a few seconds. And then it'll run the Cucumber suite against it with HTML unit in sort of a headless browser mode. For me with Cucumber you know there's a bunch of different ways you can test Web apps with it and this is using the Capybara gem and Solarity which is a wrapper around HTML unit. And so I'm running the Cucumber features here and some of them are failing. That's because the way I wrote the Cucumber suite was in such a way that the only way you could find some fields in the form was through having label tags that didn't previously exist in the Spring applications. So I actually add those in here. So there's actually a revision here where we add these tags, label tags around the labels and that's what Capybara uses to find those fields so it can fill the form in. So if we switch the first thing I did another, so after I had the Cucumber suite completely green we'll just skip that for now because I'll be running Cucumber again several times here and you'll see it green eventually. The very next step after I had the Cucumber suite was to actually bring JRuby into the mix and it was actually very simple with a Maven project you just have to declare those dependency jars and JRuby has those available. And then I simply added a small amount of code inside of the Java application's Web XML file where you configure what servlets and context listeners and so on and so forth are in the web app. So when that's there let me just change to this one. So now the application is still running. So here's the application yet again but now if I go to this rack URL you can see I've put a little rack application that, a little lobster application that comes in the rack distribution so we've actually wired in JRuby here and it's serving a little rack application here and you can see the rack machine going here and the show errors rack middleware that's coming through here. So in one small step we haven't altered the rest of the application and we've introduced JRuby at a new endpoint inside of the existing app and now we can start to do some things at that endpoint. So next I'm going to actually switch to Sinatra and so if we look now in the application we have actually have a little app RB in here and here's a little Sinatra app that I'm now going to run in the web app. I'll have to restart it. Alright so now when we go back to our application we see this little Sinatra app was running and I added some code in the Sinatra configuration to include the Sinatra reloader gem which allows you to change the Sinatra routes and actions and views on the fly so I can do things like I can actually make changes to my app RB file and go back and refresh the browser and the changes take effect. So this is obviously demonstrating another aspect of working with Ruby or Rails is that quick feedback mode of operation. Okay so now we're going to actually start to modify the existing application and what I'm going to do is I'm actually going to go into one of the JSP's see this here. You can see that I'm going to go into the JSP's and I'm actually going to change one of these XML links to point to the rack application. And so the idea I'm kind of introducing here is that you could bring in something like Sinatra or some other lightweight Ruby framework and you could use that to implement maybe some services around your existing Java application. Of course you could also pull in Java libraries to do that as well but Ruby makes it nice to do that kind of thing to serve up web services to serve up JSON and so on. So let's try this. So I'm going to go back to the cucumber suite now and run it and there should be one failure and there's a failure. So what I have is a I believe it's in this cucumber feature here. This feature of the Vets page where you can view the veterinarian's list as an XML document and so this is the one that's failing right here. I believe it's this step right here. Oh it's the same. Then I should see an XML document. So we replaced the link. The link goes through to the Ruby application but because we haven't actually implemented the XML link yet, probably there's some error page being returned. And so going back to our Sinatra app we see that we'll have to add a route in here for that XML page and actually implement that. And so to do that you can actually go in here and the next commit in the repository implements the XML feed and I'm just using the link here to build out the XML document. There's a method in here called clinic that's getting called and this is actually a Java class it's actually in the pet clinic Java code. We can actually look at it over here. And this gets into how JRuby has really nice Java integration. So we have this clinic interface that we're pulling out of the spring context and the clinic has this getVets method right here to get the list of vets. And then in this directory I have a helper's class for spring and you can see here's the clinic method here and all it does is it gets a handle to the spring context and then kind of indexes into the spring context and pulls out the clinic object by name. You can see here on this line up here we're declaring the context by just pulling into the web application context and pulling out the spring context that gets stored in a particular place in the server context. I also have an interesting little helper up here I'm declaring these methods on the spring bean factory that allows me to use square bracket operator to do sort of the equivalent of a hash key look up into the spring context and treat it syntactically just like a hash map which is kind of nice. That's our vets.xml implementation and now if we go back and run this again that scenario should be fixed. So while that's running let's go back and kind of move along. Alright so we can kind of proceed in this manner. We can make small changes to the existing application that break a test and then fix that test and then just keep going step by step through the application. That's kind of what happens here. Eventually we get to the point where I've got here's the test suite running. So all the tests are passing now. So to take this, the smaller factor in search to logical conclusion let's collapse this back down. You can go back and look at our Sinatra app now. You can see I've added a couple more actions here. There's a JSON action and there's also another XML document below and I'm using builder and I've actually extracted the builder code out to separate Sinatra views to kind of clean this up a little bit. So I mean that's just more of an internal refactoring but it makes this code cleaner and easier to read and easier to maintain. So what I'm going to do is I'm going to go from here into the medium refactoring and the first thing I'm going to do in the medium refactoring is I'm going to change the mode for mode of operation for JRuby inside of the web app. So before it was running as basically a servlet at a particular endpoint in the application and I'm going to change that to this filter right here. So if you're familiar with the Servlet API you know that there's servlets and filters and filters are sort of analogous to rack middleware where you can kind of wrap filters around the request pipeline and intercept them at any stage. So moving this, the JRuby integration to use a filter means that we can intercept all the requests going into the application and we can decide which ones we want to handle. And so I have this class that I wrote which basically how it works is a request will come in and it will delegate that request to the Ruby code and allow it a chance to handle that request. If the Ruby code says nope I don't know anything about that it will throw back a 404 error or maybe some other kind of error and then the filter will turn on and say okay well the Ruby code didn't know what to do with it I'll just let the regular Java application handle it. And so what this will allow us to do is we can start to incrementally layer new Ruby actions on top of the processing application without having to disturb any URLs or anything in the application but we can start to implement them in Ruby and that will just automatically pick up. So after I've done this the first step I introduce is to go back to our Sinatra app and instead of saying get rack vets.xml I'm actually going to overwrite or replace the vets.xml path which is the same path that the Spring app application would normally expect to use. So if we do that well first of all if we do that now we've changed the URLs in Sinatra so the existing Spring app is still expecting to go to rack vets.xml for example so it's not going to work but in the following commit then actually that is the commit that I do it I must have lost that in here. Oh I did do it in this commit. Okay so in a previous commit what I did was sorry about the confusion here. In a previous commit in a previous commit I actually changed the URLs back first before implementing the new actions and then in another commit I implemented the new actions at the right place thus making the test run again. So it was again sort of a red-green refactoring step. So the next point in the new application that I want to go to is I actually want to switch from Sinatra to Rails I'm going to start to do some more heavy I don't know if I say heavyweight things but we want to start to build out the application in a larger fashion and just feel like Rails is a better way for organizing all the various routes. So you can see here now I've actually added some Rails guts into the mix here. The Rails application app directory in the config directory and then later on we can actually go and implement we're going to go back and move our Sinatra code over to Rails so I'll do that here. And now we can see that we have a we have some routes so we're adding the routes into the Rails application here and we have a controller some controllers for this as well. So you can see I've moved the XML and JSON handling code that was previously in the Sinatra application. I've moved it over here and you can see I'm using a Rails respond to block to do the format handling in the same action. Yeah so at this point I haven't actually changed the model layer of the Spring application at all so maybe I'll stop here and just show you that if we so at this point yeah that's a good question to point out. So the Spring application is still running inside the web app and I can access it like I showed you before by kind of reaching into the Spring context employing things out of it. And at this point we've been doing basically controller and view type stuff so of the MVC application MVC we've just been doing views and controllers and we're just keeping the model code completely as it is and I think that's probably a good model in general for this kind of application where you've got an existing body of Java code or probably has some business logic embedded in it and you probably don't really want to change it or wholesale rewrite that. And so this is just kind of showing how you're layering these on top so yeah so this is just I don't have anything specifically that says that this is coming from Rails but you kind of recognize things like the runtime header and the fact that there's application XML here and it's just running through the Rails and there's an index XML builder here that has that builder code in it. Alright so got a little over 13 minutes left here at this point I actually want to move some of the actual HTML views into Rails and so what I've done to do that is for example what I'm doing next is I'm introducing a new route. You can see at the bottom here I've actually added a root route which will make the welcome page of the app go through Rails this time and there's a welcome controller as well. It has an indexing method but it's not really doing anything yet. What I'm going to do is I'm actually going to take the contents of the JSP and just wholesale and move it over into the Rails app which doesn't make a lot of sense I mean so we have a if we look at the welcome we have a we have an index that's the finished version okay so what I wanted to show is that I'm starting to take some of the content out of the JSP's and for example putting it into the Rails application layout and I make one small modification and I just do that so that we can visually highlight that that a page is being served from Rails versus from the Spring MVC portion of the application. Let's show that here in a moment. Just waiting for the server to finish booting. Alright so as you can see this is what I was talking about. I added a new graphic just for the Rails portion of the application that says okay this page was served by Rails and I included that background image in the Rails version of the layout but the Spring layout remains without that so if I click into a page that's still served by Spring that one's actually served by Rails here too if I click into a page that's still served by Spring you can see the Rails image in the upper corner goes away so this is a visual reminder say okay well this page is still done by Spring but this one is actually served by Rails so this is an interesting thing here I have one page that's being served by Rails and it serves up this search box and if I go and then click and submit the form then it actually submits the form to the Spring side of the application and I think this kind of demonstrates the power of sort of segregating your application according to URIs and thinking in terms of pure paths and endpoints in the application and the fact that you can take a form and serve it from the Rails application and submit the form to Spring is I think that's kind of a powerful concept for demonstrating how you can just sort of incrementally change the application. I'm going to skip ahead now to the larger factory and the main crux of the large refactoring what I want to do is I want to actually move the, so you saw before how we had all these Rails code embedded down kind of deep down in the all this Rails code kind of embedded deep down in the guts of the project and it still has a sort of a traditional Java field to the structure of the project. Well what I want to do is actually pull that code out up to the top level and just make it a proper Rails project so we can use the Rails server, we can use Rails generators to add new features to the app, we can do anything in more Rails like development mode. And now you can see I've got, I took all this stuff out of the web app and instead now I have my, it's actually not up here yet, but yeah I haven't actually moved the code in there yet, but you can see now it looks more like a proper Rails app structure where you have app config, script, test, vendor, and that sort of thing. So now what we're doing is we're actually changing from running in a mode where we're running the app in an embedded Tomcat container, we're going to switch to running the app with the Rails server which is WebRick by default. So we're kind of moving more completely out of the Java web app space and into kind of a pure Ruby app space. But because we're still in JRB here we can still do Java things, but now we actually have to do, we have to do one thing ourselves now that we got for free from before and that's to actually boot the Spring, we have to actually boot Spring ourselves from within the web app because there's no, it's not that stuff that normally happens within the Spring context listener, but now we have to do that work ourselves. There's obviously no, you know, at least not today there's no plugin for Rails that boots Spring automatically for you, although you could possibly take this code and make one from it. So what I've done for that is config initializers, there is this Spring class here and you can see all it does is it adds some, it basically sets up the Spring class path XML application context and that's sort of a way in Spring of saying, well here's my Spring configuration files here, just boot this up finding those files on the Java class path instead of the normal Spring web app way of doing it. And you can see here I have the Spring application context files here and I just make sure that those files are on the class path, they'll get loaded up. Now the other big issue we have is that we have this big Spring application and if you look at the Maven project file for this, you're going to scroll down it, you're going to see all these dependencies log4j, Apache stuff, MySQL, Hibernate you have all these jar files, how are we going to manage this stuff? Well, we can actually just use Maven and make Maven go to work for us on this. I wrote a plugin that's in the latest version of JRuby that you can use today and what it does is you can see it here you just run a Maven command line to call out to this JRuby plugin that I wrote and it generates this script that we're looking at right here. So you're in a Maven project, you run this plugin and it generates a sort of a class path script for you. And you can see here it basically gives me a list of all of the all the jar files that belong to this project. And then I can actually just call that set class path not to set up the class path for me. So we can see that here. Now we should be able to do Rails server. And so here's the pet clinic app served up by Webrick completely within the JRuby process. I set up the logging for this so that there's actually you actually see the you actually see the spring goo, you actually see the spring guts when it boots up it goes into the separate log file so it doesn't clutter up the console when you're running tests but it's there if you want to look at it. So yeah, we have that basic application running now if you start to navigate into it I don't have all the actions implemented here yet. We started to implement some of the actions up to this point back in the meeting refactoring and then at some point I just decided well let's just go over to this other mode and now we'll just implement the remainder of the features of the app in the Rails way of working things. So I'll just have a couple minutes left here and I'll show you that one example of some of the neat things you can do once you get into the kind of really leveraging Rails in the application. What I've done is there's a in the app model in the app models directory now there's an owner rb and what we actually have in here is we have a model it's actually just the same owner Java class that we have from before you can see the very top line it says Java import you know our pet clinic owner class and then I simply reopen it on the Ruby side and I add a bunch more stuff in it so you can see I've added the active model stuff here I've added some validators for the owner and so we can actually take an existing Java class mix in active model and use it within Rails just as we would expect and it feels almost like an active record object I mean not quite but pretty close and I can just well I guess so this is where it starts to get into the more destructive amount of changes right because we're starting to put validation logic might be something that would have been in the Java layer before that we're now putting at the Rails layer so if you screw up your validations you could potentially be storing bad data but as far as with Hibernate be happy it's not I'm not sure what you mean not be happy in what sense yep yeah oh I see what you're saying yeah well so all these extensions that you see here only exist in the Ruby world like so if you think of there being two different worlds inside of the VM there's the Java version of the object and the Ruby version of the object is only seen by Ruby code so when you pass when you do something to this Hibernate object and you operate it on the Ruby side this code is there but when that object is operating back in Java world down in the guts of Hibernate it just looks like a regular Hibernate Java object right so you would have to actually make structural modifications down at the Java layer still and this goes you know pretty far into it the next step would be to say well do we want to stick with Hibernate at all we could just at this point we've got a shell of an owner model with all the logic that we need and we could almost go and replace it with actor vector and I think if your database is structured well enough you might even be able to do that and I've talked to some people who say say that they were able to actually have an existing Java model and an actor record model both talking to the same database table now I wouldn't recommend writing through both of those channels but you know maybe if you're reading through both of them that would work fine so I'm kind of out of time here I wanted to just point out and say that this is I encourage you to check out the repository if you're interested in this and check out the details and if you find them interesting let me know if they can be improved this is obviously only one way of doing it in fact there's some other people that are doing things along these lines LinkedIn is doing stuff with Ruby in their in their Java apps there's some videos on the Engine Yard site that talk about this a couple of people have also done these kinds of things before and then I just want to point out that I we just finished a JReview book and I actually have some copies downstairs you might have seen so check that out if you're interested and I'll be around for the rest of the day so please hit me up for questions. Thanks.


I prayed, Lord, let my hands be Your hands, heal through them. Lord, let my feet be Your feet, take me where You want me to go.


Happy day, what 17 of the no spend. I woke up about 20 minutes ago and I've been awake for a while and then I kind of went back to sleep. It's like 7 30 and I have a migraine. Like it's right behind my like eyebrow right now. So that's fun because today I'm supposed to be going to take Jackson to like a play place kind of a thing. We were going to have a party plans changed now it's just going to be me and my brother and Jackson at like Chuck E cheese or something. So yeah I just made some tea. I brewed some coffee for my brother but he's not up yet. I just made my tea so I'm going to see how I feel after I eat something but I may not go and I don't I don't like I don't like not going to things like that. But I woke up at like um like three o'clock because I just had to go to the bathroom and then I could not get back to sleep. So I think I fell back to sleep about like six so I just I don't know. But yeah my hair looks amazing.  This is like the real Emily here. I'm gonna wait for my brother to wake up. I'm gonna enjoy I'm gonna try to enjoy my tea here and wait for my brother to wake up and see what he wants for breakfast but oh right here like it's just like I feel like when I get these migraines they like have a pulse all their own like I can feel it like it's gross it's really gross but I'll keep you guys updated as to like what's going on. If we make something to eat I'll let you know. I might make some like eggs and toast but I don't really know what he wants. I have like just some like cereal and granola and stuff too if that's what he wants to have for breakfast but I don't know guys. I don't know I'm on the struggle bus. I just want to attempt to go back to bed but I don't know even if I could get to sleep.  I had like a whole um I don't know how many ounces that is of water and I just already refilled it up and put it in the fridge so after I'm done with my tea then I will keep drinking on that because it usually water cold water really helps me for some reason so anyway okay I'm gonna like close my eyes for a little while and I will check in with you guys when something more interesting is going on besides just my headache so the bummer I hate migraines they are the worst. Okay I will um I'll see you guys a little bit. Okay so breakfast has been decided. Oh I don't have anything in here yet. Wow premature Emily premature. I did some eggs so I'm just waiting for the pan to heat up a little bit. We're gonna have the rest of this loaf of bread we're gonna have some toast the coffee is on like that. I got a favorite bro over there he is uh petting the dog because Doyle gets no attention as you guys know so um that's what's happening here I'll show you breakfast once all that. Okay so food has been made this is my brother's he wanted a plain toast and then peanut butter toast with no flax he said hold the flax and then I put in some ham and some cheese in the like concoction so that's his and this one's mine and then this one is Doyle's so Doyle's gonna get some too he's very excited he's got his mug he's very excited. It's backwards. It won't be backwards in the film. Good morning assholes. So Doyle is ready. It was ready too.  Okay so breakfast has been had decisions have been made I still have that like pressure like right here so I decided not to go today um reason being is because my nephew although I love him is very very loud and I don't think I can be around loud things right now plus we were planning on going to Chuck E Cheese which is also another loud environment so it would only exacerbate my problems not help them at all so my brother went that's fine and um I'll just see him another day that's totally fine by me um in the meantime I put the final polishing touches on my drunk bake with me it's a blueberry cake that is up so you can check it out on my channel and then I also uploaded my or I'm uploading right now my no spend day 16 because today we're on 17 so that is done the vlogs are a lot like the no spend blogs are a lot easier to edit I had I think I said this already but I feel like a broken record because I don't remember what I say in certain vlogs and I don't know what to say in others um but I had over an hour worth of footage of the um bake with me video so I cut it down to oh gosh how many minutes like 13 minutes or something so hopefully it's not too annoying to watch oh no it's 11 minutes 11 minutes that's not bad so I just tried to clip it together in like a fun way that I would want to watch it so you can't really follow along with like how much of things I'm putting in and all that but the um the recipe is in the description of the video if you guys want to see but people have been asking how the cake was because I didn't eat a neat cake because I was still waiting for it to cool off and the cake is delicious I finally had a little piece of it um yesterday so I gave the rest of it to my brother he's bringing it over to Jackson's house and they're gonna have some and then I have like a little piece left as well so I'll have some of that maybe a little bit later today and there's this like stinky little dog oh man oh my he just wants all the pets and all the loves and all the attentions yeah but don't you it's like a quarter to 11 so I think what I'm gonna do is I'm gonna take you know Mr. Demanding out here on a walk um in a few minutes yeah you want to go on a walk I think that's a yes Doyle do you want to go on a walk do you want to go on a walk well get ready get ready get ready going on a walk yep anyway I think I'm gonna go take him on a walk um before lunch so when I get back then I will eat a little bit of something and maybe lay down because I am so tired and just uh this pressure and I don't want to take too much Advil I already took some this morning so I'm gonna wait um a little while longer so just irritating when these like I don't know headaches and migraines and whatever I think yesterday the reason I need to take a nap was truly because of the wine but I don't think that's because I don't think that's what's going on today I think this is something different because it's like very isolated like my eyebrow and then like the top of my eye like the back of my eye like that's where I'm feeling that pressure so such a bummer because I was really looking forward to seeing Jackson today but you know oh well what do you do um but I can just see him another day that's okay but yes so I am gonna go walk the doodle and um I'll just check in when more exciting things are happening and uh I'm gonna finish up that closet upstairs to or that linen closet upstairs today so that is good I'm really excited about that I just have to finagle a couple more things around and shoot my after like footage and then um I'll probably have that video up sometime I don't know when but sometime but I'm excited to bring more like organization videos to you guys so yay I'll see you guys in just a moment okay so I've taken the doodle on a little walk or walk and um it's lunchtime so what I'm making now is my cheesy tortilla oh I got one done I'm gonna have a coke with it like I do all my lunches and um yeah that's what it looks like when it comes out and I just roll it up so just like a cheesy roll up that's what's happening I'm also watching my friend Christy over at um the former mrs. Jones I will put her channel below I'm watching watching her new video that published today so she's talking about um five things that they spend money on and then five things that they don't spend money on she is a great financial channel and I really really enjoy her so hi Christy if you're watching so anyway I'm gonna eat my lunch here and then um I'll also be eating well not eating but consuming um some of this uh mild sauce stuff from the Taco Bell that's actually at the grocery store not from Taco Bell but it's so good guys it's so good gotta have the mild sauce because my body can't handle anything better than that so anyway gonna eat my stuff and I will see you guys in a little while well hello it is the evening time I don't know if I said this before but I was thinking about taking a nap because I had that like headache thing I still get a little bit of pressure behind my eye it's like when I get headaches that are like behind my eyes I always feel like a little bit of pressure still even once it like dissipates but it's still there but I feel better um I took like I don't know I slept for like maybe an hour and a half so I feel good talked to my mom for a little while and um then I took a shower so yeah that's what's going on so yeah um okay so dinner situation I don't know what I want that's like every day here I just I don't know what I want and I need to unload my dishwasher I just opened it up because I had that running while I took my little nappy pap I don't know I feel like I make the same thing like every freaking day because I'm just like not in the mood for anything exciting you know what I'm gonna do though I'm gonna take out some um meat so I have some of this beef I'm gonna take this out and just put it in the fridge so the next couple of days I might make something with it well that's kind of that's kind of the idea right why can't you guys help me with this stuff I wish I wish you could just tell me like hey Emily you should make this thing and I'll be like yeah that sounds amazing like great idea you know what does sound good hold on let's I'm gonna make some chicken because that sounds really good and um make some mandarin chicken from trader joe trader joe's mandarin chicken let's make that that sounds good and then I'll probably make maybe I'll make a vegetable or something with it too but people ask me once in a while because they know I like to shop at trader joe's I don't go a lot because there's not one really close to me but they asked me what my favorite some of my favorite items are there this is my number one mandarin orange chicken it's amazing I think one of these bags is like five bucks six bucks something like that and um if you eat like a normal portion you can probably eat that for like four days in a row like if you put it with some other stuff you put it like with some rice and some veggies or something else but um it's amazing and it's delicious so I think I'm gonna make that um get the oven going here and then do the dishes situation so yeah that's that's what I'm gonna do here I will show you my dinner when it's complete because I know people want to see my completed projects my completed dinner projects here's the doiledog what's going on bud he doesn't he doesn't know he doesn't know what's going on um my brother had left I think I already told you guys that my brother left already and it turns out he like texted me he's like hey did uh I leave my watch at your house like no haven't seen it so check the bathroom check the you know the guest room that he slept in last night I haven't found it anywhere but he thinks that he lost it at Chuck E cheese when he was with his son so it's kind of a lost cause at Chuck E cheese unfortunately but yeah so hopefully he finds it maybe in his bag or something I don't really know I feel kind of bad that he lost his his his watch but oh well hopefully I was able to get um I get another one okay so we're gonna bake at 400 there we go start perfect preheating for six minutes and um yeah oh and you know what I'm gonna have um if you guys did not watch today I uploaded my drunk bake with me uh it's a blueberry cake is what I made and um I do have two pieces in here for my grandparents but I have a little bit more left because I sent a whole bunch home with my brother so yep a little bit more left I'm gonna eat just a little bit of that probably tonight for a little a little snack maybe while I'm like I don't know watching some like really horrible movie on tv or something so anyway um I'm gonna get to making my food and I will check in with you guys before I eat it to show you what I'm gonna eat okay so here is my dinners I've got my chicken I made some broccoli also some rice I've got stuff to clean up so I'm gonna put away all my leftovers as soon as I'm done eating my plate of goodness here and I think that's gonna be it for today I don't think well I might have a little bit of that blueberry cake a little bit later just depending but maybe not I don't know I feel like this is like a lot of stuff to eat so I may or may not be hungry later you never know but Doyle is always hungry he is actually gonna get some of the white rice so he he loves rice so I'm gonna give him a little bit of that but that's gonna be it for me today hope you guys enjoyed the no spend I will see you tomorrow for more fun activities and hope you're having a good day and I will see you later bye guys


Welcome to this edition of Quality of Life. I'm your host, Dave Augustine. I'm really excited about the next coming episodes because this is first in a four-part series where we'll be going on the journey of well-being. Taking us on this journey through the four episodes is well-known hypnotist, psychic, author, and healer by means of Ricky, Tony Green. Tony, welcome to the show. Thank you, Dave. It's an honor to be here. Thank you. This show, we're going to focus on hypnosis.  How does one become a certified hypnotist? Typically, through a training program, you want to find an accredited school or an accredited program that offers hypnosis. I went to the Jamesville School, the Hypnosis and Wellness Center in Jamesville. How long did it take you to go through to get your license or accreditation? It was approximately, I want to say, a three-month program, just the weekends, though. OK, OK, nice. So hypnosis, what is it, I guess, where you see on TV once in a while in the movies or whatever they wave their hands or whatever or they have the pendant going? Is it really that's what it's about or, I guess, what is it to be hypnotized? OK, so yeah, some hypnotists actually still use items to help a person become hypnotized. I have some tools that I use, not a pendulum, however. I have a CD that helps to put you right in that state of hypnosis. And I also use a product called the Biomap that helps you relax and go into that deep state of relaxation. And that's basically what hypnosis is. It's a very focused state of relaxation. So as a person becomes more and more relaxed, the subconscious part of their mind is more open to suggestions. Do can anybody be hypnotized or is there different levels or the depths of hypnosis one can go into? Is it based on how somebody's mind is trained if they're real analytical or that way? That's a really good question, actually. I personally have not met anybody that could not be hypnotized. Statistically, they say people who are extremely analytical or with a lower IQ cannot be hypnotized. Now, I believe we're all in hypnosis at least once a day. That time when we're zoned out during the day, we can hear everything going on around us, but we're kind of zoned out in our own little world. That's a state of hypnosis. We've heard of highway hypnosis where you're driving down the street and you don't know how you got home. That's a state of hypnosis also. The first time somebody comes in for a hypnosis session, they'll go into a certain depth of relaxation. The more you use hypnosis, the deeper you can relax. One of the processes that I use for hypnosis, we start the person off at a very light state of hypnosis. As the session goes on, they get deeper and deeper and deeper into that state of hypnosis, which is a progressive relaxation hypnosis. Okay. Can hypnosis be used instead of, let's say today everything is pharmaceutical based to help heal or to cure things. You got a prescription for this, prescription for that. Can hypnosis be used as an alternative way to help people heal themselves? Absolutely. Stress is an indicator in almost every illness and disease. If we can bring our stress levels down, we can, I can't say everybody could, but the amount of medications that are being prescribed to people would probably be a lot less. Anxiety and fear. So many people that take their children or as adults go to doctors for anxiety and fear, they're just right away here. Take this pill, get this prescription, where hypnosis can help eliminate what's causing that anxiety and remove it from you. So you don't need that medication. Our body forgets how to relax. When we're babies, we can be folded up in a little ball practically, but as we get older, we have stress, we have concerns, we have worries. And all of a sudden, even at night when we go to sleep, we're not even going into full sleep any longer, but the more you reteach your body to relax, the less medications you'll need, the less illnesses and diseases that you'll have. Interesting. With the age of somebody, can children be hypnotized or is it more in adults where you're more susceptible to it or not susceptible where you react to hypnosis, I should say. That's a great question. Absolutely, children can be hypnotized. I went to the Janesville Hypnosis and Wellness Center for my original certification, but I did my continuing education with Martin and Johnson, and I did that in Pediatric, which is teen, preteen and children, hypnosis, sales and motivation. Oh, athletics and fitness, and then stage hypnosis, and no, I don't wanna be a stage hypnotist. But children, I've hypnotized children as young as five, and then all the way into teens, and they're amazing with hypnosis. They handle hypnosis much better, their results can be much stronger. They aren't carrying as much as a lot of the adults around, so it's easier to get in there, help them heal whatever's causing their issues and then move on. Okay. One thing with medications, as we were talking about earlier, is some people can't take medications or it doesn't, they don't react to the medications. Case in point, let's say if somebody had a stroke, and a lot of it is based on the brain and whatever, so it may not, medications may not work. Could hypnosis help relieve or help people recover from that? Absolutely, two quick examples here. The gentleman from Motten and Johnson, who has been a hypnotist forever, actually did have a stroke, and they told him he would never walk again. Well, he said, I'm a hypnotist, I will. And he does, and he's still out there training, doing training sessions with the NGH, and completely has rehabilitated a great deal from his very severe stroke. I actually had an accident where my head had hit the cement and I smelled a burning toast, and I knew there had been some damage there. And I used hypnosis to start the healing processes in my brain, basically, and it was the greatest thing. I don't get to share this story much, and you have to have a level of belief to understand this, but I started doing the hypnosis, and I said, okay, let's heal the prefrontal cortex, let's heal the right lobe, the left lobe, and as I'm doing this, I'm literally giggling because my left, I was working on the right side, and my left arm just floated up, and I just, yeah, and then my right leg when I was working on, and I was just cracking up, I'm like, oh my goodness, this is really something's going on here, not to mention the fact that I could feel it. I could feel this tingling in my head. Now, I've had clients come to me since then that have had head injuries or they've had something that their maturity isn't as developed as they would like it to be, and I will add that into their session, and it's always remarkable because their hands or their arm will start moving, they're like, this is crazy, I'm like crazy good. So I probably answered my next question coming up, is there such a thing as self-hypnosis, and then with self-hypnosis, then you hear about meditation. Is there a difference, or is meditation actually another way of putting yourself into a hypnotic state? Absolutely, so it goes, first let me, the meditation to hypnosis, we're awake, then we have light meditation, meditation deep meditation, light hypnosis, hypnosis, deep hypnosis, sleep. Now this is the reason, part of the reason why people, they say don't go to bed angry and don't go to bed fighting with somebody, because if you're thinking about that while you're going to sleep, you're literally programming that into your mind, along with worries and negative thought processes. So before you get in bed, if you have a habit of running through the day and while you're in bed, write it down, vol it up, throw it away, and then get in the bed, because you need to get those thoughts out, just don't do it in bed as you're falling asleep, because you are in some state of programming. Now yes, self-hypnosis is a very powerful, powerful tool. I use self-hypnosis almost every night, and part of the reason I became a hypnotist were some of the things that had happened earlier on for me in my childhood that I wanted to also recover from. And once I started doing self-hypnosis, it helped me to become very aware of what my clients would be going through. So it was an incredible tool both ways. Just like you went to school to get your certification for hypnosis, excuse me. If someone wants to learn self-hypnosis, would they have to go through the same kind of program or the same type of mentoring or whatever to be able to do it? I would suggest mentoring. If they've never had an experience with hypnosis, I would strongly suggest mentoring, because you wanna know that once you're in that state of hypnosis, the appropriate suggestions and or things that you want to say. You don't wanna get in that state of hypnosis and then start second guessing yourself and saying things that you wouldn't wanna be programmed for. So I strongly recommend getting mentoring from a hypnotist that knows how to teach self-hypnosis. Okay. On this show, obviously, we're not gonna do an actual hypnosis. However, I did go through previously with the hypnosis session with Tony where I actually was hypnotized. So I like to do is talk about that now and this interview program, the stages that one goes through if we could do that. Absolutely. So when you came in for the hypnosis, we started at a light state of hypnosis. And then as the hypnosis went on, it went deeper and deeper. And I'm sure that you can tell everybody that in the beginning it was a feeling of maybe not being, not even sure you were in hypnosis, just kind of like, am I, am I not? Exactly, and that's what I went through is like I was laying there and I was aware of everything going on. I'm like, I'm not hypnotized, but yet my eyes started to flap. Like in REM sleep, my eyelids were blinking. I'm going, is this normal or what? Cause I'm trying to make them stop and they just kept blinking. So that's where I experienced that. And then I started to, as we progressed, I started to tingle a little bit more like you had mentioned earlier. And those are two perfectly normal experiences for people. Not everybody has the same experience, but those are two perfectly normal experiences for people during hypnosis. One of my signs that somebody's starting to go into hypnosis is the rapid eye movement. As soon as I see that I'm like, awesome, we can really get started now. We can really start going into the depths of this. The second thing is if they, it's called the deep swallow where you're swallowing and it's like a, cause your throat is so relaxed. It looks like a really emphasized swallow. So those are two of the signs, but those are perfectly normal experiences during hypnosis. I don't remember, I think I was, but in my hypnosis session, was I swallowing as well? I, you know, once I see the rapid eye movement, I don't need to look for anything else. Okay, cause I could have swore I was also, you know, swallowing like not dry mouth, but continuously swallowing, you know. And what's weird is all the while, I'm still, I could hear your voice and I knew where I was. So I wasn't sure if I was hypnotized or what, or what was, you know, really going on other than I know as I started and you started, you know, we started going through the other steps. And by the way, I was hypnotized. We had to pick a topic as far as what to be hypnotized for, which is an important thing. You just want to say, hey, I want to be hypnotized.  You know, so that's what the session was all about. Absolutely. And as you noticed, in the beginning, there were what I like to call mind exercises that we did, clearing away things. And then as it went on, and especially in the end, it wasn't as important that you heard everything I said, but in the beginning, I want a certain amount of awareness and interaction with the person who's being hypnotized. And in your case, you were a perfect candidate, were able to do everything, see everything, and just move forward in the hypnosis that way. And then towards the end, if you didn't hear me, it's okay. And some people, they get into hypnosis, they can hear everything all the way through. That's perfectly normal. They might hear it in and out. That works still. And they may hear nothing. And then they think, I didn't hear anything. I'm listening to your CDs. I'm not hearing anything. And I said, don't worry. This isn't for your conscious mind. It's for your subconscious mind. That's where permanent changes take place. Once we change it in the subconscious mind, it automatically kind of uploads to the conscious mind. And those changes just happen. And do you have any examples of that that you'd like, since your session, that you would like to share?  Were you kind of interviewed to get to know the person like the type of, they are like, I'm more analytical what you said. I work with computers and everything. So you went through, here's the stages we're gonna go through, which was really neat. And then once we started going, I know the other thing was, as I didn't still know I was hypnotized yet, but then as you started going into the whole, removing the toxins and kind of the negative thoughts or whatever, like I said, I was tingling all over and then all of a sudden you said, just release and flush out those toxins. It's like I went, whoa, I could just feel the stuff. I could feel myself reacting to it where it was actually going on inside. Absolutely. And isn't that powerful to feel that and know that and to just say something really happened here? And I would love to take the credit, but that was all your work. Whosoever on that table is agreeing to do the work and that's the most important thing. Yeah. The other thing we did is then, once the toxins are so-called the bad vibes or the bad habits are gone, not gone, but we went through the steps, then you started the reprogramming or introducing the new healthy way. Could you go into how we did that? Sure, in your specific case, because you are IT, we use literal computers and computer programming on here's what we're gonna remove from the system. This is now what we're going to download into the system. Also going into what do you want in your daily healthy, nutritious choices and letting you make those decisions because overall we all know what the best choices are to make. We might not like all of the best choices, but we like some of them. So moving those up and making them a priority is the next step. And then giving the suggestions about appropriate eating habits, the small amounts needed, portion control, so on and so forth. I know when we were going through that phase, took it as where we made it the computer thing, but I was actually, I know my hand was moving like I was on a mouse and I was actually clicking on levels like configuring a system where you got this, yes, no, or sliding the levels like a volume control up and down for the good things and all that. And then we went, when you're ready, click okay when I was said to you. You always ask, say okay when you're done, I remember then I was clicking on the accept button. You know, making the changes take, believe it or not, that's, and I could still remember my hand moving like a mouse and clicking on the button and moving the screen around. On the categories that you said we were going through, so that was a neat thing as well. Absolutely, and our brain is this magnificent tool that we think is just already programmed and there's no way to change it. When in actuality, our brain does what we tell it to do. It doesn't have a mind of its own. It's following our mind, our past programming, where we've been, what we've learned. It can be reprogrammed at any moment we so choose. If we choose, I was doing this, but now I wanna do this. People who come in for stop smoking, one session, done. Doesn't matter how much they were smoking up until that point. If they've decided they're done smoking and they come to me for a session, I have a very good track record. I think I'm at 99% the one woman who didn't quit. Her daughter brought her in and said, okay mom, you're gonna quit smoking now. And the mom was like, no I'm not. So obviously it's not gonna work in that case, but one time and they quit smoking, they never go back to smoking again. Prior to walking in, they would believe that they couldn't do that. Walking out, they're like, I don't even wanna cigarette. So our brain does what we tell it to do. We shouldn't be doing what our brain is telling us that's past programming.  I'm not gonna do this and then expect hypnosis to work. Absolutely. The way hypnosis works the best is if you really want the changes. If you want those changes and you go to hypnosis for it, they're going to happen. Now here's a great story. I had a client who was on a Derby team and she had to work out to stay on the Derby team and be effective and strong. She did not want to work out. She came to me for a session to help her work out. So I made her a CD just for working out. I did the in-office session. And then she sent me a email six months later saying it finally kicked in. Now remember, this is somebody who didn't want to work out does not like working out. Other people who want to work out that come to me within a week, they've started some sort of program or some sort of process for working out. So even if you don't want it, it can sometimes work. It will take a long time, but if you want it, it's really gonna stick and hold for you. And then back to my session a little bit, I know when you says, okay, now it's time to make the changes take effect. Even though my computer might say, okay, click on start, or click on start restart like a Windows computer and I actually rebooted myself where you could kind of feel it as this wave come through which was kind of a neat feeling. Absolutely. And you knowing a lot about computers being an IT person, that was the best case scenario possible for you because you knew everything about that. You were actually kind of taking the reins a little bit too and doing some things that I didn't even instruct, which makes you like a perfect candidate and just really wanting these changes. But yeah, no matter if I use that analogy or a different analogy, it always gets a person to the point where they get to make that choice. I'm ready. I'm pushing the button. I'm letting this go and I'm accepting this now. I think one of the last phases was where you were talking about where you're really going in deep. And I remember you're talking about that where it's more for your subconscious. Excuse me. And that's where I really can somewhat remember where I really started to get relaxed and go down. And I was still aware of what was going on, but I guess I was hearing, but I wasn't listening for lack of a better way to describe it.   They can hear what's going on, but they're so zoned out and don't care. In this case, the third stage is the suggestions stage where I'm giving those reinforcing suggestions that are in alignment with what you want to help you reach your goals. At that point, we're not doing any more mind exercises. You're free to just relax and allow yourself to drift as deep as you possibly can. And just those suggestions go right into the subconscious part of the mind and they start to work. Now, if I threw in a suggestion that you didn't want, you would actually start to wake up a little bit. But because I'm working with what you want to achieve your goals, your subconscious part of the mind is going to take those suggestions in and start implementing them as it can. I think that's what's important too is, excuse me again, having the plan as far as what you want to go through because the wrong idea could get possibly put in, which might have other effects too. So that's where going into like with a patient goes to a doctor, here's your health plan. So to speak of the exercise, you're going to go through and the path we're taking. So I would imagine this is being another form of healing. You take the same thing. Absolutely, absolutely. It's really important to work with what the person in front of you wants. That's the way you're going to get the most powerful results. And you know, intrinsically, people want what's best for them all the time. Never fails. Yeah. I know we had about five minutes left or so, but just the kind of the experience I had, you know, once we came out of the hypnosis, you know, I remember you saying you're getting more and more and coming out and it was like really tingling and all of a sudden it was like, again, this whole weight lifted off. One thing I can say is since then I've lost about four pounds, you know, which is kind of neat. I have craving for broccoli and cauliflower, carrots, and yogurt for whatever reason where, you know, so I can see, you know, definitely the things. And then last night for supper, for a drink, I had Diet Coke and I took someone. It was like I said, you know, it's just like I can see where the, you know, programming is already starting to kick in. Like I think the day after I went to McDonald's for breakfast I usually got hash browns and Diet Coke and without even thinking, I'll have hash browns and orange juice. So I started orange juice, you know, of the healthier things. So ladies and gentlemen, you know, I never thought I could be hypnotized, but I was and actually it is working, so. And you know what? The amazing part is our taste buds change. If you think about it, when we were infants we were fed bananas and peas. And then eventually we started eating other things and then we were introduced to the toxins or the bad food. And so our taste buds changed to that and they can change back again. And that's the important thing for most people to understand. And the second thing is, yeah, not everything changes at once. You can still keep this and change this. You don't, it doesn't mean letting go of everything. I always tell people, we're gonna eat cake. But there's weddings, baptisms, birthday parties. There's cake.  Be practical about it. Put it at the levels you want it.  And I remember placing gnomes high up on my slide list and then like cake, candy and whatever else, more down on the one where I still think it's okay if you have a craving to satisfy that craving but let's say if you want a little heath bar it's okay to have one but don't eat five or six or seven. Exactly, the bag shouldn't be gone by the end of the day like it would be with me in the past. So it's very important to know as long as you're making the choices you're gonna stick with them. So, excellent. Do you have a contact website or something if somebody wants to learn more about hypnosis or where they could go? Absolutely, it's www.tonig.info. Tony g.info. Okay, we're just about ready to wrap as far as time. Do you have any other comments for the audience regarding hypnosis? Yeah, if you decide to become hypnotized and I hope you do, definitely find somebody who is a specialist in the area you are looking for. Like PTSD, I specialize in PTSD with veterans and people who have childhood issues, anxiety fear but also in athletics.  Excellent advice. I wanna thank you again for being on the show, Tony. I think this was very informative, very exciting as far as this episode. Thank you, Dave, for having me here. I'm really, again, very honored that you would ask me. Thank you. Again, this is our first in the four-part series, this one dealing with hypnosis. Our next episode is going to deal with psychic and connecting with from above or beyond. So it'll be like what you show as messages from above. So I'm excited for taping that one as well where actually we'll probably go through a psychic reading as well is what I'm thinking we'll have planned. Absolutely, I'm very excited about that also. Excellent. So this concludes our episode or this episode of quality of life, hypnosis in wellbeing series. If you have any questions or require any other information, you can contact us on our website at www.wscsheboygan.com. For Quality of Life, I'm Dave Augustine and on behalf of Tony Green, thank you for watching.


Technology-wise, German cars may be more lasting and they're beautiful in their own way. Italian cars are more design and high performance. I wouldn't say low reliability, but definitely less reliable. It's something to fancibly race once in a way and you must have alternate car to go to your office. But German cars, you can use it on a daily basis and still have some fun with them. I think motorcycles, the Japanese motorcycles are really nice. They are both reliable and can be made very exciting with a little bit of pep up. They leave that door open for every rider to do little modifications on their motorcycles.


Hi, I'm Liam Fair, and I'm from OmniTI, and the next five minutes will contain no valuable information. It's just gonna be a five minute long rant. I'll be honest with you, it's a barrier with me here. This is my frustration about misuse of the term DevOps. So with all the talks before me who actually told you what DevOps is, how many of you could answer the question of what DevOps is? Anybody? Really? How many of you hesitated because of the question? Okay, that's all better. So what is DevOps? I mean, the chances are whether you can define it well or you can't. If I ask 10 of you or 20 of you, chances are I'm gonna get 10 or 20 different answers regardless of what it is. And it doesn't mean the answers are gonna be wrong, they're just gonna be different, mainly because of the, oh, because of what DevOps is. But the one thing that I would like a soul to agree on if we can, DevOps is not a thing, right? It is not. It is not a thing, it is not a widget. Don't use it as that. So, and because it's not a thing, it's also not a product. It's not a product, it's not a suite of products, it's not a complete solution, no matter what vendors are trying to tell you. It's not any of that. And as such, you can't buy DevOps. No offense to any vendors or sponsors or anybody else. You can't buy it, you can't sell DevOps, you can't trade it, you can't. Doesn't mean that people are not gonna try to. I mean, I don't know how many of you have seen that as a pitch to you at any given point. By the way, that's an actual quote from an email. Yeah, so people tend to use all the buzzwords like DevOps, like cloud, like everything in conjunction. So another big tip and frustration of mine, those buzzwords are not interchangeable. I hear a pain point in the audience, they're not. You cannot really say that DevOps is agile, right? There is an intersection, there is a Venn diagram which very clearly shows where those buzzwords cross paths, but there's not the same thing. You cannot use them interchangeable wherever you want. And when people realize it, it becomes much clearer that you can't buy it. And when you can't buy DevOps, what do you do? You go and hire DevOps, right? Because that's what people do. And the biggest fallacy of hiring DevOps, and that's tricky from an organization perspective. Because people don't understand what DevOps is, they build the whole DevOps department because two dysfunctional groups is not enough. We need to build a third one. So you bring the DevOps into your hire and people have no idea, again, people have absolutely no idea what DevOps is. Not a clue. And they assume DevOps, if they put DevOps in front of any title, it will be so much better. They will attract all the talent. So you see jobs racks out there. I don't know how many of you follow hashtag DevOps on Twitter. You see anything from automation engineers to desktop support with the DevOps title. It is also not a pull out to make employees to do more work. It doesn't mean that you have a Dove job and an Ops job, you can hire one person with the DevOps that can make them do double the work. It is not the way of the webmaster of the 90s. I don't know how many of you remember the webmaster of the 90s, but there was a lonely IT person sitting in the corner working on the website, also doing the backups and fixing the printer. And another argument here, and that's actually from the other side, from the people themselves, is that DevOps promotes mediocrity. It's basically a code to do more and be less skilled on that. It is not that.  And most important, and that's a conversation I have all the time, DevOps is not a new thing, right? It's been, the term's been coined not so long ago and there's been movement and John been really good at giving a history of it, but it is not new. People has been very successful running pretty large architectures for many, many years, right?  I mean, we did. I mean, bottom line is there is no DevOps magic button in your press and all of a sudden you have DevOps or you hire DevOps. I mean, DevOps is a philosophy, it's a culture, you have to embrace it. So go forth, educate your peers, colleagues and people who are trying to sell your DevOps and do good. Thank you.


Hi, I'm Peter Burris and welcome to another CUBE conversation from the CUBE studios here in beautiful Palo Alto, California. Today we're going to talk about some new things that are happening in the security world. Obviously, this is one of the most important domains within the technology industry and increasingly because of digital business in business overall. Now to do that, we've asked Derek Mankey to come back. Derek is the Chief of Security Insights and Global Threat Alliances at Fortinet. Derek, welcome back to the CUBE. Hey, thanks, it's always a pleasure to be here and speak with you. It's always fascinating conversations, so more than happy. Absolutely the same, feel the same way, Derek. Okay, so we're going to get into some predictions about what the bad guys are doing and some predictions about what the defenses are doing, how we're going to see defense opportunities improve. But let's set the stage because predictions always are made on some platforms, some understanding of where we are and that has also changed pretty dramatically. So what's the current state in the overall security world, Derek? Yeah, so what we saw this year in 2019 a lot is a big increase on automation. And I'm talking from an attacker's point of view. I think we talked about this a little bit earlier in the year. So what we've been seeing is the use of frameworks to enhance sort of the day-to-day cycles that cyber criminals and attackers are using to make their criminal operations that much more efficient, sort of a well-oiled machine. So we're seeing toolkits that are taking things in the attack cycle and attack chains such as reconnaissance, penetration, exploitation, getting into systems and just making that much quicker. So that window to attack, the time to breach has been shrinking thanks to a lot of these crime kits and services that are offered out there. Now one other comment on this or one other question that I might have on this is that so speed is becoming an issue but also the risk as digital business takes on a larger portion of overall business activities that ultimately the risks and costs of doing things wrong is also going up. Have I got that right? Yeah, absolutely for sure. And you know, it's one of those things that it's the longer that a cyber criminal has a foothold in your system or has the opportunity to move laterally and gain access to other systems. Maybe it's through IoT or other platforms the higher the risk, right? Like the deeper down they are within an attack cycle the higher the risk. And because of these automated toolkits are allowing them to facilitate that it's a catalyst really, right? They can get into the system they can actually get out that much quicker the risk is that much higher. So when we're talking about risk we're talking about things like intellectual property exfiltration, client information, this sort of stuff that can be quite damaging to organizations. So with the new foundation of speed is becoming an increasingly important feature of how we think about security and the risks are becoming greater because digital assets are being recognized as more valuable. Why don't you take us through some of the Fortnets predictions on some of the new threats or the threat landscape? How's the threat landscape changing? Yeah, so as I said we've already seen this shift in automation so what I would call the basics. I mean knowing the target trying to break into that target, right? When it comes to breaking into the target cyber criminals right now they're following the path of least resistance, right? They're finding easy ways so they can get into IoT devices, into other systems. In our world when we talk about penetration or breaking into systems it's through zero days, right? So the idea of a zero day is essentially a cyber weapon. There's movies and Hollywood that have been made off of this. If you look at attacks like Stuxnet in the past they all use zero day vulnerabilities to get into systems, right? So the idea of one of the predictions we're seeing is that cyber criminals are gonna start to use artificial intelligence, right? So we talk about machine learning models and artificial intelligence to actually find these zero days for them. So in the world of an attacker to find a zero day they have to do a practice called fuzzing and fuzzing is basically trying to trick up computer code, right? So you're throwing unverified parameters at it. You're throwing in unanticipated sequences into code parameters and input validation and so forth to the point that the code crashes and that's from an attacker's point of view that's when you take control of that code. This is how finding weapons into systems and cyber weapons into systems work. It typically takes a lot of resource. It takes a lot of cycles. It takes a lot of intelligence. It takes a lot of time to discover we could be talking a month or longer. So one of the predictions that we're hitting on is that cyber criminals are gonna start to use artificial intelligence fuzzing or AIF as I call it, to be able to use AI to do all of that intelligent work for them. So basically having a system that will find these gateways if you will, these new vulnerabilities into systems. So sustain use of AIF to corrupt models so that they can find vulnerabilities that can then be exploited? Yeah, absolutely. And when it comes to the world of hacking and fuzzing, it's one of the toughest things to do. It's the reason that zero days are worth so much money. They can suffer hundreds of thousands of dollars on dark net and in the cyber criminal economy. So it's because they're tough to find. They take a lot of resources, a lot of intelligence and a lot of effort to be able to not only find the vulnerability but then actively attack it and exploit it. There's two phases to that. Yeah, so the idea is by using the power of artificial intelligence that cyber criminals will start to leverage that and harness it in a bad way to be able to not only discover these vulnerabilities but also create that weapon, create the exploit so that they can find more holes if you will or more angles to be able to get into systems. Now, another one is that virtualization is happening in with the good guys as we virtualize resources but is it also being exploited or does it have the potential to be exploited by the bad guys as well, especially in a swarming approach? Yeah, virtualization for sure, absolutely. So the thing about virtualization too is you often have a lot of virtualization being centralized especially when we're talking about cloud too, right? So you have a lot of potential digital assets, valuable digital assets that could be physically located in one area. So when it comes to using things like artificial intelligence fuzzing, not only can it be used to find different vulnerabilities or ways into systems, it can also be combined with something, I know we've talked about the concept of swarm before, so using multiple intelligent infected pieces of code that can actually try to break into other virtual resources as well. So virtualization definitely, it's because of in some cases close proximity, if you will, between hypervisors and things like this, it's also something of concern for sure. Now there is a difference between AI, F, AI fuzzing and machine learning. Talk to us a little bit about some of the trends or some of the predictions that pertain to the advancement of machine learning and how bad guys are going to exploit that. Sure, so machine learning is a core element that is used by artificial intelligence, right? If you think of artificial intelligence, it's a larger term, it can be used to do intelligent things, but it can only make those decisions based off of the knowledge base, right? And that's where machine learning comes into play. So machine learning is data, it's processing and it's time, right? So there's various machine learning models that are put in place that can be used from everything from autonomous vehicles to speech recognition to certainly cybersecurity and defense that we can talk about. But the other part that we're talking about in terms of predictions is that it can be used, like any tool, by the bad guys. So the idea is that machine learning can be used to actually study code from a black hat attacker point of view to study weaknesses in code. And that's the idea of artificial intelligence fuzzing, is that machine learning is used to find software flies, it finds the weak spots in code and then it actually takes those weak spots and it starts probing, starts trying to attack, tries to make the code crash. And then when it actually finds that it can crash a code and that it can try to take advantage of that, that's where the artificial intelligence comes in, right? So the AI engine says, hey, I've learned that this piece of software or this attack target has these weak pieces of code in it. That's where the AI model, so the AI fuzzing comes into place to say, how can I actually take advantage? How can I exploit this, right? So that's where the AI fuzzing comes into play. So you've got some predictions about how black hats and bad guys are going to use AI and related technologies to find new vulnerabilities, new ways of exploiting things and extracting new types of value out of a business. What are the white hats got going for them? What are some of the predictions on some of the new classes of defense that we're going to be able to put to counter some of these new classes of attacks? Yeah, so that's honestly some of the good news, I believe it's always been an arms race between the bad guys and the good guys, right? That's been going on for decades in terms of cybersecurity. Often, the bad guys are in a favorable position because they can do a million things wrong and they don't care, right? From a good guy's standpoint, we can do a million things right, one thing wrong and that's an issue. So we have to be extra diligent and careful with what we do. But with that said, as an example of Fortinet, we've deployed our Fortiguard AI, right? So this is six years in the making, six years. Using machine learning, using precise models to get higher accuracy, low false positives to deploy this to production. So when it comes to the defensive mechanism, I really think that we're in the driver position. Quite frankly, we have better technology than the wild wild west that they have out on the bad guy's side. From an organization point of view, how do you start combating this sort of onslaught of automation and AI from the bad guy's side? Well, you got to fight fire with fire, right? And what I mean by that is you have to have an intelligent security system. Perimeter-based firewalls and gateways, they don't cut it anymore, right? You need threat intelligence. You need systems that are able to orchestrate and automate together. So different security products in your security stack or your security fabric that can talk to each other, share intelligence and then actually automate that. So I'm talking about things like creating automated security policies based off of threat intelligence, finding that a potential threat is trying to get into your network. That sort of speed through that integration on the defensive side, that intelligence speed is the key for it. I mean, without that, any organization is going to be losing the arms race. And I think one of the things that is also happening is we're seeing greater willingness, perhaps not to share data, but to share information about the bad things that are happening. And I know that Fortinet's been something at the vanguard of ensuring that there's even better clearinghouses for this information and then driving that back into code that actually further automates how customers respond to things. Have I got that right? You hit a dead on, absolutely. That is one of the key things that we're focused on is that we realize we can win this war alone, right? Nobody can on a single point of view. So we're doing things like interoperating with security partners. We have a fabric ready program as an example. We're doing a lot of work in the industry, working with, as an example, Interpol and law enforcement to try to do attribution. But the whole end game, what we're trying to do is to, the strategy is to try to make it more expensive for cyber criminals to operate. So we obviously do that as a vendor, through good technology, our security fabric, our integrated holistic security fabric and approach to be able to make it tougher for attackers to get into systems. But at the same time, we're working with law enforcement to find out who these guys are to go after attribution, prosecution, cut off the head of the snake as I call it, right? To try to hit cyber criminal organizations where it hurts. We're also doing things cross-vendor in the industry, like cyber threat alliance. So, you know, Forty Nights, a founding member of the cyber threat alliance, we're working with other security vendors to actually share real-time information. It's that speed message that we're talking about earlier to share real-time information so that each member can take that information and put it into something actionable, right? In our case, when we get intelligence from other vendors in the cyber threat alliance as an example, we're putting that into our security fabric to protect our customers in near real-time. So in sum, we're talking about greater value from being attacked, being met with a greater and more cooperative use of technology in process to counter those attacks. You got it right? Yeah, absolutely. So open collaboration, unified collaboration is definitely key when it comes to that as well.  Another thing from the defensive side too, which is becoming more of a topic recently is deception, deception techniques. This is a fascinating area to me, right? Because the idea of deception is, the way it sounds, is to deceive cyber criminals when they're coming knocking on your door into your network. So it's really what I call like the house of a thousand mirrors, right? So they get into your network and they think they're going to your data store, but is it really your data store, right? It's like, there's one right target and a thousand wrong targets. It's a defensive strategy that organizations can play to try to trip up cyber criminals, right? It makes them slower, it makes them more inaccurate. It makes them go on the defensive and back to the drawing board, which is something absolutely, I think we have to do. So it's a very interesting, promising, you know, technology moving forward in 2019 to essentially fight back against these cyber criminals. And to make it more expensive to get access to whatever it is that they want. Derek Mankey. Absolutely, yeah. Derek Mankey, Chief of Security Insights and Global Threat Alliance. This is Fortinet, thanks once again for being on theCUBE. It's a pleasure any time, look forward to the next chat. And from Peter Burris and all of us here at theCUBE and Palo Alto, thank you very much for watching this CUBE conversation. Until next time. Thank you.