Hi I'm Jessica and I was fighting a lot of harmonial and health issues due to my obesity. I underwent ESG and the reason I had to undergo that was because I had multiple health issues. Trying to do diet and exercise I was not been able to lose weight because of harmonial changes, severe harmonial changes after unumerable tries of doing everything possible. I met Dr Mohit Shetty at Manipal centre and he suggested I should look into something which is the which is called the ESG. Mrs Jessica is a middle-aged lady who was battling with weight issues for several years. She tried various means of losing weight but was quite unsuccessful. She was evaluated in our multi-disciplinary clinic at the Manipal Hospital and we found that her BMI did fit into for a new unique procedure called endoscopic sleeve gastroplasty. She did not want surgery and in any case she did not fit into the guidelines for surgery. The endoscopic sleeve gastroplasty was decided upon in a multi-disciplinary setup and then we proceeded to explain the patient and she accepted that procedure. The endoscopic sleeve gastroplasty or the ESG procedure is a completely endoscopic, minimally invasive procedure which is a new introduction in Manipal Hospital Bangalore and whole of Karnataka. The Manipal Hospital was the first to perform this procedure. In this unique procedure a device such as this which is called an endoscope is introduced into the patient through his mouth into the stomach. On the tip of the device is a special equipment for suturing called the overstitch device and we control the functions from up here. This device causes restrictions of the stomach by reducing into volume by about 70% by putting sutures at strategic points. The stomach volume is reduced so much so that the patient eats less and the gastric emptying is slowed down. Gradually the patient loses anywhere between 15 to 20% of his body weight in a period of six months to 12 months which is roughly about 20 to 25 kilos of his body. This procedure has gained a lot of traction because it is minimally invasive and there are no scars or cuts. It gave me a ray of hope that I could be able to lose weight after all all my different tries. We have a very safe procedure now right here in our hospital Manipal center which I think can really really change lives so I would like to thank Dr. Mohit Shetty and Manipal for introducing me to this procedure which was so much more safer than any other doctors I had spoken to before. If somebody is battling with weight loss and is a BMI of 30 to 40 and has tried various means of losing weight and is not a surgical candidate or if he's a surgical candidate and does not want surgery or is not fit for surgery endoscopic sleeve gastroplasty is a wonderful new option which can be tried.


Look at all these people. Holy moly. Holy moly. Look at this. Look at this. Fantastic Raft gang rise up. Oh, we have Raft gang joining. We have Aquila gang We have Marley bone gang and now we have Raft gang Go and join Raft gang if anybody wants to join Raft gang do it you won't here we go Let's do this. What a way to start we now have a Target so let's start smashing some ships and turrets here We go usually we start off with just a few turrets Eventually escalating to even more and more and more. Oh, we have a mooshu turret coming up. That's cool Mooshu turret here. We go It's a slow fortress lovely lovely lovely lovely lovely lovely Let's make quick work of this Already half-health uh-oh Uh-oh is it gonna do it we can do it chat we can do it we can do it If we all work together, we can make it make it Destroyed we can defeat it here. We go look at that five script 373 gold not too bad I think they just float about a bit once they've finished once they defeat it I think they just um float about times. Oh, there's one over here charge everybody. They're behind us They're using sneak attack abilities. They're sneak attacking Come on. Let's get this man. Get this get this fortress down. I don't know where I think there's some more stuff going on over there But we're gonna get this ship. We're gonna get this fortress. Gotta get this fortress Gotta get it. Gotta get it. That's the only way out Yeah, we did it nice work chat. Nice work. We did it. We did it. Good job everybody. Is there more but wait Is there more scrolling around look at all these people. This is fantastic. This is great Look at all these people. You know what? We're gonna take a screenshot a lovely screenshot of just everybody just everybody Sometimes I really wish there was photo mancee and pirate that would be so cool That would be so cool. Just saying so cool because I'm what is this? Oh, who are we? Who are we even fighting here? I don't even know that was not what I meant to do Oh an unsinkable ship. Oh, this is fun blue mermaid. Here we go Right, right, right. I'm I have to turn off chat bubbles. So me because it does add a bit too much sometimes Do we have to I think we have to bought because it's unsinkable. I think someone has to go and take the boarding option. I Think we might have to board Yeah, we can join combat. I'm joining combat. Hopefully maybe I don't think so maybe not People might already there might already be too many people because I assume you can only oh no We're joining we're joining Everybody drink home have the biggest fight in pirate 101 history because we haven't done enough of this This is so laggy. Holy moly. Holy moly. The lag here is real Thank you, Charlie. I appreciate it. I appreciate it Right, let's see what we can do here. Let's see what we can do Right, I haven't fought on this guy for so long. It's been forever. I know these guys are bad It's hard when you know, they're bad, but you can't see anything because it's not loading right mojo flow What do I normally do? We're gonna do that on on me. I guess done. Sure. Why not sounds good. Let's do some weapon power. Yeah weapon power sounds good We've been power sounds very good. I broke the game. No, it's just my computer being a bit slow. It's fine It's fine. We understand. Oh no quick Blaze left. He left. There must be something more interesting to do Who would have thought? There we go finally whoo oki doki. I don't know what I missed yet. Oh my gosh So many people. Holy moly. Holy moly. So many people.  No, it's not it's an assault station an armada assault station Like I said, if you want to join completely free to play So yeah, you can join we're just gonna turn off this chat here. You can see it on the other side, but hey Oh my gosh guys, I think we need to be a bit a bit a bit more sensitive. Oh home of the ice Lords What is this? 3.5 50 percent. That's actually better because it does more damage. Is that here? I can't remember. Oh look We have another unsinkable.  I must be I must be I must be fighting it Um, yeah These unsinkable boys you have to board in order to sink because they're unsinkable somehow Yeah So when it gets to yellow you can't really do much more so people will have to board it I'm not going to this time. There is another one over here as well by the way So if you wanted another one We got you we got you I said that these were a decent challenge because they are quite a challenge here They have quite a significant amount of health. I am losing my voice. That's great start as well Oh, there's a scout over here Let's just take the scout down by myself because I can because I can prove my worth prove my worth if anybody wants to help fight This scout you can by the way Get some water I have some I Have some I have some don't worry. Oh, they're healing. This is not good. This is not good at all not good at all Not good at all right Let us Get this boom What a what an easy fight that was geez nice work chat nice work.  I need it quickly. I need to quickly um drink Can I spell please that'd be great I'm gonna start that again should we all fight each other in PVP Right now. I can't I think we have to go through Skull Island Your level on which talk to this everybody else right. This is shit PVP guys So there's the safe area here, and then it's basically a copy paste of I can't remember this is open combat And then all the way over the other end which we're gonna quickly speed through before too many people get here is A lovely another safe area There's ships in the middle as well apparently level 70. That's great All the way over here is somewhere should be another safe area behind these things So yeah, if you want to join come and fight us and ship PVP. I'm gonna quickly put out a tweet Who's ready are we ready? Are we ready open combat? Let's go. Let's let's start destroying some people Let's do this Let's do this Let's oh no. Oh no fearsome robiducky and everybody is fighting me. Whatever shall I do? Okay, right, right? Quick I'm stuck on a wall.  Oh, no Oh That was way too quick there way too quick everybody just I got stuck in a wall It wasn't it was not fear at all was not fear zero out of ten Right, I'm good. I'm just gonna wait a sec. I'm gonna wait a sec This is the strategic waiting game chat. Don't worry kind of know what I'm doing If we're in a skyline are we tug-of-all?  I'm dead. I'm absolutely screwed. No so close We're just gonna quickly try and speed our way through and hope no one can find us Maybe they will I don't know But yeah, if you want So yeah, that's basically a thank you to me From me to all of you for your support and for the pirate community for being awesome, right? I made it to the other end. Look at me. Go look at me. Go chat. I'm so good. I'm so good. Oh He's fighting me.  I get I get absolutely teamed. This is not fair This is not fair. This is really not fair. I'm dead. Okay. That was quick. That was quick Right make a barricade. Oh, no. Oh, no, this is not good. This is not good zero out of ten Right, I'm gonna fight this this man's I'm in safe combat. I'm in safe combat. I'm protected for now Okay, I'm good. Just gonna fight. I'm gonna fight. I don't know who I'm fighting, but I'm fighting I'm fighting. I'm fighting. I'm in the thick of things.  I'm dead Putting to chat. I do not I just want to make it very clear. I do not work for Kings Isle They message me the community manager message me and say hey, do you want to help?  Who is this? Who is this man on the better cooter?  Get off your mount Get off your mount get off your mounts But yeah, they message me asking if I wanted to I'm gonna zoom out a bit and see if that's a bit better That's a bit better. That's a bit better. That's a bit of you if I wanted to help and I said yes So here I am streaming there will be a video There will be a video coming on my main channel on Tuesday my time so Monday morning Actually Monday afternoon for most of you American people So yeah, right, are we ready? Are we ready chat? This is gonna be the biggest family photo you've ever seen But we need to get some good ones. We need to get some good ones. Maybe I Kind of want everybody off their mounts because that would be cool just so more people can be seen


Hmm. That's interesting. Martin asked me. Very good. Okay. Don't need to see my video though, do you? We do, maybe. Oh, you're welcome to. I'll show you. The more important thing is I'll show you my screen. That will actually be helpful. Watching my face is very lovely, but not actually that helpful. True. Yeah, how are you? I am fine. How are you? Yeah, I'm doing good. Thank you. Excellent. Well, thank you very much for asking the question that's the one that prompted this. It's really, really exceptional. I love you're asking. So, since we had planned it just exploration, how about I start the recording and let's, oops, oops, please ask. Oh, I have to drop off to join as a different user. Sorry, I will be back shortly when because I obviously joined as someone who is not the host so who joined that can start recording. Oh, that's interesting. Yeah. Okay, well, so it appears that now it has allowed me to start recording, and we've got the recording started. So I'm going to stop it. No, I'm not even going to stop it. It's going to the cloud like it should. Perfect. We're set. Yeah. Alright, so our, our question, the question that started this was, I think it was how do we do. Hello. Okay, and I'm going to turn off my video now. All right, so. Yeah, yeah, I was asking, like, how do we access. Let me let's bring up the question and we'll actually put it on the screen share so that so that we've got it and we can look at it and then we'll talk about it and we'll just explore it together. And so let's see. Yes, here we go. Okay. So I have it ready and I'm going to bring it on screen and turn on my screen sharing and then we'll talk about different ways to address it. Sharing my screen now. Okay, so what you should see is my slack channel with a picture of the question that on you asked what she was asking was looking at this list of choices that are presented from the Jenkins dot IO documentation page for the build step. I'm going to show it from the live web page now so I'm going to open this page right here. Put that thing out of the way. And now if we go to Jenkins here. And if we go to documentation pipeline, and then pipeline steps reference. And here if we look for build step. Oh, there it is. I couldn't just use that great. This is the page that she was showing and let's make it large enough so that we can read it. And what she she correctly noted was, Hey, what are where are all of these things documented, because they are in fact not inside the build plug in itself. Right there if you look for agent parameter you probably won't find it in the build plug in at all or even better I guarantee you won't find CVS tags param value inside the build at the build plug in. So, yep, that's correct it's not there. So, then the question is, how do we find the place where we would put the documentation for these things and looking at this very long list how do we choose which ones we should work on first. Because there are lots of them, and which are the ones that are most valuable to people. So we do those first. First let's try the how do we decide which are most valuable by looking inside a Jenkins installation now I'm going to use my Jenkins installation, because it's the one that's very familiar to me so this is my Jenkins installation. And now here. Remember that the size of the choices in the build a job list that's quite large. But if we look inside my Jenkins installation or you were to look inside yours. And you go to the pipeline syntax page. So pipeline dash syntax. And here the steps reference. And you watch this page spinning and spinning and what it's doing is it's actually constructing the page based on exactly the plugins that I have installed on my Jenkins installation. So remember this large list. Now if I look for build. Here is the build step right here finding it here it is. The build step on my Jenkins installation, and all that it has inside of it are contributors from things that are inside my Jenkins installation. So that means, and now it's probably best. And then the end on you, and a. Any questions so far, because I will keep talking like this to bore you to death if we don't if we're not careful. I do have particular questions already. No question. Okay, all right great okay super so then. So I'm in and I will post a link to this recording if you have to go back and either because I said something poorly and you have to look at it again or you want to do research on this will be available from YouTube so that you can look at it later if you need to. So, here is the list that was available there. Notice it says a list of parameters and if I look a list of parameter okay that's the version in my online in my running Jenkins, but look how many fewer things there are in my running Jenkins as as objects that could be documented here, only Boolean param credentials. File get parameter. And then Jira and now now these get interesting dollar sign class Jira issue Jira version label parameter value node parameter value, a password. A class here, and then run and string and text. Okay, so on my J and I suspect if you do the same thing on yours, you probably won't see this one. And you probably won't see this one, or this one, or this one because those are likely from plugins that I've installed that you probably didn't choose to install. But, but your list will be somewhat different than mine. But it's already me a first prioritization. Ah, clearly the things that were interesting to me are only in this list, not in the huge long list. There's a good hint of first prioritization. How about now let's see if we can find what it is that contributes, let's say Boolean parameters. Oh, yes, go ahead. Yeah, I wanted to ask, what was different between these parameters. Without class, the last class and the ones with this class. That's a question very, very good and so let's, let's do a little more exploring on this Jenkins instance to ask and try to answer that question. So I'm going to duplicate this tab, so that we remember it. And now I'm going to go someplace different. Inside my Jenkins installation. So I'm going to go to the snippet generator, and I'm going to click build and let's see how the different things behave. Okay, so so it was Boolean param. Now, what this says is okay it's got a project to build. And I like to get rid of yellow text like that therefore I want to give it something how about. Find a good choice of things to give it I'm going to give it tools get tools as my job that I want to build so I'm just going to grab that and I'm going to put that right here. Okay, so I'm just trying to do what a user would do and answer that quiet period I like a prime number for that. Oh, but now it warns me this job is not parameterized. Okay, look at that there's the first hint okay I chose a job that has no parameters. So that isn't very helpful let's pick a better job. How about let's find one that takes parameters like. What's a good choice of one that takes parameters how about. I've got a job defined in here that takes parameters like does this one take parameters yes it does okay so this is one that takes parameters. So, I'm going to use that instead, go back to the snippet generator and again all I'm doing is using the snippet generator the way user would use it. Now it says, ah, okay. It just offered me parameters. And here's this thing called test, and it is which test which test class I want to execute it's a it's a choice parameter. If I click that it says parameters string, etc, and notice that there is no, I don't see any online help for this test parameter. And there's this string thing, which I suspect I will find here as string. Okay, so I think that's what we see there let's let's keep exploring. So, here, there are parameters, this is the parameters thing and, and these are the things that this is the parameters. Step argument. And string this represents this that step parameter. Now what if instead I wanted a to see another kind of parameter, I could create a job definition. So I'm going to create a job definition that takes has parameters. And here I'm going to define a freestyle project that takes that is parameterized you let's see where there is this project is parameterized, and I'm going to have it take a Boolean parameter. A Boolean question so far sorry I'm still. Tell me if I'm happy to answer your questions if there's anything that will help you as we go along don't be shy. Okay, and I'm going to give this one so I just gave this job a Boolean parameter. And now I'm going to go back to the snippet generator and do slash that. As you can see it has my a Boolean parameter here. And when I generate the pipeline script, it will show Boolean param. So now back on unit, I believe it's you or since I'm not sure which one of the two of you asked what's the difference between this Boolean param without a dollar sign class. There's other thing here that has the dollar sign class associated with it. And so the, the difference is this Boolean param was provided by the build plugin I believe, and has a symbol for it. So this is the at symbol annotation inside the source code that says this should be a, a parameter now let's let's go see if I'm right by looking at the source code of the build step. So, here we go new tab to the right and Jenkins GitHub, and what we wanted to see let's see the build step. Where is that she code Africa. There it is. Okay, looking at this document somewhere in here there is a pivot table. There it is. This table has inside of it, a bunch of convenient hyperlinks to the most, most interesting plugins for us and the first one I wanted was this one right here the build step. Here we are the build step documentation page plugins and now there's the GitHub repository here for the build step. So, now, back to my question was how do I find Boolean param. Where is it. And my first thought was okay let's look inside this repository using a GitHub search up there at the top and let's see if we can find it there. Let's see if we can look inside of the Jenkins, not this plugin. I'm sorry and say that again Kristen inside. You might need to look inside of the Jenkins repository not inside of pipeline build step. Oh, oh, interesting so you think this is provided by core. Yeah. So, so I would do a search inside of Jenkins, not inside of the pipeline build step just inside of the Jenkins CI. Yeah, look, look at the at the, at the up at the top. Level there. Yeah, I think that's where you're going to because there's a couple of different parameters in that table and that's why they're not all showing up but I'm pretty sure Boolean param comes from somewhere else. Good, good insight. Okay, so that's not part of the build step plugin. Right. Cool. Thank you. Okay, so let's see what we can find. And here. We've got I'm looking at that number. It seems like it's got to be one of the code items. Yeah, you might be able to filter by Java. Oh, there. So here's some groovy. There is a. These are just examples of actually using Boolean param. And it's looking very popular. Maybe like on the languages. Okay, let's see. So, and how, how do I filter by Java use go down to the languages section.  Oh, there it is. Click there. It's nice to have an expert with us. Thank you very much, Kristen. Okay, so this gives me a symbol lookup test tests Boolean parameter. Oh, oh, here it is in Jenkins core. You were right. Okay, right. I think Boolean param is pretty like it's like a mobile thing. So it's like, it might be in core. Absolutely central, right? Very good. Okay, so if, if I look at, okay, so if I look here at Boolean. So my looking was, okay, this file is a plugin, but it's just got an assertion. This one is just a usage new something something, but this one with that at symbol. That is the definition of a Boolean param symbol for for pipeline. Right so that this at symbol annotation in Java is the magic thing. Did I get that correct Kristen. Yeah, and that's why it doesn't have class. It has the symbol annotation. Excellent. That is going to be on a parameter descriptor. And I think that's how we're going to be able to fill in some of the help. And doesn't this then highlight to us that. Okay, in order to add documentation for Boolean param. So you've got to add something in this case right to Jenkins core right because it needs to be on where is it needs to be findable from here. Okay, all right. So, so back to back to the question it was, how do what how do I find the place to add documentation for Boolean param that would be visible in in OPS where was my document in my syntax reference here. And it seems like the answer in this case is I would have to add this to Jenkins core is that does that seem correct, Kristen. And therefore the symbol is defined and therefore the help would have to be right in Jenkins core. Right. Because we pull the help files from where it's really just like how it's all related together. So this would have to be a pull request to core to add the help. So, so that now we could show how to do that pull request, we could experiment with trying to confirm that my theory that the hypothesis we're talking about is correct. Yeah, Cynthia. Are any of, is there one of those particular that's more interesting to you or another. So could you repeat that again. So, so what I was thinking is, we've now located Boolean param in at its definition. So this now tells us where in the Java source code it's defined. Now the challenge is we need to add help text for that source code, and then build it and experiment with it and we could, we could do that as part of this of this session if that would help. Yes, yes, that was fine. Okay, so then don't be. So then what what we need to do here is we fork this repository and it turns out I've already got a fork of this repository. And in this in my fork of the repository. And it also happens that I have a fork locally. I'm going to go looking for Boolean param so I'm going to bring up a terminal window now. Is this text readable enough for people. Or is this too, too. This may be too small. Okay, all right, so if you can see it. I don't mess with my fonts on my terminal window very much so in in my copy of this particular repository. This is Jenkins core and I'm going to go looking for Boolean param in this in this repository so it was Boolean param. And there it is right there. So there's the at symbol that we were using to to define that thing. And so if I, as I look at that. So here's the here's the Java source code of the thing that we want to add help to. And Java and the help goes into a location. Now this is where I always have to go do my research to figure out where that is. So forgive me for now look cheating and looking elsewhere to find a place where I can find something that has has HTML files in it. So here's my example and this would work for us. I see the source for it as source main resources, and then the path to the thing slash help dash keyword dot HTML of the thing. So the way I read that is there we would need a file. And that is the path to the Java source, replace the word Java with resource, or is it resources, help me out there resources plural. Then, on the end of it we would add slash help dash Boolean param. HTML. Now Kristen you're the expert here. Am I am I do does that seem reasonable to you. Okay, good. This now this is this is going to fail completely initially, because, because there isn't that directory, right, right. So, watch me fail. Oh no the directory apparently exists. I am really impressed that the directory exists because I didn't expect there to be a directory at that location. Wonder what else is already in there. Oh, okay, because somebody else has already added help. And even better, the things that they've added our help and in multiple languages. So for instance there is, there are files here from German and from French and from Italian. So, so that's cool so I didn't have to create that directory, but now I've got something and so now let's try this. Let's do that editing thing again and you're you welcome to use whatever editor you'd like. This is a simple though okay. A parameter with only one of two values. Either true or false. And I'm not claiming this is really good description or patients that need to see and what is the Christian what's the current markup for code it's not code anymore is it. Oh well, I'll look up the markup later trust will just be patient for now. Okay, so there is my help. And now I need to build this and run it. So that I can see if my change worked and forgive me while I stop something else that's that would get in my way. I had to turn off something else that was running. And now let's do. How do I build Jenkins it says right here I build it like that. So this will this will take a little bit of time at least what it's going to do is it's going to take my changes and build them and then I'm going to run Jenkins and go see if I can see my change in the Jenkins that I've created. So the guidance there are there faster or smarter or better ways than what I just did. I usually the quote unquote faster way for me to be able to run to build Jenkins is just skip the test. Yeah, take a little little while I haven't built Jenkins core in a while. Well, and in this case that's what it's doing so that's exactly the command I used just built the war file and nothing else. So there it is.  So I'm going to run it. All right and now this is a brand new Jenkins. Oops, it was a brand new Jenkins until I press control C. Okay, so I'm going to connect to that brand new Jenkins. Okay patients it's still getting finished getting started. Okay, now it's asking for that administrator password. And I'm going to need some plugins here. Let's see so we know that I'll need the build step. So how about let's let's just build step. Maybe I've already got it build name and description. Well, let's just let it run. Because as though I'd said install your usual plugins Jenkins and off it goes. And then at the end of this will look and yeah yeah maybe because I think it's pipeline column build. We'll see we'll see sorry. I was trying to read fast and I was like, I didn't read fast. I'm sorry, Mark. Well, and it doesn't give any it's not any problem that we go through it this way right because this, this is an experience they may have going through it watching this thing do it. In fact, I'm confident you've seen this already in your first in your first one of your early steps during the first week if I remember right because I think we had you go through this step. Okay, and let me put in my usual username and password. Okay, so my Jenkins is ready and now let's see if pipeline syntax already offers me the build step, because if it doesn't. There it is good. Okay, so it did. And now if we expand, except that it did not get my help. Right, I don't think it did anyway. So I'm not sure if that's what what mistake I made here, but that's the place where I was expecting to find the help type and value. Yeah, I'm. Okay, so let's do some more exploring. Maybe I made some other mistake. Okay, here's the file. And if we look for Boolean param. Okay, Boolean parameter definition. Boolean param. Oh, is there is there a jelly file but no, there isn't one for that help anyway that might be overriding it. I don't understand why it didn't include my, my help, help Boolean into this a little bit more. Yeah, well, and I think, I think we may just have to do some research, I may have to do some research separately. Let me take a look at. Let's see this default. Okay, so go to the job definition. And I'm going to create a has Boolean parameter job. I want to see if that help comes up anywhere. And my suspicion is it won't. Okay, now wait a second so it's got help for name. But, yeah. I'm going to do this. No, because that was the help for the action there's another help file in here that has that information for the bill for inside Jenkins. I think that was what was in the folder already. Yeah, so this one right this defines a simple Boolean parameter. We should be able to see that in the source files right. Yeah, that's another file. Go looking for that. There it is. So, so we are definitely in. Oh no. Oh no, look at that. That's in a different. That's in a different location. Derift different directory than the place where I was guessing to put it. Hmm. Oh, sorry, go ahead. I was like is that what was copied over into the war file. This is more source. Oh, oh, so you're thinking that may have been a. Okay, so if that's the case. Well, but, but that's a tracked file. Right. So, is your help Boolean parameter in that folder in the war. Oh, I see that's a good question. All right. Sorry. Yeah, they just want to make sure that that's like that. Let's look. And that I see. I don't see the file that I had created there. And these were all copied in the date stamp on these files are all a month ago so so they none of them were placed there by the build process. Okay. So, okay, so well so maybe I'm wait a sec maybe I'm looking in the wrong place so this is in the job definition. It has a thing for the Boolean parameter there. And for the name and for the default value and for the description. Okay, well, right now. Well, let's let's define the job use that so a Boolean parameter. And while we're here let's give another one so a choice parameter choice. One choice is to choose three choices. Okay, save it. All right so now I've got this job definition and now if I go to pipeline step or pipeline syntax and look at build slash has Boolean parameter and now when. Okay so but it really did not get my online help change this talked just about parameters. Okay so Kristen, I don't know what, why my help that I added to Jenkins core is not appearing interesting. Okay so Cynthia, and I apologize at this point I don't have an immediate answer for how to add help to back here to our syntax to bully and yeah I wonder if this is because coming from Jenkins core and it goes a little bit more, but I may have to help look at this a little offline and get back to you. I'm a little confused too it's likely it should have pulled in. So, but we could we could for instance take one of these others, like Jira issue parameter value and do the same thing. Hopefully, yeah. A plug in versus core. Right so this one is part of some plug in in Jenkins. And so if we went looking for it. I think we would go looking for it like this right where tell me if I'm making a terrible mistake Kristen I would look from Jenkins as a whole across all repositories and I would look for that. The issue parameter value class, or no not all. Yeah, just organization. And then your guidance was if I look in code and limit it to Java. Yeah, I think you might. I don't know if this is 100 this looks like it may have been all of GitHub. So I think what you need to do is search just for Oh, oh, I didn't I didn't narrow myself to just Jenkins dot. I need to fix that mistake. So here I am in the Jenkins CI organization. You can search for it in the search bar just make sure that you. Yeah. Cool and then just like yeah the top one because that one is just it. Okay, got it. I so good. The mistake I made there was I didn't click and explicit when I just hit enter and it chose the default. I decided to go on it. Excellent. Thank you. Okay. So here is a definition of that class in the JIRA plugin. Right. And so if I, oops, I click the right link along. Oh, go ahead. Yeah, so this place this JIRA issue parameter but is defined is this where we're supposed to add that symbol. So that's class will not be there. Correct. That's another yes very good, very good inference there so you noted, if someone would like to if, if one of it when we get to the task of use a symbol instead of this class thing. Then this source code location is exactly where you would put that symbol. So you would find here and there should be a descriptor here. Oh no. Okay, now this has me. Kristen I was expecting a descriptor here that I could add the at symbol annotation to but I don't see one. So I know that some of these that don't have a symbol might also be missing the descriptor and post off. So I think we might have to also add that in with the Okay, so it might be a little bit more than just annotating. Okay, so that may be more I mean we could, we could certainly try that it seems like what if we what if we as a first exercise attempt to add help to this JIRA issue parameter value. So if we can view that help in Jenkins by reloading the JIRA plugin with that would that be. That's basically one of the steps that I had intended to have you go through in the task list originally. Yeah, even just adding the symbol to get that to not be at the dollar sign class would probably be helpful. Okay, so let's let's try that. And so I'm going to go hunting for this thing so I need to fork this repository. Okay, here's my copy of it. And now I need a local copy of it so I'm going to copy that URL get myself a nice temporary working directory. I'm going to clone and I'm going to clone oops, try it again. Copy it clone that. And for my own benefit. I'm going to add a remote called upstream. That helps me remember where it where it's from. Right. So now add. What was the symbol again, it was. Add that help. Okay, so we first find it. And it is JIRA issue parameter value public class it should be that one right, the public class this. So that's the thing that I need to edit. I need to create help for that thing which means instead of source slash main slash Java I do source slash resource main slash resources. And here it's index dot HTML. I think that's right. Okay, there's a directory already there. Interesting. Okay, so what is value dot jelly. Oh, this is the this is the user interface that's displaying it. Cool. Okay, so I think we're probably in the right place. This is really poor help for that. Oops. Seem reasonable so far Kristen no surprises there. I wonder Kristen of next time we have you do this and said because I suspect my, my skills and doing these kind of searches is far far worse than yours. Oh, that's, that's. Okay, now it winds up. Okay, did it generate. It did. Okay, good. So, even though there's whining from spot bugs. It seems to have created target slash JIRA dot HPI. So, in the target directory and these maven builds is where the output is written and JIRA dot HPI is the plugin. So now I want to make that plug in copied into I'm going to copy that plug in into my Jenkins installation that I was using. And I think I need to go double check where my Jenkins is actually storing its, its information. I think Jenkins home is where I'm placing in here there will be. That's not what I was looking for. I need the description of my home of the directory this is storing things in. Okay, there's the war file where it's running Java. There is the one that tells me it's Jenkins home directory. I know I should remember this Kristen. Okay, there is a way to tell me where Jenkins is storing its information. Is it the about no. Well, watch this. No, let's stop. Okay, so where is Jenkins. No, it's. Okay, now I'm perplexed where would I. Oh, I know. Wait a second. Let's just let let it tell us itself. Okay, there it is. Jenkins underscore home is that. That's where I need to put my newly created are good. Jira dot HPI so the goal here is really I want to put that into slash plug in slash Jira Jira dot. Now wait a second in plugins. There is Jira. Okay, now I'm perplexed why. Kristen I am perplexed here why I can see that help. When I don't have that plugin installed am I oh wait a sec I'm looking at Jenkins. This one probably does not have the Jira plugin installed and if I look at its pipeline syntax. Yes, right, right, even better. So when I do build here. No, no, when I do the steps reference here and look at build. Will it show me anything about Jira, and it doesn't. Okay, good. So the Jira plugin is not installed on this one so I need to install it. So I'm going to install it and I'm going to install it sort of the cheaters way because I'm remote here. So CP target slash Jira dot HPI dot Jenkins slash plugins. Okay, so I haven't installed that plug in I've copied that plug in now I'm going to restart my Jenkins with a slash restart, and it will see that plugin that I just copied in there. So Cynthia and on my apologies for being so slow and and exploratory on this.  Yeah, yeah, yeah. So here's build. Oh no I need to look at the steps reference. And here in the steps reference if we look inside build. So there is Jira issue parameter value didn't get my help. I wonder if there's something else that has to happen for this like I don't I think we need to dig into why yeah maybe I think that there's something else happening here I'm not. I don't know why the help but I think that there might be maybe because it's getting pulled from a bunch of different places like it doesn't know how to find the help. So this might be as much as we want to address this plugin like the actual real thing that we might have to do here is to symbolize everything and then figure out. I don't know, mark you and I maybe like figure out what's going on with the how to get the build step to pull them the extra help. Right, and then we can fill in the documentation because I think that there might be something going on with how we try to get these pieces because I think if you go to the snippet generator like you can still see the help let's let's look at that okay so here for instance we've got different right like in the snippet generator. And that could easily be so let's take up at the top. Oh up at the top. Oh, did you want to do the build a job and see that. Oh no, I was I was actually going to look at Jira the plugin I just loaded. Sorry and bring that one in so here we've got three things Jira comment your issue selector. So this thing. Jira comment has no help either right no help for Jira comment at all. Right and so I think I could add that and reload the plug in your issue selector no help either so when I generate that script. No help icons here. And if I look in the steps reference on this and if I look at Jira issue. There we go Jira issue selector I think this will show me the same thing it has no help for it on any of those spots. Okay. So, yeah, interesting. Yeah, so I think we might need to look at a little bit more into like why it's not or into the build stuff like why it's going on here but these should be able to you should be able to get help for this is just the Jira issue selector. That's just adding the help stuff like. I think so so so Jira issue selector is here. Yeah, I just don't think it has a, it probably doesn't have a hope. Right and that's even a, that one is a pipeline step. Right. Just for my attempt in the last few minutes build. And here it should be indexed HTML for the top level thing. Right. Oh, there it said it said new directory. If you'll need to find that. Yes, that's okay that's good. The right answer right because it says sorry I don't even have a directory name that. Oh wow okay so then how does it. I just have to make that directory. I have to make a few notes source mean. No, I made a mistake there. Where's my mistake. Okay, there is the Java source file and instead of Java I do resources. Okay. So somehow the right just made a terrible mistake. So there's the config file and what I need is index dot HTML I think so build. Thank you Cynthia and on you for your patience while we work through this kind of exploring. All right so now I just updated the plugin so I need to restart Jenkins to see the newly updated plugin and let's see if I got help this time, comma. If I remember correctly, isn't there a 10 second sleep somewhere hiding in there that it waits 10 seconds during the restart just a minute will be there. It seems to take longer to when you're sharing a screen. Yeah, I want it to be done instantaneously. That always happens to me too. This is where we're supposed to insert me saying something really smart and creative because it's not supposed to have that kind. Okay, now if we look in pipeline syntax. Here the one I did was Jira issue selector right. Let's double check that I got that right. I put it on the issue selector step. Let's see if it did it. Nope, I didn't get it right there either, because I see no help icons there. Did I name it incorrectly. Okay now it's time for more learning just a minute. Do you have to do you have to include the word help. Oh shame on me no it's not index dot html it's called help dot html. Okay, I'm sorry that was my bad too I was like oh yeah index we got this. Yeah well index dot html is not a well it's not a bad choice but in this case it's a wrong choice. So let's use the correct name help dot html. Let's do the build again. Copy it over restart it and while it's copying or while it's restarting. Now if if I correctly had done better documentation better documentation would have required that I do things like learn some more about this and figure out what words I should actually write there. And that's that's part of the part of the thing we invite you to do it also is explore what is this thing doing so when we describe it. The description is is a useful description not just my noise text. So if I do Jira issue selector there. Oh yes. This is helpful help for the. Okay. So I got at least one thing that I added help to one thing during this hour of exploring. Okay. This is because the process they were. It's remembering all this stuff too. You haven't done in a while. I can't I can't remember either. We discovered the build thing so I think that there's something else happening there. Well, and I think if it's okay Cynthia and on Union what I'm going to do is I'm going to put some notes into this contributon document that that I've been using at the root of things that I need to investigate. Or that Kristen and I need to investigate further. So let's see this was the case where we were doing the insert missing pipeline help right. And that's the task where we say, find an item that is missing online help, right, and find the repository submit the issue that's been done fork it clone it, create a branch, add the mid okay here we go this is the step. Add the missing help by finding the thing. Okay, so Mark, and Mark and Kristen, investigate how to add help to Jenkins core Boolean param. Right, because that feels like that's a, that was one that I didn't know how to do and I still don't know how to do. I think there's also something happening with the build step anyway so I know that. I think you started looking at that like I think that we might need to figure out what is causing it to not pull the help. Because we put it there for another plug in and I think, and also the bullet the core. I would just kind of we'll deal with that. But I think it'd be maybe more beneficial to make sure that the symbol was added on, or we kind of remove the idea that there's the class. We'll try to figure out why it's not appearing to pull the help file. And it could be really simple it could be really something that we just, it could be like, you know, I get oh it's just missing this one extra thing but it could maybe be that there's something else happening. And we don't know what it is right now so we will look into that for you. Right, that's not to try to, and you can write the help files, we just might not appear right now. And yeah, good, good point now. Now, we didn't get to this step right here Cynthia you had asked I think about this one or maybe it was on Union, one of the two had asked about adding the symbol annotation. We didn't get there at all. So, are you okay if we delay, give you an answer on this one to another session and we could meet tomorrow or the next day, after Kristen and I have had a little bit of time to explore. This is fine for me. Okay. All right well your patience has been heroic it's been an hour when I thought we would take 30 minutes thanks very very much. I propose we stop for now, and let Kristen and I do some investigation. And Cynthia on Union for the two of you are you okay proceeding with this. Have we blocked you so that you can't do anything else or are there other things that you could do to continue your learning while while Kristen and I are studying. Yeah, we can also try to see if we can maybe see how we can add online help try to explore also the meantime. Great so we haven't we haven't crippled you by not being able to immediately answer the question you'll be able to you can continue some exploring. Okay, great then let's I'll call a stop to this one and after the recordings process I'll put a link to the recording on YouTube in the in the slack channel so that you can you can refer to it in case it helps. Okay, thank you. Thanks to both of you and we'll talk to you further on slack probably within the next day or two. Thank you thank you. Thank you too.


I am Zor. Welcome to Unizor education. Today we will solve a problem, problem number one for complex numbers. You remember that complex numbers were introduced to be able to solve certain equations which we could not solve within the real numbers. And one of the equations was something like x square equals to minus one. And we have introduced i as a pure artificial new number. The only property of which is that this is a root of this equation, basically. And now with generalized complex numbers which are expressed as a times i plus b, we can say that where a and b are real numbers, now this represents a much broader universe of numbers. Actually the broadest people are mathematicians are dealing with nowadays. Maybe they will invent something else. But right now these are the numbers, the broadest universe of numbers we are dealing with. So the question is, can we do anything we want with these numbers? Can we solve any equation or do some operation which we know about within the set of these numbers? Well, here is an exercise or problem if you wish. For instance, we know what square root of minus one now is. This is i among the complex numbers. So my problem is what is a square root of i? Well, I said everything is possible. So this is also supposed to be some kind of rational number which has its own imaginary and real part. We have to know these coefficients a and b. So this is supposed to be something of this type and the only property which we want is that this b squared is equal to i. So basically if you wish, this is an equation. Alright, so that's the problem. Find a and b which would satisfy this particular equation which means that you will know how to extract the square root of i. Now press pause button, think about this problem and I will continue with the solution. Okay, so we have to know what square root of i is which means we have to solve this equation. How can it be solved? Well, very easily. Since a i plus b square is equal to i, first of all, let's write down what this actually is. This is the multiplication obviously, a i plus b times a i plus b. And we know this is i. Alright, now this thing, let's open all the parenthesis and what should we have? As an imaginary part we will have a times b plus b times a i. And as a real part we will have b times b which is b square a times a times i square which is minus a square because i square is minus 1. So this is what we are looking for, right? We have actually an equation with two different variables among the complex numbers. Well, how it can be solved? Well, obviously if some complex number is equal to zero then its real time, real part is supposed to be equal to zero and imaginary part would be equal to zero. So basically from one equation we actually have two different equations. This part is a real part, we have a real part on the left and no real part zero on the right which means we have this, that's one equation which we have from here. Another is imaginary parts should be equal, imaginary part of imaginary coefficient is 1, so a b plus b a which is 2 a b is equal to 1. Now we have two equations with two variables which obviously is solvable and easily actually solvable because from the first equation we get that a square is equal to b square which means a can be either plus or minus b and if we can substitute the a's expression into the second equation that we will have is the following. If we will substitute a equals b then it will be 2 b square equals 1 which means b square is equal to 1 half and b is equal to plus or minus 1 over square root of 2. So we have two different solutions for b and a as I said was b. If we substitute minus b into this equation we will have minus 2 b square equals 2 1 and this does not have any roots among real numbers, don't forget that b is a real number. So there is no such thing as a real number which we have to go actually invent the imaginary numbers to be able to solve these equations because from here you get this and obviously this has no solutions. Alright so basically the only solution we have is a equals to b is equal to either plus or minus 1 over square root of 2 which means that first solution is this, another solution is this. So these are two solutions both of them represent square root of i. Well what should we do after we solve the equation or prove some formula or whatever? We should verify, we should check it out. So it's extremely important after you have found the solution of the equation check it, it's really true. Well we have to check that i is equal to a times i plus b square. That's what we have to check. Alright let's do it for this case for instance 1 over square root of 2 i plus 1 over square root of 2 square root of 2 will be imaginary pot will be, let me expand it so it will be easier to, imaginary pot this times this, 1 over square root of 2 times 1 over square root of 2 will be 1 over 2 and this will also give us imaginary pot which is also 1 over 2. How about the real pot is 1 over square root of 2 times 1 over square root of 2 which is 1 2, 1 over square root of 2 times 1 over square root of 2 and minus 1, minus 1. This is 0, this is 1, this is 1. So as a result of this multiplication we have, we have 1 i plus 0 which is i which is supposed to be 0. Now if i will use the second solution which is negative here, here, here, here and here it will be negative here, sorry it will be, this is still 1 over 2, it will be minus 1 over 2 times minus 1. So it will be still plus 1 over 2 as it should be, same thing here, minus 1 over square root of 2 times 1 minus over square root of 2 will be 1 over 2. So this is exactly the same, here, again the same thing because we have two negatives which will give us the positive here. So it's exactly the same here and we get exactly the same result here. So this is also the solution with negative minus over square root of 2. Now what we have here is a very interesting case when we have two different solutions actually, we have two different square roots of i, but if you remember this is not in the usual situation because if I were to ask you what is square root of 4, what should you answer? Not 2, it's plus or minus 2, right? So we have two solutions to this as well. So there is no wonder that square root of 2 also has plus or minus 1 over square root of 2. So you have two solutions. I would rather put it not this way, but this way. So as you see, square root of something always has two different solutions in this case, which is obvious, that's how it's supposed to be, right? Okay, that's it for this particular problem. If you want to continue, you can do the root of the third degree or fourth degree root or whatever from i just as an exercise and you will see different answers and you will see different numbers of solutions, something like the fourth degree root of i probably should have four different solutions. Well, try to find out. That's it for this test. Thank you very much.


Everybody Matt here for late in sports cards ripping one box of 2022 tops museum collection baseball This is for Matthew. I good luck Matthew like Snell copper Royce Lewis rookie Mike piazza Pete Alonzo and braves auto to 125 Tom Glavin Glavin All right, come on Iggy.  I actually think I should have time for more There's CJ Abrams rookie copper Ripken Eloy Kirby Puckett and Nice dual jersey auto mani machado machado auto Eight of fifty. Is this Jersey number eight or is it like 13 13? Yeah nice machado Glavin a machado not bad autos there. That'll do it for your box Matthew appreciate the purchase. We'll get these shipped right out to you