Hello everybody, here's a very quick tutorial on how to use the Babel modifier to have glowing edges. I have a switch, which is very simple, just a few vertices. And the switch has two materials, a black one and a blue one. And I'll add the Babel modifier, which you can find here. Let's activate it, and then it looks like that, so the edges are a lot nicer, they are smoother. And it's very simple to have those edges glowing. All I have to do is change the material from minus one to zero. Now it's the black material because this is material number zero. If I switch it to one, it's glowing because this one is my glowing material, my emission material. Now there's a little bit too much glowing going on, I don't want this part to be glowing. That's also very simple if I turn on the angle. Now everything below 30 degrees doesn't get affected by the modifier anymore. So even if I switch the material back to zero, you can see that those parts are not affected by the modifier, which is exactly what I need here. Maybe I want this part to be glowing, just that part not, so I've switched the angle back to something below 18 degrees and now this is glowing again. So if I look at the rendered result, I can decide which one I like better. Maybe the edges are a little too big, so if I switch this to, say, my case points two millimeters, it looks a little nicer. Now this works with every kind of mesh you've got. It works with Susanna, so if I take my monkey head and also have a bevel modifier and also have two materials, black one and emission one. And now let's change the material to my glowing material and it has the wireframe, which of course there are other methods to do this, but I think this is a very nice and easy one. You can even turn on the subservice modifier. I think it really looks cool. You can also change the angle if you say there are too many. So let's turn it to 20 or to 10, whichever one you prefer or what you want to do. And that's all. Have fun.


What we're going to do in this segment, we're going to take a look at how heat transfer relates to a couple of other subjects that you'll encounter in this area of the thermal sciences and those are thermodynamics and fluid mechanics. So heat transfer obviously is related to both thermodynamics and fluid mechanics and what we'll begin by doing is taking a look at thermodynamics. So if you've taken a course in thermodynamics, you're fully aware that in thermodynamics we always talk about heat interaction. We talk about heat interaction, work interaction, and the change in the internal state of matter as it goes through transformations from one state to another. But essentially within thermodynamics we're always dealing with the conservation of energy and that's the main law that we use when we look at thermodynamics. And you could have either a closed system or an open system and depending upon the system that you're using, the conservation of energy or the first law of thermodynamics will look a little different. So let's take a look at a closed system to begin with. So when we're dealing with closed systems in thermodynamics, quite often what we will show is interaction between the system and the surroundings and interactions can be in the form of heat transfer, Q. And I should point out and I'll make a comment in a moment. I'm using heat transfers designation for Q. So if you think this looks a little strange from a thermodynamics course, that's the reason. But what we have is we have heat interaction, we have work interaction, and we have a change in the state. And in this case, we're looking at internal energy of our fixed mass system. And usually when we write out the first law, so if we're writing out the first law for this type of system, it would look something like this. So what we have is we have heat transfer in minus work. In this case, it is going out is equal to the change in internal energy per unit time. Concerning the units, I need to make a little bit of a comment here about the units that we're going to use. And if you recall from thermodynamics, and what we'll do, we'll take a look at the units for heat transfer. So quite often we'll have capital Q. Sometimes you'll see capital Q dot, and that would denote joules per second. And then other times what we do is we divide by the mass flow rate, or m dot, and that gives us a little Q that we use in thermodynamics. And that's usually energy per unit mass, so I'll put kilojoules per kilogram. And that is what we've used in thermodynamics. Now when we're dealing with heat transfer, what we do, we use designation little Q and that denotes joule per second or watt. And so those will be the units that we use in heat transfer. And you notice by comparing these two together, they're different. And so just don't get confused by that in heat transfer, little Q denotes joules per second. And that's why this version of the first law might look a little funny or strange if you've just taken a course in thermodynamics, or if you remember thermodynamics. But that would be how heat transfer is involved in a closed system. So what we'd be doing in heat transfer is determining what this value of Q would be that usually when you're solving problems in thermodynamics, Q is usually assumed or given. And if you recall in thermal, we also had systems where mass could be crossing our boundary and those are open systems. And so what I'm going to do, I'm going to write out the sometimes called the fluid kidney. So it's just some system. So there we have our system, we have mass crossing a couple of boundaries. We have an inlet and we have an accent. And given that we have mass crossing the boundaries, we have to be a little careful with the first law of thermodynamics. And we usually have information about the state coming in and the state leaving. And that is usually in the form of things such as the internal energy, little u, p, v, which is pressure times the specific volume, and the velocity. So that would be on inlet. And then on exit, we would also know that information. Now we put this all together and that goes into the first law of thermodynamics. So writing out the first law of thermodynamics for an open system, we have the following. Okay, so there is our first law of thermodynamics. Sometimes what we'll do is we'll cluster this into the enthalpy. And this is our kinetic energy. And this is our potential energy. And we have mass flow rate coming and multiplying as a pre multiplier in both the inlet and the outlet. And then we also have our heat transfer, we have our work. So in this course, we're going to be focused on again estimating what that heat transfer might be. And that is again something that is quite often assumed or just given when we're doing thermodynamic calculations. So that is an open system in thermodynamics and where we see places where heat transfer comes in. And I just want to make a comment about thermodynamics. I'm going to write that out next. So when we're studying thermodynamics, as I mentioned quite often the heat transfer is given. And so thermodynamics tells us nothing about the mechanisms that the heat exchange is taking place under nor does it provide methods for computing the rate of heat exchange. Now sometimes they'll give a problem where you can actually calculate q that might be for a particular system, but you have no method of actually going in and calculating what that heat transfer would be for given scenarios. And so that's what we're going to be doing in this course. We're going to be looking at the mechanisms of heat transfer. And we will be estimating the values of the heat transfer. And with that you're better equipped to be able to go in and then analyze systems, be it with thermodynamics or fluid mechanics, which we'll get to in a moment. But what we're going to do, let's take a look at a brief example that kind of illustrates this and what we'll do, we're going to look at the case of throwing an iron ingot that is being quenched in oil. So there we have our problem statement. You look at any thermodynamics book under closed systems, fixed mass and guaranteed you'll find questions that look like this. And so in order to solve this, what we want to do, we want to find what is the change in internal energy for an iron ingot that is quenched in oil and it's going from a thousand degrees C down to a hundred degrees C. So if you're doing thermal, what you do is you would go and you would find, well, we have to get the specific heat. And if you recall, DU is CVDT. So that is a way to evaluate the change in internal energy. Now we're dealing with the solid and consequently CV equals CP. And so we don't really have to worry about that, but we then go in and we evaluate the change in internal energy and we can plug in the values. Okay, so that's pretty typical of something that you'll see in thermodynamics. You evaluate 405 kilojoules. Everything seems great. You've solved the problem. However, there are some other questions that you may ask. Let's say you want to know how long is this process going to take? Well, looking at this, you have no idea. You have no way of being able to figure that out. Another thing, let's say we're dealing with ingot of iron, quenched in oil. Let's say you're studying material science and you want to understand what the microstructure is like on the inside of this ingot as it's going through this quenching process. So that means that you want to know what is the temperature distribution inside of this iron ingot and how is it going to change with time? Well, with thermodynamics, you cannot figure that out. And so what we need to do, we need heat transfer in order to figure those things out. Now with heat transfer, be able to figure out the convective heat transfer coefficient on the outside that would help us figure out how long it's going to take. And we would also use conduction and the heat diffusion equation that we'll be looking at in this course to figure out how the temperature on the inside of this iron ingot is going to change as a function of time. So the questions that we might ask, let's say you might want to know how long is it going to take and temperature distribution. Heat transfer gives us these answers. And so that's why you're studying and watching this video hopefully and we'll watch more videos and that way you'll be able to figure out how to solve this using heat transfer. And if you're not interested in that and you just want the thermodynamic approach, go and watch the thermodynamics course. Okay, so that's thermodynamics. Let's take a look next at fluid mechanics. And the place where fluid mechanics comes in to heat transfer is when we have convective heat transfers. So let me scroll back here. This was from the previous lecture segment. And what we did is we had convection here. So we looked at convection, convective heat transfer. We talked about that. And you have a moving fluid coming over some surface. Here I draw it as being a really nice flat plate, but it could be any kind of irregular surface. So that is the place where fluid mechanics comes into heat transfer. So what we'll be doing in this class, we'll be taking a look at convection. And of course we'll be looking at both natural and force convection. Natural is where the buoyancy force is what is driving the fluid and that provides the energy exchange. Force convection is where you'd have a pump or some sort of fan or blower moving the fluid over the surface. And what happens is we can do analysis up to a point. We can do laminar analysis. But as soon as you start getting complex shapes and if you get turbulence forming in the convective heat transfer over the surface, so let's say you had a turbulent boundary layer here, then all of a sudden it becomes very difficult to be able to predict what the heat transfer rate is. And we usually show that with the convective heat transfer coefficient. I won't get into that yet. I'll do that in in a later segment here. But when you get turbulence, then you need to use empirical data. So basically you conduct experiments and you use non-dimensionalization, non-dimensional numbers in order to come up with the estimates for the convective heat transfer that would be for fluid mechanic flows over heated objects or cooled objects. So that is how fluid mechanics and thermodynamics relate to heat transfer. We'll continue moving on and looking at a heat transfer and different aspects of heat transfer in this course.


Welcome to this course on data structures and algorithms. In this and the subsequent session, we shall examine how the post fix expression is actually evaluated. We have already seen the conversion of infix to post fix expression. Let us look at evaluation of the post fix expression. We have already seen this example in one of the earlier sessions. So, take the first example where the value of a is 5 and value of b is 3, let us say and the expression is a b plus a b minus star. So, we know how this is to be evaluated. a b plus will be evaluated as 5 3 plus a b minus will be evaluated as 5 3 minus. Each one of these sub expressions will result in values 8 and 2 respectively and then the last operator star will have to be applied to these two operands giving you the value 60. In exactly the same fashion, you can confirm that the evaluation of an expression a b raise to c d e star plus f minus star g slash which is a complex expression will be evaluated with these given values in this particular fashion. All that we are looking for is that given a post fix expression like this, we should be able to collect values for each of the named operands from the user and return the final value of the entire expression. So, let us look at this implementation. The evaluation of post fix expression is again facilitated by using a stack. How do we use a stack? Consider as an example the post fix expression a b c star plus which we treat as an input string. Let us assume that the values are simply 5 6 and 7 for the three operands a b and c. Now, we have three operands and two operators in this case. All that we do is we examine the input string character by character. When we examine each character, we find out whether the character is an operand or character is an operator. If it is an operand, we push its value on the stack. If it is an operator, we perform the operation on the top two elements of the stack which we observe on the stack and after performing that operation, we push the result back on the stack. We go to the next character. So, it is an extremely simple algorithm. Keep looking at every character. Keep pushing operands on to stack. The moment you come across an operator, take the two previous operands, perform that operation, push the result back on to the stack and carry on. Let us look at this example a plus b star c. The in fix expression will become a b c star plus in post fix as we have already seen. Let us assume values of 5 6 and 7. So, see what happens when this expression is evaluated as per the logic that we just saw. We examine the characters in sequence a comes first. We push the value 5 on to the stack which is the value of a. Next comes b. We push the value 6 on the stack. Next comes c. We push value 7 on the stack. So, far we have traversed the string examining the first three characters. Let us see what happens when we look at the subsequent characters. The next character we look at is star. Now, star is an operator. By our logic whenever we encounter an operator, we have to take the top two operands from the stack. Currently the stack contains three values. Values of a, b and c. Out of these we will take the top value which is 7 assign it to operand 2. Then we will take the value 6 and put it in operand 1. So, operand 2 and operand 1 are assigned the values of the two top operands that are available on the stack. Once this is done, we calculate the value 6 multiplied by 7. That means the multiply operation is now carried out giving us the result 42. This result is to be pushed on stack. Note that 5 was already on the stack. Now, 42 gets added to the stack. So, currently on my stack I have now two values 5 and 42. Let us look at further plus string that we will encounter next. When the plus string comes, remember we had 5 and 42 on the stack. The 42 value is pushed on operand 2 as before. The operand 1 contains an old value which is not to be used obviously, but in the next operation, we take the second operand from the stack and put it in operand 1. Now, we have operand 1 and operand 2 as 42 and 5. The result currently contains an old value, but when we perform the plus operation, this will be replaced by 47. This is the result of performing the operation plus. Since this is the result as per our logic, we push that result on the stack 47. Since there is no more character left in the postfix string, we conclude that this is the final result and we will be able to pull that result out of the stack and display it or print it. Here is another example A star B plus C in fix operation which becomes in postfix A B star C plus. Again we assume the same values. Here as we encounter A and B, we will push 5 and 6 onto the stack. Then we encounter star like we saw before. This operation is to be performed by the 2 operands on the stack. We have these 2 operands. They will go respectively to operand 2 and operand 1 and this operation will be performed resulting in a value 30. This multiplication result value 30 will now be pushed onto the stack. Note that on the stack, we have only this value 30 now, nothing else. That is because we have traversed up to this point. Let us go to the subsequent characters C plus. When C comes, it is an operand. So, we push it onto the stack. Then comes the operator plus. When the operator comes, we again apply the same logic. We have 2 operands on the stack. We get them 1 by 1 into operand 2 and operand 1 and perform the operation plus. The result will be 37. The result 37 will now be pushed onto the stack. Please note that when we assign value to operand 2 and operand 1 from the top of the stack, we have to pop that item out because we have already consumed it by processing it. Here is a more complex example. We will not go through the details. You can satisfy yourself in exactly the same style we have given the detailed explanation of what happens when the postfix string a, b raise to c, d, e star f minus plus star is input as the postfix string. These are the sample values. You can go through these operations. You will notice we are doing exactly the same thing. Whenever we see an operand, we push it onto the stack. Whenever we see an operator, we actually evaluate that operator and push the result on the stack. Again, we see an operand, we push it on the stack and so on. If we continue like this, these are the characters which are now considered being scanned and these characters when they come here, postfix element depending upon whether it is an operand in which case something gets pushed onto the stack and if it is an operator, something gets evaluated. At the end, we will have the value 848 as the result value on the stack which is actually the final value of the expression. In this session, we look at the evaluation of a postfix expression using a stack. We saw how easy the evaluation is. In fact, this is one of the reasons why we use the postfix notation in all computing structures. That is how computer evaluates all our expressions. In the next session, we will look at a computer program implementing this logic. Thank you.


When I'm simplifying the Reynolds transport theorem for the conservation of mass, I'm plugging in a beta value of 1 and a b value of m. That means my conservation of mass form is dm dt of the system is equal to the time rate of change of the integral of density with respect to volume, plus the integral across the control surface of density times the velocity vector with respect to area. Then we can start to simplify this depending on our circumstance. So if we were talking about a control volume, like we are in chapter 3, then dm dt of our system is 0. So I can say 0 is equal to the time rate of change of the integral of density with respect to volume, plus the integral across the control surface of density times velocity vector with respect to area. Furthermore, if I have incompressible flow where the density doesn't change, then I can write density out front of all my integrals by pulling it out and by dividing all three terms by density, I have 0 is equal to the time rate of change of the integral of the volume plus the integral of the control surface of velocity with respect to area. If I simplify my control volume because the integral of dv is just going to be volume, then I would have 0 is equal to the partial derivative of volume with respect to time plus the integral across the control surface of the velocity vector with respect to area. I can simplify this a little bit further if I have say a fixed volume and incompressible flow, so 0 would equal the integral across the control surface of velocity with respect to area, or if I have steady flow but incompressible, I can write 0 is equal to the integral across the control surface of density times velocity with respect to area. Just like in thermo, I'm calling my volumetric flow rate the velocity times the area, but here we have to keep track of velocity as it might change depending on where in the area you're looking. I mean, for example, the flow rate in the center is going to be higher than the flow rate toward the edges, so keeping it as an integral will account for that. Therefore, volumetric flow rate is equal to the integral of velocity with respect to area. Then that allows me to write the average velocity across an orifice is going to be the volumetric flow rate divided by area, which is 1 over area, times the integral of velocity with respect to area. Note the standard notation for fluids, volumetric flow rate, is q. That could mean that we could confuse between heat transfer and volumetric flow rate down the line, but we will try to differentiate, especially by writing specific heat transfer as a lowercase q to avoid that issue. If I have uniform flow at each section, where my velocity is the same everywhere across the orifice, the same in the center as it is toward the edges, I have one same velocity at the entire inlet or exit, then I can simplify the integral by writing density times velocity times area. That would be either a positive term or negative term depending on if it's an inlet or an outlet, which means that I can write my conservation of mass as zero is equal to the time rate of change of the integral of density with respect to volume plus the summation of density times area times velocity minus the summation of density times area times velocity. Note over here that this equation down here is the same mass balance we applied in thermal. It is the change in mass is equal to the mass entering minus the mass exiting. We are just writing it in terms of quantities that we are more likely to know in a fluid mechanics problem. Furthermore, we are allowing for the density to change in the event of a compressible flow and by starting at the Reynolds transport theorem and simplifying, we are less likely to fall into a trap of hidden assumptions behind equations that we've already written down.


I think we'll just go down the line from you to Fulker Pertes, who's the head of, I'm not sure how to translate it, but it's the SVP in Berlin, which is one of Germany's best think tanks. And Fulker has been particularly, has lots of expertise, but has been very involved with Syria questions too. So one of the things that you might want to talk about is a bit of European foreign policy and defence. So Fulker, over to you. Well, thank you, Steve. SVP, you better don't translate. It's Stiftung Wissenschaft and Politik, which is a hard test for everybody who doesn't speak German. So we call it the German Institute for International Security Affairs, which is easier, I think. Minister Vitrin has already sort of laid out the whole layer of uncertainties. And I think it would be fair to say, and you asked us what concerns us most, to say what probably of all these uncertainties concerns me not as much as other things. Ten years ago, we would have said the financial crisis and the economic situation of Europe. It's no longer our main concern. At some point in these last ten years, we would have said European institutions. We don't think it is our main concern. 2016, I thought that Brexit would become our major concern. It would occupy us for many, many years and sort of divide Europe. That hasn't happened. Even the migration crisis is, well, under control for the time being, and I guess we are a bit better braced today than we were in 2015-16. So there are a lot of things that don't concern me as much, even though they are part of these uncertainties. What concerns me much most, I think, is in an order of priority, I wanted just to mention, too, sort of the combination of developments in our strategic environment, our most important ally, no longer being our most reliable ally, unrest in our immediate neighborhood, which Europe has proven unable to deal with in a convincing manner. A big neighbor who has told us, again, that military power counts, even in Europe, which we thought it didn't so much, and a rising power in China, which is not a benign partner, but still has to be a partner because we don't want to decouple, as probably some Americans think they should do. And the combination of these changes in our strategic environment with a rise of illiberal movements in our own countries. The two things, of course, aren't separable. They hang together, not directly, but indirectly, and I think we already see in some countries that where more illiberal movements get to govern their countries, they are also much closer in their outlook to some of our adversaries outside Europe. So that is concerning for me. I think we can go deeper into what Europe should do in this field, but I'll leave it at that. That's also quite a good start, because sometimes I think at the base of all this is really a Europe that isn't growing fast enough to provide the money required to keep wonderful social programs going, which creates a whole class of people who feel that their lives have been worsened by modernity. And that goes to the heart, I think, of quite a lot of these issues.


Okay, today we are talking with Richard Hartman with Grafana Labs, an intro to open source observability with Grafana, Prometheus, Loki, and Tempo. Everyone, please remember that during the webinar you're not able to speak as an attendee. You're using the chat I see already, so say hello and thank you for Richard. We'll get to as many of those as we can at the end and we can even stay on a little bit longer since we're running late to take care of that. This is an official webinar of the CNCF and as such is subject to the CNCF Code of Conduct. Please do not add anything to the chat or questions that would be in violation of the Code of Conduct and please be respectful of your participants and presenters. Please also note that the recording and slides will be posted later today to the CNCF online programs page under online programs. They were also available via this registration link which will take you to our online programs YouTube playlist. With that, I'm going to hand it over to Richard so we can kick things off. Thank you again for Thank you. Thank you Libby. Thank you everyone. Word of warning, I keep getting pop-ups from the platform that my internet connection is unstable which I don't believe is the case but something is broken-ish so if I drop or anything I'll try to rejoin. So let's get started. Intro to open source observability. A little bit of validating that most of my life I've worked in engineering architecture operational roles so I have strong opinions about the right tools and about not perfect or not good enough tools. Oftentimes you have this parrot thing there where you have breaks between different media, where you have breaks between different trains of thought like how to how to index your data, how the mental modeling works, maybe one thing has the one color, the other thing has the other color or one thing is left to right, the other is right to left. It doesn't matter, you have breaks between your different systems too often which in turn means that way too often you end up paying extra cost in mental overhead or in automation overhead. It's not seamless, you need to switch mental modes when you go from your logs to your traces or what have you which is not nice and it just adds friction and you don't really need that at like five in the morning on a Sunday when you've gotten a pager. So let's try and rethink what we actually want to do here and I'm going to go through a little bit of like the philosophy of observability in a few buzzwords as a foundation let's say for what we are then talking about. There is a thing where the cloud native scale is basically what internet scale was two decades ago and that's kind of important to keep in mind because a lot of issues which we see in the cloud native world have already been solved in different contexts before us and it's always a good idea to look at what engineers before us did to solve problems like not the specific implementations because usually they don't fit their age if they're too old or the new age but the underlying concepts like for example computer networks, the internet, also power networks a lot of those tend to run on metrics because this is already a predestination of what you care about as a domain subject expert. So it's always good to look back at what has been done before and what worked not from the specific implementation but from an engineering point of view. As always in tech we have buzzwords.  Of particular note is cargo culting. Cargo culting is defined as observing behavior and observing success or results of that behavior and emulating that behavior without actually applying the underlying thought or fundamental engineering practices. It comes from indigenous people who observed soldiers building runways for planes and small control towers and such and then the gods sent stuff from heavens which was basically just logistics of the army but the perception was that just by building runways and such you could get gifts from the gods and to this day those things still echo in a few religions. So that is observed behavior it becomes part of culture but it's not actually doing anything it's not actually pursuing the goals or the underlying rationale and that's something which you always need to be worried about. It's not about just changing the name for a thing and anyone who was a sys admin yesterday as a today and you're done it's about actually changing the behavior and actually understanding why something is successful not just observing that it is successful. Monitoring while I personally use monitoring and observability more or less interchangeably and that is buzzwordy definition monitoring has taken a little bit of a meaning of collecting data not using it. You have two extremes in this one takes one thing where you have the full text indexing where you just in a vein attempt go after everything which you can find or data lake which outside of batch analysis is often a euphemism for no one is ever going to look at the thing. Observability is trying to reframe that a little bit about being able to ask new questions just observe what inputs what outputs a system has and being able to deduce the internal state of that system from those inputs and outputs as in ask questions which you didn't know you wanted to ask before and that enables humans to understand complex system but it also allows you to automate a lot of this. So it's not just about determining that something is in a certain state it's also about determining why it is in a certain state and ideally how to get it out of that state. If you cannot ask questions on the fly like new questions it's just not observability another super important concept is complexity where you have what I call fake complexity aka bad design which you can reduce and you should reduce in my opinion like unless you have other engineering constraints like I don't know money GTM maybe maybe compliance reasons what have you but outside of actually reasons why you have complexity you should always strive to get rid of complexity but you have real system inherent complexity as well and that can be moved but it cannot be made to go away like state is always someone's other's problem you have all your microservices they're stateless but someone has to maintain the database so that that complexity has to live somewhere. So yeah you can move it back and forth you can compartmentalize and in my opinion was strong opinion you should compartmentalize it and you should still it meaningfully and we have two different definitions of distilling this a the apis towards whatever the consumer slash user of the thing is and b already start thinking about what you need to emit towards the observers towards your operational teams so they can look at the thing that is basically SLI's SLI SLO SLA oftentimes people are confused what they mean it's really really simple SLI as several service level indicators what you measure objectives are what you need to hit and agreements and when you need to start paying of course someone broke a contract a lot of of SRE to me is about aligning incentives across the org because if you have devs they want to ship code then they want to ship new releases ASAP you have operational people who are paid for for stuff not breaking so you have diametry diametrically opposed incentives where the one group wants to move super quickly and the other group wants to move rather slowly and carefully and so they always they always fight they always have strife course that's built into literally into their compensation structure and into their complete organizational structure there is one of the main things of SRE to me is the concept of error budgets there everyone shares a budget for how many errors a thing can have and if you hit those budgets it's fine but it doesn't matter if this is due to new features or a B testing or a new deployment where the PM needed something really really urgently or things always breaking if things break too often in operations the devs don't have error budget for their testing and deployment velocity anymore so you align those incentives another nice thing is if you're able to build a shared understanding not just align incentives between people and that's where dashboards are coming in where all those dashboards ideally are shared between all those different teams because then you have an incentive to invest in shared tooling and everyone improves a little bit and everyone else benefits from the thing you pool all your institution knowledge around a thing from a lot of different angles and everyone works together in making this better it also means you're building the same language and you build the same understanding everyone has the same dashboard the PM doesn't need to fight the engineers about what that one metric is of course they literally look at the same data they don't use different words for different aspects of course all of them use the same dashboards the same alerts the same reports which in turn means they use the same language services another super important concept they could basically compassion mentalize complexity and if you remember just now I said one of those two abstraction layers would be an interface towards the user they usually have different owners and teams obviously teams can have or own more than one service but by and large they they tend to have their own groups of of whoever's responsible and contracts define their interfaces I like the term contract a lot of course it is is as commonly defined as a written agreement which must not be broken and you actually write it down and you agree it and you sign it so you have an agreement and by writing things down and making things explicit a lot of those implicit misunderstandings just go away of course once it's written down and agreed and that's the basis for what you actually do and how you operate a lot of people will take a second and third look and actually start negotiating details instead of everyone being like yeah whatever it'll work and then it breaks and everyone is fighting why it broke and then you realize that you had a lot of misunderstandings doesn't matter if the customers or consumers are internal or external treat them as if they were external of course they are depending on your thing anyone coming from networking like myself layers are another way of thinking about this the internet wouldn't exist without proper layering of course I can literally rip out layer one and layer two and I have instead of Ethernet I have Wi-Fi or what have you and that wouldn't be possible without those clean and long-term stable interfaces between the different layers other things like CPUs hard disk compute notes your lunch even if you cook from scratch you will not grow every last cucumber yourself you have certain interfaces where you buy other services and and just consume those alerting also super important um customers don't care if I don't know you have 20 database notes they don't care if 15 of them are down or five of them are down or all of them are healthy they care about that service which they are consuming being healthy and responsive and what have you so that's the perspective to mainly take define your SLAs your SLIs your SLOs from that perspective of is it user interfacing or is it user visible the nice thing if you do this in depth what is your providers SLA and SLI is perfect for you to debug of course if that database is down you don't need to debug why your webshop is not working you kind of know um so you you structure again you use the same language across the complete stack of what you're doing important to avoid burnout anything or anything which is currently or imminenting customers must be alerted upon and nothing else raise a ticket do it during business hours if it's not customer impacting just don't of course you'll burn out so that's the intro part now gets to the tech part permit this permit this if you don't know it's inspired by Google Google's Borgman it's a time series database internally it uses 64 bit values for pretty much everything which is relevant there's thousands or tens of thousands of well thousands of instrumentations and exporters that are public there's millions of installations of permit this it's not for long run by a grana main selling points built-in services cover that is well noticed um next like not impossible very uncommon to run Kubernetes without a permit is of some sort of course they are literally designed from each other even back from the Google Borg and Borg Mondays and more or less by a happy little accident with Kubernetes and permit is within CNCF low and behold those are the two founding projects of CNCF they go together um you haven't you have no hierarchical data model so you don't have your I don't know your region your your city your customer and then you need to select by customer and all of a sudden you need to walk up your hierarchy and all you need to walk down blah blah blah no you have an n-dimensional label set which is slice and dice as you need it so you select by label customer equals x and you're done prom kill is a functional label a functional language which allows you to do vector math on on on your data um which is super efficient like highly efficient in particular course the label matches matching usually does more or less by magic what do you want and this is used for everything processing graphing alerting exporting data every every way you work on the data is always through prom kill so it's a language you have to learn but it's the one language and then everything works simply operation don't need to convince you probably highly efficient it's poor based for good reason of course this makes a lot of things easier to reason about about correctness and up to date correctness of the state of of the wider system push versus pull is a borderline religious debate but in particular coming from the networking space there are some properties of pull which are next to impossible or super hard to to emulate in push based system unless the push based system has complete information of of everything which should be sending data at which point pulling is more efficient anyway um white box black box monitoring one looks at the thing from the outside without further information various white box monitoring looks at all the innards you instrument your code you emit data from internal um every service should have its own metrics endpoint with things like the premises agent which we announced today with my premises team had on um look at the blog on premises ioslash blog um we uh we can also accumulate this data for you and then even push it to to other backends um yeah and super hard api commits stronger than anything i've ever seen in my life maybe except for the linux kernel time series yeah most certainly except for the linux kernel at least defined as user interfaces which are not deprecated anyway what are time series um recorded values which change over time for example the temperature in your room that's a time series you usually merge those individual events of i don't know tens of thousands of people accessing that thing uh into counters and their histograms um typical examples would be requests to web server temperatures service latency this kind of thing it's super easy to emit parse and read that's literally how it looks on the wire so it's like i know people who print f in their c code and then just dump that file onto web server and that's how they instrument their code and it works like they're easier ways but for them that works and it's totally fine scaling kubernetes is spork per meters spork one so um yeah scale is is kind of built in per meters and kubernetes are designed and written with each other in mind at borg and borgman again um yeah just looking at prometheus i have a typo there is a two missing in that in that sentence um so roughly one million samples per second is not a problem in current hardware 200 k samples per second and core is is roughly where we are at and but that's already slightly old and the single largest prometheus instance which we saw in production was 125 million active times years like we as in prometheus team i know of someone who ran it at 700 million so um yeah it's kind of scalable but it's also painful at that point you probably would cortex or thenos or something speaking of um there's two uh two projects which have high overlap with uh with prometheus team members um thanos and cortex historically thanos is easier to run and scales storage horizontally cortex is a lot easier to run these days and it started with scaling a store ingesters and querying horizontally it took the code of of thanos to also scale storage horizontally guess what thanos is working on with ingesting querying um data from uh from from grafana itself um the largest single cluster it's not all of grafana just one cluster um but that's already old data we have higher numbers now um 65 million active series at a cost of 668 cpu cores and 3.4 gigs of ram um one customer is running at 3 billion but that's kind of more than pushing it but it did not completely die in a fire loki uh it is basically like prometheus but for log so it falls all the same design principles has the same label based system it has the same indexing type um it takes tons of code from uh from cortex um for kind of ovary seasons the nice thing is you don't need a full text index of course usually if you work on logs you don't need every last bit and piece of your thing indexed most often you're able to uh to extract a few relevant bits and pieces of of information you index that you search on that and the rest is just an opaque string which is which is stored without indexing which means you have a lot less overhead than cost and storage and in particular and indexing and in lookups um you can work at scale like significant scale sorry and one of the nice properties which are initially non-obvious to a lot of users is um as you use literally the same label based system as prometheus it's trivial to to turn your logs into metrics to extract metrics from your logs for alerting graphing blah blah blah blah uh basically preprocessing or processing logs into metrics again remember same like uh internet scale two decades ago that's kind of the same trick which is literally the same thing where a lot of singular events were turned into metrics and then just the metrics exposed in loki you have that mechanism built in which is super nice and except for google's m tail which kind of was dead even when it was released something which which we haven't seen in the open source or in the open world like certain search engines and such have this internally but not uh not others prior to loki at least and you can pump basically all type of of of text-based information into into uh loki one of the lead devs at velge even puts um his his car telemetry and pictures from his dash cam into loki course he can and he likes to of course again the content back here is unindexed which means you can just put whatever in and it's just an opaque string or blob uh to be precise you might remember uh the prometheus exposition format we saw earlier or the open metrics format which we saw earlier um that's literally the same with the labels here uh you just need a timestamp of course obviously an event is is always at a specific point in time um so you need to emit that specific point in time whereas um the metrics are handled differently on a conceptual level you can emit precise timestamps but usually for mathematical reasons which we are not going into here um it's it's better to to have prometheus or cortex or ethnos handle handle the timestamping versus with loki it's better to have the emitter handle timestamping um some numbers um our queries at at graphana labs regularly see 40 gigs per second gigabytes per second um i know that we already at at rough production see 80 gigs uh due to a new way how we how we um scale our queries um which means you can go through insane amounts of data within a super short time be regularly query terabytes of data in under a minute and ideally you then emit this back into metrics so you don't have to do those expensive or relatively expensive queries regularly you can just what you really care about already emit into metrics and then again you reduce um total amount of information also computational complexity by orders of magnitude tempo the last of the bunch um with open metrics um there was another thing which which was brought into the open which was before that basically limited to to google um with my open metrics head on when we were talking ages ago about potentially merging open sensors and open metrics um one of the things which stuck with me is when when the googleers mentioned how how searching for for traces didn't scale and when google tells you that searching doesn't scale searching for something um you better listen which which i did so exemplars are just an id you have an id for a trace and you attach that to the trace but you also attach that id to a metric or to a log line so now you know that a relevant metric or relevant log line carries a trace with it and you don't have to have this needle and haystack problem where you um where you have to search through all your traces or life analysis do a life analysis on your traces to deduce what the properties of that particular traces um you already know that this is a relevant thing of course it came from that high latency bucket where i don't know your p99 was two seconds what have you doesn't matter but you know you have a high latency there you know you had that one error you know you had that one security exception what have you and you know that this one trace is relevant to the thing which you're currently working on in which you saw in your logs or your metrics so you don't need to search you don't need to switch mental context all the time trying to walk through a ton of traces or spans you simply from your metrics from your logs where you already know that something is relevant jump into your traces super nice um they are built into pretty much everything which we're talking about um of course kind of obvious they're nice but temple also um also allows you to search of course some users and some use cases just require searching of more or less raw um traces and spans my own personal opinion at some point it would be nice to optimize this out if if you need to do search as of today um but if you need to rely on search going forward that's also completely doable better would be if if you go through exemplars because it's just so much more efficient only works in object storage you don't need kassandra elastic anything expensive in the background um given an object store and you're done um it's compatible with all the things open telemetry tracing sipkin jager um by default we are not uh sampling uh you can sample if you want to but we don't sample um i also need to update that slide i see um of course as of four month ago which is eons in in this production velocity uh we had over two million samples per second at 350 megabytes per second and we have 14 day retention three copies stored at a cost of 240 cpu 400 gigs 450 gigs of rem in 132 terabytes of object storage in the p99 of 2.5 um it's better already but like temple scales and it scales insanely high bringing all of this together um this this more holistic thing allows you to jump from logs to traces from metrics to traces from traces to logs and all the all the other different ways um of course like it's literally designed for each other and while they are all distinct projects and you're not forced to use all of them to to reap benefits if you so choose you get you get the most bang for your non-bug um of course a those things have been designed for each other and personally speaking since at least 2015 i have been working towards having those three things for metrics logs and traces as a holistic thing so there is a long-running underlying design um as to the bang for the buck all of this is open source you can run it yourself i like food and shelter so you're also more than welcome to go to grafana cloud or or buy enterprise or what have you um and there are some more features rough sniff test if the user the intended user has more money than time it tends to be a paid feature if they have more time than money it tends to be open source like that's roughly the the the sniff test for our monetization strategy again most or anything we talked about right now is completely open source you can run it yourself a few screenshots most of you know how how grafana looks but still those blue lines are relatively new and super nice you can have events you can have you can have your alerts you can have things like this which which give you a lot more context you can also have exemplars visualized and things like this and tons of other visualizations as just last week we had observability con 2021 online obviously um a lot of what we just talked about you can find in more depth uh without that rush tool to cover as many questions as possible at this location grafana con slash go anyone um that's also part of the slides it's even a clicking thank you very much uh you can post talks on github like all of them for last decade also um email twitter are there for your per user and let's see what we have as questions um do we get created questions and they're read out or how does it work i honestly don't know sorry i didn't anyone with a question just drop it into the chat and richard can take a look at it as they come in sounds good and we'll go from there good good so there are currently no questions which means i wouldn't have had to hurry as much i can also add lib and go into more detail and other stuff but do ask questions if you have any how to orchestrate apps to integrate with grafana cloud um can you orchestrate is can you expand on what you mean with orchestrate course i think you're mixing on the one hand your own orchestration of application versus um how to how to emit data towards grafana cloud i can try and have have a partial reply as as to the second part of that question how i understand it um the easiest way for for most things is the grafana agent um which is what the prometheus agent which was released today is based upon um of course this allows you to to channel all your your signals towards grafana cloud if you have any of the other interfaces like the common ones um they're all supported um like ideally you you put things somehow into into prometheus remote right um to to emit towards grafana cloud if it's metrics um for traces uh open telemetry tracing is is the gold standard so you should absolutely do this um if you have non prometheus things and there's an exporter for pretty much or for probably everything on the market to get data into prometheus format and then you can use the agent or other mechanisms to um to push towards grafana cloud if you want to the open telemetry collector also supports prometheus remote right so you can also use this um yeah pretty much everything which which is on the market is supported prom tail and such for low key and everything is built into into the grafana agent if you just want the bare bones open metrics to um to prometheus remote right pipeline the prometheus agent is better if you want built-in um exporters if you want prom tail if you want to have open telemetry tracing and all those things built into a single binary the grafana agent is better depends on your trade off some deployment models like to have a single huge binary which does pretty much everything other deployment models mandate that you have tons of smaller services both is valid both is covered um are there docker images available um yes for everything as far as i i'm aware um if not focus on on cncf slack or on on grafana community slack or shoot me a message um but i would be surprised if we don't have up-to-date docker images for everything i'm i'm certain we do um do you have an off-the-shelf helm chart for getting this whole setup um i think we do um there's tons of work in our integration crew and we are hiring like crazy for the integration screw um there all of this is made more seamless internally we use tanker which uh is jsonet which is then compiled um into um into helm and others and also is able to to ingest ham charts which means you don't have this common problem of um of having those super static slash brittle ham charts which are hard to to change and and hard to to track in particularly if you have both upstream changes and your own local changes where you functionally need to fork pretty much everything and and carry your own forks if you if you need to do anything more than than really baseline changes i suggest you you look at tanker and and jsonet um i can drop the url into into chat in a few um which is a lot more malleable and also allows you to define other things like like alerts and such and you all have this in one one language jsonet which is quite nice how to integrate apps to send metrics or emit data to grafana cloud um depends on the type of of well okay no you said metrics not signal sorry um okay let's go with metrics and then with data metrics um permitted client libraries um is the gold standard for for emitting um metrics as of today um for uh data defined as as traces open telemetry tracing is the gold standard for logs it doesn't really matter um of course logs is just historically kind of a mess as most of you will probably agree um so prom tail can ingest pretty much everything and just hammer it into shape for um for locally to consume um again all of this is built into the grafana agent um but for for your own applications when you need to emit the actual raw data from your own code and you need to instrument your own code for metrics permit these client libraries for uh traces open telemetry tracing and for logs it doesn't really matter cause prom tail eats it all how does correlation happen between loci logs and temple traces so um going from your logs to your traces the ideal case is you have an exemplar on your on your logs there you know that your id for for that trace or that span or both exemplar support support free form text so as per wc3's um tracing uh standard um we support both span and and um trace id um and that modeling is also coming in large part from how google did it internally like a lot of this has a history from there so it tends to already work nicely with each other um and you just tossed it in and once loci is aware that yes this is an exemplar you can just jump to your trace storage and and just go there um there's also an inverse index where you can look up um trace IDs or exemplars if you have one and you need to see that one log line you can also go the other way which is of particular interest if you if you came to your trace or your span through a search within temple of course then that exemplar is is like the shortcut back into into your logs or metrics should kubernetes applications slash services be designed in any particular way to use these tools what is a good starting point to integrate these tools to custom kubernetes services running in a cluster great question and it's not basic not at all for prometheus slash the adults it's super simple um prometheus um i touched on this but it didn't go in depth has a thing called services recovery um which is just an interface where prometheus understands how other services run their thing uh first and foremost kubernetes but there's also things like text files where you just write yaml and and populate your your services recovery for anyone more on the networking side zone transfer is is possible so you have your bind or whatever unbound dns server um allow zone transfers by prometheus and it just ingests the complete zone and just starts monitoring or scraping everything which is defined in that in that zone and again that is also the case for for kubernetes so you literally just point your prometheus at your kubernetes and you tell your kubernetes that yes this thing may may get the data and automatically prometheus gets all the data from that kubernetes cluster with or from the pods like the services internal blah blah might be different depending on your precise setup maybe in the inside car blah blah blah the usual but for the pods itself and such all that is automatically emitted um which is super nice of course it's literally one thing to set up and automatically you have all that data in your local prometheus if you don't want to have local storage or you have issues with state which was the reason why we created the prometheus operator ages ago to to handle state within with incriminates you can also just run the grafana or the prometheus agent and just shove all that data into e.g. grafana cloud or one of the other prometheus compatible offerings speaking of prometheus compatibility also in the prometheus block again prometheus io slash block um we did start a prometheus with my prometheus head on we did start a prometheus compliance thing there or prometheus conformance thing there if you are compliant to the relevant apis and and service interfaces um you get certified as prometheus compatible which means for the users that you actually know that a thing is prometheus compatible and and you can just use it without fear of of something breaking um prometheus cortex grafana cloud or prometheus compatible do you have any best practices blueprints for self-managed grafana slash prometheus slash lowkey setup any best practices to optimize performance um depends a little bit on your scale so if you have normal scale like if if you're working at a huge company or you run a team and they have i don't know how many users blah blah blah blah blah that is not as applicable but if you have normal sized amounts of data um it's pretty easy um of course you just start a prometheus or a cortex or a thenos um cortex and prometheus have single binary modes where you just start the binary and and you're done in this case i would recommend uh prometheus myself if you get started um lowkey also has a single binary mode tempo as well um so you just start those binaries and you can just uh you can just start uh ingesting data into those systems as for prometheus um i would suggest the documentation on prometheus i o as to grafana cloud lowkey tempo i would suggest the documentation on grafana com um those are the best ones digital ocean also has quite a few um super nice prometheus tutorials which are i think four years old but they are super nicely written so um yeah also we are extending the tutorial section on prometheus i o so yeah does prometheus integrate with tools like istio um i think i know the answer but i don't want to give a wrong answer so i can follow up and uh shoot me an email or something i'll i'll get you the authoritative answer from robot or from joe sorry not from robot and and before i say something wrong 13 more minutes and no questions this is your chance any other questions have we stalled out seems like do you want to include a slack channel or something in the chat richard um or julie just to for any follow-up questions anything like that yeah we have the uh i mean for we have to split this for cortex and prometheus um you have you have the cncf slack i do let me put let me put ours in and uh online programs and then if anybody has any other questions you can hit each other up here for the performance okay well if there are no other questions i want to thank you richard thank you everyone for um hanging in there with us as we got things started a little bit of a rough rough start but um i think this was a great one and you got tons of great questions and let's keep those conversations rolling and um thank you again and the recordings will be up in a little bit uh this afternoon thanks for having me thanks everyone so much thanks everyone


Thank you, Davis Media Access, for helping us to promote equity and love in our community and beyond. Happy 30th anniversary, Davis Media Access! This is Leslie Crenna. I'm with Cool Davis. My experience with DMA has been partly professional and partly personal. My daughter went to summer camp and I have been working with DMA and they've been supporting us up here at Cool Davis and we are so proud and happy to be a partner with DMA. Happy birthday! Hi, I'm Senator Bill Dodd. For decades, Davis Media Access has helped enrich and support the community, providing a non-profit alternative to commercial media and giving a platform for local voices, opinions, and creative expression. It's been my pleasure to work with Davis Media Access to support public awareness of important state programs, benefits, and issues. I wish a very happy 30th birthday to Davis Media Access, best wishes for the next 30 years and beyond. In 1988, a group of forward-thinking people in Davis, California, decided to form an organization that would provide multiple layers of community benefit, a non-profit that helps other non-profits, schools, local government, and ordinary citizens share information, build skills, and foster transparency. That was Davis Community Television, which gave rise to KDRT in 2004, and by 2007 we'd become known as Davis Media Access. 30 years later, Davis Media Access, or DMA, is a community anchor institution, a trusted partner, and a place where people come to connect. My name is Madeline Hamaguchi, and thanks to Davis Media Access, I've made some really wonderful new friends, I feel much more connected to the Davis community where I've grown up since I was two, and I've learned how to transfer my skills from the theater industry to the television industry. So thank you, Davis Media Access, and happy 30th birthday. Happy birthday to Davis Media Access. Thank you for 30 years of connecting our community, bringing us together, and giving us a place where our voices matter. Happy birthday, Davis Media Access. Happy happy birthday, oh my gosh. So I just want to say that I'm so grateful for Davis Media Access and KDRT changed my life. I'm so thrilled for the service that you provide our community. There's such fantastic people at Davis Media Access and KDRT, and I'm always so grateful and thankful to each and every one of you. Hi, this is Congressman John Garamendi with a big happy birthday, and congratulations to Davis Media Access. If you want to know what's going on in the community, you watch Davis Media Access. They'll tell you what it is. Congratulations, happy birthday. Access is the foundation on which DMA was built. Technology has undergone massive changes in 30 years. Most of us now have complicated gadgets in our pockets, and our TV viewing habits have changed significantly. And yet, DMA's programs and services are generally utilized at capacity or beyond, and our small staff is challenged to keep up with community requests for assistance and expertise. What this says is that in divisive times, the human side of the technology equation, our need to connect and to learn is paramount. Davis Media Access, happy 30th birthday. Not only have you given me technical training and video production and fueled my passion for film, but you have also fostered such an incredible, creative and warm community in Davis. So I look forward to volunteering in the next 30 years and counting. Hi, I'm Doug Diep. I'm a DJ at KDRT Radio and a volunteer at Davis Media Access. The reason that I am here doing these things is I am an absolute nut for community radio and community media. Davis Media Access turns 30 years old this year. Happy anniversary, Davis Media Access. I wish Davis Media Access a very happy 30th anniversary. I had an amazing experience working with DMA as a videographer and production specialist during my brief stay in Davis City. I wish you best of luck for your future endeavors and thank you so much for everything. Hello, I'm Laura Grindstaff and I sit on DMA's board of directors. I'm part of DMA mostly because I believe deeply in its core mission of providing a local alternative to commercial media. But as a board member, one of the favorite things I get to do is support creative work by young people. For example, every year students at DaVinci High produce podcasts about World War II and I help evaluate the podcast and recommend selections for airing on KDRT. This collaboration with the Davis schools is just one of the many ways that DMA supports our community. Thank you DMA and happy 30th birthday. DMA works with unemployed people to help them develop media and technological literacy. We mentor college graduates and young adults who struggle to find meaningful work. We work with K through 12 schools, with international students and visiting scholars, with disabled individuals, elected officials, candidates and other nonprofits, local businesses and many others. And we recorded thousands of hours of programming from conferences to school based performances and studio talk shows to protest marches. This is Sheila Allen sending my thanks to Davis Media Access for your many years supporting Davis. I appreciated participating in your election coverage before and after elections. And as director of YOLA Healthy Aging Alliance, we thank you for your support for our candidate forums that have received over 400 views. I would like to wish Davis Media Access a very happy 30th birthday. Hi, I'm former Mayor Dan Wolk having been an avid viewer of Davis Community Television since its inception. I heartily wish DMA a happy 30th birthday. Congratulations. Hello, I'm Leah Rosenberg and I'm a community volunteer serving on several boards here in Davis. One of the boards or activities that I'm very proud of is helping with election night coverage here with Davis Media Access, our own local TV station. And to you, Davis Media Access, I wish you a happy birthday 30th. Davis Media Access has given me an awesome opportunity to gain hands-on experience in a video production environment. And it's also given me the tools and resources to go out and make my own work. I really appreciate Davis Media Access. I wish them a happy birthday and I wish for them to have another 30 years of awesome work. Increasingly, the national media scene is driving home the importance of local non-commercial independent media. A handful of large corporations controls nearly all of the media in this country. The result is a homogenous perspective that sacrifices localism. Contrast this with what happens all year long at Davis Media Access. From video and film work to community coverage to local radio, local content matters. KDRT LP, 95.7 FM, boasts programmers of all ages playing what they want. The station highlights local voices, nonprofits and events, and helps local musicians develop an audience. KDRT's volunteers participate widely in this community. From annual events such as the Street Food Rodeo and Davis Music Festival, to ongoing commitments like Thursday Live at Davis Odd Fellows, and Second Friday Art About at Armadillo Music. DMA's work is central to an informed, connected community. And KDRT is a big part of this. We're thrilled to be celebrating 30 years of service to our community. We're grateful to the city of Davis and the Davis Joint Unified School District for our long term partnerships, and to our many volunteers and supporters for helping to create and sustain this community organization. Hi, I'm Don. And I'm Sharon. And I enjoy KDRT for the local voices and community perspectives. And I love listening to the local bands, the DJs, and the radio shows like Live Tracks, The Golden Road, and the Electric Compost Teap. Happy birthday, DMA. Gary Chu here, and if you know anything about Davis, California at all, you know it's a great place to be. And one of the reasons it is is because of the Community Media Center. It's called Davis Media Access. DMA has KDRT, a radio station where I play music and volunteer some of my time in programming skills. I'm also on the DMA board, and I also try to provide several years of experience in the broadcasting for DMA. And that includes the non-commercial and commercial radio and television. But I'm not here to talk about that. I'm here to say, hey, it's DMA's 30th anniversary. Get with it. Hey, Davis Media Access, happy 30 years from the White House. This is Brises Egovia, friends, 24 White House correspondent. And I was an intern there in 2005 when it was called DCTV. So if you are an intern now, make the most of it because dreams come true. And at Davis Media Access, keep up the good work. Hi, I'm Bill Buchanan. I host Davisville on KDRT. I get to talk to all sorts of interesting people about things they're doing in Davis. And sometimes it's the stories of their lives. Sometimes we get some pretty good radio out of that. I know I sure enjoy doing it, and I couldn't do it without KDRT and Davis Media Access. Happy 30th anniversary, DMA. Hi, my name is Jess, and I'm a KDRT volunteer. What do I love about Davis Media Access? I love the media, more specifically the music. And I love the community, the people. Happy birthday, Davis Media Access, 30 years. Happy birthday, Davis Media Access. Thanks, DMA, and happy 30th birthday. Hey guys, cheers. Happy birthday, 30 years of Davis Media Access. That's awesome. Cheers to 30 more. Happy birthday. Happy birthday. Happy birthday, Davis Media Access. Happy birthday, DMA. Hey, congrats, Davis Media Access on turning 30. Happy birthday to DMA. Here's to 30 more years. Happy birthday, Davis Media Access. Happy birthday, happy 30th birthday, Davis Media Access. Happy birthday. And I wanted to congratulate DMA on their anniversary and being such an outstanding part of our community. Happy 30th, Davis Media Access. Congratulations, Davis Media Access on 30 great years and 30 great more years to come. Happy anniversary, DMA. It's so wonderful to be able to celebrate the 30th birthday of DMA and KDRT. Just wanted to say, how only love I know to both of them. So I wish you a happy 30th birthday. So thank you guys and happy 30th birthday, Davis Media Access. Happy birthday, Davis Media Access. 30 years and going strong. Here's to another 30. Thanks for 30 years, Davis Media Access. Here's to 30 more. Happy birthday. Happy 30th birthday. God bless, take care. And maybe one day I'll come back for a cameo visit. Happy birthday, DMA. 30 years is a long time. And I want to say thank you for giving voice to the people of Davis and keeping track of everything that's going on and storing it for future generations. I'm really happy to have had a chance to work with everybody there. It's the people who work there that make it special. And I'm wishing you another 30 years ahead.


अपनलनी करतिएगा रा साँ 세� म応 Chenot expanding their area so eachEveryone tiking at each or the whole one and gets killed by shooting two targets. तअक � nut fights are done. धषिललन लेएतीमस प्रायाकta Sare the unit's firing including vehicles and regime intervention. धषिलल मिनकल Bottom to Bottom मै आपनलाग हो लिकरन वाहफिे ससाऻंःाोए दalog द destructive system सबस्टी आपकी गयाश्वler in the hospital which isыв Directorate responsible for everywhere has been squishy. ute، ute ute ute ute ute ute  contrôle of someone as large trouble know then that they killed Mr Inc. Charayam ররররররররররররর় Def Eli jarat mo chopping upon Me. রররররররররররไ ররররররররররররররররররররররররররররররররŔ ররররররররররররররররররর Rich economist .


Now, I've just mentioned the fact that each individual layer in graphite is strong for its thickness. Well, some very interesting research found that it was possible to separate out a single sheet of graphite and study its properties. And it turns out that these properties, strength and conductivity and flexibility and so on, are pretty amazing. Meaning that these single layers of graphite, which have been named graphene, are likely to form the basis for future applications such as new transistors, special coatings, sensors and support membranes to hold tiny samples in electron microscopes. Google Graphene and you'll find it all over the place. So how do you separate a single molecular sheet from a lump of graphite? Andre Geim and Konstantin Navoslov at the University of Manchester managed to do this during a series of fun Friday experiments that they were running using some highly advanced equipment, sticky tape. They pulled a thin layer of graphite off a larger lump using sticky tape and then with further bits of sticky tape they removed more and more graphite layers until they could see under a microscope that the graphite had become transparent. Perfecting this process they eventually obtained a single layer of graphite which they called graphene. This picture shows a scanning transmission electron micrograph of graphene with atomic resolution that's so good that you can see the carbon atoms do indeed form hexagons. And this picture, a scanning electron micrograph at a larger scale, here you can see a whole sheet of graphene folded like a piece of silk. For this work which has led to a massive amount of research into the properties of this material, they received the 2010 Nobel Prize in Physics which means that Andre Geim is the only person to have won both a Nobel Prize and an Ig Nobel Prize, awarded to examples of research that quote, make you laugh and then make you think. Geim won the Ig Nobel for Physics in 2000 for his research into levitating frogs, a study of the phenomenon of magnetic repulsion between diamagnetic materials and strong magnetic fields. Anyway, apart from graphite and diamond there are still more allotropes of carbon. A number of them are versions of graphene where the single sheet has been folded around to form balls or tubes. The most famous has the same arrangement of hexagons and pentagons in its structure as a soccer ball. These molecules are colloquially known as buckyballs and bucky tubes and are formerly known as fullerines. Interestingly, both of these names come from the name of Richard Buckminster Fuller who was not a chemist, but was in fact an American architect who popularized the geodesic dome. And the people who first came up with the buckyballs realized that the structure of the buckyball was somewhat like a geodesic dome. The last allotrope and perhaps the one that's most important to all of us right now is amorphous carbon or as you might know it, coal or charcoal or soot. In this allotrope the carbon atoms are joined together rather randomly, amorphously in fact, giving no long range structure. It's black and hard but it's not particularly strong because the random arrangement of bonds means that they're not in the most stable configuration which weakens the overall structure.


Hello everybody, Alecki Fun here, and welcome back to my channel, my V-LOG, and we have set up this Sima, Sim 5-3 Luskas, I'll stick it up on the screen, so there it is, it's all connected up, now I'm using the capacitor bank and this, well it's 35 volts, 0 volts, 0, 35 volts transformer, which gives me 42 volts, 0, 42 volts on the output here, once it's been rectified by the rectifier. Now the reason why I'm doing this is, well just because this would be the transformer I'd be using on it if I intend to use this amplifier at all, we're just going to see what it's going to be like with that. Now this is all the same as what the kit is apart from these output transistors, now I don't think they're really going to make much difference, I've tried these output transistors, these are store bought, they cost over £8 each, and I tried them on another amplifier against the cheaper ones that I got from our friends in the East there, no real difference, in actual fact it almost seemed like the amplifier that was set up with the cheaper ones performed better, I don't like saying things like that because it goes against the whole, but just in that instance, now that could be other factors in there that made it like that, for this, this is like this, and we're going to give it a go now, we're going to be using the audio analyzer software through the Analog Discovery 2, and first of all a quick little peek at the website again, at this, and you can see the board is, it's not that big, it's not such a big layer, I wouldn't mind getting one of these possibly, and we're going to have a quick look at this distortion, THD, this isn't THD noise, we'll measure the noise as well, and then we'll look at the THD, into one kilohertz of full power, it says at 0.002%, now that is one hell of a specification, alright, that is one specification, that is a good claim, and then we got a THD is 0.005 into 10 kilohertz, and full power, again, that's, you know, if you can do this, it's absolutely brilliant, it says you can get 100 watt, 100 watt at a voltage of 55 volts, plus minus 55 volts, we got a, sorry, 45 volts, we have 42 volts, plus minus, and it says it's going to work in voltage here, DC dual 20 volts to the 45 volts, I thought I saw one stage 50 volts, but according to this it says 45, I'm just going to have a quick look down here, because I thought I saw somewhere that said you could use 50 volts, we click on that specification, it's, yeah, right, so okay, that's good enough, actually on the board, if we look on the board here it says minus 35 volts and plus 35 volts, so, you know, make it out much of a world personally, I wouldn't go over the 45, and I'm not going to go over 42s, because I can't, all right, so let's, I've not even got this powered on yet, so we'll do the gentler tests first, so let's just go over to our windows, my workplace 4, there we go, we've got windows, I've already got the audio analyzer set up, I'm now just going to put down the power for our amplifier, and I'll go to full screen here, actually, all right, now the first one I'm doing is THD noise, and we're going to use, well it says to go full power, now, I don't want to do that, I'm basically going to go for the standard check, which is going to be point 2 of a volt, we've got both channels are going to be looked at here, top 10, 10% distortion, the bottom 0.001, we could go further down a scale, because this suggests it can go to 0.002, so this will go to 001, so let's just run that anyway, let's see what we've got, okay, well, it's included, so 20 kilohertz, we've got 0.11297, and that's on the pink, and we've got the 0.11725 on the blue, at 100 hertz, 0.09390 on the pink, 0.09732 on the blue, and we've got straight R1K here, we've got 0.10545 on the pink, and 0.1752 on the blue, we've got a 10K, 0.09797 on the pink, 0.10962 on the blue, and if we got a 15K, 0.104401 on the pink, 0.10801 on the blue, and a 20K, 0.0827, oh sorry, 0.0727 on the pink, 0.06383 on the blue, and if we get past the audio range and we're nearer or further the same, it drops off a little bit there, 0.05181 on the pink, and 0.05427 on the blue, and that's with the total harmonic distortion plus the noise, we just filter out the noise, it does look better, 0.08133 on the pink, and 0.08592 on the blue, down at 100 hertz, we have 0.05700 on the pink, and 0.06084 on the blue, that's nice, that's high five standard, on the pink again, this is at, where are we here, we'll just go to one colour, let's actually just keep it, 0.05589 on the pink, and 0.0627 on the blue, come down to 10, go as close as we can get to it, so 0.05557 on the pink, and 0.0956 on the blue, that's at 10k, we go to around about 15, 0.06767 on the pink, 0.07108 on the blue, and if we get around about 20, there we go, 0.06723 on the pink, 0.04555 on the blue, alright, so well, you know, the order of magnitude out of what's claimed on there, it looks better when you look at the second harmonic if you wanted to, so we can see the 0.0425 on the pink, and 0.065 on the blue, go through to 100, I'm not going to go through these all the time, it's up here, the numbers are up here if you can see them, just trying to help out there, but you can see where it goes down quite nicely, but we don't get, unless you're talking here on the blue, where we can actually get a 0.00157, that's at nearly 5kHz, but that's just hen picking the lowest point basically. But still, look good on the advert, we'd look good on an advert. The third harmonic is pretty much tracking together, 0.04 and 0.05, so what's it at the 20Hz, 0.06, 0.07, alright, so we're going to look at, I can't do the power versus frequency because it will, the input will exceed the input to my analog discovery here, and so what I'll do with this one is I'll actually connect it onto my earth scope, which has got a much bigger input, and we'll just do it, you know, the sine wave clipping way and do it like that, but we'll look at the frequency response, let's just drop this down to 3, so we've got 3 dB up and below. Again, we're going to do it at this output level, we will go up output level and do it again and just see what it's like, give it 100 steps, both channels 10 to 50kHz and we'll just run that like that. Well interesting, that even though they track very very similar together, you know as one bit rises the other bit does as well, same here, same here, there's dips, there's dips, there's still a gap there, but there we go, we can just look at that and see what it is, so yeah I mean you can see here 0.75 dB difference, 0.75 here, around about here would be 1 dB difference between these, so there's no way near like a 3 dB difference or anything like that, we are talking very small amounts, we look at 20 kHz, sorry, 0.05 dB difference on the pink and 0.08, sorry, minus 0.05 dB difference on the pink and 0.08 dB difference on the blue against the reference voltage. We're using 32 dB there as well, yeah and if we look over here all the way down here at 20 kHz we got minus 0.21 and minus 0.14, both of these, if we were to look around about 40, let's say 39, pink is minus 0.13 and the blue is minus 0.06, so you know still pretty good, I mean that is not particularly bad, but let's do it just for the sake of it, let's double the input, now this is going to take a little bit of voltage doing this, it gives it a nice warm up, but let's just see, we can see that for the way it is, we can see the peak there, let's just see what we get now by turning this off a bit, I want to see if there's any real difference, anything that can hit us straight away has been a big difference, alright so let's look around about 20, 0.06, 0.06, one's minus and one's plus, so the pink is minus, we've got to slide over the 0.0 DVR line there and down on the 20 it was 0.02, yes that's pretty much around about the same for that extra bit of stress, I'm going to just put that to there so I remember it, now we're going to go straight to the scope, what I expect to see is there's going to be some drop off at the lower frequencies, this is not, the L12 did better with this, absolutely better, it aligned pretty much perfectly along there and I think there was a little tiny bit of higher frequency gain with the L12 but we'll take a peek at the scope and see what this shows us, we're going for the square wave, we're going to keep that level around about the same as what we've been using, and we're going to go in at 100 hertz, 1000 hertz, one kilo hertz, take a single shot, okay, well there we can see there's our blue, a slight little time a bit more but nothing particularly bad there, we've got 23 volts peak to peak, 11.96, 11.96, well it's 11.96, so yeah I suppose that's 6.00, let's drop it down to 100 and take a peek there, all right we go there, a little bit of that travel still and we're dropping off now a little bit with the base, let's go down to let's say 50 for the sake of it, take a peek at that, okay, and what I'm going to do now is I'm just going to up the input, right, so I'm going to put that on 4 like we did on the frequency response, I'm just going to take a quick peek at it on 4, so the volume's going to be linearly twice as high, the twice amount of input, and sort of showed there a bit more of a peeking there, I can't really tell whether that's gone down but now we've got 54 volts peak to peak, 27 volts plus and 27 volts minus here, so that really didn't show that much to it, let's go down to 30, oh no we're just going down to the 20 just because that's the bottom of the range, okay well we can see we've got some action going on there, I'm going to drop this down because that might be a bit too high, I'm just going to put it back to 2, and do a little single shot there, so it makes a difference on your volume level, on your amount of input you've got in there, and yeah I mean it is running off, but we saw that on the frequency counter anyway, on the frequency response, and at 40 it looked like it was getting a bit more level, and yeah that's okay, right so the next one then we're going to go up to 5k and take a peek at that, yep that's okay, that's okay, it's hard to tell about the speed of this thing, it's loomed just because I don't know whether my equipment is good enough to be able to measure that correctly, 10,000 hertz, okay still pretty good, it's still a square wave, let's go to 20,000 hertz, okay, and 30, just to take a peek at that, okay well I mean it still doesn't look like a sinusoidal wave like we've seen some do, or even at random at 20 we've seen some of it like that, so that's not too bad, if I remember correctly it's not as good as the L12-2, if I remember correctly, now the other one that we can do now is the total amount of distortion against versus the power, but I can't do that on here because like I say my maximum input onto this is plus minus 25 volts, and it will clip and what we will see is the distortion of the input of my scope, the analog discovery rather than the distortion of here, so I'm now going to swap over onto the other oscilloscope and just set up for that. Alright, we're going to go to the home screen, and we're going to want this one, the chord screen on, very good, now we're going to go to the oscilloscope, okay we're going to get rid of that, we're going to turn that output on, so we've got both the setup on one time, 10 volts per division, and I'm recording the screen so you'll actually get to see this, so as I turn up the input you can see down the bottom look, you know what's going on there, I should really just put that over, and we're clipping on the bottom, clipping on the top, a little bit closer, we've got a little bit of a clip there, a little bit of a clip on the top, and we're going to say that's 26.45 volts, I'm just going to turn that off, 26.45 volts, that's reasonable, and we'll just have a quick look on the calculator, so by 26.45 times 26.45, then we're going to divide that by our 8 ohms, and we've got 87.45 watts, or you know, near as darn it. So yeah, that's not bad, considering we're not giving the full amount of input power it recommended, I'm pretty sure somewhere 50 volts plus minus 50 volts, but anyway, so yeah, that's what we've got, and I hope that was helpful, so I don't know what it sounds like just yet, but I will be having a little listen myself, I've got a funny famous, it's going to sound okay, but as for crossing notes against the L12-2, just from recollection, I do remember the L12-2 frequency response was flat out, and the square wave was most definitely better than the lower frequencies, it just corresponds with the frequency response, to be honest with you. So there we go, anyway, that's it, that's it for now for that one, I may do a side-by-side comparison, just with the outputs, like overlay or something, but I don't think we're in needy, you can go back and have a look at the L12 video, I'll stick that in the description, and see for yourselves, because I get asked this about the sound quality, we can tell by the numbers that the sound quality is going to be pretty good, if it was all over the place, it was really bad on the square wave, you can automatically say there's issues in there, but there doesn't seem to be any sort of issues, so you can sort of say it's going to sound pretty good, but this is the thing about the sound, it's going to be how I like listening to it, will be determined whether I say, hey, yeah, if it's not quite how I like it, then I'm going to think about it differently, but I'll tell you now that I tend to listen to everything flat, I don't up the treble, I don't up the bass, I don't down anything, I don't play around with anything, I just keep everything flat, I'm boring like that, I just like it just flat. There are reasons why people may want to use graphical equalizers and bits and pieces like that, but I was just taught a long time ago that you have the minimal things in between, the input signal and the output, which would basically just be the amplifier, maybe a pre-amplifier, and yeah, that's how I listen to my music, and that's how I judge everything as well when I'm listening. Nothing turned up, nothing turned down. Okay, well, I hope you enjoyed the video, and I'll catch you in the next one, guys. Take it easy, bye-bye.