 Welcome everyone. It's the, it's the 11th of February in the area where we're focused today. So it's early morning, 11th of February. This is documentation office hours. It's, I think, 730 am India standard time. So thanks for being here everyone. And topics I've got on the agenda typos with Gavin Morgan news Jenkins is the way content. Gavin's been our creator there and then Google summer of code if we've got any topics there. Africa contribute on that's me. And then the Linux installer switching the system D is a worthwhile topic for discussion about how do we communicate, etc. And then make sure we have something for open PRs. If we have time for it. Yeah, I got that list there I didn't move anything up. Okay, so yeah and bring in the list great. All right. Deraj anything any topics you wanted to bring. Yes, I do, but I think it will be under the Google summer of code office artist topic. Okay, great. All right, so let's do that then. Okay, so Gavin, in terms of news this week we had Jenkins 2.319.3 released as an LTS security fix. The first thing that was fixing was a medium vulnerability so not terribly risky. And we had 2.334 weekly that released with the same and next week Jenkins 2.335 includes modernization, which has been a long running pull request that is now merged and so the first time it will appear LTS is June. Any questions about the news for modernization that's the UI change you've been talking about or is there more you are well there there have been multiple phases of UI changes right so we had, we had the switch from divs for layout that happened about nine months ago and in the 2.319 series we had some, some UI improvements now in 2.332 there's another set of UI improvements, and this is the next generation after that so the March LTS will have one layer of UI improvements and then another layer happens in the June LTS. So in terms of going through and scrubbing all the docs for screenshots that need to be replaced and stuff should we wait till the June LTS do you think it depends this one I think we'll have to we should look at it and see show ourselves some demos to compare it after this weekly is out to see how how dramatic the changes are I believe that's mostly in configuration forms, and those kind of screenshots are quite rare. I did bring that topic up as a, I think it was she codes Africa idea but at some point making notes maybe not doing it yet but yeah automate the screenshot process just by like writing down first steps would be running down how you get to it right. So like a metadata somewhere in the ASCII doc or a separate YAML file or something just so that the next person who takes it knows how to repeat it. And then a later project could be taking that data and actually automating it so you can you know generate new screenshots every release if you wanted. Good. Okay. I think it'd be a fun summer project, you know, I don't I think it can be done easily within a month. Like, there's a lot of tooling out there it's a matter of practice and describing and describing is actually the hard part. So, you know, I think whoever implements that is going to own the hearts of every tech writer in the industry. It's probably been implemented like a thousands of times in different companies but I doubt there's like a tool that does it so. Yeah. That reminds me a quick way I don't want to go down a premise path but I just happened to check the CD slack channel this week. And there's a whole slew of new people that have shown up there. I think they're looking at summer of code. I was almost tempted to go on yesterday and say something hey we're glad you're here and if any of you are interested in any documentation work we'd love to have you join us at office hours. I thought I didn't I didn't know exactly between CD foundation and this I thought I'm not going to step into anything until I check with you. Oh good. Well so and we'd used CDF slack channel in the past for for Google summer of code so we may want to. Let me talk that over with Mark to discuss with john mark and Alyssa because certainly we've had good attendance at our office hours for Google summer of code. But if there are people on the slack channels, we can help them by pointing them towards towards other locations. Yeah. I don't think it to me that all these people are running. I'm here I'm interested in this stuff, and nobody was saying back hey we're glad you're here so. I don't think there's ever a problem to invite them though, like you can. Next time someone shows up you're like, you know hey cool welcome to CDF. You know, you know I help out with the Jenkins project. We're always looking for new members you can come and hang out with us or just learn from us or you know, like it doesn't have to be you have to join the project we're just like hey, we're around if you want someone to talk to you. Right. Well, and we can, we can certainly answer there the in the past the last year's GSOC projects were five of the six that they ran were from CDF were Jenkins projects. And so they may be there just thinking that hey this is where the Jenkins project will be again. And so it's no reason we can't respond there. Good, good pointer. All right, any, anything else on the news topics before we get to other topics. So since we have discussed this topic, the screenshot description that you mentioned, actually my. I want to discuss the same thing as well under GSOC office as topic. Okay, so my question is, yes. So my question is, so I'm trying to understand that would this be a good GSOC idea or is it like very easy to implement. I know we discussed but it was the conversation was really fast for me to understand. Kevin, what do you think so GSOC GSOC. I have never got involved with GSOC before so I don't know the answer to that. There's lots of tools out there to automate the browser. So I don't think that's hard. The hard part would be taking something that's human readable like the YAML file or ASCII doc or somebody asked, and then reimplement those steps and then save the screenshot. So the typical GSOC project should take. But I don't know, I like I can, I could do it because I have a lot of experience in this from past jobs. It probably take me a couple hour, a couple weeks, maybe less. And so a new new person to this would be new to just put anyone. So I would say it's probably a month or two of you know, six, eight hours. And if that's something that a GSOC is sized, then yeah, that sounds good. If not, I can always help out someone doing it quicker and smaller or all end up doing it someday when I'm frustrated. Are you willing to mentor somebody else because I would think being mentored by you would be a tremendous career boost for somebody. I can't commit to mentoring because of time zones. So I can help out a lot, but I can't like technically I'm to still work right now. Okay, got it. So someone else wants to mentor I could help the mentor I just couldn't be the primary mentor. So even even if if it were later than this doing the mentoring because the, the many of our students are like dirage from India standard time. But it's like 5am India isn't it. No it's 730am. So maybe I mean yeah I mean I definitely help out I don't know if I would want to run a project or anything, but I can absolutely help out I can code review. I can do that kind of thing and just at this point I'm not sure I'm willing to commit to mentorship I wasn't expecting to because I thought time zone was more of an issue. Got it. Okay. We could specify type can we specify time zone for stuff. We certainly can for the mentors the mentors certainly have known time zones and we can they can describe when they're available and when they're not. So, did that answer your so based on my guess if it's one to two months of full time work that's a good GSOC project idea, because GSOC says three months of half time work. So what GSOC says is three months of 15 to 20 hours a week. It would be shorter if someone new Selenium. But I think one to two months is probably normal for any new new student type thing. Yeah, and given that. Okay, so Gavin and I come from very different worlds my world is I hate Selenium and I think it's a terrible thing to have to do with Gavin just effectively. I have frustrated Selenium too but there are newer tools that are suddenly and like that are not as flaky as Selenium but knowing Selenium as a concept means you can apply it to other ones pretty easily. I see. Okay. So, so the Dear Raj did that address your question. Yes. So, it's not a strict no. So that's good to know. Quite the opposite I would say it's a, it's probably a strong yes. But if we're going into gifts and videos, then yeah, I would say absolutely. I'm just talking about screenshots here. But there's probably a lot of things there's, you know, things that mark have made videos for that we could do the same thing expanded after the fact and say, cool, now we've got screenshots now we want to do screen recording. I'm not sure if I understood the recording part. So this concept is really just about taking screenshots, but a screen a video is just a collection of screenshots. So Selenium, I don't know if Selenium does it natively, but it's not hard to say okay, we take a screenshot every time you click on a new action and then you build that into a video. And that's, I mean, it's not hard code. It's just literally saying, okay, these 10 screenshots run it five seconds apart. Now it's a video, or now it's a gift. So we start with screenshots, then we can move on to replacing gifts with repeatable tools and then videos to the line. So if this is ends up being too short, there's lots of rooms to improve. But this is all new to me. So again, don't know what we're looking for. Okay, so I understand that some couple of screenshots put together can be looked at as a video. So, so how would that look like on Jenkins.io website? Like, how would you publish it? A gift or an MP4 or something, yeah. Okay. I mean, this can expand infinitely because at these days you can actually make text speech very effectively. So some of the tutorial videos, again, this is just I can, you know, I can spend the next year coming up with ideas to extend this. So I wouldn't go too far into it, but we can always find more things to do if we finish something too quickly. Imagine replacing Mark with full scripts that auto narrate every time a new version of Jenkins comes out. Mark will be out of a job. Right, right. I feel threatened. All right, what I mean to say is Mark will be freed up to do things he likes doing better. That's great. It's so great because once I got hooked on the idea of doc is code, but I quickly saw was in there is no way we have nothing equivalent to a regression test for content. Yeah. And I, you know, and I looked at it and said I have no idea how you could ever do anything like that. But this is starting to chip away at that problem. I'm very much in the very much in the do one tiny piece, instead of trying to sell the whole thing. So, you know, I've spent the last year trying to get those preview environments working for this reason so that you could see what a docs. When someone makes a submission, you can be like, Oh, I can see this instead of guessing what it looks like. You know, the next, the next phase is okay, let's see if we can automate this piece and we can automate this piece. But if I tried to document the whole thing up front, it would be very overwhelming for anyone. Yeah. And it isn't how we got where we are on software testing. Yeah. No, so it's the right way. I'm just saying it's the big picture is still interesting not that we have to plot the solution to the big picture to do it. And each, and each time I come up with the idea I figure someone else comes up with three more ideas, you know, so I'm just, I just pitched them and see where they go. I'm excited. So do you rise more, do you have more questions. You can also tell me to slow down because I talk really fast. Oh, we may have lost your eyes. I think he had to just rejoin. Yeah. Yes, I'm here. Sorry for that. No problem. Did you did. Are you have your questions been answered or the more questions you would like to ask. Yes, so some of them are answers I have two more. So first one is, I didn't want to get too technical, but just wondering like how would you get the steps from a YAML file, like what kind of steps are we talking about there. And what do you want to do with that. Yeah, those are the very good questions. And I don't know the answer to right now. I don't think I think that's something for the student to work out. You know, this might be something, you know, if, if Mark has done the last 10 screenshots, this be really nice for someone like me to come around and go, OK, these are my instructions and the next person writes down the next instructions. And then after two or three people do it, then you're like, OK, cool, these instructions make sense. We can build a program from this. And then from there, the next screenshot becomes easier because we have example right so I don't think we want to define the steps right now. But my vote would be YAML because most of the Jenkins docs are YAML. No, not docs, but you know what I mean. Okay, so yes. I mean, there, I've seen concepts in, in Selenium test suites of higher level operations that then would be referenced by something in a in a small DSL a small domain specific language that says, open the login page and open the login page turns into 20 20 or 30 lines of Java code in some library somewhere. Yeah, so that kind of thing could be just a small domain specific language. And something like a cap, not spell it capybara in Ruby is the same sort of thing right there very very English friendly things which are like, find this link on the page click on the link move to this next section. So there are tools that are out there to do it. And what about take selecting a part of a screen. Or one thing that I think about that we haven't done because it takes proprietary tools as far as I know but say the new item screen which is way too long. And you want to talk about something that's at the bottom of the list so you do the little thing where you sort of cut out the middle of it and you make it look like a torn page so that they can see the top of the screen in the bottom of the screen but have a small size size, or we have somewhere you just take a corner of the screenshot and want to point that out. So we also need to like the coordinates of the screen where they were taking the whole screen, or a part of it. So, focusing on an element is relatively easy this is something JavaScript, you know, any Selenium base or any browser based scripting go hey JavaScript, where is this element on the page and whatever its coordinates that's easy. I mean, relatively easy doing this the more you artistic licensing which is like you know, splitting up a page shopping it up that would be more difficult. But there are tools image library tools that you can apply effects to and do things to so it's all doable. I wouldn't do it in the first phase. Yeah, but it's totally doable. Yeah. I said I'm wondering how, and to have something to that your average writer because I'm not a graphics person at all I can take sort of I can look at the screen and say I want that and take a shot. And we've got it. But how do I specify this in a way that it will be to be automatically updated. Yeah, so I mean yeah that's that's again that's something that I don't know G soccer and I don't know how much of that needs to be decided up front. But that is definitely a problem. I wouldn't put it in this specific project because I think it is a more complicated right problem. But you know again we start somewhere and you improve you don't necessarily need to get to the end right away. Exactly. Awesome. And last question. When we were talking about this project idea like few minutes ago initially you Gavin you mentioned a product or some tool that you've been using to do this in your previous job was not able to catch. Yeah, I mean I used to work at soft labs which is a Selenium grid provider. So, you know, I've used Selenium, but there's also capybara which is a, what would you call it, a layer on top of Selenium for Ruby. There's puppeteer Microsoft has a new one as well. So, I mean there's lots of tools some of them are Selenium some of them something else. Let's see, isn't there one called Cypress. Yeah, Cypress is another one the big one now. And, and let's see there was one that we used with a z name that was doing pure absolute coordinate based off image image comparison. Yeah, there are a bunch of tools out there. I was looking at it when when I was looking at trying to rewrite Jenkins.io there's a bunch of tools out there that will compare images and screenshots and you can actually highlight Oh this screenshot did you know that we meant to make this. I don't know if that's necessary for this project because this one's more about making the screenshots. Right, exactly. Yeah, and but Selenium is web browser automation. Well they all are capybara is web browser automation is puppeteer also. Yeah. So Selenium is its own protocol capybara I think uses Selenium puppeteer I think uses web driver, which is the new official standard instead of the hacked version, and bliss cypress uses web driver as well. Hey. Yeah, same. How's it going. Okay you said what did you say about Cypress there. There's a lot of web drivers as well. Sorry. Okay, all right. Yes. That's helpful. So, I was asking this because I worked, I worked on building a automation framework, but that used Selenium and Python specifically. So in this project, if we do it, it would be more like Java right Selenium and Java side of things. I think the docs typically does Ruby. Well, and no shame if, well, if this would be an independent tool in that sense with it so I'm not sure we care what language it's expressed. Yeah. I mean, it's because this thing this thing has this is not much different in terms of where the context will run than the pipeline step stock generator, or the, you know, they're just separate tools that we run and we their results get grabbed by the build process and put into the site. So if if you wanted to do it in Python. I don't. Yeah, admittedly. Yeah. In fact, I would say it should be separate than the docs because it should create a PR with the docs. Right it shouldn't be run every time the docs generated should be run every time we trigger a leaser, you know, once a month or something like that. Right, right. It's certainly not a PR driven. Yeah. Generator right it shouldn't, it definitely should not happen every PR. So I think Marcus saying he wants to do an arrest. Like just let's make sure that we just can have people who will maintain it too. Bring back our Tyler after this. Your first rough tool come back. Just so you're clear I think Python is a great language and all of you who love YAML and then moan about Python space based indentation. I don't want to hear it. I'd write everything in Jason, but nobody's like that. Yeah, you're right. I would definitely not like that so that that is that. I'm not the biggest YAML fan either but whatever. Back to your question. Dear Raj did. Are there other questions you've got. That's all. Yeah, I'm here for now. So it could be it could be most any language. And, and I think because it is a separate tool right so now back all joking aside I'm not sure I'm ready to take rust into the code base just because I don't I think we have quantity near zero rust programmers in the team. I think it's project programmers by having rest programs for people to work on. So if your goal is to get rest programmers, you're going about this wrong. You're correct. I am in fact going about it wrong. That's I embraced my right. I think you're right. I think there's there's go stuff to JavaScript stuff to Ruby stuff there is not very much Python stuff left in the ecosystem. So I probably wouldn't do it there but it's fine. Java is fine. Gooby's fine. Yeah. Okay. All right, so, so going to rewind back into the earlier pieces of the agenda so Gavin has created a typo checking tool that is now actively used on Jenkins.io poll request, it checks spelling. And it tells us when poll request to Jenkins.io have spelling errors. Gavin, do you want to do a demo of this? Do you want to do a media? I'm a work machine so I can't really. Oh, you can. Okay. But I mean, where do I have one open? Let's see quickly. I've got one. I can bring one up very simply. So here I'm essentially I found a, you know, I involved with a couple open source projects and one of them is home assistant and they just enabled this on theirs. And they're very excited and which got me very excited because I'm easily excitable. And yeah, it was just a, it's a very quick GitHub action that will come in and run through very, very quickly all the, all the files are confined. And it's a code aware spell checker. So a lot of spell checkers will get messed up because, you know, coding doesn't actually match words, but this one's a code aware one so it knows an ASCII doc the word boundaries are these and that kind of thing. Yeah, I don't know if we can find one where it fails. Well, actually I was going to bring in the cleanup. I was going to show the clean up because because that was that's a great one. So here we let's see where is it it was. You have to go further back. Oh, you may want to author by me. Yeah, that's a good idea. Right. So author by Gavin. Okay, so clean up all the no not. It's this one spell check when either one of those two will work. Yeah. So yeah, it was a simple little GitHub action. I, you know, copied from someone else. And then it's a matter of because we have a lot of old docs was going there pretty noise and there's a lot of like names, proper names that I couldn't figure out how to ignore so I just ignore the entire file. Not great but it's not the worst. And then when I did that I just ran the auto fix. So went through and auto fixed all the almost all of these. And then I think Mark Diana and I went through a pass and manual fixes. Anything that you know the world was changed the wrong one. And then now it should stay green until we come up with something really obscure. But there's, yeah, there's a lot of little things that typo it over the years that you didn't notice I saw your tags are typoed. I saw some function names that were typoed. It's contributing doc itself with right, right? There's, there's an awkward one a doc sites got a spelling error and it's contributing doc oops. Yeah. So, you know, this was the first pass I thought we could do it here and it was fairly good success. So that one's one of the ones that was not a success that set sir thing. Yeah, the actual function class name is sir not set. Oh, okay, so that was one that okay there was a but but this one for instance, splitted to split. Yeah, it's somewhat grammar aware. So I mean it's constantly improving like they're doing PRs all the time. And yeah so I'm I did this as a kind of like can we do it and it passed and I'm really excited about it so we hooked it up. I am solely seeing if I can hook it up to the the JEP as well so the Jenkins enhancement protocol or proposals proposals. And maybe even Jenkins itself, because there's a lot of HTML files that have typos in them we could fix up as well. So, I do want to get this embedded into the PR because right now to find out what was wrong you have to go click into the action and do that. So I might do that by Jenkins I think Mark and I talked earlier I might do that by get have actions but yeah you know any improvement here to make it easier for people to do is it when What does it do with the typo for I'm always trying to type the and leaving the T off. So you're left with he which is a legitimate word. It'll be somewhat context aware so I don't know exactly how it works not my it's not my code base but it does seem to understand that he's not appropriate in the sentence. Oh, so it's got some some sentence structure awareness. It does I don't know how much. Rust and I really don't understand most of what it's doing, but it does seem to be somewhat aware of, you know, even if it catches 80 or 60% of the typos Wow. Yeah. Yeah, and and seeing the hundreds of hundreds of fixes and it was literally hundreds of fixes that it applied to the existing files. That was a win no matter what. Indeed. Just one of those, you know, thought to be useful, hooked it up it's been useful had no real plans for it I just saw it was useful so you know it's a good thing to always mention that anyone can do this really yeah. I have the unique advantages that I can edit Jenkins files. But I mean, anyone can add proposals or ideas and, you know, can only if anything comes up you always ping me I can help out to so. Yeah, and think of, think of the benefit of. Okay, we got HTML files like you said help files that probably have many many spelling errors in them. Yeah. And if we the more we get this hooked up the easier it is for plugin authors to hook it up to theirs and then they can get their health files updated. So, yeah. It does remind me though, I was thinking about it was we're talking about this topic. The previous environment has been running now for what a month. Any concerns or issues. It's been I think it's been working fairly reliably. As, okay, I've used it repeatedly and I've seen no complaints whatsoever. I think there were one or two times over the course of the last month where I needed to do something like merge the master branch in in order to get the preview environment, but yeah. Yeah, no it's good. Would typos catch something. Or can it be trained. Would it like check on blacklist and white list for example, slave. Could we do it scrubbed on slave. I don't know that master inclusive naming. Mark, do you want to, I think I think you can actually, you know, yeah, there's a list that it won't allow. Do you want to add a link. Just do a quick Google for cargo. No. Not cargo. I just screwed that up last time. cargo CI slash create create that CI type os. Right. Yeah, slash typos like that right. Yeah. Without typo in typos. Yeah. So I mean you can go look at this there is a docs for I mean their docs are not the best. They were kind of irritating to read up but you know they could always do, you know, learning and improving. So I think it's under design they have docs you can go see what the configuration is it's all another. I think they have a Tamil file. I really, I rather get more than Tamil. I don't understand Tamil. But yeah, so there are a lot of features that we're not doing. I just, you know, hooked up what we could work and you can expand from there. Great. Let me put a link to that into our notes. Great. Excellent. All right, any back to the preview environment. I'm not aware of any issues, any hiccups or problems there. Any others aware of issues or problems that have been encountered with preview environments running on Jenkins.io. Yeah. Okay, great. Gavin you're okay if we go to next topic Jenkins is the way. I mean, it's, this is the least involved for me topic. Yeah. Well, but, but for me this is one where I'm worried it's it's we haven't done anything with it and you did some great work on it. I think we need to get at the next step and get it merged. I will say it's almost all automated. The only parts that are not automated where the three templates I think I created, and everything else is automated so if there are problems we can regenerate we can rebase if the, excuse me if the. Yeah, if there's, you know, if the PR gets out of date and we need to regenerate or Alyssa makes changes to the sites we can regenerate I tried to make sure it was all generatable because it's a lot of content. That was actually one of the thoughts that I had was how what will this do to the repository size we're already at a 60, 60 megabyte repository. Is this going to double the repository size is it huge. I didn't look. Okay, there are a bunch of assets in there. So there's zip files we should probably don't need PDFs. I think. Okay, so I don't know what's in there I literally just blanket downloaded all the assets. All right, so I did mention that we might want to just make us a sub sub, you know Jenkins is a way to, or the way that Jenkins that I over some of that and make it a separate site and be like not integrated tightly, which is totally doable. You know, again, I wrote a script that converts all the raw HTML into ASCII doc files so it doesn't matter if it's part of Jenkins IO or something separate. Oh, okay, got it. So it could be could be a completely. It could be a completely separate sub domain. Yeah, we don't intend to ever touch it again. A complete new site is probably the way to go. If we continue to want to continue to import news. Stories customer stories, and we want it to be used really easily to do it might be worth being in Jenkins IO just because you got visibility. Yeah, well but but okay we've I mean we've got today we've got the plug in site that is is really a separate thing. Yeah, and yet, and yet we manage it quite well so for me, I'm very interested in the do it as a separate site, because we want to turn off the Jenkins is the way that I oh site and make it a redirect to this new location but it could be easily you know and we're not doing the hosting yeah I mean we can throw it on natlify really easily we have free hosting with them. So, we can throw another site on there really easily. Ah, good alright. Okay so let me put the mark to discuss with Alyssa Tong on the transition plan. I wanted to and I totally forgot I want to separate the templates from the content for PRs and have to PRs, but I didn't I ended up merging them by accident and then it was hard to undo them so I can do it use delete one directory and you can be done with it right but yeah I have a set of scripts that generates all the contents we don't have to have it in Jenkins IO, but it is concerned in mind to be how big it's probably going to make the repo. Okay, well but but I mean that conceptually we could we could even if we were to shut down the Jenkins Jenkins is the way that I oh WordPress site and bring up the same URL on natlify that I think you're saying could be made to work. Yeah, the what I have done is is not 100% one to one, but it's not hard to change it. Like I instead of having slash maps I have changes the way slash maps or something like that like I modify the URLs a bit but there's no it's not really hard to switch back. Great. I just want to make it fit into the repo. Okay. All right so let me take it I'm going to take it to Alyssa and to the info team because they may say hey, look let's let's do this let's host it on natlify and, and keep it separate as a separate location, and then just add to it from. So this would still let us maintain it as code, your changes would let us conceptually maintain it as code, but it would be could still be at the Jenkins is the way that I oh URL. Okay, and it's about 60 megs, 60 megs of content. Okay, all right. Not a lot, but it's enough, but. Yeah that's that's yeah that's that's so that's roughly doubling the size of the Jenkins that I owe repository. Good. All right, so allow us to manage the site as code. Yeah. And that 60. Sorry, I'll let you finish. No go ahead. The 60 megs includes all the PDFs all the books everything all the attachments that ever uploaded to Jenkins is the way. So we might be able to reduce that quite a bit. I don't know. But, but, and 60 megabytes is not unreasonable for a site on netlify right that's not something it's going to exceed their. GitHub will be the, no, no, I don't care. GitHub will be the limit so apparently, they have 100 meg limit but I think it's profile. Okay, yeah, no problem that that's great. All right. Excellent. Thank you. Okay. I don't think I've accommodated way too much of this meeting. I thought I was going to come. Have you here. I've never gotten to hear you before I just turned the legend so. And you bailed me out at midnight more times than I can count. Um, can we do we have a rough estimate, guess as to how much the site might grow in the next day one year. So, Alyssa wants to reduce the funding of the organization that had been creating it so the, the, it was, it would switch from a, a pulled model where we were actively promoting it to more organic. So I don't expect dramatic growth over the course of the next year. Okay. If you want to pull up one I don't know if the PR will let you but if you pull up one of the adoc files. It's relatively easy to add them. Okay. Let's see. So you're, you're, you're willing to risk me clicking the files change tab here. Yes. Only 600 files. So, and look at my scroll bar over there you can barely see it. It's so small. Yeah, it's a little intense. So just, you know, page down a couple of times and you should start getting the adoc files. Yeah, right. Right. While my browser busily tries to do the. We do use the fire file filter. Yeah, probably jump to. Yeah, either the file filter option. Just so it's like, Okay, so you're suggesting I should look only at right opposite of that. Yeah, except now I'm having to wait for it to. Oh, is it thinking? Oh, no. There. Okay. All right. It's, it's now allowing me to filter. Good. Okay. And those PNGs are probably the big one. Okay. All right. So, you know, the adoc files here are fairly standard bunch of metadata in there. I tried to make the data just, you know, following as much as possible. So everything's in one adoc file every story. So that includes location, the name, the industry who submitted it. I tried to make the data more machine readable and less just random HTML. So it's about 98% there. There are definitely some parsing errors. You know, you'll see things that emerge together, but it will get us enough. So if a new story comes in, you copy and paste this template and you're done, you know, that's great. So this, this gives us the facility to add stories and not have to go through somebody else who manages a WordPress site for us. Excellent. So that was the goal because I like machine readable. So, Excellent. Yeah. Super. Thank you, Gavin. Thanks very much. So, I think we go, we go forward with this and I'll let me talk to the infra team and others about Hey, what's the, what's the preferred way you just to reinforce you said that Netlify should be an easy way to host this if we want to, they're willing to host content for us and we have an account with them. They gave us, they gave us an open source account. And as long as we don't use their CI, which we don't want to do anyways, they don't really have the limits for how much CI time you get, which is like 200 months. And one build of plugin site and Jenkins.io kind of ate up a third of that. So we do all the builds on Jenkins.io and we can do whatever else we want for static sites easily. Great. Okay, so this, and they're, they've got content delivery network, all the magic stuff that, that means we're not going to bury. No, no, Netlify can probably eat us whole and not even care. No, but we can hook up fast, fastly whatever else we want on top of it again. Okay, great. Excellent. Thank you very much. Okay, so we've talked Jenkins is the way we've talked preview environment Google, Google Summer of Code we've talked. So far. And now I think it's this month but so far this month we've used 236 megs of 400 gigs of bandwidth. Oh, so we've got a little bit of ways to go. A little. Like two orders of magnitude. Okay, we actually use more of Agolia's limits every month and we do Netlify. Hey, but with Agolia we've we've hit 50% pretty much every almost every month that we so. Okay. All right, so now you guys can finish everything. Okay, anything anything else on those topics before we go on to other topics. Okay, so so then the fast one here she called Africa. I'll likely submit that project ideas form with proposals. I'm assuming that the dominant set of, of coaches and mentors is likely this group here so Kristen, Meg dirage me, and I'll submit them for others but I haven't received any replies on the, on the community Jenkins that I oh site so people are not saying oh pick me pick me to be a mentor. Again, I'm around, but I can't commit. Well and yours in this case time zone is really bad for this one because this one is really needs to be in Europe in Western Europe time zone because the people are in West Africa. I wouldn't, I wouldn't attempt to roll you out. I'm also up till one or two AM most days anyway so I guess I can help out definitely async helping out but I can't like meetings and mentor all the time. Right. And from last year to like make probably check that like we really do need help. Sometimes getting things approved and like, you know the async stuff is just as important as like being able to be present in the meetings because yeah occasionally we were running up against some. We're trying to get this in but no one really, like, we need some reviews or some like help for most other places so it's like that. That's just as good. While I'm not technically a copy editor, I do have marriage rights to Jenkins I also. Yeah. Right. Yeah, good point. I can say from last year. Well, now there's some if we had any actual writing projects I might be worthwhile as a mentor but last time I was trying to run some of these meetings and I didn't know how to do what they were trying to do. So basically the meetings were like we need to talk to mark about this and we need to talk to mark about this. And a couple of Angelique and Oleg started chiming in but that's, that's the thing too is that we might, if there were some people with brains we might be able to tag team with some of this stuff. And I think what that means is we need to use project ideas for which we have mentors right we we can't choose project ideas with we a project idea without a mentor is not a workable thing it's not going to succeed. What I'm wondering is our people why is this something you know it isn't like when you say out hey you know who wants free beer. Say do you want to be a mentor and you're yeah, whereas if you go and say well you've wanted to get this done and if you'd be willing to mentor a she code Africa person or two. You maybe could get it done. I don't know and I don't know if we have the time to go out and beg and plead and buy roses for these people either. So the two major projects and problems in that area which I know mark and I are aggressively trying to address is Jenkins has no communication setup. So we have what 2000 plugins, we don't really have any way to talk to any of the current plug and maintainers. Even the people who are doing like support we have people who are just on get her and not anywhere else. It's hard to talk to people. And the other problem which I've had dozens of conferences I've helped out at mentors a very loaded title people people think that they have to have like 20 years experience to mentor and you're like no 15 minutes more experience than the other person is enough to mentor someone. Right. And we need to build to is that in in these things we need to be talking about I mean what we ran into last year with the she called African we found it and we wrote out to all these companies and they said can you support it. And they said checks back instantly but no people and to start understanding that if open source is going to work, we need more than just money. And that's something we can be talking about softly at different conferences and sort of build the, I don't know, inspire people or something I don't know. Yeah, and you know, I'm going to keep advocacy is important to me so if I get a chance I got all kinds of ideas there. But the community forums was one of those things that were like, these mainly it's not working. You know someone posted the wrong list you get, you know, three people telling you you did it wrong. And that's it with the community forum if you can submit to the community forum you can move it to the right spot. You know, and that helps that removes the barrier barrier there you know so we're just going to I'm just going to keep one project at a time keep trying to help out. You know make the plug inside easier to report bugs, you know, wherever I can help I'm going to keep helping but it mentors definitely one of those words that I've been doing this 20 years and people still feel uncomfortable every time they hear the word mentor, even I feel uncomfortable even though I'm doing it right. I feel uncomfortable it's only because Mark said you will mentor. I need help. Yeah, and so. But honestly, it really my very first job. I was training a student, literally the day after I was hired. And that was my very first job. Right, you really only need 15 minutes more experience. I know something I mean that's a thing and I'm, I'm a writer I'm used to like if it's if I'm mentoring another writer I'm good with that. And we can start talking about don't do this and you shouldn't do this and what you know. But when I'm off there meant I know I'm used to being on the other end of the software stuff as you tell me what you did and I'll write it up. And that's the point is you don't actually need to know something you need to be a little bit on the confidence side. So you can say very clearly like hey, you know this is where you want to look, but mostly mentoring is listening to the person, you know going cool understand what you're saying. You know, this is what I would do or you know that's a good idea or anything just listening to the person and making connections. I mean, you've been what you've been working on the doc site for a while now you probably know some of the people to talk to you about the security thing comes up. Oh, it's going to be Daniel erratic, you know, the mentoring doesn't come from the actual telling you how to solve a problem that mentoring comes from just fostering and growing someone. Right, but you have to know something. I disagree with that I think you need to know some. Oh yeah, okay someone. Yeah, you need to know something but you don't need to know very much. And, and people are going to constantly be telling you are telling themselves that I don't know enough. And the answer is if you know something anything at all you probably have enough. What I think also is that right now like we say, well we've only got four mentors and I say, Oh my God, all these brilliant people and there's only four that are considered worthy to be mentors. I think it would not in that esteemed group, you know, it's like, at the point where we say we've got 100 mentors and I say, Yeah, I might be, you know, there's 100 other people doing this I might be able to do it. But yeah, but if every person like that they're going to be another person to be like well there's already 100 people I don't need to help. Yeah, no matter what, there's always one side of the other. Did I think I think the honestly thing is just keep pounding people and saying hey, you know, make sure the commitment is known up a front because you know what does a mentoring require does it require 12 hours a day of work or is it just like, I need an hour of, you know, an hour week, you know, and keep asking. Right. Mark, do you know who we should. Can we grab Angelique she was good last time. Yeah. I'll certainly ask her I'm not sure she's available I've, I've got several people inside podbies that I'll ping that are that are in the sort of in the Europe time zone that could therefore be a good fit. Do you want mostly docs people. No, no, actually, because it's mostly not docs work. Yeah, the project managers that what we got. Yeah, we need some technical people to help. Well, and the candidates are want to be programmers, right the candidates want to be programmers and therefore they're they're trying to develop programming skills so the ideas choose projects that fit with programming skills. Now, I would love to have somebody help me get rid of jQuery one from a couple of crucial plugins, like you help me with another plugin Gavin. But that's a, that's a fairly unique set of skills that I'm not sure we'll find in brand new coders from, from West Africa. I disagree with that one as well. Oh, you do. Oh, good. No, moving jQuery is not hard. There's such a site called you might not need jQuery, I think.com, which literally you go and find the jQuery thing you were using and it tells you how to use a native thing. It's updated now. It hasn't probably been updated in like four years, but it's a start, you know, and, you know, you have to start somewhere which is what I've been repeating myself all night right start somewhere. Interesting. Okay. It's something though in general, it's like, I hate to say but we need to preach I'm getting disgusted it's like everybody needs to go back and read the first article it's not free beer, and that's what most people think open sources. Yeah. I'll help where I can but I'm not sure time wise I can commit. Right. But you know if you need to peer peer review I'm great because I'm around at the end of the day when someone's just getting started, you know, right. And that might be enough, like as like sometimes like sometimes that's enough like just having someone who doesn't have to sit and ask a question and wait for like, like hours, or anything. You can look at a PR and tell the mentor, this person doesn't understand such and such. Yeah, or yeah I can point a mentor who gets stuck you know if you have someone who, you know, does have the time commitment but can get stuck. There's someone like me who around who can. Okay, oh I have 15 minutes I can sit down on a call and help you, and then you can turn around when the students around to actually do the longer explanation. Just your attitude I love anything like that's what I say like even that stuff for like, even this can translate over to the Google summer of code stuff to. Yeah, because I think we end up with a lot of terror around the commitment for that to and sometimes like just the word technical advisor sounds better. And that just sometimes that's just all that's needed. And just some like somewhere to go or point out or like yeah even like steering maybe the person who's like, primarily, but maybe going to be even awake or available during the time zone time. Yeah, yeah, it's like I'm just saying like just anything where, excuse me like it just kind of helps because when you're kind of doing it. Eventually when the mentors kind of whittle down or it's only one. It's really hard for one person to be the single source of the single contact. Right. So yeah, just many hands make light work. My favorite thing is the rubber duck right so I have rubber sharks, which are almost the same thing. Nice. Yeah, thank you. All right, well so we have we have just about used up our time any other topics we need to bring here before we before we close our session. Okay, there's nothing breaking on system V to system D. Oh no there's major breaking but I think it's much more than we can discuss in three minutes. Cool, and my PRs. As far as I can tell nothing's happening. I want that big one. I want to know how we get somebody to say this is better than we've got. And it does no harm we can fix it later. Okay, could we just make that executive decision. Sure, absolutely. Which one is it. It's security. I've got to have, and Mark's got to have either Daniel or Wadiq nod their heads. Okay, because the other thing we can do is like if we know that there's certain improvements, we can just pre open a ticket for it like reopen a jenkit realize the GitHub issue that we're using. So we can put that up, maybe put some notes in there and be like reference it directly from the pull request and be like, this will be addressed by this. You all seen the create issue from comment in GitHub. Yeah, see there we go. Better. I love it because I only found about it like a month ago in the dot dot dot next to the comment, you can actually click on it and it will say create a ticket or create a issues. I feel like maybe perfect for this is maybe like Daniel Wadiq do you have any comment like just put it down in a comment we'll create a ticket and then we'll be able to say let's go and then that way you're right Meg because I think that sometimes we have some stuff that hangs around here for a while because it's not a thousand percent perfect. It's much better than it was when it's bad because it's it's much too big for one PR but it was moving all these files there's nothing to do with all in one but. Gotcha. So it's hard. Where is it right here. Go back to one of the comments. Okay, so here's a comment reference and new issue. Oh, that thing. Okay, good. I've never used that. Okay, so you can click on it won't do anything without you submitted the next page but you click on a pops of a window and says, you know, here's the who originally posted it here's the comment it links directly to the comment. Bam, you're done. You can move on. I don't know when they added it they've been putting a lot of work into the issue. That's awesome. It's so good. And it works for it works for any comment anywhere so comment on a commit comment on a PR comment on line of code I think it's even the top level thing. Damn, bam done. Nice. Perfect, perfect. Because then. Extra things you do you can add it to that to have to be free and basil basil had a really snarky but good thing is sometimes you just have to tell someone and say, What do you want me to do I can't guess what you're trying to say, you know, like give me an actual item for the next thing. And because sometimes you will be like, this isn't perfect. And that doesn't, that doesn't give you anything to do with that information. Right. Right. So someone gives you feedback and says, Hey, this isn't good. You're like, is it good enough for now and I can do another release after this. Right. Because part of the purpose of this was to get this section restructured so that we could go at it with small PRs. Until we get this merged. I mean, I've got some others out there, some of which are far from ready and some I think are close so. So it's okay to be a little aggressive. Huh. It's a little, it's okay to be a little aggressive saying, Okay, can I can we merge this and do follow up PRs. Right. Okay, and it's seven o'clock you guys don't have another call right. No, no, actually, to this week, no, no second fall, but I want to end on time. So, so this is a good time for us to talk about ending anyway so. Okay. Gavin, thank you for coming. I've enjoyed it immensely. And try to come more often, but my Thursday nights are not the best. So. Yeah. All right, I think, I think we're set. Any other topics before we close. No, good meeting. Thanks. Thanks, y'all. Hey, thanks everybody. We'll be available within the next 24 hours or so.