 So what's next in the agenda? Next in the agenda is actually application for life and death science. So I guess it's a nice continuation of the Memkens. So we are on this for the four years. As they say, I have some pretty big shoes to fit after the Memkens presentation. So thank you again for this. There are a few slides, but most of them are in the reference section. So I think I'm gonna probably go pretty quickly through this. So let me share my screen here with you and we'll post this later as well. So we're gonna hear a little bit about a different application of Jenkins. I also spoke of this earlier in the user feedback session. By way of introduction, I'm a life science research scientist and software engineer. I have been an open source advocate and contributed for many years. I have taught graduate classes in group reprogramming, occasionally doing some blogging in these days, a lot of gardening in the backyard. Just to frame things, in 2017, we published actually an article in the scientific literature with the opening title of Jenkins CI. And most likely people that were reading these had no idea what Jenkins CI was, but we continue with an open source, continues integration system as a scientific data and image processing platform. And I think this is a kind of a use of Jenkins. The reason for this is that if you look at the basic cycle of software publishing steps, they very closely resemble those of typical scientific data, processing and analysis. And Jenkins has essentially all of the tooling that's required to be able to do the same kind of steps in analytical and life science space. So the key enablers for this is, at least from my point of view, the accessibility that Jenkins provides to these tools through its web portal. We use primarily the freestyle parameterized jobs. It's a rather easy deployment. Of course, there's a super rich plugin ecosystem, groovy scripting. It's really cool and powerful for blowing things together in a heterogeneous environment. And I don't want to read the entire list, but there is certainly great OS community support. And that was key for me because this was my first sort of entry into the open source community. And I found it very welcoming and very supporting both with the Jenkins community as well as with the Bio Uno community which was lining very well with the goals I was trying to achieve. So within this context, Jenkins provides some really significant benefits for life science data management, processing and control as well as for data science for all kinds of data analysis. And the environment in the life sciences laboratory is quite complex and it is actually a big data science lab these days where the labs generate huge amounts of data and they need to be transformed, parsed and then analyzed. So there's a huge number of utilities, applications, custom scripts and instrument specific software that you need to sort of bring together to work towards this final goal. So as an integration platform, Jenkins is very, very successful and you can create this one page web applications really cheaply. Reproducibility and data provenance are key in the life sciences and research space in general and Jenkins offers both of those. And data management as well as sharing and collaboration become really powerful within the context of Jenkins. So all of these things are things that we propose in the paper we published and actually there's two manuscripts now about Jenkins in the scientific literature. You're gonna find the second one in the section for the references. So I don't think we went through the whole cycle. I don't know why we jumped to slide seven. So we did this. So here is the original application that we had published about Jenkins and that was high performance image processing. We have many automated microscopes that are used in the discovery of new drugs that they take thousands and thousands of images that need to be processed and analyzed. So for the first time, lab scientists were able to use some of the Jenkins workflows that were built to get access to the high performance clusters that we had process these images and be able to analyze them themselves. While in the past, it would take weeks and weeks for people to wait for some software engineer to cue their images on the cluster and run the image analysis software to do. So right now we provide them with a very simple dashboard where they can go and do a bunch of analysis and management tasks on the cluster through Jenkins. Another application is for data management and Jenkins is really, really cool and powerful doing that. A lot of the data that's produced in the lab comes as delimited data that is very amenable to SQL querying and transformational and all that stuff. And basically we have many jobs that deal with this kind of data. And I will show you an example, but basically these jobs also use an embedded H2 Java database that sort of higher apps on demand does the analysis and then dies as the build finishes. So they can use essentially Jenkins as a IDE to do SQL queries. And then the results from these queries are saved and managed in Jenkins. Similarly, we have a lot of need for image and data annotation and review. And I will show you a couple of examples where we have integrated some of the build forms with JavaScript high resolution viewers that allow us to view images, but also as well integrate a lot of interactive views, reports, and analysis into Jenkins. One of the key aspects of using Jenkins for life sciences and data science is the interactivity of the user interface with the data responding to changes in selections that the user is making and so on. And I know that this is not of a huge interest to the Jenkins community and it was totally lacking back in 2013 when I came in contact with the Bayono organization. And I described what I needed. And at that point, my colleague Bruno Kinoshita who's in New Zealand now built this really cool Jenkins Active Choices plugin. Originally it was distributed through Bayono now. It's from the Jenkins repository with over 24,000 installs. And it provides really cool dynamic and cascading build parameters that use groovy scripts. And they also can return dynamic HTML. So we can enrich the build forms with HTML. So I'm gonna show you an example of what you can do with the Active Choices. Here we're using the script plug in groovy, the H2 embedded, RID, BMS and JavaScript. So we're essentially a query for data in the H2 database by selecting the certain values that we want to search for in the data. And here we have sort of the two query plan terms and you can eat them and reset them and change them as you wish by, and all of this is in the Jenkins build form. Okay. So this was one example. And here's a little bit, there we go. A little bit more visually pleasing. This is using an interactive viewer based on the OpenC Dragon JavaScript. This is called a deep zoom viewer and is used specifically for scientific images. This particular form integrates a script blur groovy and images that are coming in from a so-called cantaloupe triple F image server where it's very powerful, allows you to zoom and the images. And as you will see in a second, it allows us also to overlay images because that's important. We have multi-channel images that need to be overlaid so we can see the same cell in two different channels. So you can see the nuclei of the cells are blue. The cytoplasm is green. So all of that interaction happens in the Jenkins interface. For the job, we can adjust the opacity and everything else and do all those cool things. Basically using a couple Jenkins plugins. So that's it. I just wanna thank a bunch of people here, both from my work. Interestingly enough, as I said, my boss is called Jeremy Jenkins and actually he has accepted the Jenkins icon. He uses quite a bit in his sort of way he needs to put his picture sometimes. And of course, the community here and Bion organization. And last summer, we've noticed really cool machine learning plugin for Jenkins. I've met many of you then again. And at the end, I have put a number of references that when I post a slide, you can just go through them and see a few more cool things that we can do with Jenkins for data science. So I'll be happy to have any questions or any other things to discuss. So how are you doing the graph rendering? Those graphs are amazing. Are those JGraph? What's at the core of that? So there's a number of things that we're using. There's also a Bio Uno R plugin. What I'm showing you right now actually is a bunch of PNGs that were generated out of the R statistical language. Got it. However, the things that we're showing you earlier, the dynamic images of the cells and so on, those are based on these deep zoom JavaScript viewer called Open C Dragon. I have some references to it. So we incorporate the JavaScript viewer and then the data is queried and prepared by the Jenkins queries and everything else to come in and show it there. So we use the full strength of JavaScript or the Python and R, whatever is generating graphics. And this particular plugin that I'm showing you here is called the Summary Plugin, which creates tab tables in, I mean, tabular forms in the report stage of Jenkins. So you can get this kind of view. Yeah, despite we like a standard software developing team, I can see the use case of such advanced parameterized Jenkins builds because usually we have some validation cycles like nightly, weekly cycle, but sometimes developers want to run something custom against their PRs to make sure everything is okay in the scope which we can't execute during pre-commit builds. And we always got complaints that our jobs are not so, parameter of our jobs aren't so intuitive. So I think with these plugins we can maybe create some more intuitive interface, maybe we'll achieve some parameters dynamically. But does this, can we use this in Jenkins pipeline or is it only in freestyle jobs? So originally when we developed this, and this was, you know, a lot of questions about whether you can use this in Jenkins pipelines, we said you cannot because the sensing or manipulating the Java, the UI form elements trying to discover what these parameters were sending back. But more recent releases of the active choice plugin do support now pipeline jobs. So you might take a look at that, because it's moving in that direction. And I think also recently when Jenkins moved from the, or was it the table forms to the divs, we have also adopted these to work with this in work. So we're moving with the evolution of Jenkins. But as I said earlier, you know, we're also worried a little bit about what we're doing here because a lot of the interactivity is because of inline JavaScript, it's because of Ruby execution within the delt form. And we know that these things almost kind of cause security issues and concerns. Okay, thank you. Welcome, Andrew. Okay, thank you. So we have a few more.