I'm Zor. Welcome to Unisor Education. Today we will continue talking about equations. This is part two, and we will mostly concentrate on how to solve equations. Basically, from the part number one, you could learn that the basic method to solve equations is to use invariant transformations. That's kind of an obvious and relatively easy way if you have an equation at plus five equals seven. Convariant transformation is obviously transformation which transfers every variable into that variable minus five, and if you apply this transformation to the left part, you will have x plus five minus five, and if you will apply to the right part, it will be seven minus five, which actually results in x equals two. Now, what's important about this transformation being invariant is the fact that from not only from this, you can come to this, but also you can go backwards, and invariant transformation, which is reverse of this one, would be x plus five, so you can always from here by adding five to both sides of this equation. You can come to here. These three equations are completely invariant to each other. They have exactly the same solutions, and this is a solution already, so that's exactly the solution of the first equation. So this is an easy part. Now, let's just examine what kind of invariant transformations we can use, and also what non-invariant transformations exist and how they can be used. That's much more interesting than the difficult topic. Okay, so as far as the invariant transformations, number one is transformation when we add any number. Let's just assume that our equations are with real numbers, and we are looking for solutions among real numbers only, just to make our job a little bit easier. So this is an invariant transformation, and the inverse one is obviously x minus a. All right, now next. The obvious next choice is multiplication. Is this an invariant transformation? Well, almost. Obviously, if we want the reverse one to be correct, and the reverse one is obviously dividing by a, a should not be equal to zero. So now we have a transformation which is almost inverse. We have a small restriction of this multiplier not to be equal to zero. Now, how can that be used? Well, obvious. If you have something like x multiplied by 5 equals to 20, you can apply a transformation, g of x equals to x divided by 5, or if you wish. Since we're talking about multiplication here, we can say x multiplied by one-fifths. So if we will apply this transformation to both sides of this equation, we will have x times 5 times one-fifths equals 20 times one-fifths, which is x equals to 4. And since our multiplier is not equal to zero, this is invariant transformation. So from here we can go back, and that proves that x is equal to 4 is a solution. By the way, instead of applying reverse transformation, which is in this case x times 5, we can just substitute this 4 into an original equation, and that will be just a plain checking, which is an mandatory thing, by the way, when you solve any equation. Checking is always mandatory. Now, that's fine. That's easy. Now, as far as invariant transformations, there are many different examples of invariant transformations which we can just talk about right now. But what's the most important about every invariant transformation is that it represents a one-to-one correspondence between the domain where the equation actually is defined. In this particular case, if we will go back to this equation, x times 5 equals to 20. It's defined basically on the set of all real numbers, and this particular transformation is also defined on the set of all real numbers, and that's exactly where it is reversible. It represents a one-to-one correspondence between the domain and co-domain of every function. The one-to-one correspondence can be established by the fact that from every real number, we can multiply it and get some other number, and then backwards from that other number, we always go back to the original one. If we have two different numbers as origination, it will have two different results, and if we have two different results, we can always go back into two different original numbers. That's what one-to-one correspondence actually means. Every invariant transformation is a one-to-one correspondence between the domain and co-domain. As you know, it can be represented graphically if you have something like two coordinate axes which represent the function t of x, then any graph which will establish this one-to-one correspondence would actually constitute some kind of invariant transformation. Why is it one-to-one? Well, from every point on the x-axis, you get one and only one point on the y-axis, right? And vice versa. From every point on the y-axis, you can get one and only one point on the x-axis. So that's what one-to-one correspondence is. Now, obviously, functions like x plus a are graphically represented as a line which has an angle of 45 degrees and shifted upwards or downwards, vertically depending on the sign of a. Function x times a very close to this is actually the graph of this function goes through the center and the angle depends on the a. If a is positive, the angle is positive. If a is negative, the angle will be negative. But in both cases, any straight line represents a one-to-one correspondence. And in this particular case, it's very easy to see that the line with a equal to zero does not represent the one-to-one correspondence because here it is. If you have a not equal to zero, let's say a is equal to two, that would be the graph. This is definitely a one-to-one correspondence. From every x, you get the t of x and from every t of x, you get back to x. But if a is equal to zero, the graph will be t of x is equal to zero, which is coinciding with this horizontal x-axis. Now, is this a one-to-one correspondence? Well, let's think about it. From every x, we can get y, which is always zero, right? But from every y, we cannot get the corresponding x because from these ys, there is no x at all. There is no prototype. There is no domain point, which will result in non-zero in this case. And if y is equal to zero, if t of x is equal to zero, again, there is no way to find out from which x it actually came to zero because any x will give zero. So this is definitely not a one-to-one correspondence between domain and codomain. So that's why a is not equal to zero in the graphical to the graphical reference infection. But anyway, as I was drawing before the graph, an example, by the way of that graph, would be t of x equals to x to the power of 3. Now, this is also one-to-one correspondence because for every x, we can find a concrete t of x and vice versa. It's always the three-root, the cubical root exists for every number, every real number, and it's always defined, well-defined, without any problems. And obviously, you can use this particular transformation to solve equations like cubical root of x is equal to 5. Now, since you can apply this invariant transformation to both parts, so let's use the power of 3. In this case, it will be this. Now, by definition of the three-root, it's basically some variable, some number, which if you're using the power of 3, it will give original number x, right? That's just from definition of the root. And this will be 125. So that's the solution. And since it's invariant transformation, it's obviously the correct solution checking its cubical root of 125 will give 5. However, there are some seemingly simple but very treacherous other functions. So now we are moving towards the category of non-invariant transformations. And the question is, can we use them, because sometimes they seem to be quite useful, and how can we use them safely? Okay, the first non-invariant transformation will be x where? Well, first of all, y is this transformation non-invariant. It looks very much close like x3, but however, let's do it graphically. Remember, if you have the function x to the power of 3, the graph looks like this. So it's one-to-one correspondence between domain and codomain, and the correspondence is established through this graph. How? You do this, and you get y. So from every x, you get only one y. And from every y, you get only one x. So it's always one-to-one correspondence. The situation is quite different with x2. Why is it different? Well, what was the graph of x2 in this? This is parabola. Sorry for my drawing, not exactly perfect parabola. But anyway, for every x, we can find the corresponding y. That's no problem. How about the reverse? Definitely not, because from this particular y, we have two different axes which correspond this particular value of the function. So if you have, for instance, y equals to 4, x can be 2, or x can be minus 2, because both being squared give you 4. So transformation is not invariant. Does it mean we can't use it? Well, we can't. But we really have to do it very carefully. And let's see how. Let's say you have an equation that goes very much like in the case of x to the power of 3. So you have a square root of x equals to, let's say, 9. Well, what do we do in this case? Well, we apply the transformation x2 to both sides. You will get x equals to 81. Well, is it correct? Everything seems to be fine. If you will go back, the square root of 81 is 9. Everything seems to be fine. Okay, let's do a different equation. How about square root of x is equal to minus 9? Again, apply transformation t. We get x equals to 81. Exactly the same thing. Now, is it a solution? Well, obviously not. Because again, you substitute to the square root of 81. You get 9. 9 equals to minus 9. That's nonsense. So this is not a solution. So apparently, in one case, we get the correct solution. And in another case, we are getting not the correct solution. And why? Because this is not an invariant transformation. So how can we do it, let's say, more accurately? And how could we use the whole thing with a certain level of assurances that we have the right solution? Well, there is only one answer in this particular case. Do the checking. After you solve the equation, in case you're using all invariant transformations, you have to do checking, but it's not really mandatory because if your invariant transformations are really invariant, you are absolutely sure about this. And all calculations which you do, also done quite accurately, there is no way you get the wrong solution. Everything will be fine. There will be no problem. We still encourage people to do the checking, but it's not because there is something wrong if they don't. In case of non-invariant transformation, as you see, we might get into the wrong solution and think quite correctly the transformation which we wanted to use. And the incorrect solution, actually, is not something because we made a mistake. We didn't make any mistake. We squared the whole thing quite correctly. It's because the transformation we are using to square both sides is not invariant. So if you're using certain non-invariant transformation, rule number one is always checking your solution. Well, actually, it's rule number one, even in case of invariant transformation, but over there it's just to protect us against some mistake which we made in calculations. In this case, it's not really a protecting against mistake. If you do everything very accurately, you still can get the wrong answer. And again, the reason is it's non-invariant transformation. So sometimes, if you're using certain invariant transformations, you can get extra solutions which are not really solutions to the original equation. That's why you have to check it. Well, that's not it. Unfortunately, the story doesn't end here. As we know, right now, sometimes we are getting extra solutions which are not the real solutions to our original equation. But sometimes, unfortunately, we can lose the right solutions and that we have to avoid, obviously. And here is the next example. Another transformation is square root of x. Okay? Let's think about this. And let's start with a solution with equations like this. First of all, let's guess what's the solutions to this particular equation. Well, obviously, it has two solutions. Six and minus six, both being square root of v with 36. So we know in advance we are very smart. We guessed the solution to this equation and there are two of them. Now, let's apply this particular transformation and let's do it very, I would say, immaturely, blindly, wrongly, if you wish. Okay, square root of both sides. Well, square root of x squared is x. Square root of 36 is 6. We got the solution. Well, did we get the really right solution? Well, this is the right solution, by the way, because if you will substitute it back and you will check everything is correct. But don't forget that we have lost this solution on the way. And why? Again, we have lost something because the transformation is not really invariant. So this is an example that we lost a correct solution. The previous one was that we have actually came up with a solution which is not really a solution. So when we are using invariant transformations, we can either gain more solutions and some of them will be wrong, obviously, although we did not lose anything. But in some other situations, we might lose the right solution and that also should be somehow dealt with. Now, to protect us against gaining wrong solutions, as I said before, you just check it. That was in the previous case. In this case, check really confirms that we came up with the right solution. So somewhere in between, we have lost this solution and didn't really pay attention to this. And that's where there is a difference between art and science, if you wish. Checking is just a straight science. This is by the book. There is no problem with this. Square root, this particular transformation, is a little bit on the verge of art. You really have to know what you are doing. You have to know under what circumstances you can lose something because if you lost it, then there is no checking or whatever which can help you to regain that solution you have lost. So in this particular case, there is no general recipe, unfortunately. That's why it's art and not science. You really have to know what you are doing. And square root is such an animal that you really have to understand the intricate details of square root. That's why I would like to devote a few minutes just explaining what the square root actually is. And then we will return to this equation. If we are talking about square root of something, of x, whatever. Obviously, the definition of the square root is, well, this is the number which is being squared gives the original number from which we extracted that root. But in this particular case, square root of 36 is not just 6. It's plus 6 or minus 6. And that's where we were wrong. So we have to definitely know the definition of this thing. And there is actually a better terminology, not just square root of x, but arithmetic value of square root of x. And in most cases, when we are talking about equations or something like this, mathematicians prefer to deal with arithmetic value of the square root. And here is the difference. It's very easy to see graphically. If I'm saying that the value of square root of, let's say, 36 is plus 6 or minus 6, then how can I draw the graph of the function square root of x? If I have 36 here. So if I'm saying that we have positive or negative 6 as the value of square root, there is no way I can draw a graph in the way the real functions are defined in mathematics, because if I will have 6 and minus 6, it looks like one value of argument has two different values of function. Now, if this is, let's say, 9, I have 3 and minus 3, which is this. Which is this point and this point. If it's 0, it's only 1. So it looks like the graphically, it looks like this, which is not a function in a traditional definition of this world. Traditional function is a rule which converts one particular argument into one particular value. Argument should be from the domain, value should be from the color domain. But in this case, we have two values, which means it's not really a function. It's much easier to say that square root of x is first of all defined only on a positive, non-negative rather real number. So that's the domain. And as far as its values are concerned, for all non-negative values of x, we only take the positive number, square of, which gives you the original argument. So the value of, a arithmetic value of square root of 36 is only 6, not minus 6, only 6. But this is a real function, why? Because again, for every x in the domain, and domain is only non-negativity, you get a concrete value, one and only value of the function. So now we have one-to-one correspondence between domain, which is all non-negative numbers, and co-domain, which is also all non-negative real numbers. And this graph represents the correspondence. For every non-negative y, you can have only one, non-negative x. So if we are talking about equations, you really have to understand what is the square root. And in most of the cases, it's assumed that the square root is arithmetic square root, which means arithmetic variable square root, which is only the positive value. In which case, we obviously have to consider this thing in a following way. What is square root of x square? It's not x. This is wrong, because we assume that this is arithmetic root. And usually it is assumed, which means on the left you always have the positive number, which is being squared, give you x square. Now, what is x? You have no idea. X is an unknown variable in this particular equation. So how can we make sure that we have something like this, but the right one, the right equation, the right correspondence between the square root of x and something? Well, obviously the right thing is absolute value of x. So no matter what x is, if x is equal to minus 6, square would be 36. A arithmetic value of the square root of 36 is 6. And absolute value of minus 6 is also 6. So this is a correct equation, and not this one, because it contains the unknown variable x, sign of which you don't really know. Now, if we are using this type of square root as a transformation, and in this case, we can say that this is invariant transformation. So if we assume that this square root, t of x is equal to square root of x, is invariant transformation when we also take the arithmetic value of the square root, then it's invariant and there is no problem because square root of x square is equal to, again, a arithmetic value of square root of 36 is plus 6. This is absolute value of x, and this is an equation solution of which we will have to find. And this is obviously x equals 6, and minus x equals to 6, which is x equals to minus 6. One solution and another solution. Because what is absolute value of x? How did I derive this? There's just a little more detail. What's the definition of absolute value? Absolute value of x is x with x is greater or equal to 0, and minus x with x means less than 0, right? That's the definition of the absolute value. For positive x, that's x itself. Like for 5, it's 5. For 25, it's 25. For negative x, for negative x, let's say minus 100. The absolute value is minus minus 100, which is plus 100, and that's what the absolute value of x is. So from this definition, we can say that basically for positive x, x should be equal to 6, and it is definitely a positive x. 6 is a positive x, so this is a solution. For negative x, let's look in the negative x, this function. In the negative x, we are saying, okay, if negative x is equal to 6, x is equal to minus 6, which is negative, so it's also a solution. Great, so that's how we get both solutions, plus 6 and minus 6 for the original equation. So as you see with square roots, the situation is a little bit more complicated because you really have to think about the square root, not as any number which being squared gives you the value under the sign of radical, but only the positive or zero, non-negative value. That's very important. And that restriction actually makes the square root of x an invariant transformation, but only within its domain, the domain is non-negative numbers, and the codemain as well. Okay, now we know these little tricks, and let me just say that basically any transformation which involves the even power, like x to the fourth, x to the sixth, etc., they will all have the same property of not being really invariant transformations because the power is even. It's like in case of a square you have two different values which you can gain, one of them is right, another is wrong, same thing with x to the fourth, x to the sixth, etc. And the same thing actually is with using radicals, with using roots. Square root or four root or six root, etc., all the even numbers have the same property as a square root, and we always have to consider the arithmetic value of that root, the value which is always non-negative. Now, obviously there are many, many different examples of how these transformations can be applied. Now, in elementary mathematics, the transformations of this type, power and root and multiplication and addition, are the most important transformations which you have to use, but you always have to think about how to use it. And as a final example, let me just go back to this type of transformation, x times a, but in this case, I will do it in a slightly different fashion. Yes, we can multiply both sides of equation, but as I was saying before, the multiplier should not be equal to zero. Well, that's actually very important, because let's say your multiplier contains an unknown variable. So if it's unknown, you don't really know whether this is equal to zero or it's not equal to zero, because sometimes it might be equal, sometimes not. Like in the very simple situation, if you have something like 1 over x equals to 5, well, what do you do? You apply this particular transformation with a equals to x, right? So you multiply both sides by x. And what do you do in this particular case? Well, you have something like 1 over x times x is equal to 5 times x. Now, you don't think twice. You reduce this to 1. This is equal to 5 times x. Now you multiply both sides again by 1 fifths and you get x equals to 1 fifths. Is it a solution? Well, it is if you substitute it there. That's fine, that's no problem. Now, let's do it slightly differently. Let me just think about an example where you might be in a little bit worse situation because when you're multiplying by something, you might actually have an incorrect solution. Well, how about this? If you have 1 over x equals 2 over x. What happens in this particular case? Now, that's not a good solution. How about 1 over x? Let me think. What I would like to actually accomplish here, I would like to have an equation, you see x cannot be equal to 0 here, but I would like to have an equation which will have the root equal to 0 when you multiply it by x. How can you do that? When you multiply it by x and if x contains 0, you basically, because in this particular equation x cannot be equal to 0, right? Oh, very simple. How about if I will do something like this? Under this circumstance, x cannot be equal to 0 because basically it's in the denominator and we cannot divide by x. So if you will try to substitute 0 into this equation, you will definitely say that, okay, if it's impossible, x equal to 0 cannot be a solution to this equation. But let's try to multiply by x using this transformation and we do not pay attention for the second that x is a variable and it's an unknown variable and we actually can do something wrong by multiplying by 0. So if you multiply both sides by x, you will have back x equals x times x. You do not think twice and you basically do this type of thing and you have x equals to x squared, okay? Now, solutions to this are very easy to obtain by using this transformation. I just brought this out of the brackets and I will get that. Now, this equation obviously has two solutions. x equals to 1 because then the product will give 0 and x equal to 0 because again the product will be equal to 0. So if we blindly use this type of transformation which contains this type of transformation which contains where a contains unknown variable and we don't know in advance what's the value of this unknown variable, we can actually come to a solution which is not the right one. The x equals to 0 is not the right solution. x equals to 1 is 1, 1, 1, that's the right solution. With 0 you cannot substitute here and that's actually the wrong thing. Now, you can say that I can reduce this right now but if I will do something a little bit more complicated, you will not really be able to do this something like x minus 1 divided by x equals to x minus 1, let's say, something like this. There is nothing which can be reduced right now and if you will multiply both sides by x you will get x minus 1 equals to this multiplied by x would be x times x minus 1. Obviously, x is equal to 1 you can reduce and you will get x is equal to 1 which is a correct solution. It's not always quite visible whether you can or you cannot simplify the equation from the very beginning and so if you blindly multiply both sides by an expression which contains variable you can actually gain the root which you did not have before. That's basically my point. Even if certain invariant transformation seems quite obvious, it's not really obvious whether it is an invariant in case when some number you are multiplying by contains the unknown variable. You might gain something or lose something based on the value of this variable and you really have to very carefully check the solutions in these particular cases. So probably the best way to approach solutions to how to solve the equations using invariant or non-invariant transformation is just to solve equations. I will try to put on the website as much different equations as possible and maybe some of them will be a little bit more tedious as far as calculations are concerned. That's quite all right actually. I think solving equations even in case when it involves certain tedious calculations is also good because it teaches you some patience and accuracy, etc. But the most important thing is that you really have to do it very accurately and on every step you have to think about whether transformation which you are applying to an equation is invariant or not. Let's say you are squaring both sides of the equation. But immediately the red light should go into your brain. Okay, square is not always an invariant transformation. We can actually gain some extra solutions which we did not have before. So that's what's important. Solving more and more equations of different kinds, obviously, which I will try to put as exercises. That's exactly what will teach this accuracy and the correct approach to choosing the way how you fight your fight. That basically concludes this particular lecture. Try to solve as many equations as you can among those which you will find as exercises which follow this particular lecture. Well, thank you very much and good luck in solving these equations.


Hi guys, so I wanted to make a quick little update video for you guys on What my game plan is now that I have finished my MSM? I've had so many of you guys ask like what are you gonna do?  Are you gonna get a new job? What are you doing? And honestly, I didn't really know for the longest of times I kind of dabbled back and forth between like do I want to Completely change up my career as far as nursing goes like get a work a whole different specialty Do I want to go into the educational setting and maybe Do some teaching in person or being a clinic be a clinical instructor or teach online or Do I just want to continue being a bedside ICU nurse and just Power on until I figure out what I want to do and honestly I just I didn't really know and like every opportunity sounded awesome But then at the same time like I didn't want to leave bedside nursing I really love being an ICU nurse it works really well for me right now in this phase of life as far as Scheduling and I'm part-time and I can spend time at home with my daughter and all those like work life balance things that are important But anyways, I'm excited to announce what I'm doing And you guys are gonna love it. I've partnered up with Katie Kleber and we are writing an online course It's going to be an ICU nurse crash course and basically I am writing a bunch of content for Nurses that are going to be new to ICU or even if you're have some experience in the ICU to really help you Get a little bit more comfortable into the ICU get gain a huge Like chunk of knowledge of important things for ICU nurses We are going to be covering so much stuff where you're covering vents ABG's drips death and dying what to do in a code Arterial lines central lines Dialysis I mean we are covering a ton a ton a ton of content that is gonna be so valuable And it is going to be coming at the beginning of 2020 So I'm so excited to let you guys know I have been working so hard on it and honestly like It is a lot of work. It is a lot of work You don't realize how much you know until you need to like write it all down and make videos on it and whatnot If you guys are interested in the course I'm going to leave my email list to sign up down below because when the course is going to launch We will have a special email code for you guys to get a huge discount off the course like huge So make sure you sign up for that. It's going to be coming early 2020 We don't have a set date yet, but early 2020 and I can't wait to share it with you guys So that's my big announcement. Thank you for watching Let me know what else you would want to see in the course down below and I'll see you in my next video. Bye


This is stock number 9J37B. We are here at Summit Automotive in Fond du Lac, Wisconsin. You're new and used SUV headquarters. Today we are checking out this super clean 2016 Subaru Outback. This vehicle has the 2.5 liter four cylinder motor which pumps out 175 horsepower. From this HD video you will be able to tell that this Outback is in excellent condition all the way around. It has the projector lamp headlamps, the LED running lights, and the factory fog lights. Wilderness green metallic is the color. Quick note that we shoot all of our videos in 1080p so if you have HD capabilities on your computer tablet or smartphone device turn them on now because it's like you're right here looking at the vehicle with me. Firestone destination 22565R17 tires and those tires have right around half the tread left. Painted alloy rims, no scuffs or scrapes on those. Very nice condition and as we go around the front here and you'll notice the hood is in excellent condition. I didn't see any dents or dings on that. The front bumper is in really nice condition. No major scuffs or scrapes. Passenger side rim is in excellent condition as well. No scuffs or scrapes on that and as you go down this side of the vehicle you can see just how clean the body is. How reflective and glass like that paint is. We take these HD videos so if you are far away or even if you're close by and you just cannot make the trip down you can still see the vehicle. Hear the vehicle and have confidence in what you're looking at before you even get here. And this is definitely the best and most accurate way to check out the vehicle without actually being here. Back rim is in excellent condition as well. And those back tires have just as much tread as the fronts. Maybe even just a hair bit more. Very nice good tread on those. The wheel wells are in excellent condition. I didn't see any chips or rust or anything like that. And as we go around to the back rear bumpers in really nice shape. No dents or dings or cracks on that. You can really see that metallic paint in the wilderness green. Very good looking color. This is an all-wheel-drive of course. Back liftgate goes up nice and easy. And those shocks are in great shape. Holding it great. Has an all-weather floor mat back here. And underneath you have all your jack tools and everything that you need for that. So those seats do fall down. You can put them down with this lever which is pretty nifty. And that rear gate shuts nice and solidly. As we go around to this side of the vehicle just as clean as the passenger side. We want to make sure that you get the most accurate representation so that you don't make a wasted trip. Or hopefully if you're on the fence if you're coming or not. This will put you over because you'll know exactly how clean the vehicle is and how nice it is. No scuffs or scrapes on that rim. And as we go inside here the premium package gives you the tan cloth interior. There are no rips. There are no tears in these seats. Very very clean. Both of these seats are heated. You have a power driver seat. We have factory all-weather floor mats. And factory floor mats throughout this vehicle. Has the power windows, power locks, and power mirrors. As well as auto headlamps. As we hop inside here you can see that this vehicle has 38,106 miles. You have the leather wrapped steering wheel, cruise controls on that side, Bluetooth audio controls on this side, and information center. You have the Starlink system, AM, FM, and serious XM radio capabilities. As well as Bluetooth. This one this is also where your backup camera shows up. You have your heated seat buttons right there. And your dual climate control right there. Passenger seat is very clean as well. No rips or tears on that. Does have side current airbags throughout. Has an SOS system too. And map lights up there. And we have the all-weather floor mat on that side as well. This one does have the X mode. And he'll start assist. Take a quick look at the back seats. And then we will check out under the hood. Back seats are just as clean as the front seats. You can see just how nice and flat that seat does fold down. That goes up pretty easy. Has the latch child safety system. No rips or tears back here either. And we have all-weather floor mats back here as well as those factory floor mats underneath. Very nice car inside and out. I'd highly recommend it from a condition quality standpoint. We have heated mirrors as well. That wilderness green is just a really nice looking color on this vehicle. And we'll take a quick look under the hood. 2.5 liter four-cylinder motor. Like I said 175 horsepower. Engine bay is very clean. Runs very smooth. This vehicle has been fully safe and inspected by our service shop. Has a fresh oil and filter change. Everything looks really clean under here. And this vehicle is 100% ready to go. To see more pictures of this Subaru or one of our other 400 new and used cars, trucks, SUVs, minivans, Wranglers, halftons, you name it, we got it.  Videos of every single used vehicle that we have all at summitauto.com. Thank you so much for checking out the video. If you want to make this vehicle yours, give us a call right now 920921. 0850 asks for one of our sales professionals to make this Subaru yours today. Once again that number is 920921. 0850 thanks again for checking out the video. If you want to check out more, go to youtube.com slash summit auto to see all the new and incoming vehicles daily. In fact in a second if you take a look on the left a link to subscribe to our YouTube channel. On the right a link to more used inventory vehicles like this one. If you haven't been to our website on the bottom a link to this vehicle on our website. Click those check us out and we really look forward to helping you with this super clean 2016 Subaru Outback Premium. Thanks again.


This is Startup a Storefront. Picture this. You're looking to launch a Shopify store for your new product. You sign on to Shopify to set things up only to realize you have a huge problem. You have zero photos. That's where Suna comes in. Instead of having to do it yourself, Suna takes the stress away.  Photos, videos, and gifts, they've got you covered. On today's episode, we're talking to Liz Georgie, the co-founder of Suna. About why they have a wait list of over 3,000 photographers ready to work with them, the similarities between Suna and Goop, and why she secretly considers herself a witch. All right, welcome to the podcast. On today's show, we're talking to Liz from Suna. Thanks so much for joining. I'm so happy to be here. Thank you. For people who don't know, what does your company do? Suna is a virtual photo shoot platform. We make it possible for brands to get professional photos and videos entirely online. So they order a photo shoot online, they can attend their photo shoot online, and then they order their content online. They pay for their content entirely all a cart. So instead of having to put up thousands of dollars up front for a photo shoot, you get to see the photo shoot and purchase the assets you truly love. But I'm excited to be here today because we actually just launched an in-person experience in Los Angeles. The storefront is here. The storefront is here. The storefront is here. Yeah. In Silver Lake. In Silver Lake, yes. So we opened as of yesterday. What made you want to start the company?  No, I was on the other side of it. So I worked in production my entire career. I worked in television for 10 years and then I became a commercial director. So I made commercials for General Mills and Target and Wells Fargo, the biggest brands in the world. And I had to say no to all my friends that were starting Shopify stores. I couldn't figure out how to help them get the professional quality assets that I was making for my big clients to help sell their products, to market their products, to promote on social media. And so I looked at my friend and business partner, Haley, who is a professional animator by trade. And I said, if we were to just completely reimagine production, just take every rule that we believe to be true and turned it on its head and try to do it differently, could we make custom photos, custom video clips affordable? And the challenge we gave ourselves, we wanted it to be cheaper than buying an image on Shutterstock. So it was about $49 at the time. So that is why soon as photos are $39 a piece and soon as video clips are $93 a piece and we deliver them in 24 hours. So we think it's the fastest and most affordable way to get completely custom content. So walk me through it, so if I'm a brand, let's say I have a bow tie company. Sure. And I'm like, all right, I need some photography. Bow ties, got you. Or anything. Perfect.  We actually have a Shopify launch pack that costs 300 bucks. Every photo you need to actually create that product display page and show off all those images. But now you're also going, I need to have some content for Instagram to get people to find my bow ties in the first place. So then we can also help you create the lifestyle content, the interactive content that gets people actually excited about converting to the website.  So you can book a model that, you know, where's your bow tie? Maybe you will want to make dog bow ties. You can actually book a dog or a cat model on the platform. We did that. I don't know if you knew that, but we did that. Perfect. And so you can book a model. You pick the backgrounds that you want, whether you want a solid color backdrop or a kitchen or a living room. And then you join your photo shoot. You can join on your phone, you can join on your laptop, wherever you are. Or now if you're in LA, you can walk on in and see the whole thing happen in life. In your store.  It was an insane amount of technical work. Let's go with your first step. What was the first step? You were like, okay, I'm going to do this pop-up version. We can do it via Zoom. So it's like, what was the first iteration of this? Well, one of my best slash worst qualities is that I literally don't believe anything is impossible. So. That's the best quality. But it makes everyone else in your life crazy. No, it means you're from the future. And everyone's catching up. I have this problem too. Okay, well thank you. This is great. You're from the future. It's nice to meet you. It's nice to meet you. I basically called up all my engineering friends who worked in live broadcasting. So I said, okay, various friends who I've met at various TV stations. I want to do this thing where I hack a Canon camera to actually remove the Wi-Fi chip, to trick it to route the assets to the cloud where I can do all the compression in the cloud. In real time. In real time. Can I do that?  I love the thought. I'm really thinking outside the box. What were you gonna do with it? I'm gonna get some, like don't worry about what I'm gonna do with it when it gets there. I just want to know if that's possible. So my friend Colin, believe it or not, was like, let me try. Like he was like excited about the challenge. I think of like, let me see if I can figure it out. So one weekend we like hacked some opportunities of how we thought it might work together. And one actually worked where we could send the asset to the cloud and be in the raw format. But then we'd in real time create the various resolutions. The next step was, okay. Now how do I make that visible in an app? How do I make that so that other people can see it? That's right. The future customer. The future customer can see it. So again, you know, Colin was excited that we solved the first set of problems. So Haley designed an app. My co-founder being an animator is an incredibly beautiful designer. Makes awesome visuals. So she designed an app and said, okay, Colin, can you make it show up here? And sure enough, we were able to make it show up there. The next step was to make it shoppable, right? Could you make it an e-commerce app where people could actually then purchase that asset in real time? That seems like the simple part. Right, I was gonna say that of all the steps, that's the most straightforward it's been done before. Yes, we had a playbook for how to do it, right? But what's actually strange is, unlike maybe shopping for a handbag or shopping for, you know, clothing, a lot of the images actually, it's collaborative experience, right? You don't shop collaboratively. Like if you and I were going shopping together in person, maybe we would, but online, I'm not gonna send you my shopping cart and be like, what do you like, what are you not like? Let me know, yeah. One of the core functionalities that Suna needed to have is the ability for maybe me to lead the photo shoot, but then send it to my social media person to tell me what would actually be the best things to purchase. Or maybe send it to my Amazon agency to tell me what would be the best things to purchase. And so to make carts that could actually be collaborative and could be an experience that people could really art direct together was a big turning point. It took us almost 18 months from initial idea to something that we could put in front of customers consistently that didn't suck. Why the name? What does Suna mean? Suna is a funny, silly story. Is it like a Spanish way of doing it? Suna than Leida? No, it's not even that. That's what a lot of people think. I'm glad I'm not the only one. I'm glad I'm not the only one. The dad joke. The dad joke. It's a good dad joke, I guess. It's a favorite. It's a definite favorite. Suna, another favorite. Another favorite is when people leave a meeting, see you Suna, I'll give you another one for later. Oh, these are bad. I know, it's amazing. Tell me the real story. I'm like, Kuna. So the real story is that my co-founder Haley and I went to a branding workshop in Malibu. And the whole auspice of this branding workshop is you had a new business idea, but you didn't know what to call it. So come spend a week with other people also trying to name their businesses. And we'll drink tea and not wear shoes and have a great time.  And to be honest with you, it worked. I don't know why it worked. And the reason it worked is because I'm Italian. I'm 50% Italian. One of the very first things we knew we wanted to do was deliver photos in one day. That was like, we want it to be one day because it's so hard. It takes weeks, oftentimes, sometimes months. So Unne in Italian is one. If you speak Spanish, Uno is one. Unne, as a Latin core, is a common explanation for one. Digging deep. Yeah, so we landed on, we thought that Americans had an easier time with double O's. And we have evidence of this with names like Google and Facebook than they do with the U. So we were like, OK, let's just change it to O-O-N-A. And then, of course, we couldn't get Una.com. So we just started adding letters to the front. Tuna, Luna, Luna, and Suna was not only the one that just sounded the best, but it also looked great and the URL was available. And so it just felt magical. And actually, over time, I think the thing about Suna, we've done a lot of research on now the word Suna. In Hindi, it actually means lonely pursuit, which I think sometimes startups actually are. It can be a very lonely pursuit. And then in a lot of Mexican native languages, Spanish natives, but Spanish, but native Mexican versions of Spanish, Suna is the name of a night queen, which, to be honest, like Haley and I often joke that we're two witches who just make shit happen. And so it has always felt like this strange validation of like, yes, we are queens of the night who just work way too hard and have now caught this company. So yeah, that's how we got Suna. I'm very fortunate that it was something beneficial, as opposed to like you find out later, oh, in Hindi, it actually means something awful. It true. Yes. I was going through that process, too, when I started my business, and it was like completely awful and like Spanish and just like it was off. You do have to do that research. I think another serendipitous thing that happened, and this is like not a story that Haley loves, but I was flying home from that trip and I was reading The New York Times and I read an article about Gwyneth Peltrow and about Goop. And I've always thought Goop was such a weird name, but they go on to explain that she had hired a branding agency for some obscene amount of money. And the branding agency had uncovered in their research that the one thing that all of the most successful billion dollar plus evaluation companies had in common other than technology of the last decade was that they had inserted double O's somewhere in their name. So it was like Facebook, Yahoo, Google. There was like a list of them where it just seemed uncanny. And so what they pitched to her was, let's take your initials, GP, and let's just put two double O's in there for good luck. And that is how they landed on Goop. And I was like, Suna has double O's? Wow. That's it. That's got to be it. We're going to be adding a double O to start a store front. All right. So you have this product 18 months later. It works. And then you have to go acquire customers. And so what is that like? Who are you going after? Are you tapping into your network? And so therefore you kind of have an easier time where people like beta testing it? Or is it? It's also because the customer is not used to what you're offering either. Like you know the problem well. And so you're sort of the expert of the pain. But now I would say most brands probably don't think it's that painful or don't have your worldview from the future. And so they're like, is this really a problem? I don't know. And so then you have to sort of sell your way into them giving you not so much money but more of a try, like an attempt. A little bit. I think there's two things that I always tell founders. The product being done doesn't mean the product should be public. So we had a working version of the product in January of 2019. But we decided instead of launching in January 2019 to go through a technology accelerator and vlog the entire experience. Which one? We went through Techstars Boulder from January to April of 2019. And we vlogged week to week everything we were working on, working on our first warehouse, working on improving the app, building the marketing website, and actually kind of building an audience where we could also talk about the purpose and the mission of the business. And so listen, this was not a super viral YouTube show. But it was enough to get about 2,000 people on the wait list by the time that we launched. Yeah. Was Brad Feld a scene of Boulder? Yeah. So Brad is definitely a supporter of Suna. He's become, he's sort of a funny person in that. He's a very funny person, a very unique individual. Yes. I don't think he understood our business at all at the outset. But now I think he's become a true boy. That was a really interesting way to do it. And I think, yes, did it delay us launching? Of course. But it allowed us to, on launch day, so then we launched in May of 2019 to a beta version of the product. It allowed us to get 200 people from that 2,000-person wait list, willing to try it. And we basically said, we're going to do your photo shoot for free. If you don't like anything, no obligation. You don't have to buy anything. And if you do like something, it's $39 a photo. We'll deliver it tomorrow. Isn't that great? And that was so. That's amazing. Honestly, that's amazing. Well, it was a bet that we could make, right? Because at that point, I'd raise, I think, 1.2 million in venture. So I had a little bit of money in the bank. Pre-beta? Pre-beta. Wow. Good for you. I'm good at talking. And I'm not a schlub. And it turns out the technology after. You're from the future. Engineers who. It's easy to understand. Yes, and venture. I went after VCs who were engineers by background because they could understand the challenge of what we had actually built, the software of what we'd actually built. So I'd raise enough money where I went. They don't need to pay us anything. And we'd just see what happens, right? Fully thinking, oh my god, no one's going to buy anything. But in that first, so we did a beta from May of 2019 to December of 2019. And then that first seven months, we had 95% checkout rate. So 95% of folks who had a shoot found something in that shoot that they wanted to buy. And so it's just, to me, the learning of you got it. If you believe in your product, you got to bet on the product, right, and really let it go. So just going off of that, too, I mentioned that I just started a social media agency. And we do content creation, too.  Well, first, when you're starting your own business, just know what you're signing up for. Know that you're signing up for really living ahead of your customers. I always think the CEO job is really chief education officer. The number of times a week that I say we all buy everything on the internet, and the thing that all of those transactions have in common is a visual asset. But the creation of those visual assets is slow, hard, and expensive. I say that 1,000 times a week. And so be comfortable with it. Know what you want to say. Know that what you're saying is educational clear. How can you help someone who's never touched social media, in your case, feel like it means something to them. It's tangible to them. It touches them. They can, in some way, shape or form, grasp why what you do matters. And it strangely becomes easier to be that repetitive over time. I like now it's sort of a game with me of how can I continue to make this interesting for myself, right? So that's first and foremost. Really understand how you can educate and be passionate in the education. The second thing I would say is always be joyful about your business. And I meet so many founders, people like yourselves, but also founders that are customers. I spend a lot of time trying to make sure I talk to them on Twitter, talk to them on their shoots, be present, and know what's going on, and ask what's wrong. Don't just ask what they liked. We're all so interested in knowing what they liked, because we want that validation. But asking your first couple of customers like what absolutely did not work for you is like being given the Google Maps directions to success. It's literally being told, turn left here, stop here, quit doing this, right? And so, and try again. And there's nothing wrong with that. You're taking your best guesses, right? And you want to be able to learn from that. And if you're joyful about it, people feel more comfortable about telling you it. If you're dreading it, if you're uncomfortable with it, then they don't want to tell you. And I want Google's Maps directions to becoming a billionaire. If I could get them, I would take them. And so this is the closest thing I have to being able to do that. That's what this podcast is in a lot of ways. Like, we just like free game for a lot of people, for our listeners. Also like, it's therapy for me, for us, in some way. Like, oh, you're going through it too? Cool. Yeah. You know what I mean? Like, when it does get hard. I believe before the pandemic, you had people come to the studio and watch like clients and stuff. And your background as a commercial director, you're familiar with client and agency being on set in some capacity. I used to work in commercials out here too. And pre-pandemic, we had this whole video village set up for them. And then during the pandemic, once we started shooting again, that was all operated over Zoom. And we would patch the camera feed directly into Zoom. And then there was no village anymore. And then after things started open again, in my mind, I was like, oh, everyone's going to come back. But it really was like 30% came back. And then the rest just stayed remote because it was just so much more convenient. And I'm curious with your model, if you've ever had people request to come back into the studio, or if everyone's just cool with being remote and watching from a screen. Yeah. The bet we're making opening in LA right now is really a trend that we've seen a lot in our existing studios, which is on a first shoot, when people haven't tried sooner, haven't touched sooner, don't totally know if they're going to love it. They actually sometimes do want to come in and shop the prop wall and pick the plant in the shot and pick the paper once they've seen it with their eyes, right? And so our studio location here in LA is kind of like a shoppable studio, which I think is a little, it's very different from a video village where everything is set up and ready to go, right? But it gives people that tangible moment where they can actually choose, make choices, and then see it. And then what we see is they go online, right? They go, okay, I know what this is now, I totally understand it. But we went from about 10% in Q4 of last year coming in to our existing spaces to almost 35% in Q2 of this year. And part of that is just because I think people are sick of their houses, they want to get out. Soon it was incredibly fun. I mean, unlike video village, one of the other core tenants of the Suna vision was to make production feel friendly instead of so damn sterile. It's the most sterile and unfriendly industry ever. People do not have a good time in video village. If you think they're having a good time, you're kidding yourself. And you've never been in one, yeah. And so we want it to be fun. And so there is a piece of it where the interactivity is really fun. And the other piece that I can't stress enough is I actually think that businesses that are going to be really successful in the future, they have to make big bets earlier on. We've all seen direct-to-consumer product companies now starting retail store friends post-series D, post-series E after they're going public. I sort of believe that companies that aren't in products but actually are in experiences have to make those bets earlier. And so since my company is an experienced company, I really believe that making these bets earlier was key. It also gives you good feedback. Like the feedback loop is instant. I think that's everything for you. If you really want to win, the feedback loop is necessary. From your perspective, my brain would be going crazy every day if I were you about automating as much as humanly possible. And so I think like this, like so I had a bowtie company, which is why I asked you about the bowties. And so I thought, I think like this, I'm like, wow, if Suna was around when I had this company, I would have the prototype sent to Suna. I would have those photos made. I would then get them.  And so getting the shadow right was like, super annoying and difficult and not fun. Yeah, anyway. Chins are the problem. No, no, I mean like just like the bowtie. Anyway, whatever, we figured it out, but it took like way too long. And so when I think about this today, it's like, get the prototype, ship it to Suna, have them take photos, cool, buy them, put it on your website. I haven't purchased anything I don't even need to yet. And I'm just like beta testing whether people like it and start on Instagram, make some cool videos and go. Super easy, like CPG overnight. I want us to be as seamless in your technology stack as any other part of running your store. So as seamless as Stripe, as seamless as Shopify, as seamless as your shipping provider, and we're getting there. But... Kyle, how are you doing? Part of how we're getting there is becoming an API that implements with wherever you sell.  When you're ready to launch, you don't need to download, crop, resize. You can just instantly publish to pages and locations in your store. We are now doing that for big commerce and Amazon as well. So we're just trying to become as integrated with your existing inventory as we possibly can. And Amazon, you said too? Yes. Yeah, that's huge. Yes. The Amazon requirements are a nightmare. And to be honest, Amazon is our fastest growing part of our business for this exact reason. Yeah, that makes... The pain is so heavy. The pain is quite a challenge. I mean, the Excel sheet is another, yeah. And so we're thinking about how do we just connect all of our software to every API we possibly can. Once we get through the entire merchant stack, then we're gonna go to the marketing stack. So getting into your claveo, getting into your attentive, getting into the places where you're actually marketing your product, right? So that is really where we're laser focused right now is how do we integrate as much as we humanly can. Okay, let's just keep going down this road. So at some point, if you have all the enough data, let's say you're enough market knowledge about Spotify, seasonality, people's buying habits, now you're into marketing, more data, understanding things deeply, then all of a sudden we could like... Are you reading my mind in the future? I mean, I've thought about this for a long time. I had this deck I can send it to you. I made it probably 12 years ago and it's called Mad Max. And basically Mad Max is like your customer concierge that just knows exactly when you're buying something, how you're buying it. So if you think about the bowtie thing, if you have data to suggest that like bowtie season, let's make it simple, it's like wedding season. Super simple. Then I can tweet at you, I can use social media to get your attention during those moments. The right times. The right times. Now you can apply that to any product in any world, if I'm expecting or if we're having a baby or whatever it is, then it becomes super simple. And so you could easily automate all of that, you personally, Suna at some point. What I'm actually thinking about is slightly more bizarre maybe than what you're describing. Go on, the dark glitch has spoken. So we wanna make every single e-commerce store entirely personalized to your visual preferences. For the individual. For the individual. Wow, that's, how do you do that? That's a lot of looks. Imagine this, imagine there's a company that can take photo shoots at scale and they can do it affordably. So now you're not just shooting your product on one model, you're shooting your product on 100 models because you actually can afford to scale in that direction appropriately. Not only that, but because this company is taking those photos for you at scale and they're delivering them via an API to your Shopify store, they can actually start using the data that Shopify provides about who's shopping that page and intelligently serve the right photo at the right time to the right customer. Got it, give me use case. My favorite use case is my co-founder and I are big Birkenstocks people, but Birkenstocks tends to be on the verge of the granola and not the verge of the witch. And so my version of Birkenstocks.com might be a little more witchy than your version of Birkenstocks.com. So now the models look my age and maybe the models are wearing really colorful clothes or wearing colorful nail polish versus the very boring, no nail polish, completely nude variation that I currently see when I go to Birkenstocks.com. The future of fashion. Yes. Are you beta testing this with anybody? A brand? We're currently trying to determine how to use the data that we get via our API to make decisions because the decision logic is actually the really complex, meaty piece of the equation. There's headline risk there. 100%. Yeah, that could be tough. That's fascinating. I'm actually curious if you've got more of these, like the LA storefront that you're just building out and opened other production hubs around Atlanta, New York, some somewhat Austin Dallas. Are you thinking of going in all of those markets as well as LA your first little foray into that? So we've been in Austin for almost two years and we love Austin. Austin's been great. We're also in Minneapolis, Denver and Seattle. And so we kind of actually started with Minneapolis and Denver because they are these cities where there is a huge volume of creative talent but not a huge volume of creative work. And so that allowed us to get the best of the best creative talent working on the shoots. And for us, whether we sell through a particular shoot is really hinging on did you deliver great assets, right? So we really had to bet on that and that gave us really positive customer information. It also taught us how exactly to onboard photographers and teach them how to be successful on the platform, which I think was exceptionally important before we went into bigger markets.  I think we're trying to really determine, LA will be a big test, right? Like how does this go? Are people excited about it? Does it really change the dynamics of what we see in terms of customer acquisition? I'm a really big believer that you cannot just spend into infinity on Facebook and Instagram and be successful. You need to be extremely unique and extremely thoughtful about the mix of how you acquire customers. And so depending on how this goes, we'll make pretty big decisions about next year. How's your retention though? Like I'm hearing you are training all these photographers how to be successful, how to create great assets and in my head I'm like they're gonna, you know, be thankful for that knowledge. They're gonna provide good work for you, but then they're also very likely to leave and go do their own thing. Maybe, where are they gonna go to get a 401k and health insurance? You give them that? Yes. That's huge. We've made a path. So essentially, you know, if you're a photographer on the Suna platform, there's a path where if you are in the top 20% of photographers who consistently deliver a five star experience, consistently deliver a great cart and consistently hit your KPIs within about 90 days, you will be offered a full-time job with health insurance and all the benefits that you could imagine. And not only is that great for our economics, it's exceptional for retention. And it means that we today have an over 3000 photographer wait list on our platform. That's impressive. Yeah, but you only know, like I don't know to do that had I not worked in the industry. Exactly. Right, like I worked 15 years in this industry without a 401k, without health insurance. Unless you get into a guild or something like that or a union, then you're on your own. Correct, and I truly believe that this upcoming generation, I mean, I don't know how old you are, but this upcoming generation. 61. Yeah, you look great. There is a foundational difference. They have been so burned by the gig economy and the way that what we did as an industry has been sort of tarnished by the ubers and the door dashes and the gig economy software products of the world. I'm not sure that our industry can keep doing this and actually continue to attract really great talent.  What do I see? Give us a sense of the setup. I think the first thing you'll notice is just how colorful it is and how much it feels like a build your own photo shoot experience. So you'll walk in, you'll see a prop wall where there are hundreds of interesting props, everything from plates to prisms to plants, and then you'll come around the corner and you'll see 40 different paper backdrop colors that you can choose from, a rolling cart of textures if you wanna do a bathroom scene, if you wanna do a back splash scene, whatever it is, every kind of imaginable pattern on earth. You'll also notice right away the massive 60 foot or 60 inch, 60 foot, my God, 60 inch interactive virtual photo shoot that will show you your photo shoot in real time so you can click on each image and shop those images right there at the store. And then of course, hopefully there's other people in the studio who you can collaborate with and give them feedback on their product shots and take a look at each other's projects and say, if I was a customer, what image would get exciting for me? And actually have some people together to really talk about what's going on. And I had a question about that too. What did you originally start with because not everyone may have access to a full blown bathroom that they can film in. Like, did you start with just a tile background and a few backdrops or where did that all go? No, I'm crazy. And I decided to spend $400,000 building a commercial production kitchen, a living room, an office set. Okay. That's awesome. Like, perfect e-con bay for perfect product on white. Our first location had about seven bays and they all were very, all completely different but it allowed us to offer the most diversity right out the gate. I knew if I went out the gate with product on white it would be a dud. So I had to go out with something that was hard to get and the hard to get meant it was worth trying. Oh, for sure. Yeah. And where are you guys at from a funding perspective now? So we just raised our Series B at the end of last year. We raised $35 million from Bain Capital Ventures. And we are currently using that capital to make good decisions and hopefully not fundraise for a minute. I raised $50 million in less than two years. And so I'm really trying to not fundraise for like a second. Yeah, yeah, yeah. I love it. Sooner, your next unicorn. You heard it here first. That's good stuff. Thank you. Where can people find you? Tell them. Well, they can go to sooner.co or sooner.com. That's always first. Try those out. Check out the website. Double low. The double low. Very easy. Or if you're more of a social media person, come follow us on all the things. We're at Sooner Studios and all the things. And we hope you'll leave a comment or show some love to one of the products we're featuring. One of the most fun. We have over 100,000 followers on Instagram. And you know, if you have a photo shoot at Sooner, we might share your photo shoot with our followers. And so that's a fun thing to do, too. Thank you. Thank you so much for coming all the way back. I'm so happy to be here. Thank you for having me. Hey you. Yeah, you listening. Thank you so much for making it to the end of the episode. If you just can't get enough, check out our subscription on Apple Podcasts. For only $4.99 a month, you can listen to the full length, uncut, unedited podcast episodes. We're giving out life-changing advice for less than the price of your morning coffee. What a deal. Make sure to follow us on Instagram, subscribe on YouTube, and we cannot wait to see you next week for another great episode. Cheers.


Yes. So what's next? Yeah, so as a reminder, what we've just done was just a demo. So we didn't expect you to be able to follow this along. And now we're going to go to the parts where you actually do follow along. So we're going to interactive jobs. Yeah, and this is more like hands-on typing stuff. So what does interactive jobs mean? So basically just like whenever I was preparing this, instead of writing something to submit and see if it worked, I first tried running interactively. So basically with the resources right there. And this let me do the debugging faster than submitting it, waiting, looking, rewriting, and then so on and so on. And because this is a good way to get your hands dirty and actually see how things happen, this is how we begin here. So yeah, so see what we do like last time and maybe you're the talker and I'm the typer. Sure, okay. So by the way, if you hear some zoomies on the background our new cat is running there. So don't be alarmed by it. Yeah, so introduction to Slurm, let's start with this. So we already talked about the queue system, but let's look at it in a bit more detail. So basically there's this analogy that is pretty good. Is this the like this HPC diner? So basically you can think of a restaurant. And if you walk into a restaurant that has like a wait here for seating site or the sign at the start, the HPC system is basically that is the diner and it has different kinds of tables and the different kinds of tables are, well, if you have party of two, if you have party of four, if you have party of eight, there's usually a creature or a server who arranges how the tables are organized so that the diner can fit as many people in there. So I guess you don't want a party of two occupying a table for eight and then there's someone waiting for that. Yes, and basically you always have to tell the greeter what kind of resources you want. So if you keep that in mind throughout like today, throughout tomorrow, that will serve you fine. So whenever you walk into the HPC diner, you need to take into account what you want to do there. So in this situation, like let's say the queue system is basically like a, like if you run in non interactively, that's basically a takeout. So you make your order and then you go and collect the food once the food has been.  So interactively uses is basically it's limited by you. That's the main thing. Like we recommend non-interactive users because then it doesn't require like human intervention. Like if you ever like updated your computer and pressed like yes, and then you expect it to update and then you come back the next day and then you'll notice that there was like a questionnaire box and then it like you'd still need it to click yes, but you didn't notice it the last time. And now you have to wait another three hours for the quit, like the update to finish. That's basically interactive usage. And we don't recommend that because that wastes resources because like the human has to be there. Like human has to be there to process the stuff. But there are some times that. But interactive usage is, yeah. You might need that. Like for example, some people need to analyze interactively some big data sets.  So it's not the most efficient, but it's more efficient than for the human than trying to program it. Yeah, yeah. If you want to playground on a larger system or you just want to try out, let's say compiling your program in the cluster that might be a good way of doing. So should we just jump into it and start running? So let's see. I will change to my home directory again here. Yeah, here we go. Okay, let's see. How do we want to arrange this? I guess this is good. It goes a bit to the out. Yeah, but I'll keep adjusting it. Okay. So on the small screen, you can see what commands which have had typed in like the history of the commands. So yeah, let's see. Yesterday, when we had the connecting to Triton part, we asked the host name command. So let's start with that, for example. Like we just run host name. So host name is like a command line command that just tells where we are basically. And now we are at the login node. So where we are is basically where the commands will be executed. Like the terminal is connected to some machine, the window that you have, and the commands will be executed there. So in this case, everything we type in this command box will be executed on our login node. But let's say we want an interactive session with let's say one hour, one hour interactive session with 500 megabytes of memory or something like that. How would we type it? So to start off, there's srun, which lets us run things directly from the shell. So basically anything I might do, I can add srun in front, and then it will run instead on a node in the same environment with whatever resources we ask. Should I try running this or should I try requesting more resources first? Let's do the simple case. Let's try, yeah. Yeah, so what we, yeah, that's actually, yeah, that's better example than what I was thinking. So what we are now trying to do is we are running the command host name, but we are running it in the queue. So we are running it somewhere else than the login node. So you see that we get, we see that we are queuing, and then we get some resources, and then we get the output of the host name command. So do try this out at home. Like this, now we are at the point where we recommend trying out the same commands that Richard is running here. So try out and see what node did you get. Like you will get completely random nodes. Like the name doesn't matter, it's some node somewhere, and you will get the resources from there. But you notice that if Richard, you now run host name again without the S run. So I'm back. You notice, yeah, Richard is back in the login node.   So it's like this kind of like, you went to the office to do one thing, and then you came back home, basically. And I guess maybe we can clarify, like I would often do this when I'm first testing things, but I wouldn't do this for any real kind of work because if I get logged out of Triton, then everything gets lost. So this is just like getting started. So all we're doing is exploring the different slurm options here. Should we try adding some more other options to it? Like what if I wanted more memory or something? Yeah, let's do that. So by default, you will get like 500 megabytes of memory, but that's the default we have specified. But if your code requires less or more, you should specify the memory requirement. So how you do it is that you type this dash dash mem equals, and then you can give it a number and suffix like kilobytes, megabytes, gigabytes. Typically, well, 100 megabytes, for example, might be a good one. And now if you... Do this. Yeah, you can run it. And maybe afterwards we can check the history to see what we have. So now we're running it and we have specified a different memory limit. So the jobs usually they like, you're given some sort of a memory like cap and if the job goes a bit over it and nobody else requires the memory, it will run. But if somebody else needs that memory, the job will be killed because like the Q system needs to try to fit all of these different type of like Tetris blocks basically there. And if it doesn't want the Tetris to go overboard so the game mix is over, like it has to always be able to fit the Tetris pieces there into the compute node. So it has to always know what memory requirement you want. In the restaurant example, it's saying how many seats you need. Yes, basically. Okay. And now if we type from history, we see the power. Yeah. Yeah, we see the latest jobs there. So each of them got a job ID and you can see what command was run. And the first command was run by requested memory was 500 megabytes and the second command was 100 megabytes. And you can see on the next to them in the max RSS column, you can see what was the actual memory users or the maximum memory users. Yeah. That looks about like what I'd expect from these. Okay, so. The other thing that the major, like the memory is like something you want to specify, but the other major thing that you always want to specify is time. Like how long does the job run? The default is I think one hour. But like if your job runs faster or slower, you need to specify time limit. And this is basically how long do you want the reservation to be at the table in your restaurant? Are you going to stay there for a full free course meal or a simple lunch? Like, and that will help the server in this case, the queue system to arrange your place. And you shouldn't request the resources that you are not going to need because that will make it harder for the server to fit you into the restaurant. And that would, it makes you wait longer in the queue. Like if you come to a restaurant with eight people and you want, okay, we want to stay here for four hours, they're having hard time to fit you in there and you have to wait probably to the next day so that they can, they have like a free slot for you. So if you know that you're okay, we wanted the table for eight, but we only four people are arriving, we know that, okay, let's ask for a table for four, maybe we fit in better. And we will talk a bit more about how to know what are the limits. Yesterday when there were already questions about how do I know what job asks, we will talk about that in detail more later. So let's see, where are we in the lesson here? We have a quick poll in the HackMD, you have people run, yeah. Let's see. And again, what we're doing here is so simple, it seems so boring, but it's like the assignment zero. So if you can start with this, then the other things become much easier. It's better to do 10 things that are easy than to combine it all into one thing that's hard. So should we do interactive session and then have a small break, maybe? Like a serial interactive, like S-interactive one? Yeah, you mean with graphics or? Just S-interactive, like. Okay, so we're going back to my shell and is this the section we wanna be on? Yeah, yeah. Yeah, the graphics is something that might be relevant, but it might not, like, the S-interactive session is, it works with, you can get some graphics out of it, but it's not necessary. But basically, the idea here is that, let's say you want to run more than one command with S-run and you don't want to queue each time you run this, like you want to run some interactive stuff in the queue, but you get bored like, okay, I need to wait again in the queue when I want to run my next command. I want to have a place where I can just test out a few things and then close the connection afterwards. Like you want a small place where you can fiddle with your things and then you want an interactive table for a few hours or hours or so. So you can request that kind of a resource and that's done with this S-interactive command which also gives you a possibility of using these X forward in, which is more technical, but you can do some basic plotting with it, but or something like that. Like, I guess, like what I'm doing here. So, should I run it? So do you want to describe, Richard, what we have here in the command line now? So S-interactive is a wrapper we have. That actually you can do a similar thing with S-run, but it uses all the same slurm options like the memory and time and then we'll launch the job and connect us to a shell there. So what Richard is now asking, like, let's say Richard wants to like open a data set and pick a data set up part and look maybe you need to run the S-run PTI option. Okay. I don't know why that didn't work. Okay. Okay, we have a demo effect running here, but well. The demo effect is a very long tradition when doing live courses. Yeah. If the S-interactive doesn't work for you, you can also run, do you want to run the S-run that's just PTI? Yeah. So what Richard is now running, he's launching an interactive terminal in a node. So basically like, basically similarly like you had, took the connection to Triton, you took a connection to a login node or to other login node you can use then ask for, okay, I want another interactive, like interactive session on a compute node where I can play freely. Then either this S-interactive or this S-run dash dash PTI and at the end, you need to give bash usually. You can get this kind of interactive playground.  Oh, you're already running. Yeah. This will give you up probably a bit more because there's 20 gigabytes of memory requirement, but the queue is constantly calculating on the background who's getting where and it's trying to formulate a place for Richard to run the stuff. Yeah. So this is good.  So here to try to make it go faster, I selected the interactive queue now, but it's still... Maybe you need to specify like, okay, you got the results, yeah. Okay. So now you can see that, yeah. If Richard runs the host name, he noticed that Richard is running these commands on this P5 node. So basically, Richard is now on some compute node where he has the resources he requested and he can do whatever he wants. And this is fine way of working if you have something that actually like requires interactive users. But of course, like I said, we don't recommend this for long-term stuff because again, if your computer crashes, if you're close the window, if you close the terminal window, it will close the connection and that will like you lose whatever work was in progress. And also it requires you to be the gatekeeper of the machine. And we like the actual benefit of these eight like HPC systems is that you can tell the machine to do bigger stuff than you could manage. So basically like I said yesterday, you can make this order to China or somewhere abroad completely out of your access. You can make an order for tables and they will fill it for you the order but you don't have to be there and manually do it yourself every time. So you can just like fill out the order and you will get the results afterwards.  Okay, so where are we now? I think we've gone over mostly. We've shown the monitoring your usage as part of the what we've done before. We've talked about setting different resources and maybe we should go to a break and people can work more themselves. Yeah, we could have like a 10 minute break and then we can. Maybe break an exercise session or let's see what's our time. We could resume in half an hour and that leaves 10 minutes for break and 20 minutes for playing with some of these other. Slurm examples down here. Yeah, maybe we would like, how could I say it, like we hit the loma by like make the, like a 10 minute break so that people can stretch their legs and then we can answer the questions and do a few of the interactive exercises. And then we can start focusing on non-interactive usage after that. Should we have a 10 minute break and then start the exercises? Okay, so we'll come back in 10 minutes to describe the exercises. Okay, sounds good. So break until, break until XX01. Welcome back. So now we're going to introduce the exercises. So I saw in the HackMD there was little poll there and some people said this was too fast. So that's sort of expected, like we haven't even gotten to the exercises yet. So now you're going to have 20 or 30 minutes to go and actually do this on your own and take all the time you need. And we're going to give you some things to work on. I point out right now here, this is the risk of S-interactive. So I left the interactive shell open so it's continuing to reserve my 20 gigabytes of memory even after I am not using it. So I should exit from that. I should have before the break. So okay, so exercises. So here we see there's five different things you can try. Some of them are more practical, some are more philosophical.  And then we will go and do it in a script. So during the break, someone was asking us, why do we even do this interactively? Why not just go straight to making the script? And I mean, some people will say, okay, like I need the script anyway, I'm just going to set it up and make it. But I sort of like being able to see it live and see the stuff as it comes out and it makes the development faster. So anyway, you'll have some options. So in these exercises, there is a Git repository here called HPC examples. So if I run this command, let's see. Okay, I don't have it here. Actually, I will change to, oh, yeah, I'll just clone it here. I run Git clone this and, okay, I'm going to enter my key. So what Richard is doing, the command in the documentation, I'll post it into HackMD as well. There we go. The command will copy from this public repository, will copy these examples via Git, via this version control system because we update the examples, we try to make them better. So we update them and we use version control to do that. So using Git, we can just get the examples faster. Let's see. Yeah, so now that I've cloned it, we have this code here. And by the way, this is how we'd recommend you moving code around onto the cluster and so on. So here we are, and we have the different programs we need. So for example, we can, we have LS, HPC, examples, slurm, something that will use a lot of memory. And then I can, if I push the up arrow key and then slide over, I can run it with Python. And it says it needs an option. It needs a memory option. So let's say 50 megabytes. And there it's going and allocating a bunch of memory and using goes up to 50 megabytes. So with that, you should be able to sort of go and do, well, example one is basically the basic experimentation of the above. All of the different slurm options and slurm history and so on. Example two starts running something with time. So you see how much faster it gets when you use more processors and so on. During the exercises, it's good to, like if you're part of the Zoom call, you can ask the instructors there if you have any quick problems. If you have other problems in the HackMD, you can also ask them and we'll go through the solutions after that. Yeah, please put all the problems you have in HackMD so other people can see them also. And let's see, number three lets you explore some of the other commands that will tell you about what's going on in the background and some more things. So yeah. And just to make it simpler, now we're just trying to, basically the etiquette of asking for a table. So if you, I remember on a holiday trip when I was small, I was the one like asking for a table even though I was the smallest of our family, like because the child needs to learn how to behave in a restaurant and ask for these kinds of things. Not saying that anybody is a child here, but the idea is that like you have to learn how to get the resources you need and the best way to get the resources is to just run the Friday exercises and learn the language of the queue system. And it's, you have to like first start with just getting an interactive table, just run one command in the queue and then we can get to more complicated stuff later on because it will get complicated. So it's good to learn the basics, like have a good grasp of the basics. Yeah. And there's a good comment in HackMD. It's good to change to your work directory before cloning those. So we'll talk about this at the end of the day, but there's different places to store your data. And the one for the big research data is WorkDir, like this here. So, okay, should we go back to what, 20 minutes of time? And we'll resume on the stream after that. So until 38. And if you need follow HackMD, you can comment when you are done and if you need more time and also with your problems. So see you later then. Bye. Welcome back everyone. So if you haven't noticed, there's a little poll in HackMD you can use to let us know how you're doing. But if you're not done, we're going to demo it anyway. So you can keep trying to work while we do that. Yeah, so remember like what we are trying to now focus on and what kind of things we are focusing on. And that is just reserving the resources, right? Not like that is the first like everything we do in the cluster goes through the queue. And that's why we need to learn how to reserve the resources. So everything is about that. At the same time, I know that for many people is probably a lot of new things with Shell and the command line. And that's something that's unfortunate. We'll probably have to add more stuff on the shell. But for now, let's try to keep it like the minimal. There's also in the HackMD, there were questions from users of other clusters. So some other clusters, they might have different flags that you need to add. For example, like partition or account so that you can get your job running in the queue. So do be mindful of that in these room rooms, there's instructors who should be able to help you with finding the correct flags for you. Yeah, so sorry if that confused anybody. Yeah, this is a common thing.  But okay, so I think Simo will do a demo. So let's switch to his screen and here we are. So I have the git clone command here that Richard posted and it will clone me the HPC example scavenger story. So I will run this LS command to list files and I see that there's HPC examples folder here. And now let's look at the first exercise. And the first exercise was to run this Python HPC examples. I can use tab for auto completion if you want to use the tabulator so you can faster fill out these commands. So slurm memory hog, 50 megabytes. So now we are running something with Python that ask for 50 megabytes of memory. So this is what Richard was running previously. So we see here that it asked for 50 megabytes of memory. And if I run the whole name command you'll notice that I'm still running in the login node. So now I used 50 megabytes of memory in the login node. And of course we want to run it in the queue. We are programs so we have to run it there. So that was the A part of the exercise one. And exercise two, let's try running it in the queue with S run. So I'll clear this up. There was a question in the HackMD, how do you clear it up? Clear, just type in clear. We'll, and press enter, we'll clear the terminal if you want to like start from a fresh perspective. So let's run S run and add this memory 500 megabytes and then run the Python, HPC examples, slurm, memory hog, 50 megabytes. And now we're waiting in the queue. So in other clusters, you might need to add an account or a partition flag here in order to get it running. But now it's queuing in the, yes. Now we're queuing. So we'll never know how long it will take. Most likely not that much. Yeah, okay. So now it's run and we see the memory thing here. So now let's add the memory, increase the memory requirement that the program wants to run. So let's increase that. I press up arrow here in the terminal so I can get the previous command that will make it faster for you to try it as well. You can use up and down command arrows to scroll in the command line. So let's put some requirement like, I don't know, for the, let's say 5,000 M, let's add two zeros to the command and let's run it there. And let's see what happens. So now we're queuing, it should take about the same as previously because we're still asking for 500 megabytes. Okay. But now we got an error. So we see that the job is queued and waiting for resources. But then it noticed that there's OOM kill. So out of memory kill. So it ran out of memory. So let's put it somewhere a bit below. Let's put like 2,000 megabytes. And let's see if that works. Okay, that run. So why did it run? Even though we asked only for 500 megabytes. Well, the answer was what we mentioned quickly previously that there's some leniency. It depends on the cluster. Our cluster has a bit of leniency that you can go a bit about the memory requirement if nobody else is using the memory, wants to use the memory. But usually you should want to specify the memory requirement to be something that, well, the stuff will fit into memory. Okay, so then we have the D step. So let's use slurm history to check how much memory it actually used. In some other clusters, I think in CSC, you need to use a bit different command, but you can use other commands as well to check. So this is a wrapper that should be available in many universities to check your history. I'll actually, you can give it one hour so that it will give you the most recent commands. So now it's a bit hard to read because it wraps around, but we basically see that we have this command that run with 50 megabytes. Let's see again. So we have here one that, okay, it runs so fast that it didn't see any output. Like it didn't record what was the memory requirement. Like it says in the exercise, like the slurm history will only record like this memory every like 60 seconds or so. So if there's like a huge spike in the memory requirement, it won't record necessarily. So let's clear the output and run the same S run command. Let's say the 5,000 megabytes. So now we know it will fail. Or let's say a bit, let's say 1,000 megabytes so it doesn't fail. So we get the recording. So, oh, actually, yeah, sorry, sorry. I just noticed that in the exercise, there's a better example. So there's this Python 50 megabytes sleep 60. So yeah, my bad. So now it's, oops, sorry. Let's run it through the queue. So S run at the stop front. Let's go to sleep. So now it's running, it's waiting, it's running for 60 seconds. It says 50 megabytes of memory and waits for 60 seconds. So now we get some historical information of the job. So, Richard, how would you say, like when you're normally running stuff, how do you use like the slurm history? Yeah, well, usually I'll like pretty often to take a look at it. Okay, my cat's trying to enter again, I think. Yeah, cat's problem is for both of us. So yeah, like I use it especially when I'm first running because people ask, we're asking yesterday, how do you know how many resources a job will take? And the only way to know is by actually looking. So basically start with small stuff, run it, like make your best guess. If it's too large, make it smaller. If it's too small, it will fail and then you know to make it larger. And that's just sort of like, that's how it goes. So here we run it for 50 megabytes and then we slept for 60 seconds. And now when we run slurm history, I'll clear the shell again. Okay, I'll clear, I run it slurm history for one hour. Yeah, so now for the last job. So for this job, we see that the memory requirement was 500 megabytes and actually usage was something like 70 megabytes. So that was what we asked for 50 and there's a bit of overhead by the Python. So it looks what we expect. So then there's the second exercise. Let's quickly go through that as well. So there we run this Pi calculating program. So a program that calculates as a digit of Pi. So let's run it. So time, Python, HBC examples, slurm, pi and 500 integrations. So we get an estimate for Pi, not a very good estimate, but it doesn't take that long. So let's try adding one zero here. Well, now we get a bit better, still pretty bad, but let's try one zero more. And now we get, well, still, we only get one degree of accuracy. Okay, let's try running in the queue. So now we're running again on the login node. So let's just, I can use the left arrow to just go at the start of the program and add S run here to run it in the queue. So let's add one more zero, let's say, and let's run it in the queue. So again, this is just asking for more resources, asking for running in the queue. So the output is a bit garbled now, but we get a lot better estimate for Pi. In the example, there's also this bit more advanced stuff on how to run it with multiple CPUs. We'll talk about this probably more later on, so maybe we shouldn't focus on that right now. Let's just focus on the main thing, which is running through the queue. And I think, yeah, I think, should we do the next exercise or should we move towards the serial jobs? I guess we can discuss what these say very briefly. So what does S info show? Okay, so there are commands for the queue, like you can ask the queue manager things about the cluster itself. So S info will give you this kind of a quite a complicated looking. It depends on which cluster you're running, but it will give you this kind of complicated looking view that tells you what kind of machines there are in the cluster. Then there's also this, you can give it various flags like this in a flag to see in a node level. Then you can use S queue. Let's not do that because it doesn't show only your jobs or it shows everyone jobs. So let's not do that. Yeah. For many of the clusters, we have this slurm wrapper that helps you to, like the slurm history command for example, it parses some of these more complicated commands. You can type just slurm to see various features of the slurm command. We will talk about this when we now start talking about the CDL jobs because they are more important. To make it clear, some people notice that slurm isn't installed on other things. So the slurm is an extra thing that makes it easier to use, but everything from slurm you can do with other things as well. Okay. Yeah. So one thing I would like to mention that in there, in the documentation, there's a question, like one of the exercise questions was that, why not use shell scripting and write multiple S run commands there? And the problem is that if the connection breaks, yeah, if the connection breaks, you will lose the progress. And also, if you have multiple of these S run commands, you will always have to queue between them. So you don't necessarily want to do that. You want to have one queuing, like you want to queue once and then run multiple commands instead of like running multiple commands and queuing for every command. And that's where we go to CDL jobs. So the next step in our way is actually like, we run many of these commands, but we can also run them. So we can tell the computer to run them for us. So we don't have to type them as spells every time we want to run these commands. Yeah. Okay. Is that enough for serial then? Should, or no, for interactive. Should we go on to the next section? Yeah, I think so. I think most of the questions have been answered either in HackMD or here we could take a quick look and see someone's asking for another break. Yeah. Maybe we should do the break and then go to serial. Yeah. Yeah, let's have a five minute break and you can ask if you have, oh, 10 minutes. Okay. Let's do a 10 minute break. And if you have any questions, still related to S interactive jobs, post them into the... Continue HackMD. Now let's, I will also put a poll there like is, was it clear? Was the section clear or? Yeah. Okay. And when we come back, we start making these scripts to run stuff more. Okay. See you shortly.