gift of Ephesians 2.8 and 9 you just read it said it's one gift it doesn't say gifts it says Doug gift Doug's an article in front of that Doug gift Ephesians chapter 8 Ephesians 2.8 and 9 that you use okay Ephesians 2.8 you said Ephesians 2.8 yeah 8 and 9 you did it earlier okay hold on I just changed it I'll put something else Ephesians 2.8 8 and 9 the one you did earlier Ephesians 2.8 9 and 10 it says for by grace you have been saved through faith and this is not your own doing it is a gift of God not a result of works so that no one may boast for we are His worship created in Christ Jesus for good works which God prepared beforehand that we should walk with Him now how do I get to say that that they happen simultaneously from that passage you said Doug gift that's a direct article it doesn't say that our salvation comes because that this you was right that this, that 8 and 9 I'll let go together but it's one gift so when he begins the chapter in Ephesians chapter 2 no no no no no he's speaking of collectively faith and salvation right my point is it goes back to the whole phrase so yeah you was right on that it talks about both of them grace and faith goes together let me read this passage and see what you think about this passage alright so see if I can renew your faith in me alright let's go to 1 Corinthians chapter 2 I want you to miss me it's going to be on the screen he says listen the natural person 1 Corinthians what chapter 2 verse 14 2 14 I really ain't got that yet it's on the screen okay I'm on my the problem is I'm on my right lie town and I can see that where I go ahead okay he says for the natural person that's a non-believer does not accept the things of the spirit of God why and why for they are folly to him he is not able to understand them they are spiritually discerned the spiritual person judges all things but himself is to be judged by no one so the problem that we have is the natural person the unbeliever has an unspiritual heart so to speak he can't receive in other words it's an FM broadcast and he has an AM receiver so what has to happen to him this carnal person is a fleshly minded person can't understand anything spiritual his heart has to be changed spiritually then he can understand it and so even 1st verse 2 verse 14 is kind of given the process before he can understand this spiritually discerning message he has to be able to receive a spiritual message how does he receive a spiritual message his heart has to be changed that's John 3 so his heart has changed then the next time or whenever he's ready he receives a spiritual message that's faith I don't know, I can't say definitively that as soon as his heart has become spiritual as soon as his heart is regenerated that he then places his faith at that exact same moment there's no passage of scripture that says that a person can get a new heart and a new heart without salvation you can walk around with this new heart but you're not saying what passage of scripture can you use to hold that just like you can't find a passage of scripture that says that once they get regenerated they immediately place faith all we know is that to be in Jesus Christ we are new creatures we know there's one fact that a person with a regenerated heart will be saved so he can walk around with a regenerated heart and not be saved and then someone come around and say Jesus did, oh now I'm saved he can do that for years listen, listen you're putting too much emphasis on the fact that I'm saying that they're not simultaneous I'm not saying that it happens in 2020 and then 2024 he plays, that's not what I'm saying I'm saying they're two different things they may very well happen simultaneously I don't know, we don't have any passage as they do or they don't, what I'm saying is regeneration is not salvation it's two different things all regeneration is that's the question so in Ephesians chapter 2 where we came from we just left from the Bible said we're dead and our trust pass then we read a couple of verses the lady said God quickens us is that a one-time event? because the word quicken in chapter 2 of Ephesians suggested salvation we are made alive at the beginning we did in our sins we were walking around in our trust pass we out of it and then he turned around and said God quickens us so what you're saying is how are you going to get a new heart and you day it you can't walk around with a new heart and be dead at the same time I didn't say, wait a second something's happening in the community because you're thinking if I put the key in the ignition turning the ignition doesn't necessarily mean the car is going to start but turning the ignition is how the car starts if I give you the key in other words changing your heart it's not the same thing it's two different things they could be simultaneous you all are missing my point I'm not saying they're not simultaneously I'm also not saying that they are simultaneous all I'm saying is it's two different things now the reason why I can say that they might be two different things is because here's a passage that he was bringing up that Layton Flowers brought up and that's his issue in Colossians 2 where he says that and it was a good point that he brought up he says having been buried with him in baptism in which you were also raised with him through faith so we are raised in him through faith however if regeneration is faith if regeneration is that we're now made alive through regeneration then we got a problem because we're raised through faith we're made alive through faith we don't have a problem I've seen the video the problem that God didn't know how to answer the question there's no problem because every book of the New Testament has the different ways okay let me ask you a question what does regeneration mean regeneration being born again to have a new heart to be made new now let me make my point do I take Matthew the word regeneration is not in Matthew but then Jesus tells how to get into the kingdom you got to go the narrow way once you go the narrow way what does that mean I'm born again I'm regenerated the reason why you say born again is salvation is because I use your term how old are you 58 okay so for 58 years you've heard some pastor preach that being born again is salvation I'm saying the word for born again all it means all it means is being born born from above it's just being born from above the process is born from above being born from above is different then listen if that's how you want to take it that's fine I want to understand how you interpret it being born from above is how to believe and he said you don't have those resources those resources come from above hold on here it is being born from above being born again is the spirits working so here it is once the spirit enters the heart and changes the heart are you with me I need you to follow me once the spirit goes into the heart that person's heart has been regenerated right now when the spirit comes in without being born saved hold on listen to me listen to me when the spirit goes into the heart and regenerates the heart are we saying the spirit is making them safe the spirit is making them giving them faith no they didn't have to place faith in Christ we're told to believe we're told to believe if we don't have to believe the spirit did it for us no all the spirit did was change our heart so we could believe when the spirit comes in now we have the mechanism by which we can believe the spirit doesn't believe for us if that be the case all we got to do is just be here so where do the faith come from so where do the faith come from the faith is the the ability the ability the ability to trust him the ability to trust him us trusting him comes as a result of having a regenerated heart exactly which comes from who comes from the Holy Spirit so in Ephesians chapter 8 he literally just agreed with me faith the gift and grace and faith the gift you get to regenerate the heart with houses the grace and grace all you've got you only have a few passages where we talk about this regeneration and again the spirit comes in you right let's say and we're going to go ahead and cut it off but let's say it's 740 pm and I just got my heart regenerated at 740 pm the spirit enters my heart and changes my heart right now am I saved yeah so according to you the spirit did everything listen the spirit does everything the spirit does everything the salvation is totally of God okay I didn't say it wasn't of God I said that now we are belief is required we have to believe but we can't no one no man we have to God let's God put that in us do what how we're going to believe if it don't come from the Holy Spirit i'm not saying you're not listening to me you're not listening to me i'm not saying i'm not saying i'm going to call this than you are you know I learnt my dispensation i'm saying The moment that the spirit goes in, the moment that a heart is regenerated, the moment that a heart is regenerated, the person now has, I believe, the ability to now make an affirmative decision to place his faith in Christ. That's what happens. The spirit didn't believe for you, the spirit doesn't believe on your behalf, the spirit just allows you, gives you, regenerates your heart so that you then make the decision. We are called to believe.  And so the spirit, all I know is it's two different terms. Regeneration is not the same as faith. Regeneration is not the same as faith. And so once our heart is according to John 3, according to Titus 3, we are regenerated and then we make the profession of faith. Now, I don't know how long it takes after regeneration for a person to believe. I do know that regeneration doesn't come after faith. I know that. I think the previous gentleman was incorrect. But anyway, guys, it is 7.43. We're two hours in. Yeah, I know you were, I know you were. I was trying to leave an hour ago. But that's a good conversation because I think it's one event. I think it's one. I think they have the regeneration faith. All that happens at one time. I don't think there's a period of time between now. And I don't think I can find a, I probably can find more passage of scripture, even Greek that says it's Samistanias versus trying to say, okay, this happened here and then this happened later. It'll be a half minute to find that and then try to prove it with scripture where I can teach it dogmatically. That's the problem I have with it. Okay, well, listen. Listen, as long as we believe there's one thing, faith is required. You must believe in Christ. I agree with that, so. And we believe that. To me, that's neat because the other brother got serious issues and let's agree to pray for him. For real, let's pray for this other brother that the seminary he'd go to be a great seminary and that he'll come along better. Well, he's younger. He's younger and so I believe that if his desire is to really say what the Bible says and not what he wants to say, same with me, same with me because I had to get past some things that I thought. I said, I wanted things to be a certain way and because I wanted to be a certain way, I read them a certain way, but I changed a lot of what I believe based on reading. So anyway, that being said, brother, I appreciate your time. I've got to go. I am so, so, no, Christian. Listen, it wasn't a put down, Christian. No, what we were trying to say is that wherever you go, we pray that now, I think you're well in your way, but I think if you go, if Christian, if when you go to seminary, if you go there and you're going to read a book and you're going to make the book say and the Bible says whatever says what you want to say, then that means you don't have, you're not giving the opportunity for yourself to learn or to be wrong. I read everything hoping, if I'm not hoping to be wrong, but I look to be wrong and if I'm wrong, amen, I just found something new. And so I changed my belief on tongues because of that. I changed my belief on eternal security because of that. I changed my belief on predestination because of that. I did not believe these same things. And so because of that, no one's saying you're not doing proper exegesis. Now, Christian, you're getting a little bit of finesse. So, okay, I'll leave it alone then. I'll leave you alone, Christian. No problem. Go ahead. And then we'll go ahead and dismiss that for this. Yeah, I don't have to, brother.  Yeah, cause he's a cowboy fan. I know you like to coast, but that's all right. Yeah. But when you go into seminary, what I did, I grew up a bachelor.   Go in and empty your cup, study and let the Holy Spirit fill that cup.  That's just what that is. You're going to, that's just what that is. For sure. But I changed my views on some things that I grew up learning and about the church. Because like you said, I studied the languages. I studied my Bible and I'd be like, I'll wait when this might not be quite right. Like the conversation we have, it's really a nitpick conversation. We talk about seconds or hours. Yeah. I could be already in the bed. Cause basically we agree we said the same thing. We just nitpicking to me. Yeah. So in my thing, let's pray for this brother and go on and go to the big guy. I think I got to work. Well, I appreciate y'all. So you have a good night. I got to go get me something to eat and watch me and some of this football game that's on and then see what's happening with the rest of my family. So I appreciate you brother. Hey listen, rest of you guys, I thank you all for bearing with me. You all have a wonderful night. If you disagree, I'm looking forward to see the conversations in the chats.  I'm this, I'm that. Amen. But what you also have to say, I'm also your brother. Amen.


I just realized that we, as room organizers, didn't actually have MCs, so I'm just going to MC myself, next speaker is me, yay. We need to figure out MCing for the others. For any speakers who haven't heard this before, if you want lapel mics, you can get miced up back there, basically five minutes before your thing. Also in breaks, feel free to test the laptop. But this works pretty nicely. So now to the actual talk. This is me talking about business observability at Grafana Labs. If you could close the other. So I need to start with a disclaimer.  I got a pretty substantial concussion 10 days ago and got cleared to travel last Friday. So this was basically me doing those over the weekend. Normally they look nicer. In the words of Mark Twain, if I had more time, I would have written a short letter. They would be prettier, not as text heavy. So sorry, but it is what it is. So setting the scene and going in strong on purpose, you'll see why on the next slide. We have always been very cost conscious in everything we do, which set us apart from most of the other hyper growth and all the buzzword things. And we never really or no, we never bought growth with basically free money, which was flowing out of the central banks. We always were quite conscious about not just losing our optionality in the end.  If you don't have this, you've seen this in the market. That's one of the for the finance people. The runway is more like a highway. And we never had layoffs. We never completely stopped hiring or anything. All of this is not just me saying, hey, we are great. This actually has a reason why I'm going in so strongly. Because those two slides are basically for your manager. Because I do have some experience talking to potential customers and such about those topics. And there are a few strongly held misconceptions. So by me saying, hey, we did the thing right. And this is what we tell you as harsh truth. My intention here is to enable you to also take this back internally and tell people in your company, hey, listen to this external people or this external person if you don't listen to me. Because I have been to a few Phenops things, not like as a speaker, at least not physically. But I've seen quite a few and most of them have an absolute overhang of money and finance people, not of engineers, not of tech people. And this is a substantial strategic mistake on the part of both the finance people and the tech people. It's much, much easier. And finance people hate hearing this, but also they're kind of relieved because they don't have to do the work. It's really easier to get engineers to do Phenops and to do proper cost control than to get finance people to do this. Because it's basically just something else which you have to track and which you have to optimize for, but it's not something which is completely new or unheard of. It's just a number you have to optimize for to put it very, very simplistically. You don't actually have to start to understand how operations works as a finance person. You have a completely different starting point. But also to be very blunt, and again, this is also for taking this back into your companies. Same as with all the other buzzwords of things which have been successful for other companies, it's not just free. Like you can't just slap the new label on the old thing and hope something else happens. You actually have to change parts of what you do and how you do it very deliberately. Ideally, this flows into your culture because else it's not going to be sustainable for very long. So speaking of culture, there is a saying that culture is stretchy for breakfast. And in my experience, this is very much true. Unless you have a proper culture which also goes in this direction, it's going to be exceedingly hard to do more than basically a hay fire. And you won't be super successful. You might have one or two things, but it's not going to be substantial. And one of the best ways in this and in everything else to actually change the culture within a company or pretty much whatever group is accountability, transparency, information for everyone. So it's very important that you don't hide those numbers and every team sees their own number and finance maybe sees not even everything or whatever. You need to actually make this discoverable for everyone who has an interest in this. And you also must push this towards the people who should be having an interest. You will see this a little bit in a second. People also observe what behavior is rewarded, who gets promoted, who gets called out in the weekly or the monthly or whatever. Those things are knobs which you can turn or which your manager or whoever can turn. Put that one engineer who did some cost saving onto a pedestal and say, hey, this person did really great work and do this in front of all the engineers. And the others also want to have a piece of that cake. So what are you going to do? The thing which gets rewarded. Quite a few probably heard me speak in the past. And if you did chances are I did yep about SLOs and SLO reporting and how this creates a culture of accountability and all those things. The same is true for cost. So for those who do not know at Grafana, we have a weekly SLO report, which is an email which just goes out every Monday morning European time to everyone. All the engineers, senior leadership of the company, sales people, basically everyone in a leadership position or within the engineering org gets this email. We had a great week, everyone gets the email. We had a shitty week, everyone gets this email to create accountability and just have this cadence of this is the information, this is the ground truth across the company. And we have the same, we introduced the same for cost. So every Monday morning, we get now get two emails, one for cost, one for SLOs.  And again, this goes to all the engineers, it goes to all the company leadership, everyone. The contents look back over the last 30 days. And if you care, take a picture of this or download the slides after or watch the recording, but those are the things which we found useful to highlight. The to-dos of the team, just again, transparency and just accountability of, hey, did things actually change and improve? Total cost, total idle percentage, like how much are we wasting for stuff which we are paying cloud providers who, who don't actually provide anything or is it just not being used? Cost per cloud provider, growth decrease for all of those. Yeah, I mean, you can read it yourself, you probably already did. Also all the prices which we show in this are list prices. We don't show the discounted prices. You can look them up if you want to, like we don't hide them, but we don't care that you optimize for your, for the discounted prices. Of course, discounted prices are going to change over time anyway. We like to think we're pretty good at negotiations. Also things change, like moving stuff between different vendors and technology change. We also want this to be comparable over long-term and also it can just be highly unfair if one team just has a workload which is harder to discount for whatever reason. So everyone gets to see the list price. And the idler resources are accounted to the platform team. So the platform team also has an incentive to get stuff improved. It's not just like magic away note, this is actually cost which we, which we track. I see two people smiling in pain. Also, and this is not part of this report, but this is also important attribute costs to your customers as well. Cause by doing this you can automatically or you automatically get into this position where you can actually do proper unit costs, where you can do margin calculations per customer. And all of those things actually flow all of a sudden from the engineering org and you will have very happy finance people who actually work to give you more resources for your efforts. Of course, they are the people who have the money and control the money and they also get information which they need. This is actually going to benefit both of you. Also identify if you have like specific customers who have X amount of resources statically assigned to them. If we have a drop in data ingestion for whatever reason, engineering and or account teams immediately find this and you see those conversations like, hey, why does this happen? What's an outage? Did the customer have any issues? Let's reach out. Okay, this is deliberate. We scale down the things which are contractually obliged like talking to the customer and everything of course. But why should we and by extension the customer pay for stuff which is just unused if they currently don't need it. So I was talking about working with finance. One thing which is going to be very surprising to quite a few of you. It was also very surprising to me. At the end of the day, unless we're like talking orders of magnitude or something crazy, finance will always choose a predictable spend over a lower spend, always. Of course, their issue is they need to plan this and not just for the next month, for the next year and beyond. So they will always optimize for knowing more than for spending less. And this is just something to keep in the back of your head course for most engineers. This is like heresy and it doesn't make any sense. But from their perspective, it actually makes sense. And start by covering the obvious. Like for example, by technology, by team, by whatever and break this out in a very easy way. Our finance people get the same cost report. And once you have this relationship and once you have this trust built on top of this, cause honestly, you're not the experts in what finance needs to do their jobs. Unless you're a finance person, it's not in the audience, but whatever you get what I mean. The thing here is work with them and extract what they actually need and give it to them. Cause most other parts of your org are going to be really, really, really bad at giving finance what they want and when they want it. So if you can automate this, if you can have a pipeline which finance comes to appreciate over time. Again, magically you get more resources, cause all of a sudden finance is like, let's give those people more money and more resources. This is highly beneficial again to both sides. So how do you get the data? A few cloud providers give you nice metrics on this. A few cloud providers don't. I think we can say that no cloud provider has a strong incentive to give you perfect visibility into your cost structure and immediate ways to substantially decrease the spend for the long run, for obvious reasons. But some offer you more, some offer you less, but everything you get just ingested and persisted so you have it. We like to store the raw data in Prometheus and Mimir directly cause this is literally what they are made for and it's just metrics at the end of the day. So as long as the storage is available, you can just do whatever with those metrics and it's really quick to run queries in this tiny amount of data from the perspective of a proper observability tool. And also you start being able to correlate more with other things like your revenue, like your outages, like all of those things you can make more and more interconnections and much more easily if you have everything in the same backend. Also in the spirit of full transparency and Mark and Juanjo can talk about this later and come to a tush later. We are also currently evaluating what precisely we are using open cost for cause it's relatively heavy for what we need. So we are looking at how we do this. Heavy both in the amount of processes and code which is being run and in the amount of promcule queries which are being run against the backends. And also there's a little bit of a focus on Kubernetes. So for example, things like how much does this object storage cost or this network or things like these are not easily done. So we are currently looking at this. So a few stories from the trenches. When Flair was still very secret no one talked about buying Pyroscope. Well, not no one, but whatever. Different topic. When Flair was still a secret within Grafana and not officially launched. So we have the system of hackathons. Again, as I said, those slides are not super structured. We have the system of hackathons three times a year. Everyone, doesn't matter if they're finance or engineer or user success or whatever get a week of time to do basically whatever. Like obviously if they're on call and such this needs to be taken into account but beyond those obvious constraints they just get up to three weeks per year doing whatever they want. The basic rule is at the end you have to present what you did and what your success or your results were and if you have no results, whatever you're not going to get fired or anything but that's the thing which we put at the end of the thing. So one of the engineers decided to take the hackathon as an opportunity to learn profiling course. This is new and cool and let's see how this works. And they really didn't know what to actually profile. So they just looked at our Kubernetes and all the different cloud providers and everything. We're like Promtail is one of the things which we run the most. Let's look at Promtail and talking to a few low key engineers who maintain Promtail. They dimly remembered using string handling functions which are like super inefficient but it doesn't matter cause it's not in the hot path like it's only on the sides. They didn't have time to optimize this and just moved on. Well, we actually use this a lot. It was on the hot path a lot. So this one single week of a hackathon and just giving someone the time to just explore on their own how to optimize stuff led to savings of five figures per month. I'm not telling you the exact figure but it was substantial. And on the drive culture change through recognition. That hackathon entry was one of the finalists and we made this part of the, back then it was the cloud forth nightly. Now it's the engineering weekly doesn't matter but like this was showcased. So even if someone missed the hackathon results during the all hence this was also showcased within the engineering org again and again as an example of good work being done to just drive this behavior throughout the org. Check your defaults. Another team which shall remain nameless deployed a new workload. I see people laughing, they remember this. And other teams needed to basically model their workloads on the workload of this team. So they just complete the template. Unbeknownst to most of the people for testing reasons the initial workload was given extremely high IO guarantees. So for those who don't know at your cloud provider you can basically say how much guaranteed IO you want to have for this instance and you just get this as reserved resources. IO is expensive so getting this reserves is really expensive. Long story short we had super high guarantees on pretty much every single thing which we ran across our infrastructure at some point for a short time. But like until someone actually looked and saw where the money was going and broke this out by different aspects of how the cost is structured no one actually realized that this is there a substantial chunk a embarrassingly large amount of money per month and per whatever timeframe went into this thing and we literally did not use it we literally didn't need it but we needed someone to look to actually find it because we're just an honest mistake. And yeah it was terrible to fix cause to change the template just rebuild everything you're done like this is a matter of hours. I wanted to have like for example I wanted to have a nice picture of a dog here for a spot so most of you will have heard of chaos testing. And chaos testing can be hard and it can be expensive to implement and it can be hard to get buy in for upper management to allow chaos testing and everything it can be really hard. But you can also get your chaos testing completely for free you can actually get it in a cash positive way by just interrupting your normal services on purpose randomly through the cloud provider cause you just pay them less. So one thing which we have started doing is for workloads where this is defensible we put part of the workload on interuptable instances preemptable instances spot instances like whatever the name is with your provider. For those who don't know this means that the cloud provider can switch off this machine this container this whatever at any point in time. I think even without telling us before but maybe they do yeah okay with sorry okay one minute warning we have the experts here. So you get one minute warning and then everything is gone. And we deliberately use this and we basically just have a portion of our services with the instances ready to be driven against the wall by the cloud provider at any point in time just to save money.  So unless you have proper SLOs and proper SLO budgets you cannot do this kind of thing. We do and we are pretty good with ours so we have this budget and we can actually start investing part of this SLO budget into cost savings. This also drives again a lot of cultural change because all of a sudden you can have conversations with finance about why you should be having SLOs because this will save you money. Like those kinds of conversations and this kind of holistic win-win-win-win-win across the organization is a good example of how you drive a change of thought throughout your company by telling people hey there is something beyond this which you actually really deeply want and currently everyone is looking to cost cut for obvious reasons so almost everyone. So this again is just a good example of where you can push towards having proper operating principles with something completely unrelated at first glance. So yeah all of this takes a village. If you don't have hackathons I mean you can't probably just implement it at your company but you can at least take those slides as a external validation of why this might make sense within your company as well. To just have this as a try maybe even scope to cost or whatever but like just to have this to give people who have good ideas actually the time to try those ideas and try and implement something. Also and I mean as you saw I worked at Grafana and everything I do believe that shared reports shared dashboards and everything do build a shared understanding and shared language and shared mental model of your thing whatever your thing is across the whole company because I wouldn't be working here but the thing is as with everything else when it comes to operations observability everything you start building a shared understanding you start having engineers who can actually have a informed discussion about cost trade-offs just as part of their normal design doc process because they already have all this information at hand and they already know everything about this. We have a platform team which rolls out a secret amount of new regions per year and basically provide a baseline and all the software engineering team built on top of the platform not a huge surprise these days and we also have a platform cost team. This is not something you do on the side you do it in a hackathon, okay fine and maybe that means you get hired into the platform cost team but you can't do this consistently on the side. This needs focus and you need to actually be able to focus on this for a long term and it needs good engineers. You can't just like put level ones in a room and be like okay figure this stuff out. You need to actually invest proper resources and proper engineers into this for the long term. Again use those slides, talk to your managers about this kind of thing citing those slides. Also as a little bit of a more or less impromptu idea Juanjo just opened a Slack channel so if you want to discuss more of this about this on Grafana Slack there is no cost observability as a channel so if you want feel free. Speaking of Mark and Juanjo there's going to be another talk on this topic with much more in depth of actual queries which we run and how we think about this of the matrix of what actually makes up your spend like the rate of your spend and the amount of what you're using and then the product of this actually being the thing which you need to optimize for and how to optimize for both of those orthogonal vectors to then have the lowest total amount of spend. I'm making a mess of this but maybe you get what I mean. So yeah anyway I gave you enough time babbling to take a picture of this and that's it. So now I'm taking my MC head on I don't actually know when the next talk is we can probably optimize a little bit for the in-betweens for questions or we can't 10, 25. So we have 10 minutes so we can probably take five minutes for questions there's a microphone if anyone has questions or we just get 10 minute break whichever you prefer. Thank you. Going once. I mean this is more scary to be so we don't have a runner if you can come up here or you can just yell and I repeat. So the question was is if there was a moment in time when we realized that this is actually something which a team needs to carry instead of just having this on the side. I mean yes there was certainly a moment I don't know the precise moment I think it was pretty early. We do like one of the things we have internally yes we have a lot of people who are able to do a lot of things at the same time but also we realize that this is not ideal. So outside this like one of the things about the hackathon process is to identify ideas and a few of the cost-saving things which you've seen here and which you will be seeing in the future are coming from hackathons. So we deliberately like bubble up those short hay fires of motivation and innovation but if slash when we are in this for the long run we identify our owner and in this case it was pretty clear we don't actually have anyone dedicated to this so I think we start by hiring Juanjo for this and then build a team from this course we realized it's not just the one man thing or one person thing. Anyone else yeah. So on the topic of cost optimizations I saw that you mentioned profiling and I'm curious I imagine to get a good view of kind of where you can save money you want to profile probably everything is that what you do at Grafana or do you profile just some work clothes can you talk a little bit about that? So the classic engineer answer it depends. The thing yes we have continuous profiling and yes we profile like the intention is to be able to profile everything at all times but not to always do it because it's also like it's just a cost trade-off of how much you invest. The thing which you should get started on is literally look at your Kubernetes or whatever you have. What are your heavy hitters? What do you run the most? And then start looking at those few things and once you have established some internal experience some internal success also it makes it easier to defend this to your manager blah blah blah blah the usual then go from there and basically grow into where you want to grow but start with the heavy hitters because you have the highest likelihood of being able to save substantial amounts of money. Makes a lot of sense, thank you. So we probably have, yeah, just again yell. Sorry, can you repeat? So you're talking about the customer? Okay, so the question was about the provisioning for the customers and that this should be automatic and also downsized automatically. Yes and no. In the generic case, yes. I was careful during the talk but probably got whatever. There are certain situations where we have contractual obligations to have X amount of resources for a specific customer because that's just part of what they pay for. And in those cases, even though we have a contractual obligation to have X amount of resources or ingest or whatever things have been defined in the contract, we still, if we see a drop in this, still have this conversation with the customer because the worst thing which happens is they say, no, this is contracted. I want to maintain this. The best thing which can happen is it goes down a little bit, we go down a little bit and maybe they get a discount or then the renewal gets cheaper or whatever. Yes, it's a special case. But also to be very blunt about this, while we have the ability to autoscale both up and down in many regards, I don't think that this is universally true. So for the vast majority of the people in this room, it's probably true that they need to do this manually anyway. Yes. So the question is if the weekly cost email automated or is it manual, it's absolutely 100% automated. And this is essential to the use of this tool. There's this parenting tip of saying, not that you say, hey, you have to go to bed, it's the clock saying you have to go to bed.  And same for cost being too high. The thing is you take out the human component out of this thing gets sent, no matter how good or bad the state of the world is. It just happens every week. It just happens. And I have whole talk tracks around those social dynamics of how you drive change with this, but the short version is it must be fully automated and it must be removed from human editorialization or anything to enforce this cadence of this is just sent out to everyone, blameless, but relentless. I think the back one was first. So the question was, this is easier to do if you have good service boundaries and good team boundaries and ownership boundaries. How can you do this when you don't have them? Again, I have a whole talk track around this topic. The short version is once you start producing numbers and once you start sending those numbers out to everyone, in particular, the people who control the money, you're not going to stop sending this report. Of course, those people want to maintain the report and they want to keep having this report. So you completely flip the conversation of, hey, you think this is wrong. You think this is wrongly attributed to you. You think you're actually better than what's over there. Great, let's work this out. Let's break out your part of this. And you basically put the pressure of making those determinations and creating proper boundaries and everything onto the wider group. And again, through this mechanism of the clock saying this larger group is bad, you will drive this dynamic of everyone wanting to either improve or getting out of that group automatically. I think we can do one last one, then it's probably. You already had one, I think. Hey, yeah, this microphone is very intimidating, by the way. Yeah, we probably will have a runner for the next one. So I had a question about, you mentioned using Prometheus for storing your cost data, and I was curious how you dealt with extrapolation on increase in rate, or do you all just deal with it or use gauges for it or something like that? I don't know if we have counters or gauges. What do we have? Okay, it's counters. So we deal with it. Over the long term, it doesn't really matter anyway. If you look at, like with my Prometheus maintainer head on over 30 days, honestly, it doesn't matter too much. Like, yes, it's not going to be mathematically precisely correct. Like if you use R or pi signs, yes, it's going to be even more perfect, but it's more than enough for what you need. Thank you. Thank you. Also, if you can stand up, you can also find those too.


Good afternoon. So we can have the second lecture of algebra. So the last time I gave the definition of a group and of a subgroup and some easy examples. And now I will want to talk about co-sets for a group. It's first thing, so for that I will also co-sets of a subgroup inside a group. So for this, I first want to briefly review, although I expect you know it, equivalence relations. So that we have everything in place. So review of equivalence relations. So equivalence relations occur very often in mathematics. Whenever we want to maybe somehow identify two things, because in some sense they can be identified, then this is due to an equivalence relation. So let us see what it is. First, let's see what the relation is. If A is a set, the relation on A is just a subset of the product of A with itself. It's just a subset contained in A times A. And we would maybe denote the right, say, A is related to B for AB is in R. So this is a kind of such a general concept that it's almost without any use. So now we look at special relations, which are equivalence relations, which allow us in a suitable sense to identify two things if they are related by this relation. So such a relation, so this relation is called an equivalence relation. If it satisfies two properties, the three properties, the following three actions fold. So first, every element is related to itself. So A equivalent to A for all A and A. So this is called useful for reflexivity. The second one is if A is related to B, then B is related to A. So that's a symmetry AB and A. And the third one is the, in some sense, the most important one because it's the one that is most difficult to check and practice, so which is the transitivity. If A is related to B and B is related to C, then it follows that A is related to C. And we say that A and B are equivalent if we have this relation to C, A, and B are equivalent. So as I said, in practice, when you want to show that something is an equivalent relation, you usually find that these first two things are obvious. And the only one where one might have to put some work is the third one. So and then very often in mathematics, it happens that one is looking at certain things, certain mathematical objects. And one finds that there is an equivalent relation on them. And then one will want to identify these objects if they are equivalent, which means that one replaces the set by the set of equivalence classes. You see what the set of elements equivalent to it. And so we want to introduce this. So first, let's look at this example. So for instance, again, we take an element k and z, which is non-zero. Then we say we define A is equivalent to B if k divides A minus B. So this means divides. And then you can easily check this is an equivalent relation. And so now what I want to show. So if you have an equivalent relation into a set, on a set, we find that the set is decomposed into disjoint subsets, the equivalence classes. So each set will be of the form or the elements which are equivalent to one given element. So an equivalent relation determines a decomposition. So say on a set A determines a decomposition of A into disjoint subsets. And these subsets are called the equivalence classes. And so let's see how that goes. So I will actually want to, so that means OK. So I'll actually define it. So let A set an equivalence relation. So the equivalence class of an element A in A is, so this is I noted by A, which is just the set of all B in A such that A, so say B is equivalent to A. So this is the equivalence class. And then the remark is that if we have an equivalent relation, we get a decomposition of A into equivalence classes. So let A be non-empty set, non-empty. And we take the equivalent relation on it. So the distinct equivalence classes with respect to the equivalent relation form a decomposition of A into disjoint sets. So this is obviously quite trivial. So the first thing is that the union of all the equivalence classes, so what is being stated here is that the union of all equivalence classes should be the whole of A. And two such equivalence classes are either equal or disjoint. So we know, after all, by our action, the flexibility that A is equivalent to A. So thus, for every A in A, we have that the class of A contains A as an element. So therefore, A is the union of the A with A in A. And the second statement is that they are disjoint. It's also very simple, so either disjoint or equal. So let's take two elements. So we want to see that they are either disjoint or equal. So let's assume they are not disjoint, so that they have something in common, then we have to show they are equal. Assume the equivalence class of A intersected the equivalence class of B is non-empty. So that is, we can take an element in this intersection. We want to use this to show that they are indeed equal. A is equal to B. I mean, that the equivalence class of A is equal to the equivalence class of B. So we have that, so x lies in A. So it follows that, say, x is equivalent to A, or if you want, A is equivalent to x. And x lies also in B. So we also have x is equivalent to B. So by symmetry and transitivity, we have A is equivalent to x, and x is equivalent to B. So it follows that by transitivity, that A is equivalent to B. So now, assume y is an element in A. So that means y is equivalent to A. Then by transitivity, using this, we also have that y is equivalent to B. So in other words, y is an element of the class of B. So that means every element of the equivalence class of A is an element of the equivalent class of B. So we have shown that A is contained in B. But obviously, the situation is completely symmetric. We could have exchanged the role of A and B. We would have gotten the corresponding result that B is contained in A. So therefore, A, so by symmetry, we have A. And so we have shown that if we have two equivalence classes, if they have a non-empty intersection, then they are equal. And that's what we wanted to show. OK, so that was simple. Now, I should maybe say just a few more words. So if I don't know what I want to call this definition. But anyway, so let again, we have an equivalence relation on a set A. And so if we have an element A, in some equivalence class B, then we say that A is a representative of B. Actually, in this case, as we have seen, we know that A is equal to B. But anyway, that's not relevant. So what very often happens in kind of the daily life of a mathematician is that you have some nice set on which you have some nice structure. And you have an equivalence relation. And you want to somehow have the structure go to the equivalence classes. So the way you usually do this is that you define it in terms of the representatives. So for instance, you want to take the sum of two equivalence classes with respect to some group structures. And you do this by taking the equivalence class of the sum. And this kind of definition will make sense, if and only if it's independent of the choice of the representative. And so often we want to define something for the equivalence classes by making the definition, I say it in a rather vague way, but I think it's pretty obvious what I mean by making the definition in terms of representatives. So this will make sense, will lead to a valid definition. And one would usually say, one says it is well defined. If this definition is independent of the choice of representatives, and if it's not independent, then this will not be a valid definition.  So we had before this equivalence relation, which we had so on. So we have example on z. We had this equivalence relation. So we have chosen element k, say in z, which is non-zero. And we have an equivalence relation, which we had just seen, that n is equivalent to m, if and only if k divides n minus m. This was an equivalence relation, as I had claimed before. So we want to, so I call z modulo kz, the set of equivalence classes for this relation. So we have a set whose elements are the equivalence classes. And we want to, so equivalence classes, according to this, are no n for some n in z. So now we want to make this into a group with somehow using the addition on z. So define in addition on z mod kz by, if I add n plus m, so if I took to add the class, the equivalence class of n to the equivalence class of m, is supposed to be defined as the equivalence class of n plus m. So this ippa-ora does not necessarily make sense because we have defined the sum of these two equivalence class in terms of the representatives. I've written n plus m. But the claim is this is well-defined. Because what do we have to see? We have to see that if I have another representative here and another representative here, I get a representative here of the same class. So in other words, we have to see if n is equivalent to n prime and m is equivalent to m prime, then it follows that n plus m is equivalent to n prime plus m prime. That means that it's well-defined. Well, and that is actually obvious. Because what does it say? So in other words, if k divides n minus n prime and k divides m minus m prime, we want to see that k divides n plus m minus n prime plus m prime. But you know, that's clear.  This is r times k.  So this is clear. So this is actually well-defined. And one can check with this definition. z mod kz is in a BN group. I mean, if you want this in exercise, so the neutral element B0 and the inverse. So I have the notation here. I take the additive notation for this group. So minus n is equal to the class of minus n. You can check that this is true. Anyways, this kind of follows easily from the corresponding property for z. OK. Now, we want to look at, we have defined what the group is and what the subgroup is. And now I want to see that a subgroup in a group defines us an equivalence relation on the bigger group. And the equivalence classes are the so-called cosets. And we'll study these afterwards and see what we can do with it. So I'm talking about cosets. So as I said, so if h subset g is a subgroup, then this defines an equivalence relation on g. And the equivalence classes are the so-called cosets. And we will maybe now go to the property definition. So we have this thing. We have g is a group. h is a subgroup. So we define an equivalence relation, which I now denote a little bit different on g as follows. We see that a is congruent to b. So a and p are elements in g. a is called congruent to b, modulo h. If and only if, what is it? If I take that there exists an element h and h, such that, which we want it, a is equal to b times h. So whenever I can obtain a from b by multiplying by h, so obviously this is an equivalence relation or the other round, then I call them equivalent. So I say a is congruent to b, mod h. So this is an equivalent relation. Well, that's quite easy to see again. So first, obviously, a is equivalent to a itself, mod h. We can take our element h here, take h to be 1. And a is equal to a times 1. And we also see this is the first property, this is the reflexivity. And then we have the symmetry, which is also trivial. So if a is equal to b times h, then and h is an h, I can multiply by h to the minus 1. And I get that b is equal to h to b to a times h to the minus 1. And if h is an h, then as h is a subgroup, this is also an h. So we also get that b is congruent to a mod h. So the first two properties are clear. And in this case, also the third one is not really more difficult. So transitivity. So assume that a is congruent to b mod h. So a is equal to bh for some h in h. And b is congruent to c mod h. So b is congruent to c times h prime for some h prime in h. Well, then obviously, a is equal to, I mean, we just put it in, c h prime h. And h prime h is a part of two elements. And h is an element of h. So this is in equivalence relation. So yeah, that's all not very exciting, but OK. So the equivalence classes are called the cosets. So I'll write it more correctly, finishing at h b sub of g. Then so for every element a in g, we call the set, say ah, which is just somehow what looks like it's written here. Every product of an element of a with an element of h. So a times h, where h is an element in h, is called the right, a left coset. I find it always, I mean, it's how it's called. Although I always find it strange because the h lies on the right, but that's the way it's called. So it's called a left coset of h in g. So you can see by the definition we gave before, that the coset of a is precisely equal to the equivalence class of this equivalence relation. So by the above, so with respect to the above equivalence relation, we have that ah is the equivalence class of a. And it's clear by definition that if I take the equivalence class of the coset of one, this is just h. So we have the decomposition of g into equivalence classes. And one of these, so which are these cosets, one of them is actually equal to h. And now the next thing we will see that all the equivalence classes have the same number of elements in a simple sense. They are all bijective to each other. So they are all as big as the sub-comp h. So remark, so let ah and ph be two cosets. So this is called the left coset, but I will only consider left coset. So from now on, they are just called cosets. So let ab be two cosets of h and g. Then I claim they are bijective to each other. So we have a map from ah to ph, which sends just for any h and h, the element h small h to b small h is a bijection. h is a bijection. I mean, by definition, if that's very simple, I can write down what this map is. This map is just, in a suitable sense, the multiplication. So how is it? It's b. It's the multiplication from this side by bA to the minus 1. So because you can see this map is given by multiplying any element here with b times A to the minus 1. And so this will certainly send any element ah to the corresponding bh. And it is a bijection because we can obviously give its inverse is the multiplication well by the inverse element, so by ab to the minus 1. So if I have any element in ah, first I multiply it by this. I get the ah is sent to bh. And then I apply this, it's sent back to ah. So this is the bijection in both directions. So we find that any two cosets are bijective to each other. So in particular, if the group is finite, or if the cosets are finite, or if only the cosets are finite, they have the same number of elements. So ah, and so this allows us to make some kind of simple counting argument. It's all not very good. So the definition, let G be a group, H a subgroup. So we say the index of H in G is ah, no. I don't want to say that now, subgroup. So then we denote, so the set, so the set. Of cosets of H in G is denoted G mod H. We call the quotient set of G by H. And so it contains, so by definition, G mod H. This set of all ah with A and G. And the order of this group of the set, so the number of elements, so the set, the number G mod H, so the index of H in G is ah, the number of elements of the set with a usual convention that we write it's infinite if this is not a finite set. So with the, and so is, so I should say it is denoted ah, G H, and defined to be the number of elements in this quotient set. And so when we say this index is infinite, equal to infinity if G mod H is infinite set, OK? So it can certainly happen that G, both G and H, so if G is finite, then certainly the index of any subgroup will also be finite. If G is infinite, it can be that there are some subgroups which are also infinite for which the finite, for which the index is finite. So for instance, example can look at our stupid example that we have kind of always used of Z mod K. So if we have, so let K is an element of Z without 0, and maybe for simplicity I assume that it's actually positive, then we know that K Z is a subgroup of Z. And we can form the quotient set, so the quotient set is Z mod K Z. And you should notice that this is precisely the set before I had defined Z mod K Z in a different way. I had said that Z mod K Z is the quotient of Z by the equivalence relation where we say that two elements and an MI equivalent if the difference is divisible by K. But you can easily check that this is the same statement, that this is the same as the quotient by this subgroup. So note this is the same definition as in the previous example because K Z is just the set of elements in Z which are divisible by K. And so then you find that the two definitions I gave for this are the same. The quotient set is this, and you can check easily that this is a finite set. So Z mod K Z is equal to the equivalence class of 0, 1, until K minus 1. No? Because if we have any element which is, for instance, larger than K, we can do division with rest, and we get an element which is equivalent to it, which is lies in the same class as one of these. And so this quotient set is indeed finite. And so the index, so in other words, we find that the index of K Z in Z is equal to K. As one would maybe also expect. OK, now get our first theorem, which is not very difficult to say the very least. But it's still, it's a theorem because it's useful. And it was maybe even has a name to it, it's a theorem of Lagrange. So let G be a finite group, and H be a subgroup. Then the number of elements of H divides that of G. Then H, so which one can also call, which was also called the order of H, divides G. This, I remind you, means divides. Well, first thing that's still right. So which is the order of G. The order of any subgroup divides the order of the group. And to make it more precisely, more precisely, we have that the order of G is equal to the order of H times the index of H and G. OK, so this is a bit, I've called this theorem, but it's actually quite obvious. But it's called a theorem because it's quite useful. So let's see first how one sees it. So we just use what we have here. So we have that G has a decomposition into equivalence class into cosets. So we know that G has a decomposition into cosets. So we have, and in fact, the number of cosets is G mod H is this index. And they are into G mod H disjoint cosets. So in order to prove that this identity holds, we only need to see that all cosets have H, have as many elements. But we know that already because we have seen that one of the cosets is actually equal to H. And all cosets have the same number of elements. So H is a coset. And all cosets have the same number of elements. So it follows that the number of elements in G is equal to the number of elements in H times index. OK, so this is, as I said, fairly obvious. But I mean, one must say maybe to the defense of Lagrange that he was one of the inventors of group theory. But it's also really useful. I think, again, this was invented for the use in Galois theory. And it's an important little fact. I will give some corollaries to show that this is somehow useful. So the first one is a corollary. So first I define the order of an element. Let A in G in element in a group, where G is a finite group. And so I don't need that. A is an element in a group. G is a group. I'm making a definition of the statement. So the order of G, the order of A is odd of A, which is the smallest positive power of A such that you get 1. So it's equal to the minimum of all n positive integers such that A to the n is equal to 1. If such an n exists, such n exists. And it's infinity otherwise. So in particular, for instance, differently from a very annoying misprint in my notes, the order of 1 is 1. And for every element in the group. And obviously, if G is a finite group, you will find that the order of every element is finite. Let's see. In particular, we get the following statement. Corollary, let G be a finite group. And I take an element A at A in the element in G. Then the order of A divides the order of G. Well, it's not so. So what we actually, I mean, it's kind of clear how one would want to prove that. You want to see that the subgroup generated by A contains precisely the order of A elements. And then, so as it's a subgroup, we use this thing. And so it has to divide the order of the group. So let's see it faster. So let A be the cyclic subgroup, which we introduced the other time. The cyclic subgroup of G generated by A. So it's enough to show that this has as many elements because it's a subgroup, no? Enough to show the number of elements in this subgroup is equal to the order of A. Because as is the subgroup, we know its number of elements divides the order of G. And so that's it. So well, that's not very, let's see. So you might remember what this was. We have that A is equal to the set of all A to the n, where n is an element in z. So not generate this system. And A to the n wall meant multiplying A with itself n times, or if the n is negative, multiplying inverse of A with itself n times, as you had introduced yesterday. So now we employ, so in z, we have division with rest. So by this number, order of E. So that is, we can write n. So we can write n, n equal to sum number d times order of A plus the rest, where d is an integer. And r is an integer between 0 and this number minus 1. No? Everybody, this you learn, I don't know, maybe in the third class or in the fifth class or something, school. And so what does it mean for this? So if I take A to the n, this I can write as A to the d times the order of A plus r. And I can also write the other round. So this is the same as A to the order of A to the power d times A to the r. Now, A to the order of A is equal to 1. So this is 1. This is equal to A to the r. So we find, so therefore, for each n in z, A to the n is equal to A to the r, for r an integer from 0 to order of A minus 1. So we find that this set here, so we see that it's equal to 1 A A squared A to the r order of A minus 1. So the only thing we have not yet seen is that these elements are really all different. So we have precisely A order of A elements. We want to see that they are different. To see they are all different. Then the number of elements in A is precisely order of A. Well, so if A to the r1 is equal to A to the r2, with, say, 0, smaller equal to r1, smaller than r2, smaller than order of A. Maybe I write like this. Then what do we have? Well, then we have, obviously, we can divide by the other. We get A to the r1 minus r2 is equal to 1. And we also have that r2 minus r1, I want. And we have that, obviously, 0 is smaller equal to r2 minus r1 is smaller than the order of A. No, because we have subtracted the smaller one from the bigger one. And so we know, however, that this order of A is the smallest integer such that we get 1. I mean the smallest positive integer. So it follows that this number must be 0. r2 is equal to r1, in other words. Or we get, say, I want to say r2 minus r1 is equal to 0. So in other words, A to r1 is equal to A. So r1 is equal to r2. So we see, therefore, that A consists of order of A elements of these elements. And all of them are different. So the number of elements in A is order of A. So this then actually shows that the order of any element in a finite group divides the order of the group. It's not very. So another such simple summary is that this basically follows. If we, in particular, if we take any element in a group and we take it in a finite group, we take it as to the power of the order of the group, we get always 1. So also, we're going to have G be a finite group and A an element in G. Then if we take A to the order of G, so the number of elements in G, this is 1. This is something which one uses quite often, but it's obviously quite easy to see. So by the previous corollary, we have that the order of A divides the order of G. So we can write the order of G as sum number of D times the order of A, where D is a positive integer. Well, and so if I take A to the order of G, this will be A to the order of A to the power D. But A to the order of A is already 1. So this is quite easily the case. But this does play a role in some arguments also in anyway. So this was just to have some more. Well, then finally, something about the structure of groups, which is again, is very easy corollary. So obviously, it's difficult to know for a general group what all the subgroups are also for general finite group. But if the number of elements in the group is a prime number, then we know because then there's essentially none. So corollary, so a G be a finite group, such that the order of the group is equal to P with P is a prime number. So I expect you know what a prime number is. So that's a positive integer different from 1, which is only divisible by its seventh one. Then G. So for one thing, I wanted to say that G has basically no. So the only subgroups of G are G and the trivial group. But actually, we can save it more than G is cyclic. So we can precisely see what kind of group it is. So this is very simple. So what does it mean to be cyclic? It means that there is an element in G that G is equal to the cyclic subgroup of G generated by that element. But in this particular case, it's very easy. We just take any element which doesn't happen to be 1. And then the subgroup generated by it will already be G, because there's no room for other subgroups. So for any subgroup H in G, we must have we have the number of elements in H divides the number of elements in G, which is P. But as P is a prime number, it means that the number of elements in H either is 1, which means that H is a trivial subgroup, or it has the same number of elements. It has the number of elements as P, which means that H is G. So there are not so many subgroups. And so now let's take any element with A being an element in G, which is not a neutral element. Then if I take the subgroup, the cyclic subgroup generated by A, this is a subgroup of G. And it contains an element which is different from 1, so which is different from H, different from the trivial subgroup. So by what we have just said, it follows that A, this subgroup, is equal to the whole group. And so G is cyclic. OK, so this was this simple statement. So much for the moment about groups and subgroups and the cosets and the quotient set by subgroup. So are there any questions to this or comments? So have I already told you until now anything that you didn't know before or not? To nobody? Anyway. OK. What? Nothing new. But is it OK or the same?  And not for me, for everybody.  But I think so now we want to talk about normal subgroups and quotient groups. So if G is a group and H is a subgroup, we have the quotient set G mod H. And I mean, the natural thing that you could ask yourself is, is this, again, a group? Is this in a natural way? And it's kind of in a natural way means one wants to do the obvious thing and it should become a group. So what is the obvious thing? I mean, it's kind of clear. So we would want to define the group structure on this quotient set by saying that A H times B H would want to define this as A times B H. Now, obviously, but as I told you, this is, again, a definition in terms of representatives. So in order for this to be a valid definition, we would have to see that it's independent of the representative. So have to see to make this into definition should be independent of representatives. And so we can ask ourselves, so otherwise it's not definition, but just nonsense. So let's see. So let's check. So the point is that, I mean, that we will see, is that this will not always be well-defined. So in general, this will depend on the representatives. And so this is not a definition. But if you put an extra definition, an extra condition on the subgroups, which makes them, and such subgroups we call normal subgroups, then this is well-defined. So we can easily see that we need some condition by looking at some example. So for instance, if we put, say, what we want, A, so the element A equal to the 1. So what we want, so thus we need. So I have to explain. So thus we need A h is equal to B h, that's A prime h. And B h is equal to B prime h. Then it follows that A B h is equivalent to A prime B prime h, or that A. So let's just look at an example. So assume that we take A to be 1, A prime to be h, which is certainly fine, because they are A1 and any element. And this is an arbitrary element in h. And we take just, say, what we do. We take B, any element in G, an arbitrary element, and B prime equal to B. So we look at just one special case to get some to see whether already here we find the condition on h. So we want that, in this case, that A B h, so B h, is equal to A prime B prime h. So this is H B h. And B is an arbitrary element of G, and h is an arbitrary element of H. So in other words, that exists in h prime, in h, such that H B, so this one, is equal, so it's maybe not so easy to distinguish, but anyway, H B is equal to B H prime. Well, if this is the case, it follows that I can multiply by B to the minus 1 on this side. So it follows that H prime is equal to B to the minus 1 H B. So in this case, but remember that B in G was arbitrary, and H in H was arbitrary. So we actually have found the condition. Namely, we have that for all H in H and all B in G, we have that if you want B to the minus 1 H B is again in H, or I can replace B by B to the minus 1, we want that B H B to the minus 1 is an element in H. So in order so that we have a chance, I mean, we haven't proven that this gives us a group structure on the quotient, but in order so that we have the smallest chance that there is such a group structure on the quotient, we need this condition. And which subgroups which satisfy this condition we call normal subgroups. And then we will see that this condition is also sufficient. So definition, let G be a group, H a subgroup. Then H is called a normal subgroup of G if this condition holds. So if, say, A H A to the minus 1 is an element of H for all A in G and all H in H. So we'll see. Let's first see that there are some normal subgroups and there are some groups which are not normal. So example, certainly if G is a billion, G is commutative and all subgroups are normal. This is obvious because if it's commutative, then A commutes with H. So A H A to the minus 1 is just equal to H and H was an H. So this is kind of clear. And let's look at one example of a subgroup, what?  In fact, we are not going to use this. There are groups, I mean there are many groups which have the property that the only normal subgroups of the group are 1 and the whole of G. And such subgroups are called simple. And one of the biggest results in group theory of the last century is to give a complete classification of all finite simple groups. And the third one is if that G. So let us just look at a simple example. So G, assume that G is equal to S3. So let's look, so just the permutations of three letters, symmetric group of three letters. So then we take a subgroup H to be a group with two elements. So first, as a subgroup, it has to contain the identity, so which is the identity element. Another one is what is called a transposition. So I exchange 3 and 2, 2 and 3. So this is a subgroup. And why is it there? So you can easily check. So it's straightforward to see that if I take 1, 2, 3, if I take this element and multiply it by itself, then I get the identity. So this will give me the trivial transposition. I mean, you can just look. No, 1 goes to 1, and then it goes again to 1. 2 goes to 3, and then 3 goes to 2. And 3 goes to 2, and 2 goes to 3. So it's this. So this means, first, that it means two things. One thing that this set is closed under multiplication. If I multiply anything by E, I get the thing back. If I multiply this by itself, I get the identity. So this is a subset which is closed under multiplication. And we see that this thing, we have a neutral element which is E, and the inverse of E is E. And the inverse of this element is the element itself. Because if I multiply it by itself, I get the identity. So this H is a subgroup. Inverse of 1, 2, 3, 1, 3, 2 is the same element. And obviously in the same way, we'll do here, obviously in the same way, if I take 1, 2, 3, 2, 1, 3, and I multiply it with itself, this again will be the identity element. So then we can compute. If we look at this element, 1, 2, 3, 2, 1, 3, and I multiplied with this element here in the group, and I multiplied with the inverse of this element, remember that the inverse of this element is the element itself, then we can just compute. So this would be 1 goes to 2, 2 goes to 3. I'm not yet finished, 2, 3. And 3 goes to 3, so I actually was finished. Then 2 goes to 1, 1 goes to 1, and 1 goes to 2. And 3 goes to 3, 3 goes to 2, and 2 goes to 1. And you see, this is an element which is not an element in H. So we have found that indeed, this H is not a normal subgroup. OK, that's what I have. Yeah, and then, well, maybe I can still try. So now we want to actually show that what I know, what was the purpose of defining a normal subgroup, namely that if we divide by it, we still get the quotient set as a group, that this actually is true. So maybe I don't call it this way, I call it a position H in G, a normal subgroup, then the quotient G mod H is a group with the obvious group law with modification A H times B H is equal to AB H. And well, so this is quite simple. We only have to prove that the product is well-defined. In some sense, we essentially already did this when we motivated the definition of a normal subgroup. But let's do it properly. So we take some elements, let AB be the elements in G, so maybe I say A prime, B prime, B elements in G, such that A with A H is equal to A prime H, B H is equal to prime H. So that means that A is equal to A prime H for some small h in H and B is equal to B prime times H prime for some h in H. Well, and then we want to somehow see that AB and A prime, B prime are related. So if I take AB, this is by what we see, A prime H times B prime H prime. Now we can remove the brackets and we can multiply by B prime to the minus 1, which is just 1. Is this what I want? I hope so. Yeah. Now this is, we have an element in H. We have taken the element to the minus 1 times H times this. So this is some element in H. So this is equal to A prime, B prime, H double prime, H prime. So this is a product of two elements in H. So this means that H prime is an element in H. So thus ABH is equal to A prime. OK, so that's quite simple. And the rest, so once it's well defined, the rest of that it's actually group is kind of obvious. So it's clear. So that we take the, so the associativity is clear, follows from that of group G. I can kind of write it out. So if we take A H times BH times CH, well, this is by what we have now ABH times CH. And this is done by multiplying by this. So this is ABC times H. And now you can see, we already don't see the bracket anymore. So we can go backwards on the other side. So after some steps, we get that's AH times BH times CH. And the neutral element clearly is 1 times H, which is equal to H. Because if I take A times H times 1 times H, we get A times H. And the inverse to A times H is A to the minus 1 H. So this is certainly a group. So maybe I should stop now. So I think, OK, so maybe even that was not new. But so I hope you would have some. But is it really? Well, anyway, so for now it's enough. So next time I will work a little bit more with these quotient groups. And I will also then talk about homomorphisms of groups and use them. OK.


And you'll have access to the advanced one just for immediately following here. So if you are interested in getting a sneak peek into some of the more advanced features and analysis of what Bookmap is showing you, to get that, it comes along with your in trial period or you are already a current customer. What Jason is being is to just go through platform details here and then those that are using Bookmap we want to go into much more deeper analysis because there's been a lot of demand for that. So we separated out, get the newer people and reaching out to any of the newer people. Anyone in here? Let's see. I think Jason, you had said that you were new to Bookmap just the other day. So how is it going? What do you think so far? And any questions? Just let us know here. And good morning, Francisco. Yeah, I owe you a reply, Francisco, so sorry about that. Let me give you the link here for that advanced analysis webinar. It's in the chat. There you go. Okay, so Bookmap platform details. Risk disclaimer, trading equities and futures involves substantial risk of loss and is not suitable for all investors past performance, is not indicative of future results. Go to bookmap.com for more information. You can become a member there. You can explore and watch maybe these intro videos here if you're new to understand. Just give a basic overview of what Bookmap is and then we'll scroll down here. These are some of our partners and then ways to connect Bookmap. You will need a data provider. So we do not provide the data. We are a software platform, trading platform, and then some of the pricing information. So there's two versions of Bookmap. The Bookmap Basic and the Bookmap Advanced. They are billed quarterly. You get a 14-day trial period, though, so it's free and check it out. Follow along. As I'm going through things, take a look yourself and what you can decipher and ask questions and just get better at reading the order flow. The difference between these two versions of Bookmap are the add-ons and the ability to trade from the chart, the one-click trading. These are package deals with DX feed. It's the same basic in advance. They just have the DX feed. DX feed is not for futures data. It's only for U.S. equities, NASDAQ total view. You can still get that with the basic and advanced version. You'll just subscribe to it separately. It's not as a package. Okay. All right. And then once you're in here in the portal in the user area, you can find links to education features, support, you know, there's Q&A questions or FAQs, et cetera. You can follow along with us on Twitter to get the most up-to-date information. And then there are YouTube page, all sorts of good stuff here. If you're new to Bookmap, then I would recommend start with the introduction video here. It's the same that's on the website. But then watch some of these features and components videos. There's a playlist here. So you can open up the playlist and then you can see them all here. Now, let's see here if Scott or, no, it was Richard was asking me. I do not see him in here about the replay mode, okay? So anyway, the replay data here and replay mode and how to use it is part of the features and components videos. So you'll find it in that playlist. It's a very powerful way of learning Bookmap. It's very straightforward and you're able to see many instances of Bookmap very quickly, okay? Then order flow video snippets. Watch just a few of these if you're new just to get a feel for what they are. And it's a phenomena that we go over more in the advanced webinars so you can start to integrate this kind of or spot this kind of phenomenon activity and then start to adjust your trading methodologies around them, okay? And then highly recommend watching the Bookmap education courses here. There's four of them. And then you can find the recordings here, okay? Okay. Oh, good, okay. Yeah, Jason, the software looks amazing. How can you export data from Bookmap to a database? Well, the way you can export right now is you can export the time in sales. That is in a column here. So let's right click in a column, okay? And let's insert a new column. And then I'm going to right click again. I just inserted a new chart range volume profile. I'm going to right click again. And then the different data types here. There's current order book, volume, trades counter, quotes counter, quotes delta, notes, which is custom notes and cloud notes, and then also time and sales. So let's open up time and sales, okay? And you can actually detach it as well here. So you have your time and sales in a separate window. And then you can export your data here, okay? So just click on that. And you can export the time and sales, okay? All right, let me close this column. Just right click and click hide. Okay, so now we go over this because there's always new traders in here. And it is important to understand what you're looking at in Bookmap, okay? So we're going to start with this candlestick chart. Everyone, more or less, is familiar. I really haven't come across anyone who's not familiar. There was one guy a few weeks ago, but it's the open-high-low close of a specific time frame, okay? And in this case, what are we looking at? We are looking at five-minute candles here, okay? You can adjust for them here in Bookmap. And this is your favorite part, Francisco. Okay, so now we know the open-high-low close of this five-minute period. All right, and now the data here, though, you can start to read the Wix and the kind of selling pressure up here, maybe some buying pressure in some of these areas with candlestick patterns. And they've been popular for decades. But there's so much more information here that you're just not getting. You're just not seeing. And that's a problem. The software today now offers much more transparency and insight into these areas, okay? And this is about 5% of the data. Open-high-low close of a time period, and that's it. Well, you don't know about the volume. You don't know where it traded. You don't know their commitment. You don't know what type of volume and how much. And exactly where is so key and gives such insight. So, in fact, I can just look at our volume subchart here. And our subchart in Bookmap is not a true volume chart. Like if we look at a candlestick chart, let me just demonstrate this, okay? Okay.  All right. Well, here in Bookmap, you can see this 5-minute period from here to here. Here's the volume. So, I can already see in the chart here in Bookmap, I've already seen some exhaustion right in this area here. We don't see a lot of trading. And that's just due not to the candlestick chart, and it wouldn't be to the subchart either, but it's certainly going to be to this subchart. And once we get the volume dots on here, you'll see the distinction. Okay. So, let's start to add some of the levels of data here. Okay. And then we're going to add first just the historical best bid and offer. Okay. Here we go. We're already getting insight. Okay. So, we can see that this is little micro structural ranges in here. There's a nice little setup here that we go over in the advanced. I can already see it here, and I can't wait to turn on the liquidity and that exhaustion. Well, you know, it didn't happen in this 5-minute period here. It actually happened here. All right. Okay. So, and this is a little range. We see the bounce here, backup, and a little micro range here, and then a breakout of that range. All right. So, we already have a lot more data just with the historical best bid and offer, but here's where we're going to get a lot of insight. Okay. Now, Bookmap is showing you on that historical best bid and offer where the volume traded. Okay. We can see where it traded by the size of the dots, and we can see the color of the dots to get insight to what type of volume it was. Now, you see these dots here are in a pie display. Okay. That's because there's so many trades that took place here and so many contracts traded that we don't have the pixel space to display it all. However, we can zoom in. I'll click on the hand tool, hover over this area, and I'm going to zoom in very quickly just with my center mouse wheel. I might have to reposition my mouse, but now you can see I break apart all of these pie displays into the individual trades. Okay. So, and what are we showing here? Okay. So basically, here's your historical best offer and best bid. Okay. Green dot is a market buy button that takes place on the historical or on the best offer and a red dot is on the best bid. Okay. That that is a market sell and this is a market buy. Okay. And anyway, as I start to zoom out, you know, you can see we're recording every single event. In fact, I know that there's some trades in here. So let's zoom in. Okay. And let's break apart all that activity. Okay. This is what really occurred in this market. Now we're down to just millisecond level and we can continue on and we can look at microsecond level and even continue on and get into like nanosecond level. All right. So we're talking billions of seconds here. Okay. All of this data is plotted and recorded. It's very, very objective. Okay. But, you know, we don't trade at those low time frames. So as I zoom out, what the software does is it aggregates this into a bigger dot to give you the overall. Okay. Just based on your zoom. All right. So and then you can see that the pie display gives you the overall. Then you can see that, you know, roughly somewhere between two-thirds and three-quarters of this was aggressive selling. Okay. Hitting the bid hard and driving price down. Okay. So that's how bookmap solves that problem with the volume. Now it's a lot like a footprint chart and I like footprint charts. They are very informative. However, there's a problem there and the problem is that it's good. It's good to know that where the transactions are taking place, but we don't know what the auction looks like. And that's usually when we then turn to a dome. Okay. And most traders are, you know, future traders are looking at a dome, maybe to, you know, pinpoint their entries and exits and trade management.  As you can see, let me go to the current market. Okay. You see these levels of liquidity here. This is your dolmen book map. Okay. Your COB column, current order book. And I have it. I've just right-click and I formatted it. And you can see I've formatted it as numbers only. And I've split out the display and reversed it. Okay. So, I mean, you don't have to do that. I just try to mimic for the webinar and I like it. I like to see the distinction and it looks more like a traditional dome. On the right side, I have my offer, the depth on the offer. On the left side, I have my depth on the bid. And this is your best bid and offer right here, which is reflected here as well with the dashed lines. This is your best bid and offer. And last traded volume is this number. Okay. So, this is good. It is a good picture of the very current state of the market. But you're going to watch as these numbers change, you start to lose that data. Okay. Now, you might lose reference because they're adding and pulling liquidity limit orders at these price levels all day long. Okay. So, the problem there is that once they start pulling and adding, you might not remember. And it is difficult to remember over a time period some of these areas here and where they were bidding and offering beforehand. So, book map solves that problem with the heat map. So, let's turn that on. Okay. And what the heat map here represents, and it's in this market window here, the current market window, it represents the liquidity. Okay. So, a very bright area is high liquidity. Okay. We can see they're just jumping in here, being very aggressive at 75 with high liquidity. Okay. And so, immediately I know how this auction is unfolding. Okay. Now, we can adjust it here with the heat map. And maybe look at a little bit more, you know, a little bit more subtlety in the data and get reference to it. So, look at these striations here. Okay. So, these striations is when the liquidity is added and pulled here at this price level of 73, 75, that all of that data is recorded. Okay. And this is where a book map solves that issue of the historical evolution of the limit order book because once it's, you know, recorded, it's then transposed onto this chart. So, you can see the adding and pulling of liquidity here. Okay. You can see it very clear here and, you know, high liquidity and then they pull trades into that area. We're getting a lot of insight in this area here. You know, do they really want to trade? And the answer is no.  They don't, you know, they have other agenda perhaps, maybe to try to fill some of the liquidity down here. You know, looking to maybe try to get weaker hands that have stops down in these areas. Okay. So now, as I zoom out, we have a lot more insight to what happened here compared to the candlesticks. Okay. All right. So, any questions on that? All right. Okay. Because now we can start to read really what occurred here. Look at the high liquidity here on the bid. Okay. Coming down into this area here. And look at the aggressive selling. Okay. Into high liquidity. Okay. And then let's take these candles off. Okay. Because what I was looking for here, let me go over. Okay. That I kind of saw in the volume and a little bit in the candles there. The, I actually thought maybe we got a retest back down in double bottom, but we did not. All right. In that candlestick. But so this is really what occurred here. That candlestick lied to me basically. Because we came down and we trade into these areas. Now we can read the intent of these traders as we come down into this area here with high liquidity. And they're starting to absorb. And we can see the volume trading here. And it's the aggressive sellers here are taking the liquidity. Okay. And in some cases, well, in like in this area here, this has got to be, you've got to see some icebergs here. We see some. But yeah, looking for these areas of high liquidity and how price starts to trade and react in these areas here. Okay. It's actually a lot of stuff going on in here. Okay. Short-term high liquidity pressing price down into some of these areas. And anyway, the, as we come back down into this area here, now we get our retest here. Right. Look at the volume. We can just, we can see it in the dots, or we can see it in our sub chart here. And look at the retest here. You know, we see the aggressive buying that comes in here. And then we see a pullback to where they were buying previously. And there's no very little selling here. Very few contracts that traded here. We kind of rotate back up. And then here's a sweep of the book into this area here. And then now we're trading into a new level in a new zone. Right. And then I'm starting to target some of these areas like some of the swings like this area up here at 73. And looking maybe at 75 as well. Ultimately, maybe even up here to 78. Okay. All right. Now we didn't get to 78 and you can see it sells right back off. Okay. But we certainly got up to here. All right. It's a 75. Okay. So anyway, let me see here some questions. Sellers trapped around 10.09. Yeah. The no, I really don't see any sellers trapped around this. Oh, 10.09. I'm sorry. Here. Yeah. Yeah. Absolutely.  So okay. So here's the volume that, you know, people were bearish and hit the bid here right into basically into a trap. Okay. And then you see that the buyers snapped it up here and lifted the offer pretty quickly up out of that area. Look where we retest. We don't even come back down into that heavy volume here. Okay. So this area here is, you know, any of those sellers here, they're trapped. Okay. And they're feeling the pain as price is moving up toward maybe their stops here, maybe here and then up here at 75. Okay. And then ultimately in 78. But and look how we have these very high liquidity here ready to absorb any of that any of those stops. All right. In fact, they actually pull and we got a got a flip of the book here. But anyway. So now we have a sell off right back down into the same our same zone here. Okay. This is this is really where I mean we see the the the trap here. But I like this area better. Okay. Because this is where we traded above and accepted above. Okay. And that's exactly where we're testing right now. Okay. So are these buyers for real? Are they going to step in and and support price up at this area here right around this 71. And that is the question. Okay. And we're looking for it. Okay. We're looking for insight here in book map. All right. So I might be getting a little ahead of myself here. Does everyone understand any questions on the on the heat map? You know what it represents. And how to start to read it here like in this area here. We can start to read this as truly an auction. And that's exactly what it is. And that's what we you know because they're they're they're constantly bidding and offering in this area. And and we can read it. Okay. So okay look at our buyers at 71. They're starting to show show back up right where we put our line. Okay. And you know I mean if these are buyers that if they're positioned here well then this is a deal for them. Okay. Get some more on right. Maybe they took some profit up here as well.  They will support price in some of these areas if they are committed. Okay. And we can start to gauge it. All right. Okay. So let's see here. Then talking about icebergs. Yeah. You know I'm going to hold off on some of the iceberg orders. Even though I've got the the iceberg indicator. This is this is part of the book map advanced subscription. And I'll just basically describe it here. This this number here like this 126 here what it is describing. Is liquidity that traded. You know actual trades took place here but the liquidity was not in the limit order book. Okay. So think of an auction and just think of something where you know someone you know you have to have something to to bid or to offer for. And if you know no one no one's bidding but something actually a transaction takes place. Well something's a little off there that's impossible. It can't happen. Right. Well in the marketplace it can with an iceberg or a hidden order. They don't need to show their liquidity they can hide it. And that's the purpose of the iceberg because they don't want to skew the auction. They don't want to scare people away. They want to get filled at those areas. So you'll see larger players using icebergs and we can see and capture that here with this number as an add-on in book map. Okay okay so now we have that that the complete view here of of the auction and in the traded volume on the historical best bid and offer. And and we have that view as we zoom out or as we zoom in. Okay very very fractal. Okay I mean there's all sorts of fractal microstructures going on within some of these areas. And you know we we we see it all day long. Right you can I mean this looks like a pretty pretty pretty straightforward. It's pretty pretty big for a you know for a microstructure. But you might be able to make the argument then that this is a microstructure here that we we they hit the bid and and traded here down below where it was trading in this range here. Okay and they snapped it up and then they traded again at this range here. Okay so these two ticks down here now these guys would be this would be trapped considered trapped volume potentially. Okay just like we're looking at this area here on a more fractal level okay a larger area. All right okay all right well let's let's move on. I gave you the link here some of you guys maybe arrived a bit later. So here is the link it's in the chat if you want to continue on to the next webinar the we're giving you a sneak peek to the advanced webinar today. So feel free to join us and I'm going to kick it off in just a minute here. Okay so I hope to see you there.