Yeah, the despondency is a necessary stage. You know, it's it's when you realize that nothing that you already have been doing is going to work and and from your understanding of What's possible?  We see it in politics We see it, you know that both sides saying well the problem is those horrible people on the other side Who lack some basic aspect of humanity?  I mean it's even in in Physics in technology like the world is against us the origin of the concepts of good and evil actually We're in order in chaos in Domesticity and the wild good was domestic evil was the wild good was the sheep evil was the big bad wolf Good was the king who killed the lions cut down the forests drained the wetlands like this attitude of conquest is At the core of what we need to overturn if we're gonna have a world that's any different In any significant way than the world we have right now Wow, what I do to the world I do to myself We are inseparable and I cannot therefore achieve what I want through dominating through killing through destroying It's a change of heart in which hope lies


Great. Welcome you all to Jenkins do sock meeting today. We have Kristen wetstone with us today, which is great because she's going to do Walkthrough of the Jenkins Step Docs generator. I hope I've said that correctly, but I'll let I'll let mark say a bit more than Kristen present as well Yeah, so so there is a there is a tool called the pipeline steps doc generator that Kristen I believe was actually the original author of What this tool does is it extract it is the generator that presents pages to www.jankins.io that describe all the pipeline steps from Right now hundreds of Jenkins plugins So so it somehow does work some very cool magic and read source code from all sorts of different plugins And presents them as web pages now Kristen You'll give a much better description than I do of that. But but for me, it's just an impressive piece of work. Tell us more about it. Well, thanks mark. Um, yes, so basically if it does exactly what you were saying And I like to think of this generator in two distinct parts The first part is kind of this entire Local hype like called the hyper local plugin manager, which basically acts as a plugin manager that exists outside of Jenkins That allows you to be able to do like it loads plugins just as you would inside of Jenkins But it doesn't require Jenkins to run and the second half of this is the actual Part that goes through and like generates the ASCII doc that's required by the website to Actually be displayed so you can see it Beautifully and like with many different layers and stuff can drill down and links inside of the documentation So I guess I will kind of I can kind of go over it in two in those two parts Um, would it be helpful if I shared my screen? I I assume so I think it will help people a bunch So so you use the term hyper local plugin manager There are a lot of words hiding in there So I'm looking forward to more description of what what what that means compared to How Jenkins plugins normally operate? Sure. All right.  So the entrance into the pipeline Steps extractor or the into like this entire bank here is this class called pipeline steps extractor And it imports a lot and it looks scary But it's because it has to be able to pretty we're pretty much like faking out a lot of what Jenkins does when it does all of the plugin loading when it starts up So we'll skip down here.  So you can say basically What so part of this is because we're If you're basically thinking out the beginning we're Speaking out the beginning part of Jenkins. We have to tell it to point to a plugins directory Um, so and the plugins directory should be pre-populated with all the plugins that you would like to import So as part of the build step for this job We actually go and we go to like the Jenkins plugins site and we download all of the plugins ever Into a folder and and these are the hpi or the jpi files Pretty much exactly like if you took up and you took your Jenkins instance and wanted to install every single plugin that we make and the reason we do this is because In this generator, we have no idea what the pipeline steps are and every day since new plugins are added or plugins are enhanced They might now have a pipeline step and we want to make sure that we capture that in the documentation So it's safer for us to be able to just go straight out to Jenkins a plugin site and just Copy down everything and this can be a lot This is a lot of things we're trying to load into our fake basically our lake our plugin manager Um, so there are a few things that we do to kind of like Prevent too many open file handlers. Um, because that's you two things loaded at once But generally at this point, um, it works. So I haven't seen any issues with it Dealing with the massive hundreds of plugins that we have inside of Jenkins so far um So so do you want questions during or do you want questions to be a little later? What's your preference? Um, you can do it during um Okay, so so okay, so so the Early step is Download all the plug-in binary files all the plug-in binaries to a local file system so that you can then process them so you download Or the tool downloads 1,500 or 1,700 plugins from the Jenkins update site And now has them locally You'll have to download or point it to whatever plugins you want the tool doesn't I think the Jenkins The Jenkins job for the tool does the tool just will use whatever directory it's pointing at Think of it like Jenkins, right? Like you want to be able to have your plug-in proper plugins directory prepopulated same thing with the tool So, okay, so it it takes whatever is there so I can define a subset for testing purposes I'm not always processing all the plugins Exactly, right because that takes forever and then sometimes it's actually yeah So if you have a fewer subset that you know that exactly what it should be It's good to be able to visually test what you want So you can make when it produces the documentation you can see like, okay. Yes. This is correct Also, so it's it just runs a lot faster when it's not working on every single plug-in ever Well Oh, go for it That explains the the comment in the read me that there's in the read me instructions which guide us Use this workflow command. There are this build command to bring in the plugins that are workflow plugins Thank you So I started actually updated the read me because after I saw that comment in the channel that it was outdated I was like, oh, okay. So I started trying to go through this and I was hoping to do a pull request at some point kind of explaining a lot of this in like the architecture section and then Maybe helping with a little bit more of a read me. So I'll make a pull request with this updated information But it's still good that we're doing this today Thank you. Yeah. Yes. So that's where that part comes in and so now we go into this method. We have a bunch of different Like a place where you want to print print the ASCII doc and that there's like declarative pipeline syntax that's just generated by this too and Right, like this is just kind of like where the file at the end of all this gets written And then if you're missing that it will fill in spot automatic stuff All right, so the next piece you want to do is it comes to your hand says find steps And this is the part where we we start by basically creating what we what I've heard to hear as the hyper vocal plug-in manager and this here is the Plug-in manager without Jenkins. So we'll go into that class now all right, so during Jenkins startup It does a lot of things And one of them is it starts its plug-in manager Defines what's called a plug-in strategy and then points it to the plug-ins holder and then loads it And then in the middle of all that loading Jenkins is doing other things at the same time and then it comes back basically to the plug-in manager the plug-in manager reports like i'm done You can actually have access to all of these classes like the plug-in manager will load all the classes into um an extension list and like into itself into a class loader and then be able to Have that available to Jenkins Outside of everything else. So if you ever look inside Jenkins and like how it uses Plugins it basically can go to this class loader and pull information about um What is installed and like what you can do so what we're trying to do here is like all right We don't have and the plug-in manager like requires are running Jenkins because it's very hard at this point to have things that are separated So what we're doing here is to say all right. I just want to mock Jenkins and basically use Say like yes, it's running But I just want like the plug-in manager instance So there's a lot in here that is like very very complicated because it's How Jenkins itself runs and a lot of times like we don't necessarily care about what Jenkins is doing We just want basically to fill up this class loader So we can get access to it and then with the class loader we can now access the annotations and we know from how to write Pipeline steps that pretty much annotations are the way that you say that this is a pipeline step Um, so after we have this class loader filled out We could go and basically query it for the ineffective pipeline step annotations and then pull out everything that we know as a pipeline step so That's maybe a little complicated, but what this will This method here called diagram plugins Is the one that actually goes into the plugins holder and imports everything into the plug-in manager So a lot of this is lifted directly from the plug-in manager class Inside of Jenkins itself So the details of this is not too important But the important thing is that it matches exactly how the plug-in manager is doing it The way that we can get away with having a Jenkins Basically not having Jenkins is we're using marketo To basically fake out Jenkins. It's just like if you're writing a unit test But we're using it here inside of the code. So there's Whenever there are certain methods that it calls to say Like is Jenkins there we pretty much return an answer that's like, yes Jenkins is here or um Like the init level is something that it will um Check as well. So the Jenkins init level will tell you where it is in the startup process And it's required to be completed before the plug-in manager complete. So we just say, yeah Yeah, it was complete same thing here like um This install state is another piece that's needed by Jenkins. So we just return that it's in test um This is oh, yes, and if you're ever trying to get the plug-in manager So whenever we instantiate that when you say get mock Jenkins I think this is using a couple different places We basically pass in like our plug-in manager and then we tell it to return our plug-in manager rather than Yeah, we want to return our instance of a plug-in manager not like anything else And then there's a couple other pieces here But and these are just kind of filled in like as I was building the plug-in manager I was like as soon as I tried to like query Jenkins. I would just basically return a mock for different pieces like get computers I think returns the plugins directory and this is based on like what system that you're end up using uh Yeah, so so a lot of these are just explicit methods that are used while the plug-in manager is loading itself up The other class that is mocked out here is this mock extensions list And this is It's a fuller explanation of what's going on, but this is another thing that's internal to Jenkins that is used to figure out the types of pieces inside of How best to describe this it's like it's a it's um This is helping you get the annotations and different parts of the extensions from Jenkins So we wanted a record. Oh, sorry good work So so we the I think of extensions as things that I add on to The settings forget for instance to tell it to do something different or do this other thing or do that thing Is this one of those kind of extensions? Is that the concept here is anything I add into Jenkins I'm commonly using a thing. I think of as an extension So this will help you get what you get the extensions Got it Great. So you can see here that and this is again like very internal So this is another in Jenkins internal piece. So the stuff that you were talking about mark where you like annotate With the extension and then you list it out Like what is you do like at extension and then it's the quotes and then what the extension is inside, right? So now you can use this Basically, when you query the plugin manager, it will go down a couple lists into this extension list and you can see here this load We want to be able to tell it to use The hyper local plugin manager's plugin strategy and the plugin strategy is used on Is basically used by the by a plugin manager to say how you want to be able to load plugins And we actually have a copy of that defined here inside of our plugin manager. Again, it's also we can be able to access The plugins locally and some of the things inside of Jenkins to like the plugin strategies It's only defined at the Jenkins level as an abstract class and like the actual Plugging manager this like local plugin manager, which again I think is also an abstract class like the one that's actually used by Jenkins defines the plugin strategy like As a private class inside of itself So I couldn't just copy like I couldn't just get to that plugin manager that was provided by Jenkins because It was private. So I had to define a plugin manager in here or plugin strategy in here Part of the plugin manager. You can also see there's this class loader And this is the actual instance itself that there the actual object that has the references to all the different classes inside of Jenkins So all those different things like after it's been imported will go into here And then you can query this to be able to get instances of different classes If this is getting too into too deep into other cases, you can let me know. I don't know how much How helpful some of this is to actually Being able to see like extract the steps Because after like all this is done the basis of the really important thing that we want to do here is We can use after we have a references plugin manager that's been loaded up we can tell it to We can basically say get stuff descriptors And we can use it to be like call run tasks and it will be able to And this is another way to be able to actually like use the task manager. This is kind of So I was getting a little complicated but um Yeah, like I can understand how this is kind of going in there But obviously we can end up using like the stuff descriptors And the extents like the extensions and query the hyperlocal plugin manager to be able to get that piece of this piece of information so So are you okay if if I ask a sort of a directing question towards Sagar has is the one who'd originally started us on this on this line of questioning. Sure the He's looking at how could he apply this to the rest api And I'm assuming what we were what what the technique then would be is Whereas the pipeline steps doc generator looks for pipeline steps The thing that the rest api Would be looking for is it would be looking for things that are providing rest api endpoints and so instead of a step descriptor class. He might be using something different Yes, so yeah, so like this is kind of the important line here Because this this is kind of like this here is this init strategy And this diagram plugins because as we saw before like this plug diagram plugins method here Exhority Jenkins internal stuff. This this is the this is the important method. So yeah, this this Right, so This these three lines pretty much Tell it to get started the init strategy I think it's defined It's something that you can import from Jenkins. We basically pass it in and say diagram of plugins is basically Tell it to go and because it's execute reactor comes again from like how Jenkins tells the plug in manager to run. I'm not 100 percent Sure right now like why it does it this way But this is I just know that this is how it has like a reactor is how Jenkins interacts with the plug in manager So basically I just copied the execute reactor method and told it to face Basically told it to run. I think there might be some reason. That's why it's like has some mock Jenkins stuff But you have to tell it that it's here as a reactor and then Yes, but here instead of looking for you the for REST API annotations I don't know what they are, but I just know that the step descriptor one looks for the plugin steps. So then after that you have A lit it will return and this fine components You can search for anything based on class And it will return a list of that class And then from there Everything below that like this is the part that I think you're very cared about and then everything below this is basically getting it to the point where Excuse me, like it basically getting it to the point where it can Generate the ASCII doc, which was its own fun because there is no Java At the time when I was writing this there was like no good Java library to be able to generate ASCII doc. So that's why Like this document exists or this class exists. It goes and actually Takes a whole bunch of pieces that are very specific to like what Step is and then appends a full it's it's a little painful. It takes string appending and just builds This doc like builds this massive string Of layers for that is ASCII doc Um, I kind of wish I was like a better way than other than string string appending I think if you're doing breast documentation, it's a lot easier to be able to um I think there's libraries out there that would help you with this but for ASCII doc there wasn't so it looks this That's why this class in this quasi descriptor are a little messy. I'd hope there would be a better way than being able to build it like that So right so Sagar Are you okay with what you've heard so far or any questions that you have? I'm I'm fascinated kristin. Thank you very much I will I will keep asking you questions for another hour if we're not careful. Okay. Did you have specific questions? Yeah, thank you kristin for this beautiful presentation and uh, so currently I don't have a question to be honest but so far what I understand what she said is um cloning all the plugins and then um, you said there are three lines Which is um, quite important What they're doing is actually extracting the classes that We um cares about and then from that actually from that classes, which you named. I believe stem descriptor.  Okay continue kristin. Sure. I don't know what else we really want to uh Go into here. There's a couple. Let's say some of these are kind of maybe a little bit Some of these are going to go a little bit more into Pulling out information about the steps like this process steps piece. This is going to be very this is actually When the stuff of the rest api generator, you'll probably write something similar But very focused on how the rest calls look inside it like how the rest pieces look I don't know really I don't know too like when I looked at this it was very much of like, okay What this is the step descriptor class like what are the different pieces? You'd have to look at the rest api ones is like kind of maybe build something similar Excuse me. And then um, I yeah, this is just kind of figuring out what's the plug-in name. Um, this might be helpful for Figuring out that piece because you can get a descriptor and then there's a method inside of plug-in manager Where it like acts like the plug-in manager could actually tell you this stuff And that those pieces are found inside of here as well It's just kind of like a that this is kind of like the benefit of having a whole plug-in manager rather than trying to figure out How to parse these files yourself because it has the plug-in manager itself has a whole bunch of methods That are just useful for being able to parse the information that it holds inside of itself Especially like this Get plug-in name for descriptor like these are things that the plug-in manager can do and since we created our own local version We can take advantage of it, which is awesome Versus trying to have to parse everything ourselves like that's kind of the whole reason again Like we use the plug-in manager. It's there's it's powerful It can do things for us and it means that we don't have to go through and try to like Search on I mean there's hundreds and hundreds of plugins And all of them could have pieces. This allows the plug-in manager to just do it for us So that's kind of why we I went down this path with the Generator like I wanted to be able to take advantage of the plug-in manager's abilities to have these Things built in Thank you very much. Kristen. Excellent. Thank you. Thank you Sagar, it sounds like you've got what you need. Did you have any other questions before going to other comments? No, um, yeah, no, um, I'm just going to now break down this video into what she said and taking a But actually that Like to code block is doing and trying to relate it with our REST API Right. Yeah, so I what would be really helpful here and I think at one point Actually, now I'm thinking about this I think Andrew bear tried at one point to take out the hyper local plug-in manager In all the mocking pieces into another repository. So maybe that as part of the project that would be useful because We don't really want to repeat code, right? So like if it's possible to like take those pieces out So they can be used by more than one thing. I don't know what other documentation would need to be generated um But it could be helpful in the future basically like these Like basically being able to take out the plug-in manager these Jenkins it has another thing I should point out Because of the way the marketo works It has to be in main Java Hudson folder Because that's how it's stored like thankfully not too many levels deep But like the Java Hudson is where the package is located inside Jenkins. So it just has to follow that same folder structure If you take those pieces out it can be used by anyone anywhere. Um, but Yeah, like basically again like in two halves I always take like this Mocking half and then as soon as you get to this part where after you execute the reactor and basically load up all the plugins Feel free Go for it. You can figure out you can do anything that the plug-in manager allows you to do because now you have a reference to it And you don't have to worry about spinning up Jenkins I have a question here. Sure. Yeah Yeah, uh the class the plug-in manager that you're using is this the same as plug-in installation manager? The tool from Jenkins. Oh, so the plug-in installation manager is another really cool thing But the plug-in installation manager it helps you basically get to the point before you want to start your Jenkins so that will go and um It plug installation manager will take a list or you think you take like a string separate comma separate value list Or I think you can use A yaml file mark. You can back me up on this that one. Okay. Good. Say yaml file And you could actually and use that to go and download the plugins in the first half So almost you could use these projects together, right? You can go and say hey here are the list of plugins that I want to install Or I would like to basically run with my to get the plug-in steps or pipeline steps for Download them to a folder and then when you run the docks generator You point it at that folder and then it will just look at that subsection of plugins the um I really think the project that that was a google summer code project like two years ago. It was it was really it's really cool Yeah, like yeah, it was uh two years ago. So in this year, uh, Oleg has like mentioned this project like some improvements for the tool So I think this year also this is in the ideas list Yeah, I actually helped with that project two years ago too. So if you have any questions about it, I can answer those as well So maybe it's a good thing I go today, but um, do you have any specific questions about that project? Yeah, actually I have I have been like thinking uh, I read the details about the project idea and there was like improvements, uh, which were based on the tickets Which are posted on zira or the issues that were posted in github like github So, uh, like there was one feature like requested by some user regarding the locking of the like locking the dependencies uh For the instance So I was like thinking I didn't do much of a research But I thought maybe while like if you're given a file to print out the Like if you're given the file to download the plugins Like will it be feasible to just copy those things? I mean I'm sounding too simple in saying this but like if you want to if you want to lock the like dependencies If a user is providing us a file and we are already like spawning or we are already finding the dependencies which Like the sub dependencies of the of that plugin. So like is this way like the way of Printing all those dependencies in a file Be a better like an idea or a solution to the locking mechanism locking request Did you get my point? So what you you're proposing I think is that you would like to if you have a version if you're providing a version of a plugin You would say I find all of this dependencies and put them to a kind of like a pre because there is a preview function Inside of this to be able to tell you what would be downloaded install So as part of that you would like to say all right Here's what I want to install and then here's kind of what you need to What what it requires do that kind of what you're The reason that this is a little bit harder Then originally thought is that um When you have a whole bunch of different plugins inside of Like basically you define each of them could require and sometimes they do require different base versions of the plugin And one of the other plugins that you might have tried to install Will require a higher version than the locked or like a yeah a different version of the one that's locked so um You can end up with down the line dependency Conflicts so you know you have like your locked version Might be able like it it requires certain versions of the plugins to be installed and like If you want it truly at that version, you can't really have features that are being issued by plugin or by uh Plugins that are at a higher version level. So I think that's kind of like where the problem Comes in but doing a preview stuff where you can say these are exactly the versions of these plugins required by the one that you have Locked is helpful So I think the big yeah the big problem with that is it's just like so hard to be able to do the dependency map um calculations I think like halfway through that project There we ended up finding some other class like other projects that made it easier to do version dependency calculations And I think that might be useful to look into for this for the Download project is to see like what else? There's some code out there to like how to write a package manager and like that might be able to be helpful For doing these calculations steps. So if you can Look to see Yeah Yeah, can you if we can mention the names of some something Sure. Yeah, I'll I'll find them and put them in the channel But like those might be something good to look at as kind of like a an overview of how to Do the dependency calculation stuff because yeah, it it got really hard at a certain point I mean, it's really fun. It's a really fun problem, right? And it's something that you've got to do you have these huge maps and you have to figure out What's the most optimal thing to download? You can't have duplicates. You only have one Because Jenkins will not be happy if you try to install multiple of the same plugin so like which one do we end up installing and so I'll see if I can find those again and post them in the But like that or sorry in the getter channel But that would help with how to help do the dependency calculations I have a contextual question this discussion has has turned to being About the proposal for the plugin installation. Yeah, okay Which is to update? Yes Update the plugin No, no, no, please this should be a free-ranging discussion I love it when people just take ideas and run with them and connect them to new things So that's perfect. It was really for me um, and then that question of dependency management and managing different versions of dependencies that may be needed um doesn't are we So the idea is that we would essentially roll our own for that It does not seem that there should be some Some open source tool that should be able to help us with dependency Like it does seem like a very package manager type problem Which seems like there's been so much work done in that space already I just don't know what tools could be used with Jenkins, but That's what was hard like right because we were just basically like all we want from the package management tool It's just that calculation step Because we've already got all the files. I like we already do our management, but um inside Jenkins It's just kind of like take the latest And so um, it was just like, okay How could we basically get that the the Calculation and it's like if we can just take the calculation That's what we would want to take from the tool because right you're right Cara Like there's a ton of tools out there to be able to do this already for almost every flavor But it's like we just I think that that of installation manager tool just is supposed to act like Our dependency management or it's just supposed to be like our package management tool. Yeah, we just need a better We just wanted to kind of look at How best to calculate the version required So yeah, that's a really interesting problem. Um, yeah, it's it's really cool. I love Yes, it's like that's what like both of these projects are really interesting But yeah, it's like the the Kind of how to come up with the data structure to be able to store everything and the sorting was really fascinating so I am surrounded by graph theory near nerds I Am not a big I'm not a big lover of graph theory. So I'm glad to have other people who love graph theory. That's really great I think that's everything for me. Does anyone else have anything about this? Would they like to have questions or just just to um Uh, ask more from you Kristen actually Sure. No more than you are more than welcome You we would be very grateful and excited for you if you had any time to um Volunteered a mentor for GSOC and if if you had that space in your schedule If you wanted to put yourself down as a mentor for either of those projects, that would be great I I should just say and I don't know if this is being if we're messaging this clearly enough, but um And I I should be working harder on this the GSOC projects this year are half the size essentially in terms of hours being demanded of the students Okay, so the overall projects will themselves be smaller as well to help a smaller scope um And this also means obviously It's not going to be half the work for mentors But it is a little bit of a reduction on what's going to be demanded of mentors because the projects will be smaller But the more mentors the better then we will share that on those too. So it's good Sure. Actually, I got a question about that. So when does it start this year? You know, it's like this multi-phase process the coding case is not until the summer it's it's basically the same 10 weeks. Um, and actually I can Precisely Yes, it's still over the same number of weeks. It's just reduced hours within the weeks Right. Okay. Okay June 7th, august 16th, and then the reduced hours are really just taking into account The fact that this is this is quite a year and I think they're trying to have a new GSOC So basically students and mentors can work out how they want to arrange Their hours of work depending like if students have exams or they have something going on in their personal lives And that's fine. We should be flexible with them and similarly for mentors as well Which is why it's nice to have multiple multiple mentors, but yes for Submitting our application as a GSOC project that application is due very soon. That's due on february 19th So it's nice to have additional mentor names down You know have that as part of our application And then in March the organizations that are chosen are announced and then there's the student application period and then the student bonding period But coding proper doesn't start until June. All right, awesome Cool. Thanks. Thanks for thanks for that Cara. Yeah Thank you for being here today. Yeah, I'm glad to help talking with us All right, I will stop sharing There we go And again, if there's any other questions, just let me know I'll try to I'll be better about being in the channel Deeply appreciated Kristen. Thank you. Thank you. So Vibhav is also with us Himanshu or Saigar did either of you have questions relative to any of the cloud native topics the cloud events plugin or anything like that If not, that's okay But Vibhav is with us and is probably willing to answer questions if you have them on those project ideas If you don't no problem. No no guilt there. It's just We've got one more potential mentor here as well. If if there you have questions on cloud events or on Oh dear, it was the kubernetes project. Help me out Cara, what was the other one? Detect on plugin plugin and actually I have questions. I have questions for Vibhav As as well and but I'll let the prospective students go first Or or I will and Vibhav I had a question on your design doc for GSOC cloud events plugin proposal Um, I gave a little bit of feedback, but in general, I think I think it looks great. Um, Have have you been able to? connect that design doc to the the proposal that's on On the Jenkins GSOC page um, I I haven't updated it there, but Let let me put a request for stuff like that I still need to go over all this stuff Yeah, that would be awesome because I think it's helpful for students considering the project and then I wanted to ask I didn't See but you know, it might be me. I didn't see the um tecton client plugin are you Still happy to propose that as a GSOC project idea Yes, uh, so for the tecton client plugin I what I'm going to do is I'm going to create a uh design doc which Which kind of explains all the client plugin does so anyone who wants to get started can easily get started about what already exists and then Uh, I uh, I'll create the proposal and create a PR for the proposal within tomorrow's problem Awesome That's great. Did you have any um questions for us as organizers any anything that would be helpful on our end just so I know I just want to make sure you feel supported as someone who's proposing ideas I I need to gather questions I so this is the first meeting I'm attending and I was actually in a sprint review just some five minutes ago So I need to so I will I will ask maybe the next meeting I might ask you But for now I'm I'm here just to attend Okay, great And do we have any student questions for the bud? Uh, not from my side How much you're good for the moment maybe next week Okay, sounds good. And then I have questions. Um, essentially for mark As as uh my mentor in this process. Um, we have had potential gsoc Proposal ideas that have been submitted on the jing and ci dev channel mailing list. So they they are public and You know, it's it's hard for me to understand how how Where to go with them? So they they've been proposed as as rough sketches They have some merit as projects. There's been a little bit of feedback But it hasn't really gone beyond that stage. So What do you suggest I do mark and specifically I'm I'm talking about if you've seen the jingens operator And virtuous labs may be able to commit some mentors as well. So that's kind of cool And it's a fun project and the other one is the maintainers heartbeat Like abin's proposal. Um, I don't Know I mean I can share my screen. We can look at the email, but that's maybe a bit excessive.  What what do you think should I follow up with you later? Do you want to discuss it now? I think I think a good a good Cat one of the one of the common patterns I've seen anyway is people submit a proposal and receive no feedback And one way to bring it to life then is to ask a question relative to it Or two of us ask questions. So we get some clarification that helps the the person making the proposal relays Ah, there is interest And it helps them also get their ideas more precisely formed So that they could take the form of a project idea submission to the to the jankins.io website So because I think ultimately when you submit the or when cdf submits the package to google summer of codon What before the 19th We submit that has to include a list of project ideas that are Are in fact project ideas with mentors behind them And and so so we need we need more detail from them and we need them eventually on the website So they've only got right now eight days basically to to get from Google doc to pull requests to the jankins of iosite merged ready to go into the into the submission to google Okay Yeah So I think just ask them a question. I can certainly act as voice to ask questions as well if they'll help Yes, yes Yeah, I'll follow up. I'll follow up on both those especially the vertus lab ones They they were at the cloud native sig last week and I'm discussing the jankins operator and And and then followed up saying they could make it into a gsoc Potential well, and you've got cloud native sig meets again tomorrow if I recall correctly doesn't it or is it Tomorrow Friday so all right it meets Friday So if that's another good place to to have discussions and help them Get closer and closer to an actual project idea that is that meets all the criteria We have for a project idea that has a quick start that it has mentors That it has enough skeleton on the You know enough enough general outline that a student could actually Take it and and have have it as a good idea for the beginning Okay Yeah, okay good good good good. Hopefully Yeah, I want to put that forward rapidly in the next couple days great And then to circle back To the hyper local plugin manager that christen Discuss is it worth me contacting andrew bayer and asking him if he gets it sort of Factor that out into its own little Project to be used So so I think it got factored out and it's like not updated that might have been This has this has existed for this project has been around for like four or five years And I think he did it like maybe like four years ago So I think it might be worth Making sure that they're they and I know that updates have been made to this class Especially I think mark you were even involved with updating the Jenkins version of this depended on So like making sure that those changes are into that particular class Or into that project would be helpful. It just kind of went off on it I think he realized he wanted to use it for something and then just kind of You know, it's one of those things where you start it and then you just kind of they kind of Withered or it didn't it's not like kept up with maintenance. So it's just hard to make sure that it also is being At the most recent like the most recent version of Jenkins And there's a couple other pieces that I think zebnik who's been really awesome has also been looking especially with making sure The display looks really good Because there were some display issues. I think early on with generating that big string I think he might have made some improvements too. So in certain On certain minds, especially with the upgrade. So it's that project. I think is kind of just sitting I don't think it's been updated at all But I think for this particular project it might be useful to maybe revive that And then update that piece just because it's something that could also be used for The breast api basically update that and then Maybe be able to use it in both projects. I don't know if that now makes this way too long for Google support for the project proposal But I would think that that to be like that would be really beneficial to being able to get both of these pieces using the same underlying Plug-in manager code and also to make sure that it or just anyone else can use it if they find it find it useful for them Sorry, go for it mark Oh, so Kristen is is such a software engineer I love software engineers when they tell us about avoiding duplication, etc I'm much more lazy. I had to just copy the codes. I got so I don't feel the least bit shame and cost So so Kristen is being very software engineer and that's really great. That is so impressive I'm I'm much more. I've got a problem. I need to solve I want to I'll just dirty copy the code and if someday in the future I want to refactor it to read to be dry, you know to not repeat myself. Oh, that would be great So By the way mark I had a question for you if this is not Going in another direction So I want to ask how are the how would the goal setting be done for this year's GSOC? exactly like I haven't Been in a GSOC or been a mentor before so I remember you saying on on the Gitter that You before you guys did two meetings a week to see where the student has reached in terms of coding For checks and stuff and that is how you actually get stuff done So I just wanted to ask how this will change for One and a half month long period of coding Which is actually quite less And I I think that I assume that the project team that the mentors and the student will decide How they want to do that? I can tell you what worked for us And I know if if I'm chosen to mentor if if somebody will finally pick up one of the get projects and choose that So that I can mentor if if one of the get projects gets selected and we get a student who does it We will negotiate with the student that I would personally bias towards Twice a week still even with the student only working roughly half time Because the frequent check-in was so valuable for the student It left much less time for them to be wandering in the wrong direction before the mentors could point them in the correct direction So we might we might go 30 minutes twice a week But the twice a week was so valuable We we initially started only once a week and once a week Just left too long a time for the student to sort of wander or not feel connected to the project and twice a week was much more useful But but you'll you'll set that as a as a team and thankfully you'll learn by sort of hard experience What works for you as and for the student? Okay, that that's one that makes sense to me. Yeah because the student needs to be Connected and once a week is actually very less of a time for any team to Like get together and work together once a week is very short amount of time also Another question I had was I could so if If the time period was three months The cloud so we could have started with the cloud events plug-in from scratch almost so The thing is with the tecton land plugin It's already in poc and we can kind of build tasks around what needs to get done And then those tasks will be what what would happen on over the period of the coding phase but With something like a cloud plugin a cloud events plugin. I'm just I'm just not sure How to do the goal setting exactly uh It probably might be easier even for cloud events plugin because there's one Goal it should be kind of like a web book trigger plugin where upon listening to the cloud event you put a trigger job or something like that, but For for this for so how do you do goal setting in? In something that is a lit involves a bit of like innovation line, I guess All right So Yeah, that's where you keep my question. Yeah Yeah, so so the We were doing something like that with the get plugin uh last year's project had a A proposal to do something a certain way and as we went through the project we discovered Oh There were things we didn't know when we did to find the project that would now we know during its implementation We we adjusted the the goals at that time we described. Hey, we think we need to change a direction and do this other thing so I think the first objective is that the student in their project plan proposes a goal And that goal that they propose should be something they feel strongly about This should be my goal as a student in this project and your your phrase Sounds like a good one for the cloud events plugin. It should process cloud events when they arrive It should be able to publish cloud events And those those feel like really good goals and that's sort of a vision statement that the student can include in their project plan Was was that what you were asking me bob or did I misunderstand? Yeah, that makes Oh, that makes sense That does make sense Yeah, because in this way the student can themselves Figure out how to go about their career on this. Sorry their path on this GSOC project so how so That actually brings up Something interesting is How much of the project is actually student led? Obviously, like there are mentors, but how much of the project like The plan for the project is decided by the student itself It should be it should be the student's project plan So what the what the what the jenkins project will accept is a student ultimately is a student project plan A project plan submitted by the student. So right now we're in this project ideas phase where ideas are proposed by anyone but when when it comes time to select The few people who will actually be authorized to go forward will have mentors assigned and will be staffed projects Then we're actually we are choosing these students proposed project plan and Actually the same project idea could result in multiple plans from different students And we're choosing one of those plans and the student that submitted that plan This does that does that answer your question? Yeah, yeah, actually. Yeah, that that actually tells me that I need to do more reading Uh on GSOC guidelines and stuff uh, yeah So yeah, but thank you mark. Thanks. Thanks for the detailed explanation Super Yeah, and looking forward to this we're going to have fun. Kara back to you We're definitely going to have fun. Um, the only thing I would add to that is that um We very much want the students to going to reach open talks We want them to to produce something that they can show and that is that is the goal but um And even broader or more fundamental goal is is actually the students learning An experience with open source. So It's actually okay for the student to have parts of their GSOC experience be Like oh, I tried this and it didn't work and I can explain, you know Why didn't work and what what I learned from it and then we went and tried this and that's okay, you know, like it doesn't need to be um Not every step of this as a work project needs to go perfectly for the student They're allowed to actually explore and try different things So having that space within their project idea of like where they're going to figure out their way forward is actually It's it's fine. It's okay. Um, it gives them more space for them to bring their own creativity and their own trial and error and the experience of that So it's not just about, you know, writing production code Although we do want their code to go into production. So Does that does that does that seem right mark? Yeah, yeah Okay But yes having fun is is the most important part and really enjoying open source Thank you for reading to Jenkins Great. Okay. So it's basically top of the hour. Do we have any extra questions for today for our mentors who are with us? Or do the mentors have any questions? Okay, great. Thank you all for being here today with us and we'll see you next week Bye. Thank you


I mean, it is inconceivable for any Western democracy to subsist even for 10 years more if we didn't have, through progressive taxation, a steady transfer of resources from rich people to poor. Well, I consider that we can begin to talk about the world environment and about safeguarding our planet when we, the rich nations, are giving in perfectly formal, institutionalized tax assistance. Oh, at least 1% of our gross national product in development capital for the poor nations, I would go higher myself. You see, we've got to stop lecturing them while we sit back and ingrow 80% of the world's income for 20% of the world's people. And that, I think, is the critical thing on this development environment issue. The dab vision, especially among the young, can mean a redirection of how people think about this problem because you will not create a community unless you've got some moral commitment. And moral commitment needs some very stern underpinnings because we ain't moral easy. In this ceremony, which is on it, redistinguished, citizens of the free world, President Pusey, Father Bunn, and our friend from the world of freedom, Lady Jackson. So great is the shortage of capital, so obstructed are the means of development, that they won't even be able to learn from our mistakes. That is the thing, that would be the ultimate tragedy. I mean, for us to go and make the mistakes and then no one to learn from them, that really would be a cosmic bad joke. I am Andrew Norton. I've been director for only just over a year of the International Institute for Environment and Development, IID. And it's my pleasure to welcome all of you to the Barbara Wood lecture for 2016. The Barbara Wood lecture series celebrates the founder of IID. She was a renowned economist, journalist, and policy advisor, who was among the earliest advocates of sustainable development. She was also, by all accounts, an amazing public speaker. No pressure, Deborah. In honor of Barbara Wood's pioneering work, IID invites members of the current generation of outstanding women leaders in sustainable development to present their thoughts on the pressing issues of the time. The lectures take place every two years, and speakers in the past have been former president of Ireland, Mary Robinson, Connie Hedegard, you will have seen all of them on the screen. European Commission of Climate Action, South African MP, Nindue Sosulu, Christiana Figueres, the former executive secretary of the UN Framework Convention on Climate Change, and Fatima Denton, director of the Special Initiatives Division of the United Nations Economic Commission for Africa. This year, in 2016, it's 10 years since the first lecture took place. Barbara Wood was a pioneering economist, writer, and lecturer. And she was, of course, one of the first people to articulate the concept of sustainable development and what was needed to underpin it. And her vision still inspires IID's work today. Barbara Wood was born on the 23rd of May 1914. After graduating from Oxford University, she published her first book on a theme which would continue to preoccupy her throughout her life, the growing gap between rich and poor countries. You have seen some powerful quotes on the opening film. In 1939, she joined the Economist magazine, and eventually becoming foreign editor. She continued to publish influential books throughout the 50s and 60s and played a major part in highlighting the economic problems of the developing world. And in her later years, Wood was especially concerned about the growth of urban poverty and the conflict between economic development and protecting the environment, themes that we will be looking at today with Deborah. She founded IID in 1971 as a policy research organisation to work in partnership with organisations across Africa, Asia and Latin America to promote sustainable development. The institute played a key role in the Stockholm Conference of 1972, the Bruntland Commission of 1987, the Earth Summit of 1992 and the 2002 World Summit on Sustainable Development, as well as, of course, in the landmark events of 2015. So fresh for us now, the Paris Agreement on Climate Change and the adoption of the Sustainable Development Goals. Environmental campaigners, No Barber Award, perhaps best for her remarkable book published in 1972, Only One Earth, The Care and Maintenance of a Small Planet. And anyone who's not read it, I would recommend that. It's still incredibly kind of sharp and real for the problems we face today. In this, she writes of the need to clearly define what should be done to maintain the Earth as a place suitable for human life, not only now, but also for future generations, which remains perhaps the first and best definition of the concept of sustainable development. So IID is delighted to welcome renowned climate scientist, urban practitioner and local government official, Dr. Deborah Roberts, to be our speaker at the 2016 Barber Award lecture. Deborah has received global recognition for spearheading work on how the world's cities can tackle the risks of climate change. And she is co-chair of Working Group 2 of the Intergovernmental Panel on Climate Change, which is the UN body that reviews and assesses scientific, technical and socioeconomic information on climate change. Deborah is perhaps particularly known for putting the South African city of Durban on the world map as a real frontrunner and leader in climate action in the urban space of all kinds. As head of Durban's Sustainable and Resilient City Initiatives Unit, she is also the municipality's first chief resilience officer overseeing the city's first climate resilience strategy. Her projects include leading the Durban Adaptation Charter for local governments, developed and adopted during the UN climate negotiations in Durban in 2011, which has now been signed by more than 900 cities around the world. And this charter has played a major role in securing broad-based global political commitment at the local government level to strengthen the capacity of cities to deal with the impacts of climate change. She has worked as a lecturer and researcher at the University of Natal South Africa and written widely in the fields of urban open space planning, environmental management and urban climate protection. Some key points about Deborah, that it is really remarkable to have a local government official who is also actively engaged in both global intellectual leadership as a scholar and writer and in global policy, especially through the IPCC and the UNFCCC. She works to make global decisions locally relevant and provides a model for how to work in these different domains and bridge the divide between them, which is an essential element for producing effective local action on global agendas such as climate change. This lecture comes as the world focuses on urban issues ahead of the Habitat 3 conference to be held in Quito, Ecuador over the next couple of weeks. The UN's first urbanisation conference in 20 years, habitats come along every 20 years, Habitat 3 will seek global political commitment to making cities more sustainable, inclusive and, as Deborah in particular has championed, resilient to the impacts of climate change. The world's population is now over 50% urban. The urban population is estimated to be nearly doubled by 2050 and 1 billion people around the world in urban informal settlements lack access to adequate shelter and sanitation. IID's Human Settlements Group have worked on issues of urban sustainable development for over 20 years. Our work through long-standing local partnerships has provided some key messages. Firstly, the urbanisation offers substantial opportunities to reduce poverty, building on proximity and density of urban areas to provide more practical and cost-effective access to infrastructure and services. Secondly, the local level finance allocated through accountable and transparent processes and blending with households and communities' own resources and savings can enable organised communities to do extraordinary things. Such finance has the potential to scale up informal settlement, upgrading, provide vital services, strengthen livelihoods and demonstrate that there are alternatives to evictions. Thirdly, the cities are at the front line of responding to climate change, both in reducing greenhouse gas emissions to limit global warming and in taking actions to prevent harmful impacts on people, infrastructure, societies and economies. There are many co-benefits to be realised here. Sustainable low-carbon cities should be more equitable, healthier and easier for all citizens to move around. In the run-up to Habitat 3, it is worth noting a couple of things. This is a real opportunity for the stakeholders gathering their national, local governments, civil society and development actors, development agencies to develop and implement a new urban agenda that unites and that aligns with the key commitments of 2015, the SDGs and the Paris Agreement. Our emphasis should be on the need for different stakeholders beyond just national governments to be part of that conversation. We need a focus on how the new urban agenda commitments will be implemented, and this is frankly a little weak in the document in some ways as my colleague at IID, David Satterthwaite has eloquently pointed out on a number of occasions and blogs. There is a lack of focus on local government capacity and accountability, which is central to delivering most SDGs, and at best, the poor are seen as passive recipients. At worst, they and their needs are invisible. For example, if local governments made their own commitments to addressing the SDGs and climate agreements and their implementation was monitored by local populations, greater action results can be achieved. Deborah's work in Durban, South Africa and the world demonstrates how different stakeholders can be part of the policy conversation and how global commitments can be implemented locally. All that remains for me now is the basic housekeeping and this is the standard thing. If there is a fire alarm, it's a real one. There are no tests planned, so we all have to leave. On hearing a continuous fire alarm, please follow the fire signs and make your way to the fire assembly point located outside Somerset House on the Victoria and Bankman Street underneath Waterloo Bridge. And with that, rather presaic note, let me hand over to Deborah. Thank you very much, Deborah.


I seek salvation from shaitan the accursed, my dearest viewers, my children, my brothers and sisters and my elders from across the world, may peace, blessings and protection of Allah be with you. I would like to thank you for tuning in to another episode of the Ramadan Show exclusively here on Imam Hussain TV with me, your host Dr Shabir Tajani. Insha'Allah today we will go through more topics to be your one-stop shop for this holy month. I would like to humbly request you to please send in your videos and your pictures from wherever you are in the world so we can see how you're preparing your day-to-day lives for this holy month. Also please don't forget to join us on Twitter using the hashtag IHTVRamadan. Don't forget to join us on Facebook, Instagram and YouTube insha'Allah this program will be uploaded on to there tomorrow. Before proceeding on to the show I just wanted to impart a quote, a hadith from Amir al-Mu'minina, where he says do not drive away your blessings through your own ungratefulness. Insha'Allah in this show we shall elaborate further but this is a very true saying where if we don't be thankful for Allah and for His mercies that is bestowed upon us we can drive away the bounties that are heading our way. In today's episode of spiritual refinement I want to talk about something, an emotion, a gift from Allah SWT which is very basic yet so important and that is the gift of gratefulness. Being able to feel and express gratitude is one of the most profound yet simplistic gifts that Allah SWT has given us. The reason why it's so beneficial is because it allows us to make connections. The reason why it's so simple is that it doesn't require any special knowledge, any special skills, any special equipment or preparation, anyone at any time can access this gift of thankfulness. However we find that most of us fall short of this especially when it comes to expressing our thankfulness and gratitude to Allah SWT. However we can make a start on this, improvement has to start from somewhere. Just practice and notice a blessing and thank Allah SWT for it. You see it doesn't take a lot to sit down and contemplate but yet we don't find the time to do it and when we reflect and contemplate we can pick up on these very very small blessings that we have in our lives and put them together. Thank Allah SWT for each and every one of those. If you can't thank Allah SWT for all of them thank you for one one that you normally don't think about or thank for. One of the reasons why gratitude is so beneficial is because it improves into relationships whether interpersonal or with our Creator. When we're able to feel and express gratitude for Allah's blessings affection grows between us and Allah SWT and also vice versa because Allah SWT has said the closer you come to me the closer I'll come to you. But the personal benefits are also great. You see a thankful heart remains a content heart. Even in times and circumstances of hardship we always have much to appreciate. When we acknowledge this our burdens become more easier to bear. Imam Saad I alaihi salam has said with every breath you take a thanksgiving is incumbent upon you indeed a thousand thanks more. The lowest level of gratitude is to see that the blessing comes from Allah SWT irrespective of the cause for it and without the heart being attached to that cause. It consists of being satisfied with what is given.  Our breathing comes without thought and yet each breath is a blessing. Our heart continues to beat without any voluntary control. It's a blessing. You see the struggle for breath is an agony which we're usually spared thousands upon thousands of times without thinking.  Breath is the ultimate beginning of life. When a newborn or a baby is born the first thing to do is to cry to take a gasp of air and that is when Allah SWT starts the breathing and we continue this process until we die without even thinking about it and we never think about thanking Allah SWT with every breath we have with every breath we take. Allah SWT in the Holy Qur'an says very few of my servants are grateful. You see expressing gratitude towards Allah SWT is in itself a great form of worship. At the minimum gratitude should be a basic part of our daily prayers. Allah SWT has taught us that if we're grateful our blessings will increase and not only is this true about Allah SWT but life in general.  It is important to note that Allah SWT is not in need of our gratitude nor does it feel hurt by our ingratitude. You see our gratitude enriches us as individuals. Lady Zaynab peace and blessings be upon her has said a very valuable lesson or has set a very valuable lesson for us in patience, in gratitude when she says I have not seen anything but the beauty of God. Ahlul Bayt alaymu Salam have always expressed thankfulness and gratitude despite so many hardships and difficulties. So finally I want to leave you with these few thoughts and something for you to ponder over and reflect over because after all this is why we're here to be the servants of Allah SWT. So next time you are in a situation where you feel ungrateful think about these things. Be thankful that you already don't have something that you desire if you did what there be to look forward to. Be thankful when you don't know something for it gives you the opportunity to learn. Be thankful for the difficult times during those times you grow as a person. Be thankful for your limitations because they give you the opportunity for improvement. Be thankful for every new challenge because that challenge will allow you to build your strength and character. Be thankful for your mistakes for those mistakes will teach you a lesson. Be thankful for when you're tired and weary because it means you've made a difference. Gratitude can turn negativity into a positive. Find a way to be thankful and especially when you're in trouble find a way to be thankful and have gratitude because you will see those negatives and those bad experiences will actually become something positive. The Holy Prophet Muhammad may the peace and blessings of Allah be upon him and his progeny has said. O people surely the month of God has approached you. The month which in the eyes of Allah is the most virtuous of the months. Its days are the best of days and its nights are the best of nights and its moments the best of moments. Today as we look around the world and we look at different places to see how they prepare themselves for the month of Ramadan I want to take us to a city which is called Karachi in the country of Pakistan. Karachi is infamous for so many reasons. Firstly in the Shi'a world for the targeted killings of Shi'as within the city we hear stories of Professor Sip de Jaffa who was killed was a very famous Shi'a poet. The other reason why it's so famous is because it's one of the biggest if not the biggest city within Pakistan itself and number three it's very famous because it has such a diverse population the very rich the very poor different religions such as Christianity Islam and other religions as well within the city. The Shi'as within the city are found in very small pockets however the Shi'as do form quite a large part of the population. There's specific areas such as Malia Khurasan and other areas such as Ancholi around Karachi which are populated by Shi'a people and therefore the Shi'a people have very specific ways in which they prepare for this holy month and there's a very strong sense of kinship and brotherhood because obviously they're isolated and targeted and therefore they galvanize and come together as a community. In Karachi the people tend to get up and they work through the day. The hours of fasting are a lot smaller compared to places like Quetta which is found in the north of Pakistan. Karachi at this time of the year is very very hot and therefore the people if they're working in stalls they tend to close them during the hottest parts of the afternoon and reopen them a bit later on in the evening when it's a bit cooler. When people come home from work they tend to rest for a while and then they have Iftar usually in gatherings usually in the mosques and in the mosques they have things like recitation of the Quran they have dua they have Majalis every single night and people come together in their large communities in order to celebrate or to remember this holy month en masse as a congregation. Children are encouraged to fast and if they're fast one or two days they're rewarded with gifts and the elders praise them for doing this in preparation for older age. The people of Karachi get together for Iftar and their largest meal is usually after the time of Maghrib they have very very light food at Maghrib and then after that maybe an hour or two later they get together in communities or in families and they eat together they don't like eating in isolation and they feed the poor as well so they give the poor arms they give the poor food and drink during this month so that they can also enjoy in the Iftar. The government of Pakistan subsidizes things like oil rice flour during this month so that everyone can have the ability to cook even the most basic foods during this holy month. InshaAllah I pray or I hope rather that you send in your videos your pictures your blogs about your month so we can also see what you go through and how you prepare. InshaAllah until the next episode where we'll be looking at more places around the world I hope that this can be of inspiration to you people around the world are so varied and as she asked we're so varied in our practices but we shared the most distinctive connection and that is the love of Allah SWT and the love of the Ahlul Bayt alaykum as-salam. Bismillah ar-Rahman ar-Raheem dearest brothers and sisters Assalamu alaikum wa rahmatullahi wa barakatuh peace and blessings of Allah be upon each and every one of you yesterday we took you to a one restaurant this restaurant had different parts so we decided to show you today different parts of this restaurant so stay tuned as we go inside this restaurant okay brother is saying that this furnace is brought from Syria it's a Syrian way of cooking different types of pizza including meat and other other things they do it here in front of the those people who come to the to this restaurant to show that how they prepare and make this type of pizzas also they have the ability to spread these pizzas outside if someone wants to order for example 100 pizza they can do it for them easily I asked the brother about this salon that we are here in now he's saying that we have opened this part of the restaurant recently because the previous part that they had could include only 125 percent now they have this part ready here with new decorations and with new services also they have an upper part which is specified for BIP it can include about 100 percent too in this episode we're going to talk about health tips and medical advice over the past few episodes we've talked about risk factors for heart disease for cardiovascular problems we've talked about potential symptoms of heart attacks and inshallah today we'll talk about strokes stroke to me one of the most deadliest illnesses or diseases or problems that one person can have if it doesn't kill you it can cause severe problems with the equality of life it can make you not able to walk not able to talk not able to swallow or eat so something that we must try and avoid by keeping a good and healthy lifestyle and try and avoid risk factors that could cause it inshallah today i'll be talking about potential risk factors for stroke and we've already talked about these in the previous episodes but i'll talk about how they can cause strokes and the pathophysiology behind it number two i'll talk about what strokes are number three i'll talk about treatment for stroke number four i'll talk about long-term prognosis after someone's had a stroke the pathophysiology for stroke is pretty much similar to that of a heart attack except it happens in a different part of the body the plaque that builds up when you have a heart attack in the coronary artery is the same thing that happens in the carotid artery which supplies the brain it's a large vessel in the neck and because of high blood pressure cholesterol high diabetes smoking all these can cause the build-up of a plaque in the artery that supplies the brain and as a result over time this can get bigger and bigger as the blood is supplied and is pumped out of the heart to go towards the brain parts of this plaque can break off and head towards the brain and get lodged there this can either manifest itself in the form of a transient ischemic attack or a tia which lasts a few seconds or it can be a full-blown stroke the cause for a stroke is simply not enough oxygen to specific brain cells or if it's a large stroke depending on which artery is affected it can affect more than one part of the brain now strokes essentially the symptoms you get with strokes can be from subtle things such as unable to find the right words to the more profound things such as inability to walk or losing the movement on one side of the body completely strokes can affect different parts of the brain so depending on what part of the brain they affect it will affect obviously the symptoms that you have the most common symptoms though are a facial droop on one side inability to talk or when you're slurring your speech other symptoms are the inability to move one side of your body or to feel one side of your body the more subtle symptoms are things like lack of coordination if you find that you've got any of these symptoms i will suggest you go and see a doctor as an emergency if you have access to a phone dial whatever emergency number there is in your country and get seen in a hospital the reason being is that if it's a stroke that's happened very recently as long as it's not a hemorrhagic stroke which i'll inshallah talk about in a in a few minutes then you should get to the hospital because within four hours in the uk we can give something called thrombolysis which dissolves the clot which causes the stroke if it's within four hours of picking it up hemorrhagic strokes are caused not because there's a blockage of an artery or a blood vessel but they're caused because a blood vessel has popped and exploded and as a result instead of the blood supply going to the brain cells it just oozes out of the artery or the blood vessel not making it all the way to the cell that it's intended to go to as a result people can have number one stroke like symptoms and number two if there's enough bleeding it can cause pressure on the brain and cause someone to get drowsy and even more or worse the symptoms than that like i said if you get any of these symptoms it's important that you seek urgent medical attention hemorrhagic strokes consist or make up about 10 of all strokes the rest of them are all caused due to ischemia due to a lack of the blood getting to the brain due to the blockages that i've mentioned before the treatment for stroke depends on person to person depends on how extensive the stroke is and thirdly depends on how quickly it's picked up if you're at home and you found someone or you think someone's had a stroke it's very very important that you get them sent to hospital as soon as possible in the hospital they usually have a CT scan number one to see if there is a profound stroke that's obvious on the scan number two to exclude any bleeds on the brain and after that they usually give the patient something called either they give them thrombolysis if it's caught within a few hours and if the symptoms are extensive enough or they give them medication such as antiplatelet therapy and sometimes even warfarin now it's very important to realize that the antiplatelet therapy differs from country to country so inshallah i won't go too much into that but it's just to say that if you're given advice by a doctor it's very important that you stick to that advice once someone's been treated for stroke the prognosis obviously depends upon the treatment they've received it depends upon how quickly the stroke was picked up and that will obviously affect the treatment they received it depends on the extensiveness of the stroke itself and number four it depends on the rehabilitation process inshallah i'll talk through some of these things in a bit more detail and also the long-term prognosis after many many years and how your life will be affected number one the medications is very important to stick to your medications that the gp has given you your doctor has given you and if you find that for whatever reason you can't tolerate it go and see a doctor as soon as possible don't stop taking your medication whatever you do secondly the extent of the stroke obviously is not under your control but it will determine the medication the treatment that you get and also the rehabilitation is a very very important part of stroke recovery the reason being that the brain has something called plasticity it's got the ability to compensate for a compromised system essentially it means that if there isn't one part of the brain working another part can substitute or be plastic enough to do a role which can compensate for that part of the brain that's not working now this depends a lot on the rehabilitation process so if you are very very intensive and work very very hard in the rehabilitation phase you can see a lot of improvement very quickly however this depends on person to person like i've said it depends on the rehabilitation process and also on your willpower as an individual sometimes you can try your best and still not get good results and if that's the case then don't be upset it's just sometimes there's not much you can do about it when you're in that state or in that stage but if you don't try hard enough you'll never know then the long-term prognosis depends on person to person and the symptoms that you had to begin with so for example if it's something as simple as lack of coordination then these symptoms can last or can stay with you for a while but they will or they can get better however people that find that they can't swallow and eat they will need an assessment from the sole team which is a speech and language therapist that will help them to firstly coordinate their swallowing and secondly they will allow them to develop the muscles and the ability to swallow if they can't do so and obviously the speech and language therapist also help with you or help you if you're suffering from inability or slurring of your speech the reason why it's important to assess someone who has problems swallowing is that if the muscles that allow you to swallow not working properly then sometimes it can mean that instead of the food going down your food pipe it goes down your windpipe and if that happens it can be catastrophic because it can cause a severe pneumonia which can make you very very ill other avenues one can explore when suffering a stroke are things like physiotherapy someone who's had a stroke on one side may find that they're not very mobile they may find that they're unable to walk very far and as a result the physiotherapists are engaged and they come and they help you out and they also help in the rehabilitation process they'll help you to learn how to use your muscles once again to make sure your muscles don't shrink by under use of them they'll also try and get you to learn tips on how you can move from for example your bed onto a chair how you can move and stand up from a sitting position and they'll also help you to walk using walking aids to sticks and frames and inshallah if the rehabilitation process is successful they will also try and follow you up after you have been through that to see if everything's going well the other professional organization that we usually explore is the occupational therapists some people have had strokes find that specific parts of their brain are affected for example if your frontal lobe is affected and you can't do executive functioning such as cooking for yourself then they can get to you meals something called meals on wheels or they can get meals provided for you number two if it's something like a profound stroke which has affected your ability to use your hands or your feet and you're unable to wash yourself or dress yourself they can get carers in to try and help you to do that obviously once all of this is done it is important that you keep up to date or keep regular checkups with your doctor because if there's any worsening of your symptoms the doctor can refer you to another agency or the physiotherapists or the occupational therapists if needed inshallah i hope that these last few episodes have been useful where we've talked about cardiovascular risks strokes and so forth inshallah i hope that this allows you to lead a more healthier lifestyle to look after your heart to look after your brains so that you can be of benefit to the community in the long run inshallah tomorrow we'll be going on to another topic and diverting away from this short series that we've had but inshallah i hope that you've learned enough from it and as a result you're physically more able to continue and have a good quality of life and through that you may be able to serve Allah subhanahu wa ta'ala and the ahlul bayt alaykum as-salam government corruption is a big problem in today's world if you wanted to look anywhere in any country we cannot find a government free of corruption politicians operate on bribes and their and their positions are determined by the by the person who pays the most government resources the wealth of the nation's people are squandered left and right however there was one government in history where this was not the case the government of ali ibn abi talib peace be upon him the father of haslan hassein such was the nobility of ali ibn abi talib that he was in corruptible he never wasted the resources in which where they were entrusted upon him this was because he knew that to that to occupy a position of public leadership meant to serve the people and not rule over them one day talha and zubair are very well known two figures in the time of ma'am ali came to visit him to make a deal they were hoping that if they pledged their support to the government of the imam he would he would in return random positions and he would he would grant them high social and political positions it was evening time when they arrived at the government buildings and greeted imam ali while he was working to record the funds of the treasury he extinguished one candle and lit another the two men's were curious of this action telling the imam that they had come to discuss some some important matters they asked him although they asked him that why this weird action from him imam ali ibn abi talib pointed to the extinguished candle and said the candle that i extinguished was purchased from the public treasury so i only use it when i when i'm working on the public treasury and the candle that i lit is purchased from my own pocket and since you have come to me for personal matters i lit that candle when talha and zubay realized such a man realized that such a man cannot be incorrupted they would never have done the deal that they had in mind they excused themselves and left without saying any word respected viewers brothers and sisters i would like to leave you with this quote by ali ibn abi talib who says be sincere for with sincerity you will reach success and become successful insha'Allah today i hope to recite a nashid which is about equality about making sure the poor are fed making sure the needy get what they need it's a nashid which i've heard recently which has a very deep and profound meaning although it's so simple the title is assalamu alaikum i dream for a day when there'll be no more misery there's no more hunger no need for shelter isn't there enough to share or is it that we just don't care we're here for a day or two let me show my way justice and unity when we put aside our differences fighting makes no sense just a little faith to make it a better place we're here for a day or two let me show my way salam salam salam salam salam the holy prophet Muhammad may the peace and blessings of Allah be upon him and his progeny has said oh people surely the month of god has approached you the month which in the eyes of Allah is the most virtuous of the months its days are the best of days and its nights are the best of nights and its moments the best of moments as we conclude another episode of the Ramadan show i want you to leave you with a few final words something to ponder over and think over during this nights of Ramadan and that is from a very famous swahili proverb and that proverb is when you do something good don't wait for the thank you in other languages it is when you do something good forget about it either way what it means is when you do something good walk away from it so fast that you don't even get to hear the word thank you because surely you're doing it out of the love of Allah subhanahu wa ta'ala and your reward lies with Allah subhanahu wa ta'ala these worldly acknowledgements will not get you very far inshaAllah i hope that you can join us again for another episode tomorrow don't forget to send in your videos your picture your blogs so that we can air them on this tv channel also don't forget to join us on social media using the hashtag ihtv ramadan on twitter on facebook on youtube and also on instagram inshaAllah i hope to see you tomorrow and i'll leave you with these final words wassalaamu alaikum jami'an warahmatullahi wabarakatuh