Welcome to Jenkins Documentation Office Hours. It's the 31st of January, 2022. Thanks for being here. Topics we've got on the agenda today include news and a proposal to change meeting date and Sheikot Africa Contributon and Linux installers switch. Oh, and the weekly, shame on me, weekly change log review, which may take longer this week. There have been a lot of changes. Open poll requests. Any other topics we should put on the list? Yes, I also wanted to have a brief discussion about the GSoc meeting that we'll be having this week. Okay, good. So let's put that here. All right, good. Okay, any other topics? All right, well, so then let's go through them and onward we go. So by way of news, we've got a weekly release. Plan for tomorrow includes many changes. It may, there's a chance. It may be delayed one day for further changes. And the reason there is some of the changes, we may be LTS candidate, Backport candidates, excuse that. So because they might be LTS Backport candidates, it's better to get them into the release so that we've at least got a week before the LTS. LTS 2.319.3 is scheduled for next Wednesday. So 10 days from now or nine days from now. Let's see any, oh, and then GSoc project ideas and recruiting mentors and recruiting are happening. Any other news that I've missed?  I don't care, I know what you mean. I'm sorry, which syntax? Mentors are recruiting are happening. Oh, yes, that's right. You mean recruiting mentors. Are we getting nibbles on some more mentors? We certainly don't have enough mentors, but we've reached out to previous students. We've reached out to previous project, part of previous mentors and have received some yeses. So for instance, Natasha Stopa who wrote the plugin installation manager during her Google Summer of Code project two, three, four years ago has agreed to be a mentor. So we're getting some progress. And it's good to have those who had previously done projects be mentors because they have insights into what works and what doesn't. Right. Okay, so let's see. Next proposal was I'd like to change this meeting to happen on Tuesday at 2 a.m. UTC instead of, instead of, or to change to meet Friday at 2 a.m. UTC instead of Tuesday 2 a.m. UTC. So instead of this time, it would be three 24-hour periods later. So 72 hours later. But same time of day. Exactly, precisely the same time of day. So it'll be Friday, so it'll be Saturday morning in India. No, no, it'll be Friday morning in India and Thursday night for us in the United States. Oh, okay. I may sometimes have a problem with attending, but I'll see what I can do. I think I can do it, so. Okay, well, so would it be better later if we went, even later on, on Thursday? Or is it, is that Thursday?  Okay, and I don't want to do that. I'm trying to, this is actually attempting to not kill me. So I- Yes, yeah. Let me see, because I'm the, the issue is dog school is that night, but with COVID I've been needed much less. So I've been tending to go down about eight and we're done at seven my time. So, so I'm probably, okay, but if, if they get shorthanded on something for registration and stuff, I might have to go down and be there at six. Okay, well, so, so let us know because the, we absolutely will have to end by seven your time, because that's when Google summer of code office hours starts. Aha. That's, and that's why. So I'm trying to piggyback these two things so that they're back to back for me. Right. So it'll be a hard stop, good. So yeah, yeah, so let's go for it and. Okay, Kristen, would that be okay for you? Or is that going to cause undue hardship? I think the two of us are going to be in the same meetings. Okay. That's cool. Excellent. All right. Okay. And Diraj, okay for you. I think you had said yes by email already. Yes, it looks great. Great. Even I'll be joining the same meetings back to back. And that's, that's healthy all around. I like that. Yes, exactly. Okay. Anything else on the meeting change? Okay. I'll put it up. I'll update the calendar and, and www.jenkins.io. Great. Thanks everybody. Thank you for your patience with that. We will not meet this Thursday. Just so we're clear, one meeting a week, I think is enough for us. So, so we're not, or this Diraj for you Friday. So if this change won't be effective until about 10 days from now. Sure. Okay. Great. All right. Ready to switch to the weekly change log? Yes. Oops. Not that one. We want to do this one. Okay. Good. There it is. Automated change log for 333. Okay. So, all right. So this one needs a comment that we have to fix it later because it's got hyperlinks in it that we can't do right now. So let me make a note there. Needs links split into references after release. Okay. All right. So it's a developer category. Oh, yes. And move to the end. Good. Thank you. Thanks very much. Yes. So this one is, let's go for read it though to be sure if there's something else we need to change. Jenkins core pull requests. Okay. So proposed change log. Jenkins has upgraded the extreme library from 1.48.18 to 1.4.19. This maintenance release addresses a security vulnerability when on marshaling highly recursive collections or maps causing a denial of service. Any corrections, changes, additions you want to make there? Looks good to me. Okay. All right. Onward to next then. Jenkins can now perform startup completion notification in system D. This is part of a change that Basel's been working on to get Jenkins ready to support system D for Linux systems instead of supporting system five in it. So we're joining the modern age. I guess. And I think it's actually sufficient there. So although we usually don't use, use the word Jenkins in the text. So maybe it's, let's propose an alternate. So then startup completion. So text says Jenkins can now perform startup completion notification too. Ken, so at this point it can do either one, right? Yeah, so there isn't such a thing as startup completion notification for system five in it. So yeah, this is a new capability. Okay. The ability to use system D was already there. Well, no, the thing, well, this is, okay, so what it says is, how about as an alternative, notify system D, notify system D, maybe it's right, startup completion note, how do we say it provide startup completion notices or notification to system D, users are on systems using system D on. Startup completion notification can be provided to provided on systems using. Ah, good, okay. Something. No. Or is available? Yeah, that's good. Okay. Now, can we just say with system D? Yeah, yeah, that actually makes it clear. Do they need a link? I mean, is this just automatic or do they need to do anything if they want this? So when the, well, so this until the installer is actually delivering system D, this won't be visible to them. Oh, okay. Or I guess it will be visible to those users that are, that hacked the Jenkins installation and created their own system D based environment, but that's atypical. I'm, yes, there are a few people who've done it, but that's not common. And if they did it, they probably don't need any stinking documentation to tell them. Right, the fact that they did something as exotic like that is usually a hint that they don't need help from anybody. Right. Okay. Okay. Good enough, go with that. Yes, yeah. Okay, great. All right. Then update the bundled mailer plugin and the bundled matrix project. And these two, I don't see any point to actually notifying those. Yes, we updated a bundled plugin, but it doesn't, it's not typically been in the changelog. So I'd propose to skip the changelog there. Let's go read the text and see. Oh no, this intentionally includes changelog entries. Okay, so if it's intentional and yeah, yeah, it's intentional and Vodak did it, I think we leave it in. Is, I wonder why, I mean, these aren't things I expect to see Vodak messing with unless there's a security ramification. And that's what he says here is after the advisory, should we put some text in there about the advisory? Or just to improve security and a reference to the advisory, is that good enough? Yeah, that's easy enough to do. So, and here we could embed this link. So we're based on security advisory that, I'll have to look to see how we've done that in the past. Okay. I mean, in a way I like, even if it doesn't affect it is good for people to see that we're constantly doing things to improve the security of Jenkins. Yeah. That's sort of the message. They may not care about the, and we've already told them that if there's an update, they should get it so they will get the benefit, but. Good, right. Okay, next, remove assets that have since been replaced with SVG versions. I suspect assets should probably be images. Yeah, remove a large number of static assets, which really means pictures. Right, it's like that would be less confusing. Okay, so, and we use present tense. So images, no, do we use present tense? I don't remember now. We should, yeah. Could lose the sense, I think. Yes, right, exactly. So before this, did we have... We had PNG files. No, we had, yeah, we had PNG files and SVG files. And this is saying we don't need the PNG files anymore because the SVG files are scalable even on exotic, beautiful displays like your Mac OS display. You're having fun with this. Um, so, so do I wear these images? Are these in documentation or are these elsewhere in the product? They're inside core. So they're part of the pictures that are rendered by Jenkins on its web pages. Okay, is that we're saying remove web page images that have been replaced? Yeah, for me, the trouble is they're really pages throughout the whole application. So yes, the pages are all, the things are all in fact web pages, but it's the whole application. Okay, yeah, that's good enough. And do we, yeah, I don't think we need to expand the SVG, right? Yeah, I'm almost thinking, but I see it's not technically, it's just that we've replaced PNG images with SVG images. Right, PNG and possibly some GIF images with that, yeah. Would it be, we're saying in core, in Jenkins core? Sure, in core, like that. Yeah, is it, should we, or should we say Jenkins core, I don't know. And I'm, because this is the changelog for Jenkins, I'm hesitant to use the word Jenkins. Okay, core catalyzed. I'm sorry, go ahead, Kristen. Oh, sorry, I'm going to realize, when did we add the SVG images? Is this like just taking about, and this is just taking about, it's not like doing the full replacement in this VR? Yeah, so we added them across multiple revisions over the last three or four or five months and have been steadily fixing plugins to remove plugin references to the pictures, to the PNGs. Okay, so I was like, oh, it could be, I'm like, are you using the wrong like move here? But yeah, yeah, this makes sense then. Okay. Okay, what's the label of upgrade guide needed? It says that this needs to be included in the LTS upgrade. Okay. Okay, and that happens, so that happens automatically? Well, automatically is such a strong word. That happens because a writer reads it and says we're going to put that in there. Yes. Okay, cool. So what we'll do is we'll search for upgrade guide needed, pull requests that were merged, and we'll be sure that we bring the text from those into the upgrade guide. And the writer will fix that, edit the syntax in this, right? Oh, well, if there's actually, if you've got edits for that, I will happily take those because I am the writer of the upgrade guide. Oh, there is more updates. I'm sure. In case there are more updates. Okay, so let's see. Where do we see? Period. Okay, first let me use, so, okay. So I'm sure all your plugins are updated are the most recent release before updating core. Otherwise, you may see missing image, you may see missing images showing up or otherwise images may be missing. Right, period. Check. I see, there's the singular versus plural that you're writing. I just went from the bottom up, that's all. Yeah, check after you've updated. After, yeah, let's see. Check after. After updating, check the new version. Okay, so after check for new plugin versions, immediately after the core update. Okay. Is that a fair way to say it? Yes. Okay. Or maybe it should be, yeah, it could be install, the latest plugin, yeah. And install available updates. Okay, good enough. Good, looks better. All right, back to the change log. So update site warnings can now be configured with configuration as code. Oh. Yeah. No change for me there, that feels good. Any, anyone else want a change? And I assume there is upgrade guide information for that. No, actually, I don't know that there is, this one's pretty easy. Except if I'm already running configuration as code, if I start new to do a new configuration, that's good. But what if I've got an existing configuration, do I automatically pick these up? Do I have to do something? It actually is automatic. Okay. So when I look at, when I view the configuration as code sample, these will be included now. Okay. All right. So update site warnings. Now the next one, which is this one, 61 93 that needs some fixes on it. Whoops. 61 93. I said. Okay. So it says, ah, we need to get rid of the word entry one. And now did it get the correct? It did. So we, I don't think we need to put that. I don't think we need to. Handle label expressions when applying trim labels. How do we turn this into words a user will understand? What are, yeah, I don't know what it's talking about. Right. Exactly. And that's, that's where, okay. So what, what this is is when, when a cloud provider. Is using. When a job request. An agent that would be provided by a cloud provider. And or condition in the. Label expression may cause multiple agents to be started when only one should have been started. So if I ask for AWS or Azure or Google Cloud. I may get one of each of those trying to satisfy this request until this change is brought in. So should it say something like. During when applying trim labels during cloud provisioning during cloud agent provisioning. Yeah. Or when provisioning. A cloud agent. Sounds good. An agent. Yeah. Cloud agent like that. You know, when, okay. Too many when's there. So handle label expressions. By applying. Trim labels. Or in, wait a sec. Handle label expressions in trim labels when provisioning. Maybe it's just this. Handle label expressions when provisioning a cloud agent. Why do they care about trim labels? Even then. Do I care about label expressions or do I care. Yeah.  I get the one. Oh, right. Right. And that's meaningful to me. Label expressions are lovely. Right, right. Exactly. You're right. So. So the answer is. This is really. Do not. Launch. Only one agent. To satisfy. Cloud agent requests. That use. Label expressions. That makes sense. Beautiful. That. Seam okay. Looks good to me. What do the rest of you think? Sure. Yeah. Yeah. Well, let's, let's go with that. And okay. Onward. So. Jenkins terminates cleanly when receiving a term signal. This is 62 30. So is it. Run the Jenkins. Run the cleanup. System. Now cleanup. Method. Functions. When a. Term signal. Is received on. Unix. Systems. But it talks about it happens only when Jenkins. Terminates. Ask your question again. I'm not sure I understood it. Yeah. I'm just wondering that. There is the word terminates. So do we want to include something like that as well? Oh, oh, I see what you're saying. Okay. So in this. So this. Word is important. Before. Okay. How do I put it in there? When. Stopping the process. Due to a term signal. And maybe it should. Stopping the process. Due to a term signal. And maybe it should be before stopping. Before exiting the process. So I'm. That I'm not sure how to use the exact word terminates. Any alternative alternative suggestion there. Even I'm trying to think. I mean, we could say before terminating. Or before a. Yeah. So in the original sentence, what does this cleanly means? Like. It means that. That previously. When, when. That.  Was received on, on unique systems. So like Linux, Mac OS, free BSD, open BSD. This shutdown hook would not be called. The things that should have been done. Due to a, an attempt to exit nicely. We're not being done. If I terminated with this. Unix signal. And that Unix signal is sent by things like a service, service manager. System D, for instance. It informs processes. I want you to stop. By sending them a term signal. And it's expected that the process will handle it and receive that term, term signal. Act on it and then exit. And so what, what it did before was it received the signal and just exit it without acting on it. So now that he's registered a shutdown hook. It should receive the signal act on it. And then exit. That makes sense. So like. Safe. Domination of process. On receiving dom signal, something like that. Yeah. And I'm hesitant to use the word safe because. I don't know that, that he intends for. Safe is a safe is a relative thing in this case, right? Does it kill any builds or something. And in fact, it may do that. Right. Because. The signal arrives and usually, for instance, Linux shutdown, the shutdown process, shut down minus R.  But if the process has not exited within a certain time out period, it will just send a kill minus nine. It will. It will send a heart an unblockable kill to it. Yeah, that's true. Right. Is it legitimate to refer to it as a term signal? It is. I think, I think that's. Signals. Yeah. So send the. Term signal. Yeah. Right there. Yeah. So here it is. Right here. Okay. So. Well, and, and I'd have to look at, I mean, we could look at free BSD. If we want to look at somebody who's really serious about their, their use of words. I just noticed that in the description, he calls it sick term. And that's the, that's the, that's the C definition of it. Right. So. Let's see if we can find. Okay. I don't see. It in free BSD. Let's see about the even more pedantic people open BSD. Nope. So they don't call it. Term. They call it.  There it is. Signal 15 term. So is that the same number as sick term? It is. Yeah. That's. Sick term is, is 15.   That's really sad that I would be able to say such things. Okay. Okay. So we're, we're somebody's being dated here by a, by their recollection of obscure arcane things from header files and Unix. So back to the wording. We could call it Unix terms. Signal and take out Unix systems. Cause that's always confusing to me, whether you actually mean Unix or do you mean Linux and Mac and open BSD. And in this case, I mean anybody that's POSIX compliant.  Yeah, it is. A POSIX signal. They're the same thing. Right. So here we go. 15 termination signal. Sick term. Right. I'm just, just calling it term just bugs me, but no. Well, we could, we could use the words POSIX uses termination signal. Oh no.    So you're, you're, you're dating yourself as bad. I'm not. I know I'm more dated than you are, sir. Okay. Other comments. So do we need both sentences that you're going to delete the first no, I'm going to delete the first one. Yeah. Yeah. Like that. Yeah, cool. That's okay. All right. Okay. Next. Oops. Wrong one. Okay. Expandable text boxes expand content into multiple lines again. Regression in. Two very surprisingly old versions. I think this was fine, except it needs that hard stop on the end of the line. Rather than all the again stuff, could it just be. Correctly expand. Text boxes or something like that. And the fact that we show a regression. So, okay. So expand. How about this? How about, okay, I like, I like where you're going. How about this? What if it were expand. Text box content. Into multiple lines. Correct. Okay. Cause yeah, I was like, it felt weird to have expanded them. Expandable and then expand. Right. Okay. So now, but, but I think. Daniel intentionally included the word expandable here because some text boxes are not expandable. So correctly expand. Oh God. It's their syntax. Expand expandable. I was waiting for you to say, I know what it's like expandable text box. I know it's like, all right, the source. Dot com. Let's find this. Correctly render. Text box. Yeah. Render. Can we correctly render expandable text box content? Well, okay. The problem is what, what happened was it. This is the fun part is it deleted white space from it. No, I'm explaining. No, maybe not. Maybe I'm misreading this. Okay. Let's go read the bug report. I thought it was that. It was doing things that. Okay. Expandable text areas strip spaces. Attempt to expand a single line into a multi-line text area. Strips all spaces when you hit the button. Okay. Back to the wording, but that's details. What as a user, I just see that it isn't expanding correctly, right? Right. So correctly render expandable text box content. Text boxes. Into multiple lines. Yeah. Back to expandable. Oh, right. That looks to me like what I see. As a user, but what do I know? Okay. Well, but. Yeah. This is now lacking the, the new phrasing lacks the description that. Hey, it's when you do the expand action. Do I care? I don't know. Yeah. That's a good question. Maybe, maybe that, maybe you're right. The answer is. Yeah, that's, there was a case where it didn't do this. It now does it correctly in that case. Yeah. All right. So a new phrasing. Okay. I like it. Okay. All right. Next. Drag. Keep the same site. Same height when using drag and drop component. Okay. So here we see what's happening. It used to be that when you would drag. The thing that was being dragged would collapse to be very, very skinny, very, very short. And now it's back to doing what you expect, which is it should look like you're dragging the whole thing around. Okay. Okay. So. Keep the same height when using drag and drag, oops, drag and drop. Component. Or when dragging and dropping. Yeah. And like that. Yeah, or I don't know a component or not. It's a component of an object. Yeah. Component is. Component or object. They're both, they're both sort of. Meaningless words to say a thing. So that either one works great. Yeah. Okay. Sure. Okay. Yeah. Now we don't have that one listed as when it regressed. Just a minute. I think we should. Jenkins. 67. 496. Okay. This was. Since two. 277. Okay. So. Okay. Okay. This was. Since two. 277. Okay. So. That's a long time regression. Let's fix that. Add it. Regression in two. 270. Was it 276. 277. Okay. Next. Wow. Sorry. We have taken a long. Oh. Yeah. I think we could get rid of the double negative that's implied. I know. I mean, he's right. It's do not show the incorrect. I mean, I, it's probably technically more accurate. It is. It is absolutely technically accurate. And still, I think it's, it's, we have literary license here to. To, to accept. We're going to do something that's less technically accurate. And. Okay. So. So what was it? It was. Correct. Just goofed just a minute. Okay. Show correct feature name. Okay. Show correct feature name. In tool tips. Of help links. Now it's, that's losing the information of some. Because we've inverted the sense of the thing, but I think it's still. Accurate enough. I think so. Now, is this a regression? Or is this something that's been screwed up since the beginning? Well, that's a very good question. Yeah. I bet it's a regression. I just don't know when. Yes, it's a regression. And. When was it introduced? I don't know. I don't know. I don't know. Let's play check boxes in the UI. Is that a link to the new check boxes? I hope so. Let's see. Yes, there we go. Which labels from entry to check boxes, which was done in two. 179. So we're going to assume it's regression since. In two. 179. Except you just add that to the line you're going to delete. Regression in regression from. I guess I should read it and see regression in. Okay. Got it. All right. So okay with that. Yes. Up. All right. Okay. So that's it. You've been very patient. The others were all suppressed. I'm going to go ahead and ask core to again run its change log. And they're in the right order. There was just that one that was dev that. And that will have to be corrected after the fact. Yes. But all the others are, I didn't, I didn't notice on the others. I wasn't paying attention. Yeah. If I have to touch one, I'll double check all of them. Okay. Okay. I think, all right. So it's running. Great. Next topic. Sorry for the long run on that one. Okay.  So do you have a question about Google summer of code office hours this week? What was your question? Yes, a small one. Like what is the scope of discussions that can happen in this meeting? Like. Just a doubt solving or a participant can. Discuss the progress that they've made as per an idea. For a particular project. That can be discussed interactively in that session. It can be discussed in Gitter. Absolutely. So that session is open for any topics. Any, any, anything that will help the candidates as they. Prepare their proposals. Right. So let's say if a candidate has made progress in terms of code and. They want to. Show the demo. Is it a right thing to do? Absolutely. They could show a demo in the office hours. Yes. Oh, okay. Now it's, it's a place where, hey, what, what we're trying to do in the office hours is assure that we have resolved the concerns of candidates questions. They may have. How do I do a good application? How do I, how do I write this proposal? What are the things I should be considering? That sort of thing. And the demo is a good way certainly for us to talk about, Hey, here's how it feels. Most of the time, a demo would be a surprise for me just because. I wouldn't expect to see implementation of the project yet. That usually happens during. The summer of code funded, funded time. However. You could show a demo of a prototype or, Hey, here's the idea thinking about this. Would this, this be more better or this other thing. Did that answer your question? Yes. It did. I asked this question because. Then someone shows a demo. It wouldn't be fair for other candidates. They might be thinking, Oh, he is. He's knowing. They're implementing in stage and we are not yet understood the project. So it might not be fair to them. That's why. Well, and, and I'm much less worried about, we're much less worried about fair here than we are. We are about sharing. We want to be sure that everything we possibly can encourage them to do.  I mean, I'm not sure what you're saying. But I think we are. And we're, we are about sharing. We want to be sure that everything we possibly can be encouraged to be shared is shared. So that's why we invite candidates to create public Google documents that are their plan and that they invite reviews from mentors and from org admins. And also other candidates can see those documents and it's intentional. Because we like for people to work off of each other's and say, oh yeah, that was a good idea. I should do that. It's open source and that's one of the ways. This is definitely not a closed source proposal project process. Sure, that makes sense. Great. Okay, any other questions about office hours? No, nothing, nothing much. Okay. All right, next topic then with Shikot Africa Contributon. I posted the project ideas, suggestions to community.jenkins.io. Here they are.  Gavin Mogan suggesting, hey, consider automation to capture the screenshots. And that sounds terrifying to me, but I think it could be an interesting programming task for somebody who really wants to learn Selenium very well. Or Cyprus. Or Cyprus, right? Or whatever. Yeah. He lists several, right? Capybara, Puppeteer, yeah. Yeah. I mean, people avoid, I've done it, I've avoided using screenshots because I don't want to have to maintain them. Yeah, it's hard. It's hard. Right. Well, and writing code to get to those screenshots can be every bit as hard or worse. And it is sad because sometimes it is the best thing to do. It's just to show a picture, right? Because it's like, oh, if things are so much easier, if I can just, you know, see the picture and then we know exactly what we're talking about, but you're right. It's hard. It's so hard to maintain to keep them up to date. Yeah, well, thankfully, the UI has been quite stable, but we've got significant changes coming in this 2.332.1 release. And there aren't actually terribly many screenshots in the documentation. So it's not a huge update, but it could be in, I think it is an interesting project. But again, I think the contributing guidelines actually suggest not using too many screenshots because of the nature of the problem. Right. I mean, this is the third major change in like two years, doesn't it? Because we had a, didn't we have a color change?  Yeah. So we've had, we've had, we've had multiple changes. And, and those changes, I was just looking at a screenshot today and that the changes are surprisingly close to what we've, what we've already got. So it's, we're, we're actually okay. Well, there's other things, if you had, say, actually, along with that would be code, as I'm thinking, this new stuff that's in configuration as code, if I listed out a configuration as code file, that would change now. And it's not technically, it's not technically a user interface change, but yeah, yeah, for me, that I shouldn't do it with a screenshot, although people do. Yeah, that, that's, that for me is quite separate from configuration as code really, that's, that's a, it's code and therefore write it as text. Yeah. All right. So other, other challenges here will need mentors. I've placed several of you, the docs in general in the list as mentors. So just so you're aware of what I said about you, inclusive naming initiative code reviews, mentored by us, and screenshot updates mentored by us, test the tutorials mentored by us. So I'm still looking for others who are interested in mentoring. Oh, did I spell your name wrong?  Let's correct that. See, that's what you get when you have an Italian writing. Okay, so. So I have a question here. You were talking about using Selenium and automating. So was that a sarcastic or is it? Oh, no, no, no, that was, that was, that was Gavin Mogan making offering it as a suggestion. I find that kind of automation a little unnerving because so what he's suggesting is here is, Hey, you could automate it and take screenshots as code and and I, I think it's interesting. But for me, I hesitate. I have a hard time imagining that the automation effort is worth the gain that we get from it. Yes, we could generate screenshots every release then. And absolutely it would be show the current screenshots, but do the screenshots change enough to justify that? I think it might mean being more for trying to get a more coding focus project idea. Yeah, maybe that's probably what he was angling for. Yeah, and in terms of, you know, the different ideas, maybe it's not going to be like if, you know, you only have three slots, it might not win that perspective, unless there's an incredibly strong proposal. But well, it might be a better candidate for GSAC. I'm getting the feeling that the the she code Africa people are more interested. Well, if they're going to do coding, they want to do JavaScript, not Java, right, let alone Python or something like that. Right. And, but, but there seems to be, I was surprised there was actually interested in technical writing. There's a lot of interest, I think, in program and product management. There is more interest in some of these other things than in hard coding. And I don't know how much I don't think I'm getting the idea that the African universities are not offering real sophisticated coding curriculum. Right. And that matches with our experience last year, right? Last year, the five candidates, they were top tier candidates, but they came to us with almost no Java experience and strong JavaScript skills. But we didn't have a way for them to apply their JavaScript skills. So we put them into very deep water when we had them start doing Java based development. And that was that was great, but it didn't seem to fit them really well, whereas these are much more well suited to a brand new person who's just starting and may have no Java experience whatsoever. Are there needs, I mean, because the the movers and shakers of the Java community are of Jenkins community are hardcore Java people and Maven and all this sort of stuff. But there's npm. There's a lot of JavaScript stuff out there. Are there things that need to be done to better support JavaScript? Well, there's there's a lot of work going on in JavaScript. But the problem is, it's not well suited to a first first time first time contributor. Okay. There's Uli Uli Hoffner and his students at the Technical University of Munich are doing significant contributions in JavaScript. And they they they really really look good as a result. But that's with Uli's mentoring after five plus years of him doing it and being very close to his students as they make progress so that he can coach them and mentor them. These these people just don't have the context to do that caliber of contribution. Yeah. Cool. So, coming back to this, I'm sorry, I need to ask a basic question. So the screenshot that Gavin is mentioning is regarding the weekly change logs, right? No, no, no. What he's suggesting is screenshot updates for anything that we would need to update as part of this. So it's not the change log. Okay. So where would those screenshots be visible ideally? So let's go looking. Let's find a few. So I was just looking for these. So if we look at documentation, managing Jenkins, I think is a good one. No, let's do some quick scanning. It's using Jenkins. Here we go. This one. So for example, notice this screen adding new global credentials. This is one that's not far off from what we have with the March LTS, but the March LTS has changed it. There's a slightly different look to this page. So this is a screenshot that would be benefited by an update. Okay. So it's like all the screenshots that we have on Jenkins' website needs to be in sync with the current way of how it looks. Right. Yes. Yes. Very well spoken. Yes, exactly. And what Gavin's suggestion was, hey, conceptually, you could define something with Selenium that says bring up this page and take a picture of it. And of course, the other caveat, but again, something's better than nothing, is that those screenshots were not what was there a year ago, say. Right. And the change, I mean, the change in the UI last year required changes in the organization of the text, etc. Correct. That's the groupings and stuff. So that's going to happen periodically. Right. Oh, and yes, and you're right. But there's another thing, if we could automate it, the potential that you could localize it. Yeah, conceptually, localized version, they could see the screens that look like what they've now, I don't know if that works without the rest of the text. Yeah, conceptually, yes, that's, that's correct. If, if you did something in Selenium conceivably, you could automate the presenting it in multiple languages then. Right. Yep. So you were saying that this is not worth the effort or something like that? No, it's that it, well, well, I'm showing my biases. And so dear, I just don't let my biases rock, just dissuade you from being interested in possibly trying it. For me, putting a Sheikot Africa contributor on a Selenium based project is a recipe for disaster. Because my experience after lots of attempts was that Selenium was just an absolute train wreck to create and maintain. Now, Cyprus may be much better. There may be other things that are better. I just know this word has that one has burned me multiple times and I'm not willing to mentor somebody to have that kind of a terrible experience that I had. Right. And it was the very least of, because Zainab said, I think last year we did not really specify in detail what background is required. And Zainab said that we could very much specify, like, you know, that we could have some stuff in there that requires. Yeah, must have Selenium experience or must, yeah, right. And, and that would be so we could put it on the list, but it might mean we don't get any candidates to fulfill it. But you know, some other crazy group might show up in six months. Some university professor might come and say, I've got all these Java programmers working with Selenium and they need some real work to do. You got anything. You know, I mean, do we have a back list of just ongoing ideas that We certainly have more ideas than we have people working on them. Right. That's all right. So we've we've hit our time. My apologies for going so deep there. Any other topics before we close for today? No, just one quick that big security restructure. I would really like to get that merged. Daniel nine days ago or something tagged himself to re-review and nothing's happened. But yeah, let me I'll check with him to see how he's doing. He was ill yesterday. And so I don't know if he's don't know if he's back. Yeah, I don't want to pressure him. It's one of the it's like I will it is not perfect. It is far from perfect. But it fixes some stuff, it improves some stuff. And it gets the structure in because we've already had one case where he had a new feature. And so he went in and rewrote the old doc to reflect the new feature. And then we had to go back and I and the fact that I'm going to have less time to work on this, I would sort of like to see that in there.  So okay, so let me question of when do we get to the point where we say this is good enough and there we can do another PR later, right? I'll I'll check with him and see what he thinks. Okay, anything else? No, I'll just continue the discussion regarding that screenshots with Gavin on guitar, I think. Great. Dear Raj wants to do that, don't you? Yes, because I I've worked in a good Selenium as part of my internship. So that's why I was thinking like maybe I can ask Gavin how that would look like and then see how it goes. Good. Would that possibly be a GSOC project then? Or it could be. Or is it just a hackerfest topic? Well, it could be because there is I simply cannot in good conscience put that task into Sheikot Africa. I've not had any experience that hence they would be successful. But a Google Summer of Code project idea, that could work. Yeah. Or just a project, dear Raj. Yep, that's interesting. I was just thinking like maybe a hobby project, but if it's GSOC then even better. And a hobby project would be great as well. The thing I'm trying to warn is I cannot in good conscience put this on to a brand new person who has never done Selenium coding. He's working with Windows also. Right, and who may not have a great internet bandwidth and who dear Raj, you've got the experience and you've got the professional background that you've used the tools. So you you I could see being successful at it. One of these contributors from Africa, I just can't see them being successful with it. I mean, this makes sense to me. I didn't know that this topic was under Sheikot Africa, then I noticed. Yeah, that makes sense. Okay. Great. Any other topics? No, nothing from myself. Okay, we'll call it done. We'll talk to each other in about 10 days then. Thanks, everybody. Take care, everybody. Bye.


This combination allows the material to have high infrared radiation emittance and high solar reflectivity resulting in effective cooling and heating depending on the orientation of the material. When oriented towards the sun it can provide cooling while when oriented away from the sun it can provide heating. This material can also be used to provide thermal management over a large temperature range as it can be flipped between the two orientations to achieve different results. This article was authored by Pinyang, Jejunhee, Yenshanju, and others.