Okay, so in order to start, we're going to need to install some software first. Now the software that I'm going to install, I'm going to run under Linux. So I'd rather not struggle with the Windows command line and all the strange things that Windows does to path names and so on. If you're on a Mac, this will probably work just fine, but I just install things on Linux. Now I have a Windows machine, so I'm going to install VirtualBox, which allows me to run Linux in a virtual machine on my Windows laptop. And of course, if you have a Mac, you can also download VirtualBox and run Linux inside that. The other nice thing is that I'm going to use all free software, so you don't have to pay for any of this, which is quite nice. So the other thing that I should caution you is that I can't really give you any installation instructions. Each of these products has extensive user forums. They can probably help you if you have any problems installing the software. So the first thing that I do is I would install VirtualBox. Once I've installed VirtualBox and all of the addresses of the software is down below. So after installing VirtualBox, I install Ubuntu Desktop as a virtual machine. And once I've got that up and running, here is Ubuntu Desktop running in a virtual machine on Windows. So that's working. Once I do that, I install Sublime Text. This is essentially a text editor, but it's quite nice because it has some syntax highlighting. And once you install Sublime Text, you should install package control in Sublime Text, which in turn allows you to do things like this. You hit Control Shift P and then you can install package. And it's got a whole bunch of packages that you can install. And in particular, you just search for Verilog and you download the very first package that appears. And that gives you syntax highlighting for Verilog, which is quite nice. So the final piece of software to download is called Verilator. Verilator is, again, it's free software. It basically converts Verilog to C++. And then you can write a test bench in C++ to basically stimulate that hardware and look at the responses, which is quite nice because that allows you to validate at least your hardware. Again, it doesn't do timing analysis. So you install Verilator. There is a link down here about Verilator installation. Yes, I highly suggest that you do not use the Verilator distribution that comes with Ubuntu because it's about a year out of date. I highly recommend just going through the process. And this will get you used to building software. Besides, you're going to have to build software on the command line to run your hardware anyway. So those are the six pieces of software that you should get set up before we actually start. Now that we have the software installed, let's actually start writing some code. So I have created a directory called Plug1. That's just what I've decided to call the first version of the CPU. If you don't know what Plug is, you can Google it. System Verilog has some of the good coding practices that we know from ordinary C++ or Java. It does have the concept of namespaces. It does have the concept of packages and imports. But it's not as full blown as a regular programming language. So let's first recall that we wanted to define a certain number of commands to the micro address counter. So first, I'm going to create a file and I'm just going to start it off with a package name. I'm going to call it, I don't know, package micro address. And we put a semicolon in there. Now I'm going to save it as micro address dot v. And that immediately starts up a sublime syntax highlighting. So now we have Verilog syntax, which is nice. Inside a package can go type defs and functions. So we're going to define an enumeration and logic is the type that we're going to use. And you have to specify or, okay, so I'm not a great expert in Verilog. In fact, I'm a newbie. So I may be doing things wrong. I'm going to do them so that they compile and I'm going to try to use good coding practice, but I might not necessarily use good Verilog or system Verilog programming practice. If you see something wrong, do it the right way. Maybe don't do it the way I did, but I'm doing things from a C++ slash Java programming background. So anyway, the type is logic and logic is basically a bit that can be zero or one, or it can be high impedance or the unknown value, but we're not going to care about that. We just care about zero and one. Now we had, let me just put curly braces around this. Now we had a certain number of commands that we wanted to send to the micro address hardware. So we always start off with a none command. This basically tells the micro address do nothing, keep your state. We also had a reset command. We had what else did we have? We had an increment and we also had a jump or actually let's just call it load. So that's it. There are four enumerations and that's why I used two bits of logic. So this is basically an array and it says the most significant bit is one and the least significant bit is zero. So you can always do it the other way around, which is zero to one, which would mean this is sort of a little endian protocol. So the most significant bit goes in the lowest position, but we are going to use big endian notation. So and then we give it a name, let's just call it command. And I believe that is it with the exception of something that we have to add for varilator, varilator, space, public, sort of as a comment in there, and semicolon. And what this does is it exports the enumerated type and all of its constants into C++ so that we can use it in our test bench. So there we go. And then we end the package. Okay, so like I said, packages can only contain type defs and functions. Now, what about the actual hardware that we're going to design? So let me open up a new file, File New. Okay, and I'm going to save this already. And I'm just going to call it micro address. Let's call it the counter dot V. Okay, and we start off with a module. So in system verilog, you've got modules and these are things that can be reused or you can place several modules or you can have other modules use modules. The unfortunate thing is that modules don't have namespaces. There is only a global namespace for modules. So we're going to call our module micro address counter. And we are going to say what the inputs and outputs for the module are. So obviously we need a clock. So we're going to say input. We have to specify the direction, which is either input, output, or in-out, which is bidirectional. It's a single line and we're just going to call it clock. It would be nice to have a reset signal. So let's do that, input, logic, reset. We're also going to need to know the command. So input, now here is where we can use namespaces, micro address colon colon command. So this basically says out of the micro address package, pull out the type def called command. And we're going to call that command. Let's see what else we need. We need a load address, right? So now here is where we need to decide on the number or the size of our micro program, or the size of the space of our micro program. I'm just arbitrarily going to choose, I don't know, 10 down to 0. So that's 11 bits, which is 2k. I'm sort of guesstimating this because I know we're going to have on the order of 256 op codes. So if for whatever reason we need eight instructions or micro instructions per op code, that comes out to 2k. It's a guess, we can change it later. So we're going to call that load address. And then finally, we have an output, which is a logic also 10 down to 0. And we're just going to call it address. Okay, these are the inputs and outputs to the module. So I put a semicolon there. So the next thing that we want to do is we want to describe how the thing works. There is going to be basically the address here is essentially a register. And the register is going to get loaded when the clock edge goes positive. But what we want to first define is what the new address is going to be based on the inputs. And this is basically a combinatorial circuit. So there's no registers involved at this point. So I'm going to declare essentially a local variable. Logic 10 down to 0, new, or maybe next address. Okay, and now I define a block called always combo. Always comb. It's not combo, of course. And what this says is this is a block that will always be awake and listening to the signals and loading your local variables or possibly outputs with whatever it computes. So we're going to begin a block, and a begin always ends with an end. Great. And we're going to here describe how the thing works. I'm going to start with a unique case statement on command. And this basically says it's like a switch case statement in an ordinary programming language, except the unique keyword says that we are never going to have two cases that are simultaneously active. Now you might think, well, I mean, in a switch case statement, that would be a compiler error, right? Well, not so for system verilog. It is possible to define a case statement where two of the cases are actually activated. With unique, we're basically telling the verilog compiler, no, that's never going to happen. So it can do some optimizations. So we're going to have case. So micro address, colon, colon. Now what was the first one? Well, it was none. Let's define that as a default. Well, actually, no. Let's define it just for fun. So what is the next address? It should be whatever the address is. Okay. Case micro address. What's the next one? Did I say it was reset? Yeah. We don't actually need a reset command, do we? Because we have a reset line. So what I'm going to do is I'm going to take that away. Okay. We still need two bits. And this is the other thing that's kind of annoying. Verilog should know how many enumerations I have. I have three. So two bits should be enough. Unfortunately, that's not how verilog works. We really do have to specify the size of the enumeration. So we go back to here. And what was the next one? Increment. Okay. So the next address is equal to address plus one. And verilog knows how to do this. Knows how to do addition. Okay. Micro address. What was the next one? Load. So when we want to do a load, obviously the next address is going to be load address. We can stick a default in here now in ordinary programs with switch case statements. If you have all of the cases declared, you really don't have to put in a default. It is good practice in system verilog because you may forget to add new cases to your case statement or new enumerations or new possibilities to your case statement, in which case in order to avoid various bad things like inducing a latch, which basically means, well, you didn't assign anything. So I'm going to have to store the previous value, which means that I have to put the previous value in a latch, which generates extra hardware. You would put a default in here. So what would the default be? Well, I guess it would be next address equals zero. Now, that's not actually going to be exercised because we have specified all the enumerations. But again, if we ever specify another enumeration and forget to include it in the case, this is what will happen. And then we end the case statement with an end case. Okay. So we've taken care of what happens when we give the thing a command. What we also want to do is what happens when we set the reset line to one. So if reset equals one, then next address equals zero. That's it. You see that these are equal signs. There's also another type of equality, which is sort of like an arrow. There's a difference between those two. The equals is a blocking a sign while the one with the arrow is a non-blocking a sign. So the theory is that when you're in a combinatorial block, you only use the equals. This is the blocking equals. And what Verilog will do is it will essentially step through, or when it compiles this to logic, it looks at the code that you've written and steps through line by line. And any variable that you assign with a blocking statement gets assigned right then and there. So for example, if I said next address equals one, next address equals next address plus one, well, the value of next address after this would be two. Now, you don't do this in combinatorial blocks, but in other blocks, you can use non-blocking assignments. And essentially what Verilog does is it does these assignments all at the same time in parallel, which means that these two statements would be pretty much illegal, or if system Verilog doesn't actually have any error messages for this, the result would be indeterminate. Maybe it would be one. Maybe it would be the previous next address plus one. Who knows? So don't do that. So anyway, so if you look at this, what happens if you give the micro address counter a command, such as increment, but also set reset to one? Well, reset takes precedence because it comes at the end. So you would go through the code and you would say, oh, increment. So the next address is whatever the address is plus one, but then you would say, oh, but reset is one, so next address is set to zero. Obviously, if reset is not one, whatever these commands did is what next address is set to. All right, so we've taken care of the combinatorial part of the counter. So now let's take care of the register part of the counter. So on the positive clock edge, what we want to do is store the result of next address into the output address lines. So what this is is an always ff, which means flip-flop, at, which tells it when to execute this block on the positive edge of clock. Begin, always end it with an end. And I don't know why it didn't pick this up, but I'll do it anyway, always ff. Okay, so all we want to do here is we want to say address non-blocking a sign next address. That's it. That's all that needs to be done. So in always ff blocks, you should always use non-blocking assignments. So that would be it, and now all we have to do is end the module. So end module, done. Okay, so that's pretty easy, again, to go over what we've written. We have one package. This can be used by other files, and we put the enumerations for the micro-address counter, or the commands for the micro-address counter, in a separate file, in a package, so that we can use it in other modules, because other modules may want to send commands to the micro-address counter. We've added varilator public, which means that in our test bench we can actually utilize these instead of having to remember what the number of each command is. We've defined the micro-address counter. We've defined the input lines and the output lines. We've also defined a local variable, which is essentially an internal wire. We've defined a combinatorial section. So anytime the inputs change, the combinatorial block will execute, essentially. And we've also defined a flip-flop block, or a sequential block. And what this does is on the positive edge of clock, it goes ahead and does whatever is inside the block. And in this case we take whatever the next address is, and we assign it to the output register address. And that's it. Now let's compile it. So I have varilator, as should you, minus wall, which means turn on all warnings. That's really important. You never ignore warnings, because a warning could be a bad thing. So the next thing that we need to do is say minus CC. And what this means is we want to output C++ code. There is another thing called system C. I don't know what that is. I don't know why you would use it. I assume that there's a good reason for it, but I know C++. There are no forward declarations in system varilog, or in varilog, or in VHDL. So you have to define, or you have to put down the files, each file before any other file that uses it. So micro-address.v has to come before micro-address counter.v, because micro-address counter.v refers to things that were defined in micro-address.v, namely the micro-address package with all of its enumerations and its type def. We will also define a prefix, and I'll just call it micro-address. So every class that's generated by varilator will be prefixed with the word micro-address. This is good because it keeps things nice and separate. And that's all we need to do right now. So let's hit enter and see if the code actually compiles. No, it did not compile. Exiting due to one error. Why? It says unexpected case expecting end case in micro-address counter.v line 13. So let's go there. Aha!  That's what I get for talking and programming at the same time. It's very difficult to do. All right, there we go. No warnings. That's perfect. Now varilator puts all of its generated code in the objdir directory. So let's go there and see what was generated. So I'm going to skip the mk file for now. We have micro-address.cpp and micro-address.h.  The micro-address.h file actually corresponds to the micro-address.v package. And then there is micro-address.h, which corresponds to the module. So if we look at micro-address micro-address.h, you can see that we have an enumeration called cmd, and we have all of our enumerated values, none, ink, and load. And if you look at micro-address.h, this is very hard to understand, and you don't really need to understand everything about it, but you can see that our signals have been defined. There's a clock, which goes from 0 to 0. That essentially means it's an array of logic of size 1. Reset, we have command, which is an array of logic from 1 down to 0. We have load address and we have address, which are 10 to 0. There are some local signals here, local variables, whatever. It doesn't really matter because these are just simulation things. The important thing to look at is there should be an eval method. This is a public method called eval. And what eval does is it goes through the blocks and evaluates and changes state. So that's what we're going to use to write our test bench to exercise the micro-address counter to see if it actually does what we think it does. All right, now that we've written the system verilog code, so we have some hardware, we can test it with a test bench, and this involves writing some C++. So I've already written the C++ code, so I will just go over it. The first thing that you need are some includes. So we have micro-address.h is the header file for the main module. In this case, the main module, or maybe in all cases, the main module is the module that comes last on the verilator command line. This is the top-level module. So that gets a header file that is named after the prefix, and the prefix was micro-address, micro-addr, so we have micro-address.h. Now that is going to need micro-address underscore micro-address.h, which, if you'll remember, is the header file corresponding to micro-address.v. So this contains the enumeration declaration. And finally, we need to include verilated.h, which is a header file that comes with verilator. What I've done is I've used table-driven testing. So the idea is that you create a structure of your test cases, and you can give your test case a name, and then you give the test cases all the stimuli that it will need, and any information that it will need to verify that what happened is what you expected. So in this particular case, I'm going to set up a reset line. I'm just going to use an 8-bit integer. Why not? A reset line, the command, which, of course, is going to be two bits, and the load address. And for the output, we want to verify that the output is the same as the expected address. Both of these are going to be 16-bit addresses. Of course, we've only got the 11 bits, but that's okay. All the other bits are zero. And then what you do is you define your test cases. So in this case, I am going to have a reset. So, of course, the reset line gets one. The command is none. Now, because this is in a system verilog package, that package was called micro-address underscore micro-address, mainly because the first micro-address is your prefix. And micro-address is the actual package name, which you'll recall is in system verilog. And then colon, colon, because that's the C++ separator for names. And then cmd, which you'll recall is the name of the enumeration. So we have micro-address colon, colon, cmd. And then colon, colon, whatever enumeration you want. So in this case, I'm sending a reset signal. I'm setting it to one, and I'm going to set the command to none. I'm going to set the load address to zero, and I expect the output address to also be zero. Now, what is the state of the module when it first starts up? You can tell verilator to randomize the state, which is usually a good idea. I did not do that here. You can add it as an exercise to the student. So the idea is that you would set up all of these inputs, then you would pulse the clock line so that it has a positive edge, and then you would check the output. So after that, presuming that the output address is zero, the next thing that I test is increment. So I set the reset line to zero, I set the command to increment, I set the load address to zero, and of course I expect to see the output one. The next thing I test is to make sure that the none command actually did work, because remember, the only time that I used it before was in reset. So for the none command, I expect the output not to change. So reset is zero, command is none, load address is zero, I expect the output to be one. Then I try reset again. So of course I expect the output to be zero. The next thing I test is load. So I set reset to zero, the command to load, the address just for the sake of argument FA, and I expect the output to be FA. Then I test that increment does what we think it does again. So I set the command to increment, the load address to zero, and I expect the output to be FB. Finally, I do another reset with the reset line being one, the command being none, load address zero, and again I expect the output to be zero. So these tests run one after the other in order, and all of their outputs must be the same as expected. So what does the main look like? So here is the standard C++ main function. The first thing that you do is you give varilator the command line argument so that it can intercept all the command lines and do whatever it needs to. So that's varilator's initialization. The next thing that you do is you create a new micro address module, and you do that by simply as in C++ you create a micro address instance of you create an instance of the micro address class, and we called it counter, and of course you get back a pointer. So we set all the data in the counter. So we set the clock to zero. We set reset to zero. Here I'm just doing an ordinary reset. I set the command to none. I set the load address to zero. And then this is the important bit. I call the counters eval function, and what that does is it runs the module. So it goes through and it determines if anything has changed, and if so it runs through the logic and does whatever it needs to. In this case of course nothing's really going to happen, but by calling eval after every change of inputs, you at least get a clean instance of the module. So the next thing that I do is I determine the number of test cases, which is of course the size of the test cases structure. That's this whole structure over here in bytes divided by the size of a single test case in bytes. Then I step through each test case, and here is where I'm just loading up the test case, and I set the command to the test case command. I set the reset line to the test cases reset line, set the load address to the test cases load address, and then I call eval. Now I still haven't touched the clocks, so nothing should change. Now I set the clock to one and I call eval. Then I set the clock to zero and I call eval. At that point I know that I have given a positive edge to the clock, so I can now check the output. I check counter the address of the counter, and I test it against the expected address of my test case. And if it worked I just say that that test case passed, and if it failed I say that it failed, what I expected, and what it actually was. Then we go through the loop and when we're done, just to clean up what you should do is call final on your module, which basically runs whatever finalization is in the module. In this case we're not going to ever have any finalization. Still it's good code practice. Then you delete the counter and then you exit. Now why delete the counter just before you exit? Again, that's good coding practice. You allocated a new micro address counter, so you should delete it. And then you exit with a status code of zero because why not? That's it. That's all you need. So let's go ahead and run the veriliter command line to actually run this test. So it's going to be veriliter, and then the beginning of it is going to be exactly the same as before. So minus wall, always minus wall, minus CC to output generated code in C++. What have we got? Micro address dot v comes first because that is lowest in the dependency chain. And then micro address counter dot v is your top level module. And we're going to do minus prefix micro address so that the top level module is called micro address and all of the C files and all of the auxiliary files are prefixed by micro address. And then this is new. So we do minus minus exe, which basically says I am about to specify an execution source file, and it's going to be micro address counter test dot cpp. And the next thing that I do because I want to be sure that we're going to compile using the correct C++ standard because the greatest thing about standards is that there are so many to choose from. So I'm going to specify C flags space quote minus STD that's minus standard equals C++11. So I'm just coding in C++ version 2011, also known as C++11. So C flags is basically just a flag that gets passed to GCC, the compiler, and I hit enter, and it just went ahead and generated all the files that it needed in objdir. So if I look at objdir, we have a couple of extra files here. We have a micro address executable file, and we also have... Actually, I think that was from before. Yeah. Actually, okay. Why don't I just remove everything in objectdir? That was from my previous test. So again, let me do this. Let me go to objectdir and take a look. Oh, yeah. That's better. Okay. So we have micro address dot mk. That is going to be the important file. So what we do in order to create the executable, so dot mk is a make file. So we do make minus j8. What that does is it just uses eight threads to make the executable. So each thread can be allocated to do a compilation. It looks like we've got one, two, three, three files, so maybe it will use up three threads. I'm just going to use eight, because I think that's how many cores I have. And then minus f to specify the make file, and then it's micro address dot mk. Space, and then the name of your executable. I'm just going to call it micro address, and it's done. No errors. That's great. No warnings. That's great, because warnings and errors are bad, and warnings are even worse, because they could turn into errors, and you wouldn't even know it. Now we can take a look, and we can see this executable up here. So let me run it, and hey, everything passed. That's awesome. So what would happen if I, for whatever reason, made a mistake in my test case, and I said, oh, well, you know, after you increment from fA, you would get fC. So what we want to do, obviously we have to recompile everything. So in this case, I just have to run make, because all I've done, I haven't changed any of the system verilog source code. I've only changed my main CPP code. Well, okay, I lied. That's not quite true, because the CPP code, if you look over here, I don't know, that's actually correct. I'm sorry. I was looking at, I was confused by all these micro address prefixed files. I was looking for a micro address counter test.cpp, which is not in the object directory. So it must pull it from the parent directory. So I've changed the test bench. I just have to run make. Great. So all it did was compile the one file that changed. That's great. And now I can run micro address. And we can see that one of the tests failed, namely the increment test that expected fC, but was fB. So what I could do is I could say, well, is that correct or is that incorrect? Well, obviously in this case, I take a close look at the situation and I say, oh, I screwed up the test case. It should have been fB. And then of course I can run make again and I can run the test again and all the tests pass. So that's great. We have some minimal code, which can do increment and load and reset. And for the next video, what we're going to do is we're going to put this into the Xilinx IDE, so that we can download it to an actual FPGA, which I will hook up to an Arduino, which will, and the Arduino is the one that's going to stimulate the hardware, and we can see the Arduino output of the address. That is that results. So that will be for the next video. Until then, take care.


Hello, everybody. Andrew Majeski here with Dental L. So our teeth whitening full training course is happening the end of September. So things are quickly approaching. If you have been thinking about starting your own teeth whitening business and you would like to know more about it, I do now have a link set up where you can pre-register. So you do not have to pay for anything yet. It's just those who may be interested and in the course, but you're not really too sure yet, maybe what happens is you will pre-register and you will get a series of emails explaining everything that the course involves. Because I will be doing a in-person option plus a in-person and online option, but also just the online option. So depending on where you live, you might not be able to come to my location. I will have a couple either in St. Thomas or Kitchener area for the in-person training component. But if you're not able to attend, I do have it set up now where it would be online completely. And then for your clients to get your full certificate of completion afterwards, we would have a live Zoom call where you would be with your client. So either your sister, mother, brother, husband, friend, whoever, you would practice teeth whitening on. Well, not practice, but you would actually do it on. So that I can make sure that you know what you're doing. And I am there every step of the way if you have any questions because you will learn everything anyway. So they will have, I will have full modules set up for you. So you learn everything of how to start your own teeth whitening business from the business aspect to the bookkeeping aspect to what you need to buy, purchase, and I can also help you with that. So if you just kind of say, I just want to buy and purchase what you have, you know it works. That's what I want. No problem. I will send that all to you. So there are many different options. I have talked to some people who say, well, there's a whitening system that I would like to use. I just want to purchase my own materials, but just help me with that. No problem. So there's many different components to it because having your own teeth whitening business is amazing because everybody wants white teeth. It is a great way to make some extra money, a full-time income easily. I charge my clients $200 for teeth whitening. I do it in my own home, plus I go to people's houses. So I do charge a little bit more if I'm going to their house and I have two, two lights so that I can actually do two people at the same time. And I talked to you guys how to do that too, if that's something that you wanted to do. So I teach you guys every step of the way. I've had my own business for almost about two years now. So I'm the one to talk to. I teach you guys the good, the bad, the what I wish that I had known when I first started. I teach you guys what you don't necessarily have to buy right away. I teach you things what you do have to buy right away. So you guys, I teach everything to, you know, have your own teeth whitening business to maintain your clients, how to get new ones, how to market, how to do social media, the whole works. So thank you guys so much. Let me know if you have any questions. I will leave the link for you guys on the bottom to pre-sign up to get a series of emails to know more. So thank you guys. I will talk to you very, very soon.


So, we talked about research frontiers around groundwater recharge and flow and ways we could collect data, especially where in-situ data were sparse or inaccessible. So this actually caused us a little bit of angst. We talked about grace at the large scale as a way of looking at water storage changes, but if there were multiple rivers sort of at a swat scale within that larger scale that we were looking at that we might be able to use swat as a way to distribute that change as a way of downscaling grace. Ed might have to help me here, but we were also talking about some non-event driven river discharge using that as a way of estimating base flow from swat or ice set to potentially. But then we sort of struggled with other options for systems where, especially where things were inaccessible, so we started to move into like vaguely accessible and then we just went like full accessible, but we said if permission was available that we could use some drone-based measurements potentially to look at things like temperature or NDVI to look at vegetation. And all we could get from this is maybe wetter areas. We weren't really sure that this was tied to groundwater recharge, but we were really just trying to find a thing. If the system was actually accessible we said there were maybe a couple of things that we could do. And I don't know if these are research frontiers because I think both of these things already exist, but you know nuclear magnetic resonance is a way of imaging moisture content. So people have been using this for a long time. More and more lately as that technology, as the signal to noise has gotten better and borehole instruments have changed a lot of these measurements, but looking at changes in moisture content is a way of estimating recharge. And if that site was also accessible you could look at changes in some sort of process, either precipitation or actually inducing tracers with some geophysical instruments like electrical resistivity came up over some smaller scales. And that is all we did. We kind of tried to wrap our heads first of all around the scale of the problem and we came to the conclusion that it depends that the frontiers depend upon the size of the problem and so likely we would need multiple technology advancements. We talked about airborne as well as spaceborne, the airborne AEM, the geophysics talk that we heard that was very impressive. The only downside of that is that it's not glowable but it's doable if the political will is in a country if you wanted to fly there. The good thing about it is it gets at the 3D and gets at subsurface property distributions. We also talked about drones as well, large drones. We do a good job of measuring precipitation from space but we need to do a better job of runoff temperature and ET and we thought that large drone-based measurements could potentially help us there. We also thought about the grace mission and you know the challenge of course the grace mission is great for closing the water balance but the scale, spatial scale is an issue so we thought that you know if we had two pairs of grace mission, two grace missions that would help us to knock down the scale as well as the uncertainty. We talked touched a little bit on GPS which is something we hadn't talked too much today. It's a little bit tricky. It needs a ground-based receiver but it can measure surface water changes and so you can track surface water with GPS and then track how that surface water interacts with the interfaces with the aquifer. For some research that's out there, far out there, we talked about isotopes and any sort of water quality remote sensing that's on our wish list here. We talked about the benefit of INSAR for CalVal and then in terms of a research frontier we talked about the fact that all of these measurements are not measuring the same thing so we don't have a good way of integrating measurements. Could this be a framework for example do we need that? Is there a new methodology or we need a new methodology to combine its situ and remote sensing data together? We talked about machine learning and data analysis techniques as a key component to combining these measurements although I think that there was some concern that machine learning can be a little bit tricky. We also talked about the importance of technology that could kind of help to ensure that all people that all citizens are participating in that problem. So we talked about combining geophysics methods and remote sensing for linking surface water and groundwater movements. We talked about also combining hydrologic modeling with remote sensing. I mean a lot of people are doing that already but definitely downskilling. There are downskilling issues such as grace using grace data to its advantage and to bring it down to more useful resolutions. We talked about also combining climate projections for strategic planning for future recharge methods. How we can prepare for future management of groundwater recharge where there might be changes in precipitation and other variables. One important thing that we discussed was there's a lot of new advances in computational methods. It could be in geostatistics, it could be in Craiging AI machine learning that could these methods could be adopted in a smart way so that we can interpret or interpolate the existing data sets better and not just for getting better results but also for guiding where we can where we should focus for getting in situ measurements for calibration validation and also just for getting new data sets and also for reducing uncertainties. I mean reducing uncertainties with the use of these new computational methods. We also talked about just like the previous group we talked about how we can engage citizen science and also the availability of cheaper and newer sensors so that we can get more and more in situ measurements. I think I'll stop there. Then we go to the next question. The question was about identifying when and where aquifers are being recharged in the source of water. So part of this was answered in question one but we talked about some other possibilities for looking at when and where aquifer was being recharged. We have like a bunch of asterisks on this one but like if your aquifer was elastic and you had injections then maybe you could use INSAR to look at locations for recharge. Obviously the Trident U method for looking at groundwater recharge are boreholes but that's pretty limited in terms of where you can do that but the data are continuous in time. We talked about using sort of old-school you know earth science inference when you look at a system and you look at its topography and its geology and maybe its vegetation if the shallow if the water cable shallow you might be able to take a look at a system and figure out where groundwater should potentially be recharged. Grace obviously at the large scale again in terms of sourcing the water I don't think there's like a you know a magic wand we can wave around and figure out the source of the water but we could probably infer source of water depending on what the recharge data looked like so does it look like precipitation or is this happening in a location where there's managed aquifer recharge etc. Otherwise if we really want to get at water source we probably need isotopes or some sort of genetics of microbial communities in the water to parse that. And the last thing we talked about in terms of when and where aquifers are being recharged is just the soft data or interviewing people in systems where data are sparse or otherwise there is an instrumentation. I've talked about the importance of both in situ as well as model data. In situ data are absolutely essential and models in many ways are key to integrate validate data to put constraints on different components. And recharge is very difficult to observe and it's best estimated by models. And I think there was a comment in the group that recharge is actually one of the most difficult things to measure in terms of groundwater. We talked about scale we talked about the temporal scale that's needed. We need to have continuous monitoring which of course comes from in situ measurements continuous in time but discreet in space. It helps us they help us to have the best chance of understanding seasonal changes in recharge. There is also we talked about event based recharge and then using paleo data to look at recharge in past climates to just get a better handle on recharge. Talked about spatial scale in situ data doesn't provide us with high spatial coverage. It isn't spatially consistent and so the question came up what spatial scale do we need to focus on to do monitoring and we didn't have an answer for that. We also talked about the importance of having good precipitation and ET data a better understanding of groundwater and surface water interactions and the need for runoff data for the models. We also kind of agreed on the need for both in situ data and models for these identifying recharge but we kind of wrote down the specifics that included topography, geology, the layers, the land surface information, hydrology and also near surface geophysics. We discussed that the human processes are very important how the land cover has been changing, how the land use change can impact recharge, those information are needed as well. In terms of identifying the sources of the water and the types of water isotope studies and biogeochemical markers those could be useful but we also had a good discussion on the types of recharge and the scales of recharge. Do we mean just the inflow? Do we want to find out the net recharge or can we separate it out from the lateral flow that the basins are having like the Bengal Basin that Holly presented this morning. There's a lot of lateral flow in those regions. How do we really separate that out from the recharge that is happening and also the scales of this recharge depending on the basin or the type of climate or land surface that we are talking about and in combination with the surface water flow of that basin. The third question was about NGA resources that could help make meaningful progress in terms of our understanding of recharge. We actually weren't entirely sure we didn't have the benefit of Tony being in the room to know exactly what those resources were so we ended up asking some questions. So one of the things we asked about was whether NGA has access to satellites or geostationary information that the public doesn't. We assumed that was probably the case. If so it would be helpful you know if some of those data were open to sharing like we could maybe even image where water is and then isn't from some high resolution images to get at recharge. If those data aren't available then maybe there was a way for NGA to think about deriving groundwater characteristics have people that actually do that and then share that with the public. But that was about as far as we got with that because we weren't entirely sure what was out there. We actually had the same question about I think it's the last bullet we need to know what kinds of resources might be available. But we talked about you know the possibly supercomputers and cloud computing resources that universities and other research organizations could access and utilize. We talked about opportunities for partnership or funding to work together toward a common goal. For example the eight countries share groundwater data can we expand that list. We asked if it would be possible for NGA to be a steward to get international partnerships to do the work and help to pay the science community to conduct the research. We talked about utilizing NURRI grants and what we tell lastly we talked about techniques for soil complexity or or tech to simplify soil complexity as a maybe something that the NGA could help with. We actually had the NGA guy in our group so we did not have those questions. So we came up with these three kind of ideas that we want to focus on data fusion from multiple types of sensors and also multiple types of data to come up with better measurements of recharge. Definitely there should be a research focus on transboundary aquifers which is definitely a key knowledge gap out there in terms of managing groundwater and that applies to both the water reach systems as well as fossil groundwater systems. And looking at also how the surface water and groundwater is interacting in these water reach systems that is also a key. I think there's there's a lot to learn in that area. I think that's where we start. We this fourth question was basically the same as the fourth question on the last breakout group which was examples of successful collaboration. So we actually felt like we more or less covered that on the last go-round. So we didn't have a lot of creative new input. There's a couple things up there but other than that I'm going to punt on that question. We did as well. Sorry. Instead of looking at just the successful examples we actually wanted to look at the four transboundary aquifer treaties that are known to be out there and we want to see what works and what doesn't work in those treaties and we thought that would be informative for us. We also want to look at interstate compacts of water sharing and usage in the U.S. and I thought maybe in India we could look at because India has a lot of interstate water issues as well. And also Mike I don't think he's here. Mike talked about the upper San Pedro basin in Arizona. There's a lot of groundwater movement between Mexico and the U.S. where we could learn from that basin as well. So we wanted it's not really successful examples but we thought these are the areas we could focus on to learn more about collaboration opportunities and research on research.


World Telecommunication and Information Society Day reminds us that international cooperation on digital technology is essential to help defeat COVID-19 and achieve the 2030 Agenda for Sustainable Development. I call on all of you to join me in advancing ITU's Connect 2030 Agenda, a shared global vision to bridge the digital divide, and use the power of information and communication technology in support of the 2030 Agenda for Sustainable Development.


Okay, perfect. So we just put the post on the business page. Now we're going to simply go back to the ads manager. So do we have a tab open or do we need to open another tab?  So, and also keep in mind that in the very, very beginning, what we're also capturing is the data of these audiences. So in the very beginning, you got to put out one ad, two ads, three ads. And then as data starts to be captured, people that are clicking landing on the opt-in page, but not opt-in-in, those are people that are in your custom audience that you're gonna be able to be able to retarget on your third ad and on. So as we get to our third ad, we'll be retargeting those who landed on the page, those who saw the first ad and second ad and those who actually clicked landed on the page but didn't opt-in. Those are people that are going into an audience. So by the time we get to our third ad, we'll start retargeting those people. And that's why the impressions on that first one, 1222, that's just, again, not even scratching the surface.  So we barely got to 1222. And that's based on the budget. So it's all based on the budget, the impressions. It's all based on how much was spent. So let's click the green button and just start the next one. So click the green one and then we're gonna go conversions and our custom conversions should already be set up. So we'll continue and we'll just name everything as, we'll title everything as we go in. So let's just hit the blue one. So here at the very, very top, we're gonna start with the title. So new conversions campaign, yeah, right there in the field, delete that. And now you wanna just be super descriptive, a brief description of what ad that is, what image it is. So what are we doing in this image?  So whatever, try to describe it. I'm not gonna add to clear image. Cause it's not gonna be the same picture next week. It's not gonna what?  So I'm gonna just say something like add to clear image. Yeah, that whatever is gonna help you understand, yeah, whatever is gonna make sense to you, add to clear image and in parentheses. So this is step one of three, right? We're going through three steps, the campaign, the ad set and the ad. So right here on the campaign level, add to clear image conversions. So that's what we do on the first step as we choose the objective, which was conversions. So in parentheses, conversions. And then the categories, you're gonna always hit that special ad category, that dropdown, and you're gonna always go with housing and that's it. Next, that's step one, that's it. So hit next, the blue one, and now let's go to the next step. So now on the second step, the ad set level, this is the middle tab when we're looking at the dashboard. This is where we simply go with our conversion. So in that conversion, yeah, website. And then at the top two, we wanna name it, but we'll name it after we set everything up first. So the conversion event, check, yeah, click inside that in that box and then scroll down. You wanna look for your conversion, which should be seller guide leads, which is that one, that's your custom conversion, that's based on your thank you page. So here we're telling Facebook that the thank you page is the most important page. So when we're running this ad, it's not just, we're not just looking for people to click, we're looking for people to land on that page. We're being very specific. It's that page, the seller guide lead page, the thank you page. So now we're gonna scroll down. And so now we're gonna choose the daily budget. So anywhere from anywhere from $10 up would be good to start with on your daily budget.  So leave the daily budget and then just change that $25, change that to something different, either 10 bucks, 15 bucks, whatever, anything above 10. Okay, so scroll down. And so now, and again, so here's what I'm saying, whatever the monthly budget is, that's what we're breaking down for two ads per month. So for example, 15 bucks a day is 450 a month, right? So if we ran 15 bucks a day times 15 days for the first ad, that was 225. So on this second ad, we're gonna go for the next 15 days, right? So we're always starting at the next day at 6 a.m. So 629, yeah, change that to that's 6 a.m. So we're gonna always start the next day at 6 a.m. And then we're gonna check the box for the end date and we're gonna run it for 15 days.  What is the actual monthly budget? So based on this number, 15 bucks a day, that's 450 a month. So all I'm saying is break it up in two. First ad got 225, this ad is gonna get 225. So run it for 15 days. So June 29th to the, what is that? June 29th to the, to July 29th, go, yeah, hit the arrow up. Hit the arrow, would it go to July? Was that to the 13th? Is that right to the 13th? Or is it the 6th? Okay, let's talk about it, okay. It's gonna start on the 29th. Yeah, it's gonna start on the 29th. Okay, great, two weeks is the 13th. Yeah, so run to the 13th. And then the same 6 a.m. So you're running a full, a full 15 day period. And so what you wanna do in this case is, let's always schedule a call, at least for the first few ads, right?   But especially in these first few ads, let's always plan on talking. If we're scheduling it for 15 days, let's always plan on talking in 12 days. So don't even look at it. As long as everything is on the backend is set up, right? The email automation, the funnel, everything, the calendar, as long as all that's working, we don't need to worry about it. As long as this ad publishes and it goes live, we don't need to worry about it. I don't even wanna look at it until the 12th day, right? Because we gotta give Facebook plenty of time. And Facebook, it really needs seven to 10 days to really make a decision. But 12 days is when I wanna jump back on with you and we look at it together to make a decision as to whether or not we leave it on or we shut it off. And that's when we'll just always have the next ad ready. So good job on having this one ready. So scroll down. And so as we go to our third ad, it's a little early right now to start retargeting audiences. But right there is where we would click inside custom audiences and we would be able to retarget previous audiences. Those who clicked on the first ad, but didn't opt in, right? That's when we'll start retargeting these people. And that's why the consistency in ads is so, so important because that gives people the ability to keep seeing you. They have to keep seeing you, keep seeing you, keep seeing you. That's the magic. And that's the retargeting of audiences. So locations, the United States. So we won't mess with the audiences right now. We're too early to retarget. So edit. And then now let's just put in either, you're either putting in, take away the United States, X that out. So always you hit edit and then X that one out. Yeah, X that one out. And so you're going to go people living in, people living in this location, hit the dropdown real quick, people living in. Yeah, because this has to be super specific, people living in this location. And then yeah, then just go off of your address. And then again, whatever, because I don't remember the first ad where we targeted but whatever it was, and we can always check. It was just my location. You went off of that location 15 miles or was it more, was it 20? It was more miles, but it was that location. Go, yeah, go whatever, because we're still early in all this. So, but whatever we pick here, that is your stomping ground. Okay, that's what we're going to focus on and we're not going to change it from the third add and on. We're going to continue to retarget this area. We're going to continue to target this area. So just type in the number, type in the number to the right and then hit enter. Yeah, type it in right there and then just hit enter. So if that's the targeting, stick with that. So here's what I want you to do. Go scroll all the way to the top and that is the title. So go back up, yeah, so new conversion ad set, take away that.  Not the full address, but maybe just partial address. Yeah, 2000, yeah, Bell, that's it. About all right, perfect, perfect, and that's it. So here I'm just making sure that I can read that and know exactly what ad this is. So we're good. So scroll down daily, 15 daily, 2000 Bell. We got the calendar, we got the location. We don't want to mess with age, gender or detailed targeting. So we're good on that automatic placement, leave it there and then hit next. That's it. So that's step two, that's it. And then we go to the third and final step. We're over here, we're gonna make sure that the Facebook page is the correct one, the Instagram account is the correct one and then add setup, click on that dropdown, create ad and you're gonna go with use existing post. So right there, add setup, use existing post and then select post and then all you're gonna do is simply find that post, which is that top one. Click on that and then hit continue. Okay, perfect. And then we'll scroll down. Okay, so this caption is too long for Instagram, that's fine. Okay, perfect. And then add button, add button. So right there call to action, add button and this is where your landing page link goes. So grab your link, either go to card share or if you have a bookmarked, grab it from there. Yeah, just double click it if you need to to open it up. Just make sure everything is copied. Yeah, make sure everything. So HTTPS, all of that. Okay, perfect. So we're gonna grab the link and then just simply paste it in there, update post and then we wanna scroll down and make sure that the tracking is correct. So the website, you'll always want when it comes to the tracking, always make sure that box is checked for website events, which it is. And then always make sure that that's the domain that we're running the pixel ID, which it is. Sometimes that box is not checked. So website events, sometimes it's blank and you'll have to check it and then you'll have to hit the dropdown where the green dot is and find that domain. Sometimes you have to do it. Here it's already there, which is perfect but sometimes you actually have to do it. So that's what you're looking for is checking the box and then the green dot and then publish and that's it. And then what you wanna do too, yeah, go ahead and publish. So publishing one of three, the blue has to turn green. And if it doesn't turn green, which it tends to get stuck like this a lot. So yeah, it got stuck. So now all you do is open up another tab, come back to your ads manager. So go to your, open up another tab, go to your bookmarks, open up the ads manager and push it through over there. So bookmarks, okay, perfect. So now you'll see the blue button in the top right. So review and publish. So click that blue button in the top right and then just push it through here. So hit the green button, publish and that's it. And then the page likes at the bottom, shade that blue to gray. Page like ad at the very bottom, shade, yeah, always turn it to gray and then click the middle tab. So these are the three tabs that we just went through, campaigns, ad sets and ads. Those are the three tabs we just went through. So click on the middle tab, shade this to gray and then do the same thing for the third tab, shade that to gray. Even though the ads already off, you just wanna shade it to gray because whenever we come in here and we see blue, we just automatically know it's on. So uncheck the one selected, one selected, one selected and then let's just check one last thing really quick. So uncheck these, yeah, hit the X, X, X, yeah. One selected, one selected, one selected, just X amount. Okay, and then one thing you always wanna do too is just double check your audiences. So hit the three lines to the left and you can always go to your bookmarks as well but let's just click on the three lines to the left and then go to audiences and then just make sure that the audience is set up which it is, but let's just double check. In this case, it's just an image ad. So we wanna really make sure the audience is set up for the page. So it's a seller guide page visitors only, that bottom page. So again, as we run ads, right? Yes, and this is again, what I mentioned in my, literally in my last YouTube video where I'm talking about how we all are looking for a lead. We're all looking for a sell. We're all looking for an appointment. We're running ads to capture lead. Yes, for sure. But what you have to also keep in mind is that we're also running ads to capture the data. So as people are seeing your ad and they're clicking and they're coming over to your page, yes, okay, they didn't download it but the fact that they actually landed there, they're being tracked. Those are people who are landing on the seller guide page visitors only. Those are people who are landing in that audience. So as I continue to stay consistent with ads, I'm capturing that data and I'm gonna be able to leverage that data with future ads. So as we go run ad number three, for example, we'll then start retargeting that audience. People that landed on the page but haven't opted in. And then the moment people, and that's an audience that you'll always wanna retarget from ad number three and on, we'll always retarget that audience, seller guide page visitors only. And then as leads come in, we'll then start excluding the audience of seller guide leads. So seller guide leads, those are people who actually landed on the thank you page. So that audience is being tracked. So then we'll start excluding that audience from seeing future ads. The moment a lead comes in, we'll start excluding that audience right away. And that's it. And then as you start to put out video, then you'll start creating audiences around people watching your video. They might not have clicked, they might not have went to your website, but they watched the video, they watched a percentage 15 seconds, for example, of the video, put them in an audience, show them another ad. So that's all this is about is just staying consistent with the ad, having a monthly budget in mind and just saying, hey, I gotta spend this money regardless. This is my marketing regardless and not even really micromanaging it, just spending it, running it and just staying consistent. And so let this one run, let's not even look at it, let's not even look at it for the next few days, really. And you'll know that leads are coming in because of, because of Karcher, really. You can see leads coming in here, but what I do is I like to always, I track it on Karcher, like as long as that lead comes into Karcher, that's where I look at the leads. So just make sure, so any questions on this ad or any questions on the audience? I would say I should be spending, not 15 days, I should be spending. Well, to tell you the truth, if you can do 15 a day, then do 15 a day, 450 a month. If you could do 450 a month, then I want you there. But if not, then go $10 a day and there's 300 a month. So all you're doing is running one ad for 15 days, there's 150. Run another ad for the next 15 days, there's for the next 15 days, there's the other 150, there's 300 a month. So that's how you wanna, you got it. Yeah, you gotta be at least $10 a day minimum. And then the moment we start getting leads, the moment we even close a damn deal, we're gonna scale that number up. Like the moment you close a deal, like I want you taking literally, like the moment you close a deal, Eve, like I swear, like I wish you would take, and again, everyone's business is different, I guess I get it, I totally understand. A deal from this?  So if you were, and that's when you really crush it. So let's say, let's say for example, let's say for example, you do make six grand and I take 30% of that, which is 1800 and I put it aside for ads. That's 1800 divided by 30 days. That's when you're now spending 60 bucks a day and you're dominating your local area, dominating. At a $60 a day budget, you would freaking take over that whole entire town.  That's how powerful this is. Like forget door knocking, forget your flyers, forget even freaking local events, run a Facebook ad, get in people's news feed. Everyone's on their phone right now. So if I can continue to show my face to all these people, I'm gonna, my branding is, and that's the thing. It's the data that we're capturing. It's not always about the lead that we're capturing. It's the data and it's also the branding. The fact that even on that other ad, even though that other ad flopped, 1200 people, 1,222 to be exact, based on the impressions. 1,222 people saw your face. So if I spend 50 bucks to get 1,200 people down the street to see my face, yeah, they didn't click, yeah, they didn't enter their information, but they've seen my freaking face. There's value to that. There's no way I could have knocked on 1,200 doors.  So how outs can I brand myself? That's why I always try to make sense where it's like, what outs can I spend 50 bucks on? You know what I mean? So we're just getting started. We're just getting started, but from this point on, here's all I want you to do.   Like we need clear pictures. We need outdoor pictures. We need in the light, go out there in the sun.  You're in South Carolina, right? I think there's a lot of sun out here. Not this week, but there's a lot of sun in general. Yeah, right?  Have fun with it. And that's all we need right now. It's really bad, I tried it. What's that? I said, I tried. Yeah, I know, I know. But I want you to freaking, don't just come back with four, come back with 40.  Cause that's the only thing that I see. Your text was amazing. Your copywriting that, you got copywriting skills and you don't even know it. So what you're writing the text, that's freaking awesome. Now we just need images or we need video. And that's gonna be the form of testing. We're targeting a local area. We just need to keep putting out more images. That's it. And stay consistent with the budget. You know, that's it. So any questions on this part? Yeah. Okay, cool.


Welcome to our video on planning interactive lessons in the EMI classroom. In this video, we will cover the four main parts of a lesson plan, and we will give examples of how to create student-centered learning opportunities for each of these parts in order to give students the support they need to reach the lesson objective.  We will use the water cycle as a topic for this lesson, and also bring in examples from an EMI instructor. As a point of reference, here is an image of the water cycle, and the student learning objective for this lesson is, by the end of this unit, students will be able to discuss and illustrate the six parts of the water cycle of their geographic region and appropriately label each part in English. So the first part in the lesson is a warm-up activity. Let's look at an example of how you can use word clouds to introduce new concepts or review key terms. Here is an image of a word cloud made from a reading about the water cycle. A word cloud visualizes course material with the size of the word indicating how frequently it is used in the original text. For example, in this word cloud, the words water and cycle occurred more frequently than did the words soil or evaporation. You can make word clouds using free online tools such as wordle or wordclouds.com. We copy text from an article and paste it into the online word cloud generator. Most of these tools allow users to modify the colors and the format of the word cloud. Word clouds like this help students recognize how much of the vocabulary they may already know and begin thinking about the topic of the lesson. To use the word cloud, try the think, pair, share approach. First, students can think about the words located in the word cloud and make a prediction about the lesson for the day. They can also write down a few words they already know and some that are unfamiliar to them. Then they can pair with a classmate and compare their word lists. Give the pairs two or three minutes to discuss and make predictions on the topic of the day's lesson. Finally, have the pairs share their prediction with the entire class. This is also a good time to ask about the vocabulary that is unfamiliar to them and help them pronounce any words. You can show them online tools such as online dictionaries like Merriam-Webster that will pronounce words for them. You can encourage students to try these resources out of class and to practice pronouncing these words during class in their small group discussions. For larger class sizes, try using free polling software such as Kahoot or you can try Tophat, Poll Everywhere or MicroPoll for this section of the lesson. This software allows students to use their computers or mobile devices to ask and or answer questions. In this example, a Kahoot question is used to review content from a previous class. Students use their phones, tablets or laptop computers to answer these live polls. Just be sure that you have a computer with a stable internet connection and a projector and students have a reliable internet connection. They can answer questions individually or in groups. You can look at this Kahoot for an example. After the warm up comes a mini lecture, you can use online interactive polls or questions such as with Kahoot, Tophat, Poll Everywhere or MicroPoll during content delivery. You can keep an eye on open ended poll running while you deliver your mini lecture. This allows students to ask questions informally. This screen shows an example of a Poll Everywhere poll that the instructor opened at the beginning of a mini lecture and then it shows questions that students posed during that lecture. The instructor can then look at the questions throughout or at the end of the lecture and answer those questions. Students do this by going to the pollev.com site and typing in the appropriate PIN number as displayed on the screen. They then can type in their question and it appears on the front screen. You can also try online mini quizzes during your lectures as well to ensure that students are following along as shown here. You can add the questions directly to your presentation and have the students use their computers or mobile devices to answer. In this example, students open a browser and go to pollev.com and answer the questions that you entered earlier. Here students should write the six steps of the water cycle. Including these mini quizzes allows you to see how well students are understanding the information as a formative assessment. They are usually not graded. These mini quizzes also help students pay attention. As they know, they will have to answer questions throughout the lecture.


Okay, Bolo Buddies, we are having a Fisher Price Little People show. It's going to be all Fisher Price Little People, vintage, to now we've got all kinds of characters. I will see you in the morning at 9 0 8 a.m. Eastern Standard Time for a super fun show.  See you soon. Thanks for watching.


Okay, so good evening everyone, good morning or whatever time you're watching this video right now. So I'll just make a quick reminder on how to compute the concentration of the unknown. So take for example, you did your measuring already using your spectrophotometer. So what you're going to get out of the spectro is actually your what? Your absorbance, okay? Your absorbance and according to Beerslaw, okay di ba? According to Beerslaw that your absorbance is equal to your concentration. So that is what we're going to calculate for this video. So the formula is actually the concentration of the unknown, your CU. So let me write it down for you first. All over AS times the CS. So what are these values all about? So the CU is actually the concentration of the unknown, okay? This is the concentration of the unknown, the concentration of your specimen or your sample. The CS, this is the concentration of your standard, okay? The concentration of your standard and this is actually most of the time known. So this is known or this is given, okay? This is given. So what about the AU and the AS? The AU and the AS is actually being measured using your spectrophotometer. So these two are the absorbance, okay? So this one now is the absorbance of the unknown, okay? Absorbance of the unknown or the specimen you're currently measuring. And this in turn is the absorbance of the standard, okay? Absorbance of the standard. So take for example, I measured, okay? Take for example, I have a given. So take for example, I know that the concentration of the standard is already 80 millimoles per liter, okay? 80 millimoles per liter. So I have that on me already. And what I'm going to have is the absorbance of the unknown and the absorbance of the standard. And how am I going to get this? I'm going to get this by measuring it in the spectrophotometer. So take for example, the absorbance of your unknown is actually 0.561. And then the absorbance of your standard is actually 0.978, okay? 978. So simple formula what you're going to do is to actually substitute the given. So the concentration of the unknown is equal to what? Absorbance of the unknown which is 0.561. All over 9, 0.978. Multiply it now by 80 millimoles per liter. So just do the math, okay? Just do the math with 0.561 divided by 0.978 times, okay? Times 80. That is actually what? 45.89 millimoles per liter. That is now the concentration of your unknown, okay? So we got the concentration of your unknown. This 45.78. I hope this would help you. So thank you. And see you on my next video. Bye.


The ARBAMA event, because it was hosted by the diversity group, had an impact on me being a minority that's really important to have that kind of inclusion. It's very important to be prepared for what you're coming for the future. So coming to ARBAMA, you will understand and you will get an understanding of what to expect. I believe Alabama is the number one football scene, which has always been a achievement in my life, be number one, succeed and be the best. I wanted to participate because I wanted to come to the campus very badly, so this is a perfect opportunity and a good weekend to come. I'm very excited about the tour, the campus tour. I'm very excited to learn more about things on campus and what's going on. I just wanted to get the full college experience and be able to understand the engineering studies. Two of my siblings have, are they actually alumni of the University of Alabama? And I would love to come here because I feel like this is my home. Roll tide. Roll tide. Yeah, roll tide. Roll tide.


once ikrama who's the son of abu jahl wanted to meet with the prophet sallallahu alayhi sallam after the battle of ahad and and when he came he the prophet sallallahu alayhi sallam you know he commanded all of the i'm sorry battle of badr when he came um the prophet sallallahu alayhi sallam commanded the sahaba to not call ikrama right ibn abi jahl don't call him the son of the father of ignorance because that was his father's name and he did not want to break further ikrama's heart he just lost his dad in battle so he instructed his sahaba don't call him that just call him by his name that's empathy right he told us when there's two of you and a third person don't speak in secret don't talk in a different language it's rude it makes the other person feel left out you are hurting another person unnecessarily so don't do that this is empathy


Politico's energy summit and they wouldn't let us in wearing pajamas but they are in bed with the fossil fuel industry and the weapons manufacturers. We're calling out that this summit is greenwashing that if they really are going to address the climate crisis with the urgency that we need they need to stop getting funding from the weapons manufacturers and fossil fuel industry and really report on climate including reporting on the Pentagon solution. It's the largest institution in the world, the biggest consumer of fossil fuels and it is desecrating and destroying the planet and people in this country.


If I get DP'd one more time, it's just I'm retiring. I hereby retire from fighting Team Gohan's. How's it going everybody? Datu Dui here back with some more Dragon Ball Fighters Ranked Matches and this time we are playing just the usual team with Napa up front. I'm not really a recommended team at all, it's just been a while since I've played Napa. Speaking of which, we're going up against the Super Saiyan Rose, unfortunately we got downranked so there's not too many points here on the line. Uh, but, oh god, I- we're also going up against Team Gohan.  We switch Raw Tag and Fighters. Name a better combination. We try to optimize it. One, two, three, four, go! Alright, we definitely missed. You're supposed to go for the down jab there. Okay, make sure you do that as well. I really don't want to be playing- Ooh, Yancha! That was how we get it done! Wow, that was really quick. Uh, I'm going to Raw Tag out to Napa again just because- so that was a bad choice. You never thought your choice would get fun is that quickly, but sometimes they do. Oh, he missed the overhead twice. We got insanely lucky. Double overhead, is that going to be the end of Napa though? Probably not. I might be exaggerating. He doesn't have three characters left. There would be extra hard for him to get that three bar. That is the end of N- and we're right back to where we started. Wow, Napa did not get a lot done. Ha ha! I really wanted him to. Alright, that's sliding. That means we can get a mix-up. He does have three bars, so you do want to watch out for that. You don't- never mind. Uh, that was a- that was an American reset. You don't know what the American reset is. Clearly, you haven't experienced the intentional drop. Uh, I'm looking for a level three. I think we take as many hard knockdowns as we can get nowadays just to try to increase the chances of us actually getting something good. We fake the overhead go low. Oh, that was so tricky, dude! I got to get- For a first-time post-level three knockdown, that was kind of a random one to go for. That was Super Dash against Goku Black. Hold out. Okay, guard cancels again. We're getting that- we're getting that bar. Getting that bar and the sliding? Does he down-tack? Oh, he didn't down-tack and it really cost us. I should have been more- I should have been more patient on defense there. Or offense, I guess. Big punish! That's what I was looking for. Show me that guard cancel. Now we get to do the classics. Okay, parking's off the table for him. Just- and guard cancel. Get the blue health back. That's good. All of this is very good. No! We didn't even get to tech! Oh no! All right, hold down tech, boys. Don't risk anything. High as much time as possible. Beautiful block. I gotta give it up. And I think if we live this, we do have to go for sparking, but even us living might be a little questionable. It looks possible, though. It looks possible! Oh, it was possible! Get off of me, Zamasu. Let's go! And what did I say about level 3s you know I like to cook them? All right, we're in the kitchen. Level 3 all baked out. I'm trying to get it, dude. Do we drag it rush? Is that the day and age we're on? Oh, no block. I don't know what I was doing. Oh, we're in a bad spot now. I mean, really, we have the advantage, but my confidence is cracked. Even a ki blast wouldn't kill from here. Look at the range difference, Yamcha's biggest weakness. No, every Yamcha player's nightmare being outranged by an inch. Oh, no. Outranged by an inch. And we panicked and lost. Oh, God, you hate to see it. You absolutely detest seeing that, dude. There's no better way to say it other than you hate to see it, really. That was insane. That was an insane way to lose the 2M. It was just a bad choice for me. I play a lot of Yamcha. It's hard to just say, wow. I can't believe I blocked that. That was crazy. Oh, God, we have to block against him going. Last time we got lucky, we didn't have to play too much defense against this character. But this time it's going to be a little different, I presume. There we go. We're in. That actually opens up people pretty well. Doesn't matter if you can't confirm off of it. Oh, jeez. Block all you can, folks. Block all you can and watch the dragon rushes. The only advice. Oh, no. We got caught by the beam assist. Looking for an easy way out and we just found an easy way to get combo. Yamcha, where you at? That was such a tiny space. All right, it's time to start thinking about who we want to bring in instead of Nappa. It's time to start thinking about who Nappa's replacement's going to be. If he lives. Oh, my God. Now, he'll live. He'll live. There's not too many options for him here. It can't even be worth sparking. Yeah, we're going to spark. It's simply, it's too much health. Uh, uh, uh, uh. There we go. We're back. Get it. Nappa, my boy. Let's go. Turn it around, Nappa. That's why you early spark sometimes. Now we have a character advantage and it's almost like Nappa never even got caught. Please catch. Thank you. There we go, baby. Uh, uh, uh. All of that. Okay, this should kill, but that's in case. Just in case. I don't need Nappa out. I did feel, but I really wasn't trying to play around. And if it didn't kill, it would have been so bad. So, uh, admittedly, that was mostly fear sliding. And it looks like it wasn't long for Nappa at all. The return of the king. He's back already. We just put a Simon down. Yeah, boy.  Oh, Nappa. Oh, I can't believe I didn't clap and that would have been the perfect ending. The clap would have been the cherry on top, dude. Oh, oh God. There's nothing I wanted more than Nappa to clap him right there. Nice overhead. I thought he was going to go with the auto combo mix. But, you know, that's what makes the auto combo mix so powerful. So you don't need to go for it all the time. You can just jump and make it, make it new. Oh, yeah, that was nice. That was nice. A little random, but I'll definitely take it. Oh, Goku. Were those Bardox jeans in you? Were you just smashing light for no reason? Because it ended up working out, baby. Oh, yeah. That was a good game. I mean, it was a random game, but... Wow, that was a good game. I got to remember that Nappa's not Bardox. I've been playing a lot of characters lately with lights that go into their 2M, no matter where they are. That's something I got to work. Whoa, whoa, whoa. That, like, took me out of the animation. Okay, respect. I respect it. I see that's what I was trying to avoid. See, this is why we try to avoid these things. I'm gonna switch. I like... Oh, God. Really? Whoa, that was a nice conversion. Okay, I'll give it up. If you can convert off a beam like that, you deserve to have the beam hit. In my humble opinion. Delay the light. You gotta make sure to delay the light there. Otherwise, it's just gonna be a bad experience. And Yamcha, you look like you had a lot of green health right there. Let me go ahead, tag in Yamcha, see if he hits the 2M. The 2M is Yamcha's best option here. Yes. Land it. I don't know if we're gonna be able to kill here. Probably not. Well, no, probably not. Oh, why did I do it anyway then? No bar. That would have made it so good, though. There it is. I was trying to bait that so hard. Oh, we actually hit it. Oh, we're getting trunks right back. Let me talk to him. He doesn't have an air level 3. Oh, okay. I understand. I understand. Please don't. Please don't.  What? Clap him. Somebody help? Get him out of here. All right. I panicked a little, not gonna lie. It was definitely tensing up. What was I supposed to do there, man? That doesn't have the best neutral. If I get DP'd one more time, it's just I'm retiring. I hereby retire from fighting Team Gohan's. I mean, every character that has a DP kid, oh, take this. Take this. Take this. Oh. Yes. I tried to armor. Got me down, got me down. But he's downsparking now, so at least we have that advantage. Unfortunately, Yamcha's not the character I would want out for this. Actually, Beam assist probably is good here, especially in a Beam assist and heavy matchup. Oh, God. All right. Get Yamcha out. All right. Beams against Team Gohan are very dangerous, because he gets very easily, never mind. He can EX leg over them, though. So you don't want to throw out too many beams against him, especially when he has bar. It's just a really fast way to get yourself into a Team Gohan combo. So I tend to just say the rule, no beams against him if he has bar. 6M? Oh, I tried it. This guy is getting hit by a lot of crossups. It's our best tool so far. Admittedly, it's pretty damn good online. It's a pretty good tool to have online. You've got to admit. Do we 2M here? I think we kind of just block for safe jump.  What a hit. Oh, no. Is this not going to kill? That should kill. Good, good, good. He wraps up game 3. We go 2-1. Okay, it does wrap it up. I was like, did I speak too soon? I actually didn't look at the health too closely. But nah, it does wrap it up. Now we're going into what could be the final game. If we play our cards right, we do need all the points we can get, even though we're not gaining too much. The motion risk are out here, man. He blocked. He just... Alright, he's going crazy on offense. Expect the dragon rush. That was nice. Good jump, good jump. I'm so afraid of the DP. I don't know if you guys can tell from my actions, but I'm not going for anything fake. I'm not trying to fade out any buttons. I'm literally just doing block string hold back. But sometimes it works out like that. Can we take sliding air? You know what? Let's get the beam assist out. What's so bad about the beam assist? Oh, nothing is bad about the beam assist. Get him back down. Let me have a talk to him real quick. Okay. Switch with a raw attack. That was nice. And he hit me on the bounce up. Oh, a lot of mistakes there. I should always try to down tech there. Big mistakes for me. It's only going to take one bar to kill Nappa, which is rough, super rough. But we got his character decently low. I don't know if we'll get him out in time to make use of that, but that was so slow. That was our slowest cross of attempt yet. Missed the air dash and everything.  Okay, we just sparked. Okay, I'll take it. A lot of bar being spent here, but it's hard to complain. We have to just kind of do what we got to do right now. It's going to be the longest road to come back. Especially now that we wasted spark so early. This is the long. Oh God, it's so long. This is going to be the craziest road. I drag and rush here. The one time he wakes up level three. Why would he do it now? Oh no, we don't have a spark. Is that why he did it? Okay. Please get level three. He did it. He had drag and rush. He stepped back with it. And BM assist. No, he's too slow. Wow. I can't even switch. I have too much blue health. I have to just block this. It was bad. It was a bad reflect. I thought the beam would be faster. Oh no, boys. It's over. Actually, no. It's far from over. Let's get it. Oh God. It's okay. We got all the blue health back. He wouldn't dare. Let's go. We down tech. He misses. Change the future. We're back in it. Okay. We're back in it. We have control. He's back in neutral. He probably won't use. That was a weird assist. Oh, no way. Cross this up. I've kicked. That was so good. That was so good. He can kill here if he spends the bar, but she probably will. No bar spent. Oh, he reflected. Oh, that was nice. All right, Goku. Can you do it? You have a decent bit of health, but I didn't leave you with the best of hands. Wow. That was ridiculous. Hey, Goku. How much power does level three pack? Can we get? If it's possible, can you do a quick little knockout here if you mind? Ken. Oh my goodness. All right. Ken Goku surpasses son. I made a lead. That was pretty random. Okay. I got to make sure he knows that I don't want him DPing. What? I'm trying to stall out as much time as possible. He's going to Super Dash. Yeah. I knew it, dude. He was so... You could tell with every one of my Super Dashes, he was like, why would he do that? That's so random. And you know what? It's random because it works, baby. Let's go. That's where I'm going to go ahead and wrap things up. Hopefully you guys enjoyed it. If you did, make sure to let me know down below in the comment section while you're down there. If you like the videos and you like the channel, make sure to hit the like button and subscribe. Other than that, there's a few videos on your screen. Make sure to check those out. If any of them catch your eye. I have been Dachadoia. Thanks again for watching this video and I will see you in the next one.


If evolution is true, cultural evolution is true, why is it that all of human history, we have these patriarchal systems, all of these cultures that are independently developing, they all came up with the same model of patriarchy. How do you explain that from an evolutionary perspective? How could something so dysfunctional and evil end up dominating the entire human history? Because they started out as hunter gatherer societies where you had the men playing the role of the hunters and the warriors because of a slight advantage in physical strength, whereas the women were connected to the children, the upbringing, the home. The roles were discerned that way and they don't have to stay that way. We adapt and improve.


and more you. I'm Jeff Ray, the executive director of business and technology. We're here demonstrating Omron's new wearable blood pressure monitor. It's the first and only wearable blood pressure monitor in the world. It's the only blood pressure monitor that... This is the watch. Wrong, it's a medical device. It may look like a smart watch and it may have some of the features of a smart watch but it is a medical device and it's a big distinction. So this does the same as something like this? It does. Actually everything that you see here is actually miniaturized to fit inside of this component, of this four-factor. That's actually the time, because if you're gonna make it look like a watch it should tell the time. But if I wanna take my blood pressure, what I would do is I would press the start stop button.  It is, it's gonna put it so there, it's gonna, I'll show you in a second. I would have to put my hand over my heart and any time you take your blood pressure at the wrist you have to put it at your heart level. That's interesting. And so it is now starting to inflate. Inflating smart watch, that's awesome. And before it finishes inflating I'm gonna give you a real quick close-up underneath of the band to show you it inflated but you're gonna have to look quickly because as soon as I move it away from my heart it's gonna deflate. So ready, give it a couple more seconds. One, two, three. So if you look quickly underneath there you'll see that it was inflating and now it went deflated and all the air has come out. Was that a good number you just got? Well let's take a look. So it told me it was 115 over 83. You'll notice that they're color-coded. So the 115 means that that's good. That's my systolic. That's when my heart is actually contracting. My diastolic, the lower number is when my heart is at rest and that should be below 80. So because it's higher it's red. Because of the sweets in the air. I think maybe just because I'm talking to you you make me nervous. So then it also has your pulse rate but on top of being a blood pressure monitor we also include activity tracking.  You find those in a lot of fitness trackers. Same with sleep. You can track when you went to bed, when you woke up and how many hours you had of restful sleep but Armand takes it actually a step further and we actually take your blood pressure during the night while you're sleeping. No way. Nobody's doing that. Nobody's doing that. And really. Nobody wakes up, I mean not sleeps with this on this arm. But you can sleep with this. Is that important to take it? It is, so you've probably heard that most heart attacks and strokes happen at night while people are sleeping and so what we want to do is be able to equip people to know what their blood pressure is at night so they don't have that surge in blood pressure when they're waking up in the morning when heart attacks happen. So by wearing this and understanding am I having a spike in my blood pressure as I'm waking up every morning? You can have a conversation with your doctor and they can change your treatment program or your medication to help deal with that. So what's the hold up with FDA? I mean is there any? So because it's a medical device this is very serious. You have to do clinical studies. For how long? So they usually can take anywhere from about two months to do the clinical studies but then we publish them and we let the medical community, the physicians out there, they review it and they give their stamp of approval that they agree that this device should be used with patients and then we submit to the FDA. The FDA looks at all of the data that we have collected and then they will clear. People always think the FDA approves devices. They do not approve. They clear devices meaning that they confirm that it does what we say it does. So how long ago did you submit it to the community and FDA? So we've collected all the data we're actually submitting at the end of January. It will take anywhere between three and five months for it to get to the FDA and once they do we will go into selling the product. So at the end of January three you're going to submit to the community of physicians? So the FDA? We've already done that. So now we're going to the FDA so starting from the beginning of February take three to five months to get approved and at that point we will then go into selling the product. So the physicians think it's awesome already? We've already got the clearance from the physicians. They think it's accurate enough What's the difference between the accuracy of this one and of the wristwatch? Are you the same number? So when it comes to the standard of how you have to prove that you're accurate they don't make a differentiation between a wrist monitor and up or arm monitor. There's actually only one standard that you have to prove that you're accurate by and that's what the FDA looks at is are you as accurate as the international standard for accuracy? So for this to pass the FDA they have to agree that it's just as accurate as that device. Is it? It absolutely is. Absolutely is. According to our clinical studies we're waiting for the FDA to clear it and agree with that. Cause that's a huge deal, no? Are you gonna... How much is the price? What are you gonna sell for? So Armon has been making blood pressure monitors for 40 years so we've been doing this a long time. Not much. Absolutely, but the technology's the same. The only thing that's different is we've miniaturized it. So we think that this should be something that the FDA recognizes Armon as a leader in and hopefully will clear us pretty quickly. As far as the price goes we'll be launching it later in this fall. Pricing will be less than an apple wash so if you took a $400 apple wash will be significantly less than that and somewhere around the price point of all the other wearables on the market. It's like a no brainer, right? Actually everybody should get it even people that don't have any heart problems. According to the American Heart Association which just changed their guidelines two months ago there are now over 103 million people in the United States that have hypertension. All of those people need to be monitoring because half of them don't know they have hypertension. 103 in the US? 103 million people in the United States. In just the United States. A third of the US. One out of every two people. One out of every two. Of adults. Oh yeah, there's babies too and stuff. They don't need it, right? So one out of every two adults have hypertension and so all those people need to be monitoring because half don't know they have hypertension and even the half that do medication only works half the time. So you need to be monitoring because being aware of your numbers is the first step of being able to manage it. That saves lives. Absolutely. Right, so 2018 is happening. Less than 309, less than 400. I was thinking less than an iPhone X would have been okay but less than an iPhone watch. Well, we want as many people as possible to be monitoring and using this so we're. It's not running into some Android stuff, right? Nope, it's actually that the operating system is a proprietary system that Omron created. You don't want to run Android Wear together with it or something. Nope. That would be confusing. Not only that, but we want to be able, there's a lot of intellectual property that goes into developing something like this so we want to make sure that we're protecting that so that's why we've built our own operating system. You don't want to have a proprietary app with Android. That's not us, you don't like that. So we're compatible with and we'll be sharing with both iOS and Android but we don't actually utilize their system to run our heart view. You don't have notification vibrations or anything like that? So there is, and actually look how strong it is. So I'm going to go to the vibration. I want you to put your finger on the watch and you can actually feel, so put it on there, feel how strong that actually is. So very strong vibration. Or messages. Emails or a text or an incoming call so notifications are on there as well. Nice. I think I can go soon enough. I think everybody should get one of those. And it should have been the Christmas 2017 present. Now you sound like my CEO.