Unmute yourself please. Thank you so much for telling me that. Yeah, maybe it automatically mutes when I log out. Yeah, thanks. So yes, before the break, we were looking at the contrast that the Lord wishes to draw between drunkenness being drunk with wine and being filled with the spirit. So one thing that we saw was that perspective changes. Everything looks different. Either the person is looking at the entire world through the eyes of the wine or that person is looking at the world through the eyes of the Holy Spirit. So depending on what has filled them, depending on what they are full of. And we see that the first transformation is a harmful, destructive transformation where that person is now becoming more and more dependent on the drink and that is destroying them personally. It's also harming all the people around them. So it destroys them. It destroys other people's lives that come in contact with them. On the other hand, when we look at people who are filled with the Holy Spirit, it's such a positive transformation. It's such a transformation where the person is built up. They're built up and edified into something better, into something greater than what they were earlier. Because not only does their life start changing, they also start becoming a blessing to those around them. So while drunkenness leads to a lot of destruction and harm, being filled with the spirit on the other hand leads to a very positive building up. It leads to an edification, not just of that person, but in fact of everyone who comes in contact with them because through that person, even the people who come in contact start getting blessed. So these two are two deeply contrasting elements that we see over here. And now, what happens when that person who was drunk, what happens once the effects of the wine wear off? So as long as that person was drunk, he was behaving in a certain manner. He probably thought that he is very powerful and that he went around charging at people and doing all of that.   What happens? He goes back to being his, whatever he was before, his normal self. So it's only as long as he was full of the wine that he got transformed into a different person. And it's the same even with being filled with the Holy Spirit, the disciples of Jesus. As long as they were just not filled, they were themselves. But once they became filled with the Holy Spirit, that changed and transformed them into something better. In fact, Peter is able to stand up in front of an entire crowd and say, you are the people who crucified the Lord.  They are much larger in number than he and his small bunch of people who are followers of Jesus.  So he becomes a different person.   The same thing over here when we come to the positive side of this example, where we are talking about people who are filled with the Spirit, you want to continue walking at a higher level, looking at life, looking at the world through the eyes of God. You want to function at that high level. You have to continue refilling yourself with the Spirit, coming under his control once again, resubmitting those areas which you have now withdrawn from him. Because the Holy Spirit is always with us, right? I mean, he literally indwells us. But he only fills up those areas where we are inviting him to come and fill us up. He never forcibly pushes himself in where he is not wanted. That is the difference between wine and the Holy Spirit, which is why if you look at the wording that is used, it talks about people drunk in the Spirit. But it doesn't talk about people drunk in the Holy Spirit. I am so sorry. It talks about people drunk in wine. But when it comes over here to the parallel, it does not say people who are drunk with the Spirit. It says people who are filled with the Spirit. Because the thing about wine is that it forcibly takes control of the person. The person makes a fool of themselves while they are drunk. They have no control over themselves. They are doing things which they would not do if they were sober. In fact, they are ashamed of the things which they do in their drunken state. Once they come back to their sober state, they feel ashamed of the things which they did. So the drink what it did is it forcibly took over their life and it controlled them. The Holy Spirit does not do that. He waits for us to invite him to fill us up. Only then he steps into those areas which we are opening to him. So that is a choice that we choose to make on a daily basis. We say, Lord, come and fill me up in the area of finances, the way I am managing my money, the way I am giving out of my money to people, to ministries, all of that. I want you to control me in this area. Lord, come and fill me up in the area of my relationships. Then the Lord begins to work in the area of your relationships. He tells you what to do, what not to do. You would have to humble yourself in so many things with regard to relationships. All of that you would do. Why? Because you are choosing.  So he is not like the wine which forcibly takes over the person. Rather, he is God and he respects our free will. And so he only comes when he is invited. Which is why we need a refilling in the sense on a daily basis. We may withdraw certain areas and no longer leave them open for his working. We kind of close off those areas. So on a daily basis we go back to him and say, No Lord, I want you to come back and fill me even in these areas. I submit control to you once again in all of these areas.  Where you are allowing him to say, You come Lord and have your say. I may not like what you are saying, but what you are saying will be good for me. So come into this area as well and have your way. Tell me what you want me to do and I will submit to you. So in that sense we allow ourselves to be filled by the Spirit of God on a daily basis. And one very practical way in which we can continue to stay filled is that simple act of praying in tongues. Because when we are doing that, we are doing something that is not human. It is something supernatural. It is something that divine which is being given to us by God. So when we practice this discipline of praying in tongues, the Holy Spirit is able to operate in us more actively. So that in fact helps in enabling us to stay filled with the Spirit of God. So that is one way of staying filled with the Spirit of the Lord. So that was point number one. How do you walk in the Spirit? You choose to stay filled. The second thing, we choose to stay spiritually minded. Now this is something so important. We are all very, very familiar with this verse. We are told, don't allow your mind to be governed by the flesh. Allow your mind to be governed by the Spirit. We understand that. But let's look at some very practical aspects of this. So we could maybe start off by actually looking at Romans 8.5. If someone could read out for us, Romans chapter 8 verse 5. Romans chapter 8 verse 5. Those who live according to the sinful nature have their minds set on what their nature desires. But those who live in accordance with the Spirit have their minds set on what the Spirit desires. So under this main point of stay spiritually minded, the first sub point under being spiritually minded, the first point is set your mind on what the Spirit desires. Now when we look at the contrast, people who are setting their minds on what the flesh desires, we see that whenever this term flesh is used, it could mean two things. It can just simply mean the natural flesh, the created being, and the desires that it has. For instance, one desire of the flesh is to sleep. We all experience that desire. If someone is speaking, if you could mute yourself, whatever it is, that would help. So one desire of the flesh that we all experience is the desire to sleep. We are tired and then we want to rest. But it can also become a sinful desire, a fleshly desire in the sense, we oversleep. We choose to be lazy. We choose not to fulfill our responsibilities. So there's the natural flesh desire because we have all been programmed in such a way that we require sleep. So this is the desire to sleep.  So there's the normal flesh programming, the way human beings have been programmed, the way animals have been programmed to live in a particular way in the flesh. And there's also the sinful urge which takes over where you go beyond what is required for the flesh and you oversleep, you overeat, rather than using anger to maybe defend and protect, you use anger to retaliate, to hurt. So you use what has been programmed in all the wrong ways rather than using it in the right way. So what happens when a person lives like that according to what the flesh desires, you see they are living on the level of animals. Have you really thought about that? See, the animals, they are programmed in a certain way, in their flesh. The flesh is programmed in a certain way for them to operate at the basic level of survival. So what do most animals do? They just basically they eat, they do whatever is required, the skills that they need for their particular survival. They try to develop those, they breed, that's about it. So that is the basic programming of the flesh to take the example of a rat, let us say. A rat is programmed to look for food and to store the food. So the rat, the entire day what it does is, it keeps eating and when its stomach is full, it continues to look for food. Why? Because it needs to store up the food for a day of need. So it's always on the lookout for food and it is storing it up. And then it's programmed to keep its teeth sharp. And so it's always constantly chewing on bricks, chewing on plastic, chewing on steel, chewing on whatever it can chew upon to keep those teeth sharp. That's it's programmed to do that. The rat is programmed to, I mean what else? Yeah, rats are programmed to be competitive. You have the dominant rats, which establish their superiority and then you have the rest of the rats which kind of give in to the ones which are superior. These are all the programming of the flesh, the desires of the flesh you can say. Now the sad thing is that humans have also started living like that. They are just following the desires of the flesh to eat, to store up, to collect, to gather, to prove their superiority through the material things that they have, through the power that they can exert. All of these things, if you look, the humans today are operating literally at the level of animals. But the difference between animals and humans is that humans were supposed to be created in the image of God. You see, they were created for higher things. They were supposed to desire things which are a spirit being desires.  They have a fleshly programming and they are programmed to live at the basic level of just existence and survival. Yes, they relate and connect with each other to some extent. They feel emotions to certain extent but they are not spirit beings. We were created for higher things. And so Adam and Eve, when they were originally created, they weren't just operating at the level of the rest of the species, the rest of the animals. They were not just simply thinking about collecting food, sharpening their skills for survival. That was not the thing. They were thinking in terms of relating with God. God would walk with them in the cool of the evening. They would be relating with him. They were meant to be living at a very much higher level because they were created in the image of God. But then, when that connection between God and humans was broken because Adam and Eve chose sin, they went into sin, that divine connection was broken because spiritually they died. The spirit within them died. It became a spiritually dead spirit. It could no longer understand spiritual things. It no longer desired spiritual things. And so because of that, people became spiritually dead and they began to operate at the level of animals. So this is what happens with us. Most people, if you look at them, there is a desire somewhere inside them for spiritual things which is why they go in for meditation. They try to do good to people because that makes them feel better. So they are trying to reach out because this is inner urge and set them for something higher, something better. But most of the time, they are just engaged in operating at the level of animals. Just what your flesh is programmed for. Whatever your flesh needs, you just do that. And even if it means breaking the rules of God, you just go ahead and do that because the flesh is asking for it. You just want to give it what the flesh wants. And so when a believer becomes a Christian, they become a follower of the Lord Jesus, their unrenewed mind continues to operate at that level of fulfilling the desires of the flesh. The unrenewed mind is still thinking in terms of, okay, how do I survive? How do I lift myself up? How do I prove myself superior to others? How do I gather more than what others have gathered? That's at the animal level. But we need to start renewing our minds where we start looking at scripture and realizing that we are called to something higher, something better. We are meant to walk at a much superior level to the animals. So we start renewing our mind and we start working. So when we start renewing our mind, our inner person starts being strengthened in spiritual things. We start deepening our connection with the Lord and then we begin to operate the way Adam and Eve were actually originally meant to operate.  God is saying, come back to what you were originally meant to be, what you were originally created for. You were created in the image of God to have a personal relationship with me, to walk with me in the cool of the evening. Like it says in Genesis, you were meant to be in relationship with me. So we are being lifted up to what we originally were supposed to be. So we don't need to be like the unbelievers who are functioning at the animal level. We are meant to be at a superior level where because we are connected with the Lord, we start thinking the way He does. Our focus is not on just collecting and hoarding and satisfying our physical needs and just proving our dominance over others. No, we are able to move to higher level things when we choose to desire the things of the spirit. We choose to start behaving like people who are made in the image of God rather than just being like the rest of the animal species. So it is so important for us to understand this. We are being called to live at a higher level the way Adam and Eve were originally created to live. So one important aspect of staying spiritually minded is we are very, very conscious of this. We choose to set our minds on what the spirit desires. We choose not to be like the animals which are just programmed to fulfill there whatever the flesh is asking for. That is a very basic low level of existence and we are called for something higher. The next thing that we need to keep in mind regarding staying spiritually minded, we choose not to displease the Holy Spirit because that's the basic meaning of that word over there, the word grieve. Let's actually look at that passage about not displeasing the Holy Spirit. Ephesians chapter 4 verses 29-31 If someone could please read out Ephesians 4, 29-31 Ephesians chapter 4 verse 29-31 Do not let any unwholesome talk come out of your mouths but only what is helpful for building others up according to their needs that it may benefit those who live there and do not grieve the Holy Spirit of God with whom you will see it for the day of redemption. Get rid of all the bitterness, rage, anger, brawling and slander along with every form of malice. If you look at the context of this passage it's talking about relationships the way we treat each other. So it says in verse 29 it says only speak things which will build other people up only speak things which will be helpful for the needs of others. So speak such things and then if you look at verse 31 it says give up bitterness that you have against each other rage and anger keep them under control don't give in to such things. So in the context of these things it says do not grieve the Holy Spirit of God. So if you look at the context of this commandment that is given about not grieving the Holy Spirit we realize that over here it's talking in terms of our relationships in the way we choose to relate with other believers the word which is used over there the Greek word which is used for grieve that's the word Lupeyo. So that word Lupeyo is used in many places in the New Testament and the main meaning which we get from that word would be an unhappy feeling so it's a mixture of feeling sad about something and it's also a feeling of disapproval where you don't approve of what is happening. To use a very good example Matthew chapter 18 verse 31 where this very same word is being used that's the word Lupeyo which is being used even in Matthew 18 31 if someone could read out for us Matthew 18 31 please. Matthew 18 31 when the other servants saw what had happened they were outraged and went and told their master everything that had happened. Okay this is the very same word that is being used about not grieving so over here in this verse they're saying don't grieve the Holy Spirit but over here in Matthew 18 31 they translate the word as outraged and then you have a whole bunch of other places where the English translates the word as distressed so you have different words which are English words which are used to describe this one single word and so over here if you look at this particular example this is the story of the unforgiving servant he was forgiven by his ruler or master he was forgiven by his master but when he has to forgive someone else he doesn't do that even though he has received kindness and mercy at the hands of his master he does not extend that same kindness and mercy to the other person and so when the others see what is happening they experience this feeling called Lupeo in the first place they are kind of sad for what has been done to this poor man who has been thrown in prison you know so they feel sad about this wrong which has been done to him and also there's this indignation where they think injustice has been done it's wrong what has been done to this person is wrong and justice should be done so there's anger, there's disapproval there's also the sadness that something bad has been done to someone you know so it's a mixture of these feelings and so when it says over here do not you know Lupeo the Holy Spirit it is saying don't do something you know which would which he would disapprove of you know in the same way the servants disapproved of what this man had done and also you know don't grieve him in the sense don't grieve the Holy Spirit in the sense don't do something you know which makes him feel sad about the way you have treated someone so if I am speaking words which are hurtful which are tearing down a person the Holy Spirit he feels Lupeo he is saddened that I am tearing down someone's life and he strongly views of what I am doing because that is not how he has treated me those are not the kind of words he spoke to me he has always spoken words of encouragement to me but now here I am going to another believer and tearing them down so Lupeo has got two senses it expresses disapproval you know it expresses anger that a person is doing something that is wrong at the same time it also expresses a sadness but something unjust, unfair is being done to a person so in that sense we should not Lupeo the Holy Spirit we should not grieve the Holy Spirit we must conduct ourselves in our relationships in such a way that the Holy Spirit is pleased he is happy we must be people who are building up others edifying others must be people who are doing justice who are fair in our dealings with people so one important way that we choose to walk in the spirit is in the area of relationships with this really no choice we have to be people who are a blessing to others we cannot live in strife with others we cannot be people who are gossiping about people behind their backs no that would most definitely grieve the Holy Spirit he would disapprove, he would be angry with what we are doing and he would be saddened that we would be treating someone in that manner so this is something that is very important in walking in the spirit we would have to be very careful about our conduct when it comes to other believers how are we treating them another thing to keep in mind about staying spiritually minded we should be careful not to quench the Holy Spirit now this term is used in 1 Thessalonians 5 verses 18-20 so if someone could please read out 1 Thessalonians 5 18-20 1 Thessalonians 5 18-20 give thanks in all circumstances for this is God's will for you in Christ Jesus do not quench the spirit do not treat prophecies with contempt but test them all hold on to what is good here if you look at the overall context it is talking about our attitude towards God is it an attitude of trust where you really trust him or an attitude where you doubt him where you are angry with him where you are upset with him because you see when circumstances are not going well do you still trust him so much that you are giving thanks it says over here in verse 18 give thanks in all circumstances for this is God's will for you so do you still trust him that he has permitted this that he has allowed this only because he knows how to work bring some good out of it are you willing to trust him and to the extent where you still are thanking him in the same way verse 20 where it says do not treat prophecies with contempt the Lord is giving you a word of prophecy saying this is what I will do for you and are you one of those people who say no way is this going to happen when it actually happens then I will believe so are you treating what he is saying to you with contempt or are you trusting him and saying yes Lord even though it seems so impossible I choose to believe what you are saying to me I choose to trust you so it's this whole attitude of trust it's this whole attitude of believing that he is good that he has the best you know in his heart for us now people who don't have this attitude what they are doing is they are you know that Greek word over there it is I don't even know how to pronounce it it's S-B-E it's like S-B-E N-N-U-M-I that's the Greek word and that word that's the word which is translated in English as quench in most places where this particular word is used in the New Testament about you know extinguishing a fire there's a flame burning and then you extinguish it you put it out so it's like as if you know God is saying have this attitude of trust have this attitude where even when things are not going well you choose to be what I am saying you choose to believe that I am good you choose to believe that I am acting on your behalf it's a simple attitude of childlike trust in me because when you refuse to have that kind of an attitude and you grow bitter or you doubt me or in fact you know you treat my word with contempt when you do such things it extinguishes the flame it's like the Holy Spirit is now burning brightly in our lives he is doing amazing things in our lives but when we stop trusting in God when we start being very contemptuous you know in our attitude towards the things of God and we don't really believe him when we are thinking look the other family look at the way he you know he blesses them but when it comes to our family and our prayer request he is not responding so all these wrong attitudes it puts out the fire it extinguishes the fire it quenches the fire so over here it is basically saying do not extinguish this flame the fire that is burning brightly the Holy Spirit who is doing his work in you in a beautiful manner allow that flame to get brighter and brighter let us working in your life grow stronger and stronger because you are being very very careful not to put out the fire you are being very very careful not to extinguish the work that is going on in your life so we are asked how do we stay spiritually minded we choose to trust him we choose to believe in him we choose not to grow negative in our thinking and attitude towards the Lord another thing that is very important about staying spiritually minded we choose not to resist the Holy Spirit that is a that verse actually is in is in Stephen's speech which he gives before he is martyred so that is basically where we find the wording so maybe we can look at Acts chapter 7 verses 51 to 53 if someone could please read out Acts 7 51 to 53 Acts chapter 7 verse 51 to 53 you stiff neck people with uncircumcised hearts and yes you are just like your father you always resist the Holy Spirit was there even ever a prophet your fathers did not persecute they even killed those who predicted the coming of the righteous one and now you have betrayed and murdered him you have received the law that was put into effect through angels but have not obeyed it okay so over here when it talks about not resisting the Holy Spirit it is mainly basically saying don't be stiff necked now this is a term which is used in the oldest many times it is a metaphor that the people in Biblical times were very very familiar with basically if a person is willing to bow down their head it means it is an attitude of submission where you are willing to learn and where you are living to accept correction where you are willing to be taught so bending the head is like an act of submission it is an act of obedience so on the other hand if you are holding your head up straight and saying no I will not bend then you are being stiff necked in that sense so stiff neckedness you can say is basically an act of rebellion it is an act of saying no I will not receive correction no I will not listen to what you are saying I will not obey it is a whole attitude of disobedience and distrust and rebellion that is the kind of that is a stiff necked attitude so over here Stephen in a speech he says you are people who have always been stiff necked he says the law which you people received it was given through angels at Mount Sinai when God comes down in all of his glory and there was a whole lot of things that happened in the spiritual realm while the mosaic law was being given to them so even though the law was given to you in such a spectacular manner you have not obeyed it because you are a stiff necked people you are people who have always resisted the Holy Spirit so one way that we can really make sure that we do not you know resist the Holy Spirit is we choose to be people who are willing to bow the head in the sense we say yes Lord what you are telling me to do I choose to obey it the word of correction that you are giving yes Lord I am willing to receive it and act upon it so that makes us a person people who are not resisting but rather submitting and obeying and trusting the Holy Spirit so these are some of the things that we would need to keep in mind if we wish to stay spiritually minded so staying filled with the spirit staying spiritually minded these are two ways that we can make sure that we are walking in the spirit on a daily basis and other way that we can walk in the Holy Spirit is by asking for his help I mean you know in your notes the example that is used over there is about flesh rising up in anger the flesh rising up in irritation so at that time it's not something that we these are not emotions that we can deal with on our own so we choose to reach out to the Holy Spirit and say Lord you help me you help me to respond in the right manner and so even as we do that the Holy Spirit gives us his fruit he gives us the fruit to be able to respond in the correct way in the same way when we are facing very difficult challenges and the storms are very very violent and we wonder whether our whole family will just drown in the kind of circumstances that we are facing at that time we need to call out to the Holy Spirit ask him for his help and say Lord you know how to deal with this situation so you give us this attitude of calm trust where we just look to you where we keep our eyes focused on you so that you can do your work in this situation so in our times of need we cry out to the Holy Spirit for his help and then we receive divine supernatural help you know something that we could never have done for ourselves God does it for us and that is why it says in Romans 826 we have someone could read out Romans 826 Romans chapter 8 verse 26 in the same way the Spirit helps us in our weakness we do not know what we are out to pray for but the Spirit himself intercedes for us with the groans that words cannot express it says over here that it's the Holy Spirit who helps us in our weakness so we go to him we cry out to him we say Lord I cannot obey this particular thing on my own or I cannot face this difficult trial on my own you help me so when we cry out to him and we reach out to him for help it says that he intercedes on our behalf so he is the one who makes it possible for us to overcome that particular situation so he empowers us so the third way that we choose to walk in the Spirit is we depend upon him for his help we cry out to him in our time of need and when we do that he will intercede for us and he will empower us the fourth way which we have already actually looked at all before is basically speaking out the word of God so if we choose to place our faith in the word of God and if we choose to practice what the word of God says that is equal to using this word of the Spirit because Isaiah 55 11 this is what it says about the word of God if someone could read out Isaiah 55 11 Isaiah 55 11 so is my word that goes out from my mouth it will not return to me empty but will accomplish what I desire and achieve the purpose for which I meant it so because the word of God is powerful in this way it is able to accomplish what it desires it is able to achieve the purpose for which it has been sent forth therefore we use the word of God as a sword so the Holy Spirit gives us the right word for that particular situation and we declare it we proclaim it that becomes the word of our testimony so we overcome that situation by the word which has been given why because when we proclaim that word in confidence when we stand upon it you know and act and obey when we do that that word which we have released by faith it will actually go forth it will accomplish the purpose for which God first of all gave it to us so the sword of the Spirit becomes very powerful we choose to believe it we choose to practice it we choose to declare it and even as we are doing that that word actually goes forth it's a living word it says the word the word of God is spirit and life so it's not just a bunch of words it is something living so it goes forth and it accomplishes the purpose for which the Holy Spirit gave us that word so that is why we can walk in the spirit by speaking out his word now the next portion in your notes is talking about how do I know if I am walking in the spirit yes I have understood the importance of walking in the spirit it's something that I desire it's something that I want to do but how do I know if I'm actually doing that am I walking in the spirit today or not how can I know so there are some basic things which will help us to know whether we are actually walking in the spirit or not the first thing is rather obvious you know if we are walking in the spirit we will not see the fruit of the flesh coming out of us rather we will see the fruit of the spirit coming out of us that's explained right we have a detailed list in Galatians chapter 5 Galatians 5 verses 19 to 21 will give a detailed list of all the acts of the flesh the fruit of the flesh you know you have immorality and you have hatred there is jealousy there is drunkenness there is all kinds of things mentioned in that list so if I see those things coming out of my life on a day to day basis then that's a very clear indication that I am not walking in the spirit on the other hand if I look at my life on a daily basis and I see love and joy and peace and kindness and goodness and those things coming out of my life then I will realize oh okay I think I am actually walking in the spirit because I see this kind of fruit coming out of my life so the fruit manifesting out of our life will automatically show us whether or not we are walking in the spirit and other thing obviously will be am I someone who is edifying others am I being a blessing to them so if I find myself to be someone who is always speaking words of encouragement and building up people then I can be confident that I am walking in the spirit so the scripture that is given in your notes you know for this particular point it's Ephesians chapter 5 verse 19 if someone could please read out Ephesians 5 verse 19 Ephesians chapter 5 verse 19 speak to one another with psalms hymns and spiritual songs sing and make music in your heart to the note so here it says that we are supposed to speak to each other in psalms hymns and songs from the spirit it sounds very strange how do you go talking to people in psalms and hymns you know it does not quite make sense and the same thing again is repeated again in Colossians 3 16 in Colossians 3 16 it says you know let the message of Christ dwell among you as you teach and admonish one another with all wisdom how are you going to teach and admonish one another with all wisdom through psalms hymns and songs from the spirit the same thing same wording is used in both the places and we are supposed to use this psalms hymns and songs from the spirit to teach each other to you know warn each other in case you know we are going off in the wrong way so basically it's saying you know use these psalms and hymns and songs of the spirit to to edify each other to keep encouraging each other to walk in the Lord you know to teach one another the ways of God so the basic explanation is that in those days you know they didn't have written material so basically they would memorize a lot of things and it's always easier to memorize something which is in the form of a song or which is in the form of poetry because of the rhythm that is in the words you are able to remember you are able to by heart it more easily and you are able to remember it more easily so in those days almost all teachings would be converted into a psalm or a hymn or a song and the Holy Spirit would help them to you know develop these songs and hymns and all that so they would remind each other of these psalms and hymns and they would encourage each other to walk in the ways of God today we don't really do that much old hymns you know used to have a lot of rich teaching and doctrine in them but our current worship songs don't really have much teaching content in them so we probably would not be using our songs to teach each other but instead today we have you know sermons we have books which have been written we have these wonderful discussions and debates you know videos which are discussing certain topics where different people present their views of that particular topic so we have all these other things now so probably today we would be using those things to teach each other and admonish each other like it says over here so if I find myself doing that talking about spiritual things saying things which will build up other people if I find myself you know if these are the kind of things coming out of my mouth that is evidence that I am walking in the spirit you know so that is another indication that I am walking in the spirit and then there are another two things mentioned over here in your notes people who are walking in communion with the Lord you know constantly they are connected to him they have this attitude of gratitude you know where they are always you know thankful to him where they are always trusting him so if a person who is walking in that kind of a communion with the Lord there is a very clear indication that they are walking in the spirit and of course also people who are walking in humility and submission that shows that they have the right attitude that they are walking in the spirit and Ephesians 5 20 21 is the verse that is given for that Ephesians 5 21 it says submit to one another out of reverence for Christ and then the next few verses after that you know go on to explain the different kinds of submission it talks about submission in a marriage relationship it talks about submission in a parent you know parent and child relationship it talks about submission in a master and employer relationship so the opening line is basically Ephesians 5 21 where it says submit to one another and then it goes on to explain how different people submit different situations and different scenarios so someone who is walking in submission and humility putting other people's interests before their own interests that is a clear indication that the person is walking in the spirit so these are all the things that we need to keep in mind so that we are actually walking in the spirit on a daily basis because when we do that we are able to walk in victory the fruit of the spirit literally automatically comes out of our lives and we will be able to overcome the temptations and challenges that we face because the Holy Spirit empowers us okay so yeah so those are just some thoughts that we were able to reflect upon regarding this particular aspect of living an overcoming life so we will close with the word of prayer because we are like out of time Lord we just thank you so much for the learnings that we had today we thank you Lord that you have given your written word to us so that we can use it to live an overcoming life so I pray that we will make a conscious effort to spend time in your presence to hear from you to meditate upon you and learn things that you are trying to impart to us through your word so we pray Lord that you would enable us to use the word of God to live an overcoming life also we pray that you would help us to walk in your spirit on a daily basis help us a lot to make a conscious choice to stay in step with your spirit so that we can live by the spirit by the power of your spirit by your enabling so we pray that Lord you would that you would enable us to actually practice these two things in our lives so that we can enjoy victory in different situations and circumstances thank you Lord in Jesus name amen amen thank you so much for staying till the end and we will meet again next class thank you pastor thank you thank you pastor


Welcome, everyone. It's Git Credentials Binding Project. This is the, oops, 14th of July. It's 7.30 AM India Standard Time. So topics we see. I should have some questions. I can describe some of the results of my interactive testing. And then code review results and open questions. Any other topics? Okay, then let's go ahead. Let's get started. So, you had the question about which OS environments has the Git user name password binding been tested on. So the controller has been tested on Linux running in a Docker container. It's easy for me to test. Easy to add Linux running on Debian 10. If that will help. I have one of those it runs and I'll I'll be putting it there very soon anyway I just haven't done it yet. Then in terms of agents. It's been tested on Centos seven Centos eight. Debian nine Debian 10 Debian testing, which is a pre release of Debian 11. It's been tested on Ubuntu 18.04 Ubuntu 20.04 Ubuntu 21. I don't remember if that's 04 or 21 something or other but one definitely 21. It's been tested on open BSD 6.9 free BSD 12.2. So that's, let's talk about those agent operating systems. Then if we talk about agent hardware. It's been tested on AMD 64 arm 64 system 390 mainframe. This is an IBM mainframe class piece of equipment. And I think I don't think I've yet test on power PC 64 le. Oh, it's also been tests on arm 32. So 32 bit arm on a Raspberry Pi. These are 64 bit arm. AWS and Oracle cloud. So does that answer your question. Harsh it in terms of where we've been run and where tests have run. Yeah. Any concerns there any any worry about. Oh hey what are we missing. See I should probably double check I may have understated something there just a minute. Let's do one more check. So if we look at the agent. So we mentioned free BS. Oh windows. I didn't mention windows. Oops. Sorry. Windows 10. And now. So. Yeah, arm 64. Free BS D 12. Center seven, eight, 10, nine. 18 20 and 21. Free BS D windows. S 390. I think it's offline right now because it had a DNS resolution problem that I need to check. Windows. That is going to 18 on arm. These are arm 64 Oracle Linux, right. Oops, shame on me. Missed another one. Okay. Sorry. Oracle Linux. Eight. That's eight dot four. Oh open Susie. Right. Sorry. One more. And I think that's 15. Two, but let's double check just a minute. Okay. Yeah. So does, does that, does that address. Were there specific concerns you had? Or worries. One of the, so maybe we should highlight a different, a different question, which is. Which OS environments. Have not been deeply tested. Well tested. And, and the one that is most of concern to me is controller. Windows. Right. Because there are things that happen only on the controller. And I haven't done an awful. I haven't done. Any testing of. The code running on a windows controller. Now I believe. Yeah. Go ahead. Windows controller. I mean. I've tested the binding mostly on the windows controller. So I think it's. Okay. From my side. Great. Okay. One of the concerns for, well, yeah. So very good. Excellent. Okay. How should you have a concern with the SE Linux, right? Security. And send us distribution. Yeah. Send to a son, but Mark says if it's running well on a center seven, then I guess. But the SEL links might not be an issue with the binding. Well, the, I would, I would phrase it differently. SE Linux is an interesting, interesting concept because what that is, is that's. Sentos. Red, let's call it red hat. Or Oracle Linux. Configured with SE. Linux. And the answer there is. It's known to not. The plugin itself is known to not run well. On SE Linux. So there isn't much. There isn't much that I can, we can offer there. We've got. We've got an open. We've got a. One or two pull requests from. Major Jenkins contributor. But. Dev work in progress. To improve the plugin. On SE Linux, but it's, it's very much in progress. And I don't actually intend to install or configure SE Linux because I don't have use for it. And I don't know. Well, I know that in the last 15 years, there haven't been that many users using it because if there had been, there would have been an awful lot of complaining. So for me, I'd propose we intentionally, we accept. That this needs to be tested. By those who use SE Linux. Because I. I am not a credible. Tester of it. I would not know. I would not know how to detect pass or fail of many things. So, um, so do you propose that we. We release it and then see if. Yes. Yeah. So for instance, I can give you other examples of things where places where we haven't run it. We haven't run on it, run it on and. Let's see. So we haven't run it on. A. On power PC or on. HPEs HPEs. What do they call it? Fault resilient Linux and I forget the name of it or fault resilient. Unix clone. How embarrassing. What is the name of that operating system. Nonstop. There we go. I knew I would remember it. Okay. So, I don't know. There's no links to Google HPs nonstop. I know we've got a user. One, at least one user. Randall Beck or who works on that kind of equipment. But. I have no access to it. And. There are others like that where. Hey, if we don't have access. We can't test it. Can we safely assume that. Hardware is not going to create an issue. I think even if we couldn't safely assume it, we have to assume it because without access to the hardware, there's no way to test it. As far as I've seen, I had never tested these HPE nonstop servers and had not tested PowerPC until 18 months ago, but had never tested nonstop. And it works just great for Randall. So Java is surprisingly portable across platforms without us doing a lot of work. So, Harsh, any other concerns there or worries that we need to be sure we address? No, I don't think of any now, but I'm fine for now, I guess. OK. Yeah, my concern was we'll talk about mine in test results. Mine was not so much with platforms or operating systems. Those are working great. It's cases where users may make a configuration mistake and the configuration mistake causes the code to not behave well and not necessarily to give a warning message to tell them what mistake they made. But we'll get there. So after next question, there was after where do we put the documentation, right? So here's let's look at the current documentation. I was assuming it would go in the section under pipelines and talk about pipelines and then another section probably, I would guess, right after pipelines is a top level section preceding configuration that says using credentials binding. Now, and you were thinking after the configuration section, that would be fine as well, probably even better. So instead of putting it there, Harsh, your thinking was put it right before this extension section. And that would be just great as well. For me, I wanted it in the pipeline section in addition just because I think that it's a great addition to pipelines. I know it's more than pipelines. You can also use it with freestyle. And I've confirmed it works great with freestyle. But I like it with pipelines because we talk about pipelines in the documentation. We talk about multi-branch. And then we add one more section here on using advanced get functionality with our get credentials binding for advanced functionality in pipelines. And then we give some good examples there of, hey, maybe you want to do sub-module update, or maybe you need to do this special type of clone or you need to do this additional thing and you need to apply a tag and push it. Here's how you do it. So, Harsh, what do you think? Does that make sense to you or what would you prefer? OK, that is also fine. But we have to explain a bit about what is credentials binding in the pipeline section also. Yes, right. Well, and actually, I just, maybe we should, let's take a look for just a minute, because these common tasks, I just closed several bug reports, specifically saying, we're not going to fix this request because credentials binding will do a better job of it anyway. Just a minute, let me see if I can find those. Status enclosed, updated here. Ah, yes. OK, good. So here are some examples. So Jenkins 38.860 asks for, hey, the get plugin is doing strange things with sub-modules. And that is absolutely the truth. It is. It does. What it does with sub-modules, I think, is flawed and a mistake. Doesn't handle sub-modules with spaces in it. Somebody else asked for, hey, I'd like to have the ability to clone with the shallow sense option. Yep, agreed. That's a great idea. I'd like to use first parent in the get log command. Yep, those are all great choices. And so each of those, I think, are good excuses to put in the documentation saying, hey, use these things. See Jenkins 38.072 for an example. Oh, no, no, 38.860. Harsha could also potentially use these tickets as a user's motivation to release this feature by at least presenting this idea. Oh, yes, yes. Oh, that would be a great, in fact, great thing to put in the slides saying, hey, here's some of the reasons why we did this feature instead of, here is a list of five other things. The amount of flexibility it provides to the get plugin. I think it's a clear example of that. Yeah, very good. Because it absolutely is. And it's done a very nice reduction of the debt that we have in the get plugin where people say, I need this particularly complicated thing. And the answer is we're not going to add that because it's just too narrow for the large base of users that there are for the get plugin. OK, creating and pushing a tag. OK, so is that sufficient there, Harsha, in terms of what should be next there for documentation? Yeah, yeah. Yeah. All right. So next was the GSOC meetup. And where to submit the slides or recorded demos, send them to Cara de la Marc. And she'll include in the materials. Should I reply to the mail that I received, or should I send a separate email? Reply to the email that way. And actually, if you'll do a group, a reply all, that will encourage other people to do the same thing. Because right now, I'm a little worried that people are not replying nearly enough. And Cara very much needs that to happen. This presentation will be next week, and we're going to start promoting it very actively this week. And any other questions on that topic? No, not that one. Yeah, a little bit. I just want to know, in the final week of the GSOC, there will be another GSOC meetup by Jenkins? Or is this the first and the last? So we've in the past consistently had two presentations, or we've had presentations, so consistently, had presentations in the middle, and at the end. So does that answer your question, or were you thinking, will there be two more presentations? No, it answers my question. OK, and then DevOps World, another presentation, and that one is what's called the lightning talk. And there it's, I believe it's five to 10 minutes. I think it's 10 minutes. Rishabh, do you remember was it 10 minutes? Yeah, the lightning talk, no, it was five minutes. Yeah, so let's see the request from Alyssa Tong. Didn't we just have the DevOps World recently? No. So it'll be September 21, September. And I think I don't remember the exact date, but it'll be in the month of September. Plenty of opportunities to discuss the project. Right, right, you should get used to presenting actually, Harshik, because you're going to be doing several presentations. And that's part of the, actually part of the skill development here, and it's a great thing. You're presenting to large groups of people who are very interested in your work. Yeah, it's a great opportunity. OK, so anything else there? Well, yeah, I have one little doubt. I asked in the previous meeting as well regarding the test case for with authentication commands. Do we have to write a test case for with authentication commands? Oh, good question. OK, so let's take that as a separate test cases, tests. Do we need an automated test of authenticated operations? Right, current automation checks the variables and the user set does not check end-to-end operation, right? Yeah. And my sense is Mark's preference for now is no, because we've done good interactive testing. And the infrastructure to maintain automated tests of authenticated operations is expensive and is brittle and expensive. And when I say expensive, I just mean it tends to break. It tends to waste time as we try to maintain it and it doesn't tell us all the things that interactive testing tells us. So we continue to rely on periodic interactive testing. Now that may be an uncomfortable thing to say, but I've got a significant interactive test setup that I'm using now and it will continue to be used and run and checked on new releases of the plugin. Now, Harsh, that doesn't stop us eventually from doing this, but I would much rather we shift and have you able to focus on the SSH work on the private key work than worry about adding these authenticated operation tests. Well, I made few commits yesterday that were regarding the automated tests and the coverage report is 90% plus. Excellent. Well, and I loved, I love the additions you made. Additions added for declarative, if I remember right, declarative pipeline, and possibly also for scripted. I know I saw at least one test and possibly two that was included in the automated tests for pipeline. So that was brilliant. Thank you very much. All right, so anything else on automated tests? Okay. All right, so I had wanted to talk through some of the things I'd seen in my interactive testing. I think I've made notes on them in inside the poll request. Let's go there and take a look at it. Oh, maybe I didn't. This transient is resolved. Okay, I must not have, I must not have made my notes. Sorry about that. So let me give an overview of what I've got. And here are the tests that. So what I, what I started with was a series of tests to check several different providers. So GitHub, get lab, bit bucket. And those three providers I've checked on windows. Both PowerShell and batch files. And with pipelines. So here's a pipeline test. And it's well, well behaved. It's just doing a. Get poll. If I remember right inside the. Here we go. Yeah, so it does. It does nothing outside of with credentials and performs the entire clone, poll, etc. Inside and it's working. Likewise forget lab. Oh, bit buckets failing. Why is bit bucket failing. Oh, right. Huh. Okay. This is a fun one. It's failing on the S390 agent because it can't resolve a host name. And I checked and there's something wrong with the host name resolution on that, on that machine. So let's build it now. It will skip S390. There we go. This time it built. Oh, no, it built on S390 and it's been fixed. Great. So mainframe works. This one was on Windows. Using the with credentials. This one on Windows using a batch file. So this one was using PowerShell. This one uses a batch. So that part felt really good. And then. Then I've also got a bunch of test cases. That are run in different environments. Using a. A pipeline. So here's a pipeline definition with. Okay, here's a freestyle job using it. Another freestyle job using a batch file and then. Now here is a. Parameterized pipeline with the credentials binding. Parameterized all of them I've checked recently are working. And that one has shown a failure where. Oh, again, system 390 that's built now. So, so good coverage. Now what one of the gaps for me was I was allowed to provide. A credential ID without a git tool name. And the job fails consistently. So I'm going to go to the pipeline. Arguments. Named arguments are usually considered. Are typically. Considered optional, I think. Now I may be wrong on that one. So. That one surprised me. And then I was allowed to provide. Provide a non existing. Get tool name. And I was allowed to provide a. Oh, right. And then the freestyle job. Get tool name. And the syntax generator. Use a text field rather than drop down list. And that was, that was a surprise for me. I was expecting a drop down list to make sure I would choose one of the known. Valid get tools. Any, any questions there or. I think, I think even with those limitations. We'd still be ready to ready to deliver ready to ship it. And just warn people that, hey, you need to provide a valid get tool name. And if not. You've got to. The job may fail. Which I did not. So I did not imagine that they were going to. Trade off. Potentially. So we will lose some people. We failed some jobs where people. Are not aware where the users are not aware of the. And earlier when we were. Resolving the get tool ourselves or at least trying to do that. We. Those cases would have worked. Let's say I don't know the. Name. And internally it results to be the default installation that. Be a valid. Use case, but in this case. When we've made the. Argument mandate. Then it. It blocks those users. They're not. Correct. So, so if we. If we look at the pipeline syntax generator, let's, let's go there and we can look at that to see. How it, how it feels to the user. So the user does with credentials. They select get user name and password. They enter some value here and I still can't explain why this doesn't show any of my credentials. And there is the get tool name default and they pick generate. And this is valid syntax and absolutely will work for them. Now, if they put in here. No, no text. Or if they put in here. Not a valid get tool. It will generate that, but when they use that it will fail. Even if they put in a valid credentials ID. This not a valid get tool will cause the job to fail. Rather than falling back and using the default. And I don't know in that case if we should fall back and use the default. But, and there isn't a way from the syntax generator any longer to generate something that does not have a get tool name value, even if it's the empty string. So then my question is that why not fail. Even if the user is giving us a long choice. What is the harm in provide in trying to attempt to use the default installation. If it's going to fail, it's going to fail. But at least if the user and let's say by mistake or without the required context. Added the wrong. And if the default installation fails, those cases we would, we would still achieve a better. I would say broader. We would maybe. Not based those cases. Question. What's your experience been there? Did you get to hear the question? Yeah, sorry. I didn't see that. So. Yeah, I heard the issues question and I was saying the. Later to the resolve it too. It's like it has nothing to do with the code I have developed. So if we provide an empty. An empty input or empty string. The it's the. The responsibility of the resolve it to method to check it. I mean. I'm just writing the name. Everything has to be handled by the resolve it to. Before we were using that. That was my code that was using. I mean. I mean. I mean. I mean. I mean. I mean. I think that was the best example of using them there. That was my code that was using. That was, you know. Taking responsibility of finding an appropriate tool. So, so, but, but even so doesn't. When, when, when you call resolve git tool, it's giving back a response, right? And that response. I assume if it's. Whoops. Here we've got the call to resolve get tool. It's a blank or I think it will give us the default installation. Oh, you're thinking it that this call will resolve to something. And yet I'm definitely seeing cases where well let's let me double check but I'm pretty sure that if I modify a pipeline definition. Let's replay this pipeline. So here we've got the with credentials call. And if I remove this get tool name. Or let's make it non existent tool. And when I my recollection is when I run this. It will fail. Yeah, there it is. Fatal could not read username so. I'm sorry I actually miss that what did you put for the game. For the get to name here let's look at it shows I put in the get tool name. Okay, non existent tool so there's there's one so now let's try it with. Assume that was was calling into where to go calling into the source code here, and that this was likely returning null. And then that was causing this to return null. But I don't know for sure I haven't run it in a debugger to be sure and I ended to confirm that. I think that would be the. Yeah, I think that it should return default get tools for the controller or the agent they are running on. Okay. Yeah, it should never turn null actually. But how should if if the if the get to name is something which does not exist. Then it's going to solve it as a man. So it is there's a case that handles that which falls back to default implementation. Mark, if you could open the resolve implementation that. Sure, you bet. Okay, so here is get you tools. Okay, and here is the resolve get tool implementation. So in the if the first condition if it is equal equal to null. Well, but but the tool that I passed in is non null, right so I definitely passed in a non null so it will, it will try to find one with my non existing name and that would be null. And then it does a get of the default installation. Okay, so, so it should have returned the default installation. Interesting. Okay, so I think this is a mark needs to investigate further because that surprises me I would have expected. Mark check. Why. No, why an invalid get tool is not using the default, or if it is why it's not working. Mark, you can see the build messages if there's a message saying select grid installation doesn't exist using default. Oh yes good check right we should be able to see that shouldn't we. Very good so let's look at the console output. There is yes. But then it says Jake and Jake it. Okay, and I don't understand that second message there. It means the good tool that. Okay, so it means that the good tool is not off type. Good, or you can say it's off type get jgit or jgit Apache so that's why it's not working. But but that is surprising right because the invalid tool type that I gave was certainly not jgit and not jgit Apache it was. Something that's none of the above. Yeah, but the default in installation of the good tool that your controller the agent you're running on have is off type jgit and jgit Apache. So that's why. Okay, and now that part surprises me so that's where what you're saying is because I thought was wrong one global tool configuration just a minute. I think I have the first preference is get not jgit. In fact, jgit and jgit Apache are the very last in my list. But what what you're saying is it's choosing oops it is choosing jgit where to go someplace around here. For whatever reason here it is choosing jgit or or or thinks that the invalid thing I did is a jgit or a jgit Apache. But then why would it do so if it's using the default installation with that environment where the installations have the CLI to install. Yeah. Okay, so understand why when. Okay, so why that message when an invalid tool is selected invalid tool name is given. Good. Okay, at least I understand what I need to investigate. Great. Okay. I think at least I we've got an open item here to investigate but I don't think seems to default to return a jgit or jgit Apache tool type, rather than a CLI tool type. So that's a little surprising but but that may just be that I know that there were some odd behaviors in the get plug in where it was defaulting to return jgit. So that may be the same thing needs more investigation but I don't think that blocks us from shipping the code. Harsh it are you are Mishab are you okay with how it's been described so far and we'll do more investigation to understand it. Yes, 100% mark I think my concern that a user providing providing a wrong name. I think it's a dress because we would return back the default installation in that case that is all good. So I should is right that we will cover that case. Okay. Yeah, good. Alright, so we've got this one to investigate still great. Okay. Next, anything else on that topic before we touch this next one. I just have a small question if we have the time. I just want to ask that how should you're trying to check if if the if the installation type equals get to the class or not. Yeah. And you're doing that to why are you doing that. Are we not is that not guaranteed by the result get to. Okay. So I need to look at the code. So I just want to ask them why why what is the reason for placing this check. This install that only get specific on you can say I see like it specific good tool goes to the to the binding and performs the operation and any other type like J. Apache does not as far as I I know the gift tool is is the class which is implemented by the other tools right. Yeah. Okay. No, you're right. Extends get to. Yeah. Then how are we Mark, I guess, I mean, no, that's fine. No, there's a line saying see in that type specific tool. So here on line 38 we are ensuring that the class is there, it really did get installation reveals its class. So using this to get installation. And yeah, my question is that if we're checking if it's off type get tool and J get tool and J get Apache to extend it. And what are we going to get the line third line the yeah the code on the line 38 is with this case only. So it will. So if we Sorry. If we look at the get tool name specific to object then the and we look at the class it will show us get tool dot class but if we perform this the code on line 38 and search for the good tool with the name specific with the name specified. Then the class is revealed. So it will tell us which class it the good tool is from it is from J get a tool or J get Apache or it is from good tool. So after revealing the class then I'm performing the check. Probably. And just look more into the. I understand what you're saying. Or should I just need to look at the phone. Yeah, so I think I think your question is there. Right. And so let's let's capture that just to be sure right so do we need a check for exact class match in that I mean yeah we do need that because if we look at the way and we are setting the if we are checking the version of the get then we have to ensure that the get implementation is CLI get and not J get or J get Apache. And we have to by checking for get tool dot class that tells us it's CLI get not J get or J get Apache. That's surprising. But but actually this is a great one for us to just we can we can use a debugger because this code I believe is executed inside the automated tests and the automated tests. Pass in J get pass in J get Apache and CLI get so we can just watch it execute. So that's that's something that's pretty easy to check with a debugger to see okay is is this condition ever falls. And I've created a separate test case also for this thing to check this this method gets CLI get to where you can check that. Yeah, I do that I like to read the whole thing. Okay, so the separate test was should be okay so we've got here basic setup this one. No that just clears the tool instance okay then freestyle pipeline. There we go is this the test you're referencing. Yes. Good so we've we've got automated test cases we can use to check it. Excellent. Okay. I'm, we've, we've hit our hour. I've, I wanted to double check on one more topic could both of you spend another five minutes on on this before we end. Okay, there was one code review open question it was related to the get client plugin choice of the API name in the in the proposed change here so the proposal was, let's add a new method is CLI get ver at least. And a question and it's got tests very very good. The question from me and then also from, I think, Justin and Rishabh had the same question. Why not just expose the existing method make it public. Any insights you want to offer their harsh it. I just dwell the rapper method for that. I mean, I could create it public. I just want to get a rapper method for that purpose only. My concern was this, not a concern this in observation that if we're exposing it via a rapper then essentially it renders that protection package protection. It is public, because we're not doing, we're not placing any additional check or any logic which is essentially one thing that one thing that I was a bit concerned was in the future, if we need any implementation change then we could use this method instead of making everything in that in the least version. So we have the rapper method and we could modify it according to our need, or we can create another one as well but That's a great, I think that's a great point. So you're saying that this could be used particularly for the logic of the get binding. Yeah, for now it is being used for the get binding only but in the future we don't know where it might be used. Right, good. I have no objections at all to just going with this as it is and delivering a version of the client plugin that includes this. So, so for me I think I'm okay with that. Yeah, it's the same for me. Great. Okay, so I'm going to go ahead and, and I think I'm going to add these closing punctuation into it. Just that way I don't have to deal with risks from Java doc complaining about sentences that aren't ended. Java doc is a little bit finicky so still approved. And now I'm going to go ahead and take advantage of I think you've still allowed me permission to commit to this one. Add to the batch add to the batch. Alright, the suggestions. Add punctuation. Java doc. And then when this completes, I think we're ready to go ahead and release this. I'll actually increment the version number harsh it just for your info. I believe to three dot eight dot zero. Just because it's adding a new API and that way this is a way to declare that it's a formatting shame on me. Okay, good. Alright, that was the API name in get client plug in question resolved. Great. That was what I needed. So next steps then mark to merge. Merge and release of and release get client. And then a harsh it you will update the poll request to use the new release. And then we're I think we're ready to review one more time. Prepare to release any objections to a release of username and password. Because I've still got questions in the debugger that I need to, I want to be sure I understand that. It's the same for me. It's around the victim resolution and I just have to check. I think that's my investigation. All right, harsh it thanks very much now we're scheduled I think our next session is is scheduled for later this week right. Right. Great. Thanks everybody. I'll make the recording available later. Any other topics before we end for the day. No, I don't have a topic but I just want to know mark how you are running agents on your Jenkins instance we are using SSH for that. I use a wide range of choices so here I can talk to you about that as well so for example. This agent uses SSH. This agent uses inbound, not SSH so it uses an inbound connection. This agent uses what's called the Jenkins swarm as a technique of connecting and most of the other agents use SSH. So I have a wide variety of connection to I have an intentional variety of connection types. I am not using any Kubernetes and I'm not using any Web socket at this point so there are still some connection types that I'm not testing here but I've I'm intentionally testing a variation of different connection types to be sure that they're all well behaved. Good question. Very good. I'm glad you glad somebody else thinks about how are those agents connected and could they be doing something different in one connection than another. Well done. All right. Anything else. Thanks everybody. Talk to you on Friday.


Got my vaccine sticker, got my wristband, ready to go! Okay, we are now inside the stadium. So we're on the field, finally, and I'm going to get the field here. Okay, so I made it down to the stage. It was awesome, it was a great time, and now it's time for me to go home.


The whole video is about control. You became the bad guy. Look what Jada made him do. Jada rolled her eyes and look what he did. He ran up there and hit Chris. Poor Will because of- The adulterous wife. Yeah. Who forced him to go to the table. She smiles talking about this level of control. I could do this with an eye roll. She has the power with an eye roll to make him go up and slap somebody on stage. Where's the denial about that level of control? There isn't one. Where's the reassurance that Will has any agency whatsoever? There's zero. The only time she's not smiling in this clip is when she says we're in this together. I just knew we were in it together. The tight-lipped expression. Just weird. Definitely not suggesting anybody's a bad person here but this is just very unusual.