He's so good. Let's open our Bibles to Matthew's gospel. We're going to spend a few moments today looking at chapter 28 We're going to be looking at obviously the resurrection of the Lord Jesus Christ. I am so happy to be home I'm so happy to have you guys with us today I really am you can't imagine how last year it was so difficult for us and And and all on Easter to not be able to celebrate with our our friends and family and so again I love you guys. It's so it's so good to see you praise the Lord that you're back and I hope you come back next week Okay, so beginning At verse 1 Matthew chapter 28 verses 1 through 8 now after the Sabbath as the first day of the week began to dawn Mary Madeline and the other Mary came to see the tomb Behold there was a great earthquake for an angel of the Lord descended from heaven and came and rolled back the stone from the door And sat on it his countenance was like lightning his clothing as white as snow And the guards shook for fear of him and became like dead men But the angel answered and said to the women do not be afraid for I know that you seek Jesus who was crucified He's not here for he has risen as he said Come see the place where the Lord lay and go quickly and tell his disciples that he has risen from the dead And indeed he's going before you into Galilee there. You will see him. Behold. I have told you So they went out quickly from the tomb with fear and great joy and ran to bring his disciples word so we're Gathering today to celebrate the cornerstone of our faith we're gathering to celebrate the resurrection You know as Christians we generally celebrate two basic important holidays one of those holidays obviously is Christmas and Christmas is a very important holiday to us because it's a recognition of the birth of Jesus Christ Though Christmas is important It's not the most important holiday that we Celebrate the holiday that's most important to us believers will always be Easter now. Why would that be true? Well, someone said Easter is important because Christianity revolves around the death and resurrection of Jesus Christ If Jesus did not die for our sins or if Jesus did not rise again after three days Then the entire hope of Christianity is based upon nothing but a lie Christianity would be meaningless because our sins would not be forgiven And that's what Paul said in 1st Corinthians 15 verse 14 when he said if Christ is not risen our preaching is empty Your faith is also empty He went on in verse 17 of 1st Corinthians 15 to say if Christ is not risen your faith is futile and you are still in Your sins so we celebrate Easter because it's the fulfillment of God's promise that he would rescue us All the way back in the beginning the book of Genesis in chapter 3 verse 15 God had promised that Messiah would crush the head of the serpent and the serpent would bruise his heel Well, that happened at the cross when Jesus died and that happened when Jesus was later resurrected So Easter fulfills the prophecies that were given concerning what Messiah would do when you look in the Old Testament book of Isaiah written over 700 years before Christ Isaiah the prophet at prophesied concerning Messiah And Isaiah 53 verses 2 through 6. This is what he wrote He grew up before him like a tender shoot and like a root out of dry ground He had no beauty or majesty to attract us to him nothing in his appearance that we should desire him He was despised rejected by mankind a man of suffering familiar with with pain Like one from whom people hide their faces. He was despised and we held him in low esteem Surely he has surely he took up our pain and bore our suffering yet We considered him punished by God stricken by him and afflicted, but he was pierced for our transgressions He was crushed for our iniquities the punishment that brought us peace was on him and by his wounds We are healed. We all like sheep have gone astray each one has turned to our own way The Lord has laid on him the iniquity of us all You see in the Garden of Eden Adam and Eve took of that forbidden fruit God said that in the day that they ate of it They would surely die But in their disobedience to God sin entered into the world and through sin death itself Paul wrote in Romans 5 12 Therefore just as sin entered the world through one man death through sin in this way death came to all people because all sin Adam is called theologically the federal head of mankind. So his nature was given to us He had a fallen nature. We have inherited and so he sinned and that nature has been passed to his descendants That's why Paul in Romans 3 10 would say there's none righteous. No, not one That's why Romans 3 23 would say I'll have sinned and fall short of the glory of God and again in the Old Testament book of Ecclesiastes chapter 7 verse 20 The writer said there's not a just man on earth who does good and does not sin. All of us are sinners by nature And because the wages of sin is death Jesus took upon himself human flesh and died on our behalf He said in Matthew 2028 He the Son of man did not come to be served but to serve and to give his life a ransom for many So in order to point towards the work of Messiah God established festivals in the nation of Israel One of those festivals is Passover. It's a time to remember Israel's deliverance from the nation of Egypt and and their bondage At that time sacrificial lambs of slain intending to point to the work of Jesus Messiah And that's why in John 129 John the Baptist called Jesus the Lamb of God who takes away the sin of the world Peter later on in 1st Peter 1 18 and 19 would say you know that it was not with perishable things such as silver or gold That you were redeemed from the empty way of life handed down to you from your forefathers But with the precious blood of Christ a lamb without blemish or defect So at that festival it was at that festival that Jesus voluntarily gave up his life on the cross and he did so Voluntarily he wasn't forced to do that. He did it of his own will in John 10 17 and 18 He said my father loves me because I laid down my life that I might take it again No one takes it from me I lay it down and I have power to take it again and this command I've received from my father So from the beginning of his ministry To its completion Jesus had made it clear that he would die All the way back in John chapter 2 verse 19 in the first cleansing of the temple Jesus said destroyed this temple in three days. I will raise it up and John later said he spoke of the temple of his body Throughout his ministry to his men. He made it clear. I'm going to die But I will resurrect We look in Matthew's gospel and see several instances where he said that in Matthew 16 21 He records from that time Jesus began to show his disciples that he must go to Jerusalem Suffer many things from the elders and chief priests and scribes and be killed and be raised Again the third day Matthew 17 22 and 23 Jesus said the son of man is going to be betrayed into the hands of men They will kill him and on the third day He will be raised to life and again in Matthew chapter 20 verses 17 through 19 As Jesus was going up to Jerusalem He took the 12 disciples aside said to them we're going to Jerusalem the son of man will be betrayed to the chief priests and the teachers of the law They will condemn him to death and will turn him over to the Gentiles to be mocked and flogged and crucified On the third day. He will be raised to life So that has been completed Jesus at this point has been betrayed And Jesus has gone to the cross And Jesus has died It is now the first day of the week He's been crucified He's died And he's been buried And all of this had occurred on Friday But it is now Sunday It says in verse one after the Sabbath as the first day of the week began to dawn It's Sunday morning Sabbath has come And Sabbath has gone Women got up early. They made the way to the tomb Matthew gives us the names of two of the women, but Mark gives us more information In Mark's gospel in chapter 16 He said when the Sabbath was over Mary Madeleine, Mary the mother of James and Salome Bought spices so that they might go to anoint Jesus's body Very early on the first day of the week just after sunrise. They were on their way to the tomb You see according to the Jewish method of calculation three days have passed The Jews considered reference to a day as meaning any part of that day And Jesus was buried on Friday afternoon His body was in the tomb all of Saturday and into Sunday morning for three days He had prepared his disciples for what was going to occur But as is common the disciples did not fully understand what he had said to them One of the things you might want to remember It's a great blessing for us to remember is most lessons that God gives to us Are repeated often very often over our lifetime He gives us a lesson we learn a bit of it gives us a second lesson the same kind of lesson We learn more and more and over time we actually grow to understand his ways And I'm thankful that God doesn't say things just one time, but he reminds me often And here in verse one the women have come to the tomb early. They're there to complete the burial There were two men Joseph and Nicodemus and they had lavishly buried Jesus But for these women that wasn't enough And so what this is is a picture of loving devotion, but it's also a picture of unbelief They may have followed him as he carried his cross They remained throughout his crucifixion and his death In John 19 25 it says they're stood by the cross of Jesus his mother his mother's sister Mary the wife of clampus and Mary Madeline So they had been with Joseph they had been with Nicodemus when Jesus was buried And they've returned in order to complete the burial process And as they walk They're dealing with the concern Mark 16 3 says they asked who will roll the stone away from the entrance of the tomb You see the stone was very heavy. It weighed between four and six thousand pounds It's a wheel on an incline and It would be rolled down the incline and lodge into a section that had been carved out It wouldn't have been possible for the women to move the stone alone Now that is a touching picture But in reality, it's an activity that's rooted in unbelief because they're expecting to find a dead body The dead body of Jesus in a tomb Again as it's so often They were concerned about something unnecessarily They didn't have to move the stone The stone had already been moved But under the duress of incredible grief They forgot what Jesus had said he had consistently told them this is going to happen, but they forgot Again, many of the lessons the Lord intends to teach require repetition The theoretical and intellectual is intended to become the experiential And so the stone according to verse two was moved and the tomb is open A earthquake occurred when an angel had Descended from heaven and the angel had rolled back the stone from the door and sat on it Verse three tells us that his countenance was like lightning his clothing as white as snow So it's a picture of radiance. It's a picture of purity It's a picture of holiness and when this happened verse four the guards shook for fear of him They became it says like dead men It's interesting that the word in verse four shook Is a word that is what is called the same root word As the word earthquake they were shaking as if they were in an earthquake Even though there was that wasn't an earthquake and these men by the way One commentator pointed out about these men here these soldiers. They were 16 commandos They made up what would be called a security unit. They were roams if you will delta force These were not guys who were just hanging around with potbellies These were guys who were they were the baddest of the bad And they were very skilled as they were skilled in warfare But they were no match for just one of god's angels And so when they saw him they became afraid they shook for fear and became like dead men They fainted dead away But verse five the angel answered and said to the women Do not be afraid For I know that you seek Jesus who was crucified Now they didn't express fear it doesn't say here in the in the in the text that they showed fear But the angel knew that they were afraid at the side of the glory They would cause them to tremble and so he has to calm the women down. He has to soothe them They're startled. They need comforting The guards had every reason to be afraid but the women he says you don't need to fear Because you're not enemies of Jesus. You're his friends. You're his followers. And so he says in verse five. I know that you seek Jesus Now again, they obviously thought Jesus's body would still be in the tomb In luke 24 verse 5 luke gives us more insight It says in their fright the women bowed down with their faces to the ground But the men said to them, why do you look for the living among the dead? Luke speaks of two angels. That's why he says the men they had the appearance of men and that's why he said that And then he goes on in verse six to say this He's not here For he's risen notice as he said In mark 16 verse 6 it reads don't be alarmed. You're looking for Jesus the Nazarene who was crucified. He's risen. He's not here See the place where they laid him So here you go. How does he comfort them? Word is my comfort come from word is yours come from many people's comfort come from various sources But our comfort is to come from the word of god What comforts me what strengthens me isn't the cheerful words of encouragement Friends might give to me and I appreciate every cheerful word of encouragement that I receive. I'm very grateful for it But but uh, you're going to make it or you know Stiff upper lip and all of that said that doesn't comfort me. It's going to be okay That doesn't come from me what has comforted me in my times of trials and the times of fears that I've had It's always been the word of god It's always been what god has said and that's what he's doing He's comforting them by god's word one of the worst things that we can get into the habit of is not reading god's word and a lot of believers unfortunately have have Departed from the reading of the word of god.  It gives you strength. It gives you guidance. It gives you it builds your faith It nourishes your soul and it gives you comfort and peace in times of struggle and trial And so we need to hold fast to the word of god and he says that he's risen as he said In luke 24 6 through 8 it says he's not here. He has risen Remember how he told you while he was still with you in galilee The son of man must be delivered into the hands of sinful men be crucified and on the third day be raised again Then they remembered his words There are times when I have had difficult times So many I've been following the lord for a long time And and where has my strength come from it has come from god's word It's come from reading the word And and looking at his promises. I will never leave you nor forsake you. I will be with you always I will provide strength for you. I will bring you comfort. I I'm with you. I raise you up I will hold you fast There are so many things the lord has said over over time and it comes to his word because I can trust god I can trust what he has to say In numbers 23 19 the bible says god is not a man that he should lie Nor a son of man that he should change his mind Does he speak and they're not act Does he promise and not fulfill? And so the bible is telling us he's alive He is alive. He has risen I remember I've said this before but it comes to mind even as I see this, you know this passage I remember How one time when we were in israel and my daughter ana at that time was I think seven years old Some of you will remember this story, but it's imprinted in my heart that we went to the the tomb the historic site of where Jesus Had been laid and and we went into the tomb and as we went into the tomb My daughter my little girl was the last one to go in my ana she was seven and As she was standing there waiting I my wife and I Stepped away and gave her her private time to walk into the tomb. I'll never forget How my little girl went in for a minute and then she came out and when she came out She had her arms raised like this and she's only seven she raised her arms and she yelled out He's not here. He's not here and we all cheered. Yeah, because he's alive. He has risen He is no longer in the tomb. He's our savior and he made the promise and he kept it Now there's a fly here grabbing me and I'm going to have to take his wings off. I hope you guys don't mind So it says in verse 6 come see the place where the Lord lay I want to I want to develop this with you for a moment Come see the place Where the Lord lay Come and see Where the Lord of glory was But remember He's not here This is an invitation It's an invitation for them to come And see that Jesus Is who he is Jesus is who he said He is The women are not only being invited to come and see an empty tomb The fact is they're being invited to come to the one Who is no longer in that tomb Now as I was reading and I read the words come Come see I thought of another place where people are invited to come In Matthew 11 28 through 30 Jesus said this Come to me All you who labor and are heavy laden And I will give you rest Take my yoke upon you Learn from me For I am gentle and lowly in heart And you will find rest for your souls For my yoke is easy My burden Is light I read something recently that a great preacher of another day Charles Spurgeon I read something that Charles Spurgeon once noted Spurgeon said that in the four gospels there are 89 chapters of biblical text In the 89 chapters There is only one place Jesus tells us about his own heart And it's found here in Matthew 11 28 through 30 When Jesus issues an invitation for people to come to him One author said that in the gospels we read of his birth We read of his ministry We read of his disciples and we read of his travels In the gospels we read of his prayers We read of his disputes We read his teachings We get a glimpse at his prayer life In the gospels we read of his arrest We read of his death We read of his resurrection But in only one place Do we ever read about him opening up his heart To us And Jesus when he revealed his heart and some people need to hear this today When Jesus revealed his heart He didn't reveal an unfeeling heart He did not reveal a harsh heart He did not reveal a demanding heart He revealed a heart that is gentle and lowly You see in the bible the heart is not always used to speak of emotions The heart is most often used to speak of the core of our being That's why we're commanded to love God with all our heart In mark 1230 you shall love the Lord your God with all your heart With all your soul with all your mind with all your strength This is the first commandment We're commanded to love God with everything within us from the core And the heart speaks of the core it's the center of our being That's why we're to guard it Proverbs 423 above all else guard your heart For everything you do flows from it And so Jesus is revealing to us a heart a heart that is welcoming a heart that is loving A heart that is gentle a heart that is humble is revealing this heart to us And that's what he's speaking about He says that he's gentle when it says gentle it simply means that he's he's he's meek. He's humble He's not harsh He is not one who overreacts he he isn't impatient So he speaks I have a gentle heart. He says that I have a lowly heart The word lowly in this verse speaks of being someone who has been pushed down in life It's a picture of someone who's been pushed down. It's like what Isaiah 53 3 said He's despised rejected by mankind a man of suffering familiar with pain like one from whom people hide their faces He's despised we we held him in low esteem. He's saying I understand you Jesus didn't come for the perfect people. Jesus came for the sinner And he's saying to the sinner you can come to me You don't have to be afraid of me. You don't have to fear me I'm not the one coming right now on fire that will come in the book of revelation in the second coming But in his first coming he's saying to us you can come to me because i'm gentle you can come to me because i'm humble You can come to me because i'm welcoming you can come to me because i love you and i'm inviting you to come to me That's what jesus christ did And he's saying i'm lowly and hard And so he's simply saying and this is so beautiful when he says i'm lowly he's saying i'm accessible Though he's god in human flesh Though he is the lord of glory He invites us to come Now who is it that he's inviting who is he saying come to me who is he speaking to all he says who labor and are heavy laden All of you who are trying so hard to find peace All of you who are burdened all of you who are weighed down You see at the core of his being He's saying i'm gentle And i'm lowly And i'm the one Who can give you rest Listen our sins are never too great for his loving grace and power to forgive Our way of life is never so far gone that he cannot redeem and transform He does not just meet us in our place of need He lives In our place of need Just as last wednesday we had visitors here For our wednesday night study. There were men who came from A ministry you turned for christ Many of those men all of those men Have placed themselves into this home rehab home Because every one of them have failed miserably And they know it And so they came to visit and they came to church because these are men Who are finding that jesus christ doesn't reject them If you look within yourself even at this moment and think about the life that you lived i might have some perfect people here You never know I guess all of us can admit to be failures at one time or other All of us can say i have failed i have Sin and fall short of the glory of god. I haven't lived a perfect life. We all can admit that i would hope What are you going to do with your sin? Who's going to forgive it? How's it going to be that you're going to have peace? How can you have peace? How can you know for certain that you're forgiven? We have so many testimonies in this church of of people who Were used by god who were turned around from one life and and went into a new one We have a young man that a couple weeks two or three weeks ago Some of you were with us and you'll remember we mentioned him His name is halberd and halberd came from mexico from from the yucatan area and and halberd had come to church and And halberd, you know had gotten into the united states in the way that many do he just came and he stayed And he came to church here a few years ago He was invited apparently and he came to church And halberd came and he heard the gospel and he gave his heart to christ And as halberd stayed and and began to learn about the things of the lord God began to move on halberd's heart and said to him go back to mexico Go back to mexico and halberd did He got up and he went to mexico And he started a little bible study in the village he's from And while he was there some kids began to come to the bible study Well, it's only 450 people in this village But he's got a good group of kids 40 or 50 children coming from bible study. They begin to bring their parents Now the numbers of kids is growing and the parents are beginning to show up So halberd is talking to us and says, you know, I could sure use some help because we don't have much resources here Can you help and we mentioned it to this church to many of you we said listen if you want to give And we didn't take an offer. We didn't say the halberd fund We just said if you want to give please do it's going to cost $25,000 to build a building so he can hold church services And this church gave $30,000 to build that church to build that church You see when you when you're touched when you're touched By the lord and your life is changed and you have a purpose Then you take that to others You come and see and you see that he's alive and he transforms you and then he sends you and uses you And and halberd knew that I know that many of you know that your sins are never too great for his grace Never forget that and his blood is capable of washing you clean from every single stinking sin You have ever committed and his power can transform you into a brand new person That's what he did with me. That's what he's done with many of us Every one of us if we had an opportunity to give our testimony to say this is where I really was not the Sanitized one that we tell other people the real one The one that only you and god know Every one of us know that we are like filthy rags compared to the righteousness of god But what did he do?  He says come to me All you who labor and are heavy laden. I will give you rest My love and my grace jesus would be saying are capable of Transforming a life and that's why we came to him and that's why I invite every person who's listening right now to come to him In hebrus 416 the writer said let us then approach god's throne of grace with confidence So that we may receive mercy and find grace to help in our time of need And so jesus said come Come to me and the angel said come and see And after you see Do something else In verse 7 go quickly Tell his disciples That he's risen from the dead and indeed he is going before you into galilee There you will see him behold. I have told you Go quickly tell the disciples And they're these disciples that are being spoken to by the way are in mourning Particularly the apostle peter because peter had denied the lord So go and tell them bring this news to them and do so quickly Because it's going to serve them It's going to give to them comfort. It's going to give to them peace So go tell them These words Are going to strengthen them Later on we know that the lord jesus christ has to bring a word of Reconciliation to the apostle peter for peter had denied the lord terribly three times in the same night And the lord had to bring him to himself and had to reconcile because peter was broken hearted He was the one who had said on that night before jesus died. He had said though all were to forsake you and flee I will never do it I'll die for you and yet three times He committed the the sin of rejection the sin of denial three times And the bible tells us on the third time that he did that that jesus was being led past him And peter said i don't know the man and looked up and and jesus was passing by and jesus looked at him And he looked at jesus and he was crushed within peter wasn't and he wept bitterly the scripture says a broken man And jesus said to him Do you love me? And he said i do Feed my sheep tan my limbs Peter i know what's in you. I know that you have a heart to desire to do the right thing The will was present the ability to perform that what you desired is not That's why you need me i'm not rejecting you. I will strengthen you I will strengthen you And the same man who denied knowing the lord ultimately gave his life up for that same lord Because he had been restored and he had been filled with the power of the spirit and that's what god does And the bible makes it very very very clear that we're to speak concerning this and notice verse eight They went out quickly from the tomb with fear and great joy Ran to bring his disciples word So there's a mingling of fear It's it's an awe And rejoicing fear Because they'd been in the presence of a mighty angel and joy because jesus is alive And what is this too? Well, it provokes them. They leave the tomb quickly They ran to tell the disciples who are around a half mile or so away from the tomb And they told them and as painful as this was They were able to see the purpose of it He died in order to secure salvation He paid the price on the cross But he was resurrected to show us that he has power over death Listen You don't have to be afraid of dying. I'm not saying go and jump in front of a car But you don't have to fear death Why because death has been conquered by life Jesus christ gives us life And that more abundantly There's something worse than covid There's something worse than that We have forgotten the church itself in many places has forgotten There's something worse than covid That which is worse than covid is dying without jesus That's worse than covid Jesus took upon himself my sin your sin So that he could give to me life He's imputed to me paul said in second quinthians 5 the righteousness of god in him I can stand before the lord I can come boldly before the throne of grace and obtain mercy and help in my time of need because I have admitted I am a sinner and I need help I'm a sinner and I need forgiveness. I'm a sinner. I need you I can't make it on my own I can't do it in my own strength I'm not good as a person But he is see We celebrate Easter because We are sinners who've been saved by grace The church shouldn't walk around all haughty and arrogant of all people We ought to be the most humble because we know what we've been And we know what god can do And when you know that that helps helps you to have humility So you don't arrogantly point fingers at people We remember that the finger were pointing at somebody there are three pointing back at me And because we're aware of that we speak with humility and we actually cry to people and say please receive christ as your lord and savior Because I want you to be in heaven. I want your sins forgiven. I want you to have joy I don't want you to live in fear anymore. I want you to have that relationship with god And that's why I told that to my dad And I said daddy I don't want to be in heaven without you And that's why my father gave his heart to christ Because he knew that god changed his sinful son And that god could change him And my father gave his heart to the lord my mom and others and over these years I've seen many who've opened their hearts and said god be merciful to me. I'm a sinner It takes humility and it takes honesty and it takes an awareness of your need And it takes faith that jesus christ is who he said he is So the invitation remains come Come see the place where he lay come And be aware of the one who died for you who no longer is there because he's alive And he's alive and ever lives to make intercession for you jesus christ the savior of the world We do not worship a dead teacher. We worship a living savior and that's what easter is all about


Hello, my name is Jaime and I'm from the Philippines This is Manila, our capital city, where I live And I'm pretty happy because I just finished my online 120-hour Tefal course with no tutor So I just wanted to share a few takeaways Two things actually that I really found useful in the course The first one was there's a section in the course where they give you two videos of real teachers and real classrooms One video, a very very bad example of teaching and the other video an awesome example of teaching So I found that really really helpful for learning I think it's quite easy to go online and look for tips and techniques about teaching But when you're actually watching a class in action, you can really pick up techniques Things you should do and things you shouldn't do from the teachers The other thing I really loved is I used to have this fear of lesson planning It was never really my strength And I just didn't know how to think about it or go about it But this course really encourages a certain method called ESA And it helped me think about my classes in very distinct stages So one class is broken down into stages each with a particular goal So that pretty much did away with my fear of lesson planning And I feel like I could be a better teacher because of what I learned from the course So I hope you guys consider the course There's a lot of great information in it And I hope it will help you as much as it helped me Take care


So, this talk is called Entice Me, and it's about what would convince me to split my old UTXOs and to sell BTC for BCH. And I'm going to talk about key items, and I'm just going to focus on things that I think are most important that you might not hear as much from other people. And here's some stuff about me, next one. So why you might want to listen, because somebody was saying, what do you think is a good investment that doesn't necessarily mean anything? So here's a list of reasons. And the most important one is betting on my own ideas, because I think that the future of Bitcoin should be determined by a prediction market. So I am acting like there is a prediction market that exists already.  So if I do become the leader in the future, then my earlier actions will look like genius in retrospect, but if I don't, then I will just be some crazy person on YouTube. So that's how I'm betting on my own ideas, and that's how you use a prediction market. I'm just not using doing it with money, right? So first item I'm looking for is people who are listening to me, and you guys are doing way better at this than the core group. So that's good. But don't listen too much, because cult members aren't valuable people. So investment is about survival. It is about the survival of your portfolio, and I think that the key to success is to convince people that BCH serves an important need in their portfolio. So they are going to survive better by holding Bitcoin cash. And I think that this is something that people misunderstood about earlier things that I wrote, because I said that investment is ultimately what determines the success of Bitcoin, that you have to invest in something for good reasons. So I think that the people in the core camp don't fully understand that, and they think that if they just get people to stay invested and they keep holding, then that automatically is in and of itself successful. So people should be thinking, whatever is going on around here, and by here I mean the Bitcoin world. Whatever is going on around, BCH will probably still be around, and I think that that is sort of the key to success if people are thinking that, because then they don't have to worry about it, because I think everything in Bitcoin is crazy. So if there's anything that people feel like they don't have to worry too much about it, even if it's not going to skyrocket relative to anything else necessarily, just not being less worried. That is the key, and looking like you will survive a long time from now is not the same thing as having a long-term plan. So I just wanted to make that point clear. So second item I'm looking for is people who are focused on survival as investors. So I don't actually know how to survive a long time, but I think merely focusing on that as the bottom line is important, because to me the core cult is trapped in a world of platonic forms, and they are not focused on survival, and so investment function of money, investment function of money is to invest in the other investors, okay? That's what the network effect means. So new money forms by a coalescence of people around a common unit of account, and Christina Story gave me a terminology for this called a creativity cluster. So that's what I'm looking for, and I noticed that in his latest video on permissionless systems, Rick Falconage, I hope I'm pronouncing that right, was trying to describe this, but he didn't have a good word for it, so Rick, if you're listening, you should say creativity cluster in the future, and it's on a later slide, but it's not on this slide. So third item I'm looking for is investors who are good at surviving who are looking to cluster with other investors who are good at surviving, because that means they know what money is for, so that's good. So next slide. So this is the success path of BCH, okay? So the idea is a good network already exists, a good creativity cluster, and those are the old investors in Bitcoin. So to me, people say Bitcoin Cash is not Bitcoin, or that they're cheating by making a fork instead of starting over, but that's what's good about it, is they kept the most important part of Bitcoin, which is the other investors, and they just switched out everything else. So to me, they figured out the right way of doing things, because they kept the most important part of Bitcoin, and so the group of investors that have clustered together when Bitcoin was forming can move together, okay? So they can stay invested in one another as Bitcoin Cash switches, okay, which is not what they can do with Litecoin or Dogecoin or something else. So a smooth transition, and I think the old unit of account is BTC plus BCH plus the other forks, because before the forks happened, that is what people were acquiring. In other words, what people were acquiring before is now an index fund, because that's what is in your portfolio now, if you were acquiring Bitcoin before. So the old unit of account is now the Bitcoin index fund, and the way to succeed is to get some of the old investors to focus more on Bitcoin Cash than on the other items in the index fund, and I don't think that you have to get them to focus very much, because it's possible to be indifferent, and most investors appear to be indifferent, at least as far as their actions are concerned. So the investors who are not indifferent have a much bigger effect on the outcome. So I think you need to attract old investors to focus slightly more on Bitcoin Cash, and that's really all it takes to win. So fourth item I'm looking for is old Bitcoin investors. Okay, so current situation, BCH is the backup plan. So I think that Bitcoin Cash needs to serve an important function in people's portfolios now, like the way it is, because that's what will convince people that it will survive a long time. So if it's useful now, then maybe it will succeed in the future, but that is not necessarily the reason, the main reason that you would want to invest in it, right? Or I should say that's what makes it look successful, if there are reasons to invest in how it is now, as opposed to just speculating on where it will be in the future. So I think that it is realistic to treat BCH as the backup plan, and that's how you should appeal to old investors, and that increases the chance of winning, because that's just focusing slightly more on BCH, which is all they really need to do. So fifth item I'm looking for is people who are acting like BCH is the backup plan, who would prefer it to be the main plan, and to me that is a realistic way to behave. So you should be open-minded to the incredible success of BCH, but that is not what you should be banking on, okay? Readiness for exponential growth equals maximize creativity. So if the way that BCH would be swapped out with BTC to become the main plan is if the BTC people do something stupid, and BCH is ready for exponential growth the moment people notice, okay? So okay, creativity cluster, again, if we have that, that is better for exponential growth, because a group of creative people who are all supporting one another can very easily accept new people. So I would like to see work that is focused on making it easier for future people to be creative, and preferentially supporting future creativity over just about anything else, really. So sixth item, creative people, good investors are creative, but all creative people are good. So not all creative people are good investors. I'm just saying that to distinguish these two possible things, because there could be creative people who are not good investors, but any creative people that looks good. Creative people can appear to be deranged or degraded, so I think that you guys are doing good at that.  So once again, I don't think that the core people understand the value of creativity very well, because I don't think that their plan involves supporting future creativity of other people that they don't know. So disadvantage of being the backup plan, closer to death. But so greater creativity is required just to stay alive, but it's already something I'm telling you to do. So there really isn't a problem here, and if people see that you can survive while you're still closer to death, that's a good sign too. So I think that this is a disadvantage, but everything I already said, you're already prepared for this, if you're doing what I already said. So next item, advantage of being the backup plan, riskiness. So remember in an earlier slide, I said that if you're the backup plan, there is less riding on the success of BCH, right? So BCH can do all sorts of crazy things and get away with it, right? More easily than the main plan, okay? And if you're closer to death, then you should do that anyway. So these two things work together. But you shouldn't just take random risks. So later I'm going to tell you what risks I think you should be taking that are the best risks. So you need to figure out the optimal way to be risky. So I'm going to make a suggestion on that. So if you can do things that are too risky for other people, then you can learn from situations that other people cannot be in, right? So if you can be risky, then you can learn new things that other people don't know. So next item, learning something that the core team doesn't know how to find out. And also this is why I think it's important from an investment perspective to treat BCH as the backup plan. Because if people are investing in it with that mindset, then we can optimize the core competency, right? Be more risky, and people aren't as worried, okay? Thank you. So in order to increase the chances of a flippening, we need to make everything more uncertain. So if you watch my discussions with people online, what I always do is I kind of act like somebody who is open-minded, but actually can't really be convinced of. So when I talk to the core cult members, what they want is for me to sell BCH, right? And they say maybe you could have more BTC if you sold your BCH. But I just say like, whatever. I don't try to prove that my strategy is the best one. See, I just want to be lazy and not worry about it, okay? So that is creating uncertainty because I'm saying I am not going to get too involved in the conflict. And I'm fine with whatever happens. So what they want is certainty because they want everybody to go along with their plan. So we need sustained uncertainty, and so I would want the BCH price over the Bitcoin index fund to be more volatile than the index fund over the dollar price. Because that will mean that it is rational to stay diversified if you, because getting in the conflict is clearly more difficult as an investor. So I would want, and this is already happening, so that's good. So comfortable with long periods of uncertainty. So if you are already treating BCH as the backup plan, that means you're okay with uncertainty because you're just like, well, if anything goes wrong with BTC, we can just swap out BCH. That's uncertainty because you're saying something can go wrong and whatever. It's fine. Uncertainty is bad for fragile people and good for anti-fragile people. And if you don't know what that means, you need to read the book because it's very good, anti-fragile. And so next thing I'm looking for is anti-fragile people because they are people who are going to be attracted to uncertainty and will be able to live just fine in an uncertain environment. And in fact, that's good for them. So cult members don't like uncertainty, by the way, because that's one of the ways that you emotionally manipulate people is people are attracted to certainty. So if you make them think that everything is certain, that makes them feel good, then they don't want to talk to uncertain people as much. So yeah, uncertainty is my favorite kind of certainty. OK. So the previous stuff I said are things that should be attractive to anybody who is thinking about what is going on, I think. So now I'm going to talk about how to attract old Bitcoiners specifically, which is key to success. And this is where the riskiness comes in because I'm going to tell you what is the optimal way to be risky, in my opinion. And oh, but I cannot tell you what the correct amount of riskiness is because that's going to involve a conflict of interest, if I were to say what the correct amount of riskiness is. So other people have to figure that out. So next slide. So here's what will attract the old Bitcoin investors. So if BCH is something where people think it's probably going to be around still in the future, no matter what crazy stuff happens in Bitcoin, which remember what I said is key to success. That is the key thing. If the old investors are thinking that and they are not worried about what's going on in BCH, then that means the BCH over the Bitcoin index fund price is going to provide more feedback to the core chain than it is to the Bitcoin cash chain. So what's going on with the price will tell you more about what is happening with the core chain. And that means that this price is providing them with the best possible market feedback from the old investors in Bitcoin. Because remember the old investors, they have a bigger effect on this price relative to other prices in Bitcoin. So we are amplifying the will of the old investors in Bitcoin with this price. And if you convince the old investors that Bitcoin cash is going to be a survivor, not necessarily successful in terms of winning, but just a survivor, then they don't have to worry about it. And the price will be focused on BTC. And that's what the price will reflect. And I know that the core group does not want to pay attention to this price. So as long as they continue to try not to pay attention to it, then it is the most self-defeating if it is the best possible information. So the risk is that they will learn to pay attention to the feedback and be trained to behave better. And if that happens, then there will be less opportunity to swap BCH out for BTC, right? That's the risk, but I don't know. But it also increases the uncertainty, right? Because if they are trying to ignore it, that means their mistakes will be bigger. So if you've read the book It, the monster's powers are like a mirror. That's what the book says. And if you saw my video on strategy in the core cash conflict, I said that BCH should be like the it monster. So that's what happens if investors are not worried about BCH's survival long term, and they're not paying too much attention to it. Then the price becomes a mirror of BTC. So maximize creativity, and you're ready for exponential growth at any time. Investors aren't worried. So the ideal situation, I think, would be like the investors are thinking, wow, this BCH is really good for teaching the BTC people how to do what I want. Wait a minute. Maybe I should just go with BCH instead, because they're so much easier to work with. That's kind of what should be happening in the investor's mind, I think. So there are two ways to make old Bitcoin investors more powerful, which is what will attract them to BCH. And so one of them is winning. And I already said this, but do you see what I'm saying? Like I'm saying that BCH can be somewhat altruistic toward the old investors in Bitcoin simply by providing this market feedback for BTC. So this is why it's a conflict of interest, because I would be fine if BCH trained the core developers to behave better. But that would also make it less likely to succeed if that happened. So there's the risk, and that is the optimal risk, I think. And once again, it's a conflict of interest for me to say what the correct amount would be. So other people should figure that out. So if they were to say, we are the main plan, but BCH is the backup plan, that would be a lot better than what's happening now. And if they did that, then that would be an idea that is more in line with BTC being a good investment, I think. I guess I already said all of this. But ninth item, no one is worried about the core devs learning quickly enough. This could be the case because you are diversified, which is what I think is a good investment strategy, or because you don't think that will really happen. So I don't know why people would be thinking that, but if they are not worried about the core devs learning quickly enough, then that is also a good sign. So that's my list. Next item, conclusion. Yeah, it's a summary. Maximize creativity. Prepare for sustained open-mindedness. Attract people who are creative anti-fragile. Be more indifferent to price than the core chain can afford to be by being better at survival. And enable best possible market feedback to core chain. And applaud them and stay in second position if they learn well. Be prepared to expand exponentially any time they make a mistake. And last slide has my Twitter handle and just a, here's the list again. All right, thank you, Daniel. Now we have five minutes for Q&A, and I think we have some awesome questions. So please go ahead. I guess I think that you should figure out what other people would think survival means, because that would be something that people would have different opinions about. Another question? Do I get to pick who answers the question?  You're in charge. Go ahead. I see a hand up here. But don't we need somebody with a microphone? We do. We don't have a mic runner. You want to run? OK, yeah. Simon Dixon from banktothefuture.com. One of the challenges with Bitcoin has always been just the psychology of no one wants to be Bitcoin pizza guy. So you refer to things as an investment when we're trying to create cash. And the challenge is that when you create something successful, the price tends to go up, and then no one wants to spend it, because it's the rational thing to do, to spend the money that you think isn't going up in price and to save the money you think is going up. So I'm just wondering, it seems like if this does succeed at becoming cash, then people won't want to spend it if the price is going up. And how do you overcome that? Because that's exactly what happened with Bitcoin and anything else that succeeds in this industry. Well, I mean, I think that that's fine. A portion of your investment portfolio should be in cash, and you shouldn't want to sell it unless something better comes along. Because the value of cash in your portfolio is that you can take advantage of other people's mistakes. Because if a business starts to do badly, then the price goes down. And if you think it can still succeed, then you can buy it at a discount. And you're first in line because you're the one who's holding cash. And that's the value of cash as an investment as a part of your portfolio. And if the value of the cash is going up rapidly and you think it's going to be higher in the future, then that just means there's not other things that you would want to buy with it at that particular time. Next question. Well, whatever. That's getting into details too much for me. Thank you. Hey, I was just wondering if you've updated or nuanced in any way your theory of hyperbitcoinization. OK, so hyperbitcoinization is a guided imagination article. And it is not a prediction. So if you look at the article, what I say is we should imagine what that scenario would really look like because it could really happen. But I do not say anything about how likely I think it is, although I do act very confident about it. But I don't know. I don't really have any updates. But I know that the meme hyperbitcoinization is sort of has been used to generate hype in a way that I would not feel comfortable doing. And we have time for one last question. There's somebody. My name is Ben. I have a mining farm in China. I can mine two Bitcoin, one Bitcoin within two days or five Bitcoin cash per day. So there is a rumor that Jihan Wu has multiple million Bitcoin cash on hands already. So my question is why I should mining Bitcoin cash instead of mining Bitcoin? Well, you should mine whatever is the most profitable. That's it. Thank you very much. Thank you, Dan. All right.


Hey, welcome everyone. I want to thank you for joining us today. We are excited to have you here. So in this webcast, we're going to be talking about a really interesting topic, which is rich change controls for building workflows you can trust. My name is Joel. I lead a solutions architect team here at GitLab. I'm joining you today from Chicago, Illinois. And we'd love to learn where you're from. So please use the chat function, say hi, tell us where in the world you might be today. Before we get started, a couple of quick housekeeping items. Feel free to ask questions throughout the presentation. You can use the Q&A function at the bottom of your screen for that. We're going to have a dedicated time for questions and answers at the end of the webcast, but you can go ahead and send your questions as you think of them throughout. We'll be sure to get to those near the end of our time together. If you're experiencing any technical difficulties, you can use the chat function to get in touch with me, the moderator for assistance. Our presenter today is Darwin Sanoi, a GitLab Senior Solutions Architect located in Pennsylvania. We're going to launch a couple of polls throughout the webcast as well so we can learn more about you. And that way Darwin can also tailor the presentation accordingly. So with that, I'm going to launch our first poll and it's just gonna ask from a usability perspective what GitLab package or tier are you using today? Great, I'm gonna share this out to you so you can kind of see we've got a pretty even breakdown today across each of the tiers. And so we'll keep that in mind as we discuss our topics for the day. So at this point, thank you for your participation. Thank you for joining us. And I'm going to turn this over to Darwin. Good morning and afternoon, everyone. My name is Darwin Sanoi, Senior Solutions Architect at GitLab. It is my job and also my pleasure to help customers understand how to apply the GitLab tool set to various DevOps problems for a whole variety of customer profiles. I really enjoy automation a lot and so it's been a great opportunity as well as a great pleasure to help customers with that. So today what we want to talk about is how GitLab has rich workflow that can really help you control and manage your change management activities. Typically, GitLab and other Git collaborative systems are thought of as working with code collaboration, making sure code is good quality before it goes out. But GitLab also introduces operations as part of the mix, so it supports deployment. So a lot of these controls are also very necessary for reliable releases to production. And so that's why it's important that you kind of understand the GitLab controls that are available. The other thing you'll notice is they're kind of sprinkled all throughout the product and so we hope to try to give you kind of a global view of where these controls can be used, where they're kind of sometimes seemingly hidden behind a little piece over here, a little piece over there. So we hope to put this kind of a global picture together for you. So some of the things we'll be going through, first of all is custom user groups. You can create custom user groups in GitLab and specifically that they handle users only and so we'll be talking a little bit about how you set that up and why that's beneficial to you. We'll also be talking about gating controls for both code and deployment control. So once again, GitLab really braces GitOps and with GitOps everything needs to be in Git, the single source of truth. And because of that, our deployment information and our deployment workflows are also in there. In addition, we'll be talking about using work repos and merge requests as workflow building blocks. So we have some capabilities and some features that span repos. And so sometimes people think about the whole idea of workflows and gating within a repo. And we're gonna kind of expand that mindset out a bit that no, well, you can start breaking up your workflows across multiple repos and then associate them with certain constructs. Also enabling de facto development patterns. So we'll typically get questions about, hey, can GitLab do this kind of pattern? Like I wanna do a typical microservice, 12-factor deployment where each service is its own repo. So we'll touch briefly after we get through the broader perspective of features on how some of that then looks and some of the de facto development patterns. And then we'll also have a summary of controls by addition and by control scope. So some of you said you're in starter, someone's silver, someone premium. We'll actually give you a bit of a breakdown in terms of controlling workflow, where do those features break out? And also what's the scope of them? Some of them are per repos, some of them are multi-repos, some of them are per merge request. So we'll take a look at that. I first wanna go through custom user groups because as you'll see when we step through the rest of the content, it'll say, hey, you can do this feature with custom user groups. So it's important you understand the flexibility and the foundational control that custom user groups can be for you. So quickly a history of the group structure in these solutions, Git collaborative solutions on the web, basically repositories were the only kind of resource that existed within Git collaborative solutions. And because of that, there was no need to really have a strict separation of user groups from resource groups. And so you'll see that typically you're grouping repositories together and then you just happen to add users to those groups. And so GitLab initially followed this structure as well. And that's why we see it out there. It's not like operating system groups where there's a lot of different resource types you can assign to users and user groups. Let's keep popping up on me. I'm just gonna close it here. Also custom user groups can be used in many places for GitLab gating controls. So as we go through the presentation, you'll see that there's various places they can be inserted. We also can create dedicated group hierarchies for users. So instead of having our users just bundled in with repos and then we get confused about when we start adding those groups to other groups, what's going on. So we're gonna talk about potentially creating a dedicated group hierarchy for you. Now there's two settings that make a lot of this possible. If you go inside of a group in GitLab where you have maintainer access or hire so you can change the settings, under the group settings and then under security, you'll see that they have these two benign looking settings, one is allowed to create projects and that defaults to maintainers. So if we set this to no one, no one can create any repositories in that group. And then another one is allowed to create subgroups and this is generally defaults to maintainers as well. So if we set that to owners only, we can create a situation where we can add users to groups and we can even add maintainers to those groups and they can't create any repositories or any subgroups. So we effectively limit the capability for them to manipulate this hierarchy. You can also delegate group membership management. So if you make someone a maintainer over a group and then they can add and remove users and so that can be helpful. If you have enough trust and enough communication in your organization, you could also let maintainers add and remove subgroups. It's just important to understand how group flow works which we'll talk about here. One interesting question we've had is, hey, well, I created a group and I put users in as developers and I wanna add that group to a repository. Will they be developers in the repository? And the answer is no. So once you create a group with a bunch of users with roles in it, when you add that group to a new location in the system such as another group or a gating control, they get the assignment of whatever you give it to them in the target new system. So if I add a group called prod approvers and everyone in there is a developer but I add them to a new repo as a reporter then they're only gonna have reporter in that new repo. So just be aware that the original assignment to the group of the user does not flow through to sub assignments. And then group membership inherits down in Git collaborative systems, including GitLab. So when you add users to higher groups they automatically get inherited to all sub groups. So this is the one foundational difference from operating system groups that can make it a little more challenging to think about when you manage. So let's take a look at a couple possible structures. This structure is one that you'd probably typically go to if you're used to doing operating system groups. So you're like, okay, I'm gonna create a hierarchy that helps me organize groups so that they don't get too broad or deep or it's not completely flat. One helper that I try to use is a description no users in this group. That description helps people because it both states that there are no users in this group and states that you should not add users to this group. So hopefully as people use a system to either add groups to something or to try to add users to groups they can see that statement. However, it's just a kind of a process control or informational control. So what you should really understand is you should never be adding users to a group that's not a leaf group. So in the case of this hierarchy the end nodes of the groups is where we would add people and not to higher levels. Or if you add it into higher levels you have to just really be aware that you're adding them to every subgroup. So in this case, the SREs group we see that we try to add all SREs to a subgroup and then production approvers is a special subgroup but we would never add anyone to the SREs level. A better model, if you can afford it if it doesn't create one million groups for you in a flat hierarchy is to just leave the hierarchy flat. And then this way you don't have to communicate that because there's no way to add people to a higher level group that matters other than the root group of all users. And so this one here you can see by naming convention we kind of imply the hierarchy we're after. Do note that in both cases we've created a root group in our system that is where all users will be added. That is just a construct to help us think about it. In theory you could add these groups and make them user-only groups anywhere in your system. So you don't have to create a dedicated hierarchy. Please note prod approvers sprinkle out throughout both of these. If you have the premium product level and you have merge approval rules which we'll talk about you can pick, hey, I want two approvers from security one approver from QA and three from the specific application developers. So you can actually pick specific approvers for specific groups. And also that prod approvers group is emphasizing that this would be a deployment group. So deploying to prod versus collaborating on code. So that's kind of some of the gating controls as far as what we can do with custom groups and how we might configure them. So as we go through bear in mind that all the flexibility we've talked about in this slide applies anywhere where you see custom groups in the subsequent slides. So we're gonna try to build up the concept of the gating controls in GitLab. And we wanna start with the basic most fundamental idea that we all usually think of as SCM or source code management. We think of this concept of we've got a bunch of code people are working on and at some point they wanna integrate it all into a branch and make sure that there's no conflicts or that those are resolved that things build properly before we go to production. So your basic code review or code collaboration branch. And so that's the construct I have here on the screen. Now next thing is once again keep in mind custom groups throughout and then the first thing we wanna cover as a possible control is push rules. Push rules aren't strictly a merge control. They're actually in a way like a firewall for your repository. They basically prevent commits from getting into our repository in the first place. A good example is user credentials that are committed to code. If you commit code credentials to code and push it to your central repo you could flag it in CI and say, whoa, hey, you got some Amazon credentials here but getting those back out reliably is not very fun. It's hard and it also requires an ill-advised forced right of a branch to overwrite history. And so because that it's just better not to ever let them into the central repo. And so push rules are a way of doing this and they provide kind of some firewalling. Now at the premium level starter allows you to have push rules in the first place. And one of the actually one of the push rules you can enable is to prevent credentials from getting committed and there's a bunch of others and you can make some custom ones. But at the premium level we add two new ones that are very interesting. One is verified committers. Verified committers says, hey, if you're pushing these commits to the repo I wanna know that the user ID you're using to log into GitLab is the same one you've identified inside of your commits because in theory I could put any kind of identification into my commits and then push the code. The second one is rejecting unsigned commits or requiring signed commits. So every commit has to be signed so you can know it's never been tampered from the time the developer committed it to their local copy until the time it made it into your central repo. So if you have any security concerns that are heightened or you work in a government organization where you might have a lot of contractors or even a commercial organization with a lot of contractors and you need traceability right back to the individual level these two features are gonna be primary on your radar. Another feature that's added with premium is locked files and directories and you can think of this as a kind of a semaphore for a file in a repository. So you can put an indicator saying this file or directory I'm working on it no one else should be able to commit any commits to any branch anywhere that have to do with these files just block them because we need to work on it. It's really critical file for the next week or a day or whatever. And so that's another feature that helps with advanced scenarios where certain specific files and directories need to be highly managed. So let's talk about now our standard workflow would be developers are working on their feature builds and our feature about branches and they're gonna be bringing new code into the repository. Now when they do this in a feature branch and there could be many of these coming in bound at once they have to make it through our push rules and our pre-commit hooks. Technically I think locked files is a pre-commit hook. And so once it makes it through that then we have a new feature built. Now one of the really cool things about GitLab even at the free level is that you get enterprise capable production ready CI for free. But the other cool thing is you can build on every feature branch so that you can be sure that those feature branches actually check out long before it's time to start merging into anything that matters. An additional gating control that exists just within CI is a job that is set to when manual and basically it pauses the whole CI chain until someone comes and presses play or until you call an API to restart that stage. And so this can be kind of a gating control but we don't have any tracking of who pressed it. We know who's allowed to press it at the time that this repo, someone actually presses it.  But that's one kind of gating control that you will see used in some of the GitLab flows. We then have review apps and of course Kubernetes is really slick in this regard to set up a review app for every branch build. However, we also can do dynamic review apps for web server based builds. So Nginx or other web servers if you configure the web server correctly then you can push a dynamic review app out. And those are also dynamic review apps is what gives us some of our security scanning capabilities for DAST scanning of an existing app in its final target environment. So that's capable all through all of branch builds. And one other thing we'll just give a tip of the hat to is if you do the ultimate or gold you have a security and compliance scanning dashboard that can then be referenced and find out our new vulnerabilities coming to the software. Do we need to create issues for new vulnerabilities so that developers have to resolve them? And we'll touch on that a little bit later but in the ultimate you can also globally across your entire instance block or require a security approval for anything that introduces a vulnerability that hasn't been previously reviewed. And so those are some of the ultimate features that are kind of slick in this area. So let's talk now about merging. So a lot of the controls are gonna be around the merge timeframe because a merge timeframe is when we start getting people to come in, collaborate, sign off. And so this is a big point of workflow control. So at the repo level we have merge approvals that we set up and they apply to all branches in the repository. We also at the starter level have merge approvals just for you can pick a set of groups and users and roles in the repository and then set a total number of approvers. So you can say, include the security group, include this group and include any developer in the repo and I need five approvals. But you cannot distinguish how many approvals from any given subgroup but you can at least start getting some control that approvals are required. You can also protect custom tags. So you can protect tags if a certain commit is tagged then it requires it can be protected and only certain people in certain groups or certain individual users are allowed to actually approve those in the merge approval phase. Then in premium, we add custom multiple merge approval rules. So you have one merge approval rule when you have starter multiple merge approval rules means now I can create granularity and I can say, I want one from security, I want one from SREs and I want three from developers. And so you can really get granular on exactly what subgroups are required and what exact approvers are required within that. So this is where you can really start to get your hands around some interesting control configurations. Next comes branch protections and branch protections are per branch. So they have a little bit different granularity instead of being per repo, they're per branch. And within branch protections we can use custom groups at the starter level. So we can say an individual group and then we have our CI. So CI once again is attached to every possible branch if we want it. And so in this case, we're gonna have our integration branch go through our standard CI so that we can see that everything's building correctly. One thing that I'll mention in the table is we can do pre-merge commits and then require that those builds pass successfully. So a lot of systems say, you wanna know whether this build's gonna pass, okay, merge it, it's gonna fail and now you've already merged the code. So in GitLab at the premium level, you can say, you know what, I'd like you to run a kind of a disconnected pretend merge of all the code just in CI and run the CI and tell me what's gonna happen because even though everything passed, all the things I'm merging together past before when they get together, they may not play so nice. And so that's another cool feature that we'll touch on in that table. Another interesting thing now that we add with premium is protected environments with custom groups. And so whether you're doing web or Kubernetes environments, you can say only certain users are allowed to deploy this code to production and that's really a part of the CI phase. And we'll talk about how one way to configure this is to have a code base that goes through a build and then you redeploy only the deploy phase to 10, 15, 20 environments if you want. So those custom approvals or those protected environments are important to make sure that not just anyone can push to any environment. So this is basically our whole code cycle that we'd be used to as kind of a standard CI process. But now we can also add in branches that are purposed just for deployment. And so when we add in these additional deployment environment branches, we get all these controls applied also to these branches. And so you can see here by virtue of the big long merge approvals gate, it covers all branches in the repository. And so sometimes that's a benefit and sometimes it may not be, you may not want it that way and have to separate things into separate repositories. But if it's acceptable that merge approvals for deploy branches are the same as code reviews, then in the same repo, they would all be affected by those merge approval rules. However, the branch protections, of course, are at the branch level. So we can be more distinguished about what is allowed at that level. So we could potentially have less tight merge approvals and then as we work our way through branch merges, we have more and more tight rules. So we can see here independent branch protections by role comes for free, but when you go to the starter, we get users and custom groups within our branch protections. And then in premium, we get code owners. And code owners is the capability for the software for us to say that a given file or directory is owned by a user or a group or something else. And then we can say in branch protections, if I don't have an approval from someone in code owners because file such and such changed, then we're gonna block. And so even if someone didn't set it up in merge approvals that someone in that group gets that merge approval, we can block and make sure that, hey, these files are critical. They shouldn't be changed without someone in this team approving. So that's kind of a comprehensive view. It's a little overwhelming in total, but hopefully unpacking it slowly has allowed you to kind of get a feel for where some of these controls are enacted. So let's take this concept now and take a look at some of the meta repo or super capabilities. So one of the things we get at the repo level is an ops dashboard in premium. So that basically looks at our operations environments and tells us, hey, what is going on in each of these operations environment? So what's deployed? What version is deployed? Is it healthy? So that's ops dashboard can be helpful. We then also have something called merge trains. And merge trains are within a repository we can link together merge requests and say, these are related. And basically they must all succeed in order for me to approve all of them. The thing is with merge trains is they are not linked in any kind of sequential arrangement. And what this allows you to do is if you have five or six long running builds that are all required to be successful, you kind of say, you know what, let's pretend it's all gonna work out and run them in parallel. So you can speed up some of these dependencies. Then when you're done at the end, if one of them failed, well, then we fail everything. And yes, some work was wasted, but we also didn't wait forever to get that determination. So merge trains are part of premium and they happen within a repository. We then have the capability to start extending out to multiple repository capabilities. And one of these capabilities is environments roll up dashboards. So our ops dashboard is like per repo and environments are per group. So we can start seeing what's going on across multiple repositories. We also, that security and compliance dashboard that we talked about, it rolls up by group as well. And then we have something called merge dependencies. So we can start creating dependencies between our merges. So here you see merge request two depends on merge request one within the same repo. But this is also a cross repo capability. So we can create it across multiple repos that these dependencies are interacting. These are sequential. And so when we do this, we are saying complete all the builds make sure that merge request can be merged then merge the next one, but it depends on the first one being successful. So this is where order dependencies might be important or crossing over repos might be important to you. So that's just a couple more notes about what I just already mentioned about those. That's the concepts of kind of bringing together what can we do across repositories to start using repositories as actual building blocks of our workflow, as opposed to always thinking of within a repository. So let's take a look at a few scenarios of how you might leverage this. So the example we have here is a 12 factor microservice setup. And we're going by the 12 factor idea that we create a repo per microservice under the idea that they typically can release with independently. So if your microservices are designed on purpose so that teams can independently release but do that reliably, then you might have a repository per microservice. We're also seeing an uptick in repositories mono repos so that relationships can be identified between different code bases when multiple services need to change to implement a new piece of functionality. Notice here that GitLab through merged dependencies can allow you to still do that multi repo dependencies but within multiple repositories. So now you have a choice. You can do multiple repositories or a mono repo based on your other needs as opposed to simply the need to make sure that all the code works together. Another possible setup is you have repositories that generate artifacts and then you deploy to various environments. So in this example, we have a lot of SaaS customers that come to us and they might have several customers and they wanna deploy and update those stacks independently. We don't have to link all of those customers into the same repository that's building the code. We can use the concept of artifacts to then create deployment only repositories. In this case, we have three environments per stack or per customer. You could even have one per stack or customer if you've pre-qualified stuff before it starts going up to customers. Another possible workflow is doing advanced or doing multiple environments through just CD push. So here we see the common flow that we already talked about and we talked about being able to then push to an environment. But what we haven't indicated yet is you can actually push to multiple identical environments just through the CD push capability. So you can just keep pushing. Typically we'd use something like tags to say, go to this environment with this version, repush, go to this environment with this version. It's so it can be powerful that way and sometimes this is more what people think of as CD automation. The one downside is that those protected environments only have the one setting. So one group that can be used to prevent deployments if we don't want them or do want them. If you want more merge approval gating then you would need to make this into a merge request. And you could do that by say having a config file per customer or some other construct that would allow you to do that. So that's kind of how we do multiple environments for CD push. Let's just take a quick survey view of some of the capabilities that we have. We didn't mention some of these in specific because there's a lot of things to make it through but we did mention the when manual jobs. That's a little play pause switch. We can also prevent approvals being merged by the person who authored the code or by committers who have committed to the merge request. And in that way we're basically saying, hey, any of you guys who built the code, any of you folks that built the code, you can't approve it. We want all the approvals to be someone else. And so we can do that starter. And these are a lot of the core and starter features that you get out of the box. Also, pipelines must succeed is a core capability. However, when we combine that with pre-merge pipelines, that's when we start to get those pipelines where we can figure out what's gonna happen during a merge before ever merging.  We talked about a lot of these. I'll just highlight a few. Overriding the merge request approvals default settings. So normally the merge request approvals are required and that's it. They have to be met for the whole repo. So you set them for the repo and every merge request that goes through that repo has to meet them. What we can start to do, if we can trust those building the merge requests, we can go ahead and say, let those be defaults and they can change them. So they can change, maybe we only need one from security or none from security because we're doing doc updates. So you can turn those into defaults instead of requirements. And then merge request reviews is the ability for you to make comments. One thing that's been frustrating for me is I go into code and I make a comment and I'm like, oh, you know what? Now I see that they did that down here. Maybe I should have maybe not made that comment up there because they handled it. Now they've got an email that says, there's this critique of their code that's not valid. So merge request reviews allow you to say open a review and you can set up your 20 comments and then publish them all at once. So you can make sure they have a consistent review and that you haven't done something silly like I did there. Notice also in this table here, we have the control scope and the groups lined out for you so that you can see where these things are taking effect. And then finally, we have a final panel here. We didn't mention some of the audit capabilities but with premium, you get a lot of audit capabilities. There's a whole new user class called audit users that have read to the whole system even when people haven't added them to their repo. And this is a capability if you have GitLab as your own instance. But when you do this, then you can give that to your audit group or maybe your security group and they're able to rifle through all the code, run scans if they want on the codes with utilities or whatever without everybody having to permission them. Also audit events. So you're able to see in the graphical user interface what has been going on in the repo mainly people changing permissions and settings. So even those who have the ability to change permissions and settings are not doing that in a way that can't be seen. And then also the audit events API gives you access to a lot more audit events that aren't necessarily exposed in the GUI all the time. I should also mention that you should notice on GitLab specific merge requests, every action that's taken on the merge request goes into the discussion as a read-only comment. And it can be a little bit challenging to rifle through them, but they're all there. And this even includes check boxes. So if you have a check boxes inside of your merge request body and people are checking them off saying they've done stuff even that's auditable down in this discussion comment. Protected environments we touched on and environments dashboards, security approvals and license compliance approvals. So basically if your organization has blacklisted certain licenses, then security must approve anyone who says ignore this, I wanna go anyway, which will acquire a conversation from security or for security go, yeah, that's okay. And then also security approvals if the code being committed is ignoring a specific vulnerability, we can say security's gotta approve that on a global basis. So that's kind of an idea of the gating controls we have. So just as a matter of wrap up, what we went through today is custom user groups, the fact that they're capable in GitLab, you can build them, they can be user specific purposed and then they can be used in a vast array of places within the gating controls. We also talked about the gating controls and how because GitLab is a GitOps oriented tool in terms of working with deployments, your gating controls really apply to code collaboration and deployment control. We also talked about using repositories and merge requests as workflow building blocks. So remember you got some controls that can apply across repos. Then also some of the de facto development patterns that we enable and that's not all of them. There are others and you can pretty much craft it to do whatever you need it to. And then also just this table that shows you controls by addition and control scope and custom group support.  Or maybe there's been something you've been hoping to do that you're like, oh, can GitLab even do that? Or how would we do this? Oh, there's three ways GitLab can do it rather than the one way that you just figure out on someone's video or something, you can see that there's multiple ways to do those things. So with that, I'd like to open it up for questions and answers on anyone who might have questions for anything. And just as a reminder, the Q and A panel can be used for that. I did receive a couple of questions during your conversation, but if you have additional questions, please make sure you post them in our Q and A panel. So one of the questions received actually dovetails nicely into what you just wrapped up there with. And that is the implementation scenarios that we discussed. Are those the only ones that can be accommodated by the GitLab workflow? Yeah, that's a good question. And I know too that when you approach GitLab, a lot of times it's hard to get out of the metaphors that you've been experiencing in the past. So basically code collaboration. And then also just code collaboration on the web in general has a certain flow and we kind of get stuck in those. But what we showed you is ways, the actual gating controls are very granular. And then we showed you that there are certain de facto patterns that you can accommodate.  So it could be a best practice, something like a microservice or it could be something very specific and opinionated towards how your company wants to do development and workflow. So yes, anything's possible. And if you get really deep into this and you kind of get in the muck and you're like, boy, I can't unwind what I need to do. Our sales organization is here to kind of help you with understanding if you're looking at say, hey, you know what, if we had these capabilities, could we do these kind of things? So always feel free to reach out to someone in sales and say, hey, I'm wondering if I could get a trial to figure out if with premium I can do the gating controls I need. So we can give you a hand with that. Excellent, thank you. So and to preface this next question, you touched real briefly on the concept of GitOps in this presentation. And there was just a question about a few details maybe on what GitOps entails. Sure, so GitOps is basically, for source code we've thought of Git as a single source of truth for a long time. GitOps says, let's extend that to the full DevOps cycle. So Git and source control and everything we kind of think of, we build our code, we have artifacts, now it's time for deployment. And GitOps says, you know what, we don't want just Git to be the single source of truth for the point at which we have built artifacts that are tested and ready to deploy. We want to be the single source of truth all the way through to production deployment. And so because of that, we start to roll in deployments, deployment support, some monitoring support and we start to make Git more central to all of that. And so with the possible exception of secrets which we can work in at a dynamic time in order for them to be stored appropriately we try to get everything else into Git. And by doing that, you can see in GitLab we've implemented a lot of the merge controls to allow you to then use them to also control deployment. But GitOps is basically the idea that everything including the entire DevOps cycle should be as much as possible pushed into Git as a single source of truth. Excellent, thank you. One other question here. So you mentioned code review and talked a little bit about comments and batching and things. Do you have any examples of what that might look like like in GitLab? Yes, I think we do. We have a merge request view that we want to show you here. So this is an existing merge request and the merge request ends up, GitOps says Git is a single source of truth with GitLab. The merge request is going to be your richest single source of truth as to what ought to be done in terms of code collaboration as well as environment deployments. So you can see here, as we move through a merge request we have a lot of the status information from build, from approvers. You can see here that we have a pipeline that's passed with many phases. If we want to, we can dig into this pipeline and see actual logs for each phase. We can see what results have come back. We can see that we have certain approvals that are required and view the eligible approvers within that. Then if we have ultimate in this case we have security scanning and license compliance scanning coming in. There are in these cases complete panels that allow a separate view of the individual breakdown. So some of the build feedback will come back as just text information but in some of the cases we have panels built around it so we can start to look through here, take actions, we can dismiss certain vulnerabilities. A really cool thing here is anyone can go ahead who has access to the repo and create a new issue saying I need to investigate this particular vulnerability and resolve it before we move forward. We also have the license panel which is also linked in the merge request so we can start seeing that, hey, these are the licenses that are here. It'll call out new licenses or blacklisted licenses so that we can manage that. And as we move down our merge request, you can see here's some of the audit comments that I mentioned, so these can't be edited. So as certain things happen we have an audit log going on throughout the merge request so we can see what happened when. And then this is an example of a question or a comment that someone's made that is a review request. So it's basically requiring people to make sure that someone says, hey, you know what? There's a problem with this code or I think it should be done a different way. And so these can also block the merging. So it's actually a starter capability to say all discussions must be resolved and that includes review discussions. So we can basically say, hey, if someone has an exception with the code we're not moving forward until it's resolved. And so that's kind of the global view of the merger request and how you can get in front of some of this stuff. Excellent, thanks for sharing that. And so that takes us to the end of our questions. Thank you, Darwin, for an incredibly informative session today and that's it from us. So thank you so much for joining us. We will be sharing the recording and sending it over from this webcast over the next couple of days. So look for it. Thank you very much, enjoy your day.


What's up everyone it's your girl Kenzie here from Layton Sports Cards and I'm ripping a personal here for Rob W We've got two boxes a 2021 Panini contenders football hobby box as well as a 21-22 Panini contenders basketball hobby box All right, best of luck Rob. Here we go. Both of these boxes No vet based ships just the inserts and the heads of course Let's start with the contenders Got rookie of the year Franz Wagner. We have a autograph gold five of ten of Thomas Satoranski Pelicans on a gold auto looks like a Santiago Dama's auto doesn't it kind of the SD First auto there at a second pack gold Sweet shots of Paul George Got lottery tickets Jonathan Kominga Got season ticket Deandre Aten on the uh silver Sweet shots Damian Lillard We've got conference finals tickets to 75 Wendell Carter jr. I'm not sure Brad. Isn't that a base heavy product? We've got lottery ticket Jonathan. Sorry moses moody. We're on warrior I think that's the one that's really base heavy So ship it only we've got spur silver rookie ticket on card joshua primo This one there free Rob primo silver Oh, we got a printing plate We've got a Rui Hachamaro one-of-one printing plates. Nice. There you go Rob I don't know if I pulled a printing plate out of this product yet There you go packs left We've got lottery ticket of scotty barns nice There's a new star wars coming out on wednesday bradley someone was asking if you were getting it earlier Which confirmed we were and die cut uh kevin durant on the superstar. There you go Rob those ship Please it's not all right contenders time. Look up for five autos. Let's see a big cubie auto ink here What was it star wars chrome? Mandalorian I can't remember what that star wars was earlier than that but you're gonna have to scroll all the way to the top I can't remember what it was Season ticket to $199 hollywood brown Contenders derek henry cards are very dusty mark for now Got ravens rookie ticket auto brandon stevens brandon stevens Ricky the year to bonte smith MVP kyler murray Didn't get me They got rams ricky ticket auto bobby brown the second Pops chrome mandalorian or something like that Think a bosa should probably probably know what i'm talking about ps2 and jc whore We won't have it on wednesday, but we should have it by this weekend rich then Supernatural justin herbert chain movers russell wilson got tutu and scritch Got chargers lorry roundtree the third rookie ticket kellen monrickie the year chain movers traumas kelsey I didn't get him in my other fans Kirk cousins. Yeah I think he was my second pick Got broncos ps2 playoff tickets at 99. There's a nice hit for your rob Nice ps2 joe mine tanya I think we're looking for what one more auto i believe fabric gladiators dalvin cook and a lock pack And we do we've got a chuba hovered on the three out of 30 ticket stub There you go on card auto 2 jersey number ticket stub So my thought was coming out there for you rob and rookie of the year trevor loritz All right, that will do it for your contenders boxes rob. Thanks again for hopping in congrats And we'll get these right out to you