Reservoirs have been built for various purposes such as water supply, irrigation and electricity generation in Brazil. More than 700 large dams and associated reservoirs exist in the country's large rivers. These reservoirs bring economic development but also alter natural hydrologic regimes affecting habitat quality and biode dynamics. The main impact of reservoirs is the change from lotic to lentic water which influences aquatic fauna including fishes. Fish species richness usually increases immediately after reservoir formation but decreases as they age. Dams promote discharge control, altering seasonal flood cycles. Most affected species are re-aphilics and long-distance migratory that require distinct habitats to fulfill their life cycles. Management actions such as fish passages, fishery control and stocking have been taken to minimize dam impacts in Brazil but results are questionable or with clear failures. The Piranha River basin is the most affected by dams in Brazil and negative consequences include alteration and decline in fish diversity, fishery and ecosystem functioning. Suggestions for improving conservation of ikthia fauna in South American basins influenced by dams include better management actions, monitoring and restoration efforts. This article was authored by A. A. Augustino, F. M. Pelicis, and L. C. Gomez. We are article.tv, links in the description below.


وأقول في القرآن ما جاءت به آياته فهو الكاريم المنزاله وأقول قال الله جل جلاله والمصطف الهدي ولا أتأوّاله الحمد لله رب العالمين والصلاة والسلام على عبد الله ورسوله نبينا محمد وعلى آله وصحبه أجمعين السلام عليكم ورحمة الله وبركاته سوف نرى السلف الصالح كيف يكونون؟ after the month of Ramadan once the month of Ramadan had finished what guidance can we take from those people who preceded us in good about how they would behave after that month of Ramadan finished it was said to Bishr بن الحارث رحم الله تعالى إن قوما يتعبدون ويجتهدون في رمضان فقط فقال بئس القون لا يعرفون الله حقا إلا في رمضان إن الصالح الذي يتعبد ويجتهد السنة كلها it was said to him there are a group of people they worship Allah and they work hard in the month of Ramadan only just in the month of Ramadan what we might call today the Ramadan Muslim the person who when Ramadan comes they really know they dust themselves down and they do their worship they fast they pray but after Ramadan they don't worship Allah at all he said what a terrible people they are بئس القون what a terrible people they are that they only truly know Allah in Ramadan the righteous person is the one who worships and works hard the whole year round so the Salaf al-Saleh رحمه الله تعالى they didn't see that Ramadan was a time for worship and the rest of the year is a time for doing other things rather they saw Ramadan as a training program to develop their ability to worship Allah in the rest of the year and أبو منصور الشيرازي رحم الله تعالى he said in one of his gatherings he said he said what is Eid he said Eid is not for the one who غريفة له قلتي علىه it's the clothing new clothing is cut for them new clothing is tailored for them he said Eid is not the one who new clothing is tailored for them but Eid is for the one who is forgiven Subhan Allah they saw that Eid in celebration what's deserving of celebration is being forgiven by Allah and Subhan Allah just the person getting new clothes on Eid and just the person having lots of food on Eid that in itself that's not what Eid is about Eid is about what you did in the month of Ramadan and celebrating a huge act of worship that you were able to complete by the grace of Allah it's not about having new clothes and Subhan Allah we see so sad the situation that many many people they even as the month of Ramadan is drawing to a clothes they are planning and preparing how they are going to disobey Allah on the day of Eid they are planning we are going to go here we are going to do this and we will lie from so many types of haram so many things that people are planning to do of all the different kinds of haram rather there are also people who are not planning to worship Allah on that day they don't typically pray on Eid or they don't typically observe and are not careful about their prayers on Eid and this makes you fear for the person that perhaps their Ramadan has not been accepted and ultimately acceptance is in the hands of Allah and none of us know whether our deeds have been accepted or not we are all fearful of that but you fear Allah you fear when you see a person who the first thing that they do after the end of that time of worship is to disobey Allah or to plan how they are going to disobey Allah or the person who sees it as a day of new clothes and plenty of food but doesn't see it as a continuation of the worship that you had done in Ramadan the next phase of your training is to put into practice the habits you have built in Ramadan and Al-Hasn Al-Basri رحمه الله تعالى the great Imam from the Imam of the Taba'een he said وذكره وشكره فهو له عيد he said every day that Allah is not disobeyed that's a day of Eid every day that a believer spends in obedience to Allah remembering Him and being grateful to Him that's a day of Eid and that's what we do on Eid ولي تكمل العدة ولي تكبر الله على ما هداكم ولعلكم تشكرون that you may finish the days of Ramadan and you may make تكبر you say الله أكبر for what Allah guided you to ولعلكم تشكرون so you may show gratitude to Allah إيد is a day of remembering Allah a day of gratitude to Allah a day of obedience to Allah but it's not a day of disobeying الله سبحانه وتعالى or a day of forgetting الله سبحانه وتعالى that's not doesn't deserve to be called a day of Eid as Al-Hasn Al-Basri said every day that a believer spends in the worship of Allah in the obedience of Allah in the remembrance of Allah in gratitude to Allah that's the day that deserves to be called إيد وقيع ابن الجراح رحمه الله تعالى he said خرجنا مع السفيان الثوري في يوم إيد فقال إن أول ما نبدأ به في يومنا غض أبصارنا وقيع ابن الجراح رحمه الله تعالى he said we went out with سفيان الثوري رحمه الله تعالى on a day of Eid and he said the first thing that we're going to start our day with is lowering our gaze because the day of Eid and the Eid prayer is the time when all of the the women come out the people who were normally who would normally keep themselves to themselves even the young girl who was just before the age of marriage who would normally keep herself to herself that was the Islamic tradition that we had in those days that those women that were close to the age of marriage they would keep themselves to themselves and they wouldn't typically be outside and Subhanallah on that day on the day of Eid they would come out all together and so the first act of obedience that look at how the Salaf al-Saleh understood the day of Eid the first thing I'm going to do today is what it's not disobey Allah how can I finish the month of Ramadan with all of that obedience and then the first thing I do be let my eyes fall upon everything Haram instead the first thing we're going to start our day with today is lowering our gaze and this statement the first thing we're going to start with it kind of indicates doesn't it that the whole day of Eid they were thinking about how can I obey Allah Subhanahu و تعالى how can I get near to Allah they're going out to celebrate and yet still their focus is obedience to Allah and what they can do to get near to Allah المعلّأ بالفضل رحم الله و تعالى he said كانوا يدعون الله تعالى ستة أشهر أن يبلغهم رمضان و يدعونه ستة أشهر أن يتقبل منهم he said معلّأ بالفضل رحم الله و تعالى he said they used to make dua to Allah for six months to allow them to reach Ramadan and they used to make dua to Allah for the other six months for Allah to accept it from them Subhanahu و تعالى that was what was in the mind of the Salaf al-Saleh رحم الله و تعالى they were in their mind was has this been accepted from me ask Allah to accept it from me six months of the year from Ramadan six months they were making dua to Allah or Allah accept Ramadan from me accept my worship in Ramadan and then the six months prior to the next Ramadan or Allah لما بلّغنا رمضان or Allah allow us to reach Ramadan six months asking Allah to accept it and six months asking Allah to bring them to the next one that's how the Salaf al-Saleh رحم الله و تعالى that's how they used to behave after the month of Ramadan and it's also narrated from مفضل ابن لاحق أبي بشرب he said سمعتوا عديبن أوطا يخطبوا بعد انقلضاء شهري رمضان يقول he said I heard عديبن أوطا give a khutba after the end of the month of Ramadan in which he said كأنّ كبدا لم تظمأ و كأنّ عينا لم تسهر فقد ذهب الظمأ و بقي الأجر فيا لي تشعري he said I heard عديبن أوطا give a khutba after the end of the month of Ramadan in which he said it's as though we never felt any thirst and as though our eyes never stayed awake our thirst has gone and nothing remains except the reward he said فيا لي تشعري من المقبول مننا فنوها النئة و من المردود مننا فنعزيها he said يا لي تشعري he said who has been accepted from among us so that we can congratulate them and who has been rejected from among us so that we can commiserate give them our commiserations فأما أنت أيها المقبول فهاني أنها نئة he said and asked for you the one that has been accepted the deed that has been accepted هاني أنها نئة our excellent welcome you know that congratulations to you و أما أنت أيها المردود فجبر الله مصيبتك he said but for the one that has been rejected مي الله عز و جل complete يوم مصيبة مي الله عز و جل مي الله سبحانه وتعالى patch up this calamity مي الله سبحانه وتعالى fix this calamity ثم يبكي و يبكي then he began to cry and the people began to cry with him because nobody knows what has been accepted from them nobody knows what has what is going to be accepted by Allah سبحانه وتعالى إنما يتقبل الله من المتقين الله only accepts from the righteous they used to fear that and even perhaps they would cry out of the fear of not knowing whether something had been accepted from them or not and the Salaf رحمه الله تعالى they used to say to each other after the end of Ramadan من المحروم في هذا الشهر المحروم من حريم الخير و حقا المحروم من حريم داوام الطاعة حقا they used to say who is the one who has been prohibited really who has lost out on this month the one who has been lost out on this month for sure the one who has really lost out is the one who lost out on doing good the one who has lost out is the one who has lost out being continuous and regular in being Allah they used to see that the person who has lost out is the one who isn't able to be continuous after the month of Ramadan that's a sign of a person being محروم being prohibited from the good that came from Ramadan that they weren't able to have داوام الطاعة regular and consistent obedience to Allah عز وجل so we ask Allah سبحانه وتعالى الحي القيوم we ask Allah عز وجل by his greatest name the name that if he has made دعاته with it he answers in the name that if he is asked by it to make us from those people who our Ramadan was accepted and from those people who learnt lessons from this month of Ramadan and from those people who continue to act upon it and implement those lessons with consistency and continuity for the whole year around that's what Allah made easy for me to mention and Allah knows best والصلاة والسلام على نبينا محمد وعلى آله وصحبي أجمعي


Welcome back to my channel guys, it's Shakira Coco Styles and on this channel we talk about beauty, fashion, lifestyle, and styling. Today I wanted to do something a little bit different and this is for my ladies who actually are in the process of trying to build quote unquote their dream wardrobe, right? I wanted to talk about some of the things that you should be doing and should not be doing when you are trying to build a wardrobe opposed to having just a closet full of clothes, right? So as a style coach, I do speak to clients about this all the time. When I do their closet purge or the analysis, I notice so many things like clothes with tags on them that they haven't worn in months, even years that they purchased when they were shopping a sale or inspiration clothes guys. You know those inspiration clothes where we're like, hey, I'm going to lose this last 10 pounds, I'm going to get into this outfit. Those are all bad, bad things. When you're trying to build a wardrobe, you should always know what your end goal is and for myself, I'm tall so we already have like certain struggles that average height women do not have and that is the best quality clothes, tons of brands that cater to us and finding things that actually fit our frame. So for us, we have to do a little bit more digging when it comes to trying to build a nice wardrobe. Now as a girl who is six feet tall, I have not shopped 12 girl brands ever and I've said this before. Now that I know that they exist, it's just not my type of clothes. So I'm going to continue to buy things that are from regular brands, make them work for me. If it's too small, of course, you know, I get things tailored. I get things cropped. Listen, I don't want to look like everybody else. But you know, it's difficult for tall women. But still, even though I have those struggles building my wardrobe, I still keep certain things in my mind. So I'm going to jump right into it. Let's take notes. The first thing is I want to always remember what my end goal is. How do I want my wardrobe to look? Do I want a certain color aesthetic? Do I want to be able to come in my closet, grab something and go, right? Grab a pair of shoes and go. Do I want that?  Trendy items mean a certain colors that are trendy, right? Things that may go out next season and I have to replace.  So I always say, think about that first.  If you're not, definitely go the opposite way. The second thing I always say is do inventory on your wardrobe. See what you have. I have tons of stuff here, over here, over there, have shoes there. But I always, before I purchase something, sweaters and shirts and stuff, you're always going to need, right? Because you can wear your same jeans and skirts, trousers over and over, but the top is different. No one's going to know that you're having the same bottom. So tops and things I always buy, but I'm still cautious about certain things that I buy.  And if I do wear it again this year, I'm going to wear it completely different, like completely different. So this is much more loud opposed to a regular black sweater, right? Like I said, you want to make sure you do inventory. See what you need. See what needs to get out of your wardrobe. That does not fit this new style and keep what needs to be kept. Things that are in great condition that you actually are not into anymore, like the style, sell it, put it on Poshmark, put it on all these other Makari, all those sites, sell it, right? If you have something in your wardrobe that you love that's too big, get it tailored. All right? So this is a good place to start when you start trying to build that foundation. Foundation is key, guys, which leads me into your wardrobe essentials. Essentials. You guys, some people call it basics. Essentials are the things that keep your wardrobe functioning, okay? Functioning meaning I can come in here, I can grab a pair of jeans, I can grab a white button-up shirt, I can put it on with some pumps, simple outfit with a hat. That is an essential is that white button-up and those denim jeans, right? If you're not into pumps, I'm sure you have some sort of sandal or some sort of booty, something, right? But those two pieces are essential and guess what? You can definitely wear them a ton of ways. So make sure you have your essentials in your wardrobe. If you guys think it was too loud, my air is on. All right, so you have your essentials now. Now you're like, okay, I want to start adding in the pieces that I absolutely love. What do I do? You start browsing around for the brands that cater to you, right? Your style, your new wardrobe aesthetic, right? All brands are not created equally. We know this. If you want to buy things that are more pricey and better quality, you're not going to shop at Fashion Nova. You know what I mean? If you are in the middle, middle area, you may do Zara, you may do Mango, you may do who else? Brands that are like in the medium price range but have decent prices, decent quality clothes. All right. So you're going to find those brands that you actually like and love. Then you're going to actually go ahead and browse online, create shopping lists because you're going to figure out what you do not have and what you need. You're going to create these shopping lists. Then you're going to go into these stores or you're going to order it online. If you have the store in your area, I would recommend going in and trying on a ton of stuff. Even things you don't think you would like, you'd be surprised how certain designers and certain brands make things that just look good on your body. So it's just a good idea to go in and just play dress up, guys. All right. So once you have that, you play dress up, you have your shopping list. Now you're going to go shopping for your stuff. Here's where the strategy and the planning comes into place. Oh, gosh, guys. So think about it like this. Sales shopping, you guys know I'm not for the sales shopping. However, if you see any of your essential items on sale and they are a good quality, get them, okay? If there's something that you really want that has been on your wish list for a while and it goes on sale, get it, okay? Sales shopping does not mean, hey, all of these emails I'm getting, I'm going to go and buy everything that I see. We're not going to do that. We're getting out of that phase and that era. It does absolutely nothing for your wardrobe and it actually makes getting dressed worse, okay? Because you're buying things, got tags on it, you don't wear it. I used to be a person to buy things and because I'm from New York, I never purchased things in like outfits per se, like I wouldn't buy like an outfit and I'm still that way to this day. I'll see like a really nice piece and that's it and I'm like, I don't know what I'm going to wear it with. But then when I get home, I have so many pieces that are either essential items or something else and I'm like, I can put this together, right? So make sure you're buying things that are on sale that are essentials and things that you really, really want because if you're buying things on sale just because it's on sale, you're not going to wear it, all right? So after you get all your items, you've shopped, you've did some little bit of sales shopping for the good things, you have a great, great foundation right now and now you can organize your closet, okay? And I don't want this to sound very like, like I'm talking to a client but an organized closet really helps guys. If you have the space for a separate room, do it.   You can always get your super, because that's what we call them, your super to put an extra bar that way you are utilizing your top and your bottom space. If you don't do that, you can add shelves at the bottom, you can put your shoes in there, get rid of your boxes and just maximize the space, right? Because one thing you don't want to do is have a bunch of clothes and no space to put it. And then what happens is things start to fall down, you don't get to see that your stuff fell down, you don't remember what you have, it happens, right? So try not to be too cluttered with your stuff and only buy things that you're actually going to wear, guys. Sometimes we have a closet full of clothes and never really wear the stuff. I have skirts in here that I have never worn and I bought them from Zara so many years ago. But let me tell you why I haven't worn them. They're really nice. I, oh no, actually I did wear them. I wore one. I wore one. Yeah, I did. The zipper is silver so I'm going to get my tailor, let me show you guys actually.  So that's the only reason why I haven't worn this one. The other one is a green and I just kind of made it work. But I don't have too many things that I have not worn, right? And the final, final thing is to start implementing everything and wearing everything. If you learned a style tip along your whole journey, you want to start implementing that, right? Something as simple as rolling up your sleeves, right? Something as simple as a tuck can definitely change the way your outfit looks, all right?  Because I'm just like, I don't even want to scrunch the sleeves. Let me just make it to a whole other jacket. Hence why I did that to that Zara jacket, right? And those two leather jackets, because it was just pointless to me. It was like a little tight and stuff here. So I just had her crop the sleeves and just got creative. So instead of me letting my height work against me, I'm working with my height and making things work for my body, buying things that look good on my body. So this is why I'm not really a trendy person. I've never really been a trendy person because I don't, I'm not into like just buying clothes and then rebind them over and over. But buy things that work well with your body. I don't know how many times I can say this, trends are great guys, but you have to be realistic when it comes to how your body is shaped, how tall are you, all those things. Some average height girls can't wear some things from some brands because they make them really large, right? So we have to get creative and start buying clothes and wearing them how we want to wear them as long as they look good on our body types. Some line is I can't wear something that somebody who is 5'2' wears, it's just not going to happen. So instead of me trying to mimic someone else's style, I just buy things that work with my body guys, super, super, super, super simple. So those are my quick little tips guys. I hope you guys enjoyed it. I just wanted to come over here and help you guys build this wardrobe that you desire guys. Trust me, I've been there and I'll pop in a picture somewhere of what I have on today. The sweater is from Sakai. Now, this is a good sale. This sweater was like a thousand dollars, okay? But let me tell you, it went on. I was not going to buy it, like I was not paying my money for that. I just wasn't going to do it. But I put it in my wish list just to look at it, right? Hell, like super sale. So that was a win. On my skirt, you guys can't even see my skirt. But I have on this Frankie shop. I'll pop in a picture. This Frankie shop, like satin, pat and leather skirt. The thing about the skirt is the skirt only has one pocket. I've never purchased anything from a Frankie shop like that or anywhere. It has one pocket. The other side has a zipper. It's just very, very weird. I was feeling all day, no pocket. But yeah, so if you're interested in the skirt, just know that when you get it, it has one single pocket. But if you like videos like this, please comment below. And if you stay to the end of this video, please comment Coco. We see you. And guys, don't forget to follow me on Instagram. My Coco styles NYC and Coco styles NY. And guys, you know, I have a style blog. I put our articles twice a month now. And it's Coco styles NYC.com in my style services. Coco styles NY.com.  And I will catch you guys in the next one. Bye guys.


Okay It was risky, but I kind of I felt like it would work So I wanted to go with my gut there if we got a wrist stuff if we're gonna live here How's it going everybody Dot who do I hear back within the round of dragon ball fighters ranked matches in this time We're playing our main team of Krillin Goku Super Saiyan in Yamcha. I figured since we just ranked up We needed our best team to try and get a cushion of points I don't know if it's gonna go our way though because man I've been seeing so many base Vegeta's after Sonic Fox's win I know it's like a joke on Twitter like oh get ready for the base Vegeta mains to come out But it's insane. I'm seeing so many base Vegeta's. I don't know if it shows in the videos I hope it does like you're like man.  I'm totally cool with that. I'm gonna keep it nice and simple Damn it. Oh, I even had him right there. All right school. We got a follow-up hit I'm looking for a guard cancel by the way, I haven't practiced the combo I haven't practiced the combo in quite some time, but I'd be looking to try out Krillin's TOD or just extremely damaged combo No, okay spark use the beam assist stop we beam assist got eaten alive by that key blast really got to space that properly. I Have tech here. Oh We got two reflects we out. Oh Whoa, whoa, whoa, whoa. I Didn't block the third one And you gotta do I'm always getting after reflect. I always get caught by those down kicks might dead here. I should I early spark Drop it. I'd be cool if you did that. Oh, no, see this is why he sparked early Now we're a character down in a in a tag fighter. That's that's suicide Man those key blasts are scary. Those key blasts scare me more than anything to try to I'm a yamcha player, baby Okay, he understood he understood I'm a yamcha player. I didn't even know he could I didn't even know that kick didn't track I was like, okay, he's gonna appear behind it. Why is he six feet up? All right, all right get out of that situation super dash. Yep. I didn't expect him to super dash as well I thought it was gonna be a key blast, but it works level three mixes all we need Thanks. I need these points to wake up down heavy. How ballsy. I'm not even joking. I didn't get the down take I'm not even joking. That was insanely ballsy Unless that was like a last second reaction I can't believe I time the jump brah. I got opened up and our chances are looking minus What the oh, he was on the okay. I got I got I was like what happened there Dude, don't like there. Don't all get kicked by the kid boot kicks. All right.  Oh, no, I meant I was gonna say stay down, but not like this dude Not like this. What's the mix? What's the mix? What's the mix? What's the mix? What's mine? I'm out. I'm out. I tried it. He tried it there.   I was committed to that second light. Oh No bad loss Especially when we were cooking with gas earlier on that game. That's the turnaround though. They the assists were locked out I don't I actually don't know. Oh, it could be was out So he didn't get really used as an assist too much, but Huge loss there for the team and points Endpoint if we don't get our act together. We're right back down to where we were All right, good enough dude. Good enough starter. Not the switch. All right. Oh my god All right. He sparked last time and I almost think he'll do it again. Okay. Oh No, okay, it works. I was like what happened. Oh He got me again. Wait if we can get an early pickup. I feel so good I wonder if he thought that was a rock Either way quick lunch successfully acquired dude He's got the switches on deck this game, which means I have to do unfortunately and that's still punished me Okay, that was bad bad guard cancel. I can't get up. I can't get up off the ground And we're dead again, dude another early knockout.  That's just gonna get you that's gonna get you too touched That's too touch material and once again, we lose Krillin nice and early in the match It's getting rough. It's getting rough. It's getting rough, but hopefully I mean he doesn't have the most health I was supposed to be a dragon rush. By the way, I can't believe it. This game is unfortunate, oh At least it just stopped the game flat out dude good nice Two bars left we didn't waste too much if we can just get these feet out of here without any problems I was so worried. He was gonna do the behind-the-back stuff and he got both of us. I Don't think you feel at least I didn't block it. Oh, no, okay. We're both downsparking. I'll still have it for a little while I wonder if he's gonna Super Dash Ralph Okay, no, okay. He didn't he didn't it was interesting. I'm glad I jumped back when I did come on One two three four five six No, no, no, no, I didn't even want a super that's the sparking wasn't there. I was I didn't think about that the damage The absolute damage of the combo dude. No way. Come on lag. Oh my goodness. It's lagging up a storm Okay, it was lagging up a storm. I did this to get corner by the way I'm just gonna start with a 2m Wouldn't be surprised if he doesn't rematch by the way No hate on the guy if he doesn't because if I didn't win, maybe I wouldn't I don't know the lag That was pretty severe that match.  Magnificent. What is with the stamp? I've seen a lot of that stamp lately. I'm down. I'm down to continue it.  Oh beautiful Krillin Just beautiful. Where do you get your ideas? I got came back up there No Krillin. Oh, we're gonna lose Krillin again. I can feel it in my bones. Dude Krillin just dies Krillin has been dying young like it's his job Not this time Why the back dash? Oh god, we're getting input mistakes left and right. Oh, hello. I that was that was on purpose You might not believe it, but I did actually want to do that It wasn't smart. It wasn't smart, but I did want to get him in that corner I really shouldn't have done it with Krillin. It just No, I didn't block that. Oh Really bad game considering we spark so early, especially just to give Krillin a shot Tag I didn't see that coming Tag sent me back a mile and a half. I am a yonkha player though. Just kidding Snap meta here we come snapping people left and right snap meta here We come snapping people left and right If I had an assist up now you would have gotten snapped again, but this is the best I can do for now Oh, I should have kept mashing. He knew about the two-touch strap I thought I crossed under in time for that to be the boy to block on game. No Snap meta here we go. I guess you just I want to go cool out and that was a lot of blue That was a big mistake. Okay. Did we live this though? I mean I'd be interested in no, okay I mean this would have to be a big comeback. I mean, I'd be down. It would be cool But dude, that would be so sick. Hold on. No, I got covered. I'm not going over. I'm not going over again Double three. Okay. Here comes the mix. It comes the mix oink. Are you ready for it? last time you Yep If you could name a more if you could name.   I thought you had to be on the ground for that. Okay It was risky, but I I kind of I felt like it would work So I wanted to go with my gut there if we got a wrist stuff if we're gonna live here That was it was obvious for me, but I I enjoy the commitment the beam assist back them up anyway. Oh, I Mean that felt my soul right there That found me good. Okay, Krillin you got to start adding you got to start bringing some stuff Be this is finally my beam assist gets there first and The Super Dash does not get there. I'm gonna mash there 6m. Yeah, boy is back, baby All right, come on We can just stay dominant Okay early spark from him. I'll get him off your boat. Come on. I thought that was safe I thought we were good to go You know, okay, and yes, all right, no resets this time We are we are sparking is as good as done I'm just gonna enjoy the time we got left. I Wish I could enjoy the time I had left. I really wish I couldn't mean that the micro freezes Down tech. I'm down taking here. Oh, no. All right. We can bring it back.  I'm convinced that this isn't over Never mind. I'm convinced it is That's a hit. Okay does it does that? No, okay. It's just freestyle a clock. It's freestyle a clock. Okay, I'm doing I'm not snapping because I want Goku out Goku's time has run out. Goku's time ran out We two in here. No need to get fancy Hey, and then hit him. Yep. Okay, good Good enough for me.  That's an easy snap decision for me not don't even have to really think about it No, you can't you okay? We're out of corner I knew he was I knew a dragon was just coming dude. Come on. Hey me. He just does that every time Whoa, okay. What's your time? Catch him? Yes, I Don't know if I want it I don't know if I like giving up the beam assist But now that he doesn't have one it feels a lot safer like that watch everything Defenses King sorry Kanye, but it's true. Oh Now he's got to play the offense. No, he's got to play defense is what I meant But it doesn't matter. It's like I was wrong go boom random time Yeah, giving up my beam assist made me play real weird. I Think I think I play a lot safer with the option without y'all just as I play safer in general. Oh big hit Big hit, but does it matter? Oh it does. Okay. We go we go we good We got the hits we got the hits when we needed them final game two to two and it all comes down to the third match Yep, yep, good job boys if we could get if we could take this third win I feel so much better. I feel so much better about what's happening here. All right this I'm gonna start getting caught by that beam in reality cuz Super dashes are flying. I wish I would stick to my guns a little more. I Wish I wouldn't jump. I why do I keep jumping out of that? Like that's gonna work back dash Maybe anything else That's fine. I'm totally fine with that another sweet. Okay. We're all just switching today You know what hold on I don't want a combo. I want to snap. I want your beam assist. Oh You have to be kidding me. You can't be serious that you blocked it.  Thank you Come on you have to feel me on that one I Understand that a lot of this stuff comes down to if you're playing it you can feel it But even that that would have to be visible That would have that finally my critique is revealed itself. Oh, no Even says it's more important than everything. I'm throwing stuff out too often. Oh, that isn't possible It's impossible. There we go. There we go. We got a hit. We got hit. Oh It's impossible. What's happening? You got the wrong one, man Come dude, I don't think I don't think that one was actually me to be fair. I might have been Okay, no, okay. That's fine. Please.  He's keeping up with me. I'll have to smash property. Thankfully. It's not gonna kill Well, I've also missed one It was close Tag I'm holding tag.  No, he didn't okay. Okay. That's still fine. We're it's not like we're out of the game Yamcha has a lot of health gonna take at least two touches there depending on meter from them Yeah, we're gonna commit to Goku being out here He didn't want to commit to that though We made that promise to no one but ourselves Three bars here. You got to start wondering when is it a good time to go for random? Because it looks like it was yesterday When is it a good time to go random? It looks like the answer was yesterday. Now it's time to block Do I want to I think I have you didn't block So you're saying there's a chance. It must be the money I heard him down heavy by the way. That's when I super dashed. I heard I was like, I'm in there. Let's go I see. Yep, that's gonna be it for this video Hopefully you guys enjoyed it If you did make sure to go down below in the comments Let me know your thoughts while you're down there Make sure to like button and subscribe to the channel as well If you like fighting game content and all that sort of stuff speaking of fighting game content There should be more videos up on your screen. So make sure to give those a watch if any of them catch your eye I have been doctor do it. Thank you so much for watching this video and I will see you in the next one


Welcome everyone. Thanks for being here. It's documentation office hours. The 11th of the 11th of August. Thank you. Sorry about that for the brief, the brief loss of consciousness there. I think it'll come back eventually great. All right, thanks topics I've got Google Summer of Code. Upcoming LTS. A question and a document structure topic for discussion in terms of how should we structure this particular section this is one that raised by Kevin. And how to describe the process of choosing a plug in bill of materials if we've got time. And the others I think could wait for another another session I'm a little weary today and so I'm hesitant to say that we'll do more than 30 minutes today, just because it's been a very long day. There are other topics you want to put on the list. Oh, it sounds good. Nope. Okay. All right, Ashutosh with you here. Is there something you'd like to specifically discuss with regard to Docker compose. Ashutosh you're muted. Okay, well, so if, if something comes up. Oh, go ahead Ashutosh is there something you want to specifically show to us or, or bring to the to this session of Docs office hours. Can you guys hear me. Can now yes. So, I wanted to discuss about how the, how eventually will work for documentation to update for the documents. Okay. Yeah, that's the main issue. All right, so let's let's I think that's a good one to discuss so what we have today. We have a GitHub repository or Jenkins.io. That includes the tutorials right with all their details. And we have Docker containers. Containers provided for each weekly and LTS release controller. We have Docker containers provided for agents. And I believe you're using SSH agents correct. Okay, so, however, what we and one and then the other thing we have is an awful, ugly, horrible set of instructions. Okay, that's the unkind but we've got a very, how do you really feel. Yeah, we've got a complicated set of instructions. Right, is that a good way to say it Ashutosh. What we want in the future is we want all those those first three things. But then we also want I believe Docker containers for the for use by Docker compose. Is that correct Ashutosh. User does not build this does does not build the container. So right now we are using my personal Docker repository for this. Sorry you're using say that again I didn't hear the what you were using. Right now we are using my personal Docker repository for this hosting the images, but in future we'll shift to the official Jenkins one. But so you're already storing the containers today. Yes, now you're using them as images. Good. Okay, so we just need, need to enlist help from the info team to create a repository for the container definitions, and that's currently in your account I assume. Yes. We have also created detection files for whenever there are changes to the Docker Docker files, it automatically creates and updates them is this. Okay. Do we need a policy for how many old ones we continue to hold up there. Usually, usually we just keep them all. So with every other container set we have we just keep them all. Well and and it's it's simpler because I don't know of a way it's it's uncommon for people to dispose of old containers on Docker hub. Okay. Okay, so Docker have location for the container images. And that's currently. Ashutosh is personal. Good. All right. Then once we have those will need a poll request. Jenkins.io to use the new container. For the tutorials, and the, and let's see. I don't recall if we had it in the install guide or not I think we did right. We do have it. Okay, good. Did that does that describe the future state well enough. So I wanted to ask the questions about how exactly should I create the pool request like, should I create one big pool request containing everything should I separate it out in small batches. So mark prefers small, small poll requests. One per tutorial. One for the install guide. We have one arrive and it be reviewed before you do the others in case there are some surprises. So what about the old instructions do we need to retain those any place for anybody who wants to use them or anybody who would choose that as such a mutant that we don't want them messing with Jenkins anyhow. I think we need to retain the old ones, but we'll have them and get hubs history in the get repository history. So if we need to bring them back, we certainly can. Okay. So Ashutosh does that answer your question in terms of pull requests. Yes, okay. And I also wanted to get your views on another thing. Okay, like one of the tutorials contains like highly depends on the blue ocean plugin. And we were thinking that we will avoid using blue ocean plugins since it's not being updated. Okay, since that one requires highly do we were thinking of not updating that one fully like we are trying to get rid of Docker and Docker and everyone every tutorial. So, we're thinking if we should update that that tutorial or not. Yeah, and well, while I gave you so so my view is, even though blue ocean is not actively developed. I'd rather not sacrifice, rather not sacrifice the tutorial. Due to blue oceans, less active development. Yeah. Because we expect them to discard these container images anyway, no reason to hide to to not include blue ocean in the. Now, let's ask Meg and Chris. I think that the blue the tutorials should include low blue ocean and that you should update this one so that we get rid of Docker and Docker completely. But if that's huge. If that's bigger than will fit in the time you've got I understand if that one doesn't make it. I would agree with that. I still think blue ocean is a great way to get started with Jenkins. I like blue and when I first use Jenkins. Well so I'm now strongly partial to pipeline graph viewer, but but I'm also a very different user than the first time users, right I am not a first time Jenkins user.  And with blue ocean that becomes very easy. And you can see what Jenkins says, and I think you pretty quickly see the blue ocean is pretty cumbersome. If you want to use it for production but right and you have a good point and Ashutosh's work actually reduces a big chunk of the tedium in the setup process. It doesn't magically make Jenkins job definition easy, etc. So yeah, fair. All right. Ashutosh what other questions do you have. That's it. Thank you for answering this. Okay, I'm also thinking of including blue ocean. Because I, when I first used Jenkins I, the first tutorial I saw was with blue ocean so. Yeah, I like. Right. And I understand if your mentors say hey but blue ocean is kind of not an actively developing they're correct it's not, but it works, and it works well for the tutorial. Great. All right. And version documentation for Jenkins.io so Chris I believe Vande is still planning on a demonstration next Wednesday or Thursday. Yep, and also and maybe in our demonstration to dogs office hours. Oh, good. So it's like August eight. Oh, good. All right. Yeah. To docks office hours Europe. Europe here because he can make it to this time. Oh, good. Oh, that Kevin would love to have Kevin and Bruno both I'm sure would enjoy that that would be great. Okay, I'll be there too. All right. And so you say you're planning for that next week. Yep. Friday. So that will be the seven or is the first day 16th. Yes, Thursday. It's Thursday. So next week, August 17. 2023. You time. Yep. Great. Excellent. Anything else on version documentation. I think, um, I think today's the first meeting after that is exam that we're going to talk about like how to fix turn towards site. There are some issues with still, but to most meeting, we'll carry on and we'll talk about like how to proceed for the block feature. All right. Very good. Okay. Okay. Anything else. Um, probably not. All right. Thanks Chris. Thanks very much for your leadership there. On get that plug in modernization next meeting on that one is in about 12 hours. And Mark's testing still has some questions. I just posted them. But the code code is working. Right. So that's good. Yeah. To and and it looks up looks positive. Okay. Great. Thank you. Thank you. Any other questions? If you have any questions, please call us on Google summer of code. All right. Next topic then was upcoming long-term support release. We'll release it really be the release candidate released. Wednesday. And ready for people to start testing the change log and upgrade guide poll request is available. We'll do that until after I return from vacation. If others can review it, that'd be great, but it will need to wait. Any questions on LTS. Okay. So now we've got a structural question and this one is a. Meg and Chris in particular with your experience on documentation structure. This is for, for your, your consideration. We have on the Jenkins documentation site, a number of documents that are not directly linked into the left side navigation. So for instance, if we look at Linux. And we look at the prerequisites document here, you'll see. At the, in the section called prerequisites, there are links to hardware recommendations links to software requirements. And these are useful and valuable policy documents. Right. They talk about, Hey, we only support Linux versions that the vendor supports. The Jenkins project won't support unsupported Linux versions. We only support certain servlet containers and certain specific versions of those useful things, but they're nowhere in this index on the in the navigation on the left. Now, Kevin noted, Hey, maybe for this, that's okay. But then we've got some other things that are. For example, the upgrade guide from Java eight to Java 11, the upgrade guide from Java 11 to Java 17. Eventually here in the next few months, the upgrade guide from Java 17 to Java 21. And those are not linked anywhere immediately obvious at least. But you have to get lucky and find them usually it's updating to Java. And even that didn't find it. So update. Oh, yeah, so that's my search. My search tools are my search skills are weak apparently. But the answer there is this upgrade Java guidelines and Java to 17 is not linked in anywhere linked into the documentation navigation anywhere. And what Kevin was asking is, should we consider putting in a section that might be called support policy underneath system administration. So in system administration we have right now as an expanding subsection called reverse proxy configuration. What was, should we add a new sex subsection to submit system administration that is again an expanding section that has support policies or has. And I'm not sure it's support policies or if we call it something else. Platform documents or general. I don't know. Yeah, title is tough, but, but I definitely like the idea. And so that helped me with the title then because the kinds of things in it Kevin lists them here. All right, so Jenkins on Java 11. That's how do you run. How do you do the transition to Java 11 Jenkins on Java 17 there will be a Jenkins on Java 21. Java dot a doc is our, I believe our general Java support policy. Let's look and see if I'm even right about that. Yes. Okay, this is the Java requirements document where we say you must have one of the job supported Java versions we don't support other Java versions. So we've got support policies then we've got the upgrade guide so let's look at that one Jenkins on Java 11. Apparently not. I'm not calling the section something like platform reference, which would be for all. And but that is the point I mean if, if this is my if I'm a new administrator installing Jenkins for the first time. This stuff isn't that useful and I should be reading the guides that'll point me to it when I need it anyhow. Yeah, but this is something that that that an advanced experienced person might need to go to regularly. I don't know what references or weapons. Good, good question. Okay, so we do we generally have used geren's here in the heading so viewing backup. So I confess platform references would be fine with me as well platform reference reference info gets around the singular or plural but it makes for a longer. Well, how about platform information. Ah, that works. That works to you. I could dance to that. Okay, so if the idea then would be in the system administration section and make what you said resonated with Kevin as well was when I'm doing the install. It's a natural thing to read the prerequisites. Right. But when I'm after I've done the install it is not naturally come back here and look at the prerequisites again. Right when I'm in system administration mode it's natural to look in the system admin section. And the fact that there isn't a platform information section here is a hindrance so I like information is better than reference. I like that. I mean another might be platform details. But I think, well, I'm open to either what comments. I'm open to platform information because there might be something that isn't terribly detailed. Oh, good point. I like that. Okay. All right. I think it's broad as possible so because you've got this stuff now I'm thinking once you have the section you're going to find other things you want to put in there. Right, right. Well, and, and it fits this is sort of these are the kinds of things that are discussed in the platform special interest group they really are. So shall we support web browser XYZ shall we support Windows version this or that shall we support this or that Linux version and and those those are very much platform sig thing so using the word platform feels really good to me. Yeah. Yeah. Okay. Good. Thank you we have we have an answer I'll pass that along to Kevin. Great. Thanks very much.  Great. All right. So next topic and this will probably be our last topic because I'm sort of running out of gas I'm running out of steam here. But this one is an open question on how best to describe a complicated technical topic. So here I'm going to open it and let's look at it and talk about it because I want some coaching. I just gave some good ideas but but the real challenge here is what I'm trying to describe something to a developer that is at least for me in describing rather complicated. Okay, so here's the story how it goes. Jenkins plugins have versions right and their versions have different capabilities. Usually it's that a new version gets more capabilities than an old version did but right versions change and those versions. One of the complications for a plugin maintainer is that when I'm writing automated tests that depend on other plugins I must explicitly list the version number of those other plugins. I don't have a great marriage to manage because I have to find the set of plugin versions that all work together. So we have this thing called a plugin bill of materials that avoids that problem by generating a set of plugins that are known to work together. The plugin bill of materials is very helpful for me as a plugin maintainer. I insert this little bit of thing into my into my plugins palm dot XML file, and magically, I can now refer to a plugin without caring what for without having to specify the version, because the version is embedded in this bill of materials. Okay, so you go ahead question. Oh yeah I love it. This is and in fact we use it in the get lab plugin we use it in many many many plugins and are very very happy with it it works very well. However, this this question the question came from this person saying, what's the value that I put here. Because notice the ellipsis there is admitting not clear what value you should put there. Yeah, no explicit. Right, and, and the reason it's not explicit is is all right on one hand. New releases of this thing come out all the time. So let's go look at those new releases. For instance, we're going to scroll down here and look at. Here are the releases. So, a release came out yesterday. And another and you'll notice the release number is not some immediately obvious number it's complicated long string of bits. And last week there was a release and the week before that there was release and the week before that. So, so, however, these releases are tied specifically to a subset of the total available versions. And that's where the explanation gets complicated. Okay, so what what what Kyle Leonard asked was, Hey, how do I choose the version. And so I tried to explain it. One of the questions for first was, Hey, I know what the artifact ID is. Should I choose the one that's like my Jenkins version so up here. Bomb dash two dot 387 dot X is like Jenkins two dot 387 dot three. So it's good that those match. And, and my answer was, it's good but not strictly enforced. So it is, it is highly recommended but not strictly enforced. However, there is something that is strictly enforced. When I choose a bomb line or release line. There are numbers that I can't go bigger than because we stopped doing bill of materials releases on those older lines. So, to this 346. The last version was this and then releases on that line stopped while releases on 361 continued until this point. And then 375 until this point and now 387 is active and the 2312 that's listed here is actually already out of date. It's now 2329. The complication here is how to describe how they choose the version. And now one idea is tell them to use depend of odd and let it do the work for them. And I really like that version that that choice because that helps them get it updated regularly anyway. However, that's that doesn't help them choose the initial value for that version. Some alternatives. Now we're up to the, or any questions so far Meg or Chris either of you know I have to understand what you said so. Okay, well, and part of the problem here is, I, I found this quite a complicated topic. As I was learning it myself, right and I'm not sure that I'm explaining it clearly and effectively even now and I feel like I grasp the concept very well. But it might be well suited to have diagrams or something, you know how sometimes we have stacked bars where there's a release lifecycle Ubuntu 18 lives for this long and then the next step is 20 and then 22. And these lines are sort of like that in that they reach a point where we stop doing any additional releases on that line. And so maybe a picture like that might help people visualize. Oh, that's what happens. This this one is hot. It's the changing one. These others have become immutable. They won't won't change any further. Why is 2.401.x not the hottest one. Oh, it's that we we maintain two or three or sometimes even for that are hot. Okay, so the last two are actually hot. Right the last two and actually right now there's even one more bomb dash 2.414.x is also hot with the same thing. Okay. So from looking how if you're not explaining it to me how do I know what's hot. You don't. And that's, that's why that's why the first story is, you should use depend about so that you know if the so that depend about will take care of you. And propose pull requests. If there is a new version on your line. So, so that was why this idea says, yeah, you should use depend about. But it doesn't help you choose the initial version and the initial version needs to be found by looking at the available releases. So one technique I used was here. Look at this page. You're not accustomed to reading web pages with lists of version numbers. But here it is. So here we see 2.387.x. And at the very bottom is the most recent version 2329. So this thing is the authoritative location for version numbers of these bill of materials like, let's go back to 2.346.x. There's the that the final version, the terminal version of that, of that line. And the question that was like to the other versions got the same version number. They do. Well, and, and now it's, it's, that's, that's accurate as far as it goes. So if you look at 414, it has three versions in it, because it didn't exist prior to this 2278 release. So when you look at 4.401, you'll see 2278 was preceded by by many. But 414 didn't exist yet. So when 414 came into existence, this is when it came into existence. So, so the authoritative place to find these releases is in this directory structure. And it gave me as tempted to just tell people, go, go navigate to this location and read it. It'll tell you what, what the latest version is the other, the other technique I use, but it requires some, some reading is I'll go to this site and look at the releases. But I have a personal bias towards only supporting my plugins on hot versions. I plugins that there aren't on hot versions are not, not as interesting to me. So I tend to base either on 387 or something newer than that. All right, so coaching comments, what do you think what's in is there a some recommendation on ways that you think would make it easier to understand how to make those choices. I mean, I'm thinking that when in doubt a good starting place to be the most recent, right? Yeah, in fact, that is the, that is the strongly preferred most recent is strongly preferred, because most recent has the best set of the most recent set and the largest set of plugins that are part of part of the the bill of materials. Right. But now maybe I have to support older versions too. And that's, and that's one of those choosing which version to support we've already got a page that guides people on that right the we've got a page that guides them about how do you make the compromise between between this minimum Jenkins version or that minimum Jenkins version and and this should probably link to that to remind them choosing this thing is in fact choosing a Jenkins minimum version. Also, you should keep them together they should kept be kept in lockstep. Yeah, you know I think the way I mean, so you're not going to cookbook it. The general thing that you could use the way you explained it I mean written up is pretty good it's a soft thing you know, start with the most current version, try it and see what happens do some testing for bonus points. I think it's like robo dot to to do it, you know, and compare those two, and look at these lists to see and make sure you can understand what you know, it is it's I think it's like chicken sexing it's like one of those things that's really really hard to choose to tell somebody else, but you let them sort of watch how you would do that. Maybe even take an example of one and you say you know I did this, and here was the problem I found. And so by looking here and here and here I figured out that this was the cause of the problem. And so I changed. Okay, now one of the things that I'd considered was just putting into this document into this section here putting into the, or not, sorry into the into the top level read me this thing right here. Examples that do that go back to the older bombs. So import the latest bomb. We could put another subsection here that says earlier Jenkins versions and then list 2.361 and say this is the first version support Java 11 to dot 346 this is the last version to sport Java eight. So if we give then the version in those cases would be explicit and non varying. Right, so we could we could document that and say, Hey, here is Java eight, the final version the terminal version. Here is the first version that did Java 11 required. And this one is the latest bomb is the preferred. Now, another would be, we could probably use update CLI to script this thing to actually insert the explicit value there. It would just require somebody with update CLI skills to do it. So maybe actually maybe I talked to Bruno Verruchten about that because he knows how to do that quite well. Let me make myself a note. But whatever you do. You're also talking about some maintenance here. Because soon I'm going to be looking for the last version that supports Java 11 and the first that supports Java 17 and right well and before you know it it's going to be Java 37. Well, I'm, I'm not going to go there but okay that's so update the version string explicitly that the benefit of that is then it avoids any explanation right we don't have to tell people how to choose it that we just say, copy and paste this text you're set. Are they always set if they do that. Yes, yes, if, if it doesn't work when they do that, then they've got some other changes they need to make and the other changes need further guidance. They may have to ask on a developer list or somewhere else hey what do I do this didn't work as smoothly as I hoped. Okay, so they would, but it wouldn't, it isn't like they have to go back I mean I can see some of these, you know, that, like, six months ago, I needed to support both Java 11 and Java 17. So do I need to, can I do that with one version or do I need two versions or something. I think a nice little I mean you, the blogs, I don't know blogs are so often you know like things with general purpose, but I still think the story of you working through one or two of them might be very nice and it wouldn't need to be updated I mean when you tell them what you had to do for Java 11 or something. They can extrapolate that when they're looking at Java 32. Okay, well, no that's, that's an interesting idea because we might use that as seed material for Hacktoberfest. Ah, right because that's a good point. Certainly there are plenty of places in the Jenkins plugin plugin ecosystem, where this is not yet applied, or where it's been applied but the, the contents have improved. And the plugin did not keep up. So they've, they're, they're specifying things they don't need to and and so it's yeah, good, good idea. Okay, good. Yeah. I always wanted to have put a corner in the docs with like hints, hints from the curbed margin with Darren Pope's things that were always like not a fit but you know make a persona out of it.   I do love the references. Very good. All right, thank you. That covered the topics I had. Any other hot topics before we close for that and let me get some sleep. Sorry, Ashutosh go ahead. No, I just don't know. Okay, great. All right, then recording will be available probably within 24 hours. Thanks everybody. Thanks.