All right. I think we're going to go ahead and get started here. Matt, did you want to say anything to launch this offer? Should I just jump right in? OK, great. So this is the session on running distributed TensorFlow on DCS. If you were at the keynote this morning, you heard EriX talk about how we just yesterday released a package into the DCS catalog for running distributed TensorFlow. And what I'm going to do today is kind of go into the details of what problem this package solves in the community of people trying to run and deploy TensorFlow in production and how we actually built this package to solve those problems. My name is Kevin Cluz. I work at Mesosphere. And I lead a team there called the DCS Cluster Operations team. In terms of contributions to Mesos that made in the past, when I first joined Mesosphere, I added the initial GPU support to Mesos. From there, I worked on some of the pod support or what we call task groups, which I worked on the containerization pieces of that in order to enable that support inside Mesos. And then I moved on to work on some of the attach exec support. So if you've ever used Docker exec to jump inside of a container and run a process there, I added similar support to Mesos and pushed that up the rest of the stack. And so that's kind of my link into Mesos. And then the GPU support is what sort of launched me into working on TensorFlow and getting some of these other things around. How do we use the GPUs now that we have that in Mesos to do more useful stuff on top? So what I want to start off first with is just giving a really quick brief intro into TensorFlow for those of you who don't know. This is the same slide that Eriak showed this morning with this quote from TensorFlow.org that says an open source software library for machine intelligence. That's what TensorFlow purports to be. So what exactly is machine intelligence? Well, machine intelligence is a broad term used to describe techniques that allow computers to learn by analyzing very large data sets using artificial neural networks. So if that's what machine intelligence is, this is a representation of one of these neural networks that you might build in order to do this kind of analysis. And so what you see here, the typical flow for one of these kind of networks is you have some large data set that you want to flow through your network to produce some output at the end. And so one of the things that makes deep learning a little different than traditional machine learning is you have lots and lots of layers here that you're passing your images through.  You have some layers detecting. If you've got some patterns of local contrast in those faces you want to find, you pass it on to the next layer. You see if there are some facial features that pop out from that. And the final layer, you're actually able to say, oh, here's some faces. Now whenever new images come in, I can recognize if that's a face or not some level of certainty. OK, so the second part of this definition is that TensorFlow is a software library. So if that's what machine intelligence is, what does TensorFlow really give you? It gives you this library that makes it easy for developers to construct these artificial neural networks to analyze their data of interest. So if you take a look at this picture here, it kind of shows the picture of, OK, I've got some Python application I want to run. I can import this TensorFlow library. And it's going to take care of all these low-level details of how do I actually execute some Dataflow graph? What compute kernels do I want to have? How do I handle networking so that I can actually ship distributed jobs between different machines I have in my cluster? And if GPUs or CPUs or even TPUs are available, how do I make sure I schedule jobs on the right piece of hardware automatically to take advantage of that hardware that exists underneath? OK, and then the last piece of this, that it's open source, which is great for us because we're able to take it, leverage it, change it, do whatever we want. And it was open sourced by Google back in November 2015. OK, so second part to this, we're trying to take TensorFlow run on top of DCS. I think most of you by this point probably know what DCS is. But for those of you that don't, it's an open source distributed operating system. And its main goal is to take Mesos and build upon it with some additional services and functionality. So the way I usually like to think about it is, what it gives you on top of Mesos is some built-in support for service discovery, load balancing, security, ease of installation, some extra tooling, including a comprehensive CLI, a GUI on top of that, built-in frameworks for launching long-running services. The canonical scheduler we use for this is Marathon. We now have Kubernetes support. And then we also have batch job support in the form of Metronome or Chromos. In addition to that, we also have a repository or app store for installing other common packages and frameworks. This is what EriX was referring to earlier as the catalog. And for a while now, we've had Spark, Kafka, Cassandra, some of these other frameworks. And now we're adding TensorFlow in there as well. So a very high-level picture of this. Imagine you've got some GPU-enabled hardware underneath. You've got that running on the cloud. You've got it running on-premise. You've got Mesos sitting on top of that. You've got your batch scheduler, your marathon scheduler, any other frameworks that you want. This all packaged together is what we call DCOS, so that you can leverage all those things together in a nice, coherent way. And what we're adding now is support for integrated support for running TensorFlow on top of this infrastructure. OK, so a quick overview of the talk. The first thing I'm going to do is I'm going to go through a really quick, deep learning overview primer just to give those of you that don't really have a background on deep learning and what it is. Just a quick intro to know what types of problems you can actually solve with TensorFlow. Why would you use this package? And then I'm going to really quickly set up my demo because it takes a while to train your models. And so I want to set up the demo, get some of my models training, and then we'll jump back into the rest of the presentation, and then look back at the demo and see how they're doing later on. And then we're going to go through a typical developer workflow for TensorFlow, how this looks today, both in a setting where you're going to run on a single-node environment or in a distributed setting, which is the problem we're trying to solve for here. I'll then talk through what the existing challenges in running distributed TensorFlow are today and then how running TensorFlow on DCOS helps to solve a lot of those problems. And then as I said, I'll jump back to the demo. We can analyze how it's been performing. And then I'll talk about some of the next steps to where we're going next with this TensorFlow package that we've built. OK, so real quick, deep learning overview primer. For those of you familiar with traditional machine learning, the process that you usually have to go through if you want to train some model is, you've got some input. Let's say we have some pictures of dogs that we want to analyze. The first step traditionally used to be you'd have some human that would look at that dog and say, OK, what are all the different features that I have? There's ears, there's a nose, there's some eyes, there's some paws, there's a tail. I would have to mark all these things and make them available to my model so that it could take that, look at pictures of dogs, see if it could find all those different features in it, then use the neural network to classify, oh, can I actually recognize a dog given all these features, and then output, is this a dog or is it not? What deep learning lets you do is take the human out of the equation, and now all you have to do, instead of marking all these different features of a dog, all you have to do is say, hey, here's a picture, and here's a little box around what a dog is, and then the neural network will take that, figure out what all the features are that make up a dog, and then in addition to that, start to recognize what a dog is, and pop out, is this a dog or is it not once you get to the phase of actually trying to infer what pictures look like, right? So diving a little bit deeper into this, if you think about deep learning and the phase that your different models that you're running through go through, there's always a training phase and an inference phrase, and the training phase is the one that takes hours or weeks or days where you have this model, you wanna make it recognize dogs in this case, so you feed it a whole bunch of pictures of dogs, you label those dogs saying this thing, this object in this picture is a dog, the neural network eventually after it has all of these, lots and lots of samples of what a dog looks like, it eventually trains itself to figure out what that looks like, out pops a trained model, and then from there you can use this model to in the future infer whether this picture is actually a dog or not, and that process becomes instantaneous, and so by instantaneous meaning you hit some end point, it walks through the network really quickly and tells you with some amount of certainty this picture is 97% a dog or it might be a panda in some very small cases, right? The advantage of this is that you can train your model offline for a very long time, and then hand this to someone else and say okay, this now is a trained neural network that is able to recognize dogs and they can put that in their software and it will run very quickly. Okay, so just to recap again real quick on what these different layers do, so instead of the human having to extract these features, the deep neural network is actually able to, at one layer, it'll automatically detect some sort of pieces of what might end up becoming a dog's snout and at the next layer, that sort of forms itself into I recognize this is a common feature that makes up parts of a dog's face and then at the final layer it's able to say okay great, this is actually what a dog looks like and because of lots of different samples it's able to over time extrapolate kind of the abstract idea internally in the computer who knows exactly what it's thinking, but it's able to figure out what a dog actually looks like in terms of its own neural networks. Okay, so for the demo itself, what I'm gonna do is I'm going to train the Inception V3 image classification model on the CIFAR 10 data set, so for those of you not familiar with what those are, the Inception V3 image classification model is an open source image recognition model, it's something I just took off the internet, it's able to, if you train it with a bunch of data it will eventually be able to recognize a bunch of images. This image that I show here down below that's actually a snapshot of the representation of the real Inception V3 model, it's not just a mock-up, and then the CIFAR 10 data set is a well-known data set with 60,000 low resolution images with 10 different classes of objects, so there's trucks, planes, ships, birds, cats, et cetera, so we're gonna train this model to recognize all of these different types of objects, right? And what I'm gonna do for this demo is I'm basically gonna set it up in two different ways, I'm gonna run two different TensorFlow jobs on this. One of them is gonna be a non-distributed job running on a single worker, so I'm gonna feed the input into that, it's gonna run on that one worker, try and output a trained model, and then I'm going to do the same thing in a distributed job where I have several workers, some of which will be running on CPUs and some of which will be running on GPUs. In this setup, I basically have a one master eight agent cluster where each of these agents has four Tesla K80 GPUs on it, eight CPUs and 32 gigabytes of memory, and I'm running this all on top of a Google Compute Engine to do my calculations. Once the demo is actually done, so we won't look at this part right now, but once it's all done, we'll be able to connect a visualization tool called TensorBoard to the data that's output from this trained model, and we can kind of see it won't be done because this is a serious model that takes weeks to run, but we'll be able to see the progress of what's going on in real time as to how the two models are progressing alongside each other, so the single node version and the distributed version walking side by side. And just to reiterate what I just said, this is a serious model, it's gonna take potentially over a week to fully train, even on a cluster of expensive machines, and the goal here is simply just to demonstrate how easy it is to deploy and monitor these large TensorFlow jobs on DCOS. Okay, so with that, I will jump to the demo, and I usually like to record my demos and I didn't this time, so I'm really hoping everything works as expected. But I have a script here basically just to kind of give you a quick rundown of everything that I'm gonna do. So the first thing I'm gonna do is I'm going to show you that I actually have this cluster up and running. So I have a terminal already open here, I have a command line tool that I wrote called DCOS GCP, which it's not something that's available for everyone to use, but it's something that I use myself just to kind of get clusters up and running on GCE hardware. And so you can see that in this one, I'm running a stable version of DCOS, which is DCOS 1.10. I've got a single master, I've got a single agents, I'm sorry, I've got eight agents. The status of the cluster is currently healthy, and this is my leading master IP. From there, I want to show that we now have this TensorFlow package inside the DCOS catalog. So if I come back to here, and I go to the catalog, if you go ahead and start typing TensorFlow, you'll see that there is a beta TensorFlow package available, this went live yesterday. So if any of you overspin up a DCOS 1.10 cluster now, this should be available for you to use. From there, what I would do is I would clone this repo called the DCOS TensorFlow Tools repo, it's got a bunch of examples, including this CIFAR 10 example that I'm gonna run through. I've obviously already pre-cloned this, and I'm gonna CD into it, and then I'm gonna show you these two examples that I'm gonna run, the CIFAR single and the CIFAR multiple example. So if I go ahead and open these two guys up, we can see what an actual package definition of something you might wanna launch on DCOS TensorFlow is. So one model would be, if I wanted to launch this package, I could click on here, I could go to configure, I could go here and manually specify a whole bunch of parameters here, but typically the simpler deployment strategy is to have a JSON file defined that fills in all those parameters, then you can use the command line to deploy it. And so that's what I'm gonna do here. And so we can see that we have a URL to a zip file that contains all of the artifacts that we need in order to run this application on any individual node in the cluster. There's a path to the actual binary that I want to execute once that zip file has been downloaded on any individual machine. I've got some name for the job that I wanna run. There's some job context, which is some variable setup inside of the job that basically there are gonna be parameters that I can see in TensorBoard and that I could potentially change on the fly to optimize how this model actually runs over time. And then a bunch of things pointing it at a shared file system where I want my output to eventually be put that includes the data for the model being trained and so on. And where the real meat of this comes is that you can see that there's sections in here for specifying how many GPU workers I want, how many workers I want, which are just normal CPU workers and how many parameter servers I want, right? So I can quickly just specify exactly what I want, the configuration of this cluster to be in terms of how many parameter servers and workers I have and then DCOS will take care of stitching that all together and getting it running for it. And so obviously in this single example, I've got a single GPU worker and a single parameter server. And if I go ahead and just quickly show you the CIFAR multiple one, the only real difference in here is that the name has changed and now I'm gonna run it on three GPU workers and two parameter servers. Make sense? Okay. All right, so with that, I think the next step is, oh, the next thing I want to do is I just want to show you real quick, I mentioned the storage bucket where all of this output's gonna be dropped. I wanted to just go there real quickly and I ran this a little bit earlier today so there's this folder in here that's produced called Mesoscon. I'm gonna actually go ahead and delete that just to show once this actually runs, that will get created again and we'll have brand new data populated inside there. I also want to just quickly show that at the moment, there is absolutely no CPUs or GPUs allocated to anything in the cluster and once I launch these guys, we'll see that they get allocated to these different jobs and then they start executing on there. So right now I've got 64 CPUs free, 32 GPUs free and so on. So if I now take this DCS package install beta TensorFlow commands and run it with that CIFAR single JSON configuration that I showed you guys before, go ahead and run that from the command line, say yes, I accept that it's a beta version, it's gonna go through and execute it and if I go ahead and start up the second one, there we go, agree to that and then jump back to the dashboard and go to services. I should see both of these guys coming up and running soon. So they're both in the deployment phase, so once these guys actually start running, they'll have a whole bunch of jobs underneath them because the TensorFlow package is built with our SDKs so it's not just a single job that's launched, it's a collection of jobs where the first job that comes up at the scheduler and then eventually a bunch of other jobs will pop up. So I'm just gonna leave this running for now and we'll come back to this at the end of the talk and see what the progress is that these guys are making. Actually the CIFAR single one we can see is already started and is healthy. Okay, and so is that one. All right, so jumping back to the talk. So what I wanted to go through next, as I mentioned, I wanted to talk about really quickly what the typical developer workflow for someone working with TensorFlow looks like. First in a single node environment and then in a distributed environment and sort of show you what some of these challenges are with actually getting something to run in a distributed environment, right? So the first thing someone would do if they wanted to work with TensorFlow is they'd probably download and install the Python TensorFlow library. You need to do that as a very first step so you can get anything going, right? Then you wanna design your model in terms of TensorFlow's basic machine learning primitives and make sure that you can use those primitives to actually do the job that you have at hand. Then you write your code, you optimize it for single node performance and then you train your data on that single node and out pop some train model in the end, right? Pretty straightforward in relative terms. Now, if you wanna move this to a distributed setting, the first three steps are very similar. You download the TensorFlow library, you design your model in terms of those, you write your code, now optimized for distributed computation rather than single node computation. But where the real challenge comes is that now you've got all these other steps to get this up and running, right? You have to provision some set of machines to run your computation. You have to install TensorFlow on them. You have to write the code to map any of your distributed computations to the exact IP address of the machine where those computations are gonna be performed. You have to deploy your code on every machine and only once you've done all of that, then you can start training your data on the cluster and eventually output some train model, right? And this whole process can be tedious and error prone, especially if you wanna iterate on different optimizations that you're trying to make in the code over time. So what DCOS does is it automates all of this process for you. It basically gives you a very similar workflow for what you would have with your single node setup, but now you can do it in a distributed way. So what are some of these challenges in a little bit more detail? So the first one, which I hinted at a minute ago, is that there is a cluster spec that you have to specify at the top of any distributed TensorFlow application that you're writing, and it's incredibly tedious to actually try and keep in sync with whatever machines you've created and deployed. So users basically need to rewrite this code for every job they wanna run in a distributed setting.  So if you take some code off the internet and you wanna run that in some distributed setting, you have to go into the code, create this cluster spec, and then stitch all of this stuff together before you can run it. Next thing is that dealing with failures is not typically graceful in a traditional TensorFlow setup unless you do a lot of work yourself. So users need to stop training, change their hard-coded cluster spec, and then manually restart any jobs if something happens to go wrong. There's no easy way to just tear it all down and deploy something new if you found a bug in what you were working on. The next thing is that manually configuring each of the nodes in the cluster that you want to run your TensorFlow job on can take a long time and is typically very error-prone. One example of this is setting up access to a shared file system so you can actually check point some of these summaries in the output data that you want to have come back from your trained model. That requires authenticating onto every node, somehow passing some credentials there potentially, and so on. In addition to this, if you ever wanna tweak any of your parameters to make your model run in a more optimized fashion, that requires re-uploading your code to every node and then redeploying everything, right? How does DCOS fix this? Well, instead of having you define one of these cluster specs for everything that you do, we have this high-level service definition, which I showed you guys earlier for the two examples that we're running now, where instead of saying, okay, here's the exact machines and here's what type of worker or parameter server or component they associate with, instead you can just say, well, this is how many workers I want, here's how many parameter servers I want, and then DCOS and the SDK will take care of automatically creating this cluster spec for you and then passing it down to the code that you're actually gonna launch, right? So that's kind of what this next picture shows, and the thing I wanna highlight from this one though is that what we're really doing here is we're sort of separating the deployer responsibilities from the developer responsibilities, right? The developer can say, I'm gonna focus on how do I build my model the best way I possibly can, and then I'm gonna leave it up to the person that actually goes to deploy this to specify, okay, well, this is how many parameter servers I want, this is how many workers I want to actually execute this model for this instance of running it, right? And the SDK and DCOS will take care of this mapping for you. The other thing that we do is because we're running with the DCOS Commons SDK, we have the ability to cleanly restart any failed tasks and reconnect them to the cluster if something goes wrong, right? As I mentioned before, if this happens in a traditional setting, you have to, first of all, notice that it happened and then go in and restart the jobs yourself manually. Here we'll restart them for you using the SDK. Second one is that any credentials that you wanna pass, you don't have to get authentication onto the rest of the system. You can use our integrated DCOS secrets service to store secrets beforehand, and then every service has that available to them. So I actually use this in this example to give my TensorFlow application credentials to write all of its output to the Google storage bucket that I have running external to the cluster. So I didn't show you this, but one thing I did before when I first set up the cluster was I went in and I downloaded some service account credentials from Google, put that in a secret, and then I pointed my jobs at that secret so it would know how to pull it down and use it to write its output, right? The last thing is that we actually use a runtime configuration dictionary to quickly tweak any of these hyperparameters that you might have between different runs of the same model. So if you run something, you realize, ah, this isn't quite running as quickly as I'd want to. I wanna be able to optimize something. I can quickly just jump in and change these parameters without actually tearing down and redeploying the cluster from scratch. You can just tweak these on the fly and then for the ones that matter, the SDK will automatically make sure to redeploy just those instances of the workers and parameter servers and so on. Make sense? Okay, so that's it for the meat of the talk. Hopefully I've given these jobs that I launched on DCS enough time to actually produce some output so we can look at it through TensorBoard. So if I go back to my UI, I should be able to quick through CFAR multiple and I see that there's still some node staging here. Let's see, it looks like I didn't quite give these guys enough time to actually finish and start running. Either that or they're actually failing, which is not good. Let's see, there's nothing I can really do to combat this at the moment. Fortunately, I'm not gonna be able to show you data from the live demo. This is why I normally record this stuff, right? But what I do have is I have a backup of this. So instead of pointing my job at the data that I would have had in this bucket, I do have a run of this from earlier today or last night actually where if I go ahead and I grab the TensorBoard command, which would be pointing at all of the data that popped out from these. If I point that at a Cluska TensorFlow backup repo, I should be able to pull this data that I ran through earlier to gather the data from these guys. So okay, so if I do that, I now have a server running on my local host. So I'll go ahead and grab that, come back to the browser and execute it. What this is gonna do is it's gonna load all of the data from those and we should be able to browse through all of the data that results from it. Let's see. Actually takes quite a while to load. So we may not see it come up for a while. So why don't I go ahead and jump back to the slides and just finish up what I have from here and hopefully we can come back and see what's going on there. So one thing I wanted to do is just reiterate what the demo setup was gonna be. It's training this inception V3 image classification model, running it on the two different settings and then visualizing that through TensorBoard. One thing I wanted to just touch on here then is kind of what our next steps for all this stuff are. So what we have today is this single framework. So what that means is that you take this framework using our SDK, you install it via standard DCUS package management tools. So the command line that you saw me run was a DCUS package install beta TensorFlow and so on. But because of the way that that's currently run, you actually have to manually start and stop and remove the framework from the cluster whenever it completes. And so this is a little bit tedious because you have to monitor it, make sure you know when it's done, tear it down, remove it from the cluster and then if you ever have a second one you wanna run, you have to go and do the same thing. The world we wanna move to is where we can have this sort of meta framework that you launch once. It sits up there in the cluster, you can interact with it through a CLI and then what it will do is it will take these instances of these frameworks that we're currently able to launch today and it will be able to launch multiple of them side by side, right? So that this meta framework you can interact with it to track the progress of any of the frameworks that it's launched and notice when they've completed, analyze their data and then even once they have completed the meta framework will store some of that information about how they ran and where their output data has been shipped to and so on. And then in addition to that it will automatically start and stop any of these frameworks once they've completed and remove them. So kind of the flow that we wanna see for this is the ability to be able to say DCOS TensorFlow, run this job, I want this many workers, I want this many parameter servers and then you communicate with that meta server and it just goes off and launches this, right? So again, we don't have this today but this is the world we wanna move to in the next few months or a year. Okay, so special thanks to all collaborators on this stuff. So Sam Pringle, he was the one that really sort of took control of this and built a lot of the functionality that we see in this. He was an intern last summer and he's continued on throughout the year working kind of 10 hours a week on improving this. And then a bunch of other people are involved, especially people on the SDK team being very helpful with any questions we had to get things up and running in the way that makes sense, not just for oh, let's get it kind of working but eventually moving towards a certified version of this package over time, right? Okay, so questions and links, you can follow in these links. All of these slides are available on the schedule.com or whatever the website is for MesosCon. You can navigate to this talk, you can download these slides and all these links will be available in there. The third one is probably the most important if you actually wanna learn, just quickly download a cluster, or sorry, spin up a cluster, download the TensorFlow package and then start running something today. So yep, I think that's it. I apologize that the demo didn't quite go as planned but these things happen sometimes and that's record your demos beforehand. All right, thank you. Oh, oh yeah, sorry, good point. So yeah, I mentioned that sometimes TensorFlow takes a while to load up so we can actually, it's still loading now but maybe after the talk, if people wanna look at it and see what's going on, you can come up here and we can talk. I think we have about 20 more minutes in the session. I ended early because of some of the problems with the demo there, so. Cool, all right, thanks again. Any questions? Yep, sorry. How different is it to the TF Mesos package which is available on GitHub? Yeah, so we originally looked at the TF Mesos package and we thought about using it or leveraging it and building our stuff around it but one thing that TF Mesos doesn't give you that this does is it doesn't give you quite the same integrated experience with DCOS that we wanted. We really are pushing to have most of our services running with the SDK framework because if you remember something that Eriex mentioned in his keynote earlier today is that if you build the frameworks using the SDK, there's a very common pattern for how you manage them and upgrade them and these sorts of things. So we really wanted to make sure we were building it in that same ecosystem. And alongside that, I actually was working with the TF Mesos people for quite a while to figure out how to get it running on DCOS. It runs very well on standalone Mesos but I couldn't quite get it running on DCOS the way that I wanted to. And it wasn't that I just gave up but it was, well, we had these other reasons we wanted to get it with the SDK and so I just kind of moved to that instead, so. On this removing engineering from between data science, the scientists and the cluster topic. So GPUs are quite scarce usually, right? So can we define quotas for the particular data scientists on GPUs like how many hours of say K80s or P hundreds they can consume? Yeah, you definitely can in Mesos. I don't think that support's been pushed up through DCOS yet but it's definitely something we're looking at because it's, that is the model we definitely want to move to in the future, right? We have some things in place to try and combat this scarce resource problem specifically with GPUs so one of these is that you have to be a framework aware of GPUs so that you can do GPU aware scheduling for any job that come in. Marathon happens to be one of these GPU aware schedulers which is why it can launch jobs on GPUs and we also built this TensorFlow framework to be a GPU aware scheduler so that it can do that but any other random framework that you bring up probably can't schedule things on your GPU and so it's not perfect but it at least isolates some jobs from randomly landing on those GPU machines and using up all the other resources and making those GPUs basically just idle because you can't get any other work to land there, right? Okay, any other questions? Kevin, I had a quick question. There was a couple of terms that you introduced early on in the slides that maybe for the folks like me who are not too familiar with the machine learning world and maybe you could quickly explain what those are. The first was compute kernels and the second one was TPUs. So compute kernels are, I'll probably not do a great job of this because I'm a systems person, more than a machine learning person but compute kernels as far as I understand are standard ways of analyzing typically matrices and doing computations on matrices in order to produce some results from that. And so there's lots of different types of compute kernels that are very standard and that you can integrate into your machine learning algorithm or any other thing that you're working on. Yeah, that's all I was trying to get at was that TensorFlow has implementations of all these things so that you can leverage them from your code. Yep, and TPUs? And TPUs, so CPU is central processing unit, GPU is graphical processing unit and I don't know what the T is but it's a something processing unit and it's a piece of hardware that only exists on Google infrastructure. So they built this up and it's kind of a more heavy duty GPU I guess is one way to think about it. And they're designed specifically for running TensorFlow type applications. Yeah, maybe it stands for TensorFlow processing unit, does it? Okay, yeah. Okay, so the comment was that it's a collection of GPUs basically. Awesome, thank you. Yeah. Any other questions? So these jobs that you showed us it seems to me that it's mainly batch oriented. Correct. So maybe this is not the time to take up this specific issue but I have a very specific issue where I have a lot of vectors that I need to compare with other vectors. And I would like to do this as part of my web front and would it be possible to set up and use TensorFlow as a backend for a request in real time? Yeah, I'm probably not the right person to answer that question because I'm actually not a TensorFlow expert. I know how the backend works to get these things running but I don't know the details about what the best usage of TensorFlow itself would be, unfortunately. All right. Any other questions? One in the back. Well, I think it's mentioned that it's currently closed source. So is there a date or something that will be available? There's no date yet but we are in talks about making it open source. There hasn't been a final decision about when or even if it will be but the hope is that it will be fairly soon. Yep. Okay. All right. Any other questions? All right. Thank you very much and I hope you enjoyed the talk. Thanks.


This episode was prerecorded as part of a live continuing education webinar. On-demand CEUs are still available for this presentation through all CEUs. Register at allceus.com slash counselor toolbox. I'd like to welcome everybody to today's presentation on a strengths-based biopsychosocial approach to recovery from addictions and personality disorders. Now you can see there's a theme here, this whole strengths-based biopsychosocial. And if you've attended many of my workshops or watched many of the videos on YouTube or whatever, you know that I am very adamant about the fact that it's easier to build on what clients are already doing and what they already know than to start from the beginning, although we may have to introduce a few new tools. And it's also generally a lot more effective in terms of a long-term comprehensive recovery to evaluate the person and the situation from a biopsychosocial perspective. What is contributing? What is mitigating and what is exacerbating it? I mean, as we'll talk about here, if somebody has PTSD, yes, you know, sleep may not be the first thing that comes into your mind for things that they need to address. But think about how you feel when you are extremely sleep deprived, especially if it's because you're waking up with night terrors. So we do want to look at those traditional vulnerabilities and preventing them. So the person has as much energy in their storehouse as possible to deal with life on life's terms as it is in this particular moment. All right. So we're going to define personality disorders real quick, just kind of looking at what they are so we can see how they might overlap with some of the addictive behaviors. We'll examine the similarities between the behaviors of certain personality disorders and addictions, namely clusters B and C. And we'll identify ways to address these behaviors and thought patterns and encourage you to critically examine behaviors in patients with addiction or personality disorders in order to effectively, differentially diagnose. Too often when I was working in a co-occurring facility, I would have patients come in and we accepted patients who had a personality disorder diagnosis, even borderline. So we didn't turn people away, which means we got a lot of people who came in and they were diagnosed with conditions that would prevent them from going to other treatment centers. And we would look at those and it wasn't necessarily always that much of a personality disorder as much as it was a way of coping with life on life's terms in order to survive at that particular point in time. And as they got clean and sober, those behaviors started to remit and it made me start thinking, you know, personality disorders are supposed to be pervasive and basically incurable, not to say that we can't address them. Thanks to Marsha Lenahan, I know that we can radically improve people's quality of life who have personality disorder behaviors, but it did make me really start examining the way we look at PDs. So why do we care? Well, you know, we care because it impacts clients' recovery. When personality disorders are viewed as per pervasive and perpetual, in clients, it provides them an excuse for relapse. And remember, I use that term really broadly, not just addiction, but into their personality disorder behaviors, their depression, their addiction. If we tell them at the beginning, there's really no hope for a cure, they're like, well, kind of screw it. That gives me an excuse. I get a, I get a mulligan every time I make a mistake. So their motivation may be undermined to a certain extent. And it often derails treatment because patterns of behavior thought to be a personality disorder in co-occurring disorder or even in mental health treatment are often essentially ignored. Thinking back, and this will kind of throw you back a little bit, to the DSM 3 and 4 when we still had the multi-axial diagnosis. If something was on axis 2, a lot of times what I was taught when I was coming up through the ranks and internship was, well, we leave that alone. There's not much you can do about that. You focus on axis 1 stuff. And I feel in retrospect that that was a great disservice to the clients. Personality disorder and addictive behavior often look the same. And we're going to, as we go through the symptoms, and I'm going to focus mainly on cluster B here, as we go through the symptoms, we will look at the symptoms of the personality disorder and talk about how those are present, potentially, and people with addictions and what's the function. The goals for recovery from both or from the symptoms, instead of looking at this overarching diagnosis, we want to say, you know, if somebody has emotional ability, okay, how can we help them recover and do better with that particular symptom? We may put ourselves in a bind if we start looking too globally and saying we want to cure someone's depression. We want to cure somebody's borderline personality disorder, because like depression, personality disorders and addictions present a little bit differently. So the goals for recovery, honesty with self and others about their thoughts, feelings, needs, and wants. So helping them develop mindfulness and general self-awareness, because in order to deal with those reactive defensive behaviors, they're going to have to know when those are coming. They're going to have to be aware when they're vulnerable. Distress tolerance and the ability to self-soothe. Hope and faith in themselves, the future and others through addressing cognitive errors. And, you know, we find in pretty much most mental health diagnoses, there are some cognitive errors that exacerbate the problem. Development of self-esteem to eliminate the need for external validation. I can't think of any client that I've worked with, and I'm not saying it doesn't happen, but I can't think of any at the moment that has had either an addiction or a personality disorder who has had a, you know, grade A self-esteem. Now, that's not to say that there aren't people out there with it, but we want to really look at what effect self-esteem and lack of self-esteem is having on the patient. And we want them to develop healthy supportive relationships, which begins with, back to self-esteem, developing a healthy self-supportive relationship and accepting themselves as lovable despite being or in addition to being imperfect. Okay, so personality disorders represent a cluster of behaviors that are pervasive beginning before the age of 15. And many addictions also begin before the age of 15. So if you're using this to different, differentially diagnose addiction versus personality disorders, probably not going to do you a lot of good here. Due to the immature cognitive development, children tend to be more egocentric, overgeneralized, and think in terms of dichotomies. So if this situation, whatever it is that's causing the development of these reactive behaviors, that's probably something that's triggering the fight-or-flight response. If the child is egocentric, which we know that a little bit before 15, but up through middle school, children tend to be more egocentric, especially in elementary school. They're going to take things more personally. They're going to take things more globally. And they're going to think in terms of their schemas, which are very, very limited because they're very, very young. And they can't think abstractly.   It has nothing to do with me. No, a kid doesn't say that. A kid's like, what did I do? How can I make it better? I don't want you to be sad anymore. From a survival perspective, most of the behaviors that we're going to talk about make perfect sense when viewed through the eyes of a child. So remember, most of these problems, a lot of these problems started before the age of 15. And if you think back to Piaget, we know that there's a lot of stuff going on and the inability to think abstractly and really consider, you know, what are all the reasons this might be happening. And children at that age just don't even have any clue about all the stresses that mom or dad or auntie are going through. So children learn what they live. And I think most of us grew up with this either in our nurseries, in our bedrooms, in our elementary school classrooms. So you're familiar. If they grow up with criticism, they learn to condemn. If they grow up with hostility, they learn to fight. They grow up with ridicule, they learn to be shy. Shame, they learn to feel guilty. But if they grow up with tolerance, they learn patience. Encouragement, they learn confidence. And praise, they learn to appreciate. And it goes on. But you see how the staple in most of our lives that we've seen and we're familiar with highlights from the very beginning that the environment the child grows up with has a huge impact on how they know how to act and react and how safe they feel. Since these behaviors formed the foundation for further development.  We need to understand the function of the behaviors in the past. Are they just modeling what mom, dad, grandma, teacher did? Or did they develop those behaviors as a way of protecting themselves? We know in addictive families you have the lost child, the hero, the scapegoat, yada, yada. And those are reactive behaviors designed to help protect the child in a very unstable situation. We want to help clients identify how these behaviors and beliefs are or maybe faulty in the present. Are you still unsafe? And are you going to be abandoned? And are you worthless? Are you all these negative beliefs or threatening beliefs that they hold? We may need to look at. Help them develop alternative skills to deal with distress and deal with distressful thoughts. So they can learn to better evaluate their cognitions and decide whether they're on point or they might be reacting from the past. And we want them to be empowered to interface with the world with the strengths, knowledge, and tools of the adult. So what new tools can we help them learn? And what do they have that we can build on? One of the things that I try to focus on when I work with patients in general is looking at how they've coped until now. Until they've come to my office, they didn't just start having a little bit of a symptom and show up. They had a little bit of a symptom and they tried to address it or they thought it was normal and they tried to live life with it. They didn't come to treatment likely until they were either ordered to or until it got so bad they were throwing their hands up going, I got to do something different, but I don't know what it is. Well, in that time span, from the time that they noticed they were becoming symptomatic or, you know, from the time they were knee-high to a grasshopper and develop these behaviors, how did those behaviors protect them and how did they cope with those behaviors until now? We can start looking at those and trying to build off them. So cluster A is your paranoid, schizoid and schizotypal. Generally characterized by social awkwardness and withdrawal can co-occur with addictions. Now we often see people with cluster A personality disorders having some form of addiction, not always. It doesn't mean that the majority of people with addictions have cluster A personalities, so just kind of putting that out there. Cluster C, and I know this is out of order, but we're going to focus more on cluster B. Cluster C is your obsessive compulsive and your dependent personality disorders, very anxious and fearful. When you work with people who have these traits, addiction or not, we want to say what is causing them to feel so unsafe? Why is it, if they have an addiction, why is it that they feel they need to escape? Why do they feel so out of control and emotionally dysregulated to use a DBT term? And then cluster B is your borderline narcissistic, histrionic and antisocial. These people tend to be dramatic, emotional, erratic. A lot of times, again, the behavior patterns overlap with the addiction. When I see people in early recovery, you know, they went through detox and they ain't feeling well anyway. And they're in treatment. They may have a diagnosis of a personality disorder. They're not feeling well. They are exhausted. They are worn down. They feel out of control. When anything happens, you know, it's kind of like they're just teetering on the edge. And when anything happens, it sort of pushes them over the edge, which can lead to the dramatic emotional and erratic behavior. Think about a time when you have just been stressed to the max, totally stressed out, exhausted. You're like, I just can't take one more thing. And then that one more thing happens. Now, hopefully you have some distress tolerance skills and everything else. But in the first little moment after that happens, a little part of you might want to scream and pound your fists on the, on the table and be like, this is so not fair. Dramatic, emotional, erratic behavior. Now, a lot of times we don't do that. We pull it, pull it together and go, okay, how are we going to deal with it? But a lot of our clients don't have those distress tolerance skills. Where did they learn them from? You know, if they lived in an environment that prompted these behaviors, they're either modeling them or they were formed as a defense, then likely that's not an environment that taught them vulnerability prevention and distress tolerance. We don't just have those as soon as we're born. We have to learn how to use those skills. So one of the things we might start looking at is when you start feeling like you're going to bust, when you start feeling overwhelmed, what do you do? How can you help yourself calm down? And we also, again, going back to those prevention strengths, what do you do to take care of yourself? So you can feel rested and you can feel like you have the energy to kind of try to face the day. We're going to build on those. Those are things people are already doing. If we can help them do them better, then they're going to start feeling a little bit better. I'm not saying it's a panacea, but it's going to give them some forward movement, which is going to increase their motivation and keep them a little bit more, keep a little more momentum going. So cluster B is characterized by dramatic emotional and erratic behavior. A lot of times you'll have clients who get really angry at the drop of a hat or that in the case of people with borderline personality disorder, one of the symptoms is flipping on a dime.  And that kind of goes to all or none thinking too. If they have all or none thinking, if they have a lot of hostility and aggression or anxiety, you know, anxiety can come out as hostility and nervousness and irritability. I'm thinking what environment did they grow up in that perpetuated this that didn't teach them how to self soothe when they were little and facing smaller stressors. What kind of environment prompted this reaction where when they started feeling hostile and aggressive, if they acted out, that was rewarded in some way, whether it was it diverted the attention of the family unit and they became the identified patient for a moment.  All of a sudden mom and dad aren't fighting anymore. They're focusing on junior. Oh, see, there was a function to that behavior. So now that might be when junior is in the presence of something extremely stressful. The reaction may be look at me. Pay attention to me. You'll forget about whatever's bothering you because if you keep fighting, then I might lose mom and dad and then we got abandonment issues here. Hyper sensitivity. If they grew up in an environment, addicted domestic violence, whatever, where they had to walk on eggshells and be hyper sensitive to one or more people in the household in order to prevent getting yelled at in order to prevent chaos. Then they develop that hypersensitivity. Imagine, if you will, and having to walk around on eggshells 24, 7365, especially as a little kid.  I remember when my son used to come home from preschool and, you know, I'd bring him home. It was like three o'clock and I'd tell him to go play in the living room. I'd start making dinner. We always ate early and he would just start bouncing off the walls and, you know, he had a nice safe play area and everything. So I wasn't worried about it, but he would go from, you know, the subdued child that was supposedly loved to wash his hands and like the model student in preschool. He didn't wash his hands at home, but I digress to this little wild man when he got home. And I finally started to learn that while he was in school, he was keeping it together because it wasn't safe to let it go. He had to follow the rules. I mean, true, I get that. But then when he came home, he knew it was safe within reason to let loose a little bit and that's when all that stuff came out. He's just like, I can let my hair down.  You know, we all know people who grew up in environments where they were able to split parents where they were able to manipulate one parent over the other with where they were able to use guilt. You know, about whatever the parent did in order to get their own way. So this behavior was probably reinforced and low self-esteem or weak self-concept remembering that clients before the age of especially before the age of eight or nine have difficulty thinking about alternative perspectives and and thinking abstractly when things happen, a lot of times clients take them personally, especially if they started happening when the child was, you know, very, very little before he could when he was very egocentric, you know, before object permanence and all that stuff and diapers. It grows or wears on a child over time, and they start taking that personally going if I were better than my parent wouldn't have to do this. Worst case scenario, the parent goes, if you didn't do this, then I wouldn't have to. So what about people with decent childhoods?  So I want to think back to how would this these behaviors be functional for the person because then we can look at what do we need to do to change that. So instead of acting out and getting dramatic emotional and erratic when you feel overwhelmed emotionally dysregulated, you know, obviously we can start working on distressed tolerance skills. Because until now, you know, they may have tried to do things to not act out, but they may not have been able to push that pause button. So that may be something we have to work on. One of the things, the strength that you can work on there is the vulnerability prevention, helping them understand that if they're worn down, it's going to be harder for them to deal on with life on life's terms. So let's, again, build on stuff that you've already got. I want them to feel empowered. I want them to feel like they were already doing some of the stuff right. Anti-social people or people with anti-social personality disorder disregard the rights of others. Well, what environment might perpetuate these behaviors? Probably one in which your own rights were disregarded or in which you were able to get away with disregarding the rights of other people. If you've been in a preschool or, you know, childcare sort of situation, young children have difficulty taking perspective. They have difficulty with empathy. That's something they learn. But if that is not taught, if they were not taught to stop and think, OK, how might that other person feel? They may not ever have learned to take the perspective of someone else or care if they don't understand why it's important if that wasn't communicated to them. Impulsivity, reactive behaviors. A lot of times this is either getting what they want or dominating something or pushing something away that they don't want. They don't know how to tolerate the distress of not getting what they want or having to deal with something that they don't want in their life. So with impulsivity, again, we want to teach them about urges and how to ride that wave. The analogy I use to them is imagine a bee landing on your arm. Now, your first impulse for most people is to swat it off partly just because it feels funny. And obviously, if you're allergic to bees, this analogy is not applicable. But your first instinct is probably to wipe it off because it feels weird. But if you swatted a bee, what's going to happen? It's going to get angry, and then you probably are going to get stung. So in dealing with impulsivity, you want to think of urges like that bee. Your first impulse is to try to make it go away. But you need to be able to stop, pause, and look at the situation and go, what is the best course of action in this situation? Hostility and aggression, what are they angry about? Fight or flight? So we go back to those basic fears. If they have low self-esteem, they may fear abandonment. If they fear rejection, isolation, failure, all that kind of goes around. With being unlovable and needing external validation. If they fear the unknown and loss of control, then I want to think back to what happened to them where they felt completely powerless. And it could have been a behavior, it could have been a trauma, or it could have been their own emotional dysregulation that has always left them feeling out of control in their own head. So I want to take a look at what prompts this hostility and aggression. And it's protecting them. Hostility and aggression, anger, fight, pushes away threats. So what's the threat? What are you trying to push away? And how can we either address it and make it go away or help you figure out a different way to deal with it? Deceit and manipulation again and seeming to lack empathy, which kind of goes back up with disregarding the rights of others. So again, I want you to consider the function of these behaviors, the impulsivity, push it away. I can't take it. Distress intolerant thoughts. And hostility and aggression is protective. Lacking empathy can also be a safety mechanism. Not that they can't empathize, but in some cases they don't want to empathize. They don't want to connect with anyone because it's too scary. Fear of abandonment is so terrifying that they just, they ain't going to go there. They have a brick wall built up, a lead wall built up. So understanding the difference or identifying the difference between incapacity for empathy versus unwillingness for empathy. A lot of times can't be gleaned in the initial assessment. It can take a little bit of time. Histrionic. So we're moving on to excessive emotionality and attention seeking. This person has to be center stage. How did that serve them in the past? Did they learn that from a caregiver that if you want something, you have to be the center of attention? Or were things so chaotic in their environment, the only time that there was any sort of sense of calm or focus was when they were in crisis. Or being excessively emotional and attention seeking. Inability to engage in authentic relationships, but uncomfortable being alone. So this goes back to that fear of abandonment in many cases, but also I want to look at why can't you engage in authentic relationships? When did that start? And how does that protect you? How does it protect you to not be in a real relationship? And why is it, what is it about a relationship that you want that would make you comfortable? Because you're in this kind of limbo right now that's a lose, lose, if you ask me. If you're uncomfortable being in a relation, in an authentic relationship, but you're also uncomfortable being alone, what is going to make you comfortable? And so we would look back at other relationships they'd had that went okay. You know, I'm not saying they were lasting relationships, but when they were going well, you know, tell me about them. Tell me about the best relationship, the healthiest relationship you can think of that you ever had. How did that go? They have some relationship skills. I mean, they have to. In 99.99% of the cases, they are interfacing with other people. So we may even drop back to look at, look at more superficial relationships like their coworkers and their boss or their roommate. You know, tell me about those relationships and let's look at what they look like and what does authenticity mean like mean in a relationship. They may imagine relationships to be more intimate in nature than they actually are. Relationships are tricky because you'll learn those through observation in many cases and understanding boundaries, understanding how much to share, understanding reciprocity can be really tricky. And if there's no one there to guide you along the way, then it can be very confusing.  So let's look at that. In what way does that help you out going back to the whole uncomfortable being alone thing. And then slowly try to draw the conclusions or draw the connections, if you will, between imaginary intimacy and removing that discomfort with being alone if you can imagine you're in a relationship with someone then you're not, then you may not be alone. And they tend to be suggestible and easily influenced by other people's suggestions and opinions. They want attention. The best one of the best ways to get attention is to agree with people and go along with people and not buck the system a lot of times. So this may be another behavior designed to survive in a very chaotic environment. So there was reward being given they were feeling accepted by a parent, you know, back then, borderline and I say the best for last, if you will. Low self-esteem. You know, people with borderline personality disorder generally, I can't say I've ever met one, whether it was actual borderline PD or borderline personality disorder characteristics, who had a good self-esteem. They felt helpless, anxious and constantly feared abandonment. The world seemed chaotic. Not only did they, their emotions turn on a dime from love to hate from happy to furious, but they also perceived that from the rest of the world. So again, I'm asking you to think back, what would cause that? What would cause such anxiety and such instability in a child's ability and a person's ability to read the environment? And in many cases, it comes down to looking at psychosocial histories. It comes down to an environment that was that chaotic. Some people, as you know, if you've read some of Lenahan's work, some people are born with a propensity to experience emotional dysregulation. So they may not have grown up in a terrifying environment, but their emotions may have overwhelmed them from a very early age and their caregivers didn't know how to respond. So I'm not saying everybody grew up in a dysfunctional household. They may have grown up in a household where their parents just parented the best they could. Where we know that people who do have emotional dysregulation, as is common in borderline personality disorder, really do experiencing things a lot more intensely and have a lot harder time getting back to baseline and re-regulating. But as parents, we may have told our children, when they acted that way, you're overreacting, get over it or quit being a drama queen or whatever the term was. So the child felt even more ostracized, felt even more out of control because they're like, I don't know how. I don't know how to control these feelings. And all they were getting was criticism. Perceptions of themselves and others may quickly vacillate back and forth. So it's not just love or hate for other people. It's love or hate for themselves. Now think about hate. Think about what is that, what underlies it. Some sort of anger. Why are they angry at themselves? Well, anger, fight or flight. So what is it about themselves that terrifies them? And sometimes it'll come back to inability to control their own emotions or feeling out of control, feeling less competent than their other similarly aged counterparts. They're hyper-vigilant. Number one, if they grew up in a household that was chaotic, they're going to be hyper-vigilant for that. But number two, they need to be hyper-vigilant against or with for themselves. Because they can emotionally dysregulate, because they feel things so much more intensely, they're guarded. Because it's almost painful sometimes the intensity of the emotions that they're exposed to. So they walk on eggshells. They don't want to encounter a situation that's going to stress them out. Extremely emotionally reactive with an inability to de-escalate. So when they do fall into that pothole or run into the wall or whatever you want to say. They go from 0 to 120 and they don't know how to get back to baseline nearly as quickly as other people. And it's not necessarily they don't have the skills.  But the ability to get their body to, you know, catch on, it takes practice. And they may have been told, you know, count to 10 or breathe deep or whatever when they're growing up. And they're like, well, that doesn't work. So we need to help them understand from a broader perspective what may need to happen in order to help them re-regulate. Oftentimes people with borderline personality disorder have a history of neglect abuse or dismissive style of parent-child attachment. So like I said, it's not necessarily that it was this horrible abusive situation, although that occurs very often in people with personality disorder symptoms. We also have to look at this dismissive style of attachment where the parents going, I'm not going to deal with that. You know, come back to me when you can behave the way I want you to behave expresses a lot of conditions of worth does not help the child learn to regulate the emotions. So the child feels unlovable. Narcissistic has a powerful sense of entitlement. Unlike the person with borderline personality disorder, or even histrionic who may for a moment feel like I need to get my own way. The narcissistic person is like, I will get my own way. I deserve to get my own way. It doesn't matter who have to step on to get it. They often believe they deserve special treatment and assume they have special powers are uniquely talented, or that they're especially brilliant or attractive. Not all of these have to come together. It can be one or more of these. But a lot of times if you've ever worked with a patient who has narcissistic traits, they're very condescending. And, you know, again, I ask myself, what's the function of that? Because most people don't like that kind of behavior. So how is that behavior being rewarded and maintained? Well, if they put themselves up here, then they don't have to worry about your opinion. If they already feel bad about themselves, if they have low self-esteem, they don't want to let you anywhere near them. So they will puff up and keep you away. They also use their power or their perceived power, since they're narcissistic, to push people down, to push people away, and they will often be kind of unpleasant to other people. Again, to safe zone. They need to be powerful and admired. Oftentimes, but not always, if you look in some of the more recent literature, there's a lot of indication that people with narcissistic personality disorder don't necessarily have bad self-esteem. Some of them have very, very good self-esteem. They think they are all that a bag of chips and a Coke to boot. So they believe that they are that powerful and that brilliant. Just keeping that in mind when you're working with the client, don't automatically assume, well, personality disorder, low self-esteem. There are some exceptions. Lack empathy for others. I would, again, go back to do they lack it or are they unwilling to engage because it's too scary to feel when they felt before it hurt. So they don't do that anymore. And relationships are often superficial and devoid of real intimacy, which goes back to, again, are you keeping people at arm's length or pushing them down below you feeling superior and devoid the risk of getting hurt. And in some cases that, you know, with personality disorders, it's actually they believe that they are all that in a bag of chips and nobody else is worthy of them. So it's a diagnostic issue, but I do encourage you to consider the function of the behaviors. How does it protect them? If they're in your office voluntarily, clearly they want to do something different. They want to understand other people more clearly. They want to interface with other people better, whatever it is. There's something that motivated them to come to your office. So using a motivational strategy, we would focus on, all right, how can I help you identify interventions and identify things that you're already doing that can help you move closer to whatever your identified goal is. So the take home messages. Many behaviors characteristic of active addiction overlap with personality disorders. So in active addiction, people tend to be very egocentric. They tend to lack empathy. They tend to be very impulsive. Let's see, they tend to be somewhat emotional and intense attention seeking, especially if they're not getting their drugs or their own way. A lot of times people in active addiction, if they're not numb, the feelings are intolerable. So they go back and forth between being numb and being overwhelmed. They may disregard the rights of other people if they get to the point where feeling is so intolerable that they don't feel they can exist. I mean, they just can't exist if they're not high, then they may start stepping on the rights of other people because they want to survive. And the only way to do that is to be numb, not an excuse, just looking at, you know, my experience with clients over about 20 years. A lot of times the ones that present with PD behaviors at the outset who don't end up getting diagnosed with a true personality disorder. And I usually wait six months to a year into recovery before I'm comfortable with a personality disorder diagnosis. But that's me. Partly because that diagnosis can be so damning for people that I want to be very, very conservative with to make sure that that's what we have because it's not something that goes away. So once you put it on their record, it's kind of, it's kind of there. Many behaviors characteristic of addiction are pervasive. So if they are going to be impulsive, if they are going to be lack empathy, if they're going to be ecocentric, they're going to do it at work, they're going to do it at home. They're going to do it in the bathtub. They are in such pain, they are feeling so out of control at times that it may pop up at any point in time.  Even think about people, and I don't want to minimize what we're talking about here, but think about people who are addicted to nicotine. They have to take smoke breaks. They have to do these things. Now part of that's in response to the drug detox or needs or whatever. But some of it is also psychological when they start to feel stressed, they have this urge to go have a cigarette. And those behaviors, you know, they'll have that urge whether it's stress at work or stress at home or stress when they're driving from one place to the other. Recovery from these behaviors requires development of effective coping skills. Look back at what they've used, what's worked, what's helped them for even a few minutes, and then take things like the ACT matrix, acceptance of commitment therapy tools and dialectical behavior therapy tools, those can all be used to help them develop psychological flexibility. And even some basic CBT stuff, looking at irrational thoughts and cognitive distortions to help them start examining what is triggering these behaviors and what is maintaining these behaviors and what would they like to do instead. Recovery requires addressing dramatic emotional and erratic behavior by teaching distress tolerance skills. That's the first thing, you know, we got to help people learn how to press pause. Mindfulness to identify and process the source of the distress. Now ideally there's vulnerability prevention, there's preventative mindfulness. Yeah, we'll get there. But after they press pause and they've tolerated the stress they've gotten out of their emotional mind, then we need them to be able to evaluate the situation and go, All right, what am I dealing with here? And how can I best do it in a way that's going to get me closer to the things that are meaningful to me and help me lead the kind of life that I want. We need to address all or nothing thinking so awareness and elimination of cognitive distortions there. Hostility and aggression comes up in a variety of different ways in the personality disorders, but it's present in most of them in some form. So we want to help them understand their fight or flight response. We want to help them understand that when they switch from being happy to being rageful, when they switch from loving them, loving somebody to hating them. What's going on? What was triggered? What anxiety was provoked in them? Maybe they felt rejected, maybe they felt criticized, which made them bow up, if you will. So we want to help them understand what triggers this hostility and aggression and develop anger awareness and management skills. Most of the time people have some pretty common triggers, you know, they have like their top 10 that in various levels trigger them each time. And I say 10, it's usually only about five. But we want to help them identify what are those five things that really set you off. And let's start working there because those are the ones that are probably most problematic. Hypersensitivity, especially to rejection. So let's look at thinking errors. If you fear rejection frequently, tell me about that. Walk me through what you were thinking when this particular situation had happened that triggered your fears of rejection. So we want to start addressing those thinking errors and addressing abandonment issues. Where did those come from? Help them understand the schemas from when they were little, if they were abandoned or rejected. If their parents weren't there for them emotionally, even if they were there physically, we want to help them look at some of those issues. Not to scold the parents, you know, I'm not saying we're blaming anybody, but I want to look at what is triggering that now. So you can figure out how to address it. And maybe they can look back on their growing up and look at what their parents did and go, you know what?  They didn't know how to deal with this emotional dysregulation. And, you know, back 30 years ago, nobody talked about that. So we can help them develop alternate perspectives and we can help them develop self-esteem so they don't rely on others to tell them, you're okay. They can look in the mirror and go, you know what? I'm okay. If they don't want to hang out with me, tough tiddlywinks. Self-esteem is so important because it helps clients feel worthy of setting healthy boundaries. And it helps clients feel okay being alone. And, you know, a lot of times with my clients, I talk about the difference between being alone and being lonely. You can be lonely in a room full of 80 people. And you can be perfectly content alone. So what's the difference? And which one do you feel? And how can you become content so you're not fearful, so you're not anxious when you're alone? It doesn't mean that you have to say, okay, I can be alone forever and I'm just going to adopt 15 cats as my daughter likes to say. But you can look at it and say, would you rather be alone for a short time or in an unhealthy relationship? And as they develop self, stronger self-esteem, they're going to be able to look at their situation and go, you know what? I deserve better than that. Manipulative. A lot of clients with personality disorder behaviors are manipulative. So we want to help them develop interpersonal skills by not only learning how to set boundaries, but learning how to respect boundaries. And talk with people in a way that does help them create a win-win situation. Win-win is not manipulative. That's logical if you're not lying to somebody about what they're going to get out of it. So help them learn those interpersonal effectiveness skills. Develop self-esteem and the ability to internally validate. Remind them to give themselves credit every day or even throughout the day when they do good stuff. When kids are growing up and even to this very day, you know, think about the past 24 hours. I'm sure you did good stuff.  Did you give yourself credit for it or did you just take it for granted? But then if you made a mistake, did you focus on that more? Now you may say yes or no to either one. But a lot of people disregard their positives. They just say, you know, that's of course everybody holds the door or everybody helps somebody pick up their stuff when it falls. And they don't give themselves credit for that. They don't give themselves credit for working their butt off at work.  You tried and that deserves an A for effort. Help clients learn to start giving themselves reward and a pat on the back in addition to, you know, noticing when they make a mistake. So most patients with addictions have traits associated with personality disorders. These traits can be loosely classified into thinking errors. So when things happen, they perceive some sort of a threat, rejection, isolation, failure, loss of control. Behavioral reactivity develops as a means to escape or eliminate a threat. The first steps in the recovery process are honesty with self and others through mindfulness and self awareness. Hope and faith by identifying cognitive distortions and encouraging clients and encourage and courage and discipline to remain constantly mindful and accept and address thoughts and feelings, making conscious choices based on facts and what is most important to them in their life. A child growing up in an unstable, neglectful, emotionally detached environment may develop personality disorder traits to survive or addictions to numb the pain. A person whose neurochemicals became imbalanced or who was born more emotionally reactive may also have experienced rejection, abandonment and lack of support. Difficulty interpreting the world through because they had cognitive distortions. They weren't helped to move from that concrete thinking to more abstract thinking and or a sense of near constant emotional discontrol. They felt like they were always zero to 120. So what we can do with people with personality disorder traits again is really help them look at it's not ideal. You know those behaviors that that you were exhibiting that you want to address weren't the ideal ways to function, but they helped you they served you in some way. What's a more effective way to meet that same need that will help you get closer to whatever your goals and values are. Alrighty, are there any questions and I am going to try a little experiment. So I think now if you wanted to you could try to unmute yourself and talk or you can type in the window. I'm great with typing. And we can see how that goes. If you don't have any questions and you want to just go take your quiz, you know, more power to you go to it. And I will see you on Thursday. Okay, everybody have a fabulous couple of days and I'll see you on Thursday. If you enjoy this podcast, please like and subscribe either in your podcast player or on YouTube. You can attend and participate in our live webinars with Dr. Snipes by subscribing at allCEUs.com slash counselor toolbox. This episode has been brought to you in part by allCEUs.com providing 24 seven multimedia continuing education and pre certification training to counselors, therapists and nurses since 2006.


I feel in my heart that this will be the century of Africa. So, you know, but it depends on you guys to make that happen. Not the old dictators, you know, even they cannot go on forever. There is a termination date on every product, including us. So they will be gone and you will be there and just remember to not do their ways, but to remember that you work for the people. It's not the people who work for you.


All right. Good evening. I want to start. All the information is preliminary, so make sure everybody's aware. You know, there's an ongoing investigation. I'm not sure if anything new is going to come up, but I want to make sure that everybody understands this is preliminary. The second thing is probably the most important. You know, we pray for the family involved, the victims in this case, everybody, the entire family that's involved, but also talks about domestic violence. And I know this is domestic violence month, and this is one of those things that unfortunately every community deals with. And, you know, at his death, we hope that that's we hope that there is somebody out there that if your family needs assistance, you're dealing with domestic violence, please reach out to Sunrise within Pasco County. Sunrise is a phenomenal organization. And anybody who is dealing with domestic violence, please reach out to them. The other one too is this is a nice late incident. There was no threat to the community. Everybody's accounted for. So I want to make sure anybody in the water grass community or Wesley Chapel understands that this was an isolated situation and all parties are accounted for around 615 p.m. The Pasco Sheriff's Office responded to the water grass community. It was a reference to a welfare check. The neighbors had already told us that the house appeared to be flooded. There has been water that was coming out from the garage and the doors. That's what deputy Sol and they arrived deputies made entry to how to go through the window because they couldn't get through the door. As they went through the window, they saw a couple that was in the living room area. The couple was deceased, 70 year old male, 63 year old female with peer to be stab wounds. But it also appears they were there for several days inside a locked bathroom. There was a deceased adult male. He was in the bathtub. It appears that he self inflicted that he died of his own causes by himself. And so that it was a 30 year old male. We believe that the 30 year old male we know was the son of the 70 year old man, a 63 year old female. Um, neighbors said they saw water coming from this house since probably last week, maybe last Thursday. So this has been, you know, we believe that they were deceased in this house for numerous days before we got here to say this evening. But it goes back to the fact, you know, this is a sad situation. Um, we don't know what caused them.  Uh, what appears to be, but we do know that it was domestic violence. And that's what we go back to. Anybody in the community is dealing with this horrible situation with domestic violence. Please reach out to sunrise, reach out to somebody, get help. Um, we found out through the investigation that, you know, the neighbors were saying that the son was doing mental health issues. Uh, it would appear to be through records. We found out that the son had previous spin. The family was dealing with him with mental health issues. And that's the other aspect too. You know, the two things that we always keep talking about mental health and substance abuse. Um, those are big issues that always impact our community. And we now add domestic violence into it. You know, it's unfortunately a bad formula. And this is what happens when those things come together and we have a horrible situation. So for the entire family that have lost three loved ones tonight, uh, we're praying for you because we can't imagine what you're going through. But at the same time for everybody in the community, I keep reiterating same thing over and over again. If there's a mental health crisis going on in your family, please find help. Instead of the domestic violence, reach out to sunrise because unfortunately these bad incidents continue to happen in every community. So is there any questions? It appears to be the bathtub and it was just flowing. It's been flowing for days deputies. There's several inches of water inside that house. Um and the bodies were definitely they were deceased for several days that would have been piling up. But when you go outside and you see the garage, you can see that water was still flowing down there. Deputies were able to turn off that water, but it was coming out and the neighbors even said, Oh, it's been we've been seeing that for a couple of days now. So that's what we got to call out today about the welfare check. And that's what we found. All right. We're good. Appreciate it. Thank y'all.


Hey everybody, Lance Goyki here. Today we're gonna talk about rep ranges for hypertrophy. So yesterday we talked about strength ranges, we talked about that one to six rep range that really gets those total motor unit recruitment, uses all my muscle fibers and allows me to lift more weight. Now, with hypertrophy, the goal is not necessarily to lift more weight, though that tends to happen as a byproduct. The goal is to build more muscle. And so that can be associated, like there is going to be a positive correlation with more muscle and more weight on the bar in general. But you have to be, you know, you have to test it really well.  Now it seems kind of obvious to us if we take a step back, but you're not gonna be benching the same amount of weight, even though you have more muscle four weeks later, even though you're stronger four weeks later, if you're pre-fatiguing the muscle, right? So if I introduce that pre-fatigued with like some dumbbell flies or something, then I try to bench after that. I'm going to get hypertrophy stimulus.  My testing is bad word. My measurement during my actual training sessions is gonna look like I'm getting weaker, right? And so you have to be able to understand that. You have to be able to say, doing bench press after pre-fatiguing with a chest fly is a different exercise. It's not the same bench press. And so I'm going to measure myself based on how I do my bench press in this given context, rather than saying, normally I can do 275. This is, I'm so weak, okay? So we need to look at that very appropriately. Now the fast rule, the rep range for hypertrophy generally goes down to about six reps. And then it generally goes up to about 12 reps. Now that is just a somewhat arbitrary rule. You can get muscle hypertrophy by doing 15 reps. You can probably get it by doing 20 or 25 reps as long as you couldn't do 26 reps, if you know what I mean, right? And that pulls us back to what we said yesterday in our strength rep ranges video. The issue is I need to push myself to my maximal abilities, right? I need to get to that. When I use this rep range, it's not just that I'm using a really easy weight for this rep range, it's that I'm using a really hard, really challenging weight in this rep range. And that's what gives me the adaptation that I'm looking for. If I choose this particular rep range, or we might say if I choose this intensity, that will allow me to get the adaptation that I'm seeking. So maximal effort for six reps is gonna give me a little bit of strength, a little bit of hypertrophy. Maximal effort for three reps is gonna give me a lot of strength. Maximal effort for eight reps is gonna give me a lot of hypertrophy. For 12 reps, for 10 reps, for even kind of 15 reps, though that's not part of our rule, there's some overlap. And we'll get into the other rep ranges here in the coming days. Hopefully those rep ranges, that six to 12 rep intensity kind of scheme works for you. Hopefully that is making sense.


All right, Charlie. Thank you so much for coming back on the show We're still here in the farmers market I just want to talk a little bit more specifically about your relationship with ACMI like let's say today I'm gonna go to ACMI why and what's it like when you first walk in the door, right?  Yeah, cool. Yeah, it's like it's like a family you see people That you know from the community dropping dropping by right No, it's something I think a lot of people get wrong is that we're like some big television station We have to make an appointment to walk in it's like no Show up. We'll just say hi. No, it's like like I was telling you before You know when if there's something I care about It's the first thing I think about, you know, how do I get it out to the most amount of people and You know make it look good make it have impact And that is what the people here at ACMI teach you, you know, it's not that they'll do it for you No, no, no it's because that would be you know like impossible, right, but You know, I come in maybe once or twice a month and I bring my stuff and The cool thing is When I'm there editing say, you know, I'm offloading some stuff from my camera or whatever And I have an issue.  Yeah Like just if I raised my hand say could somebody help me There's always somebody who will take the time and be really gracious about it Yeah, and then the other thing I like Is sometimes I just come in I do my thing and then They'll be producing the news on Thursdays. Yeah, Thursday. Yeah And so I go up there and I can learn the audio board I can learn the video switcher the teleprompter These are all things that people probably know about from just hearing how things are produced, but right they make a very You know professional looking production Yeah, we don't have to but we like so yes Yeah, because it's and I want to I want to revisit your your podcast a little bit Just give me the beginning middle and end of How it started what you're trying to do with it, right, you know Does anyone helping you out with it that kind of thing anyone in specific?  I'm looking for an intern No, I would love to have an intern they kind of come and go interns, but I actually have three podcasts. Oh three That's okay. No, you wouldn't know I have one on a rowing which is an extreme passion of mine So like, you know how people like through like rowing. Yeah rowing a boat shell on the river So I interview people in that in the field of rowing. Yeah, they're it's really fun And it's because I'm you know obsessed with rowing really I've done a hundred and twenty episodes of that got two more coming up And then next two weeks and then I pull the That's in on video and then I pull the audio off for distribution to the podcast apps smart That's called ready row USA and then face the book TV is like I was telling before it started at ACMI and now I do it on this live streaming platform that I use and Then I share the footage the episode with ACMI so they can put it on their channels. Thank you Yeah, but it's it's kind of easy. I I mean for me. I don't have a large production crew Mm-hmm, so I just do the live stream and I plan it out as well as I can which is important Mm-hmm for it to go smoothly and then we do about a 30-minute Livestream and then I pull the audio And the other one is on alternative education. Oh like what it's fine. Well, it's We have a project that's been going on for 10 years called the pure agarji project here agarji So that is all about pure learning and pure production So kind of non hierarchical learning enterprises and techniques and tools so we've done I think 20 of those and And that that's maybe once every two three months that we do one of those With the people in this project. Mm-hmm. So it's it's a collaborative It's open open source public domain if you want to Copy it and you did it call it your own you can So it's kind of that vibe, you know that open source five Groovy and you know, you seem incredibly productive not seem like you are obviously incredibly productive person Do you have any advice you'd give to anybody watching that's afraid to get started? Yeah intimidated by all the equipment that kind of thing What's the challenge? What's the big thing that's not getting people out the door and into the ACMI to do something they want to do Boy, I think just you know Figure out what it is you care about. So there's been people coming by here One woman is cared about the flooding and in Nailed Brooke mm-hmm someone else was you know involved in social justice issues immigration and stuff and If you care about that just come in and sit down talk to Jeff or or Jasper Or James Milan, you know, just almost anybody will sit and you know, and they'll kind of onboard you So they'll get you started maybe as a crew member to Fly on the wall on another production Mm-hmm, and that's a great way to learn and then you know just kind of you do have to take some initiative Nobody's gonna like right, you know say I'll do it for you. No, but But they dry No, I mean it's just like I Don't know you could if you were if you're into bike safety, you know, you could do a Program about that. Mm-hmm. I've done pieces on the farmer's market I've done a piece for on rowing for the news program at ACMI and You know a whole bunch of different things were involved in the The issue of Raptors being poisoned by rat poison.  I mean, I think it's unless I'm mistaken. I think you could just drop by almost any time Yeah, and just time during the week and if we're not there call the number and someone will show up I live five minutes away. Yeah, so I'm always I'm always ready and willing to just come down And you know, there's people there like so When I go in to do my editing on Thursday afternoons or whatever There's someone usually there who's extremely knowledgeable another producer You know who I can chat with and talk to and maybe maybe I'll work on their production Right. So it's like kind of a collaborative, you know exchange of skills and Knowledge, you know, and it just kind of grows organically No, I mean like the internet people could say is a great place for something like that, right? Meeting people and trying to find like my people like help with you know, you help with their production They'll help with your production like I make movies, right? So like that's a big thing But like there's something about just a real physical place that you go to where you see someone working on something and you look over their shoulder and Strikes your eye and you say wow and that wouldn't have happened if you didn't just walk in and say hello Exactly. So it's it's great that there's a place in almost every town Sadly, sometimes not in certain towns. We are very lucky in Arlington. This is a state of the art studio You'll learn equipment and there's all a range of equipment.  Well, I think we'll end it there. That's a good place to end it Thank you again charlotte for being on the show Thank you for having me. Oh you are