Okay, so first of all, thank you very much for being here and being interested in lasers. I find that there are amazing tools, that there's lots of things about them which are completely unknown to the white public, although they are really ubiquitous in popular science, in science fiction books, and movies, and so I really wanted to share some things that I find really, really interesting about them. So my talk is called Know Your Tools, so I'm firing my laser, unfortunately I forgot my laser pointer at home, so that's the first, the first time I'll be pointing with my finger, I hope it's okay. Right, so let's dive into the subject, I'm not going to give you a lecture, cheers. I'm not going to give you a lecture about laser science. What I want to give you is a very partial overview and very biased overview of what I find is underrepresented in popular science about lasers. So there are some laser applications in our everyday lives. So some of them you probably know very well, so the laser pointers and the laser machining for your cutting and graving, welding, drilling, and the bubble grams, all these interesting things that you can do with lasers. The laser meters, the gyroscopes, accelerometers, computer mice, you name it, so many applications with continuous lasers. And then there are some which are a bit less well known, which are pulse lasers, which means that the energy comes out in a very short amount of time, so you might have the same average power, but actually all the energy comes out in a very, very short amount of time. So that's used for laser drilling to have very, very low heat deposition into the material or for surgery, so that can be eye surgery, that's probably the most well known, but there's other applications. So you've seen all the different applications, all these world of applications that you can reach with lasers, and somehow all these lasers are lasers. So what makes them special? What's the common point between them? So if you just need to remember one thing about this talk, what's special about lasers is one, brightness, high brightness, and two, high coherence. And so I will go over these two subjects and we'll make things clear, don't worry. So first, we'll cover the easiest topic, which is brightness, because that's presumably the easiest to understand. So what do I mean by brightness, and how do you quantify it? So first of all, we start with a light bulb, a 100 watt light bulb, and you shine it onto a mouse. You do that with a light bulb, not a laser, 100 watt laser light on the mouse is not okay. You do that with a light bulb, and then you do that with an elephant. So you start with 100 watt and 100 watt on both sides, but the mouse is way closer. So if you look at the energy per second per square centimeter of the mouse, there's more than on the elephant, because the elephant is further away, so that's quite clear. So the brightness on the mouse is higher, because the amount of energy per square centimeter is higher on the mouse than on the elephant. So basically to make it a bit clearer, brightness is density of energy in time and in space. So this is the brightest direct sunlight on earth, you get 300 watts per square meter. You don't get more than that, so that's like at the equator on a completely clear day. And then if you look at your green laser pointer that you have in your pocket, then it's the same brightness. Of course it's not the same amount of energy, there's a lot more energy coming from the sun than from your laser pointer, but brightness, meaning the amount of energy per second per square centimeter is the same on your laser pointer as it is from the sun. So that's an interesting fact to know. So now which applications make use of this laser brightness? So everything that cuts, slices, drills is going to make use of this brightness. You can concentrate a lot of umph, a lot of energy in a very small, a very small space, which means that you can make very precise cuts. So there's laser pointers of course, there's laser guides for astronomy and LiDAR, which are light radar. I'm going to talk a little bit more in detail about one of these applications, which are laser guides for astronomy, because I find that they're way cool. So before I do that, I want to tell you about adaptive optics. So it's a little bit of an incursion into a different topic. So adaptive optics is something that's a bit magic, but that works, and that allows you to see objects in the sky that look a bit strange, and you want to know about this structure, and you want to have a very high resolution. So if you take your home telescope and you see this weird object in the sky and you're thinking, okay, I want to go and get a very big telescope so I can resolve this object that I really want to know what it is. And so in between you and the sky, there's of course the atmosphere, luckily, because then you can breathe. But it has a drawback, which means that, so this drawback is that the atmosphere moves all the time, this wind, this changes of refractive index, and so it starts your image. And so if you take your very large telescope, your favorite one in the world, and you don't do what's called adaptive optics, then you see a blurb. And so basically, having a telescope that's larger than 30 centimeters is useless because of the atmosphere. And so this is what you get. If you had a binary star, you would see this, and this is actually like a real, real picture. So now what's adaptive optics? So you take light coming from a point source, so from a star that's really far away, and you know what to expect, you know what sort of image to expect, you expect a point. And then you can, there are ways to see the distortion of the image coming from the star from the atmosphere. You can find that. And there's something that you can measure. And you can infer what is the deformation that was applied on your image. And so the method goes as follows.  And so you apply the inverse, and then you can enjoy the view. And to give you an idea of what it looks like, so this is all real, you have on the left without adaptive optics, and on the right with. So that's pretty striking how well it works. So now where are the lasers in this story? The lasers come in when you want to observe an object that's really distant, really, really far away, and unfortunately there's no bright star around. So what do you do? You have to create your own star. How do you do that? It turns out that there are some sodium atoms about 90 kilometers above the ground, which are in the form of sodium oxide, and they come from the ablation of meteors in the atmosphere. And so you can see this layer of sodium oxide, which you can excite with a laser. So you shine laser in there, and it will go all the way through this layer, and it will be absorbed there, and then you retrieve the light that comes back. And from the light that comes back, you can make sure that it's bright enough, from the light that comes back, you can infer the deformation that came from the atmospheric turbulence. So this is where lasers come in, and this is what's used at the VLT. For example, you can see this beautiful yellow beam, so it actually is yellow, because sodium has a yellow resonance. And you can probably see that from sodium lights in the city. So which applications make use of laser brightness? So I mentioned laser pointers, laser guides, and then you can go up in UMPF. So the next step in UMPF are the cute CO2 laser cutters, about 10 to the 8 watts per square meter, and then the high-end CO2 laser cutters, which are about 10 to the 10 watts per square meter. Of course, you never have this amount of wattage on full meter. At least at the time, it's focused on something like a few tens of microns. So it's obviously not getting 10 to the 10 watts. That's not why you're getting. So then if you want to go higher in brightness, you want to increase the amount of energy per second per square meter. When you can't decrease the amount of square meter, then you need to decrease the amount of seconds. So there are tricks to make the lasers brighter by going from a continuous wave, which means you have a certain average power, and the energy that comes out is always the same. Okay, you have this continuous flow of photons, this continuous wave. But then what you can do with the same average power is to wait for a long time, nothing happens, and then suddenly it's like, I don't know, a few femtoseconds or more. But yeah, the shortest are a few femtoseconds. You get all this energy, all that ones. And so that's a pulse laser. And pulse lasers are very, very powerful tools to allow you to get extremely, extremely high brightness. So I'm a research engineer. I work in the laser lab, and we get 10 to the 22 watts per square meter with our laser, which is sort of cute. It fits in a room that's about this size. And then you have the brightest lasers around. So the brightest lasers around are not to be fooled with their 10 to the 23 watts per square meter. And they look like that. So that's a full blown installation of the size of a small accelerator. And so this one is the LFX at Osaka University. So what the hell do you use that for? You use that to emulate the conditions that you would get in outer space. So very extreme plasma conditions. So it's basically a way to get laboratory astrophysics. This is a person. So yeah, you can imagine the size. So it's not like a small laboratory. It's really a full blown national project. So this is the headlines from the mail online. The Death Star weapon is here. Japan fires the world's most powerful laser. So these interesting things, like it produces an energy equal to a thousand times the planet's power consumption. So this lets you reflect on this is quite entertaining. So that's what the media make of that. So there was a little side note. Talking about the Death Star. So if you're asking me how much the Death Star would be, it would be something like probably 10 to the 45 watts per square meter. It's a rough estimate. And then for the crazy scientists, they're the future multi-exa-watt lasers which are in people's wildest dreams. And some people dream really far. And so that's about 10 to the 29 watts per square meter.  This has not been proven. The experiment will have the last word. See you in 30 years. Then, okay. That's it for brightness. You can see how bright could be. And now we're going to talk about a topic which is not so... Which is a bit more about something that's a very subtle quality of lasers, which is coherence. So I really like coherence. So first of all, let's talk about something that's incoherent. Incoherent is everywhere. Everywhere is chaos, as you all know. So this, from a light bulb, there's lots of photons coming with many colors. They come at random times. It's extremely chaotic. And then if you take a laser, the simplest image that you can have of a laser is basically this stream of photons. And if you look at it as a wave, then it's this wave that just carries on forever and it's a sine wave from the beginning of the universe till the end of the universe. It's not that simple, but that would be a perfectly coherent wave. So this is a perfectly coherent wave. On the left, you have the beginning of the universe, then the end of the universe, and everything in between is a sine wave with always the same frequency. This obviously does not exist. There's everything in between. And so if you have a less coherent wave, so say your wave starts and it has phase jumps and you have multiple frequencies that come at random times, so this is what it would look like. So this would be the electric field of the light that comes out of some fairly incoherent laser. And so that's more incoherent and then that's completely random. So those are like all the shades, the shades of yellow that you can have between perfectly coherent and perfectly incoherent. Now, you might know this from laser pointers. So this is a direct consequence of having coherent light. So basically if you shine torchlight on the wall, you're never seeing that sort of thing. It's just with a laser pointer that you see that this is laser speckle that you only ever see with coherent light. That was a side note. So coherence is something that you can harness to measure time. So I'm going to give you some slightly in-depth example of how that's done. So say you start, you have your wave, it's perfect.  This is with a perfectly coherent wave. And so if you have such a thing, then if you count the number of cycles in one second, then you have a very accurate measure of frequency. And then conversely, if you have the frequency, then you can define the number of cycles in one second. And so we'll see how that, that property can be used to define time and to basically define the time that we are using to define the second. And so this application is called atomic clocks and the newest advancements in atomic clocks are optical clocks. So I'm going to give you an overview. So bear with me, it's a very in-depth topic and all the devil is in the detail and there's lots of details. So this is an atomic clock at Cirque in Paris. So this is about a meter 50 or something like this. I don't remember exactly the scale. So it's fairly large. And so this is the clock that gives France its time. It gives it its second. This is the second that we have and it's shared with other countries. So I'm going to talk to you about them because I find that they're really beautiful. They're a bundle of so many beautiful techniques. And then they're amazing because their drift is less than a second in a hundred million years. So that's extreme precision. So first of all, to make a clock, you need a resonator. So in the old days, Huygens came up with a pendulum clock. So when tick, tick, tick, and that's a very, very well-defined frequency. And then to go further in accuracy, people decided to take a quartz resonator and to make it even more accurate. Maybe if you do RF, you know about these techniques, you just make the temperature always the same. You put it in an oven and it makes the frequency extremely stable. And then you can take an atom. And an atom is also some sort of resonator. So if you take an antenna and you throw some resonant wave, the wave that's resonant with the antenna, then you get an output. And then with the atom, it's more or less the same. If you hit the resonance, then the wave that you're sending in will be absorbed. And that's a signal that you can monitor. This is something that you can measure very accurately. So to make a clock, say you take a cesium atom, so that's what the atom that was chosen for a variety of reasons. And then you hit the cesium atom's resonance. And you say, okay, this frequency is going to be 9.192 blah, blah, blah gigahertz. So this is in the microwave regime. So you say, this frequency is going to be that. That's the decision. And then you count the number of cycles over time with very precise counters, which you have with radio frequency technologies. You count the number of cycles, and there you go. You have time. You have defined time from your resonator, which is your atomic resonator, which allegedly or supposedly doesn't change. And so far it has been proven that it doesn't change. So those are the first types of atomic clocks. They're cesium beam tubes. They work with hot atoms. And they allow you to have an accuracy of a second in 1.4 million years. So of course, people want to get that better. So what do you do to get that, to do that? Of course, what do you do to make that better? So as I said, this works with hot atoms. And hot atoms have, as a result, different velocities. And this variation of velocities will change slightly the frequency of the resonance. And so a solution is to cool these atoms. And it turns out you can do that with lasers. You can cool atoms with lasers. Maybe some of you have seen that in laboratories or even work in them.  And so it gets pushed. A bit like the comet tail. So maybe you have seen pictures like that with the tail going away from the sun. It's because all the particles coming from the comets are pushed away from the sun by the solar wind. So it's exactly the same principle. This is called radiation pressure. And so if you put beams in all directions, I need to hold the microphone, but yeah, you see from the drawing, if you take beams from all directions, then you can trap the atoms. So this is a magneto-optical trap. So here I have obfuscated some details, like all people who give lectures, they lie a lot, hopefully not too much. And so it's a bit more complicated than that, but more or less you put magnetic fields, and this allows you to trap atoms in the crossing point of your laser beams. So this is at the center of this chamber, you can see this glowing ball that's the atoms, and you can see the blue beams. So that's quite pretty magneto-optical trap with blue beams. So then, when you've applied these techniques and others, you get to something that's called an atomic clock, and this one is actually an atomic fountain, and they allow you to reach an accuracy of one second in a hundred million years. So this is extremely impressive, but people want to get better. So when that's too much, then what do you do? Do you try to decrease the uncertainty? Is that what you're trying to do?  That's the absolute limit of electronics, the absolute limit of everything. But what you can do is increase the frequency. So this is, as I said, for the cesium atom, this is nine gigahertz, about nine gigahertz. So nine gigahertz is radio frequency or microwave, and the technology for microwave is extremely well advanced. So that was quite practical because you had very good tools to start with. Nevertheless, if you want to increase the frequency and go from microwaves in the gigahertz regime to optical waves, say 300 terahertz, then you encounter a new problem because it's very, very difficult to have an accurate measurement of optical waves. You don't have a counter, you don't have a photodiode that you put in your beam and it's going to monitor your optical wave that's just never going to happen. So what do you do? Well, there is a solution, and it's called optical frequency combs. Yeah, that's what they look like. This is amplitude on the y-axis and the axis is frequency. And actually, you don't span the full range from zero to infinity. It's actually a bandwidth that you have. So this is a Mickey Mouse version of a frequency comb. You have many more teeth for a given bandwidth, but otherwise it would be invisible. So this is a schematic. So in principle, if you knew one of the teeth extremely precisely and you know the interval and the interval between the teeth is actually not so difficult to know. But if you know very precisely one tooth and the interval, then you know all your comb and then you can compare all frequencies with one another. So that would be great. But it turns out that knowing exactly the frequency of one tooth, knowing it exactly is extremely difficult. However, if you look at the detailed structure of the comb, so what is this? Okay, so in red, that's the real comb. In blue, that's the comb that's extended from zero to plus infinity. So that's what it would look like. Everything in blue does not exist, but it's information that can be retrieved. So if you look on this structure at the zero frequency, it turns out that you have this very well-known interval and you have an offset. And so this offset and the interval are the only things that you need to know to define your comb. And it turns out that this is a radio frequency and we have very good references for radio frequencies, they're atomic fountains. So now the trick is that you apply some optical magic to be able to retrieve this part of the information that's within the comb, but that's not actually there. You can just retrieve it from some processes. Then you can lock the comb on an atomic fountain. And then you can reach crazy levels of accuracy, which are three times 10 to the 18. And so that's the results from 2016 from the PTB in Poundfake. And so this is the absolute record of accuracy and optical clocks. So now to wrap up, I hope I have convinced you that lasers is not only about cutting, drilling and slicing and that it's applied to very, very fine applications such as astronomy and frequency standards. There's one application that I've not talked about and that's just because I don't have the time, which is gravitational wave detection, which was also a discovery that was due to lasers. This particle acceleration, quantum information processing, hair removal, that's a very important one for the laser industry because it produces a very high turnover. And then there's obviously making holograms on chocolate, but that's for next Easter. Thank you. I'm taking questions. No questions? Okay, great. So if you have any questions I'll be hanging around. I'm quite approachable. Thanks a lot.


Welcome, everyone. This is the Jenkins governance meeting. It's June the 12th 2023. We've got a number of topics, including news, several open action items and Jira upgrade and budget and expenses and community activities summary that I assembled. Are there any other topics that people would like to be sure we add to the agenda. Okay, then let's go over the topics we've got. So by way of announcement, Jenkins 2.401.2 release candidate will be available this Wednesday special thanks to Chris Stern for his work as release lead. Debian 12 has released last Saturday. It's a nice operating system upgrade. Important to note that it does not offer Java 11. So our documentation will be updated to guide people to use Java 17. That way we don't have to explain that on Debian 12 Java 11 is not even available from the operating system provider. And the last topic I had was a reminder that the CDF technical oversight committee election is in progress. I've been nominated from the Jenkins project. There are only four seats on the committee. Six candidates I would love to have your vote. If you've received an invitation to vote. Any questions on any of the news items. Okay next topic then is the action items. So let's take a look here. Easy CLA documentation not happened yet. I believe there was some interaction there that might need more on this. Do I remember correctly or am I am I forget am I off base. On the documentation part. I'm not too sure but I think last week or the week before Chris Stern submitted an ICLA. Ah, that's what it was. Thank you for the reminder. Okay, so they submitted the sign PDF and one through the Linux foundation. He took both paths. Yeah. Very good. Okay. Thank you. All right. And that was now that I think about it I remember that was so that Chris wants to join the Linux, the, the security team. And is interested in that if I understand correctly. But I confirm that Chris isn't in need of ICLA now that it's just for future action I think. Okay, so the ICLA was not strictly required. No, for current at least not yet. Great. All right. Excellent. Thank you. The topic was a poll request to come combine sub project and special intergroups in interest groups into a single concept. I have not done that yet. I've gotten started on other things but not not successful yet. Retire the Jenkins the Chinese Jenkins site is in progress in that it's no longer on the header. But we've got more to do in terms of getting the sub pages under the site redirected right now. For instance the install instructions are two years out of date. And we've had an awful lot of changes installation instructions in two years. It's really bad that we're showing Chinese users incorrect and flawed install documents. I'm going to go on Kevin shoulders Kevin with trust you'll take it forward. Then I had the item to archive the governance meeting notes sorry no progress. Retrospective on the signing certificate renewal progress I've opened the document but not started that again sorry, I am proud to say the next one I have completed the reimbursement process for the code signing certificate is done I have the money. The process worked. Thanks to Oleg especially because it took a number of steps for us to figure out how to get that money out of the account through the Linux foundation into my account. And we have one other reimbursement that's been successful. Thanks to Vodic Filonia. So, positive on both. Any questions on the open action items. So the next topic is the Linux foundation ticket to upgrade from Jira eight to Jira nine thanks to Alex for this one. He noted that Jira eight is end of life within the next. What is it Alex I think it's within a matter of a few months or less than a year. Okay. Yeah, in October of this year I guess. So, I had asked the question, Johnson when from Linux foundation asked me on 30th of May if we had a specific timeline. My answer was not really so long as we're done with Jira eight well before the end of supportive of Jira eight. We're fine with that. Anyone have any concerns about that do you want to do want me to put pressure on them to say no we need to do it much earlier than say August. Okay, great. So the next topic then was budget and expenses, and I'm proud to say that Vodic Filonia has been reimbursed. Now, the rest of you may not say that's a very big deal the $52 and 99 cent reimbursement but it's taken us as much as two years to get this reimbursement finally closed he confirmed the money has arrived in his account finally. It's a reminder that when we have expenses the easiest way to do it is have somebody from Linux foundation use their card to pay the thing, rather than any of us using our own funds and trying to get reimbursed it's just much easier if we make them do the payment. They'll figure out how to route the money then. Any questions on that one. Okay, next topics then our community topics. And the topics that I've got, I'm open to any of these that that are particularly of interest to those of you who are in the meeting if you if you want to say, Hey, let's talk about this one first or that one. I'm happy to move things around. If we change then we've got an active project with JFrog, trying to reduce the bandwidth that we're using on repo dot Jenkins CI dot org. We're proud to say that we reduced by 20 terabytes a month in April compared to previous months. Nice reduction, but they really think that we need to do more. And we're, we tried, we did a test drive brown out a reduced functionality test by shutting off the J get copy that we have, and it was disruptive. And because of that we're going to have to now talk to JFrog about what other alternatives are there. So we'll, we'll be doing that work with the infra team to identify ways to reduce bandwidth use. The most flagrant abuser of the bandwidth has already been banned, but they're confident there are other things we can do to reduce bandwidth use further. And since they're paying for the bandwidth. It's important to them that we find ways to reduce it. There are some questions there. Okay, prototype JS. So this one is a special thanks to Basel Crow, and to Tim Jacome prototype is a JavaScript library from 2010. Last released I believe in 2013 or maybe 2015. So in the world of JavaScript it's ancient. And it disrupts the use of JavaScript in other ways in Jenkins core. So the progress is being made to remove it completely from Jenkins core and from the entire plugin suite. It's, it's references to it have been removed from Jenkins core already as of 2.406. Key plugins have received pull requests. And there's a feature flag so that those of us who are testing and interacting after 2.406 we can actually disable prototype completely to see how it behaves. So, Basel is there anything additional you wanted to share on this one. No, I think you covered it. So it would be great to see more help to adapt plugins, because that's really what we're blocked on in order to complete the project. Right and this this sheet that Basel has been maintaining is a is a marvelous piece of work in terms of seeing where can I help. So when when volunteers come saying hey I'd like to help the Jenkins project. Any one of these rows is a good way to say you here you can learn some JavaScript and help the Jenkins project in a substantial way by applying to your work to one of these plugins the red lines are very much wide open ready to have somebody help. Yeah, it was 22 to 24 are a good place to start because they're a high installation count, you know in the 66,000 installs range. So I don't think we could realistically do anything until those have been adapted, for example, agreed. Thank you. Any questions to Basel on the progress on prototype JS removal. I have a question so what is the plan when do we want to switch it in the opposite way so it is enabled or disabled by default and users can enable it if something's wrong in their machine. So I don't have any poor quest to do that so I, there's no plan on my side. Think Tim has a draft poor quest to do that. And I don't know what his plans are for it. But you don't know if it's, if it will be part of the next LTS release or not yet. Okay. I'd be shocked if oh go ahead Basel, I shouldn't answer. No, I don't have any, I don't have any knowledge of whether when Tim plans to take that poor quest out of draft state, but until the spreadsheet is more green. I don't think we could do it anytime soon. Yeah, that was that was my assessment because if we, if we dropped prototype today, any user of the credentials plug in and that's 280,000 users to it would be broken. Right. So, so that's the today's not the time and I think the same thing applies we've seen at least down to the 30,000 level of the 10,000 installs level that we really want to get those resolved. Okay, next topic then is HTML unit three upgrades. So this one, the HTML unit project, change their package name and change some of their API's and their upgrade from two to three. And Tim Jacome and Basel have have done the preparatory work. Tim has tooling that creates poll requests you can see the hyperlinks here. The first harness has been upgraded core has been upgraded. The plug in palm has the plug in bill of materials, and there are 150 open plug in pull requests. So there's, there's still a lot of work to do there, but the work is proceeding. It's this one because it's all test infrastructure is not a risk of breaking Jenkins users at runtime. So the challenge is if you choose to upgrade to plug in palm 4.66 or newer, you need to adapt yourself to HTML unit three. Now Uli and Alex I believe you're both also plug in maintainers are there any things that you've experienced in your plugins around this that you wanted to highlight. I am not using HTML unit. Oh, good. I'm using real user interface tests with acceptance test terms. My plug in sit. Yeah, it seemed that HTML unit is something one should not use anymore. So that's, I completely removed it in from my plug in tests. And I'm using real browser tests with 80, 80 h. Great. Thank you, Alex anything from you in terms of your use or are you use doing any work in areas that use HTML unit three. I think I have received one PR from Tim updating and it went pretty smooth updating the imports and changing a couple of methods but that was basically it checks when green and I merged that last week. Great. Excellent. Thank you. Any others who want to highlight any items. Next topic then is the guava 32 upgrades surprise and success story Basel you want to tell it a little bit. Well, the upgrade of guava in 2.406 had a bug for Windows users when creating temporary files. And there were two plugins that used guava to create temporary files, artifactory and checkmarks. So those were broken on Windows with 2.406. We're able to get in contact with the guava developers, and they fixed this problem in a new version of guava, which we should be releasing in Jenkins core tomorrow in the latest weekly. So that should resolve the Windows issue that we saw. That's it. Thank you. Thanks very much. For me that's a great success story that one open source project helped another detected a problem that other project provided a fixed promptly and we got it integrated. Very nice. And they added a Windows CI build to guava so they shouldn't have any problems like this in the future either. And that's that's especially valuable I think that yes that means they're testing Windows more than they ever tested it before. We like that. Great. Google Summer of Code is continuing. The end of life for Centos seven has been announced, and we're going to accelerate the visibility of that warning so that it will begin appearing to LTS users at the end of this month with 2.401.2. It's been approved by Tim Jekyll and merged so thanks very much Alex for your inputs thanks for Tim's and thanks for bozzles. Last item or next item was on GitHub Enterprise and this one Alex maybe you want to describe what prompted it you gave us a blog post about it. Tell us more about how that's that's working etc. Actually, I had a chat with Gavin McDonald from the Apache Software Foundation, a bit earlier, and I was checking something with him. And he informed me that the Apache Software Foundation GitHub organization is on some special plan that is not available for regular people. So, I went ahead and ask it up if they could apply that to our organization too. And with the help of Kim Jack, Tim Jacob approving it as an orc admin, they applied that to our organization. That brings us a certain set of enterprise features. But most notably, as you probably have seen already and core these Jenkins dash links directly linking to our Jira instance. Auto link references is the proper word for that. Let us opt in for everyone hosting the plug and within the Jenkins AI organization and given our heavier lines on Jira. This is probably one of the go to features for us. Thank you edit the. Oh, go ahead, Mark. No, no, excuse my interrupting. All right, you edit the task list beta to the enterprise part that's actually not part of that's not part of the enterprise part. Okay, so it's just a GitHub feature that we're using. Just a private private beta I enrolled the organization in. Got it. Thank you. Okay. I think Tim did that because sometimes they want approval from an orc admin sometimes they don't I don't know so. But we have it. All right. Any questions to Alex on the new new capabilities from GitHub. Okay, last item on that I have on the agenda was related to launchable. And Basel, do you want to say something about launchable you prefer me what how would you like it. Well we started using it in Jenkins core to on the windows. See I builds. So they, they're a lot shorter now for pull requests because we're running a subset of windows tests in Jenkins core. And so that was the first of the next steps in the next steps bullet a few lines down so that's been done. And the next step after what has been done already is the second bullet and the next step section which is to add subsetting to a th. So I'm hoping to get to that sometime this week or next. Thank you. Thanks. Have we had any cases where we've detected a problem that somehow was missed due to the subsetting that we're doing on windows. I mean, if we if they're, we're still running full builds on builds to the main branch. So if there was a test that was failing in a PR. But we didn't but that subset it away we'd notice it as soon as that PR was merged to the main branch. We haven't noticed anything like that. So pull requests run a subset but the after merge to the main line, it's runs the full set. Yeah, okay. And the only thing I can think of or would have caught problems would be that guava issue and I've caught that in PCT, but we don't run PCT on windows at all. So we didn't catch it there. I did run PCT with the guava upgrade but it was all on Linux. Right. So, I don't think launchable would have helped us in that case. Thank you. Any questions to Basel on the launchable experiments. All right, that concludes the topics any other topics we need to discuss today. Thanks everybody.


There are two systems when we are dealing with the earth environment. The first belongs to the physical system and second belongs to the human system. The first the physical environmental system deals with the things which are related to the natural environment. Now, the like we have the climatic condition, the relief features, the soil cover, the vegetal cover. So, these are actually the natural environmental system. So, when we are dealing with the human environmental system, these are actually related with the human economic and commercial activities. So, there are certain things which are related to the environmental nature environment. And when we are dealing with the nature environment, it has certain component which has impact on the enclosed environment. It not only impact on the local, but it has regional scale and global scale as well. So, today we discuss what is hazard. So, when we are dealing with the hazard, it is actually the environmental component. Natural hazard or environmental hazard is the state of events which has the potential to threaten the surrounding nature environment and adversely affect people's health. So, in this, we can give an example. So, the earthquake is a natural phenomenon. Its physical component, we face in the form of an earthquake. And its impact is not only on the local, but also on the regional impact. Local is in a way. The place where the earthquake has happened, there are more deaths and there are more economic losses. But if we talk about regional, when the wave moves, it moves from one place to another. Even at the end of this globe, we see that the other part of it is also on the Richter scale. We feel some of its trembling. So, it has a global impact, a regional impact, and a local impact. Now, it is not only discussing the deaths or the economic losses of the hazard, but when we are dealing a hazard, it is a situation that poses a level of threat to life, health, property, and environment. Now, not only the environment, we see that there have been changes. For example, on the 1st of October, 8th of October, in 2005, we see that the upper layer of the mountain environment has also changed. And even near Balakot in the area of Kashmir, a new lake was also discovered there. Similarly, we see its impact in the form of the Atabah Lake. When it was trembling in 2005, the upper layer or the upper surface of the mountain was loosened and the sediment was quite loose. And in this way, when the 2nd earthquake or aftershocks came, it changed the course of the river in the sense of the landslide layer. In fact, today we see it in the form of the Atabah Lake. So actually, it has not only the impact on the physical features or the physical environment, but we see that it also had an impact on the health of the people. There was a disability, even the debris there caused lung and throat diseases and skin cancer as well. So these are actually related to the human environment. We see property as well as economic losses, commercial losses, that is, road networks have ended and there is still a huge impact on their trade. Now, once a hazard becomes active, it can create an emergency situation. A hazard situation that has come to pass is called an accident or we can say incident. Now, we take the sense of an incident that when that incident happened, then after that incident, we see its impact in its enclosed environment. And in that enclosed environment, we see the sense of emergency, we become active in it. That is, during disaster or during hazard, we take action. And then after hazard, our role in which reconstruction, rehabilitation starts. So it means that society is also involved in this.


Good morning, good evening or good afternoon, whatever the case may be. My name's Andy Smith. I've been in the fishing industry for 45 years and I'm going to give a short presentation on my experience and our experience in New Zealand with use of cameras. Our tooth fish vessel, the Janus, has fished down in the Ross Sea in excess of 25 years. They have trialled an integrated scientific electronic monitoring system, SEM, over those years and the purpose of this trial was to investigate the system's suitability under anti-vect conditions, determined how much useful scientific data could be collected from the system and test software's reviewing capacity in the tooth fish fishery as well as run basic comparisons between the data recorded by the on-board observers and the data sets generated by the SEM review. The pilot study we did was very successful and recorded 100% of all gear deployments and retrievals during the vessels voyage. No major issues were encountered and several improvements are now planned that enhance the functionality of the system in this fishery. The system has since been utilised by companies in all fishing operations, both in camera fishery and in vessels domestic fishing. The setup on the vessel is important and of course it will vary for each type of vessel, draws way of cameras in different areas depending on what you are trying to achieve. The review software can be used by Saltwater or companies that have bought the camera system and it's very easy to review and test theories as well as pick out information on any benthost court or anything else that observers may have missed. What we're looking at here is a timeline of the whole trip. The green line indicates the vessel's speed. Where the line thickens out indicates the variability in the speed. In this case we had to slow down because there was too much ice around and the pink is the hauler pressure. The system is linked to both the batting machine and the hauler. We have a baseline constant pressure that fluctuates when they are hauling. The yellow line indicates pressure from the batting machine when long linings have been set or shooting. So from a reviewer's point of view we can actually see minute by minute what this vessel is doing and it's tracked by GPS. So in the top right hand corner of the slide you can actually see the track of the vessel, where it's been, and all that information is stored on a tamaproof hard drive. The setting and hauling patterns are easily identifiable using the SEM system and far exceed the detail recorded on traditional fisheries reporting forms. The system allowed the data reviewers to quickly identify the catch composition by taxonomic group and give an accurate fish count. The estimated scaled observer fish counts were technically lower than the SEM system results. Overall the observer's scale data represents only 80% of the tooth fish retained, 70% of the tooth fish tank, but overestimated fish loss. The SEM data review provided an excellent review mechanism for checking the tagged fish data and for only work using electronic catch length determination saw good results in confirming tagging of reports. The SEM technology and review software can be used effectively to collect scientific data especially in the tooth fish fishery including observing any benthic burial court. It created a mechanism to understand fishing activities not captured by existing data reporting and could be used to readily identify areas and data sets. The system would assist in reducing the observer's workload of retained tasks like line observations freeing them up to carry out more important scientific tasks and improving safety by removing risk involved and some of those observer tasks such as setting observations or working in extreme environmental conditions where the observer would be required to be out on the deck to observe. We recommend that comparisons be made between observer data and SEM data across vessels using various gear types to develop methods for improvement of the observer data. We are working together to develop the software capabilities through automation so that review can be made more efficient and thereby improve the quality of data. The use of AI in the future will be a huge step forward. The SEM technology and review software has been used successfully to verify tagging data in the tooth fishery. The fish in the picture was tagged and released of the first day of the 2017-18 season and usually swam south covering 607 km in just 42 days. This was a huge anomaly and questioned by many. EM data from both vessels showed it was the same fish. Another fish tagged by a vessel in the 2018-19 season at the beginning of the line was actually record on that same line five hours later. This was again verified by SEM. The system provides verifiable evidence to demonstrate that fishing, timelines or minor compliance breaches were all accidental. The biggest area of growth for saltwater have been pushing and adopting computer vision technologies where applicable. For the most part, this is useful in cases where accounting for discards of bycatchers sea is most important. In particular, the use of discards shoots on vessels and in processing facilities to identify and provide lengths of catch. Another is the development of web portals for co-operative fisheries where bycatch-related closures are an issue. By sharing anonymised info with the co-op vessels are able to avoid areas and to prevent early closing of those fisheries. It has been a way for us to help the stakeholders maintain a level of engagement and intelligent fishing understanding when, how and where fishing has been successful in order to fish more efficiently and more sustainably. I'd like to acknowledge the information provided here was provided by the crew and Tavies Limited in New Zealand and the system provided by Saltwater USA. Thanks very much. Bye.


What's up everybody? Jason here for jasperjasecasebreaks.com. 17-18 prism sell-a-pack round of teams number 12 just sold out And this is for the last nine spots in the war round of teams number three Originally it was supposed to be for 10, but as we took out the 10 spots someone actually bought one which is okay So what we're gonna do is we're gonna give away the nine spots plus a hundred dollars in break credit Basically the price of a new or random teams break So again the way it's gonna work We're gonna randomize because of our names teams open up the sell-a-pack distribute the hits out Then at the end of the break the top nine names will win a spot each in a war Which is the value of a hundred dollars a spot and then number 10 will get a hundred dollars in break credit. So there you go Good luck. Let's do the break first. Pull the dice and it's a 16 a 6 12 times. Good luck one two three four five six seven eight nine ten eleven Quinn Carter then a Brian 12 times teams one two three four five six seven eight nine ten eleven magic down to the wizards You're a wizard All right So actually I'm just gonna Not go through every single team because it's just a sell-a-pack where they go from Quinn More noticeable teams, of course Celtics here going to Brian Lakers Steve magic, of course had Markels-Foltz Atlanta what Collins there you go just the way it came out and no one ever trades for this Skip saying all the teams TwC trip with a closed let's print this out and let's rip. I remember guys is gonna lock Noir And then again in this separate dice or randomizer will be the top 10 We'll get nine will get a spot in the water the 10th person will get a hundred dollars in break credit All right. Good luck. Everybody. Here's the sell-a-pack Gary and Fox Alonzo ball and merchants There you go silver coach silver little inserts Vogel Davis Billy Donovan There's a big pack break now. Let's switch over and Give away some spots in Noir After five and a two seven times good luck one two three four five six and Seventh and final time guys. Good luck Gregory Michael Jason Steve Ryan Roger Brian and Ryan and Matthew you guys are in the top nine But Brian Zeller cleaning at ten you're also gonna win a hundred dollars in break credit So there you go top nine get into the break number ten gets a hundred dollars in break credit It's awesome that out here right now Pretty sure you guys again now know our rental teams break is filled remember the bigger teams It's just five spots away from a random number block that includes the pelicans with Zion opportunities Bulls with Kobe white wizards Hachimura Hornets a couple rookies there with PJ Washington, Jr Burst clippers Raptors and again some veteran stuff for those teams as well But they'll sneak your spotlight opportunities. So appreciate you guys coming up next is noir


what's up guys my name is michael and welcome to my youtube channel today we are going to go over street parade this is a problem on spage so basically you have some organizers they want to have a fixed order of trucks you want to bring the trucks in the correct number of order so the increasing order basically so the trucks is a narrow so no two trucks can pass each other you are given the order in which the trucks arrives you need to decide if the mobiles can be brought into order that the organizers basically this is an illustration so let's say we have the truck three four two one five so if i want to bring this into order there's like a hole here what i could do is i could just put the five into this hole and then i let one pass and i let two pass right so i want one two pass instead of adding adding five after four instead of doing that i want to have the next truck pass me also right so i want to have one two three i want three right so what they do also is that they put four into the hole so then they have one two and three so one two and three now pass and then now they could put four and five so basically we have like a hole or a street that we could basically hold the values in and we want to make make all these values be put in the same order that they want them to be so we want them to have one two three four and five so that's basically what we want do this problem you have to think of think of this hole or this road as a stack so every time you encounter value that is just not in the right order that is like greater than the previous value you push that onto the stack so this would have a five as you see here one two three four five right so in this case five was out of order so that's why they put five into this hole and then they let the other ones pass so they let the other ones pass for one two now four is also out of the order right because four is greater than three so they put four into the stack also and then they let three pass now um essentially is that after they let three pass when it's over they just put four and five to see if uh it's in the right order and that's what you get okay so the thing is that if you have a value that is greater than the current value that you want that's in the stack then it's definitely not possible like if I had one two in this case if I one two three four right there's there's five here right there's four here um let's say this four was not here let's say this four was like a six or something then we know it's not possible right because if I take the the the six if this four was a six right have one two three the next value has to be the value after three so next five has to be four right so basically whenever we pop something off of the stack we have to check if it's actually equal to the next value that is in line so what we need is we need a counter showcase the next value that we want to be put in order right we want to all these trucks to be put in order from one two three four five six so if we have a counter that keeps track of the next number of the truck that we need then we could actually keep track of it and then that would actually help us make sure to check if it's possible or not possible so I'm going to actually just explain the code to you guys right now because it's actually not that difficult to understand okay so remember we need a counter in order to count the current the next truck that we want right so one two three four five six and um not only that uh also the input statements here they said that uh the input statement ends with a number zero so it's not the same thing as like input number test cases like on code forces and then you just do wild minus minus so what you have to do is you have to either use a while loop and then break in the middle or you can use a do while loop and that's what I did so first of all I'd use the do while loop to basically just do this while this condition is occurring so it does it at least once and then um while n is not equal to zero so the n is the first value that you input input uh which is input with a number zero or not so if that part is inputted right if it's zero then we just stop the the whole program right so that's why I said do while n is not equal to zero and it has to run once so that's why you need to do a while loop so that's why I did um then I read in the value of n and then um what I do is I once I read in the value of n I create my array I call it e for the array but uh I don't know you could name it whatever you want then I loop through all the values of n from one to n to read in the array so read in my array right the list of numbers that we'd have five one four two four three right so that's what I do here remember we we want to check if we could actually put this in order using uh using the hole that we're given right so yeah all right so let's think of the hole as a stack so this I create the stack and I call it st and the reason why I call it st is because I don't know it's just good it's a name for a stack so st is just like our stack and that's kind of like the hole that we need that in this case so this hole that that is put into this case so um here into need equals to one this is the counter right the number that we currently need that which is like the next the next uh the next truck number that we need so remember we want to be able to order this these trucks three four two one five into order of one two three four five right using only given this hole so that's why we need to we use the we need a counter to keep track of the next number of the truck that we need so we need to have once we have one we need two then we need three and four then need five okay okay so that's what I do here and then I need a I have a boolean which stands if it's possible or not so if it's in what they want us to do is if it's possible to order them in one two three four five six right then we print out yes in this case output yes otherwise we print out no so that's why I have a boolean for possible okay so at this point what I'm going to do is I'm going to loop through all the values of the truck truck numbers again it's going to loop through from zero to n right this is the index so I'm going to go through all the truck numbers which is five one two four three right now after that what I'm going to do is I'm going to check while my stack which is kind of like my hole is not empty okay if it's not empty I'm going to check if the top part is actually equal to the next truck that we need because if that's the case then we could just remove the top part and add the the truck right so yeah because like in like in this scenario one two three four five right after three is gone right three is gone if our top part of our our stack four this top part of this truck is four right this if this is the equal to the next number that we need which in this case after one two and three is over right four is the next number so what we what you would do is you would keep popping off of the stack so you remove four and remove four and then increment the next truck that we need which is going to be four plus one which is going to give us five so that's going to be the next number that you need and then you could pop that off also so this is basically just this while loop is basically just every time there's a it's not empty and the top part is actually equal to the next truck that we need the top truck of our is equal to the next truck that we need we're just going to keep adding one we're going to we're basically just going to add one to the counter of our truck and then we're going to remove the first value off of our stack so in this case first value off of our stack it would remove four right so we have one two three so four is equal this the first part of the top value of our stack of four is equal to the next number after three so it's going to increase three plus one which gets us four or no yeah yeah actually yeah no no so the the top value of our stack is four right and then that is actually equal to the next number that we need so one two three next number that we need is four right so what it's going to do is it's going to it's going to pop four off of the stack and then add one to the next number so the next number is five it's now going to be five because then we add four into the line that of trucks that are there and then we have five and then we pop five off of the stack of this also right because this is not empty so we're going to pop that off and five is also equal to the next number because the next number after four is five so that's why we're going to keep popping off of the stack for that case so that's what this loop is doing okay all right now if the first uh if now if going through the going through the array now um if the value that we're currently at going through our array is actually equal to the next number that we need then all we just have to do is increment the next number that we need so like in this case if it's um let's say we have one two uh in in this in this example like one right one is there uh the next number that we need is one so it's going to just move the the truck to the right side so it's going to add one to the counter of one so it'll get to two and then two is going to two is equal to the next number that we need right so then when it's just going to add one two which gets us three so that's what this part is doing okay all right now here's a bit tricky part um if it's not empty and the top part is less than the current value of the what we're going through then it's not possible and I'll I'll explain why so like let's say we had um um one two three um yeah instead of so we have one two three right instead of this four this this was a zero so let's say this four was a zero then we know it's not possible to reorder it because the top part of our stack is zero and this is less than the next number that we need next number that we need is four right so if this four was a zero so if this four is zero next number that we need is four so that's no matter what it's not possible so here I'll I'll draw it out again so let's say I have one two three and this let's say this is our stack and then instead of four we have zero and then we have five right so the trucks are going to the right and um the next number after three is supposed to be four if I know this number zero the top part of our stack right this zero is less than four no matter what I do right if I if I were to remove the top part of the stack and let it keep going so I remove zero and I have zero here and I remove five and have five here it's not going to be in the right order regardless right if I just attach it to the end of this this train these numbers it's not going to be in the right order and the reason why is because this number is less than the next number that we need of four so that's why it's just not possible so at that point you could just break so in here it would just not be possible so then possible I said defaults and I break out of the whole loop all right now otherwise if these cases aren't are not the case right well let's say it was greater or something um then we just say we we're just going to push the next value onto onto our stack right so that's that's the case if um um that's the case when we have when you have a one two so we have one two three uh let's say this was in the original case five right and this was like uh let's say there was four here right so what this is going to do basically this part of pushing to the stack is when all any of these cases are not true that means that um five is going to be greater than one this five is going to be greater than one so what it's going to do is going to push five onto the stack of values that we're going to check later and then um it's going to move the one to the right so then this five is gone and then moves one to the right and the next number we need is two right and then um since four is greater than two it's going to push four onto the stack so then we could check four later to see if we could actually do that or not and then it moves two to the right so then four is gone and then two go two goes away right so now we have three right three is the next number there and three is the right way right three is in the right number so then we're done with three and then um after one two and three are all done right then we add four and five right four and five would be the case so then in this case it would be possible so the only way if it's not possible is if the top value of our stack is actually less than it okay so yeah that's what I do here that's basically just the code um so remember they say that they wanted to have the case when um when when the output is zero right then you have to stop the program so if input ends with zero you have to stop the program so I have to have this if condition if it's uh because if it's equal to zero right then you have to stop program and you can't display anything right you can't display yes or no right so what I did was I check if it's not equal to zero then what I'm going to do is I'm going to check if it's possible then I'll just print yes otherwise no and then this just stops it from printing yes or no when it's equal to zero so that's what this loop does this f statement does and then while the while it was done it's basically over yeah so that's pretty much the gist of this problem I hope you guys understood what I was saying and yeah rate com subscribe it's just push it putting stuff onto the stack and checking if it's possible or not possible and I'll check you guys later peace


Barabaraba beat more like taking it into account for sure beat I take it into account the demise of the petro dollar For sure. However, I live in Canada, right? So beats question was was this Might as well Give the question before I jump into it, right? So beats asking because the question came up from Bitcoin right if I would buy in Bitcoin right now to 30,000 my reply was I would if I bought at 1718,000 I lighten the load a little bit purse. That's my personal take right but Bitcoin should can shoot up double 100,000 in a day or can come down to 20,000 max so the drop is The potential for drop is less than the potential for the gain, right? That being said beats question was this You not scared of downfall of petro dollar And I mentioned that I don't do my financial decisions based on Fear and beat reply saying more like taking it into account and yes I do take it into account, but I also have to take into account where I live which I live in Canada, right? So Canada 80 plus percent of our trade is done with the United States, right? And we're part of the collective West the idiotic collective West ruled by World Economic Forum puppets neoliberals and Neo Neocons, right? That have already kicked into the World War 3 war mode, right? And if you're in the collective West the United States petro dollar the US dollar Will be the last currency to collapse relative to euro euros done euros just shit, right? You I Europe's Europe's going into full blown world war. That's Again, World War 3 they started two world wars in Europe. Third one's kicking in right unbelievable at some point all these monarchs these aristocrats these oligarchs these world economic forum Puppets and puppet masters. They will have to be dealt with if we're going to avoid World War 4 Okay, because we're already in World War 3 mode, right? So I'm not sure how many chances You know the world wants to give the leaders in Western Europe how many times I have to send the world into a frenzy and Inniolate hundreds of millions of people, right at some point Europeans for those of you that are in Europe, I know there's a fair bit of you here They're watching this live stream on from Europe.   Okay, and somehow bring about a new form of government where Anyone like these people that wants to take power in Your governments will be dealt with before they have any power Okay, that's that's my take and that goes for majority of the Western world really but From the collective West the US dollar is gonna be the last one really standing So am I is the US dollar done? Yes, but it's not gonna be done in six months or a year It'll be done in ten years. It's gonna We're gonna see its effects. We're seeing effects now to a certain degree, but not it's not as profound as Most people are making it out to be right, but in a year two years within five years Yes, and I think in that in that time frame where if you were in the West there is Certain places we have to put your funds and energy in other than just hoarding, right? This is an act of war on us as well, right individually, so we have to Do whatever we can based on our means, right some people Unfortunately are thinking that oh, they're gonna take everything they have and they're gonna put it on Bitcoin and they're gonna be very rich When the petro dollar collapses or Western currencies or fiat currencies collapse That's a fool's game. Okay. That's a fool's game that what that that played out Started really 10 12 years ago 2010 2008 9 10 11 12 at the beginning stages of Bitcoin Bitcoin is now Should be one of the arsenals that you have at your disposal to protect yourself There are other places you must have your money your funds, right? food community health family housing Garden, okay, as long as you have already covered some of your bases with Bitcoin precious metals Whatever else, right? This is a Monty multi-pronged attack on us and there isn't one tool in our Tool box that we have to really focus on All right, you could have the best hammer in the world, man You don't got no nails. You can't build a house. Okay, and if you got nails, you don't got a hammer You're gonna have a hard time building the house, right? Make sure you're diversified, which is one of the main mantras that I've been talking about since day one of Creating personal finance stuff, right? Okay. That's my take. That's my take, right?