Well, hello, everybody, and welcome to another OpenShift Commons briefing. This time, my colleague Graham Gumbelton from Down Under is going to be talking to us about deploying Jupiter Hub on OpenShift, and we're really thrilled to have Graham doing this because many of you are using Jupiter Notebooks, a lot of you are using data science workloads and ML workloads on OpenShift and testing the waters out in this, and we think that Jupiter Hub is a great project and I'm thrilled to have this backgrounder on what to do at what Jupiter Notebooks are and what Jupiter Hubs is by one of my compatriots. So Graham, I'm going to let you take it away and introduce yourself, and we'll get running here. Okay, thanks, Diane. So, yeah, Graham Gumbelton, as Diane says, so I'm actually based in Sydney in Australia. My background is as a Python developer from a long, long, long way back, and I have a particular interest in the problem of deploying web applications or services to make them available on the Internet, and Jupiter has been one of these ones which has always intrigued me. I'm not actually a user of the Jupiter Notebooks and products myself, but I like playing with them as a technical challenge to work at how to get them working and how to get them working well in a platform-to-service type environment. The purpose of this talk today is to talk a little bit about what Jupiter Notebooks are and how you can get them deployed in different ways on your own box as a software-to-service or software-to-option, and then talk about how you can run these things up on OpenShift rather than trying to do it all yourself. So, Jupiter, if you're already watching this, you're probably well aware of what it is, but it's an interactive web environment you can get in and work on documents which can include text, media, code, and that code can be used to actually pull down data, analyze it, chop it up in bits and pieces and then present it in a graphical form so you can look at it and it can be charting and so on. People who are interested in using Jupiter Notebooks, you have individuals who use it for self-teaching, so there are various notebooks out there, especially in the Python space for learning about Python, for example. It can be used by a team of people in an organization who work together in analyzing data from their organization and trying to get value from that. One example is in financial institutions where they might use Jupiter Notebooks as a way of analyzing stock trading data from a previous day to actually try and work out new algorithms for their trading system. And finally, it can be used in teaching environments. So, if you have a large class of students who themselves are learning about data analytics, then you can use Jupiter Notebooks as a mechanism for teaching them. One of the cutest use cases or uses I've ever come across for Jupiter Notebooks was actually one from Singapore, and I love visiting Singapore, so it's twice a bit of a favorite. Singapore has a very good public transport system, but one of the rail lines they have there or underground lines, the trains would keep stopping, and they didn't quite know why, and they managed to accumulate all these different data about where all the stoppages were, which train it was, what time of day, and so on. And they had a team there who took that data and put it into a Jupiter Notebook and started trying to analyze it. And it was a really interesting use case. What they found was that it wasn't caused by, it wasn't one particular train that was always stopping. The locations would appear to be random, different times of the day, and it was a tough nut to work out. But eventually they used Jupiter Notebooks to actually work out what was going on. And it was actually caused by one single train as it passed around the network. That one train never stopped. But whenever it passed a train in another tunnel, the interference from that one train could interfere with the electronics of the other one, cause the other one to stop. So this is a sort of example where you can take data, get it into a Jupiter Notebook, and do arbitrary analysis on it, and present that data, and come to the conclusion of what's going on. So it can be really good in a company environment where you don't have existing applications to work with your data, and you do want to do things piecemeal. Now, the topic of this talk is not just Jupiter Notebooks, it's also this thing called Jupiter Hub. And this particular comes into play when we talk about a teaching environment, but also can be inside an organization where you have a small team. Jupiter Hub is a means of running up instances of Jupiter Notebooks in an environment where users can just log into Jupiter Hub and they'll be given an instance of Jupiter Notebooks as long as they can use. That may be an empty notebook or pre-populated with data and their notebook files. Now, why that is important, we'll see in a moment as we go through and look at all the problems and issues that come up when you actually try and deploy Jupiter Notebooks yourself. So with the Jupiter Hub, one last point on Jupiter Hub to point out is that it is actually going to give each person an individual Jupiter Notebook themselves to work with, and that is handled out of Jupiter Hub with this thing called the Spawner component. And that can actually be deployed in a lot of different ways, be it on one single host or spawned out onto multiple hosts or even using a system like Kubernetes to spawn that out. And obviously Kubernetes is used in OpenShift and why this is of interest to us. So getting started with Jupiter Notebooks by themselves. If you're going to do this on your own box as an individual, then if you've got Python installed on your computer, then to get a Jupiter Notebook up and running it's a simple case of going using the PIP package manager from Python to install Jupiter, and then you can run it and you get yourself an empty notebook and you can start working in that. You can upload your notebook files into it for the Web interface or if you run up the Jupiter Notebook inside a directory which already has those notebooks, they'll be already visible in there. And once you have that, you can then click on any of the notebook files you have and you get your actually interactive notebook where you can start working away. If you need additional Python packages, which is pretty well going to be always the case because you want all these packages that exist out there for pythons, just NumPy, SciPy, Matplotlib, and many, many others. And that is one of the reasons why Jupiter Notebooks are so attractive. Python, if you want to do something, there's generally a package out there for doing it and they're easy to get installed. But you do need to install them and you can get a terminal up inside of Jupiter Notebooks to actually install the extra packages you need in your notebooks. So running Jupiter Notebooks locally, why are they good? You are working in your local computer, so it means that all your work is saved locally. You don't have to worry about how you're going to back these things up. Just as long as you've got your own computer backed up, you're fine. You can make the decision about what version of Python you want to use, what distribution of Python, and get the packages you installed in there. And they'll be there once you install them and between runs of notebooks. Why running Jupiter Notebooks is not so good on your own computer system is that if you want to then share your notebooks with other people, you relying on the other person to be able to duplicate the same environment that you were running. So they may very well need the same operating system. They'll need to have the same Python distribution and version. And when we talk about different Python distributions, there is the main one from the Python Software Foundation, which is CPython. And there's also the Anaconda Python distribution. As they have different package indexes, the downloading packages and those package indexes aren't quite the same as well. So you can run the differences there. But overall trying to do it yourself on your own box from scratch can be a lot of effort to set up and maintain. So what's the next option? The next option you can use is to run Docker on your own computer. Now Docker provides a means of running applications inside what's called a container and it isolates that container from other applications to running on your box. But more importantly, what you get with Docker is the ability to bring in an image file which contains all the bits and pieces you need to run your application already in it. So the Jupyter ProTip people make available a whole bunch of Jupyter Notebook images. A minimal Notebook one is just a Jupyter Notebook. They have one called SciPy Notebook which has pre-installed in it a whole bunch of different packages suitable for data analytics and NumPy, SciPy, Matplot and lots, lots more. The SciPy Notebook and some of the other ones that drive from it also have the option of being able to use Python 2 or Python 3. So it gives you that flexibility and choice to use them. So it can be a great way of starting up notebooks very, very quickly. You just need to, as long as you've got Docker running, you can pull down that Docker image and start it up and you've got an environment without doing too much extra work. And that's just by done by running Docker Run command. So that's good because it comes with everything you need. It's a particular Python distribution.  These images are read only, which means that you can't really destroy them. You can't muck them up because once you stop them, they will, you lose all the work that you've done inside of them. But it means you can't wreck them up, run them up again next time and it will be back to where it was before. It's a nice little environment so you've got no problems with interfering with other things and you don't need to maintain these things because people are providing them for the Jupyter Pro book so you can use them.  And though, if you want to add in additional packages, you either have to create your own Docker image, which derives from it and adds the extra bits or every time you start up, you're going to have to install those extra packages. These packages can be very large. If you're on a really slow internet connection like everyone in Australia, then you're going to have a problem pulling these images down. Some of those images are 1.5 gigabytes in size and I wait a long time to pull them down over our really slow internet here. And that is because they might have multiple Python versions in there. They can have all these different packages that you don't really need in there. So, yeah, any problem. Because these images, when you run them up or run in a container, it doesn't mean they're isolated, but that means also that all your work is lost when you stop it. It means you do have to fiddle around with trying to mount volumes into the Docker image so that your work is going to be written back into your local computer and be saved away. Otherwise, you have to configure the Jupyter Notebook to use a custom contents manager and store those files elsewhere, such as on S3 or Google Talks and so on. And one last issue with Docker images always you have to be concerned about is that when you start them up, is the access to them secure enough? Because you're starting up a web server from this Docker image. If that web application becomes exposed outside of your box and you don't secure it properly so only you can access it, then it means that people can get into that Notebook instance from outside of your box and potentially do things with your work. So, what other options have we got if we can't? We don't want to run it on our own system then. And this is where we can start to look at software as a service or hosted options. Now, one popular way of very quickly having a look at Notebook if you've just got Notebook off the internet, you want to have a quick look at is thing called Tempen B. This is a project which is done by the Jupyter Project people and hosted up on Rackspace. You can go here and what will happen is that as soon as you hit the page there, it will give you an instance of a Jupyter Notebook. Now, because they can't know in advance what you may need, it's a very, very, very fat image. So, it has multiple Python versions or different language versions. Python, Ruby, Haskell, R and for the different language run times, it may have a whole lot of packages which are pre-installed. But it does give you a way of very quickly getting up a Notebook running. But that is all ephemeral. After a while, it will go away, you'll lose all your work. So, great for looking at something read-only. Not great if you want to actually use it for developing a Notebook and working in it. The next option is to go look at people like Microsoft and Google and the services they provide. And these aren't the only ones available. There are others. This is a place where you can create an account with these people. You get in there, you get your own little space where you can work in. And usually they will have integration with their storage system so that automatically when you save work, it's saved away and it's backed up by them. So, they're the two main options you'll find for those. Now, these are really good because someone else is looking after them for you. You don't have to set them up yourself. And they are designed for useful multiple users. So, my understanding is that you can with these save your work away and you do have the ability to have someone else log into that system as well and you can share your Notebook with them through the system as I understand it. Why these are not quite so good though is they are still a shared resource. Multiple different people are going to get in there. So, you don't have any visibility of how the system is implemented underneath. And one would hope that they are all secured so that your own little work is separate but you are potentially competing for resources on the one system. But the whole system is essentially out of your control. You don't know how reliable is your relying on them to actually keep the system that's working and you probably have a limited ability to customize it or a limited ability to select which versions of software you want to use with it. Being a system run by someone else and not on your own premise, you have to worry about information security. Obviously, this is not something a bank is going to use if you want to work with share trading information or other confidential information from your customers. And finally, there is a concern here with vendor lock-in. These services also have a free tier and what they're relying on is they're using open source software as an on-ramp for you to use their other paid services. So, you may want a database product to store all your data in. They'll quite happily start selling that to you. It then means you are started locked into their architecture. It's a bit harder to move off. So, what about self-hosting? This is where you run it on your own machine. Now, this is what you're doing with Jupyter Notebook directly when you're installed. But in this case, what we want to look at is how you can install a system which can be used by multiple users at the same time and not just yourself. And the main option here is a project called Jupyter Hub. And that, again, is from the Jupyter project team. This provides a system where you can log into it and you'll get a Jupyter Notebook instance to play with. Now, this is essentially very, very similar to what 10pmb is set up. 10pmb is actually a separate project, but it's actually simple to create a version of 10pmb using Jupyter Hub. You just need to disable the authentication. You'll see how I do that later. So, you can install this as open source software, so you can customer however you want, modify it for your particular way you want to do it, set up it to use your particular authentication mechanism using your organization. You can use it to set up so that when you run up your Notebooks, they have persistent storage and so on, or use your custom images. And there are many, many deployment options. You can create one big machine and run everything on the one machine, but will be limited, therefore, by how many things you can run, or you can actually start to farm out the Notebook instances across machines in a cloud-like environment. Because you're running this yourself, you do have to set it up from scratch. You're going to have to dedicate infrastructure to it usually, because you're going to take over those machines just to run this, and there's a lot of effort there to setting it up and keeping it running. And that's okay if you've got an IT department, but if you don't have an IT department there who's going to do all this work for you, you have to do it yourself. You then become an IT operations department of your own, which may not be what you really want to be doing. The next one is Binder. Now, this actually is really a software as a service. Again, it's something you can actually go out onto the internet. You can go to mybinder.org and give it a URL for repository which contains the Notebooks you want to use. So this works actually a little bit different to the Tempen B service in that Tempen B would just give you an empty workspace with a whole lot of stuff pre-installed. Binder allows you to actually give it a repository and it will build for you on the fly an image which incorporates all of your Notebooks that you want to actually work with and also install all the different Python packages that you want to be installed which you need in your Notebook. So it might take a little bit of time the first time it does that because it does need to build that image and get up, but this is something where you can go to mybinder.org and use that and it will give you that ability. Now, the reason I've dropped in here and self-hosted is that underneath it's actually using a project called Binder Hub and also Jupyter Hub. It also actually relies on a whole bunch of others including Kubernetes Home and all these other bits and pieces under the covers. So you can go to there, get down the Binder Hub software and you can start to install with yourself. Now, it is going to be a lot of work. But it gives you that capability to do it. Now, find yourself a service again because it is a software as a service. You have an ability to customize the image because it can take the contents of a Git repository and build it into an image for you now. But it's still a service that's owned by someone else. So you have all those problems you had before with information security to shared service, how reliable is and so on. You can install it yourself because it is open source software. But again, it can be complicated to set up. You have to ensure that in an environment even in your own organization you set up all the authentication security correctly. Now, one of the things with Binder Hub when I look at it is that, well, isn't this reinventing a path? You think about what a platform as a service is. It's the idea that you can have a Git repository somewhere which has a whole bunch of source code in it for your application and you can tell that platform as a service. Here's my source code. You go build it into a image or some other format for me and get it up and running for me and I don't really care. Now that's what Binder Hub is doing. And it's doing that by essentially taking a whole bunch of other components such as Kubernetes and adding in components of its own like Binder Hub, repo to Docker and all these other bits to invent its own paths. Well, is that a problem? Well, we have passes and that's what OpenShift is. So let's have a look at how we can do things instead of we're running Jupyter on OpenShift. So OpenShift itself is a pass as I mentioned and it's actually more than a pass. It's also what's called a container as a service or CAS so you can take an existing container image and you can get up and running OpenShift or you can tell it here is the source code and build it in past style and get it up and running as well. So I can for example, if I have a notebook image for Jupyter it's very, very simple to get that up and running and I don't have to do any extra work. I can just log into my existing OpenShift instance and say here is my image which I might have up on Docker Hub and you can get it up and running and I haven't had to do any extra work as long as you've got the quota and resources in the account with it. You can log into existing count and get it up and running and it'll all go. Now we all see you can do that but we want to make this somewhat easier. Now we can do this through templates. Now in the case of Binder Hub it was using Kubernetes and using a template insisting called Helm to do it. Now Helm is not necessarily the simplest thing to work with and can require admin rights to actually get it installed and running. So getting it running and OpenShift is not necessarily a simple task but OpenShift does has a simple template mechanism itself and I've got a whole bunch of templates here which I've written which allows me to do different things. So I can install a Jupyter notebook from an existing image. I can already be using the existing capabilities of OpenShift build up my image from a repository containing all my notebooks and packages I want list which are all the packages I want to install. And I can do all that for this very simple template so I can just click on it and it's very simple to get them up and loaded. But I can do the same thing with Jupyter. I can install Jupyter up and say run existing Jupyter notebook image or I can actually say go and build me a new Jupyter notebook image and get it up and running. So building a customized notebook image very simple you just click on the template you can say what base image you want to build from and you give it a git repository and away I'll go build that image and get it up and running. And that is using this thing called source to image in OpenShift that is that capability of taking that git repository running it through this builder image and in this case I've got a builder image I've built up to specifically create images for Jupyter notebooks and it will then go off and deploy it. Note for Jupyter hub deployment similar thing I'm very quickly click on template give it the notebook image I've already created and get it deployed. So show that in action and show how simple it is. I'll do a quick demo and then we'll wrap up and we'll see what Diane's got any questions or anyone else has joined in. So I've got a completely blank OpenShift account. So this is if I had access to my existing OpenShift account inside of an organization and I'm totally empty I'm not admin or anything. I don't need to do any any special access to do this. So if I need to start off and get things going then I need to do a couple of things here. Now the first thing for extra security reasons I'm going to just makes a little bit bigger create a special service account which I'm going to run Jupyter hub under in particular Jupyter hub needs to be able to run up extra notebook instances and this service account is just going to allow me to do that by giving it access to the API of OpenShift be able to create things. So I've created a service account and all I have to now do is I've got a set of resources which define all of my templates but it was also going to go off and build me all my images. So if I jump back to my user interface now I can go in here and see it's going to go off and build all those and that'll take a few minutes so I'm not going to hang around for it. I've got some already pre-done. So I get over to my other demo there. So they've already built there. The quick ones took a minute and a half the longer ones took a bit longer. The bottom ones are SciPy notebook and TensorFlow notebook. So I'm emulating what Jupyter project does there and creating some new book images which have a whole lot of stuff pre-installed which you can use. But I want to actually deploy that now. So if I want to deploy it I just go to my catalog search up for my templates for Jupyter Hub and I can just deploy a notebook. I'm going to deploy a minimal notebook. I'll give it a password so it has a bit of security in there and that's enforced by the template and that's going to run up an instance of my notebook. So very quickly I've gone from having OpenShift with nothing in it, a normal account and I've got my notebook image up and running. I'm using a soft certificate here so I'll just have to accept that and it's going to come up and that's all fairly quick. So few minutes there to get things running. So in under five minutes I can be up and running. Now that's an empty one so that's a bit boring. So what we can do instead we can go back to our catalog and I can obviously build up an image from a repository. So what I'll do this time is rather than actually building a notebook image I'm going to go straight on to Jupyter Hub. So if I go to Jupyter Hub and I want to do a quick start version I'm just going to start up a version of Jupyter Hub. I'm going to get the Git repository URL for a set of notebooks already and I'm going to get Jake Van Der Plust as an excellent set of notebooks for his book and I'm going to just drop that in there as a URL and I don't need to touch anything else. It's going to start deploying Jupyter Hub and at the same time as doing that it's going to start building that custom image that I want which has all of Jake's work in. Again that'll take a few minutes so we'll skip that and go straight to a running instance. So here's the one I already have running and this time I've got a little custom URL on it so if you are on the call and have a web browser handy you can go to this address tempnb.getwalk.org on HTTPS and it will get you into the Jupyter notebook. So I'm going to do that and it's going to start me up an instance. So if I drop back to the web console you can see how it's already started me up at my own Jupyter notebook instance and then anyone who comes into this now I've set this up like tempnb so there is no password but anyone who could come into this address would get their own instance of a notebook and in this case it has all of those notebooks from Jake's wonderful book and I can just go in here and select one, run it up and I'm off and going and we'll see if there's anyone else no one else has jumped on so that's okay and I'll see then could just run this you know run for all my cells work on that and do what I think I would normally need to do. So that was very very quickly both getting a Jupyter notebook running but also building an image from custom repository files or even just running up Jupyter hub and for me that is a much simpler way than doing it and going and often using Jupyter Direct Jupyter does have an ability to work with Kubernetes because that means you have to set up Kubernetes you have to actually work ahead I figured all here before OpenShift I'll provide a very nice simple template where you can just drop in the template and you're going straight away. That was a very quick demo. So just to look then why what the benefits are of using OpenShift for Jupyter why I think it's probably a better option if you already have OpenShift available and that is that it's much more accessible to developers and non-technical users I don't need to be an IT operations person here if I have an OpenShift account in an instance already then as long as I have the quota to be able to set up the size of Jupyter hub instance that I already that I want for the number of users I need I can install without any help from IT operations people I still have the ability to customize that deployment the way that the template to set up is that you can drop in a custom Jupyter Hub config file and through the template or you could even actually have it in a repository and itself use the source to image mechanism to build up a custom Jupyter Hub image which has the custom configuration so that you can set up your authentication your requirements for persistence storage and so on you can set all those of up so it's not a fixed way of doing things it's not like a software as a service there's still a great level of customization you can do in there and because it's simple to do and I'll provide I will be down the track provide all instructions and documentation as a site for doing all this I think it's a good choice for collaborators in a company or even people in education where they might have an OpenShift instance already in that institution they can get access to it and start working with it and do these things themselves very easily now with it being OpenShift and OpenShift being a container as a service and a platform as a service you don't have to dedicate your OpenShift instance to running your Jupyter Hub notebooks and Jupyter Hub or Jupyter Hub service you can start to deploy other workloads in here one example of this is some work theme done for another project looked after by Red Hat called Red Analytics they're doing a lot of work with being able to run Spark clusters inside of OpenShift so you can potentially in the one OpenShift instance very, very easily deploy a Spark cluster and then people will be using notebooks which run up with Jupyter Hub which are communicating with that cluster but you can basically anything you can run inside a container you can get running inside of OpenShift and so this becomes a shared resource for you to use and not just amongst yourselves but with other people in your organization as well which means that it's not dedicated infrastructure you can share infrastructure costs and make better utilization of the resources for the company and as I said you can do whatever you want as long as you've got the quotas and limits on what you need to do and of course all this is open source so you can get to an OpenShift origin you can install it yourself and do it that way or if you are interested in the support from Red Hat you can get OpenShift container platform for Red Hat subscription and so finally at the moment where I'm playing around all this and my repositories for it they are up on GitHub in an organization called Jupiter on OpenShift so if you are interested in that you can go there I have posted various blog posts on the OpenShift blog about getting Jupyter running in OpenShift and I'm for sure will be doing more and as far as this briefing you can find a lot more than this as part of OpenShift Commons as well Diane's been organizing a lot of different people coming in and talking about a lot of different things to do with machine learning and artificial intelligence and so on so this will go up in there as well but there are a bunch of other talks as well and you can find various of those on the common site or you can actually go off to our OpenShift blog as well and look through the tag for machine learning and you'll find them all linked off there and finally there you also see the RadAnalytics project and you're all for that and that is providing a lot of things for machine learning I don't know everything they're providing but there's various bits and pieces in there for using Spark but also different ways of deploying Jupyter notebooks as a means of visualizing the data from that as well and so that's about it Great job, Graham I think that was really a great tour de force on all things Jupyter related and you really do see that there's lots of different options for this what we're seeing in the OpenShift Commons is folks from both the EDU side of things the education, the universities and enterprises that are doing interesting things with machine learning and AI and all kinds of fun stuff as well as all of our old friends from the Python communities and the SciPy and NumPy folks using Jupyter stuff so it'll be interesting to see the evolution of Jupyter Hub I had a quick question because I know we talked about deploying this on your own OpenShift or OpenShift Origin or on OCP are there any limitations to running this on OpenShift Online or OpenShift Dedicated? Yeah, OpenShift Online you're not going to have sufficient resources in the starter tiers it is possible to get a single Jopin notebook instance up but they tend to be very memory hungry when you start to actually work with your own notebooks and data so the starter tier not quite enough resources it's useful to just spin it up, try it out but yeah, if you're going to do any serious work you're probably going to need more resources that provide that's where the Pro Tier comes in and you can get this up and running on Pro Tier although I put a little caveat on that there's a funny little configuration mistake in the Pro Tier at the moment which I've been trying to get fixed because it causes a little bit of a problem so it's not quite so simple to get them up and running but I'm working on getting that fixed but yes, you can run it in Pro so technically if you have the resources in there you could run this and run a small Jupyter Hub cluster for a small group of people and get up and running there now one comment you made about the future Jupyter Hub I have it disabled but one of the things actually is quite exciting in the Jupyter space at the moment is that they are overhauling the web interface for Jupyter Notebooks so they've got this project coming along called Jupyter Lab which totally overhauls the web interface for Jupyter Notebooks such that you aren't restricted any longer for having a single notebook on a page at a time you can have multiple Notebooks and in a tabbed environment within the actual user interface I have had that running and it looks quite interesting but I disabled it at the moment but that's a quite interesting thing that's coming along with Jupyter Notebooks but it does work as well so the interesting thing to me and it's just between the paid Jupyter Hub things that are on that's on Microsoft Azure or the Datalab on Google's cloud would it be possible for someone just to take the work that you've done and convert that into their own Jupyter Hub offering? I mean it seems doable and you could just customize it that if someone were so wanting to create their own version of Datalab is that something that people might do or a university might do for themselves? The Jupyter Hub software is quite configurable so I didn't in my demo have a thing with authentication but you can also put in your own authentication system so you might have to construct a little bit of a web interface separately for you actually signing up and creating it but you can have SSO hooked into Jupyter Hub so that if you're already logged in by the separate system first then the SSO works as soon as you go to Jupyter Hub instance and it'll fire a notebook so there's no reason why this can't be used as a base for creating your own little mini service internally to organization or if you actually do want to do something which are more commercial basis. Yeah so I'm going to look to see because I think I've gotten a few folks especially from the EDU side and then some of the folks in the financial services side of things that have been quite interested in doing something with Jupyter Hub and they may have already done it on their own without using OpenShift under the hood but what was interesting to me was really describing it as you can have Jupyter Hub and then you can do your other workloads too on OpenShift and I know these folks all have OpenShift already running so I'll be interested to see there goes the dog that must be the alarm clock for ending this system on. Hang on a second while I quiet him down. I had a question. Well, I'm seeing in the market there's a lot of data analytics without the data scientists and they know that they can't do it. They can't do the big stuff without data science but they don't want to have to call a data scientist in every time you want to do a model. This seems like it would be something to put in the toolkit for that. Could you build up a reasonable data analytics piece without who understands the business than the data analytics part? If I understand where the question is coming from you're dropping in a bit out so I didn't quite get all that. The intent of what I'm doing here is to provide a way of doing things in OpenShift where you have much more control over how you're doing things compared to say a software as a service. The idea that you can run additional workloads in there to support what you're doing and customize it and this is where you can bring in that RadAnalytics project or any other project which are providing the sort of capabilities you need and using it in conjunction with this. So I'm viewing as like a toolkit approach as opposed to a software as a service where it's locked down and works only particular way. So I think that whole approach to things is sort of satisfying what you think you're talking about because you can start to add in these extra bits which have that better domain knowledge of what you need to do. I think Rob, that's one of the beauties of Jupyter Notebooks is that you could create something that's specific to a business organization Jupyter Notebook and share it amongst them and they could tweak it or add things into it and make it that company's data analytics notebook or whatever their data source is and have all the hooks and bells and whistles into that shared Jupyter Notebook and then they could customize it and share it and tweak it out and that's really one of the wonderful things about Jupyter Notebooks and then Jupyter Hub lets them collaborate on these things. So it's a really wonderful platform. It's been really taking advantage of a lot by folks in academia and folks at I think it came out of Berkeley originally but now it's been adopted pretty widely in the FSI industry as well. So it's caught on and I think as an open source project it's getting a lot of attention these days. There's a scenario I always like to target is the idea that the manager could come in in the morning just go to a particular URL and they get a new custom notebook for that day which has been generated overnight and customized based on business data that may have been produced the previous day and they're going to have to know how to deploy anything. All the system can be automated behind the covers by using the functionality of OpenShift with jobs to fire off tasks overnight to build new notebooks or new sets of data and they just come in and it's there for them as soon as they log in and they don't have to worry about it. Some pretty cool use cases. So I hope to get some of the folks in the different industry sectors to showcase what they're doing with Jupyter and share their best practices too. So hopefully we'll have a few more follow-ons with this as well as bring in the right analytics folks and get them to show off some of what they're doing as well. There's been a whole bunch of talks on Spark, on TensorFlow and using Jupyter notebooks to analyze data with those. There's tons more coming. There's a new project and community developing around Kubernetes and machine learning. That's what that machine learning special industry is all about. So there's lots more to come. So thank you very much, Graham, for taking the time to do this session. I'm sure people will find it useful. I'll post it up on blog.openship.org.com rather with the slides shortly and we're going to have our first machine learning special interest group I think January 19th. So if people are interested in joining that, click on this below and I'm sure Jupyter Hub will come up in those conversations as well. So thanks again, Graham. And we'll talk to you all soon.


that archive using Galaxy. The tool we'll be using today was designed to cater for researchers that want to upload SARS-CoV-2 sequences to the ENA, but it can also be used to submit other species sequences to the ENA. We will cover two examples. The first one will involve inputting the metadata using the tools interactive metadata forms and the second example will involve inputting the metadata using a pre-built template. There are two requirements for using the ENA upload tool. First, you need to be registered at ENA's women submission platform. If you do not have credentials yet, you can go to the registration page and sign up. I included the link to this in the description of the video. The second requirement is that you are registered with usegalaxy.eu. The first thing we need to do is to include our webbing credentials into the Galaxy user information. For this, go to the top menu, select user and preferences and then select manage information. Once there you can scroll down until you find the ENA webbing account details box and there you can put your webbing number and your passport and then save. And now the tool can submit sequences to the ENA. For the first example in this tutorial, we will submit a single sequence to the ENA and generate the metadata interactively using the tool. We begin by creating a new history and we upload the data. All the data that is used for this tutorial comes from the SRA and has been processed so that the human traces have been removed from them. We'll use FTP to upload the data and I've included the links to the Zanotto repository in the description of the video. While the file loads, you can start looking at the actual tool that we'll be using. It's under the send data menu. It's called the ENA upload tool. So the first thing we see is we have two options to execute either add new data, modify metadata, we'll leave it to add new data. The second box includes debugging features. The first one is an option to submit to the ENA test server and we will say yes to that because otherwise your reads and your raw data will be submitted to the public server and everyone will be able to see it. The second option is to print the metadata tables but not submit the datasets but we will leave this at no. Next, we come to the metadata section where we ask if we'd like to submit pre-generated table files or to interactively generate the metadata. For this exercise, we will choose to interactively generate the metadata and now we get to the metadata input forms. First question is are we submitting viral samples? We'll select yes and what this does it adds metadata fields to the sample metadata object. Maybe a brief note on the ENA metadata model. The ENA's metadata model has overarching studies which are populated with experiments and samples and runs are added to experiments. I've added the link to the metadata model so you can read more on it. In the ENA submission tool, there is a form for each metadata object and they are nested such that you are allowed to add samples to studies and experiments to samples and runs to experiments. For this example, we will have one study, one sample, one experiment and one run. For this example, we'll use mock metadata placeholders instead of real metadata. The last metadata object is the runs and this links the actual data files to the rest of the metadata and we select the file and finally we include our affiliation at the bottom. Click on execute and our data metadata is submitted to the ENA. There are four tables that are created, one for each metadata object and a submission metadata ticket or receipt that can be later used to input the metadata to other tools. Once the tool has submitted the reads and the metadata, we can go to the ENA test server to confirm that our submission was successful. I've included the link to the test server from the ENA in the description of the video. Once we log in, we can go to studies and confirm that our mock data has been successfully submitted, our mock sample has been successfully submitted and our mock experiment and run have been successfully submitted. In the second part of this training, we'll upload a larger data set to the ENA but this time we'll be using a metadata template to upload the metadata. First we're creating a new history to hold our data and metadata. You can find the metadata template at the bottom information of the ENA upload tool. You can then download the template and fill it with your own metadata. The template has four sheets, one for each of ENA's metadata objects, study, sample, experiment and run. It also has field descriptions indicating what is expected at that field and whether that field is mandatory or optional. And lastly, it has control vocabulary fields. For the sake of time, we will not fill this metadata template during the training but instead we'll upload a pre-filled template into Dallas. I'll include this link in the description of the video. You can now have a quick look at the metadata and we'll see there has one study with two samples and one experiment per sample and one run per experiment each containing a set of paired-end data. Next, we can upload these paired-end sequencing files. Again, use an FTP link that I include in the description of the video. After uploading, you can make a collection with the paired-end files and give it a name. Now that our data and metadata is ready, we can go back to the tool to submit it to the ENA. We'll leave the action to add new data and again submit to the ENA test server. We will leave the user generated metadata tables and select the Excel file with the field metadata template. We'll check yes for a viral sample and select the paired collection for our data inputs. Last thing to do is fill the affiliation center and submit to the ENA. Finally, we can go to the ENA test server to confirm that our submission was successful. And there we can see that our study was accepted. I hope you found this tutorial useful and you can use the tool to submit your data to the ENA in the future. Thank you for listening.


Hey, welcome back everyone. I'm DroneTech and if you enjoy my content I request that you go ahead and hit that like button and subscribe. Today we have a clip from a Zoom meaning panel of Democrat state Propagandists trying to normalize the idea that the press doesn't hold Democrats accountable and shouldn't. It's already pretty normal as far as I'm concerned And I'm sure that's the case with most of you But in this particular case the question that they're discussing is how current COVID restrictions at the White House may lead to quote More permanent changes in the way the White House deals with the press Basically, they're just trying to rationalize and normalize the fact that they're blatant Democrat party propagandists The reporter in question straight up admits that COVID restrictions helped to limit the press So that Biden doesn't have to worry about these tough questions that might make him look bad One for Jeff and one for Harwood here at the end. Jeff, just are you concerned about COVID restrictions that are reasonable during COVID leading to more permanent changes in the way that the White House allows us to cover them? Yeah, in addition to the sort of spacing and access issues, we also have this new issue now where the White House is making outlets pay for the cost of the COVID test So before I can ever cross the threshold of the security gate, I have to get a COVID test that costs somewhere in the $180 range NBC pays that for all the people who work for NBC, but there's some outlets who, you know, which probably couldn't smaller outlets and certainly freelancers Who would have to assume that cost on their own. So that is in its own way prohibitive But I think one of the things that people didn't get a good enough sense of, and this was certainly the case during the transition was that The COVID restrictions allowed the Biden team to really limit the reporters who were brought into those press conferences in that theater in Wilmington And then beyond that, they were able to select the folks who got to ask questions of then President-elect Biden Now that's not to say, and frankly, by doing that, the White House comms, now they're White House comms, but then the Biden comms teams, they were basically doing their job, right? They had a message that they wanted to get forward and they were trying to protect their principle They didn't know the questions that we were going to ask, but they certainly knew who we were.  They didn't know the questions that we were going to ask, but they certainly knew who we were. All of the reporters were known quantities So there was no chance that they were going to call on, you know, some local reporter from some unnamed newspaper who was going to ask Joe Biden a potentially difficult or uncomfortable question Right. Another way of saying that might be that Democrat operatives in the media prefer not to have to deal with independent reporters because they might ask questions that they would rather bury Not much else to say about this one, but I wanted to show you all this video so you could share it And just give another example of why people need to turn off their TVs I do also want to remind everybody that tonight at 9 p.m. Eastern we'll be having our weekly discord live stream chat We'll be discussing various topics and I will have a one-on-one with a liberal youtuber named liberal clock After that we'll bring in discord users who might want to chime in and we'll end the show with a battle royale We're also going to have an event on Friday night at 8 p.m. Eastern We're going to be watching the movie maniac cop and perhaps the sequels that people are interested It's a great movie with a very relevant message to the stuff that we're dealing with today I think you'll all enjoy it so make sure to join us on discord for that tomorrow night You can find the links for discord in the description or pin comment. That's all for this one. I'll see you all next time


am the Whistler. And I know many things for I walk by night. I know many strange tales hidden in the hearts of men and women who have stepped into the shadows. Yes, I know the nameless terrors of which they dare not speak. And now the Whistler's strange story. Ladies man. The mountain lodge is almost obscured by the fury of the snowstorm. And the car heading toward the lodge up the narrow winding lane finds the going precarious. But now with one last lurching crunch the driver brings the car to a stop in front of the steps leading to the lodge. Two men alike race themselves against the wind and snow and hurry up to the door.  The other, a younger man, anxiously leads the way into the house to the quiet bedroom at the back and waits while the doctor examines the figure in the bed. The room is chilled with cold and quiet, deathly quiet. After a time the doctor looks up at the younger man. Well, I'm afraid your friend is gone, Mr. Cole. Oh, no. I'm afraid so. I'm sorry. It can be, doctor. I came for you the moment I found him. Oh, if only I... There, there, there now, Mr. Cole, you mustn't blame yourself. I know, but... Your friend must have been very ill for some time before you got here. You say you came as soon as you could. You could do no more than that. Well, I might have come up here yesterday. I thought about it, but the storm, I thought it'd clear up. I had no idea he was ill.  A little cold. That's what he called it when he wrote me. Well, maybe he didn't realize it himself. People don't sometimes. Now that's peculiar. What, doctor? His blankets. Here, look at them. They're damp and cold on top. I wonder if he could... Or the windows, doctor. I told you, remember? They were all open when I arrived. The snow had blown in over everything. I brushed it off the blankets, but some of it probably melted through. Well, probably. Well, Mr. Cole, I guess there's nothing more I can do. You're probably wanting to make the arrangements in town, I suppose. Oh, yes. Yes, doctor, when I drive you back, I'll take care of all your arrangements. You're good at making arrangements, aren't you, Lance? As playwright Philip Leonard's manager, agent, and dear friend, you handled his affairs for him while he lived. It seems only right that you complete the cycle and plan his funeral. After you had deliberately hastened his death by opening the window over his bed, letting in the cold, the snow, to cover his blanket. Now the funeral service is over. You join the mourners who have come to pay their last respects. Stand with them in little groups of three and four. You're not surprised, are you, to find considerably more women than men in evidence. But even in sorrow, the widow Lydia Leonard is easily the most attractive. It isn't only the beauty in her face, but her manner and quiet dignity as she accepts the mumbled words of condolence. She even manages a soft appreciative smile for you, Lance, when you approach her. Well, Lydia, no use trying to say anything. You know how I feel. It's of course, Lance. The way you've handled everything has made it a lot easier for me. I wonder if Philip realized how much you thought of him. Oh, I'm sure he did. Look, Lydia, is there anything I can do? Get your way from all these people.  Lance, could you, would you do that? I'd like to try to stop thinking about it. Sorry, I understand, Lydia. I'll pick you up here right in about two minutes. Thank you. Oh, excuse me, please let me through. Come on, please let me through. Hello, Lance. Oh, hello, Cliff. Lance Cole. Oh, Mr. Cole, I'm Deborah Brock. I'd like to talk to you. Oh, I'm sorry, Ms. Brock. Please, I've got to drive Mrs. Leonard home. I'm sorry. I can't possibly stop now. See me some other time. Will you please? Certainly, Mr. Cole. Sorry. You were very thoughtful to do this, Lance. Sorry to have kept you waiting so long, Lydia. It was all right. I can't say I enjoyed it, but I should certainly be used to playing a part. It wasn't just another stage role for me, Lance. I did love Philip once. I loved him very much. He loved you, Lydia. I'm sure of it. Are you? Are you really, Lance? You knew him better than anyone. The real Philip, I mean, the ladies' man. Yes, I guess he did have that reputation. You, uh, you hadn't seen him for months, had you? No. No, we both knew it was over. Just hadn't gotten around to the divorce. Uh, Lydia, are you still in love with him? No, I'm not. I'm still in love with him. I have a memory, perhaps, with what he was then. Oh, easy. You know, I'm sorry I didn't go up to the lodge sooner. Even one day might have made a difference. But it was always going up there to the hideaway without telling people. Sometimes it was to right, sometimes... He hadn't written anything, had he, Lance, started a last play, anything like that. Why, uh, no, Lydia. Why, he hadn't written anything. That's what you want them all to think, isn't it, Lance? That Philip Leonard died without writing another play. Your eyes move toward the glove compartment in the car, only a few inches away from Lydia. You're thinking about the manuscript that's locked in there, aren't you? The only draft of Philip's last work. Because he did do some writing, a final play about his own life, about his life and loves. Especially his love for Lydia. Even when you reach Lydia's apartment, your mind is still there. Lance. Oh. You're not listening to me. You haven't heard a word I said. Sorry. I was thinking about something. It's an idea I've had since... well, since Philip... Oh? It's about a play, Lydia. A play Philip often spoke doing, but he never got around to it. You mean the play about his life? Yes, he often spoke to me about it. You know, I used to be a writer, Lydia. I was just wondering... Well, perhaps I could write it. Oh, Lance, how wonderful. Of course you could. You knew Philip as well as... as well as you know yourself. You knew both of us, all of us. Even only the others in his life. It could be an exciting play, Lance. You really think I could do it? I'm sure you could. I'd help. I'd love to. And Philip's producer would have to write it. And Philip's producer would have some idea. Oh, Lance, you simply must. Well, if I could just make it come off. You know, there'd be only one actress who could play Lydia Leonard. Oh, Lydia, would you? I'd want to, Lance. Very much. You will try, won't you? Oh, yes, Lydia. Yes, I'll try. It'll be good, Lance. I'm sure it will be. You know, somehow I won't be surprised if... if you're right. It's exciting, isn't it, Lance? The way everything worked out. From the time you found Philip Leonard alone in his cabin hideaway dying, did nothing to help him actually hastened his death. You wanted him out of the way, didn't you? Because of the play he'd written and because of Lydia, the way you felt about her. Now, with Philip's last manuscript in your hand, you've been actually urged by his widow into doing exactly what you'd planned to do. And the greatest opportunity of your life. It's perfect, isn't it, Lance? Perfect. And in the next few days, you remain away from your office, locked in your apartment, seemingly hard at work on the new play based on the life and love of Philip Leonard. Hello? Oh, all right, Winnie. Ah, that's good. You'll see you whenever you're ready to show him something. Well, you can call him back right away. Tell him I'll be in tomorrow at 10. And you can say that I have a draft of the opening scene already. Yes, sir. He's Deborah... Deborah Brock was in again. Deborah Brock? She's an actress. Oh, I remember now, yes. They'd talk any place to get a part. Well, tell her I'm not taking on any new clients now. I'm much too busy. Yes, sir. And you can hold everything else until tomorrow, Winnie. I'll come to the office after I see Cliff Davis. Very good. It's working perfectly, isn't it, Lance? Lydia talking to Cliff Davis, getting him ready. You know, of course, that he'll be dubious about the whole plan, that he'll doubt your ability. But the next morning, after he's read the scene, you handed him the look on his face. It's the answer you've been waiting for. Lance, it's... Well, it's unbelievable. Well, I take it then you like it. Like it? I love it, every word of it. But I mean you, Lance, that you can write like this. It's Philip at his best. Better than his best. I'm flattered. Now, for instance, these lines to Lydia, just before seeing Curtin, the plant grows and the flower blooms, radiant and glory, but never so radiant to me in love with you. You've got it, Lance. The thing they all strive for, heart, the gentle, sure touch. Well, there's more Cliff. I mean, I've got it all mapped out. There's more to come and I think it's even better. Keep it up, Lance. It's fine, perfect. Now go on, get back to work. I'm going to call Lydia and tell her what I think. Good. Then if it works out, I mean if I can keep it up, will you produce it? Produce it.  It's wonderful. Wonderful is the word, isn't it, Lance? You feel like a man lost in the clouds as you drive across town from Cliff's office to your own. His praise still alive in your mind as you hurry in to be greeted by your secretary and someone else. Mr. Cole, this young lady... Oh, I'm sorry, Winnie. I can't talk to anyone today. I'm an actress, Mr. Cole. An actress. Oh, not that. No, no, no, Mr. Cole. This isn't Deborah Brock. This is McCrae. A neat one, McCrae. However, Miss Brock did call again several times. Well, look, Winnie, when she calls again, just tell Miss Brock I have nothing to do with casting. Tell her I said to see Cliff Davis. Now, Miss McCrae, I'm terribly busy and if you don't mind... And the plant grows and the flower blooms. Radiant in glory, but never so radiant to me. But never so radiant to me in love with you. Shall we talk, Mr. Cole? Well, Anne, something's wrong, isn't it? Something's very wrong. This girl, a stranger to you, a young actress, pretty, self-assured, quoting lines from the dead Philip Leonard's play about his life.  Inside your office, with the door tightly closed made him a great hell's all. Exactly how it happened.  And you were up there at Philip's hideaway, the Lodge. Weeks before he died. Yes. Poor Philip. He wasn't well even then, but I never dreamed that he'd neglect himself and contract an ammonia. Oh, yes, yes, a tragic, tragic. So careless of him. What it said in the papers, I mean. How he left the windows open. Alone up there. Snowing. Yes, now about the play, Mrs. McCraig. Oh, yes. Well, I'm just, just curious you understand. I mean with the papers talking about your new play. Saying Philip, that is, Mr. Leonard, hadn't written anything recently. It, uh, it puzzled me. Oh, I see. You can understand. I read parts of it for Philip, Mr. Leonard. And he'd mentioned giving me a part. Oh, excuse me. Yes? Mr. Cole, I turn the point. Oh, yes, yes, Winnie. Thanks, thanks. Well, you seem rather busy, Mr. Cole. Oh, no, no, no, please don't go, Mrs. McCraig. Uh, Anita. We have things to talk about. Oh. Oh, yes. I believe you deserve an explanation. An explanation, Land. Yes? Somehow you've got to clear up things for Miss McCraig. Make her understand about the play without letting her know you had anything to do with Philip's death. But somehow you sense she isn't going to be easy to handle. And when you've told her your story... Very well, Mr. Cole. Once. It will be our secret. We'll share it. Just the two of us. However, there's one condition. What's that? Philip promised me the lead, you know. After I'd read the part for him, he insisted I play. The parts already been cast, all the arrangements have been made. Mrs. Leonard is doing it for us. After all, she'll be playing herself. Oh, that's too bad. Well, you'll have to change those plans. I'm going to play the lead, Land. Or, uh, well... Or what? Or I'll expose you. Oh, now wait a minute. I'll give you a few days to think it over, Land. I'm sure somehow you will be able to explain everything to Mrs. Leonard. Well, Lance, just when things were going smoothly and Eater McCrae threatens to ruin everything for you, there is a way out, but you dread the thought of asking Lydia to step out of the play. However, you finally decide to drop around to her apartment. Quickly, you tell her what's on your mind. You're joking, Land. No, no, I'm not Lydia. Now, don't you see that? No, I don't see why it's ridiculous. Why should I give up the part? Why?  Now, believe me, I've thought it over very carefully. You must be out of your mind. I won't do it. I just couldn't give up the lead. I couldn't. I owe it to Phyllis. Lydia, I... I'm sorry, Lance. I made up my mind. Of course, it's your play. You can do as you wish. Yes, that's right. It is my play, Lydia. However, let me warn you, Lance. If I don't have the lead, you won't have a play. I'll stop it. I can, you know. After all, I'm Philip's widow. It's no use, Lance. You plead, threaten, finally realize there isn't anything you can say to make Lydia change her mind. Back in the street, you step into your car, drive around for hours, thinking about it, wondering now what you'll tell Anita McCrae. You've got to find a way to prevent her from exposing you as a fraud, Lance. Yes, you've got to find a way. And then suddenly a thought occurs to you. You telephone Anita, ask her to meet you right away. Then you hurry back to your apartment to wait for her. Well, come in, Anita. Come in. Hello, Lance. Sit down. Thank you. Well, you've reached a decision, Lance. Yes. How did dear Lydia take it? Oh, not too well. If she's made up her mind, she can be quite difficult. Oh, I can be difficult, too. I'm rather stubborn. She won't give up the pie. That is too bad. What about me, Lance? You'll be taken care of, Anita. After all the place bound to be a hit, it'll make a lot of money, a lot of money. Ha, ha, ha. You intend to pay me off, is that it? Well, you have a nice income on a royalty basis. Oh, how nice. And, uh, in the meantime, what happens to my career? Is that so important? Very important.  Oh, no, wait a minute. You gave me your answer. I see no reason for staying. What are you going to do? I'm going to cliff David and Mrs. Leonard. I'm going to expose you. All right. All right. So you'll expose me. What then? Oh, it isn't just the play, Lance. You see, I can tell them what went on at the cabin the day Philip died. You? I can tell them who opened the windows to let the wind and snow blow on him. I can tell them who waited until he was dead before he went for the doctor. Look, Anita. You're responsible, Philip's deaf, and you know it. You stole the play he wrote, too. And when I tell them how he died, you... You're not going to tell anyone. I... No. No, wait. No, Anita, I can't wait. Ever! A sudden decision wasn't it, Lance? And now Anita is dead. As you stand there, staring down at the still body at your feet, as the terror of the moment leaves you, you tell yourself there was no other way.  You replace the heavy bronze bookend on the table, light a cigarette with trembling hands, begin to paste the floor of your apartment. You've got to think now. Find a way to dispose of the body, and you've got to be very careful. There can't be any slip-up, Lance. Finally, you know exactly what you're going to do. The service elevator. Yes, you'll wait till it's dark, then take the body down to the basement garage when it will be deserted. Then you'll drive out of town, bury Anita's body somewhere in the hill, and she'll never be heard of again. Oh, yes, yes. What is it, Winnie? Mr. Davis called this afternoon after you left. He wanted to talk to you right away. I thought you'd want to call him. Oh, all right, Winnie. All right, all right. Wrong? Why no, no, of course not. Why? Well, it's about the play, I suppose. Yes, yes, I have been a little upset. But everything's all right now, Winnie. Yes, everything's going to work out fine. Just fine. Lance, you're confident now that everything is going to work out perfectly. Anita McCrae is dead, and her story of how Philip Leonard died, died with her.  You hurry into the bedroom, search the closet for your old topcoat. You wrap it around Anita, place the body on the Davenport, and then... Frantically, you look for a place to hide Anita's body. Quickly, you place it behind your desk where it will be safe until you dismiss whoever is at the door. Coming. Hello, Lance. Cliff. Mind if we come in? Well, no, wait a minute. I'd like you to meet someone, Lance. This is Miss Brock. Deborah Brock. How do you do, Mr. Cole? Brock. Oh, you're... You should have talked with Miss Brock yesterday yourself, Lance, instead of sending her to see me. She's made some serious accusations. What do you mean? The play, Lance. Miss Brock says Philip wrote it. Philip? That's not true. It is, Miss Cole. I know. Philip finished it almost two months ago. I... I've read it for him up at the Lodge. You? But I thought... Oh, he promised me the leaves. Couldn't he promise the two? No, no, no. You're all wrong. No use, Lance. That scene you gave me the other day, the one you said you'd just written... Miss Brock hasn't seen it, yet you can quote it. Word for word. All right, all right. So I stole the play. There's nothing you can do about it. Nothing except expose you. Now, I'd like the original manuscript, if you please. I'll... I'll send it to you. I want it now, Lance. Lydia will be happy to know that Philip wrote those lines about her, not you. Over here in your desk? No, don't go over there. Mr. Davis, what is it? What's the matter? You'd better call the police, Miss Brock. No, no, don't come over here. Just call them. There's something wrapped in a top coat here behind the desk. I think the police will be interested in seeing it. Operator, get me the police. Quick, please. Who was she, Lance? Anita McCray. Did Philip promise Anita the lead, too? You should have known there would be more than one. Philip was always, uh, a lady's man. Whistler, whose strange story you have just heard, will be back next week with another tale from his never-ending vile. This is the United States Armed Forces Radio Service, the voice of information and education.