So today, before we get into the session, I just want to read from 1 Corinthians chapter 3, where Paul addresses the Corinthian church and talks to them about carnality. And then he defines what is their struggle with carnality, what specifically they are struggling with, which is division and strife, right? So 1 Corinthians 3 and verse 3, for you are still carnal for where there are envy, strife and divisions among you. Are you not carnal and behaving like mere men? For when one says I am of Paul and another I am of Apollos, are you not carnal? Who then is Paul and who is Apollos, but ministers through whom you believed as the Lord gave to each one? I planted Apollos watered, but God gave the increase. So neither he who plants is anything, nor he who waters, but God who gives the increase. Now he who plants and he who waters are one, and each one will receive his own reward according to his own labor. For we are God's fellow workers, you are God's field, you are God's building, right? So Paul putting things in perspective here and some things that we notice is that Paul says that he has this very clear understanding about his fellow ministers, right? We can say his team, right? Even those who are not part of his team, he has this beautiful, you know, understanding his strong revelation understanding, which cuts through all that carnality and which cuts through all the division and strife and puts things in perspective for the Corinthian believers that despite all the differences in roles that they are one, right? That he who plants, neither he who plants nor he who waters is anything but God who gives the increase. And then he goes on to say we are God's fellow workers, right? And the reason for us to, you know, even as we read through this, we understand that we are God's fellow workers, that we are God's team, right? And we, in fact, God is partnering, we are partnering with what God is doing, right? We are part of God's team and that's, that's God's invitation for us to be part of his team. So that is easy for us, you know, as believers to come to terms with. But the second thing, most important, the, you know, most important thing is that each of us, given our different roles, maybe in leadership, that we are one, right? And as a Christian leaders, it's important for us to have this strong perspective or strong understanding, so that it will, it will bring in unity in the body, right? It will bring in unity that we understand that we are God's team, that each one of us, we are God's team that, and that we are all different, we are all doing different roles and different tasks, but we are one in Christ, right? So let's pray that we would have this perspective that we would not miss out on what God has for us, yeah, let's pray. Father, we thank you. Thank you today that Lord, for these words, Lord, for this understanding that despite our different roles of sowing and watering and reaping, Lord, you're the one who gives the increase and Father God as leaders, Lord, as Christian leaders, Lord, we pray today that you would give us this heart, Lord, to see one another, Lord, those of us who are working together, Lord, maybe in teams, Lord, to see one another as one and each one receives the reward for each one's, for one's own labor. And so, God, I pray for this understanding to sink in to our hearts, really, that our hearts will grasp this revelation so that we will put it to action, Lord, even as we function in teams, even as we work, God, in whatever you've called us to. We thank you. In Jesus' name, we pray. Amen. Is there a problem with the network, internet? I see that a lot of dropping off the call, I'm not sure, just sharing our notes. So we started by looking at, you know, building a team. When it comes to team building, we started by saying that there are a few things that we can look at and based on what John C. Maxwell also writes about in his book, about teamwork, that either we can recruit or start from scratch, people with these capabilities or these abilities, in addition to their skill, you know, when we are looking at any organization, when it takes in people, it looks at what can they bring in that specific area of need for that organization, you know, for example, if it's sales or marketing, or let's say in ministry, you know, maybe that person is taken in as a worship leader or as a pastor or as an administrator, right? So the primary thing would be the area of skill, you know, can this person be in worship, is a person musically inclined, does a person have those abilities, or as an administrator, as a person have prior experience, is a person organized, is a person, you know, have all these, is a person disciplined, or as a, you know, as a pastor, the other person have, you know, adequate experience shepherding, you know, God's people and so on. So the skill is something that we would normally look at. I'm sorry, but these qualities of being in a team, you know, since ever, since we're looking at building a team are some things that we need to look at as well, okay? So for the while recruiting, now, it is possible that while recruiting, that people may not have these qualities in a well-developed measure, right? These abilities might be there, but it may not be fully developed or, you know, maybe it's not there, some of these things. So that's the second part of it, you know, if we are building a team, and building a team which is already there, right, people have already been recruited or people are already there, then how can I ensure that these qualities are there? And how can I ensure intentionally to build these qualities in people? Okay, so first thing that we saw last session was adaptability. You know, is a person able to adapt? So being able to adapt, meaning is a person agile? Are they able to adjust?  If there is a changing environment, if there's a changing need, change in strategy, so is a person, how quickly is a person adapting to change? Or is a person going to be very rigid, you know, completely not, you know, not comfortable with change, right? Then it's going to be a problem. So to be adaptable, here are a few things, right? We need to be teachable because that's a very important quality. One needs to be teachable, which means open to receive suggestions, open to receive instructions, open to learning new things. So if this is not there, then I cannot adapt, right? Emotionally secure, not threatened by change because adaptability, adapting to new processes, adapting to new people, adapting to new, you know, structures within the team. So not emotionally threatened by any of these things. Say, this person will take my place, this person will replace me and none of those, right? So it must be emotionally secure and also creative, you know, think of new things, new way of doing things, a different way of doing things and, you know, not be fearful of crying these things, right? And also have the ability to serve, you know, have that serving mindset and also not focusing on oneself, but focusing on others, right? Focusing on the team, how can I help the team? How can I build strength into the team? How can I give, bring value? So these are things that a person should have, right? So the first thing is to look at ourselves and say, you know, am I adaptable, right? If I'm not adaptable, then it's going to be a problem. I could be replaced, right? And especially with today's, you know, what we see in this, a typical example would be, you know, the 2019 and 2020, right? And world over with the pandemic hit and the way ministry was done, the way church was gathering changed overnight, right? Because of lockdowns, because of restricted, you know, restrictions and gathering together publicly in person. So the church had to adapt. So if the church did not adapt, then it had to, you know, that particular gathering had to close down. So it had to adapt to new technology, it had to adapt very quickly. And even after the, you know, after the pandemic, dwindling down and everything returning to normal, a sense of normalcy at least, we see that, well, the way church gatherings met was different because it was in person and it had to be online as well because there were a lot of people who are tuning in online, maybe not from the same city, but from different cities, maybe from different countries. So one had to adapt to technology, you know, constantly improve on whatever technology was being used to look at other ways of, you know, improving the quality and making things possible. So one had to adapt without which it was very, very difficult, right? So adaptability in a team member is very important. The second one is collaborative. What is collaborative means? It means to work together, to be comfortable working together, to thrive working together. Like somebody said, cooperation is working together agreeably, but collaboration is working together aggressively, which means that it's not just about agreeing, but it's really putting effort and working together for results and collaborating. Now, so how does that happen? It happens when we see one another as people who are helping one another, as collaborators, right, as one of the same team and not as competitors, right? When we see each other as competitors, though, if I, you know, if I share this information, then this person will do better than me. Or if I help this person, you know, with this skill or with this tool, with this new learning, then with this revelation, then this person will go further than me, will do better than me, will preach better than me, will relate to people better than me. All this attitude has to change, right? And to be supportive and not be suspicious, you know, in the name of discernment, you know, we could be very, very suspicious of people or maybe because of past experience and so on, but we need to reject that, discard that and be supportive rather than be suspicious of people. Okay, what else will help to focus on the team, you know, and to ask ourselves, you know, am I a person who works together? Am I a collaborative person who's helping, who's receiving help, who's getting information, or am I, you know, the opposite of that? Okay, and a good way to see is, you know, is the team moving faster when I'm working together or am I dragging the progress of the team? Am I slowing down the progress of the team? So it's a good question to ask, right? So the mindset is to collaborate, to work together, right? Well, when we collaborate together, it means that we are, you know, when we see that each one in the team has his or her own responsibilities to take care of, right? Now that has to be done, that has to be, you know, met with, that has to be taken care of. And in addition to that, not only looking out for our own interests, as the word says, to look out for the interests of others also, how can I help them? Because when we help the team member, then the whole team benefits, right? So in ministry, we would see, and it's okay, you know, maybe not to not divide ourselves, not divide the body of Christ, and not see another church as a competitor or another pastor or a ministry as a competitor, but to see, to have that kingdom mindset, to see ourselves as all being in the kingdom of God, and therefore, to collaborate, right? Now there are certain things, you know, when it comes to collaborating, right? We one cannot collaborate with everyone in the same capacity, right? For some, it could be just maybe our collaboration is to help them financially and it stops there, right? Maybe with some people it is to give us, give them the time that maybe share some resources, time is also a resource to share resources like a skill or a learning or a technology, right? To share with another ministry, okay? This is what we have learned and this is what we are using in our ministry. And so just want to share that with you, share that learning with you so that you can also, so all this, you know, these are ways by which we can practically collaborate. So with, you know, so there are different ways or levels of collaboration, right? And so it also depends on the vision of that ministry or that church that you're collaborating, that you seek to collaborate with and all, you know, so it matters, right? Okay, the third thing is commitment. Now it goes without saying that if there is a half-hearted commitment and no, no, it's not a wholehearted commitment, then it's going to become difficult to be part of a team and to help others in the team, right? We're looking at different things that we can develop in the team so that the team functions well when you're building a team. These are qualities that the team member needs to have or develop and commitment. When there are difficulties, when there are challenges, that exposes, that brings to light our level of commitment. You know, are we still committed to the project? Are we still committed to the assignment? Are we still committed to the whatever work that we are doing, the work of ministry? These, when we face difficulties and there are maybe trials, maybe there are challenges, these expose our level of commitment. You know, maybe when people give up, then that shows us that, okay, this person is not maybe that committed after, right? They are committed to some extent when things are fine, but when there are difficulties, when there are challenges, the person wants to back off, right? So, it exposes ourselves personally, our level of commitment. Are we still committed? Will we still do it, whether we like it or not, whether we, you know, whether we benefited or not? Are we still committed? So, being committed, you know, one good thing is, it does not depend on gifts or abilities, right? It does not depend on any nointing. It is a choice. It is a decision and not, it is a decision that we make irrespective of how the environment is, our surroundings are, right? It's a decision that we make. So, the commitment is strong when the choice that we make, whatever we are committed to, is based on our shared values, things that we hold in high esteem, right? So, when we look at, okay, integrity, when we look at, you know, things like that in high esteem, that's our value, then we see that, that's something that, that is something that we see that really fosters commitment, helps commitment. And we need to, you know, we need to build that when we see, we need to, of course, model it ourselves for our team. And we need to build that in the team, you know, talk about it in the team, saying, guys, it is going to be difficult, right? This is what we will face.  You know, this is how everyone who, who, you know, prepares oneself in the secular arena of games and everything. This is the one how an athlete prepares. So you need to be ready in season. So it's good to talk to the team, right? We need to do that and tell the team, you know, this is what you can expect. These are some challenges that you can expect. These are the hardships that you can expect. These are some things that you can, you know, that might come against you. But we need to press on. So we want to invite you to be, to be committed to the task. Now, despite all these things, you know, let's work our way through. And so, so that would help the team to prepare their hearts to make a choice to be committed, right? Because the team needs to be committed in order to be successful in order to get things done. Right? The fourth thing is coming, we've been looking at the list of things that we need to build, which are helpful for building a team. And these are qualities that we want to see in every team member. Right? Okay, so the fourth one is communication or how healthy and effective communication is there, is prevalent in a team, right? Is present in a team. So because we, as we saw earlier, if there is communication, then there is a healthy connection. And if there's a healthy connection between team members, then there is understanding. It improves, it brings about understanding. You're able to understand the other team member or the members of the team. And when there is an understanding, then it brings about, you know, a sense of caring, a sense of, it eliminates a lot of things. There's no misunderstanding. You're able to work together better. You're able to relate to one another better, right? When you understand the person. This is the, this is the background the person has come from. These are the challenges that the person is facing. This is why he or she, you know, is, is doing what he or she is doing. And we're able to understand the person better. And even when they make mistakes, right? We don't come on them too hard. We're able to help them as a team to overcome the challenges, right? Rather than saying, okay, this person is worthless, this person does not keep up the commitment. You know, we're able to understand, okay, this is what is the background. This is what the person is facing. Maybe there's some health challenges. Maybe there's some challenges with the family. Maybe there is, there are some pressures that the person is battling. Maybe some financial pressure, maybe some relational pressure in the family.  And therefore, let's help, right? When it comes to communication, you know, there, there is every, every chance that when you put a group of people together, that there is chance for misunderstanding. There is also a possibility of, you know, because of that misunderstanding some relational tension, right? Relational tension, meaning conflicts or potential conflicts, right? It's not a conflict yet, but it can be if it's not addressed the way it's heading. It's all within, right? So the thing is this, the acronym, D I R T dot, which means don't ignore relational tension. You know, if there is, if you sense there is a tension, address it and talk about it. Maybe, you know, maybe sometimes it's not possible to just bring it out completely, but just address it. Guys, you know, this is what we need to do.  You know, sometimes we, it's just you just getting a sense of tension between, between the two. And so we need to, we need to make sure that, that, that is, you know, that, that kind of tension is addressed. Right. Okay. What is the next one? Next one we see is competence. Competence is skill. Okay, competent, being competent. It is skill. Okay, so what does that, what does that mean? Okay, to be competent is to be skilled, to be qualified, to be capable. Okay. So to be skilled, what is it that you are to, to do? What is it that we are supposed to, what is it that we are supposed to accomplish as a team? What is it that we are here to do as a team? What is it that we are supposed to accomplish? Right. To accomplish that is every person skilled. Right. Is the person competent to carry out the task? Right. So, so here, here are some things to look at. Right. Is the person committed to excellence? Right. So it's not about skill, having possessing the skill. Right. Maybe the skill is, for example, it could be, you know, learning and experience in accounts maybe, or, you know, any other than just taking accounts as an example. Now, the thing is to be committed to excellence. Right. In the accounting task itself to be committed to excellence and not settling for anything short of excellence. Now, excellence is not perfection. Excellence is not never making a mistakes, never making mistakes, but it is bettering than the previous time. Now, it's a very, it's a, as a, as an individual, I say that I'm, let me do this better than how I did last time. Right. So to be excellent in it and committed to excellence. Then, then another thing that helps is this, that we are focusing or we look at the details like the small things. Most times when, when we look at certain things that, that became a big mistake or a big catastrophe, we see that these small details were ignored. Right. We see that there were, there were things, these small things, these were ignored and that became a big, a very big challenge. Right. Some of these very big accidents that have happened, you know, some, something to do with a space shuttle. Every, you know, you look at some of these things when they, when they analyzed what went wrong. You see that somebody overlooked small detail, small detail. Right. So detail, being detailed over, paying attention to details will actually go a long way, will help the person to be competent. Right. Will help the person to be excellent. So that is the second one. Committed to excellence, being detail oriented. The third one is being consistent. These are simple things, but to be consistent in the effort, giving the best, to be consistent, not just, you know, in, not just when the person feel likes it, feels like it, sorry, or not just when the team or some people in the team feel like giving their best, but it's to be consistent. Right. That would also reflect upon their competence to be consistent, consistently performing and consistently doing their job. Well, an example is, is a guitar company called Taylor Guitars, which manufactures guitars, premium guitars. So they ensure that there are no bad quality guitars with, or no guitars with any defect in a batch, like in a batch, let's say they make about 20, 25 guitars. They make sure that there is not even a single guitar with a, with a defect, with a manufacturing defect, with a defect to the word, with a defect in the design. Their attention to detail is so stringent that they make sure that there are no defects. So, so even today, when they come out, when they, that is why their guitars are highly priced, when they come out, when they bring out guitars, they make sure that there are no bad guitars or bad quality guitars. So that is their attention to detail. So, so what I'll, what I'll, what we can look at is a few, few more things to improve competence. Okay, what is it? Focus. Right. Develop the ability to get the details, right. Attention to implementation. You know, these are some things that, that will help us with the competence. Okay. Okay. Then along with competence, you know, this quality is very, very important, which is dependability. Right. I'm sure if you work in teams, you know, there are some people who, whom we can depend on that you can give them the job. And you can just forget about it. Right. And you know that it will be done. Why? Because they are dependable. You don't have to remind them over and over again. You don't have to go behind them till the last minute. You can just give them the task. And you can be sure that it will be, it will be done. They are dependable. Like they keep you informed if it cannot be done within advance, so that something else can be done. They keep you informed if they cannot make it for something, for some activity of, you know, in advance. Right. So they are dependable. Right. So, you know, everyone knows, okay, whether they are dependable or not. And we need to ask ourselves, am I dependable? Am I dependable? When people ask me, when people give me a task, am I dependable? Or do I make excuses for not getting certain things done? Or at the last minute, do I pull out? Right. Do I give excuses? Do I pull out of it altogether? Or, you know, do I communicate to the team? Do I communicate to the leader? My difficulty challenge is in advance, so that some alternatives can be done. Right. These are, you know, these are qualities of being dependable. Okay. So what are some things, the motives are pure. Right. They have a strong sense of responsibility. Dependable team members, they have the desire to do the things. They have a desire, which means they are interested. Right. Well, it is difficult to be interested when things are difficult. It is when things are challenging. Right. But they ensure that they want to do this job. They want to get the job done. They have sound thinking and good judgment. To become dependable, we need to check our motives. You know, that will help us. You know, what is my motive in being part of this team? Like, if my motives are not there, in the sense it is not correct, then I won't be dependable. You know, my priorities are different. Right. If my motive is, well, I'm just here. I'm not going to work hard. I'm not going to give my best. If my motive is that, then my priorities will be different. Right. So I cannot give my best. I will not prioritize the things that I need to do with the team or for the team. I will not prioritize. I will not give it importance. Therefore, I will not be dependable. Like last minute, I will pull out. I will say, I cannot do this. I'm not able to do it and so on. Well, the team has been dependent on me. Right. What are you bringing to the table? Right. So check your motives. If we can even ask someone, you know, am I dependable? What do you think? Am I reliable? You know, sometimes our own estimation could be wrong. You know, because we give ourselves reasons. We justify and say, okay, this is why I could not. This is why I did not. Whereas we need to, we need to ask ourselves and we need to, you know, step into that responsibility. So we can ask ourselves and get a realistic estimation. Have I been reliable? We can ask maybe a friend, maybe someone else and maybe some, you know, some critique, right? Someone who, who doesn't always say good things about you. You know, it's a good thing to ask. When they give the feedback, it's good not to defend ourselves.  Yeah, you were not reliable. You did this, this, you did not do this. You know, you're supposed to submit something and you did not come forward to do it as a group project. Maybe they'll, you know, when they give that feedback, don't defend yourself and say, you know, but, but this is why, this is why I did not know, don't defend yourself. This will see that feedback and evaluate it, right? Also, if being the not right factually, when they're giving the feedback, we can clarify it, but without defending ourselves, you know, defending our action, clarify the facts. Okay, this came in at this time. I was asked to do it and this time and so on. So clarify the facts, right? And another thing is to have an accountability partner, someone who is, who will hold us accountable to our words, who will hold us accountable to our action, who will hold us accountable to our commitment. So when we are committed to something, did you do it? Right? Have you done it? Okay, today you did not. Tomorrow, are you planning to? Right? So someone who will hold us accountable, accountability partner could be somebody in the family, it could be some colleague, they can say, please ask me, give them the right give them the permission to ask us those difficult questions, to ask us those uncomfortable questions, right? Okay, so we looked at six things. We look at any, any questions till now? Anything that you might want to add, please feel free to ask, right? Any, any questions, anything at all? Okay, so the next one is, you know, is a person disciplined. Okay, we looked at is a person dependable is a person disciplined. So this being disciplined is one more quality to see if you want to recruit in a team, or if the person is already there to develop that ability, develop that quality to say, okay, is the person disciplined? Now here's interesting quote, where there's a will, there's a win, right? Our discipline is the refining fire by which talent becomes ability. So what does it mean? There's a skill, there's a talent, there's a gifting, but it's not translating into action, right? The person is, is not really doing anything about it. And to do that requires effort and discipline, right? To use that skill, one requires discipline, one requires, one is, one is required to make a decision, make a choice. So, so it becomes talent becomes ability. It's only because of discipline. Here's another thing, discipline is doing what you really don't want to do, so that you can do what you really want to do, right? So you do something that you want, don't want to do at that moment, because that is going to help you to do what you really want to do, right? So which means that it could be in the area of fitness, it could be in the area of studies. At that moment, maybe it just wanted to just want to just relax or not do anything or not get into it. But those are the times when we really need to put in effort maybe, and not take it easy. It's put in that effort so that it is, we are able to do those things, achieve those things for which we have been planning, right? So discipline is doing what you really don't want to do, what you don't feel like doing. It's just hard on your body and your mind, but you do it because it helps you to achieve or to get to where you really want to be or want to do, right? It's paying the price in little things so that you can buy the big things, right? Discipline is also, you know, it's not just actions, but before that it's in our thinking, it's in our emotions, it's in our actions, right? In all these areas, are we disciplined? Am I disciplined in my thoughts? Am I disciplined in my emotions, right? Or do I just let loose? Do I just let go? Am I disciplined? Am I sober-minded? As the Word of God says, be sober-minded. I mean, Peter writes, be sober-minded. Or gird up the loins of your mind. He says, right? Which means, am I disciplined in that? Do I? Is my mind passive? Is my mind, you know, all over the place, right? We've been given a disciplined mind by the Holy Spirit, right? God has not given us a spirit of fear, but of power, love, and a sound mind, right? So we use that. We utilize that. We don't let go of that, right? Discipline in our thinking, in our emotions, and in our actions, of course, not being rash, but being disciplined. So to increase this, to develop this, and to keep on being consistent in this, what do we need to do? We need to strengthen our work habits, right? Maybe we need to start at a certain time, you know, doing our whatever tasks that we need to do, plan ahead, and get those things done, and do those difficult things, right? Maybe, you know, we need to make that phone call to that person. Maybe we need to send that email to that person, or maybe we need to confront and correct somebody, right? So doing those things that are not comfortable. Okay, doing those things when we, whether we emotionally feel it or not, that is going to help build discipline, right? It's going to be like a muscle that becomes stronger, stronger and stronger. So strengthen our work habits. Take a challenge, you know, something that will require us, take some, something that will, some activity, something that will require us to act on something that will require strength, something that will require, you know, an intense thought process and so on, you know, act with discipline. And also, watch the words that we speak. Be careful of what you're saying, like what we're saying, and what is, what negative things are we declaring about ourselves, about that particular problem, and so on. So wrong confessions, right? Okay, any, any questions here? We've been looking at a few things. You know, these are all good qualities that we want to see in, you know, in teams and team members, very important, right? So it's good to go back to this list and see, you know, in my, the team that I'm leading, do I see this? Do I see this? In what levels do I see this? In what level of development do I see this? Right? Is it lack of maybe, and it's not there at all, right? Some of these things, if it's not there and the people, then we need to make sure that it is there. And why is it not there? Am I not modeling it? Right? Do I, do people see that in me? That's a good, you know, question to us, because we can tell people do this, but if they don't see that in us, then it's very highly likely that they will not do it, because we are sending out a mixed message. And the message is that, you know, I'm not going to do it, but you do it, right? And they're not going to do it either. So do I model this behavior? Do I model this first hand so that they can do it? Okay, the eighth one is enlarging, meaning we are adding to our team. So what do we mean by that? It's not about adding team members, but it's about adding value to each and every person in the team. What would add value to a person in the team? It's different for different people. It's going to, when we, when we commend the people for a job that is well done, that is adding value. We are complimenting them for a task that is well done and it's sincere and it's true. And so it is, they are acknowledged, they are appreciated and it's adding value to them. They understand that I'm valued by others. But also it means that when we bring in into their lives an ability or a skill or a learning, which they can use, it can be in the area of their work. It could be something that they can, you know, something that will help them with their family, something that will take care of their need, maybe something that they are struggling with. And we bring in that value that takes care of that particular area of need or lack or a struggle. So we are adding value. It can be from the word. It can be something that the Spirit of God quickens to our hearts. We bring in, especially, you know, prophecy, a simple gift of prophecy we've learned. It brings edification, exhortation and comfort to people. Edification, they are being built up. So we hear from God. We, you know, what is it, God, that will build them up? What is it from your word that I can share? What is the promise that they need to help? They are down. What is the encouragement that they need to hear from you? And sharing that will build them up in the inner person, like edification, exhortation and comfort. When we believe in them, their ability, you know, even before they start believing in us, when we believe in them, believe in their ability, believe in their skills and see through their, you know, the superficial difficulties and see through that and look at their strength and ability. And when we communicate that, then that's adding value. Okay. So that is enlarging, serving others before they serve us, adding value before they even add value to us. This next one is something that will really help the team, which really needs to be there. This is enthusiasm. Okay. Enthusiasm, which means excitement, interest and all put together, you know, interest and enthusiasm and excitement about life in general, but really about what the team is doing specifically. When there is enthusiasm, then all the challenges, they seem like very minor things. When there's enthusiasm, it's so contagious, it just spreads between the team members. And we see that it is a choice. It's again a decision. So we need to take responsibility for our own enthusiasm. So we need to say that, okay, you can't depend on the other person and what they do in order for you to be enthusiastic about your work. Of course, we can always encourage and cheer for the other person, but for that person to understand, for every team member to understand, I need to be enthusiastic. I need to be enthusiastic about ministry, about work, and I need to maintain my enthusiasm. Okay. So that's the ninth one. Okay, we'll take a break and then we'll come back.


Born on 15th of January 1929 in Atlanta, Georgia, Martin Luther King Jr. grew up like every other black child in the 20th century. He was bullied and discriminated against, but his mother taught him to believe in himself. Young King grew up believing that he was destined to change the world and the civil right movement was to be his opportunity to do that. By age 26, King had already become a significant figure as a human right activist and though he was assassinated before age 40, his single mind and ideologies changed not only his nation but the entire world. In today's video, I'll be sharing with you the truth you must know in your 20s. If you're between the ages of 15 to 40, subscribe to this channel to join other young people who are determined to change the world. The truth you must know in your 20s is that you can change the world. Yes, you can change the world. Until you understand, internalize and accept this truth, you will not live a meaningful, fulfilled life. The power of a single soul. I was born as a sickle-celled child in a poor family in Africa. Growing up with the stigmas that come with falling sick every two weeks, it was impossible for me to even dream of a life where I can ever make any significant impact. However, when I was 17 and started reading books, I started reading the stories of a lot of people who changed the world and two things became very clear to me. First, your background doesn't matter. Everything you believe to be your limitation is as a result of the story you tell yourself or the story you believe about yourself.  Wayne Dyer said, change the way you look at things and the things you look at change. The second thing you have to understand is the power of a single person. I understand this as well. Through reading, when I read biographies of people and how their single existence in life changed the human race, I stopped to underestimate my ability to pull the trigger. Think about Mahatma Gandhi. Think about Albert Einstein. Think about Steve Jobs. Think about Mother Theresa. Think about Abraham Lincoln. Think about Thomas Edison. Think about Harry Ford. Think about Nelson Mandela. Wait a moment. Think about Joseph Stalin and think about Adolf Hitler. The above listed individuals were single souls, but their single existence changed the course of human nature. Just imagine, for example, that Thomas Edison was never born. This might mean that the electric bulb and hundreds of other valuable invention that came from his mind would have come probably 50 years later. Imagine for another example that Steve Jobs died at age 7. That simply means, without doubt, the world of computers as we know it today would have never been the same. Imagine for the last example that Martin Luther King wasn't serious about his life. He wouldn't have been qualified to lead a civil right movement and if he didn't leave the nonviolent movement the way he did, we don't know what our world would have looked like today. Maybe we'll still have a world where someone like me, being an African, will never be allowed to make a YouTube video because of the color of my skin. Now, you get the point I'm making in this video and that point is that you, you matter to the world. You were needed in the world. You changed the history of the human race. I mean you. The truth you must know in your 20s is that you can change the world. Yes, you can change the world. The world needs you more than you need the world. On Tuesday, November 8, 1960, John F. Kennedy became the 35th president of the United States and in his inaugural speech he said something the world will never forget. And I quote, And so, my fellow Americans, today I'm speaking to you as a member of the same planet. Ask not what the world can give you instead ask what you can give the world. This change in perspective can turn your life around immediately and there's a reason for that. You see, the problem for most young people is that they wait too much and expect too much from other people. Most young people expect the government of their country, the economy or any outside factor to smile at them. This is a passive strategy towards life and it's for the cowards. The strong are not passive. The strong are aggressive and being aggressive means going after what you need, regardless of how difficult achieving such may be. Let's think about this for a moment. What if you stop thinking that the world owes you everything? What if you start thinking that you owe the world much more? What if you start seeing yourself as a special agent sent by God to change this generation? What if you start seeing yourself as being the father of the world with the responsibility to give, yes, you're the father of the world and you have more responsibility for the world than the world has for you? This is not necessarily what everyone is willing to believe but for those who are willing to live a meaningful life you must see yourself as being the father of the world. The truth you must know in your 20s is that you can change the world. Yes, you can change the world. Activate your sense of responsibility. As at the time of making this video I'm preparing so hard to retire out of the business world. Not like a full retirement but I wish to structure my business in such a way as to give me more time to contribute more to the progress of my continent, Africa. This doesn't just happen to show up in my plan it does show up because of the sense of responsibility. First, if you change the way you look at yourself by starting to see yourself as an important member of the society by stopping to see yourself in the light of the story you were made to believe then you will improve your self-esteem. The second thing to do is to understand and internalize the fact that you can change the world. This belief can be affirmed by the fact that so many ordinary humans like you have in the past changed the world. The third thing you should do is to expect more from yourself to the world than you expect from the world. This new mindset and sense of responsibility will change the way you see or think about yourself and that will make you more proactive and useful for the world. But what about personal successes? What about money, fame or sense of fulfillment? Well, when you're useful for the world you'll automatically get everything you need because everything you mention above wealth, fame and other things we independently look for comes to people who stand up and contribute which is what this video is advocated. The truth you must know in your 20s is that you can change the world. Yes, you have what it takes to change the world. Thank you for watching our videos. This channel was specially created to inspire and encourage and challenge young people between the ages of 15 to 40. If you fall into this category, we invite you to join us as we hope to change the world together with you. We love you.


So today I wanted to talk about a new concept, a different concept, a concept that you probably haven't thought about in terms of translation. And this concept is AB split level testing. Now this is something that if you do marketing, if you do online marketing, online sales, online marketing, then you've probably come across it, especially if you do stuff like Google ads, Facebook ads or anything along those lines. But otherwise you might not have come across it. So let me briefly explain what it is and then I'll say how it relates to you. AB split level testing is what a lot of companies will do this and what they'll do is they'll have an online ad and so they'll have an ad say buy our shoes and then they'll have another ad that says click here to buy our shoes, I don't know, just something different. And then they'll test these two ads for a week or whatever it is and they'll see which one works better. And if buyer shoes works better, then we'll get rid of the other one and then work on that one and maybe do another variation on that one, maybe two different colors or I don't know, something like that. And so this is called AB, usually AB testing, that's what it's called because you test that A and B and see how they work against each other and then you go with whatever works best. And the important thing here is that you don't change more than one thing at a time. Okay, I'm doing these ads in New York that says buy our shoes and I'm doing another ad in Chicago that says click here to buy our shoes and the one New York works best and you're like, wait, well, does it work best because of the different wording or because it's in New York and maybe New York has a better market in Chicago, I don't know. So that's why you only change one thing every time you do this split level test, you know, A or B, that's it and whatever small change works best, you go with that and then maybe you do a test for New York or Chicago on its own and stuff like that. Anyway, that's how it works and actually there are a bunch of variations because obviously these big firms that have a lot of money can do all these different things, I won't get into that now, but that's basically the concept of how this works. So how does this relate to you and why do you care about this? Well, when do we as freelancers, when are we marketing and when are we doing sales? Well, kind of all the time, right? Because a lot of what we do, especially at the beginning is trying to contact prospective clients and we're trying to find people who want to hire us. And so as I mentioned this before, a lot of this can be a numbers game. At the beginning, you might be emailing 10, 20 even more people per day, you know, like these co-contact or stuff like that, just seeing who you can get as a client and stuff like that. So what? Well, so how can we apply this to what we're doing? And this goes along the lines of when I try to see what the big boys, what the big companies are doing and try to see how we can try to adapt these strategies to what we're doing so that we can apply the best of what's out there to our jobs as freelancers. And so anyway, the way we can do it here is obviously every one of you, when you're contacting these prospective clients, is that you have an email, probably that you've written out, probably a template that maybe you tweak here and there depending on if you're contacting people in different cities and different fields and industries or this, that and the other. And so what I'm saying here as, you know, as maybe what you can do is a split level test for these emails that you send out. And so how would that work? Well, basically, if you're doing, say, 10 to 20 emails a day, what you can do is you can decide to send half of them using some wording and half of them maybe wording that's a bit different, just slightly different, you know, maybe with a different tone or a different start or maybe in a different order or something along those lines. Anyway, you just test them out and you do that for a week or two. And then you kind of look back and see which one got the best response. Which one got more people interested and, you know, I'm following up. Even if it didn't get you a job, if it got people interested so you could, you know, possibly go through and then see there's a possibility for a job, then it might be a good way to to get potential jobs, especially if maybe the other one didn't get any response or got very little response in comparison. Anyway, this is a way while you're sending these emails out, so you're not just writing up an email template and then just sending it out without thinking. So you can kind of keep testing because you should be refining. You should constantly be refining what you're sending out to clients and your wording and all that. I still am right now. And every time I send an email out, I mean, obviously, I have all my standard templates and everything I do, but if I find something that I can tweak or change or, you know, amend in a certain way, then, you know, then I want to do it. And the best way to do this is to be scientific about it and to do this testing. Unfortunately, at least for me, and I think for a lot of people out there, one of the worst mistakes you can make is to assume. And you assume you're like, OK, well, I'm contacting companies. So, of course, I need to sound a lot more professional when I do it. That's an assumption. And for all I know, you're right, but you might not be right. You know, and the only way to know is to test it out. And so this A, B type testing is perfect for stuff like this, because what you can do is you can send out half the emails, sounding a bit more professional, and maybe the other one a bit less professional, you know, maybe more cordial or with an exclamation point there or something like that. Anyway, and you can sort of then get an idea of what works best for you. Also, remember, what works best for me or for someone else might not work best for you. Maybe you are naturally more inclined to be a certain way, so it comes off as more natural when you do it or the clients you're contacting tend to be more one way than the other. You never know. Anyway, and the best way to find out is to test it out and see what works. And so adapting this A, B split-level testing is a great way to do just that, because over time, you can get a feel for what works best and what doesn't. And then maybe once a certain type of email works better, you can get rid of the other one and then test this new type of email. Say, well, maybe I want to add two exclamation points to it or maybe I want to, you know, do this or that. Anyway, and you know, see what works best for you and what type of changes or tweaks or, you know, little small variations you can make to your emails that might help you in the future. And this will also keep you on your toes and make sure that you're constantly refining it and trying to make that email a bit better. Anyway, so please let me know if you're able to adapt this. By the way, you can adapt this in other ways as well. If you find yourself sending a personal list of services out or if you have a personal webpage, if you're able to create two of them somehow and, you know, you send half the people to one and half the people to the other, find any way you can to try to test this out. Maybe if you have business cards, try two different business cards. Obviously you have to pay for two different business cards then and actually then every time you test, you have to buy a new business card. So maybe that one, not so much. But, you know, any other way you can think of to try to tweak this a bit and try to see what works best, try to do that a bit. And you might be surprised by the results because it isn't always obvious, you know? And anyway, so please feel free to test this out and feel free to let me know if this works and what works best and how it works best for you because I'd love to hear about stories like this and to see if this can work for you. And otherwise, yeah, that's pretty much it for now. Please don't forget to click thumbs up and like if you do like this because that always helps so I know what kind of material works and what doesn't. Otherwise, I'll see you in the next video. Don't forget to subscribe if you haven't yet and I'll see you next time. Thanks, bye.


Everybody forced tear up being 2022 tops five star baseball hobby eight bucks case number 14 random team style Check out the results anytime elite sports cards calm. Let's get started everybody I'll drop you a link and chat against as we are disconnected. There it is. Let's go Not gonna recap this one guys. These are really quick anyway.  Big-time vet hit there going to Where the heck Seattle there your Jonathan W. There you go, buddy. We'll mag that for you golden graphs angels Tori Hunter 25 out of 30 Golden graphs auto there nice card angels And base auto red socks David Ortiz Go to first couple boxes so far David Ortiz on the base auto red socks Braves rookie auto base Kyle Muller not not numbered base. Obviously go Braves and A an astros green auto Nolan Ryan six of 15 Sweet Nolan the Nolan Ryan express Astro Purple rookie auto Mets Patrick Mazzica number 33 of 50 reds auto Dion Sanders There you go reds the rare Dion Sanders reds auto usually think of Braves, but now he played for the Reds to Nice card Cincinnati base Dion Coach Prime Reds rookie base auto Tony Santheon Santheon Reds auto base and golden graphs red socks Jason Veratek 14 of 30 Tech the captain Tigers rookie auto Zach short 20 of 75 Zach short there you go tigers and a base auto Rangers Adrian Beltray Got a good share of legends in this in this case here through six boxes Rangers Adrian Beltray feels like a redemption here Base rookie auto Pirates Hoy Park and Redemption five-star pentamorous penmanship green Joey Vado Another nice hit for the Reds a few teams have a few hit have a couple hits so far Reds pentamorous penmanship green Joey Vado That'll be that like see-through. It's like a giant shadow box almost last box you got angels rookie auto base read Denmark's and Silver signatures Mariners legend Edgar Martinez 13 at 20 the sweet silver ink auto Yeah, several teams hit twice there That'll do it everybody. Thank you again More five-star coming up soon


Hello everyone, wow a lot of people that's great Good afternoon everyone My name is Emilia. I'm I work for Red Hat I'm glad to be with Matt Fisher from Time Warner and Mike Dorman from Goody Today this is about how how we are building clouds with a puppet open stack modules You have the link of the slide if you want to download You have the same link at the end of the slide. I think if you miss it So Mike Dorman is working for Goody's Deploying open stack as doing Matt Fisher for Time Warner and I'm running the project technical lead for puppet modules in the next cycle so For for today, I don't expect you to be prepared to expect so I will introduce what is the puppet open stack project in our community So maybe you missed the information, but the puppet open stack project is now an official an official project under the open stack big tent This is a this is a set of Puppet modules that that provide a way to install open stack So for each open stack project We have a puppet module and we have a module which is the open stack Lib which is a common library to to configure the common bits between the All the open stack resources like database etc So we provide you a set of modules, but we We don't compose the the puppet manifest for you That means if you want to use the puppet open stack modules You need to to to write your own composition layer. So we will see in the next slides how you can do Also, all the puppet work that we are doing is is One of the best practice and they will talk more about this in the use cases later are the To use the era for data driven deployments So how how you can use the modules today? First of all today the modules are hosted on stagforge and we are in the process to move the repository on the Open stack git server So today you have two options, I think to deploy the puppet modules You can you can select an open stack installer that that is using it This is good because you don't have to know much about puppet mode You don't have to know much about is it working? Yeah, okay But the bad thing is that sometimes you can lose in flexibility when you want to deploy complex infrastructures So depending of the way Installer is constant puppet modules Okay So this is fine So I was saying that the open stack the open stack installer is fine because you don't have to know much about puppets But still you can lose in flexibility for complex deployments So those guys have very good example later and as far I know they don't use installers right now and That's why you have another way to use the puppet modules This is the So you need to write your custom puppet composition So this is more difficult because you need puppet expects like those guys They know a lot about how to use the modules how to write manifests This is good because if you have a very big infrastructure that needs Custom drivers custom plugins custom software that you want to plug to open stack This is very good because you can you can bring your puppet manifest very flexible So if you wonder which installers today are using The puppet modules Some of them are using some parts. Some of them are using the wall the wall beats So we can name a pack stack Stay puffed audio director Marion T fuel Spina stack The former product from in events and maybe some others we don't know But this is a this is a good example of product that are using the puppet modules For the for the custom puppet composition So like I said before it requires some good understanding of puppets So if you come up on IRC and ask hey come up, how can I use the puppet novel module? You will need to have a good knowledge about how to read puppet manifest before Trying to do to deploy the Nova service You will also need to figure out if you want a puppet master or not If you want to use Yara to drive the data in puppets or not, this is a usually a good practice and The modules today, I think they have no limits and you can contribute if you think that it's missing something And if you think that we still need to bring a new feature at the end of this talk We will explain how the community works and how you can contribute. It's not that difficult and So we will go deep in that topic later I would like to say thank you because this is a picture that come from Saturday This is statistics about who is using puppets today in the open stack ecosystem and We are reaching almost 70% if you count the other product that are using puppets so I think this is a proof that people are using puppets to deploy open stack and As far I know today, this is the reference to deploy open stack in production So, thank you very much and Thanks So I'm gonna let continue with Mike. Thanks Hi, so just want to kind of talk through the the use case that go daddy for How we deploy open stack with puppet we we have a pretty large internal only private cloud So we use it primarily as a platform to deploy other products and services at our company We also use it a lot for dev tests So all the development teams in the company use it for their their dev test purposes as well kind of from our some of our big goals when going to open stack is just to gain some Efficiencies and just take advantage of it so that we can innovate faster within the company. So so, you know Fundamentally it's making everything self-service You know eliminating humans from the process getting tickets out of the way Just having everything being self-service and kind of automated. That's a huge thing. It's allowed us to do To do POC is a lot quicker to get new products to market a lot faster We just really have streamlined the whole server provisioning process for our dev and product teams within the company Another benefit that we've seen is just hardware utilization. So Prior to open stack a lot of our applications a lot of our products just ran on bare metal, you know, you'd As a dev team you'd have budget for your production environment So you'd go buy five servers or ten servers or whatever the open the data center would put them in for you And then there you go And we saw a lot of cases where the hardware utilization on those so, you know CPU RAM wise would be super low I mean, I think the average across our whole company on Strictly bare metal was something like eight percent or something ridiculous So by being able to virtualize all this stuff and wrap around all these other tools To kind of get to this cloud-based infrastructure has really helped us there as well But really the huge thing for us is just leveraging that power of the community, you know, we've got I don't know something like 5,000 contributors to open stack now and it's just Not something that we could do on our own, you know internally So that's been a huge win that we've seen as well We have multiple data centers around the world a few different regions me We have a few different open-stack regions. So You know, we're running these things fairly significantly across our infrastructure We're already a pretty big puppet user within GoDaddy. We have been for a long time It drives the config management for most of our products across the company I heard a quote one time somebody said, you know, the best configuration management tool is the one that you're already using We think about the amount effort that it would take to convert You know to Ansible or Chef or choose your you know, your favorite one That's a lot of effort and we already had a lot of knowledge a lot of experience with Huppet in-house So then we just continued on with that for the the open-stack deployment We use the modules from the open-stack puppet project to manage each of the open-stack services and then Again like Emilian mentioned we We've built our own composition layer around all this We're already gonna need to do that anyway, so it was a good fit to just drop in the open-stack puppet modules for our use as well We use this roll profile model for Our composition layer basically what that is is every server in the catalog is is defined Is assigned a roll so we have an app server role a pod server role Which is like like a network server and then a compute node role as well as We differentiate between our API cell and our compute cell apps The role defines which profiles go on to that machine So the profiles would be like Nova compute or a glance API or neutron server And that's how we define what goes on the machines We use high risk Extensively that's actually how we do that role assignment is through hyra. There's a tool called hyra e ammo which allows us to encrypt the different Credentials and other secret information that we've got a store in the config so that that's not just floating out there in clear text In addition to deploying the open-stack pieces we use puppeted to configure everything else on the box as well, too So it's kind of an end-to-end solution for us We have this notion of a world which for us is what differentiates between Like the dev environment test stage and then the different regions in production. So that's kind of our top-level config cataract is Catered Categorization And how we define what goes on all the box another thing to notice we we use quite a few of the future parser features that which is now What the puppet 4.0 language is there's a bunch of little things in there that we took advantage of so we were always on a fairly Later version of puppet I'm not going to talk to this as a hyra structure if there's more questions on roles profiles on that stuff We can talk about it later or you can look at it Online if you wish So I mentioned we use a bunch of the open-stack puppet modules to manage the individual open-stack services So that's that list there then of course we've got a bunch of other modules that we pull in from the forge You know the standard lib one ha proxy Apache all kind of a lot of the standard ones that you would normally need anyway Then we've got a few that are just custom to us that deal with integrating with some of our internal systems That aren't really useful to anybody outside. So those are all just inside We have an internal enterprise github and we just do We pull in from the upstream repos kind of as an odd-needed basis and push them into our internal repo and That's what that's where we deploy from we deploy from our our internal github. I Mentioned that we are using a lot of the future parser stuff The the internal puppet master infrastructure that we have in the company was on on version That was too old for some of the things that we needed to do So that kind of drove a decision to go with masterless puppet So we We use the r10k tool to get all the modules on the right versions and all that kind of thing Locally on the machines and then we literally just do a puppet apply to apply the config on all the machines puppet Doesn't do our great great job at multi node orchestration type stuff. So we have some very basic Ansible playbooks that we use to kick off these masterless puppet runs and all the machines That's how we do our our deployments and manage them across all the machines We'd really like to get to this place where you know We have a full CICD pipeline where anytime somebody does a commit it kicks off all the tests and then when those pass it deploys the dev and all these other gates and automatic deployments and We've we're just not there yet, but it's definitely You know a place that we're kind of driving towards and we want to get to Some of the recommendations that I would have for best practices are just like don't fork anything like really do whatever you can to not do it When we first started this a year or so ago, we were in a really bad situation like we not only forked but The way we imported the modules from upstream is like we did a git clone and then we just like copied the files Over to our internal repo and then push that up. So we didn't even have common histories. I mean it was a Horrible mistake. It's very difficult to get out of that place Not only to get out of it Much less like bring in the newest stuff from upstream So do whatever you can to not do that if you absolutely have to like there's a feature that you need that you have to implement yourself Do it on a local branch and then you know go through the review process that Amelia You'll talk about later to bring it back upstream. So not only can other people take advantage of it But then you get off of your local fork much more quickly and it's like it's a much better place to be in if you can avoid those forks couple other things You know trying to keep the composition module pretty simple That those things have a tendency to get really complicated and a lot of Little weird dependencies and conditionals in them because you're like Oh, I just need this one little exception for this guy over here So and all that stuff adds up over time and it quickly becomes a mess and it's difficult to read and understand what it's doing So a couple ways that you can do this are That I found is to try to do the profile classes as granularly as you can So you can imagine if you have a single let's say you have a single Nova profile class Well, Nova really has a bunch of different components to it. You know, there's Nova compute There's Nova API conductor scheduler and maybe on day one you have all those on the same box And when you say this is a Nova box, it gets all that stuff But you might get to a point later on where some of that gets split out and you now need to have Nova compute just on the hypervisors and everything else on the you know on the API machines and now You have the single monolithic profile class And now you're doing like all these weird conditionals to get it to do the right thing in the right places Whereas if you create a profile class for Nova API one for Nova compute one for Nova scheduler you have them all split out to begin with and it's very easy to distribute that stuff out later and another kind of You mantra is you know, you shouldn't you shouldn't have to run puppet multiple times to get it to get Your things into the final state that they're supposed to be in Anybody that's actually use puppet for any amount of time realizes that that's like that's much easier said than done But that's definitely something that you should you should strive for and to not Not specifically make decisions in the manifest like well We can just run puppet twice to get this done like you should really try to do it clean from the beginning to make it You know one run and everything gets to the state that it needs to be in without having to do it multiple times So I'll hand it over to Matt talk about his use case Okay Matt Fisher again from Time Warner Cable and you're notice a lot of similarities between The things we do and the thing Mike the things Mike does what's interesting is we kind of came to them independently So at least that proves to me in my head that it was a really smart thing to do Mike's really smart guy So You know, we have a similar use case to Mike We run a multiple data center private cloud for internal use we do things like website hosting CICD Video content we even host a reverse 9-1-1 system on there and a pretty typical reasons To run OpenStack that everyone else usually has speed self-service and innovation You stuff to wait weeks for VM Then you have to wait more weeks for an IP address and then more weeks for the security team to create you fire law access OpenStack solves this for us and a team had recently told us they got more done in three days with OpenStack Than they had in the past six months, which was pretty cool The other thing is you know OpenStack is a great platform It's easy to add on services that you want right now. We're working on adding designate in Elbas And so that's also just part of the innovation OpenStack provides With new services. I'm open sex getting better every cycle as everybody knows Faster more reliable easier to easier to use Okay, so open everyone knows why OpenStack, but why puppet of our division had some previous experience with puppet our team really did not but in our division it was it was used and Highly regarded so we kind of started with that also when we first set up our open-sack environment We worked with Cisco and Cisco kind of showed us this tool called puppet open-sack builder And we use that to stand up a lot of our proof-of-concept stuff and then our composition layer kind of grew out of that basically Vendor locks a no-no for us. So Not wanting to use an open-stack distro doesn't eliminate some of the tools that are available Finally that the puppet community in open-stack is great when I started this I actually hadn't used puppet at all and The community was really helpful answering questions through email or IRC and taking patches and and It was great Okay, so our composition layer. It's it's similar to what Mike said we use the roles and profiles pattern This is what everybody should use and they should go read Dan's book about this And so what example is we have a control role and a control node consists of Nova API neutron cinder my sequel, etc. We try to break those down Small like Mike had mentioned we don't always do the best job of it. It's kind of on an as-needed basis We did exactly have one nova profile that we had to split into a compute profile and an API profile So that's a perfect sample Mike gave Regardless of the type or role all nodes get a base profile, which gives you basic things that you need SSH keys NTP servers things like that This way when we're developing puppet modules for new things like Swift those nodes come in and they're sort of least minimally Available without someone having to manually copy SSH keys over The other thing the composition layer does Emelian kind of alluded to this this is where you define your architecture We run keystone and horizon on top of a global cross-data center Galera cluster and horizon actually runs on what we consider a keystone node so our keystone role includes this global Galera profile and a horizon profile and You know the puppet open-stack modules do not define that you run horizon on top of keystone That's a decision. We made that the composition layer does for us Another thing Mike mentioned ours has gotten large and complex We have over 1200 commits and over 5,000 lines of puppet code in our composition layer But to be fair this layer we also this module I should say we also use to manage our infrastructure So all our CI CD tooling our VPN servers Those are all profiles as well. So it's not all open-stack Okay, so I've discussed using roles and profiles Mike showed you a kind of higher a diagram We do things a slightly different way the question is when I when I install a box How do I decide is it a keystone node or or a sep node or a swift node? We actually do this through host names. So give you an example YBR 1 keystone 0 2 YBR is the airport code for Vancouver We use sort of a geographic thing. It's called a silly code if you're familiar with the telecom term and This host name defines not only what type of node this is but is it production or or staging or dev? So, how do we do that? I'll go through real quick The first piece is the site iteration We have the idea when we started that you might have more than one cloud in data center So in this instance, it's cloud. It's oh one. It's the first stand-up. We've done The second piece the middle. That's the role. We basically just parse this we see the middle It gets the it magically gets that role and gets all the profiles associated with it the final piece This is just because you want to have unique host names. It doesn't really mean anything for the most part There are a couple things we only do on node one or node three like you don't need to run my sequel back up on Every single node. I think we only run it on node three To go back to the first part site iteration does actually use Hyra We have a hyra file for YBR 1 and we use echelons might call them worlds but why VR 1 will basically say why VR 1 is is prod and Splitting the stuff out and Hyra is great In prod you want to get page or duty alerts three in the morning and dev You do not want to get page review alerts at three in the morning So having that split and having the concept of prod dev staging is important to us Okay, and in addition to the open-sec modules We use over 70 total. We have tons of modules SSH VPN We do like Ubuntu repo mirroring. That's a couple modules things like that We have a local github and we also use some things from github.com. We have a very strong I'm not sure the right word, but we have a very strong thing where we do not fork We'll basically make a change and immediately do a pull request or submission upstream and then the minute It's merged we pull the fork back if we can actually wait a week and just wait for the pull request to come in We'll do that Getting forked off. We did in the past with with puppet neutron We ended up getting like eight months behind and getting back to it is it was miserable Also, we have four major custom modules that I want to talk about and sort of five smaller ones And I'm not going to go into detail the first ones and I sing a module The single modules actually pretty complicated The tests you do are based on roles a keystone node has a certain set of tests and a compute note Has a certain set of tests so we actually have our its own roles and profiles in this module We use exported resources to manage these I sing a test We also have a HA proxy composition module that basically manages all the HA proxy config We have an internal info module that handles some of the info pieces like Jenkins jobs Finally we have a custom keystone module. This is not to deploy keystone It's to use keystone. We have a higher a hash of a bunch of users roles Intendance that anytime we stand up in environment dev whatever we want these predefined users like the I sing a user It also handles things like a token expiration job We're using the UUID token so we'll eventually get be able to get rid of that when we switch to for net So how do we do deployments? I'll just read through the slide and you can kind of see this is this is the outer layer going in We manage deployments with Jenkins We orchestrate them with Ansible we deploy code with our 10k and Puppet actually does the real work So starting with Jenkins when we go do a deployment you sign into Jenkins press a button and the deployment goes We use Jenkins because it gives us access control. It gives us a shared console when we can see something goes wrong It actually post updates to hipchat for us And we have a history where we can go back two weeks and see what happened two weeks ago in the deployment With all that fancy stuff Jenkins is really just running an Ansible job The Ansible is our multi-node orchestration layer. I learned pretty quickly why you might need this We did a deploy. This is before production. We were using something called M. Collective and M. Collective will run puppet one node at a time But I was way too impatient for that So I told him collective just go run puppet everywhere at the same time because I'm bored and I'm tired of watching this So what I found out was that code change that day had changed my sequel and changed Galera config And the glare cluster when you restart all the nodes at the same time does not come back So I spent the rest of that day reading up on Galera and Getting the cluster back up and running and then that's kind of our lesson like we really need to solve this problem So we use Ansible to enforce an ordering So Ansible says if you have a nodes in a cluster such as our keystone nodes You can only run them one at a time In addition to that Ansible will run a pre and post puppet run check to check to make sure the cluster is healthy the nodes healthy So for Galera, it's it's a simple Galera check the idea being if we break the Galera cluster We want to know on the first node. We don't want to know when we're done with the deploy We can recover from one node dying. We can't recover from everything I mentioned our 10k we used to use librarian puppet, but our 10k is actually what checks out all the modules It's faster. It has better support and we're pretty happy with it So all these are these little layers, but really puppets doing all the real work puppets What's installing packages creating users setting up services configuring everything if you boil this down Ansible is kind of really just running puppet agents and collecting logs Okay, so my best practices a lot of these are the same as mics use higher to separate config and code and use the Automatic data binding when you can you will You will think this is I only want this value set this way so I can put it in the manifest You're gonna find that that value is different in an east data center than a west. It's different in dev and staging It's different than net on the next iteration of OpenStack than it was before This is just a pretty basic puppet practice that I recommend everyone doing Our hyra EMO we have SSH keys we have SSL certs those should be encrypted if you're gonna check them in to get Code reviews is something we're really big on Everyone will talk about infrastructure as code, but not many people actually review it. We review everything We review Jenkins jobs Ansible Puppet code hyra everything goes through review and a pre and post-merge test We use Garrett we run our own Garrett server The question was how do you review? Have regular and frequent deployments our whole team will test the longer you wait between deployments the more problems You're gonna have Everything just gets bloated and impossible to test and you have a huge mess of three weeks where the code change is going at once Right now. We typically do these big weeklies once a week I think I'd like to get us doing them more often than once a week. So they're less scary I'll finally participate in the community This is a really great community. I think it's easier and friendlier to get a patch in here than anywhere else probably And participating has really allowed us to sort of set direction and and have discussions and participate And make sure things are going the way we want All right, Mike, so a lot of this will be kind of repeat But we wanted to kind of coalesce down Between Matt and I kind of our you know best practice recommendations what to do pretty much already covered this stuff You know it kind of goes without saying that last bullet there It basically means like you're not going to solve all this stuff on day one like you're going to start with somewhere and Then just plan on iterating it to make it better gradually You know you're going to learn more about the best ways to do things for you and you know Just plan on kind of iterating and making things better But we wanted to talk through some of the challenges and just some other points to think about to Using public to deploy open stack so One of them that you should think about is whether you want to track the master branch within the public modules versus the stable branches So you know kind of typical Trade off their master gives you newer features sooner But it has the potential to break you versus stable branches a little bit slower to get new features But you know by definition it's going to be stable. So something to think about there And we've both got internal github enterprise systems that are you know very handy to be able to pull down stuff from upstream and push into there So if that's something that you've got you may want to do that or if you're comfortable just pulling directly like from github.com You know that that works too. So Kind of another upfront decision you should think about when getting started with this and Kind of related to that is what's going to be your method for keeping up with the upstream module changes So I think I think Matt you guys pull down every day or something Yeah, so they they do it roughly weekly we kind of just do it as an ad hoc as needed Manual type basis. So something to think about there If there's a lot of stuff from upstream that you want to stay in sync with you know You might need to have some system in place for that Another challenge that I think we've both seen is just being able to find folks at the skill the skill sets I mean, I think we all know like, you know knowledge of open-stack experience with that is pretty valuable To employers as well as people that know puppet real well and and can do that and finding somebody that has both of those You know is in the middle of that Venn diagram is is challenging Not only to find them but you know to hire them away from the five other places that would like them to work there as well So just just some other points to think about there Now our esteemed PTL will tell you a little bit more how you can get involved in the community and help contribute Thanks Mike So I will finish that that talk with how if you want to push up some contribution to the community so Like I think we already all understand the benefits of using the three modules comparing to forks or custom modules You have the feedback from the other people that deploy open-stack on the infrastructure So you take the advantage the advantage of using the work from others Also, we we have a I mean we try and we are working hard on this to have an extensive gate tasting right now So that means that if you push some patch on the modules We will actually deploy open-stack and try to validate that your patch doesn't break anything For example, we are using triple or jobs today to deploy open-stack modules So this is a good use case in the in the public upstream and also Getting involved in the community is fine if you want to bring some features that you need for your enterprise You need in you need upstream so That's that's a good example if you need the ATC patch you can you can push a patch also So how do we work together? We just use the open-stack workflow So I'm done.  So this is a kind of contribution that we like So when you submit a patch, it just not to add some puppet code It's it's only to have some unique testing functional testing documentation Good commit message if you find a bug, please use the launchpad to find the bug and explain what you are doing in the commit message of course, we are using the Puppet conventions for syntax and lint and we try to we try to have to respect some conventions across all the modules of course We we maintain the backward compatibility if you drop parameters or if you change the default value of Something we don't use to break master for a new feature. So It's quite safe today. We have the backward compatibility policy that we make sure to keep and Of course, if you want to bring a new feature that requires some discussion You should create a blueprint and discuss with us on the mailing list on on ARC usually So that kind of contribution, we don't like much if you try to solve packaging issues with puppets Or if you try to create some users in groups If you put the wrong default values that are in OpenStack and you try to change them in puppets If you don't write a commit message and so we don't know what you are doing And of course if you if you write the test in a wrong way, we try to explain on Garrett how we like it So I have one minute to explain why we move we move under the big tense We truly think that moving under the big tense will Will help us to get more contributors more consistency across the other open stack projects We will also use the OpenStack ecosystem like the infrastructure CI This is all about adoptions today. So we try to get more adoption from all the people that deploy OpenStack So if you want to join us, you can feel free and join on on ARC. We have a channel for that We have we use the OpenStack Dev mailing list. We have also tomorrow all the day You are welcome to join us for the Collaboration day we have a full room for puppets and on Wednesday morning, of course, we will be here for the obsession So feel free to join us. We are welcome and we'll be pleased to talk about puppet modules. Thanks everyone


One of the central ideas in classical number theory is what's called a figurant number. And this idea goes back to the Greeks, for whom number was a collection of units. What's a unit? Well, a unit is any object, and we can have a collection of objects. But at some point, we'll have so many objects that we'll want to find some way of classifying and organizing these objects. And one thing we might do, because we are human, and we have a liking for things that look neat, is to classify our collections of objects by how we can arrange the items in the collection. So one of the possibilities is we might take our collection of units and arrange them in, how about a straight line? But the problem is this can be done with every collection of units, and so something we can do with everything is not a good way of classifying things. However, a good habit to get into as a mathematician and as a human being is to ask yourself, well, even though this might not be useful, does it tell us something useful? And for that, let's consider this. So here we have our jumbled collection of units, which is a number. And then we took these units and arranged them in a straight line and we formed a number. And these are two numbers, but they're the same number. And so the observation that we might make here is that a number doesn't change based on how it's presented. And so this suggests that one of the things we might do is to see how we can arrange a collection of units. Now there's not a whole lot we can do with one unit, and not a lot more that we can do with two units. But if I have three units, I can arrange them as a triangle, or maybe a slightly different triangle, or maybe yet another triangle. And now here's an important thing. I've arranged three triangles, this one, this one, and this one. And the question is, are they different or are they the same? And the first triangle has sides of two, two, and two. The second triangle also has sides of two, two, and two. And so does the third. And so one of the things we know from geometry is that once you specify the length of three sides of a triangle, you have uniquely defined the triangle. So in the geometric sense, all three of these triangles are the same triangle. Well, so that means that we can focus on the length of the sides of the triangles rather than the actual shapes of the triangles. So let's take a look at that. So here's a couple of triangles. So I'll take a triangle with sides two, two, and five. I'll take another triangle with lengths three, four, and five. And I'll take another triangle with sides of two, two, and two. And one of the things you might start to suspect is that I can take any number and form a triangle. Well, again, once we try to classify things, having a classification that applies to everything is not useful. If I can take any number and make a triangle, then making a triangle is not something interesting. So what we have to do is we have to limit what our possibilities are. And that allows us to expand our possibilities. Well, here's a nice limitation that we might impose. These triangles have different side lengths. So let's make a requirement that our triangles, whatever we form, have to have the same number of units along each side. And if we can do that, then we form the first few triangular numbers. So first of all, I might try to form a triangle where each side has one unit along a side. Not entirely sure how to produce that, so maybe we'll wait a moment on that. I'll take a triangle where each side has length two. So here, length two, length two, length two. And then I'll form my next triangle where each side has length three. So here is three, three, and three. And there is a pattern here that suggests our first triangular number looks like this. Now you might object that that doesn't really look like much of a triangle. And so you can take two viewpoints. You can either look at this and say, sure, if I try to find the length of all three sides of this thing, every side has length one, so this is a triangle where every side has length one. The other thing you might do is you might look at this as the extension of a pattern. I have a triangle of side three. I have a triangle of side two. The extension down to a triangle of side one has to look something like this. Well, the downward extension is a little easy. The upward extension starts to get a little bit more complicated. And the problem is that there's two possibilities for the triangle with four units along each side. So I might draw my triangular number like this. So this might be a triangle where each side has four units. But you'll notice that if you do this, there is this space in the middle that doesn't have a thing in it. So maybe another way of drawing a triangle with four units along each side looks like this. Again, four units on each side, but then something fills into the middle. And so here's the important question. I want to define what triangular numbers are, but I have to decide which of these two things will be the fourth triangular number. And then once we decide that, we will have established a rule that tells us what the next triangular numbers are going to be. And to some extent, mathematics is the science of patterns. And so the idea that we might want to look at is, can I consider the triangular numbers as part of a larger pattern? To answer that question, we'll want to do a little bit of analysis of numbers. So one possibility for our triangular numbers are possibility A. I have the first four triangular numbers 1, 3, 6, and 1, 2, 3, 4, 5, 6, 7, 8, 9. So there's my first four triangular numbers if we use this as our fourth triangular numbers. And we have a second possibility I might use instead the other possibility B. And my triangular numbers are going to be 1, 3, 6, and 10. Now here's an important thing to recognize. Both of these sequences start out the same way. 1, 3, 6, 1, 3, 6. They both start the same way, but how they continue is very different. And as a general rule, if I only give you the first few terms of a sequence, I can't insist that you come to a particular conclusion regarding what the next term is. It's possible for any sequence to be continued in an infinite number of ways. Ideally, we'd like that sequence to be continued in what is a quote-unquote logical manner. But what is logical to one person might not be logical to the other. And the best we can do is to construct a sequence in a rational manner, which is to say I can give a reason for choosing the next term the way that I did. So let's consider that. In our first sequence, our numbers were 1, 3, 6, and 9. And I can say that every number in this sequence, well, except for the first number, is a multiple of 3. And that, except for the first, is a little bit troublesome. Well, let's take a look at our second sequence. Our second sequence is 1, 3, 6, and 10. And here, the pattern is a little bit less obvious, but if I dig down deeper, I can say that every number, including the first, is the sum of the first few whole numbers. So 1 is equal to 1. 3 is 1 plus 2. 6 is 1 plus 2 plus 3. 10 is 1 plus 2 plus 3 plus 4. And it seems that this is a better sequence because there's no exceptions. And there's a clearly defined rule for how to obtain the terms of the sequence. And so we like this rule. And so we're going to use this to define our triangular numbers. The sum of the first and natural numbers forms the nth triangular number.


Dude, didn't she used to love eggs? Yes, I used to love eggs. It was the only thing that I ate that was not plants. But then I dug a little deeper and I saw what the egg industry does. It's so crazy. The male chicks, the little babies that are hatched, they have no use for them. So they kill them immediately. Like they grind them up immediately when they're born. And then also these chicks live in these tiny cages.  It's so terrible. And then after two years of laying eggs and they can't lay eggs anymore, it's curtains for them. They just take them away. They turn them into rotisserie chickens, even though they could live like 18 years. So it breaks my heart when I think about these eggs and I think about these chickens and their lifestyle and their suffering. And I used to love omelets and they're so good, but I just cannot anymore. The taste and the joy from that food, from it doesn't outweigh the cost of what it is. So no, I don't like eggs anymore.


What is the secret sauce for winning at Cannes because this year has not been as sensational as last year. So, what, what did, where did you go wrong and where do you think you still have hopes? Look, I wouldn't say that this year has not been as successful because we've come out already with two Grand Prix's and it's only two days in, so I think it's been a very successful year. I mean, from India perspective. Only for India? Yeah. Look, look, India, we still have a chance. We've still got three particular campaigns that are up for medal and one of them is actually one of bronze already. So I would say it's already successful because winning a bronze is incredibly hard in Cannes. Okay. I don't think anyone can forget that. I think when you raise the bar and you say that you've achieved a Grand Prix, that is once in a lifetime. But even a bronze is actually once in a lifetime for any creative agency. So I don't think that we can in any, any, any way dilute the importance of that. I think it's critical for everyone to understand that even a bronze is incredibly difficult to achieve.