Welcome back to our lecture series Math 1060, trigonometry for students at Southern Utah University. As usual, I'll be your professor today, Dr. Andrew Misseldine. In lecture 30, we're going to continue to talk about vectors. In section 9.3, we're going to talk about the algebraic representation of vectors. Now, I don't usually draw much attention to the really obscuring goofy titles to our lectures here, but I figure since it's named after me, I should probably say something about this. You might have remembered in lecture 28, when we started this topic of vector discussion, it was referred to as Robin Hood's favorite section. Well, that one makes sense. I mean, most of the jokes in this lecture series are completely obscure and no one gets them except for me. But that one makes sense. Vectors are arrows, Robin Hood is a famous archer and such. But what does this one have to do with anything? Well, it turns out that vectors, the topics of vectors is really the introduction to a broader discipline of mathematics referred to as linear algebra. With regard to the lectures I have posted here, my linear algebra lecture series is in fact the flagship of them all as it's based upon my own textbook about linear algebra. It's called Linear Algebra Done Openly. Let's just say I have a great passion for vectors, especially the algebraic representation of vectors. I think you're going to see that in this lecture and the subsequent videos for this lecture as well. What is so cool about the algebraic representation? Well, it turns out that while vectors are naturally defined in a trigonometric setting, as we've learned previously in this lecture series, that there's a difference between algebra and trigonometry. Trigonometry does some things better than algebra, but algebra does some things better than trigonometry. It turns out when it comes to vectors, even though it makes sense to define them trigonometrically, when it comes to actually doing algebra with them, it makes sense to do this algebraically. We're going to start to see this in this lecture. What is the algebraic representation of a vector? Well, let V be some vector, right? Let's put this vector in standard position. Remember, the location of a vector in the plane doesn't make any difference on the vector's value itself. It doesn't change the vector quantity. Standard positions when we put the tail of the vector, think of it as an arrow, at the origin, so at the point zero, zero. Well, and you can see that illustrated in this diagram right here. Well, if the vector is put into standard position, it's tail is on the origin, where is the head of the vector pointing to? Well, there's going to be some unique point in the plane when you're in standard position. Let's call that point a comma b, a is the x-coordinate, b is the y-coordinate. In which case, then, this point's uniquely determined by the vector. If we took a different vector, it would be pointing to a different point. Different vectors give us different points in the plane, right? And so we could characterize the vector by using this point, and this leads to the algebraic form of the vector. So we'll say v is equal to bracket, angle bracket a comma b, angle bracket here. We're using these little brackets here to distinguish it between the point, because we're not talking about the point in space. We're talking about the vector, so it's the arrow that's pointing to that point. Now, these numbers a and b are not just some arbitrary points, not arbitrary numbers in the plane. This is actually, these are the components of the vector v, and so the algebraic form is sometimes called the component form. That is to say the horizontal component of v is just this number a, and the vertical component of v is just this number b. And we can see this from the usual Pythagorean equation, because we, after all, the horizontal and vertical, they form a right angle with each other. They're perpendicular. And so think about the coordinate a, right? This is the shadow cast on the x-axis. That's what this number a is, and b is the other way around, too. It's this vertical component. How far up the y-axis do you go? That gives you b. So these two numbers, again, are not just arbitrary numbers that v just so happens to be pointed to. These are the components of the vector. And therefore, the translation we had previously, the conversion formulas we have are applicable when we go from the geometric to the algebraic representation. So for example, because these three numbers, the magnitude of, I mean, a is the magnitude of the horizontal components. So this number a, this number b, and the magnitude of v, they form a right triangle. So these three numbers are related to each other by the Pythagorean equation. a squared plus b squared equals the magnitude of v squared. Or if you solve for the magnitude of v, you get this is equal to the square root of a squared plus b squared. Similarly, if we think of theta as the angle between the positive x-axis and the vector, which is an arrow itself, this theta represents the direction of the vector. Well then, if you take opposite over adjacent, there's a tangent relationship between the angle and these components, tangent theta equals b over a, or you could take arc tangent and bosa as well. And it goes the other way, it goes the other way, of course too, that a is just equal to the magnitude of v times cosine of theta, and b is equal to the magnitude of v times sine of theta. So we can convert back and forth between the geometric and algebraic forms of a vector using these trigonometric formulas, all right? So let's do a quick example of this. If we take the vector three comma negative four, what does that mean? It means that we're gonna draw the arrow that points to three negative four. x-corner is three, y-corner is negative four. You see a vector in the fourth quadrant right there. How do we find its magnitude? Well, that's easy enough. The magnitude v is gonna equal the square root of three squared plus negative four squared. Three squared is nine, negative four squared is 16. Nine plus 16 is 25, and we have our favorite Pythagorean triple. We see that the magnitude of our vector v here would be five. And so conversion from the algebraic form to the geometric or the geometric to algebraic form of a vector is just these basic Sokatoa right triangle trigonometric relationships, all right? So why do we care about the algebraic form? I said earlier, it makes things easier. Get to that point. All right, I'll get to that. So previously we talked about the idea of vector addition. We can add arrows together, and this makes sense that these arrows represent forces or displacement or velocity and things like that.  We have some vector u, we have some vector v, and so you can add them together so that the sum u plus v is the diagonal of this parallelogram diagram. Okay, that's how you do it geometrically, but how do you do it algebraically? It turns out it's so, so, so much easier to do this algebraically. If you wanna add together u plus v, take their algebraic forms.  And then v also has an algebraic form. Call its horizontal component u x, and it's, excuse me, v x, and call its vertical component v y. How do you add together the vectors? Well, you're just gonna add together their horizontal components.  That'll be the horizontal component there. And then how do you add together its vertical component? We'll take u y plus v y, and that's its vertical component. So use add together basically like terms. You add together the corresponding components, and that's how you add the vectors together. So let's see an example of this. Let's say u is equal to six two, and v is equal to negative three five. How do you add them together? Well, it's easy enough. You'll add together the horizontal components, six minus three, add together the vertical components, two plus five, and you end up with six minus three is three, and two plus five is seven. And so the sum of the two vectors will be three seven, which if you draw these vectors in standard position like you see in this diagram, u is six two. So it's gonna be the vector that goes to, it's gonna point to the point six comma two, x is six, and y is two. Now we can draw v in standard position as well, right? This is gonna be the vector that points to the point negative three comma five like you see right here. But to make life a little bit easier, I'm gonna translate it over here, right? And so this is gonna be the vector that goes to the left by three and goes up by five. And so think about that for a second. We go to the left by three, one, two, three, and we go up by five, one, two, three, four, five. We end up at the point three comma seven, and that justifies why we add these things together. And so algebraically, we just add or subtract the corresponding components, and that gives us the vector sum. That's a lot easier than this parallelogram rule for sure. Let's introduce another operation for vectors. It's very common that we've alluded to in the past, but never done it explicitly. The idea of scalar multiplication, we can multiply a vector by a scalar, and multiplying a vector by a scalar, what it does is it just multiplies each of the components of the vector by that scalar. So for example, if you take v equals three two, then what's three v? Three v just means that you're gonna times three by the components of the vector. So you're gonna end up with three times three and three times two. So you end up with nine comma six, like so. And so in this diagram, you see the two vectors in play here. They're both in standard position. There's vector v right here. v was three two, right? So it goes three to the right and then two up like so. Three v by the formula, you're gonna get nine six. So you're gonna go one, two, three, four, five, six, seven, eight, nine to the right.  And so three v is this vector right here. Now when you look at three v, it goes in the exact same direction as v. The direction didn't change. This angle is still theta, whether you're talking about v or three v, but the magnitude's definitely bigger. In fact, the arrow looks three times as long as we started off with. And this is what scalar multiplication does. Scalar multiplication will stretch or compress the length of the vector, depending if the scalar is large or small. So times in v by three may to get three times longer. If I times v by one half, it would cut the magnitude in one half, keeping the same direction. If your scalar is negative, then scalar multiplication will flip it to the other direction. So like v times negative one would give you something like this. It flips the direction. But scalar multiplication is easy to do when it comes to algebraic forms, because you just times each of the component by that quantity, but it has a geometric consequence. Scalar multiplication stretches or compresses the vector, but it's easy to do algebraically, okay? Some other things I should mention that the zero vector, this is just a point in space, right? The zero vector has the algebraic form zero, zero. Notice if you add the zero vector to any other vector, it won't change that vector. Because the zero vector is in fact the additive identity of vector addition. Well, what about the additive inverses of vector addition? How do you do vector subtraction? Well, if you have v equals a comma b, the negative v is just gonna equal negative a times negative b, because this is just negative one times v. Like we said on the previous slide, times b by negative flips it in the opposite direction. And so algebraically, we can very easily capture this idea of additive inverses. All right? Well, let's do some slightly more complicated calculations. Take u this time to be five and negative three, and take v to be negative six and four. How would you compute u plus v? Well, I don't have to worry about a parallelogram diagram or anything like that. If I wanna do u plus v, all I have to do is just add together the corresponding components. Horizontal with horizontal, vertical with vertical. Like so. And so we get five minus six, which is negative one, and we get negative three plus four, which is positive one. So the sum of the two vectors is negative one one. No diagram necessary, no geometry if it's in algebraic form. Well, what about this one right here for u minus five v? What if we throw some scalars into this sum as well? This object right here is commonly referred to as a linear combination. A linear combination meaning that we take some scalar multiple of the one vector plus some scalar multiple of the other vector, which admittedly u plus v is a linear combination because your scalars are just one in that situation. But this is sort of like the most general way of combining two vectors together. You can scale them and you can add them or in this case, attract them. But the calculation is no more difficult than what we've been doing previously in this algebraic form.  You're gonna take negative five times v, which is negative six and four. So do the scalar multiplication. So for the first one, you get four times five, which is 20, and you get four times negative three, which is negative 12. I want you to think of it as like when you have this vector you can distribute the scalar onto each of the pieces. And then for the next one, you distribute the negative five. You end up with negative five times negative six, which is positive 30, and negative five times positive four, which is negative 20. And now you add these things together. You're gonna get 20 plus 30, which is equal to 50. And then you're gonna get negative 12 plus negative 20, which is negative 32. And this would then be the linear combination, the combination for u minus five v. So vector algebra is super easy when you're in algebraic form. Adding and scaling vectors is a cinch. As long as we can convert from the trigonometric form to algebraic and back again, we can use the simpler algebraic form to help us solve problems related to vectors. And this idea of translation is a big deal, right? Trinometry is sort of the native language of vectors, but the more efficient language is algebra. So if we can convert the vectors, we can make life so much easier with these vector applications.


Hi, Professor Gerald Friedman, University of Massachusetts Department of Economics. And we're here today to talk about the firm, the capitalist firm, where it came from, and well, maybe a little bit about where it's going to go. As I mentioned in the last time, capitalism is a relatively new social form. It's an enormously powerful social form. 300 years ago, 1700, there are hardly any capitalists in the world. 400 years ago, none. Today, capitalism's all over. China, Africa, wherever you go, you see capitalism. Production of commodities for profit by employing wage laborers. Now this is new. Traditionally, human societies have been managed. A human production has been managed on a different basis, a basis of production of things for use. Classical society, classical Greece and Rome, Egypt, the pyramids were built with slaves. Socrates was one of a relatively small number of free people in Athens. Rome was run by slaves, or the work was done by slaves, sorry. It was run by the slave owners, of course. Slavery was a predominant mode of production down into the European Middle Ages, where, well, after the fall of Rome, we had feudalism where serfs controlled the production process themselves, but were themselves controlled by the lords. They were bound to their lord, couldn't marry without the lords' consent, couldn't carry stuff to the village for sale without the lords' consent. That continued down into the late Middle Ages, the 14th, 15th centuries, when in Britain, England, really not Britain, England, northern France, the Low Countries, the Netherlands, Belgium, so again, something new. In all the turmoil of the great, well, we might call the great French Civil War, because England was controlled by French, so when the English came in, what's called the Hundred Years War, it was really a civil war. Anyway, in the Hundred Years War and the turmoil that came with that, serfs began to break free and establish their own production processes. Some of them were particularly successful, and capitalism arose from that turmoil. As soon as capitalism arose, it had, you know, capitalism's distinctive features. As I said, it's production of commodities for sale so that you can make profits, and the production process is controlled by the capitalist who orders the workers around, tells them what to do. When the workers aren't working for the capitalist, they're free to do whatever they want. They're free people. But that freedom also involves a central part of capitalism, that the workers have no independent access to the means of production. They have to go through the capitalist to get work. That gives the capitalist leverage over the workers to get them to work harder, or else be fired. The essential thing about capitalism is not piling up gold, silver, or machine, or any of that stuff. It's the lock on the factory door that you can't work without the capitalist's consent. That allows the capitalist to create a new social status that's previously unheard of, unemployment. Unemployment is the key to the capitalist control over the workers, because unemployed workers are hungry workers, and fear of becoming unemployed is what drives the workers to work hard for the capitalist. It's fear of unemployment that leads to the enormous increase in productivity that we've had under capitalism, where we produce vastly more stuff than ever before. Capitalism works because it involves waste. We could argue about the waste involved in capitalist producing stuff that maybe people don't really need, but there certainly is great social waste behind capitalism, because capitalism depends on workers being fearful. Because to keep them fearful, you have to keep some of them unemployed, Marx called them the reserve army of the unemployed. Because some of them are unemployed, that's waste. But there's also waste involved within the production facility, because the workers are working under supervision, and they need to restrict the information they pass on to their bosses, so that the bosses can't use that information to maybe replace them, or get them to work harder, or whatever it is. Capitalism involves waste within the production process, and waste outside the production process. Capitalism may be, I'm not saying it is, but I'm just putting it out there that some people would say it may still be the best social system, but even those who believe capitalism is the best social system have to admit that it is wasteful and undemocratic. And that's what we'll be talking about for the rest of the semester, whether there is a better alternative to worker control, and we'll pick up from there. Thank you very much, have a nice day. Bye bye.


Hello and welcome to the session on Unified Modeling Language. In this video, we learn how to draw activity diagrams for a software system to be designed. At the end of this session, students will be able to understand action states and activity states, transitions, branches, forks, joints and swim lanes, analyze the above entities for a software system and draw an activity diagram representing designs to be used for software development. You have already learnt about class diagram, object diagram, use case diagram and interaction diagrams in the earlier videos. Now pause the video for a while and try to answer this question. Which is the next diagram after developing interaction diagrams in UML? There is answer, it is the activity diagram. The contents we are going to cover are activity diagram and introduction followed by an activity diagram with the help of an example. Activity diagrams are one of the diagrams in the UML for modeling the dynamic aspects of systems. It is essentially a flow chart showing flow of control from activity to activity. This involves modeling the sequential and possibly concurrent steps in a computational process. With an activity diagram, we can also model the flow of an object as it moves from state to state at different points in the flow of control. Activity diagrams may stand alone to visualize, specify, construct and document the dynamics of a society of objects or they may be used to model the flow of control of an operation. Activity diagrams commonly contain action states and activity states, transitions and objects. Consider the workflow associated with building a house. First, we select a site. Next, we appoint an architect to design the house. Once settled on the plan, the developer asks for bits to price the house. Once agreed on a price and a plan, construction can begin. Then permits are secured, ground is broken, the foundation is poured, the framing is erected and so on until everything is done. We are then handed the keys and a certificate of occupancy and we take position of the house. Although that is a tremendous simplification of what really goes on in a construction process, it does capture the critical path of the workflow. In a real project, there are lots of parallel activities among various states. Electricians can be working at the same time as plumbers and carpenters for example. We will also encounter conditions and branches. For example, depending on the result of soil's test, we might have to blast, dig or float. There might even be loops. For example, a building inspection might reveal code violations that result in scrap and rework. In modeling software intensive systems, we have a similar problem. How do we best model a workflow or an operation, both of which are aspects of the systems dynamics? We can model these dynamic aspects using activity diagrams. An activity diagram is essentially a flow chart that emphasizes the activity that takes place over time. Now what is an activity? An activity is an ongoing non-atomic execution within a state machine. Activities ultimately result in some action which is made up of executable atomic computations that result in a change in state of the system or the return of a value. Actions encompass calling another operation, sending a signal, creating or destroying an object or some pure computation such as evaluating an expression. Activity diagrams may contain simple and composite states, branches, spokes and joints. Action states and activity states are just special kinds of states in a state machine. When we enter an action or activity state, we simply perform the action or the activity and when we finish, control passes to the next action or activity. Figure shows an example of action state. We can see bid plan as a simple action and index equal to lookup e plus 7 as an expression which is again an action state. Here is an example showing activity states. We have process bill b as an activity state and also do construction as another. Here we can see entry oblique set log where set log is a special state labeled as entry action. When the action or activity of a state machine completes, flow of control passes immediately to the next action or activity state. We specify this flow by using transitions to show the part from one action or activity state to the next. In the UML, we represent a transition as a simple directed line, the initial state with a solid ball and stop state with a solid ball inside a circle as shown in figure. We have a start state indicated with a darkened bubble which changes to select site next to commission architect and finally to a stop state as indicated with a darkened bubble inside a circle. Simple and sequential transitions are common but they are not the only kind of path we will need to model a flow of control. As in a flow chart, we can include a branch which specifies alternate paths taken based on some Boolean expression. As figure shows, we represent a branch as a diamond. A branch may have one incoming transition and two or more outgoing ones. On each outgoing transition, we place a Boolean expression which is evaluated only once on entering the branch. As figure shows, after release work order, we have a condition to be evaluated materials not ready which is termed as a guard expression. If it evaluates to true, we branch to reschedule otherwise in case materials ready, we branch to assigned tasks. When we are modeling workflows of business processes, we might encounter flows that are concurrent. In the UML, we use a synchronization bar to specify the forking and joining of these parallel flows of control. A synchronization bar is rendered as a thick horizontal or vertical line. For example, consider the concurrent flows involved in controlling an audio device that mimics human speech and gestures. As figure shows, a fork represents the splitting of a single flow of control into two or more concurrent flows of control. A fork may have one incoming transition and two or more outgoing transitions, each of which represents an independent flow of control. Below the fork, the activities associated with each of these paths continues in parallel. As figure shows, prepare for speech is forked into gesture and decompress. Again, decompress is forked into sync mouth and stream audio. These two are next joined into a cleanup process. To partition the activity states on an activity diagram into groups, each group representing the business organization responsible for those activities, we use swim lanes. Each swim lane has a name unique within its diagram. It represents a high level responsibility for part of the overall activity of an activity diagram. It may eventually be implemented by one or more classes. In an activity diagram partitioned into swim lanes, every activity belongs to exactly one swim lane but transitions may cross lanes. As figure shows, we have three swim lanes created, one termed as a customer, the other being sales and the third one being the warehouse. Each has its independent flow of control, customer following two request product. Then from request product, it may change to or change into the next swim lane as process order. And this can also change into a lane of warehouse with full materials. Objects may be involved in the flow of control associated with an activity diagram. For example, in the workflow of processing an order, the vocabulary of your problem space will also include such classes as order and will. Instances of these two classes will be produced by certain activities such as process order will create an order object. Other activities may modify these objects. For example, ship order will change the state of the order object to filled. You can watch all these things in the given figure. Now having learnt all these concepts related to activity diagram, pause the video again for a while and try to answer this question. How an activity diagram for the construction process using the concepts that you have learnt? Here is the answer. We start with an initial state which changes to select site followed by commission, architect, develop plan, bid plan which has a branch. If not accepted, it again changes to the same action state labeled as bid plan. Otherwise it changes to. Do site work and do trade work which are the two folks created which are next join into finish construction and finally it reaches the final state where after this we have a house constructed for us and in between you can also watch the other details being the various action states, concurrent folks, activity states with submachine, concurrent joints, object flows with the process named as certificate of occupancy which is received after completion of the construction process. Thank you.


Hey, welcome back to Tai Chi Top 5 Techniques. Now we're going to do technique number 2, the Lui. All right, we're going to show you technique number 3, which is Lui, a redirection. All right, in Tai Chi push cans, we have Lui, right? We have Peng, which is expansive. We've got the balloon Peng. We have Zai, okay, or Ji, which is pressed. It's directional, and we have also An, which is pressed down. We're going to show you Lui, which is very useful for self-defense. What Lui is, is just, if you just isolate one hand, it's going to be like this. And the other one is going to be like this. Notice that when I come up, my pinky is pointing upwards. When I come this way, I flip my hand over, and now this rotates in this way. Now my fingers are pointing up again. When you come up, my fingers are pointing up, and then I sink in my elbow, rotate my forearm, my fingers are pointing up, and then down again, okay? This one's just doing the opposite, like this. So we combine them, and get this, okay? So it can be done in a big motion, whole circle. It can be just done in the middle.  So that's Lui. We're going to show you how to use it. Hey, we're ready for technique number three. Let's show you how to use it. So Lui, very simple. If I just use one hand, it's a deflection, okay?  Because if I just go like this karate style, directional, it hurts me, right? When I go against his hard bones and my hard bones. But if I do a rotation, it actually hurts, doesn't hurt me, and actually he redirects it just with the rotation. For example, you push in, I just do rotation itself. I don't even have to move that much. That itself, the rotation will redirect him, okay? So the first thing is just this one. Now we combine it with this one, okay? So we have two defences, right? We have this one, okay? Which redirects with the rotation, and we have this one, which also redirects, and now you're able to grab him, too. So we combine both of them. Now you have good control, two against one on his arm. At this point, you can keep continuing with that motion, bringing it down like that, okay? If he really leans in, and you can keep continuing and just keep going, keep going, keep going until he goes down, okay? Another way you can use it is you've got this here, and you've got the wrist, you rotate and continue and pushing him back out. So if you continue this motion, that's what it does, right? So you got it, okay?  So now you've got this motion. All right, so it's a very simple technique, but very useful, so use it well.


He said it was made of iron. The spindle didn't reach it. What's that? What did you say? Boo. It's alive. Boo. Boo. His heart gets you here. It is hearted still. The witching hour when the night is darkest, our fears the strongest, and our strength at its lowest end. Midnight when the graves gave open and death strikes. How? You'll learn the answer in just a moment then. Death is no end. Tales of mystery and terror by radios masters of the Macabre. Our story by A.S. Guinesses. Death is no end. May 31st, next. May 31st, deposits $9,840.74. Withdrawal $6,302.16. Mitchell. One moment here. 6302.16. Check. Let's not stop, fellas. It's almost midnight now. We've still June to tally. Let's plow right ahead. Yes. June 1st deposits $15,972.38. We stood there in a skin-deserted bank. Two middle-aged clerks checking other people's money. Behind us loomed the wire cages. Two of them with their doors flung open. Mitchell and Phyllis Bagley, the flexible employees. Mitchell and Bagley, new kind of animal confined to their cages by day and left out at night. Perhaps all women take stock when they reach 40. Perhaps they all experience the thing I'm going through at this moment. A kind of clear, cold reality. Mitchell must have sensed the sudden surge of bitter hate. Phyllis, dear, what is it? One of your headaches? Nothing, Mitchell. Let's plow right ahead. Oh, you just wait here. When we leave the bank tomorrow evening and hop into our little car, two whole weeks in the Wisconsin woods alone begin. Won't that be wonderful? Yes, Mitchell. Now, June 15th. Yes, yes, and let's plow right ahead. Like obedient oxen. Now, June 15th. Deposit $7,400. What was that? I don't know. Hey, who put that box in there, Lee? What's that light over there? Oh, it's only old Mike Haslund. Drunk. Who's there? Answer me, I'll plug you up. Oh, take it easy, Mike. It's Phyllis and I. Oh, the Bagley's. Hehehehe. He's with old Bagley. I wouldn't be... Now, Mike, you'd better sleep it off. We'll be here another half hour. Good night. Watch me. Drunk. You don't like me doing you with some Bagley. Well, I ain't drunk. Just a little tiny. You need a little tiny every night. A little tiny game, Mr. Old Boy.  I'm Phyllis. And that's Tony.  That's all right, Mitchell. Women are all like that.  Mitchell, yes. How old is he hanging? Seventy, Mike. Now, now go over there. Seventy? That's what you think. Where am I? I won't tell you. Nope, you'll never get it. The doctor says he never saw a ticker like mine. Made of iron. Nothing can kill it so hard. Nothing but liquor. Makes it stronger. Just listen to this old ticker, Mrs. Bagley. Here it is. It's me. Get him away from me. Come on now, Mike.  Phyllis, help me. He's passing off.  Oh, dear. All of a sudden, it was clear. The old drunken watchman. Everything was clear. I was 40 in my last chance to come. Sleep it off. In the president's office. Mitchell, he drinks like this every night on duty? Mike? Oh, it's nothing. All the men in the bank know about it. Except the boss. Last ten years, old Mike has been hopping out for half an hour every night that way. He kills plays around the corner. Mitchell, I'm leaving you. I'm tired of this life. Earning nothing a week, always counting the money other men have made for their women.  Phyllis. No, honey, I knew I'd be stepping away. Maybe I'd been mapping this out unconsciously for years. But now I was in the driver's seat. Phyllis, darling, dear, why? I know we don't earn much, but... Much? $80 a week together. Tell me how to make more, Phyllis. Please, tell me anything. Anything so long as you'll stay with me. Tell me anything, Phyllis. I did. Phyllis. Phyllis, do you realize what you're saying? Phyllis. Take it or leave it, Mitchell. All the bank? As easy as making withdrawal, Mitchell. Phyllis. We leave the plan for our vacation tomorrow after work. We come back here at 11.30 at night when that old fool Mike is out drinking. We'll be gone before he returns with a quarter of a million dollars to hide in the Wisconsin woods. It's foolproof, Mitchell. It's the only thing that'll keep me with you. Well? Phyllis, I... I want you. I need you so much, Phyllis. But... I'm afraid. I knew I had him. The void in him was growing bigger. And I alone could tell it. Well, Phyllis, you lucky girl. Now make good use of these next two weeks. Put the roses back in your cheeks. Well, thank you, Mr. Whalen. I didn't know you cared. And you, Mitchell, forget the bank. Yes, sir. You're sure that... Oh, positive, Mitchell. I give you permission to forget the bank. Phyllis, you know what this old work horse of yours asked me earlier today? No, what? He said... He said, Mr. Whalen, if you can spare me, I'll be willing to cancel my vacation. Mitchell's panic was rising as the hour drew close. I'd expected that. I knew that once up in the Wisconsin woods I could calm his fears. Eleven twenty-five at night. We were a block away from the bank. At eleven thirty, we saw the old watchman leave by the back entrance. One minute later, we were parked in the alley beside the bank. And at work, disconnecting the burglar alarm on a big safe. It's... it's all right now, Phyllis. The alarm's off. What time is it? We're all about the time. We've got twenty minutes before he returns. Twenty-twelve. And there it is. Phyllis, it's all yours. Oh! Please, Phyllis, take it. What was that? What time is it, Phyllis? You can tell yourself. It's not twelve yet. I don't understand. He came back. He'll tell me what to do, Phyllis. Quick, quick, Phyllis. Act like we're checking our books. Call him. He doesn't want to mention anything. He didn't remember last night's business when he said goodbye to Mr. Whalen. Come on, Phyllis. Yes, yes. Push that machine. Right behind you. Oh, oh. What's that? A hard-working bag lead, Mike. Well, they keep you busy, don't they? Oh, yes, yes. What do you think of the crest of that guy, Gil? Gil? Ten years have been going there just because I'm out of cash. Hey, weren't you two supposed to be going on your vacation? Vacation? Oh, yeah. Now, that's safe. It's open. Hey, what goes on here? I don't know. Nothing, Mike. Nothing. Put up your hands. No, Mike. I'm taking no chances. Mike, you're acting silly. Handbag, Mrs. Bagley. You've known us for a long time, Mike. Well... We wouldn't do anything wrong. Nothing except... Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Phyllis. Stop that mental... Stop it. Stop it! The Burlac bag will take his body to Wisconsin with it. Mrs. Terrabrew stronger as the night passed. I had to drive. The incident with the night watchman had destroyed what little courage he had. I had to drive. The incident with the night watchman had destroyed what little courage he had. We were about an hour away from the woods when he had his worst attack. What's that? What's... what's the matter with you? You said we couldn't kill him. He said we couldn't kill it. Hassler said we couldn't kill it. Mitchell, would you like to stop for a hamburger? Made of iron, Mike said the spindle didn't reach it. It's still beating back. They're still beating. Mitchell, what's wrong? Nothing. Nothing. Where are you going? I thought I heard some of the tools rattling in the trunk. As long as we stopped, I'll take over. No, no, no. Don't. Don't. He's alive! I've got to hear it! Hassler, he's dead. We're going on. When I got back into the car, Mitchell was unconscious. Ain't him. I let him sleep while I drove north. I had some thinking to do. You can hide money anyplace. Not a body. Somehow I had to find a guide who would take us into the back country. A guide. Who wouldn't be coming back. A dead man in the trunk. And a woman driving into the wilderness in the night. Already thinking of her next victim. Murder has its own laws of progression. Especially when it's... Murder! Death is no end. In the depth of night, Phyllis Bagley drives toward the Wisconsin woods with her grim cargo. As the car crawled over the dirt roads, I kept staring through the windshield, watching for a lighted shack. Here in Indian territory at five in the morning, I had to locate a guide to lead us into the woods. I see a light, Phyllis. Light where? Through the trees up ahead. Turn off the headlights. Like a lantern or a flashlight coming this way. It's an Indian. Hello. Hello. You lost? Yes, we arrived a little later than we expected. Not sure of the way. No good with our guide. Fishing? Yes, but we're different.  Once I best guide up here, now I, old man, do back. Oh, you don't look old at all. I'll bet you're still the best guide in this territory. You very kind lady. How old do you think I am? Not more than 60, I'd say. I don't tell you, nobody knows. I got secret. Really? How to keep heart young.  Well, that would be wonderful, but... We go now. Well, are you all prepared? I'm always ready, lady. Sleep blanket on back. Ears, eyes in head. I prepared. I come in machine. Open the door, Mitchell. Mitchell. Not again? My husband doesn't feel well. That's why we're up here. Maybe I help him. Maybe I tell him secret of strong heart. Thought the Indian took us to his ideal. It was possible to find unless you'd been there. And it had a fast flowing deep stream close by. Deep enough and fast enough to swallow two bodies forever. Mitchell, go help him unload stuff in the car. I'll set the tent up. I'm not going near him. What's wrong with you? We're safe now. No, we're not. Safe except for you. Safe except for that Indian. Where did he come from? Out of the woods in the middle of the night. Eager to lead us back into the woods without even going home. Why? He doesn't talk about his heart like that. Mitchell, you'll stop that kind of drivel or else you'll never speak. It's swift, ruthless murder. What's that? My castles with open or hospital bed keep sending out the same pitiful cry. It's a car radio, of course. Why? You must have left it on. He didn't leave me while into the theory that my castler robbed the bank and disappeared. They claim as proof that the old man was irresponsible and heavily in debt. The bank management has ordered all its employees on vacation to report back to work immediately. Why did you turn the radio on? Me? Please, lady. Why me? Well, you were the only one near the car. Why I should. Why should he indeed? And even if he did, it was an innocent saver. Oh, the police believed my castler robbed the bank and vanished. This is an angle I hadn't even thought of. The bank is calling us all home. Well, in a way I was glad. I don't think I could have tolerated Mitchell alone much longer. I look forward to the night like a caged animal to freedom. Mitchell, what is it? Come out of the tent. It's time. What time is it? It's almost midnight. Please, I... I can't even put... Mitchell, we've gone over this before. This job is yours. You're in this as far as I am. What are you? He's found a secret under that tree. Here's the gun. Mitchell, what a man with seeds. Every step closer to the Indian seemed to weigh him down further. I was determined that as long as we were involved in murder, Mitchell must not remain only possibly guilty. Gun hand, rose slowly, then... I can't! I can't! I didn't mean to. I didn't want to. What you did. Come on. We've got to get them into the stream, both of them. The body's gone. This will help me dig a hole, bury the money, and cover it up again. Then... That is fine, Phyllis. Very. Light a cigarette for me, Mitchell. My hands are dirty. Mike Hasler is alive. Mike Hasler is not dead. No, no, no, no! The police are now convinced beyond any doubt that... Car radio again. I shut it off and dismissed it in my mind. Paul be wiring. We left for home the following morning. Now I was worried about Mitchell. He sat beside me, quiet, rigid. I had no idea what he was listening for until... Phyllis. Yes? Stop the car. What for? If you're only making believe, you'll hear it. You know you do his heart. Mitchell, listen to me. Back there in the woods, I would have killed you without a moment's hesitation. Come on. But I couldn't. You're part of my alibi. Now you're in this as deep as I am. And if you insist on carrying on this way, you'll hate me. No, no, no, you'll hear it too. You just don't want to admit it. You're insane. But you must his heart. Hasler's still beating in the trunk. Hasler is dead and buried. But not his heart. The Indian, he heard it. He knew. Stop it, stop it. You don't hear it. Boom, boom, boom. From the trunk, from Hasler's heart. In the trunk. I'll show you. What are you? The garage up ahead. We're turning in. Phyllis. I'm asking the attendant to open the trunk to check the spare. And you're not getting in. I'm asking the attendant to open the trunk. And you're not getting out of the car. Would you take a look at the spare, too? Yes, ma'am. Sure will. Phyllis, listen. It's louder.   That Indian, he knew all about it the way he laughed and spoke about his heart. Who turned the radio on? Who? He's found it. He... It can't be. Thank you, no. Here, this is for you. Thanks. Have you looked in your trunk lately, ma'am? No. Why? In a messie. Must rattle when you're going fast. Oh. I'll fix it when we get home. Bye. Bye. There's your heartbeat. You heard him, didn't you? A rattle. Too rattling. Where's your beating heart now? I... I don't hear it. I don't hear a thing. Phyllis, you better pull over. Let them pass. What is it, an ambulance? Police. Let's see your driver's license. Why? What's the trouble? Never mind. Let's see the license. Phyllis Bagley, eh? Yes. How do they carry both of you? Okay, June. Let's take a look in that trunk. Okay. Trunk. Why do you want to look in the trunk? Lucky, that gas station attendant called. Yeah. Mrs. Bagley, what's in that sack? I don't know. We'll soon see. Give me a hand, Joe. What did it look like to you? It's him, all right. Mike Hasley. Don't shoot. I told you. What I'd like to know is why they did it this way.  I don't get it. Maybe dead, but death is no end. For his heart will go on beating endlessly in the brain of the murderer. Endlessly until a gallows trap is sprung.  Having paid in full the price for... Remember to be with us again when death's footsteps echo in the deserted streets. And the clocks strike 12 for... Elsbeth Eric and Louis Van Rootman were heard as Mrs. and Mr. Bagley. With music by Charles Paul, Murder at Midnight was directed by Anton M. Leder.


So today I wanted to talk about like alternatives to deploying containers in production without using Kubernetes. So yeah, my name is Claude Verna. I'm actually now an engineering manager at Red Hat and I'm working with the CoreOS team. So we are involved with Fedora CoreOS and also Red Hat CoreOS and the OpenShift product. So why would we look at alternatives to Kubernetes when we want to deploy containers? Because I think currently we can all agree that the main common solution to the problem of running containers in production or containers in workload is to go for Kubernetes. And really I think Kubernetes and using containers in production as the goal, as like many different goals. And I try to sum them up on this slide. I think mostly it's like reducing the system administrator cost, infrastructure cost and the time of people that needs to be on the infrastructure and need to be caring for the servers and for the services and things like that. A big factor also is to reduce the time needed to make a project available and we hear a lot about like MVPs and like time to market and things like that. So being able to deploy a solution or service or an application fast and have like quick feedback is very important.  So having a lot of the operation tasks or operation knowledge and stored in version control and stored in Git. So instead of having to log into a server and run some commons, you would pretty much just change some files in Git and have like some automation or have like some type of CI CD to manage your infrastructure for you. You also want to be able to do clever updates. So with Kubernetes and containers, you are like all those concepts of like green blue deployment or can I test things or things like that. So you want to be a bit more smarter and be able to do some more interesting thing with updates. And a lot of a lot of fuel are also looking for this flexibility between running your own servers on your own infrastructure and also be able to to use like the public cloud or like over cloud provider. And to me, I think that maybe the biggest reason to go for Kubernetes is this scalability. And if you think that your service or your application will have a big need of scalability and need to be able to to scale a lot of a lot of services to to response to like user demands. Kubernetes is probably a good solution. If you don't have that need that might be interesting to look at alternatives and not necessarily go to the to Kubernetes and to the added complexity. I tried to put in on this slide like kind of like the two solution where I think Kubernetes is like this big boat with like all those workflows and those containers and everything is very well managed and very, very well organized. But sometimes you don't really need to have like such a big infrastructure and such a big investment. You might just be fine with a train and just like running some smaller workloads and smaller containers. An interesting fact. In fact, it's if we look at the CNCF, the cloud native foundation for last year 2020, they are running a survey every year. And you see that 20% of the respondents of that survey have a fleet of 20 or less machines. So, and you can see in the very low in the one to five.  Is it really something to to consider to run Kubernetes in some case. Yes, but I think it's it's also nice to to be able to have alternatives and to to not necessarily default to to Kubernetes. I think the 21 to 50 servers is also maybe a case where you can start to to think and to be to be on the edge. But yeah, definitely when you start to to go into the higher end and like, definitely if you have like more than 5000 VMs or servers of them, you probably want something that helps you to manage all those all those machines and have to schedule your workload. So one possible alternative is to go with services that are provided for you and in that aspect like cloud providers or infrastructure as a service providers, give you some possibilities. So yeah, I listed like maybe the three most famous, the Azure container instance, a WS Fargate and Google cloud cloud run service. And really, I think this is probably great if you really don't need to care what infrastructure and operating system and you just really you have like a project you have your code you want to build it deploy it and you know, you really not interested into like how your service runs and what is behind the scene. Probably a trade off of that is that you are going to build your delivery pipeline and it's going to be strongly coupled to your provider. So if you look for flexibility to be able to run like on on premise and in the cloud at the same time, or be able to scale through different cloud or change later is going to be probably quite a lot of work to to move out of that service. So again, if you start to think about running containers in production that's probably you have something to consider about like advantages and trade offs that are there. I think the going for public cloud or those types of services are probably a great thing if you want to do some type of proof of concept or you know like really something really fast to your users to get those feedback. But maybe longer term I think it might be more interesting to to like have a solution that would be provider agnostic and that you could you could pretty much run on any any cloud or in your own infrastructure. I think it's interesting to look a bit at like what would be your kind of DevOps or delivery pipeline workflow. So with this solution for the clouds provider, you pretty much have your code and your test you want that your traditional development environment. The build side is an interesting, interesting phase. I think you can either have it part of your like CI pipeline and do your container builds, you know, just like normal using Docker files or build or any type of container build mechanism. And once you've got your container artifact, you can just use some of the platform dedicated services to deploy those those containers and quite often also the cloud providers also offers you like dedicated monitor services where you can monitor your application and see if that works. One thing to consider also is that most of the time the service that you're developing is is not going to be self sufficient, you will often need other services like databases or like, you know, storage or things like that. So if you go the cloud way, you will also consume those other services from the from the cloud provider and from the from the platform. So what are the other alternatives. And today I will mostly focus about like Linux and see what's happening in the in the in the Linux ecosystem about like dedicated solution for for running containerize application. And in particular, I will focus on what we do at Fedora and our Fedora Core OS offering. But pretty much when you think about it, what you really want to to run containers is you want your Linux scanner obviously to be able to to create containers. You want a way to provision your servers. So it can be automated, it can be quick and fast. You want security so you want your server to have like the latest updates. You can also make great use of AC Linux to harden the harden your security. And you want some type of container manager container engines or at least in a few like Podman Docker or any other other container manager. And that's pretty much all you need and all you should be concerned to have in your like Linux distribution. And they are like many offerings and they are like, while the philosophy is pretty much the same there are like many different ways of doing so I listed like the main year. And you can see that, for example, it's quite interesting, but the cloud providers also have their solutions. So for example, AWS, they have like bottle rocket. But they are also like more traditional Linux distribution. So like Fedora Core OS or open source micro OS and over over solution like this. So if we if we come back to like why why you want to learn containers in production and why would you go for for Kubernetes. If we look at like pretty much each criteria and we try to look at how Linux distribution like Fedora Core OS matches those criteria. So about system administrator cost infrastructure cost. One of the big thing that one of the big feature for Fedora Core OS is about automatic updates. And you kind of want to have this philosophy of like you deploy it and you forget about it because the operating system will will manage itself and will update itself. You want to reduce the time needed to make project available so it's very easy to deploy and provision you can adapt you can start to think about having your operating system within your development pipeline. And we'll see later I think it's quite an interesting concept to to start to think about. So yeah spinning up Fedora Core OS VM it takes less than a minute to provision it and have your service running. Version control so all the configuration to provision the the operating system is in configuration files so as a YAML translated to JSON so easy to store and easy to to adopt a GitOps philosophy. Yeah coming back to clever updates really for Fedora Core OS the main one of the main goal of the of the distribution is to have stable updates and updates that don't break. And and be able being able to run on premises or in the cloud. And I think that's probably also one of the great value that you get from projects like those is that you currently Fedora Core OS is available on 12 platforms. So I listed a few years like most of the main platforms are there and it's very it's very easy to run from like one platform to the other and since you have the common the common base and common trunk of Fedora Core OS. So going back into a bit more details about like some of those features. So really, as I was saying the updates is really something we care a lot, because if we want people to use automated updates we want them to be rock solid and not break anything. So the development of Fedora Core OS is using extensively CI pipelines and we're testing on different providers so for example we have a AWS we're making sure that Fedora Core OS is working well on AWS. Yeah. 10 minutes. I think on AWS or Google cloud and over like more like on premise cloud like open stack or just like live virtualization. And we're making use of the RPM OS tree technology. I'll talk a bit quickly about it after where in the case, in the case of an update that would break your workflow and break your application. It's very easy to come back to the previous state. So you have this concept of fallback where, okay, I got an update it's not working. Let me just go back to the previous state that was working. And in the future we will be working on automated that fallback. So user could specify some health check making sure that your services back up or like you have like the database access or thing like this. And if that does not happen you would come back to the previous state. So talking about like the streams that are offered by Fedora Core OS, we are like three streams next testing and stable and pretty much. Yeah. You want to be able to have like a few machines in your fleet that are on next and testings, and they kind of they kind of are your canary VMs or canary nodes that you can use to test what is coming to the stable stream so there is Fedora Core OS is releasing every two weeks. And usually the testing stream is promoted after two weeks into stable. So during this two weeks period, there is there is time to get feedback. And if you see that something stops working on your machine that is running the testing stream. It's, it's the perfect time to give the feedback to the project and we'll be able to fix it and not break the stable stream. So yeah, really the stable stream is something we want to be rock solid and not break. About provisioning. And that's probably something that is a bit like different compared to over Fedora. Like artifact over Fedora release. Like the workstation or server edition Fedora Core OS is using ignition. And it's allowing us to, to automatically provision like one from like one VM to thousands of VM the same way so it's using a declarative way and everything is done like from a fresh, like a fresh starting point so you will always have the same provisioning using the same configuration. In more traditional way, you might be a bit more familiar with kickstarts for bear metal or cloud in it. And with Fedora Core OS you just use the same, the same configuration file and the same mechanism for, for every platform. So be it bear metal or cloud in it you just have the same, the same mechanism. So both like all the versioning works and the security for Fedora Core OS and so I talked quickly about the RPMOS tree but it's often like compared as like Git for your operating system. Pretty much the whole image of your operating system is in a commit like objects and you have a, you have a version number and you have a hash. And it's very easy to know which version of packages you have in that version and in that hash and that's a great way to, to track what you're running in production but also that's a really amazing way to do testing, because you, you know really bit by bit what is, what is in your operating system. Another feature is that we, it is a read only file system so it prevents accidental corruption or like some sort of like attacks where you would be where like attack to go and try to modify files on the systems and try to get some more privileges or things like that. And obviously we have a C Linux enforced by default so that also helps a lot security wise. Okay, so if we look back at the workflow with something like like container for like something like Fedora Core OS or container OS. I think you suddenly get the level of abstraction that you can start to put into your delivery pipeline. So you have your code your test. And now what you build. Maybe where where you start to have like some dependencies in the way you're building your application because now I think you don't want to build only a container you want to build the container plus operating system solution. And your service what you're starting to release is not, is not the container anymore, but it's this combination of container and operating system. So you can start to test your application running against the specific version of your operating system. And what you're testing is exactly what you're going to deploy. So here really I think this container plus provision in configuration is is really the artifact that you want to to release at the end of your delivery pipeline. A good example that we've worked recently it's to run a matrix server so matrix is a communication protocol open communication protocol and they provide an implementation of that protocol called synapse and the project provides everything as a containers, but you don't really have like a solution where you can almost like press click and deploy, and you have, you have like all the services needed to deploy that service. A good example here is using Fedora Core OS and the ignition config where you will define all the provisioning of all the services. You can have that solution where you have your operating system image and the configuration of your services and that to artifact gives you a service that is ready to deploy anywhere so either on your infrastructure or on the cloud. If you want more information, there is a link to a GitHub repository where you can try that and you can deploy your own server. And finally we've we've like more traditional Linux distribution you also get the benefit of having a community behind and being able to talk to people and like get involved also in the project and try to to propose changes or improvement to the project. So I think that's also a great aspect when you look at at solution to run your containers is to be able also to to be part of a bigger community and be involved with with people. So a few links I will share after in the chat the link to the presentation but yeah if you want to get started or more interested the feelings there and tomorrow there is also a workshop. So getting started with Fedora Core OS. So if you're interested, I'll encourage you to participate to the workshop. And that's it I think should have like a few minutes left for questions. Maybe a black one question, then we need time to for to prepare for the next talk, but we have to actually in Q&A section. So let me look at it. So are the processes that are the best practice for things to Fedora Core OS. No, I don't think it's it's unique for Fedora Core OS. I think other other other other solution as well as like cloud provider solutions or other Linux Linux tiny Linux or like container Linux operating systems are also following that way. I think that's probably something that when you start to be in the like the one tick to run container in production, I think this is something that you see a lot like trying to adopt those github practices.


So let's have a look at a QQ plot now QQ plot really helps you to decide if if you're going to use hypothesis testing and statistics Whether to use parametric or non-parametric tests. Let's have a look at that So again plot we are going to pass something new The stat argument here stat dot QQ statistics dot QQ Now let's have a look at what we have for our aesthetic X equals Rand now When I showed you how to do the save of a plot I did import the distributions Package using distributions chi square is one of the distributions that it can do and normal as well So chi square takes one argument the lambda argument here. So it says take Random values from the chi square distribution with a lambda value of one and please take 100 random data points from this distribution Randomly and attach it to the X aesthetic Y equals just normal open-close parentheses. So that's the normal distribution With the standard normal with a mean of zero standard deviation of one and plot this As a geometry a point geometry, but use the QQ statistic on these aesthetic Let me show you what happens Let's to see all distributions. Let's just add that it seems that that The kernel had stopped in between. So let's insert sell above and let's do that. Let's say using distributions There we go. So let's run this code again this and There we go. It will work now look at this. So on my x-axis I have My X values and this is a QQ plot. So it plots every point versus its quantile and But it's using using this normal for the Y value If I put in normal here These points should be on a straight line if these data point values were from a normal distribution Clearly they do not follow a straight line. So clearly these values are not from a normal distribution and indeed they weren't I cheated I put them as a chi-square distribution of the lambda of one So this plot tells me if I wanted to use these X values in hypothesis tests, I should use a non-parametric test Now let's use that on some of our own data So what are we going to do? So we're gonna plot our X is our variable one, but I've got to sort it So I can say data frame The variable one column take all those values Sort them and that's my X aesthetic for my Y aesthetic I've got to pass the normal function because I just want to see whether this is Where the variable one does follow a normal distribution, but I can't just use open and close parentheses not standard normal distribution I've got to give it a normal distribution based on the mean and standard deviation of All the values in variable one. So I've got to say mean Data frame variable one comma standard deviation Data frame variable one. So it's going to construct the mean and standard deviation from Very the values in variable one and it's going to construct from that a normal distribution Now it's going to look at Each and every value from the minimum to the maximum value It's going to apply the statistics this QQ. So it's going to look at the quanta of each and What I'm doing here. I am comparing it to a normal distribution Let's see if variable one followed a normal distribution Indeed it didn't again these plots these dots are not on the same line So once again, if I was going to use variable one, I should not use a parametric test Let's do exact the exact same thing for variable two So everything is the same and just gone on to variable two and indeed it looks like these points do fall on a straight line So I would suggest that this the sample data was taken The post tips participants were taken from a from a population in which that variable x or variable 2 in this instance was normally distributed So if I were to come do a hypothesis test, I would use a parametric test on this Let's have a quick look at variable 3 at variable 3 and again I'm doing the Q the stat qq on a normal distribution So I could check it against other distributions I could see whether this was in fact whether it followed a chi-square distribution with whatever lambda value I'm interested in so I could have put sky square there and say for instance Emparentes is just one for lambda equals one and it will change these if that then becomes a straight line that would mean that this followed a chi-square distribution and Indeed with this kind of distribution based on a qq statistic for a normal distribution based on the mean and standard deviation of The values in variable 3. This does look to me like it was constructed as a as a chi-square distribution Good in the next section. We're going to revisit scatter plots and I'll show you how much more You can do with the point geometry