So, we are discussing 32 bit bits ISN, hopefully we will finish up today. Just to quickly remind you, we looked at these ALU instructions. We talked about the limit on 20 point instructions. We also looked at the memory operations. There are only two types, loads and stores. And also we talked about how to synthesize direct addresses in a movie. And we talked about the special instructions, load word left and load word right. Similarly, you have store word left and store word right, store word right. So, we started talking about control transfer instructions. We looked at jump instructions. And there are two types of them. One is unconditional jump and procedure calls, where the target is computed like this. The target, this comes from your instruction. These are 26 bits. And your upper four bits come from the next piece. And for indirect jumps, when the target is not drawn, you usually use JR, that is jump register or jump and link register or JALAR instruction. And both take a register operand where the target is found. So, procedure return is written, we use JR with dollar 31 as your argument. So, dollar 31 is actually result for storing the written address. So, any questions so far? So, there is a sheet of attendance circulating somewhere. So, please sign if you are registered in the course. So, what else do we have in control transfer? Of course, we have conditional branches. So, here as we discussed earlier that there are two parts. One is your condition, that is usually it is a comparison. And you have the target, if the condition transfer to be true, which way it will go? So, all conditional branches are compare and jump time. So, in MIPS, you usually fuse these two links, that is single instruction. It is not like you compare in one instruction and then you jump in the next instruction. It is not like that, it is actually compare and jump, fuse to that. And you always use PC relative immediate offsets. And these offsets are always signed in statement. And the reason is obvious because you may want to go forward or backward. So, you should be able to do both. Unless you do a sign extension, you cannot sign negative offsets. So, here are the examples. This is not the exhaustion list of conditional branches.  Nonetheless, so DEQ stands for branch if equal. So, here what it means is that if dollar one is equal to dollar two, then your target is this, PC plus four plus 100 shifted by two. So, notice that here we are mentioning the offset ignoring the last two bits because we mentioned that last two bits are always zero. So, there is no need to at least specify this. And we do not add it to PC, but to PC plus four, because of the same reason we used PC plus eight in there. So, does anybody remember this one? That my return address was PC plus eight, when you took a procedure, instead of PC plus four. So, we actually skip over one. So, we talk about this today. In fact, in this slide I think there is one. So, just remember that your offset is already equal to PC plus four, not PC. P and E is similarly the opposite of that. Branch if not equal. BG is at branch if greater than equal to zero. So, dollar one if it is greater than equal to zero, then you should go to this particular target. Branch less than equal to zero, branch less than zero, branch greater than zero. So, notice that only these two cases you will be comparing two registers. In all other cases one register gets compared against zero. However, if you want, you could actually synthesize these using two instructions. For example, if you want to let us say, for example suppose if you did not have these instructions, that no, not this one, let us suppose this one. BNTZ, branch less than zero. What you could do is you first would compare, you first would execute a set less than immediate instruction. Where your instruction would be SLTI, dollar one, let us make it a different register, dollar one, dollar zero. Essentially what we will do is it will set dollar two depending on whether dollar one is less than zero or not. Then you could actually use BQ or BNE to figure out whether the comparison possible. However, that is not needed. So, we have actually fused these two. So, they gave compiler more freedom in choosing instructions. All branch and jump instructions have a delay slot. So, right now I only have to explain why this is so. But what this means is that the instruction right after a branch or jump instruction is always executed. So, you have a branch instruction, you compute your target. Suppose the condition is that you should go to that target. But before going there, you will execute the next instruction. So, it is as if the effect of the branch is delayed by one slot. That is why the name comes, the delay slot. Is this concept clear to you? So, we will find out why this was required actually. This is one example where how your pipeline structure influences what the compiler sees. Because here now, compiler also will have to know this, that oh, the instruction after the branch will always be executed. So, the compiler's job would be to fill up that particular instruction with something useful. So, instruction right after the jump for branch is always executed. Now, that explains why you should add it to PC plus 4. Because it is as if the branch instruction was actually at PC plus 4, not at PC. Similarly, the procedure return address should be PC plus 8. Because the procedure is a PC procedure call. The PC plus 4 is always executed. You should come back to PC plus 8 when the procedure completes. Any question? Sir, for other instructions, when the PC gets updated? Sorry, second. For other instructions about two branches, when the PC gets updated? When we are not at this point even thinking about when. We will not answer that question. Because we do not have any emotion or time at this point. We are just looking at functional outcome of the program. We are just trying to explain what an instruction should be. How long it takes? When what happens? I am asking this difference. Just you fetch the instruction and you have the next PC. Right. So, you can think of it like that. If you fetch the instruction, execute the instruction 0 time, you update the PC, fetch the next one and so on. Everything happens in 0 time. We will bring in time when we try to implement the instruction set. That is why the time will come into picture. Any other question? So, here is an example. Let us try to walk through it. So, here we are doing a search. Essentially building a histogram. So, count is initialized to 0. And I run over a sub array. It starts at a head, index head. And we run over till we reach n, looking for a particular key. And you count how many times a key updates. These are very basic part of building a histogram. So, just for the sake of example, I want to show you the assembly program. You follow what really happens. So, let us assume the following allocation that the compiler has done. Suppose, count is in register 5. The loop index i is in register 6. Head is in register 1. The start address of A is in dollar 2. Key is in dollar 3. N is in dollar 4. And A is in visual array, which means each element is 4 marks. So, compiler has already allocated these things. And it has set up this particular scenario. Now, let us see how the loop executes. First, what is this doing? The first line, dollar 5 is count. Initializing to 0. So, dollar 0 is hardware to 0. So, it is just adding 0 to 0 to get 0. So, that is initializing dollar 5. What is this doing? Dollar 1 is head. And dollar 6 is i. What is it doing? So, it is doing this i equal to head. Then moving head to i. Then we start the loop. We first check, first compare dollar 4 and dollar 6. And if dollar 4 is less than dollar 6, we set dollar 9 to 1. So, let us see what is this. Dollar 4 is N. And dollar 6 is i. So, what is it doing? It is doing this. i less than equal to N. And if that is so, then it checks if dollar 9 is not equal to dollar 0. Then it exits. So, when it could be not equal, it could be 1 in that case. It is dollar 9. If dollar 9 is 1, that means we have already reached the loop bound. We should exit. And jump to exit and do something. So, after the loop, whatever. Sir, it should be less than equal to N. Less than, there is no less than equal to. So, you are saying this is not going to work, is it? i less than equal to N. Dollar 4 is N. No, it is just inverting this comparison, right? So, that is ok. Sir, it is not equal to less than equal to N. It is just inverting this particular comparison. i less than equal to N, inversion of that is what? N less than i, right? That is exactly what this is doing. It is taking the other way. So, that is why you get this BME. Is it very easy? Alright. So, next, what do we do? So, remember that this instruction is a delay slot of this BME. So, it will always be executed. In this case, it does not really matter. Because this branch will be taken exactly once. It is a kind of like when the loop is done. At the end, this branch will be taken. In other words, in all other cases, it will actually just penalty. So, dollar 6 gets shifted left by 2 positions. So, what is dollar 6? 6 i shifts left by 2, puts it in dollar 7. So, that is if you are saying dollar 6 multiply by 4, right? So, we will try to understand what it is doing. Let us see how it uses dollar 7. Then we will understand. It adds dollar 7 to dollar 2 and puts it in dollar 7. Dollar 2 is what? Base of A. So, what is dollar 7 now? Can anybody guess? It is address of A i, right? Adress of A i. So, then it does a load. Loads from dollar 7 to dollar 8. So, now we have dollar 8 contains A i. Then it checks if dollar 8 is not equal to dollar 3. What is dollar 3? Dollar 3 is key. If it is not equal, then it goes to next, where it just takes me back there. So, essentially this is the nth spot. There is no nth spot. So, it just goes back to the next time question. Remember that this instruction is in the delay slot. It will be executed. And here it actually increments i. So, i plus plus is putting the delay slot. That is a very useful way of using the delay slot. Otherwise, you will be actually wasting another instruction. So, you go back here.  Because if you are here, that means you actually got the key, right?  What is j? Jump loop. That is an unconditional jump which takes you here. No, that is the mnemonic used by loops j. So, j means it is an unconditional jump. Any question on this? No, that means no operation. So, can you even guess why is it here? It does nothing. Because that is the other execution of the operation. Exactly, right. So, this is the delay slot of jump, right? And compiler could not find anything to fill in this slot. So, it just puts a knob instruction. So, in essence when it executes, it will actually waste one instruction. So, this is why the compiler becomes important. The compiler should be able to find something useful to put in the delay slot. Otherwise, you will end up wasting this delay slot. So, in this case the compiler could find anything. So, it has to put a knob. When you cannot execute an arbitrary instruction here, it will let me change the correct execution. Any other question? Clear? Okay, proceed your call. So, every instruction set comes with a calling convention. That is what really happens on a call. So, specifically it tells you how the parameter should be passed, number one. And how the stack should be prepared for the procedure. So, in this case in MIPS, parameters are passed in registers. So, if you have four parameters, you can pass all of them to registers. Whereas MIPS results four argument registers. But of course, you can have procedures that require more than four parameters. If you have more parameters, they are split on the stack. You pass that to the stack. Compiler tries best to allocate local scalar variables in registers. Stack is used for spilling. So, in a procedure if you have local scalar variables, that is non-arrays, the compiler will try to put them in the registers. So, if you have a lot of registers, in this case, there will be a lot of registers. There are two dedicated general purpose registers. That point to top of the stack called the stack pointer. And start of the procedure frame called the frame pointer. So, procedure frame is essentially a sub-portion of the stack. So, the frame pointer points to the starter cluster. So, we will see one example. And there is something called a global pointer where global static scalar variables are allocated. So, there is a 64 kilobyte static area at compile time. And the global pointer points to the start of that region. And it is always accessed with dollar GP plus some offset. These are determined at link time. Because the linker actually establishes exactly where the global segment will reside in the network. So, these offsets get determined only at the link time. It is a memory that clearly you have stack pointer register, frame pointer register, global pointer register. You have four argument registers. And local variables go to registers. Otherwise, there is build, extra argument and speed on the stack. So, pictorially, this is what it looks like. You have the address grows in this direction. You can see that, right? So, this is zero. This is the highest address. This portion is reserved for kernel in the operating system, right? This is usually called the text region where your code lies. So, this is where your program will be loaded. Then comes the static data. So, static data means the global data and whatever local variables you have. Sorry. This is just the global data. That is the global pointer data. They have dynamic data. This heap, which grows out. And you have the stack, which grows down. And you can imagine what will happen with the stack and the heap code. Then there will be a catastrophic action. So, which is why that is exactly what happens when they are about to collide. The operating system will raise the alarm. The alarm of memory normally is here. Is it clear to everybody? So, usually, so you can calculate actually. If you calculate that particular number, it will come to about two gigabytes. So, these are region, although I say that it is going to kernel. So, what it really contains is basically the interrupt handlers. So, often this is also called the whole thing is the user space. But you cannot really access this region. You have to go to the operating system to access this region. So, here your kernel real doesn't reside. What resides is basically the interrupt handlers. So, upper 2 GB is the kernel space. That is why you are actually kernel code resides. Kernel code 100 data and all this is the operating system data. So, that is the upper 2 GB. The lower 2 GB is the user space. I have just shown that. On processor reset, execution starts at that particular address. That is where it resides. When I push that button, the program counter goes. The program counter gets loaded with that particular constant. And that is where it will start. And stat grows downward while hip grows upward. So, if you actually take this constant and try to find out why it actually resides, it finally resides in this upper 2 GB area. So, it is really the kernel space. That is where it will actually start from. The processor gets reset in the kernel space. Kernel takes up your control and finally, hands it over to whatever program you want to run. Yes. What do you actually mean by processor reset, sir? So, you have this. So, when you boot the machine, where should my control ports go? When will you start the system? Yes, exactly. So, when you boot the machine, the program counter has to get something. That is why the first instruction gets executed. And that is that address. This is the first instruction. And usually, you will have the bootstrap loaded there. So, this is the place for MIPS. It is not, of course, not for any processor. So, what is the register convention? So, we talked about this 4 argument registers. So, here is the full register convention for MIPS. So, there is no convention specified for floating point registers. So, only convention are specified for integer registers. So, dollar 0 is hardware to 0. It is actually not implemented as a register. Whenever you ask for dollar 0, the hardware will actually provide it with all 0 constant. Dollar 1 or dollar at is reserved for assembler. So, often you will find that, well, in this course, although we will not be looking at MIPS, if you ever get to use a MIPS compiler, and if you try to disassemble the compiler code, it has subtle mnemonics called LA, which is actually not a MIPS instruction. So, it is often used to load constant absolute addresses. That is what it stands for, load address. So, assembler's job is to convert those two to whatever sequence of instructions that we synthesized last time. Dollar 2, dollar 3, or sometimes called dollar v 0 and dollar v 1 are return values of function with upper 32 bits in dollar v 1 and lower 32 bits in dollar v 0. So, we can return a 64 bit value. Dollar v 1 also holds a system call number before executing a system call. So, dollar v 1 has a dual cost. So, in one case, dollar v 0, dollar v 1 together will specify your return value. If it is a 64 bit value, if it is a 32 bit value, then only dollar v 0 is enough. And dollar v 1 is used to hold the system call number before tapping to the operating system. Dollar 4 to dollar 7, or sometimes written as dollar a 0 to dollar a 3 are procedure arguments saved by the caller. That is very obvious. They have to be saved by the caller because caller is actually going to set the arguments. So, before setting the argument, you can save the argument registers and set them. Dollar 8 to dollar 15 are called t 0 to t 7 are temporaries saved by the caller. So, these are the callee or the procedure is free to use these registers. That is what it means. It is saved by the caller. Dollar 6 to dollar 23 or dollar s 0 to s 7 are callee saved registers. So, what that means is that caller can actually keep the values in these registers unchanged and then forget about them without even worrying about them because it knows that if the callee wants to use these registers, it will be saved and it will be reserved before return. Yes, yes, yes, they actually happen on stack. It is same on the stack and pop from the stack. 24, 25 or t 8 and t 9 are two more temporaries used for the same purpose. 26, 27 or k 0, k 1 are reserved for kernel. If the kernel ever requires any registers for any purpose, it can use those. 28 is a global pointer, 29 is a stack pointer, 30 is a frame pointer and 31 is a return address. That is a complete register map of course. Clear? Any question? So, this is very useful because for example, if the operating system gets a system call, it knows where to look for to get the system call number that is dollar view. So, that is the purpose of mentioning a convention. So, little bit of register saving. Caller saves the registers that are not preserved across calls. Of course, needed only if caller wants some value to be preserved. So, before calling the procedure, save the registers and these are the ones that are caller saved we just mentioned. Callee saves the registers that are required to be preserved across calls. Needed only if callee uses these registers. So, these are the callee saved registers. So, these are of extreme importance. If you do not save these, you are going to mess up the execution. So, the global pointer may be restored on a procedure call. Stack pointer may be restored on a procedure return. Frame pointer same with return address. Because if you have nested calls, return address should must be come up appropriately. The MIPS GCC cross compiler, native CC compiler do not use frame pointer. So, in that case dollar 30 is treated as callee save basic. So, frame pointer is usually not used. I am showing you a code without the frame pointer. Question? So, let us see what happens on procedure call. Yes. So, if we have greater number of arguments in that. Yes. So, 4 arguments can be passed in 4 registers. The remaining ones will go on the stack. And then we pop from the stack pointer. So, what does the caller do? It saves the caller save registers it needed. It loads the arguments. First 4 in dollar 80 to dollar 83 raised on stack. And then call JAL or JALA. So, JAL is a direct procedure call. JALA is an indirect procedure call. JALA will have register argument where your target will be there. What does the callee do? So, in this description we use the frame pointer. Because that is easier to explain. It will first save the frame pointer at the top of stack. That is 0 dollar speed. Allocate stack for frame. So, it will essentially what we do is that remember that stack grows down. So, it will bring the stack pointer down by frame size. Now, essentially what we will do is what we will do is we will use. So, stack pointer was here. We will bring it down here. So, we will use this area for the procedure. It has a procedure frame. So, compiler knows the frame size for this procedure. So, it can actually calculate what it is going to do. So, with the callee save registers it needed before we start doing anything. Adjust the frame pointer to point to the beginning of the frame. So, what is the beginning of the frame? This stack pointer we add the frame pointer subtract 4. Why subtract 4? Why subtract 4? Because stack pointer is pointing from that. So, our stack pointer was here. This is my frame. So, I bring the stack pointer down here. And then I want the frame pointer to point to here. So, that I can use the. So, what I am doing is I am leaving out the top 4 bytes. Why is that? Is it? Internet address is already. Internet address, what am I? Why am I leaving out the top 4 bytes? Or maybe it is there. Just read it carefully. What is there? At that location. Frame pointer, exactly. I just saved the frame pointer there at zero dollar ST. I cannot overwrite that. So, that is why I have to leave out the 4 bytes at the top. Is it clear to everybody? What happens on return? By the way, somebody was mentioning about return address. Keep in mind that return address is not on the stack. It is in the register in MIPS. That is dollar 31. That is dedicated to store the return address. So, when you do a jump and link, part of this instruction is to put the return address in dollar 31. What happens on return? Call it places the return value dollar V0 and dollar V1. It is a 64 bit value. There is more than one function called also because we call that. Yes. How do we do that in MIPS? We are not storing in a stack. We are not storing in a stack. Yeah. How do we end up with that? Right, exactly. That is a very good question. So, the answer is here. Call is saved registers have dollar RA. So, if the call makes one more function call. That means it is going to modify dollar RA. You will have to save dollar RA. So, you put it on the stack and then put the new return address in RA. So, yes, you are right. If you have nested calls, the return address will actually value stack up in your stack down in your stack. So, what happens on return? Call it places the return value dollar V0 and dollar V1. It is a 64 bit value. Restore any call is saved registers from stack. Pop stack frame. So, SP plus SP becomes SP plus frame size. So, you are not bring it up here. And then execute JR dollar RA. Dollar RA contains your return address. So, this instruction will modify your program counter to be equal to the content of dollar RA. Any question? Proceed your call. So, this is what it looks like. I just show it to you here. So, these are your arguments coming from the caller. So, this is after doing all these adjustments. Stack pointer was pointing here, was brought down here after subtracting the frame size. So, frame size a frame contains call is saved registers and speed local variables. The compiler will have the responsibility of calculating this exactly, how much is needed. Usually the compiler actually overestimates this. You will find in examples that we showed. And then it will bring up the frame pointer here and then start there. And when the procedure returns, the stack pointer will be brought up again here. So, that the caller sees exactly the way the stack pointer was when the procedure was called. So, here is an example, factorial with the recursion. So, this is the C code. Any question on the C part? So, if n less than equal to 1, that is when we start unfolding the recursion. Otherwise, we return n times factorial. So, here is the code. So, let us try to understand what is happening. So, this one does not have any frame pointer. So, this is taking directly. So, I essentially fade this C code to a mixed compiler. And this is what it generates. So, you do not have any frame pointer. Because mixed compiler does not use frame pointer. So, the first one adjusts your stack pointer. So, it calculates that I will require 40 bytes for this particular procedure. Then what do I do? I store dollar is 0 into 24 SP. So, we will see what it contains. Currently, the whole intention of doing this is that s 0 is a callisab register. And the function wants to use s 0 for some purpose. That is why it is saving this register on the stack. Then it moves a 0 to s 0. This particular instruction does that only. It adds 0 to a 0. A 0 is the, what is a 0? What is a 0? Laura, argument, what is it in this case? N. N. So, dollar is 0 should contain n. So, I am just moving n to dollar is 0. Then I compare s 0 to 2. Set less than immediate. If dollar s 0 is less than 2, which is exactly same as doing this, n less than 2. So, I store the value in dollar v 0. Dollar v 0 is the return value. If n less than equal to, if n is less than 2, then the return value is 1. That is exactly what you are doing. Then if not, I am here. Well, I have not yet compared. I have not yet checked anything. So, now I come here. I put the return address on $32. Save it on the stack. And then I check what happened to v 0. If it is not equal to 0, that means this comparison was actually favorable and I jumped to level 1. So, what do I do in level 1? Well, actually this was not really needed. It just moves 1 to dollar v 0. And then pops r a from stack. Pops s 0 from stack returns. And here it adjusts the stack quantity in the delay slot of the return. All right. Is this path okay to everybody? From here to here to here to here. Sir, are you supposed to have it to s 0 to y? Why do I put it? Yes, exactly. So, actually in this path this is not needed. But it was just preparing for this particular call. That is all. You are right. Is this clear to everybody? The genesis of this, synthesis of this particular statement. This is this one. All right. Also notice that this is going to be in the delay slot. So, it also saves global point on the stack. So, again preparing for the recursive call actually. So, notice that the compiler actually prepares itself for the common case. That is in most cases there will be a recursive call. Gases that actually. Then it does decrements s 0. Prepares this argument in minus 1. All right. And then calls factorial. Jump and link factorial. Nothing to put in the delay slot. It puts a no off. The return will be here. The return will come back here. Do the multiplication s 0 with v 0. v 0 is the return value of factorial. Multiplies that with s 0. S 0 contains n at this point. So, it computes this one. Moves the value from low to v 0. So, since I have a return time of e t here. It knows that it is a 32-bit value. It does not even care about what is in height of multiplication. And then jumps to level 2. This is essentially preparing to return. So, that is the question. All right. So, my last slide. We are done. So, in summary we have three formats of bits instructions. All the instructions are 32 bits in size. Off-code is always six bits. The upper six bits are off-code. And this is six bits. So, how many instructions do I have? So, what are the three formats? The first format is called the registered format or ALU format. So, let us suppose this is my ALU format. So, this bit will be all here. It dedicates the lower six bits to specify a function. So, you can have 64 different ALU functions. And then you have to specify your source and target registers.  So, you have the s a is the shift amount. So, remember that you have this shift left, logical, shift right, logical, shift right instruction where you mention an constant shift amount. And of course, since my registers are 32 bits. It is a 32-bit ISA. Shift amount cannot be more than 32. That is why it is 5 bits, the shift amount. And then I have the destination register. That is r d, which is also 5 bits. And then I have two sources, r s and r t. That is the ALU format encoder. So, what is the trigger for the decoder? Decoder looks at the off-code. Since all zeros knows that it is an ALU instruction, looks a funk, knows what to do, extract the sources. If the shift instruction will extract the shift amount, do the computation, put the result in register r d. So, these are all 5 bits because MIPS has 32 integer registers. So, this is only the integer instruction format, by the way. I am not even showing the coding format in the instruction format. You can look it up in C5, it is there. Any question on the ALU format? So, this is called the register instruction format because it operates only on registers. So, it is an immediate format. So, this one takes an immediate constant as part of the instruction. So, this can be arithmetic instructions like your add immediate or your or immediate. It can be branch instructions where you use the immediate field for specifying the branch offset. It can be load stored where you specify the displacement in the immediate field. So, anything that uses an immediate value. Different off-code for each instruction. So, it is not like this. So, the format is that you have to off-code here which is 6 bits. Then you have r s and r t in exactly same positions. 5 bits each. So, how many bits are left? 16 bits. This is the immediate. So, decoder looks up the off-code and knows what this instruction is. Like it could be an add instruction, it could be a branch instruction, and treats the immediate accordingly. Either 0 extents or sign extents and whatever way it needs to be written. R s is the first source or base and r t is the second source or result. So, what does this mean? So, in the cases where, so in most cases this immediate will be one operand. And will require one more source operand and that will come from R s. So, it is the first source. Or if it is a load instruction, R s is the base address. If it is a store instruction, R s also is the base address. R t is the second source. Can you think of an instruction where R t would be the second source? An instruction that uses an immediate value. So, I just mentioned that the immediate value should always, should already be an operand for this instruction. And R s is the first source. Why should it be one more source? So, in most common case, R t would be the result. Like for example, if you have an add I instruction, you add the immediate with the content of R s put the result in R t. In what cases you have a second source? So, of course, that will tell you that in such instruction there cannot be any result as such. Because there is no place to store it actually. Everything is exhausted. R s is the source, R t is the source. I do not have any other instruction to store. What is such an instruction? What instructions do not have a registered value to be included? A registered result as such. Sorry. They do not have a result. They have only 2 and 4. That is a result, right? You do an OR operation. I do not understand why you said 2 and 4. It is an OR operation. So, which one you are writing? Multiplication. Do not make some multiplication with this. Multiplication is a different thing. Multiplication does not have an immediate. Some instruction that uses an immediate value, but does not have a result that goes to registers. Sorry. Jump format is the last one. We have not yet got there, but you are close. Yes. Procedural costs are also in the last format. Conditional branches, exactly. Thank you very much. Conditional branches, like for example, if you take B, E, Q, it will be comparing values in R s and R t and using the immediate for the branch target offset. So, this is an instruction where the outcome is not written back to any register. Outcome is used to update the PC media. Anything else? Is everybody clear about that? B, E, Q and D, A, G. These are the two branch instructions where you consume both the sources. There is no problem. Any other instruction that would have an outcome written back to register? What about store operations? What do they do? What do they do? So, I tell you that the store operation falls into this category. How will you tell me the address? The answer is already there in the slide. You just need to read. How will the store instruction be? R s is the base. R s is the base, alright. R t is the base. That is what you think? R t will be the offset? R t. How many of you think R t will be the value immediate for the result? R t is which value? Which value? Very good. Thank you. So, your address will be R s plus sign extended immediate. And R t is the value that will be stored. By the way, we are not really storing R t. Although, I am repeatedly saying that I am storing R t. I am storing the value in register R t. Like R t will have a value like 20. So, I will go to register 20 and store that value. Okay. Remember, alright. Third format is called the jump format. So, this is immediate format. So, this is used for direct jumps like J and JAL. Essentially, these are the only two instructions that fall in this category. Here you have an opcode, 6 bits and a 26-bit target. So, you can jump across 64 million instructions. That is it. So, that is your MIPS. So, now you can calculate how many instructions the integer side has, right. This is 65 plus 64. So, you have 129 instructions. Actually, all of these are not used. So, just I just want to re-emphasize the fact that MIPS is the risk ISA. So, the philosophy was to be minimal. You have this set of instructions. As long as you can do pretty much everything more or less efficiently, you are fine. So, it is not like you should provide one very complicated instruction which is going to be used in 1 million instructions. That is not really good. You support the most common instructions, common news instructions. The remaining ones you should be able to synthesize. So, you are saying that if you have a constant that is more than 16 bits. Well, that is what we discussed last time, right. How to synthesize larger constants. Yes. That is the only way. So, should we start now or what do you think? Yes, only 5 minutes left. Maybe next time we will start. So, there is a sheet of attendance start writing out the sign before we leave. And so, next time, Sudhanshu is going to talk about binary instrumentation too that will be used for in our homeworks. You understand x86 instructions in architecture. So, that is what we will do in the next class. Okay, thank you.


We're ready. Alright, welcome to the entrepreneur power hour, where we inspire the world's entrepreneurs, teach them fun things, and sometimes heckle them. Not too much, we wanna be nice people. See, we're all nice people. Today, we're gonna talk about 10 harsh lessons. It's an article from entrepreneur.com, and these harsh lessons are gonna teach you to become a better person and a better entrepreneur, and maybe make you cry a little bit. Today, we have Chris Peters, Michael Wallace, Dan Sissick, good to see him back. Fran Richardson, Bill Maybauer, always glad to have him. Yeah. Alright, you do have the article up. I do. So guys, number one, the first lesson is the first step's always the hardest. So whenever you wanna achieve something important, the first step is inevitably gonna be daunting, frightening, but when you fake that first move, anxiety and fear dissipate in the name of action. So what do you guys think about that? Do you think that's true? Do you think that when you take action, fear and anxiety start to take a back seat and kind of just fade from your conscious awareness? Cause I know that's what happens to me. Of course, I don't get scared of taking action anymore, I just do it. Cause I mean, that's what I do, so I just go and I do it, whatever happens happens, and I just go as I do it, go as I go. Do come as I, I'm tired tonight, just somebody else talking. Oh man, come on, you're like, take action. Oh yeah, I'm tired, I'm tired all day. But yeah, like Ford, right? I mean, Henry Ford, whose first two automobile businesses failed, right? So when he started the Ford Motor Company, he was already 45, and then there was author Henry Bernstein, who dedicated his entire life to riding before he landed his best seller at the age of 96. So when you finally do succeed, realize the journey was the best part of it. So that's how I feel. This is good stuff. I feel it's difficult to actually get up and make the first step, because for me, that's always been the hard part. It's not been giving that speech or going to the gym or getting on camera.  And then I would think so many ideas that are kind of like, oh, it's a rough day, I don't have to do it, I don't have to take action. I'll do it tomorrow, things aren't lining up. And through that thought process in the past, I always stopped myself from actually doing something I wanted to. Recently, I saw my friend trading some different things. I was like, wow, I'm just gonna do it. Okay, I might lose money. Trading back differently, assets, whatever. I'm gonna give it a shot where before I'd be like, well, is that really a good idea?  And it's awesome, it helped me become a level one seller on Fiverr, and it's helping get more content out there. It's helping me get better with Camtasia. So yeah, just taking that step of like, okay, here's a program, here's an issue, here's a speech I wanna give, I wanna get better at lifting. I think most recently. Ooh, lifting, yeah. You're gonna start taking steroids now, Kareem. Yeah, I'm gonna call on the power out. You can just put your own people heads off. Yeah. A lot of people will have a special one, how to juice on the power out. I'm like, I'm here with Arnold Schwarzenegger. Oh, that's awesome. But it's just taking that little step of just clicking the Zoom link today, the first action so give yourself a pat on the back guys. Sure. Right Dan? Yeah, Dan was busy last week so. He's famous now. He's going to do it. He is. I just have lots of personal things going on in my life and things like that and I'm involved in a big event with my church right now so that's good. Tell us about that. How's that going? You were talking about that to me on Facebook just before the call here tonight so I mean what's that all about and how's that going for you? Well what it is is it's called Convoy of Hope and we partnered with them the last three years. This is our third year doing it and first year we touched like a little over 7,000 lives. Last year we touched over 10,000 lives here in the Las Vegas community by offering free services, free Thanksgiving dinners, grocery bags, services for the veterans and stuff and things like that, people that need assistance or trying to figure out where to go get assistance and stuff. It was all provided through our church and Convoy of Hope who helped us with that and so this year we're going to be trying again to touch over 10,000 lives. I myself and them as assistant leader and Karim will love this. I'm in charge of all the costume character people that I have a full body costume of Garfield at Scooby-Doo and the Scarecrow and me being a Garfield freak. I love being Garfield so people know that that's me and that's what I'm and I love kids so in that they asked me to take on being the assistant leader for that and this was my third year of doing it. I love it. It's just a big thing and love being able to give back to my community as I'm working and doing things and putting out and I'm not expecting anything back. It's just good to just put it out there and I'm being a part of something that's helping a lot of people and do something positive out there for the whole community. That's really cool. When you can get involved in something like that and you can help less fortunate people it makes the world turn their heads and look at you. It inspires people to go, if that guy can do it, what's stopping me from going and working in a volunteer facility and serving meals to the homeless or picking up a cat off the street and finding a home or whatever it happens to be.   It's just stuff like that that really becomes second nature now for me. I just want to help people including people that I may not know. It doesn't matter. If I see a guy that's homeless and he's not in front of a liquor store, I'll give him some money to go get some food. Because that's important. We all need to be doing that. Everybody needs to be doing that if we want to change consciousness. Starts with giving, showing people that you're different than everyone else who may have passed you by or drove and by or whoever. Whatever it happens to be, I just do it. I think good things take time. Success above all requires time and effort. Author Malcolm Gladwell suggested the mastery of anything requires 10,000 hours of tireless focus.  Because you need to put in 10,000 hours. That's a long time. Yeah. I have that book. I actually have that book. I was going to say, that's something that I had a hard time putting out there and getting involved with because like we're talking about the 10 harshest things for entrepreneurs or taking action or just stepping out. This is a result of me just stepping out through my church starting about seven years ago when I started helping go feed the homeless once a month with my church. We would just go down and do it all, our church on our own doing it and doing it once a month every month. So that kind of opened that door and opened my heart in that sense. But it took me taking that action, taking that step forward. And so it's made it easier to move into other things. So now as I do other things and try to move forward and like building my business and building my, you know, going after my dreams, that's part of what I look back on is like, you know, it's everything I built up in front of it, ahead of it, thinking, oh, well, what if this or what if that or this or, you know, all these different things happen rather than, you know, I just did it. You know, I just finally said I'm going just like when I wrote my first blog post after I built my website, which I'm having to rebuild my website because my hosting company deleted all my stuff. Oh, that's crazy. Well, I hadn't renewed in the time frame, I renewed in the time frame they said, but they had already deleted the stuff, even though they didn't wait the whole. So I'm having to rebuild it now. I'm fighting with that.  It took me a few months when I did it the first time around. And so I'm like, but I'm having to do it, you know, once again, get out. That's part of the process. You have to rebuild. We do sometimes, you have to push yourself and put yourself out there.  Why don't we host Dan's site? Yeah, I can do that. Actually, we can do that. We can host his website. I'm sitting here wanting to get it out there and go, Dan, just let us host your site. That way you don't have to worry about us deleting your stuff. If you can't pay for a month or something like that, I will be talking to you guys about that then. Because me and my actual situation is, yeah, so we'll move it over. If you need us to move it over and I can put a theme on it and make it look pretty. But to keep going and great, I use the filler word. What's the lesson that the success takes time? Yeah, it does, doesn't it? 45 years for Henry Ford before he had his company. Yeah. No, I have that book. It's it's true. Like if I were to get good at basketball, it would take me probably 10,000 hours because I don't play it and I'm not good at it.  I mean, most people don't have that in their jobs now with how much a job market. Some do, but definitely a lot of people do not have that, even in their so-called positions where they are an expert.


It is possible to log every user action across the entire learning management system and then analyse that data. You first need to ensure the system administrator has enabled statistics in the global configuration, and then you as a teacher need to come into the course settings and ensure that you've enabled activity reports for this given course. From there it's a matter of going to the course concerned, the navigation block reports. So you can run a variety of queries here to essentially see the user activity and participation within your course. So certainly if we were to get all logs for all participants for today, it's a simple click at the button. So you can see there every action is given a dating timestamp. The user has an IP address, we're given their name, the action and the name of the course. You could run a similar report for live logs during the past hour. You can granularise these reports certainly by enrolled participants, by day, activities, actions and so forth. The activity report gives us an overview of views of the given activities in your course, participation report. That's the same thing you can by activity type, look back a period of time, perhaps granularise by role and action, and see who has or hasn't been accessing a given activity during a given period. And then likewise statistics gives you a graphical view of user activity and participation in your course.


Do men age like wine? That's the question we're going to be answering in this video. So if you are an older gentleman or a man who's worried about getting older, I think you should pay attention to this video because I'm going to be talking about how you can maximize your attractiveness with women as an older guy. So we're going to play a clip from a guy named Mac and Murphy. He's got a master's in psychology who gives his opinion on the subject. People talk about men aging like wine. Look at like, yeah, like it's not true. I'm sorry. Great example of this is Leonardo DiCaprio. It's like, yes, Leonardo DiCaprio at his current age is handsomer than me. But when he was my age, he was way handsomer than he is now, right? So this whole like delusion that men keep feeding themselves, you know, men age like one. I've looked at the research here. Who is most physically attractive to a 25 year old woman? It's like a 26 year old man. Women are most physically attracted to men who are slightly older than themselves. And that only extends until like 40 ish. And then the trend actually starts to reverse. That's when women start thinking that younger men are actually sexier and that gap becomes wider as they get older. Okay, so Mac and Murphy is basically making the point that, no, men do not age like wine. In fact, he says in the description that if men age like wine, it would be like a wine that gets marginally worse every single year. And I think that that's fairly accurate when it comes to physical attractiveness, you know, when you look at men who are in their 20s, they have less wrinkles, they're usually more physically fit, you know. And so it would make sense that women are going to be more physically attracted to those individuals. Like when they see them, they feel more desire. Okay, but when it comes to attraction, it ain't just about the physical. One difference between women and men is that women care less about the physical than men do. Yes, they care much more about physical attraction than they are willing to let on. But when it comes to status, when it comes to emotional intelligence, when it comes to confidence, when it comes to resources, when it comes to maturity, all of those things are incredibly important to women and guess what? Almost all of those things increase with age. Well, they can increase with age if you work on them. There are some guys who don't work on themselves and that's the other caveat to this. Does this make sense for the average guy? Does the average guy get more attractive with age? Well, I think those other things will increase, but I do not think the average guy always gets attractive to women. And the reason why is because most average guys don't work on themselves. Okay, but let's take the example that he listed in the video. Leonardo DiCaprio, clearly more handsome in his mid-20s than he is now. Okay, I think he's like 48 now or something like that. But I would put it to you that Leo is actually more attractive because although he's lost physical attraction, he's kind of let himself go a little bit to be honest with you. He's increased in status. He's gotten more emotionally mature. He doesn't party quite as much as he did when he was in his 20s. He might be dating younger women, so maybe there's not as much. Maybe there's certain elements of his emotional maturity that haven't improved. But he's certainly more accomplished, certainly got more resources available to himself. So there's a lot of things that have improved with time. So maybe if you weighed each of them, you in your opinion might not think that Leo is more attractive. So let's take a better example of this. Okay, let's take a guy like Harrison Ford. Harrison Ford, when he was around 26 years old, was an incredibly handsome guy. More handsome than he was when he was 58, right? But nobody knew who he was. He had very low status. Suddenly, he gets cast in American Graffiti and then Star Wars.  Now people know who he is, right? And you can see with the different wives that he had, the different wives that he had, yes, his attractiveness did increase. And by the time he got to age 58, because his status was so great, he was seen as this manly figure. He had been in so many different movies, you know? The opinion of the public was such that at 58 years old, he was a vote of the sexiest man alive. Was he more physically attractive at 58 than he was at, you know, in his mid-20s? Absolutely not. But all of the things that I was talking about when it comes to relation to attraction increased, okay? And he was attractive to a wider variety of women. So let's talk about that, all right? When it comes to being attractive, it's not just being attractive to younger women as well, too, which he points to a few different times, okay?  That's just not gonna happen. Most of these young 20-year-olds are hanging out with guys who, like you said, are slightly older than them, all right? But to women that are around your age, you become much, much more attractive as you get older. Why? Because their attractiveness actually gets lower. Their sexual market value decreases while men's actually increases.  I mean, the sexual market value is, you have to take all those things into account. When it's just by physical attractiveness, men's goes a little bit lower while women's goes lower quicker, all right? Now, there are plenty of women who look amazing as they get older, but ask any guy, okay? If you were a guy in school and I was a perfect example of this, I was in school and women wouldn't bat an eye at me in my early 20s, okay? There's plenty of women who wouldn't give me a second glance. Those same women and plenty of people in my position have seen this firsthand as well, too. Now that I'm 32, they don't just give me a second glance, man. They see me as a viable option. They will try, they will like, you know, they will reach out to me. It's a thing that happens, okay? And men see this and so they think, okay, well my peak is gonna be at that age. When people talk about their peak, when Mackin says your best days are behind you, your best days, in my opinion, can always be the time that it is now, but you have to work at it, all right? But accept your limitations. You are not going to get physically, your physical potential for attraction is, probably peaked in his 20s. That doesn't mean that you can't be more attractive than you were in your 20s, but you gotta maximize what you have. Yes, get in shape. Most guys who are in their 30s and 40s are not in shape, so get in shape. Number two, take care of your skin. Take care of all those things that, you know, most people don't take care of at that age, okay? So now we've handled the physical. Also, you gotta make money.  Being broke was cool in your 20s. It wasn't even cool in your 20s. It's acceptable in your 20s, but it's like so uncool when you're older that you have no chance. So I know there are plenty of guys who are watching this who are thinking, hey, Lloyd, well what does that mean for me? How can I, if I'm getting older, be more attractive to women? How, if I'm an older guy already, how can I stay attractive or get more attractive than I was when I was younger? Now, you have to realize your limitations. Number one, your physical ain't gonna be as good as it was in the past, okay? Potentially. That doesn't mean you can't look better than you do now. I've had plenty of people tell me I look better than I did when I was younger because I carry myself more confidently because I maintain better physical shape than I did, and there was actually a little bit of baby fat I had in my early 20s that kind of got leaned out. So I look a little bit more masculine than I did that in the past, and I emphasize the jawline a little bit. But the third thing that you also got to do as well too is you have the ability to accrue more resources. You can be a better guy overall in a better package, but also recognize that, yes, you're not gonna be able to get girls in their early 20s like you're in some sort of frat house. I mean, that's the best time to get 22-year-olds is when you're in a frat house of other 22-year-old people as well too. So what I would recommend is you start aiming for women that are a bit more reasonable for you but can still do it for you. I think women in their late 20s, early 30s are phenomenal-looking women, but they're more mature. You're gonna be able to relate to them better, and they're gonna be prizing other qualities that women in their early 20s won't. Women in their early 20s, I don't know if you can tell, but they're into really hot dumb guys, okay? And you know, that's just not gonna, you're just not gonna fit the profile of the guy that they're looking for, unless of course they're looking for like a sugar daddy or something, which is another way to compensate for the loss of physical attractness that you have as you get older, okay? So that's another option as well too. There are plenty of women who are into that sort of stuff and there's certain women who have a taste for older guys, okay? But it's not most women. And I think when people talk about this, they think of things in averages and they think of things in, you know, as a kind of a one-size-fits-all. This channel is not meant if you're trying to be average, okay? But if you're trying to be successful, if you're trying to be good at what you do, this is the perfect channel for you. I'm trying to maximize your ability to get someone, okay? I'm trying to maximize your ability to attract the highest quality partner for yourself. That's what these videos are about. And so if you wanna do that, as an older gentleman, you gotta do three things. Number one, you gotta be in good physical shape, okay? There's no excuse for letting yourself go and being fat. If you wanna maximize your attractiveness, okay, that has gotta stay. Number two, you can't be broke. You gotta be making money when you're older, right? And number three, you gotta have some sort of social circle and way you're meeting people regularly. If you're not doing those things, that is one of the biggest drop-offs I see that people don't have as they get to their older age, okay? When they're younger, yes, they don't have as many resources, but you're exposed to much more women. And so your ability to attract a woman in their 20s is much higher during that age. So if you wanna be able to use the things that you have at your disposal and get those women, then what you need to do is be able to have those three things that I talked about. And that's exactly what I help guys create, okay? And if you're a guy who's walked through life, who hasn't learned those things, and hasn't learned the skills to be able to get women, you can learn it as you get older. Dude, I've coached so many guys who are older who are either virgins or were in a super long-term relationship and then broke up and have no idea how to date, they learn quicker because you know yourself better as you get older. Like I said, there are some innate things that you get that make you more attractive as an older gentleman. And that's because you know yourself better, you're more confident, you're more emotionally intelligent. Those things make your learning curve much, much shorter than it is for a guy in his 20s.  Okay, older gentlemen, not so much. So that's one silver lining there. Now the next thing is that don't wait.   But seeing as you probably won't be able to get them until your 30s, that's why it tends to be the peak of the attractiveness for most men, okay? But if you wait until your 30s to get those things, you definitely won't have them. So to conclude this, know your limitations. Make sure you maximize your attractiveness and start early. And number three, make sure you're getting out there and make sure you're meeting people to actually expose yourself to all of these things. There are a lot of things in this world, but one of the things that is true is that for men, we have an incredibly high potential for success, but an incredibly high potential to fall. You know, I don't know if you've noticed, but most of the richest people in the world and most of the homeless people in the world are men and there's a reason for that. Society ain't coming to help you. No one's coming to save you, but yourself. And yes, as an older guy, you can be extremely attractive to even younger women if you play it smart, like I said, and know your limitations. But don't think that just by you getting older and increasing an age and doing nothing, that you're gonna live a very successful life with women. Okay, that is a coping mechanism that he talks about as well, too. And that part is definitely true. If you're just using this to cope and not work on yourself, you're not using it right. All of this was built for you guys to have hope, to have hope that you can be someone who can be attractive to a partner that you will also be really, really into as well, too. To be attractive to women, okay? I don't just talk about if you just wanna get into a monogamous relationship, too. I want you guys to have options. I want you to be able to pick the one that you want. Or if you wanna date around, pick the ones that you want, okay? That's exactly what I'm here to do. If you wanna get help with this, go to getcoachbyloy.com. That is a website. If you wanna schedule a personal call with me, that's how you do it, okay? I'm looking for guys who are ready to change their lives. And if you're that guy, fill out the form and we'll chat. Remember, my team will get back to you and we'll have that. Anyway, I'll do more videos on this if there's any other guy in the space who's like maybe a scientist or something.  Let me know and I'll do it. Thank you for watching and good luck out there.


Oh no. Oh no. Oh, they're coming to save me though. They're coming to save me! Mabuhai Akosi Gaming B-Bird. How's it going? And that ends as much Tagalog as I know. There we go, eh? So hello and welcome back to M-Py's Intergrust. I was gonna say more, but Winnie doesn't know more, so I'm disappointed in Winnie. Hard difficulty again, but I'm gonna talk a little bit before we get into it because I read the comments on the last video. I was doing it wrong because I was wasting all of my resources on wood melee ants instead of the wood shooty bum bum ants. So we're gonna do it again except for this time. I'm gonna go for the shooty bum bum ones. How does that sound? Sound like a good idea? Yes. In fact, I don't think I'm gonna get any workers. Well, I will get workers, but I won't get any of the melees. I think workers are cheaper. All they need to do is be cannon fodder and keep the target still so that the shooty bum bums, which I guess is what wood ants are known for, can just spray their victims down. Right, okay, so we're gonna resume game. I'm trying to remember how I do this now. Do I go over here? I think I expand out this way. Oh my God. The ally Colony is heading to a new location.  They better not be. I think they always do. I think that's the mistake there. I think they always do. Okay, so we're just gonna have them set to that and then they should be able to bring some of the stuff back and then hatch some other ones. Oh no, I think they're all done. I think they're all done. Okay, what do we want? I can't even remember what I went for last time. Hold on. Let me just check the video. Okay, okay, so first we're gonna make some workers. That's what we're gonna do.  I hope this works this time. Bloody hell, I hope this works. Good God. And there we go. Okay, and now, yeah, they can do stuff. Oh, food is full, is it? Oh, well, that's no good. Should we put the food tiles right next to the entrance? I think that's what I did. I think you just plonk some food tiles right here. I could be wrong. Oh no, it didn't. That's right. I had a little in-betweeny bit, didn't I? Oh no, oh well. Anyway, it's there. It's there. So we've also got these new ones, which we can send off and then grab those. We'll expand out this bit a little bit more and then have the big bit here. This is where all the workers, sorry not the workers, the shooty bum-bums are gonna go as well. I'm just gonna get like maybe three more worker ants. And then we can quickly jump up outside and grab all of these. Once we've got those, I mean, I think, yeah, they're pretty much done. Yeah, they're gonna go outside including everything's going outside. We don't need to place more eggs. Everything's gonna hatch. We just need to grab as much food as possible that's out here.  You're gonna grab anything? Like, you can't get food. Why did it take so long to do stuff? You fool! We're getting a fair bit of food. We'll set them onto there. Now these are the ones we want. Now they cost 60. So already that's two. That's expensive. Right, okay, so also we'll send off these guys to collect this food here. May as well. And that's the safest food. And they constantly, these guys, don't bring it. No, I think that's the first one that's went out. Oh, that's it. They've triggered them. Ah, man, man. I mean, there must be a way, right? There must be a way to do this. They're not, they're heading to a new location. What, is a new location hell? Because I think it's hell. How much damage do they do? Oh, they do! They do loads! Look at that! That woodlice doesn't stand a chance! I've been doing it all wrong all this time. We're getting the last little bits here. Kill all creatures. What we're getting there, we're getting there. We need the shooting bums and we need a lot of workers. That's what we need. Yes! More! More! So these guys can now just stay in these workers. Because they need to be the honourable cannon fodder. They probably do that, I would say.  I think we're at the chance this time. Seeing how quick those shooty bum-bums destroyed those ants. Roy-ly. It's like a royal flesh. And it actually doesn't even matter. We can just have one. Just have one little gateway.  Oh my god! The battle. What even? How did they do it so- That's crazy. That is, that's ludicrous. We can just expand out there, like sod it. We can just go this way. And just get all this food. And probably just get a little bit more here. Look at this much. I mean, just look at it. Look at all that food they're bringing back. I'll get a couple more and then next I'll send off on workers. Okay, so the workers are going in to die. There's probably not enough workers really to keep them at bay. Oh god. Oh god. Oh god. Oh well, that's another one dead. Come on! Come on, they cost! Yeah! Jesus! Okay, maybe the workers should have been sent in first there. Possibly. We're going to send those guys off into there. Hoo, hoo, hoo, hoo. We got this. We got this. I think we can probably withstand the first barrage. We could try even attempted to save them maybe. If we don't survive this wave, that's what we'll do the next life. Because I don't think we're going to survive. Even with these. I don't think so. So one, two, three, four, five. That's 100 resources. And we're gathering all of this. Oh yes, yes, yes, yes, yes. I love it. Okay. Now how's the other colony doing? They're out of food? Yep, they're out of food.  So if I'm trying to save them, I need to do it quick. I need to get these guys and just do it quick. Maybe when I save the spiders outside or kill the spiders outside, maybe they'll start doing stuff. So we got the workers here. They will act as cannon fodder. And there we go. There we go. I think we're good. Let's see. Let's see how much time we have extra here. Oh, they're already here. There's no... Is that not them? Oh, that's my light. I thought it was antennae. I like colonies coming to help. Because in they come. In they come. Get ready men! Assault! Oh my God! Wow! They're proper murderizing them. Jesus! What? All the work... Like basically all the work has died though. But we have guaranteed, I think there's 60 food each there. Oh yep, they're all hatching.  I think we just need to kill these spiders then. Let's see if there's any saving that other colony. Probably not, but hey ho. Hold out here a little bit. Wait for the numbers. What are you doing? What are you doing? Oh God. Oh God. Oh no. Oh no. Oh no. Oh no. Oh no. Oh no. They're all dead. Well, at least they're kind of away, I suppose. But we almost killed one. Good Lord, we lost a lot. They've got no food. There's no way for me to give them food either. That's it. That was the game. Oh, we're going to take this all the way back to our place, are we? It's ours now. Wow. Who would have thought? Oh, we've got hermit crabs coming now. We've got hermit crabs. Don't attack. Don't engage. Just come back.  How did she get? Oh, did I plop one down in their spot? I think I did. Oh, I can't give them food. That's interesting. Yeah, right, okay. What we're going to do is we're actually going to restart. I think we might have lost that. But I know what I'm doing now. I know what I'm doing. We need to get over there as quickly as possible then we can save them. Because they have a lot of food to start out with. I mean a lot of food to start out with. I wonder, I was going to say, could I build in their thing? I probably could, couldn't I? No. Right, okay. There's the workers. We're going to quickly go over here. And then we're going to dig out here. This is going to be the little worker den. And we'll probably make a hole up here. This can be the shooty bum bum hole. Oh God, that sounds horrible. Beer is stuck. Think before you talk. You can at least pick them up, dude. No. What are you doing? Wasting my time. Right, so we've got 50, 100, 125. That's enough for two of the spitty bum bums. We'll just send them over there to grab those. And then we can make, there's at least one spitty bum bum I think we can make. We'll send the workers that we've got the moment out and then keep the spitty bum bums with them too. Look at it. So we'll excavate the wood louse. There we're getting some more food in. We've got this. We need to get these shooty bum bums up. We need to get them up and then send them over. Because as soon as that allied ant colony starts making loads of workers and stuff she's going to go out which is already doing for whatever reason and dying instantly. I don't know if there's a way. Is there a way? Oh God, we've only got one shooty bum bum. Disengage from attacking. Workers disengage. There you go. Disengaged. Beautiful, I think. I think only three made it back. Oh God. So we go, yeah, there we go. There we go. This is it. This is the one. This is the one. Here we go. Okay, okay. Up. Up we go. And then we need to start, we need to start helping now. We need to start helping now. Once we get this food. Come on guys, come on guys, come on guys. You just get up here. Get up here. Hello. Hello. There it is. There it is. Don't excavate that last one. Just get up there. Get up there. Come on. Come on. Oh, we've got enough food. Okay. And then we can send these workers over to here to just excavate them. There we go. Here we go. Yes. One, two. One, two, three. One, two, three. Okay. Go, go, go, go, guys. Go, go, go. Okay. Back to Crown Workers. Crown Workers. Where's the Crown Workers? Why are the Crown Workers there? There we go. There we go. Right guys. Right. Right. Move it up. Move it up. Move it up. I mean, move it up. Like none. They have like no food. They've got to have food. They've set down stuff. I don't think there's any saving them, you know. They just seem to be on a suicide mission. There's nothing I can do. I mean, I could probably bring food over to them. Maybe that's what I should have done with the Hermit Crab. Ah, I don't know.  Jesus. Okay. There you go. There you go. Right. So we're getting them. Right, guys. They're all over. I also need to get workers. I need to think about that.  Okay. Okay. You know what? No. There's no way. There's literally no way I can save them. The only way that I can hope to save their colony, oh God, there's all their food. They don't have any food. How would they get? Oh, maybe they do have some food. Yeah, maybe they do. Okay. Never mind. Never mind. We need to go attack, attack, attack. This is it. This is how we save them. Quickly! Quickly! There we go. Come on. This is it. This is it. This is how we kill them. Oh! Were they shooting? Yes! We've done it! Come on! Okay, guys. Okay. This is it. This is it. The queen is in imminent danger. What with ours? Oh, oh God! Oh, God! Woopsie daisies! Come back! Come back! Come back! I'm about to be invaded as well now. I'm about to be invaded and I have, like, no food. Here we go. I mean, this will be food for me, right? This will be food for me. Come on. Come on. Get back! Get back! Woof! I know, I know. I need to get some food. I need to get some food and I need to get my workers back before I get invaded. I saved their colony. I don't know how. But I flipped and did it. Woof! Woof! Woof! Grab the food. Grab the food. You need to be close to the door. You guys, get over here. Woof! Damn! Okay, we'll get some more workers here. One, two. There we go. There we go. Get going. Get going. Get going. Okay, we saved them. Here they come. Here they come. Yes! They're coming to save me! They're coming to save me! Right, guys? Here we go! Oh! An eye for an eye. Please help, buddies. Oh no. Oh no. Oh, they're coming to save me, though. They're coming to save me! Yes! Yes! It's working! Wohoho! Look at them all! We did it! And they're not nicking me food either. Bravo! Bravo!  Oh, that was lucky. I didn't even collect all of this. Look at this. We're going to have so much food. So much food. Might as well just over-con-upgrade those food. Aw. Well, we'll extend a little bit. Food there. Food there. We did it, guys. We did it. We flippin' did it. Just all because we have shooty-bum-bums now. Ah! Fully unknown.  Yeah, look at all that. We got this. Look at their army, man! There. Oh, yes. Yes, they don't need my help anymore, I don't think. I mean, maybe they get attacked by, like, a big wave of these, and the next wave that comes is the hermit crabs that attack the other colony. So now I've got a- I've got a- I'm in a good spot here to excavate this, because this is one of the big beetles, I think. I'm good. Oh, what are they doing? They're only going to- Wait, what are you doing? You're avoiding them! That was a terrible idea! That was awful! What are you- They're going to a new location! Oh, okay. I'm sorry if you say so. I don't think they are, but hey. Here we go. Here we go. There we go. The ants must fight. Quickly! Get through, attack! I mean, look at that. Look at that! Wow! Jesus! Woo! K-O. All right. Off you go. Collect all the food you can over the- I don't know what that is. Could it be two of those big beetles? It might be, you know. I don't think there's anything that can really stop us at this point. I don't know- Whoa, whoa, whoa, whoa. Where are those guys going? They're going to die. Where are they going? Where are they going? They're going for the hermit crabs. Well, fair enough. You know what? If they're going to help me in my mission to destroy everything, that's okay. I think they're actually taking the fight to them for what- Oh! Whoa! They were like wrapping firewood! I don't need my help. They're on the offensive. I proper saved them. Okay. We're going to upgrade some of our shooting bombs. There you go. And then, guys. Guys, guys, guys, guys, guys, guys. We need to go this way. Are they dying? Oh, they are dying. They're dying quite a bit. The colony is starving. There's not enough food.  We've got all this food. We're perfectly fine. Hoo-ya! There we go. Just collect all this food. However, their colony might be starting to die soon, so... I should probably have helped them there. Like these ones? I think we're good. I think we're good, yeah. Let's help them. Let's help them. Come on! Let's go! Look at the colors on the map. It's awesome. Yes! Secure it! Both queens must survive while we're doing a good job at the moment. I've got 20 in reserve to hatch the ones that die. Yes! Oh, yes! They can't take both of us on! Oh, yes. And I've got my own workers going in to help them. There's just more and more. I think these hermits are super tough though. Look at that! Are they regaining health? It feels that way. Okay, that's one dead. Two dead. Yes! Focus fire! Focus fire! Four dead! Five dead! Right. Off you go. Get as much food as you can. Because now it's a battle. We need to get the same... Well, we need to fight them for the resources. Oh, yes! Look at the claws. Now the colony is heading to a new location. They better not be. Where are they going? Are they going inside? What's inside? Oh, there's funnel web spiders. Oh, dear. Oh, dear. Oh, this is going to be tough. Because they might just send them all to die. If I'm not careful. You know what? That's exactly what they're doing. That is exactly what they're doing. They're sending them all to die. All of their workers are going to die. That's just brilliant. I need to come in and help them here. Because otherwise they're going to die. They're going to die. Okay. Well, now I need numbers. Now I just need lots of workers. Oh, you see those homing ones? Yeah. Kill them all. There it is. There it is. Okay, guys. Out you get. Out you get. We need to now go over here. How many... How much food? I have loads of food. I guess I just need lots of workers. Because the workers are the cannon fodder. They're the ones that keep the enemies still so that we can shoot... Shoot our loads with their faces. Oh, my God. That's a huge wolf spider there. We need to be careful of that, though. We really think all we need to do is just upgrade some. Like other shooty ones. We need a lot of workers because they're going to get torn through absolutely ripped of shreds. But I think it's doable. Oh, we nicked some of their food. Brilliant. All right, guys. Go, go, go. I think that's enough. I think that's enough. Two wolf spiders. They're fairly sized, but they're not amazingly sized. I think we got this. The battle has begun. Yes! That's 162 food, guys. Wow. That's good. What are they taking on? Oh, no. That's not very good for them. Oh, dear. Okay. Well, once we grab this food, we might just have to go. We might just have to go and save them because they're going one by one. I didn't realize they would do a suicide run. Oh! Also, we could probably upgrade. Oh, this is good. I like an objective. Like, I've got to help out my friends. Oh, yes! Look, a level three one. Bam! That means that that can be a level three one in all. Wait, what? Oh, they went round the long way. Okay, help them! Help them! You call this hard?  How are they doing for numbers and stuff? Are they okay? Their food stocks are pretty low. So, you know what? I'm going to come over here again. Let's go over there. We don't need to nick all their food. We've got loads on the other hand. Look at us. We've even haven't even dug out everything I don't think. No, we haven't. Sodom! Let's- let's- Oh, is that- is that probably bad?  I don't know what these ones are. Okay, we'll go over here. We'll- we'll dig out and through that way. I'm gonna- I'm gonna go for the risky gambit and go for three more shoo-dee-bum-bums. Oh, God, what? Oh, they're taking on all these hermits. Okay, well, I'll tell you what. I'm gonna take out whatever this is first. Oh, that's fine. Oh, that is fine. The ants will fight to the death. There, yeah. We- we can take these on. Yeah, this is easy. The colonies- No, they're not! They're fine! Woo-hoo! And they did. Okay, that was like 150 now. It's not good for them. Uh, this really isn't good for them. So we're gonna have to- we're gonna have to- we're gonna have to move out here, guys. Oh, we don't have food collection on. Ah, you bugger you. Yeah, they need help, man. I don't know why they decided to attack that, but they did. But we're now doing good. Go in, workers! There's the- there's the load of the army. There's the big bit. Right, yep. They're getting close to their rapid-fire-ers. Not so good. Not so good. There we go. There we go. Artillery support! All right, I think- Oh, how- oh my God. Oh. Oh, no. They killed them all. Um, retreat. Retreat a little bit? They all died. Oh, no. The enemy's coming back. The enemy's coming back strong. The enemy's coming back strong. Okay, now we can charge in. They're about to come all out. I didn't realize- I thought they were all dead. There's none of them. Oh! That's why! That's why! Okay, we're gonna need- We're gonna need to go in and help them. Wooo! There we go. Oh, God. I think they're dead. I think she's gonna die, you know? I- I- I- This is tough. This is really tough. There's so many of them. I need to- I need to, like, get my reinforcements quick. Oh, she's dying. She's dying. She's dying. No, no, no, no, no. Not you. Oh, God, oh, God. Uh...   Oh, no! No! Dammit! I did so well!  It wasn't suicidal. Okay, guys. I'm gonna skip forward till we get to roughly around about that- that, like, area before they end up killing themselves. And, uh, yeah. Let's attempt that one more time. Alright, guys. We're doing better this time. I'm just tunneling through. Hoo, hoo, hoo. So what we've done now is we've just, uh, taken all of the food from those hermits, destroyed them. So the next thing that happens is that they decide to expand, uh, into the-the spider web trap. So if I can just grab all of this food real quick, like, um... and then help them out, go to help them out. Because there's a fair-there's a fair bit of food here. All we need is, like, yeah, just a couple of shots and then they're good. So if we go into their nest, now they're starting to die. Um, so we're just gonna grab that and we're gonna go in the nest and then there we go. That's what we're gonna do. And then I think they go out to attack these guys. And then after that they attack the hermit crabs. And then they decide to borrow even further into these and get-they attack the hermits as well as dig that out. And that's-that's when things go south for them. That's when things don't go very well. Hehehe. Oh God, we've got-we've got maxed up here, okay. So, yeah, let's upgrade all of these. Uh, that's good. We've got-then we'll get level 3s in the middle. So there's a level 3. And then once we've got that level 3, can we get another level 3? No, well at least we've got one level 3 here. These are all workers. I don't know. Okay, so now we're-now we're coming through. We've-we've basically killed them. I'm tempted to dig out their stuff but I can't. So, uh, what I am gonna do is dig out my own. Cause sod it. This-this is like the last-there's one huge thing there and I have never dug out this yet. So I'm gonna bring all my troops back from their place so they're starting to come out now. And I don't know what they're doing. They're probably just collecting all the food here. This could be disastrous for me because, yeah, yeah, we've already dug it out. Okay, so now it's a matter of this army getting back in time. Oh, god, those workers are all dead. Oh, there-there is some shooty-bum-bums here. That's okay, that's okay. And they're about to come in. They're about to come in. That's fine. It brings the food closer, you see. That's the-that's the plan here. To bring the food closer. And as far as I'm aware, the ally has not-yep, he's, uh, he's deciding to stay there. That's good. Whoa, look at that! I don't know how high the seal is in his nest, but, Jesus, kill all of them. Next thing, I just want to dig out this. Whatever it is, dig it out and kill it. Now what I normally did, oh god, no, don't. Don't-whatever this is, don't. We need to go over there and help these guys now. We're getting a lot of food here. Um, ooh, should we get some more? Ah, I don't know where-yeah, okay, it's good. Let's get-just expand it out a little bit this-this ways. And actually what I've been doing is they should have a good hole of food because I've been protecting them. Yeah, look at all that. They've got plenty. So I was working as a team together.  Hehehehe. Yes! Shoot! Fire up! Now I haven't attacked these spiders yet, and that's what I did. Uh, not too long ago. Okay, there we go. Collect that food and go. Next, they're gonna attack these hermit crabs. So I'd rather just stay here. Keep an eye on the nest to see when they decide to dig out that other thing as well. Uh, because this is gonna give us a lot of food. It's also gonna give them-did they get food from this? I mean, I think they did. Maybe? I don't know. I don't know what they did. So what I'm gonna do is I'm gonna attack this way. I'm gonna attack these wolf spiders because these wolf spiders might attack me. Um, there's still something big in my nest. I don't know what that is, but I'm okay. I'm okay with it. Now, they have a lot of food and a lot of resources. The hermit crabs are tough. Um, but still no sign of them digging down into their corner. Does it have anything else deadly? No, I think that's the last thing in their nest. It's deadly, so that's good.  Get that food. Uh, we'll just quickly upgrade a few of these as well as just getting a couple more. Shooty bottoms. There we go. Okay. Oh, God. Oh, Jesus. Maybe this wasn't such a good idea. Oh, there we go. Maybe it was. Maybe it was. Woo, dear. They're still going out there as if they're trying to attack those beetles. It's like a trigger. Back when I used to mod in quotations at age of mythology, there was triggers. And that must be after a certain period. Oh, now they're going to attack it. Now they're going to attack it. Okay. Okay. So now they need our help. Now they need our help. But we're getting a lot of food in as well. So that'll supply the ones that die here. Is it worth trying to upgrade these workers? I mean they cost 20 each and they'll probably only take one more bite. So it's probably better just to get more workers, I think. Uh, so that's what we'll do. They're not digging out yet, which is good. That's very good. Um, so we'll just dig out this a little bit more. I mean, I think we've got more ants going in there that are being killed, I think. I'm hoping. Look at that. Some of these hermit crabs are like regenerating. It's ridiculous. I don't know whether they eat the ants. Right, one dead. That's good. That's a big blow to them. Ooh, got to do crowd control here. Just look at this. It's ridiculous. There we go. That's two more dead. There's only three left. Focusing fire. Two left. Ooh. Yes. Oh, he's regenerating.  And the last one. Ooh. Come on. Die. Yes. Are they excavating? They're not. That's fantastic. This couldn't have gotten better. Okay. Yeah. Woo. That is well.  That's a lot. Yeah. They're starting to dig out their dudes now. So because we're already there, although a lot of the ants are coming back now. Um, oh God. They need a lot of shooting bumbums here. If these are just like attackers, it's not going to go too well for them. But saying that, look at all the food they've got, as well as all these already hatched. I think they're going to be fine, you know? I know what I'm worried about. So we'll quickly switch back to our nest. We'll upgrade. Oh, upgrade that one. Upgrade that one. Upgrade that one. That's going to give us some level three. Upgrade some food storage, because we actually do need it. And then once we get this, that's another level three. Level three. Level three. Oh, yes. And level three. Done and done. There we go. Okay, so now we're inside their nest, helping them out, and they've already killed them. Well, I never. So, I think we need to attack. Well, it depends what they do. Should we go and attack stuff? No, we'll just stay in our own nest. We'll stay in our own nest for now, because we're already bringing back food. Okay, you know what? Dig it out. Whatever it is, I'm pretty sure we can get there in time. Can I upgrade anything? There's another level three. That's fantastic. We'll get that one as well. And let's see what it is. Our survey says... It's just one big beetle. That's all it is. It's just one big beetle. That's easy. Oh, God. What are they doing? What are they doing? What are they doing? Oh, they're going towards the... What are these? Are these funnel webs? I've never seen these before. Whoa, what are those? Oh, God. Oh, oh, they're... Whoa. What is that enemy? That's nuts. Oh, we've got to help this. We've got to help them out here. Yeah, we've just got to get over there. We've got to get over there and help them. Look at these bugs. They could easily climb up the wall or jump or something. We're like, nah, we're good. They seem to take a while to, like, come out and attack. But when they do, that's when you can actually fire at them. Oh, yes. Drown them. Yeah. Yeah, you've got to wait. This is actually better for us. Because at least when one eventually does attack, we can all get him. We can all... Look, he's like, no, help. Get him. Yes. Whoa. That's awesome. Okay, we need to wait. We need to wait. We haven't got anything else attacking us, so we're good. Just wait for one to appear. You know what? Seeing as you guys aren't doing anything, you might as well just gather some food. Oh, there we go. There we go. Yeah, got him. I don't know how much he gives. I think he actually saved our ant. We did that. We saved him. We just need to trigger. I don't think these guys are going to come out. I think they need to have a little less ant traffic. There's one or two ants going by there. They're fine to attack, but if there's loads of them, they don't want to attack at all. So, there we go. There we go. Get him. Get him. Get him. He's only worth 18. They're all over here. They're not doing anything. It's an interesting enemy because it takes a lot of your time to see where he is. There you go. He took one shot. That guy. Okay. Okay. Okay. Right, guys. They can handle this. It's fine. Don't worry about it. Let's see if we can upgrade another level three. We'll get some more shooty bum bums there. That is 180 worth of resources. You know what? I think we can just go on the offensive. I think we can just take on like something like this. Or maybe we can't. Maybe we need both armies for that. Probably. What else we got? We've got some hermits there. We've got two wolf spiders there. It depends what they decide to attack because if my other army is the trigger, I don't know. Yeah. I don't need to worry about these guys. I think they're deciding to not attack anymore. Oh, no, no, no, no, no. Okay. They're attacking those. They're attacking those. And look. There you go. They're dead. Oh, they're attacking the biggies. They're attacking the biggies. Hey, look. I got some level threes in here, son. Oh, yeah. They're dead. Go workers. Go. They're holding the front lines. Valiant. There's one dead. There's two dead. And finally, we are three dead. Beautiful. Still need to kill these things, but I'm okay. Next is these. I think we could do that though. If we all attack together, we could definitely do that, but I am the important one. Oh, God. They must be triggering. I didn't realize that. We're going to have to upgrade. I don't know where these spiders are going. Oh, they're going to attack them. Oh, no. Oh, no. How much? Oh, they've got some defenses, though. That's okay. That's okay. I think they've got it under control, but I'll help out. Yeah, here I come. Here he comes to save the day. Woo-hoo. Oh, yeah, you're going to attack those, are you? Well, I think you're a little bit preoccupied. But you know what? I'll help. I'll not nick your food. You can have that food. Yeah, look. Look at all that extra food you're going to have now. Woo-hoo. Is that a good idea? Should I let them have food? I don't know. They'll just swan it away. Okay, here we go. This looks like an assault that's definitely easy to win. Yep, and oh, yeah, melted them away. Die, tongue. Okay, grab all the food, and those that haven't grabbed food, go over there and grab that food. We've definitely done this. So what would be the final one? This or this? This looks like the toughest, and it looks like it's probably going to attack me. So, oh, they're attacking those ones? Well, that's fine. That's okay, because these look like they're going to attack me.  Well, you know what? Oh, God, never mind. They're coming. They're coming. Oh, no, they're into my booby bombs. No. No, they eat those. Ah, that's not good. You can't eat those ones. Oh, God, the line's fallen. The line's fallen. Woo-hoo. Oh, one's dead. One's dead. One's dead. That's okay. That's okay. One's definitely dead. Woo-hoo. Come on, yes. Two dead. Oh, you know what is? I'm just a baller. Look at that. Yes. Right, guys. Go over there and get that food before the other hands nick it. They've got plenty. The Allied Colony's going over there? Well, too bad. I've already killed it. Who would go as much food as I can and upgrade as much as I can? Yo, yo, yo. Upgrades for everybody. Yes. We're going to get some level 3s. Look at that. Glorious. Upgrades. Was it a good idea? Probably not a good idea. We're going to beef up our workers. So they're going to last a little bit longer. Just a little bit, though. Nothing too crazy. Was that a waste of, like, 400 resources? Here they come. Oh, God. Oh, God. They're deciding to attack when there's only a few of them. Oh, God. Oh, God. We need the majority of our force to come in all at once. This is not a tactic. That is a death march. Dance. How many do they have? How much food? Well, they have a fair bit. Yeah. They definitely have loads. We can just let them die for a bit. Oh, here they come. Here they come. They're all coming now. We'll charge in with them. Oh, look, they have some level 2s. So they are. That's a level 3. They do stuff. Okay, guys. Here he goes. Charge! Yeah! All together now. Go, go, go, go. Oh, we got this. We got this. We got this. Yes, hermit crabs stay out of it. Now, that would be really bad if the hermit crabs were to attack us. Oh, one dead. Two dead. Yeah, because if the hermit crabs attacked us, they would just, like, if our ants focused on them, they would just end up dying. Because, um, yeah, this is what I didn't want. Because the hermit crab is just so tanky that the wolf spider, if it's not being targeted, can just rinse. Oh, look at that!  You see that? That was nuts. I don't know how he did it. Shower! There you go. Sorry, I turned into an owl there for a second. There's ants in the bag just eating that stuff. So, we only have two things left to kill. The food stores are full. Upgrade! Level three workers. That'll be huge. There we go, there we go. Get him, get him, get him. Get him, get him, get him. Yes! There you go, and we have survived. Do we get no special commentary? We've just done it. Nope, I don't get like a special... Both queens have survived. You are the best ant commander that has ever lived. Please, everybody, subscribe to this man, child who is now a bad man. Because he has like a beard. Yay! We did it! And level. How many points do we get? 23,000. Combat score. Resources collected, constructions and upgrades. Oh, that's going to be a lot. Although time... Maybe not. Can I check achievements? It doesn't have any. Well, guys, if you enjoyed that video, leave a like until next time. I'll see you later. Bye-bye.


Kentucky's Public Service Commission has rejected a proposal by two utilities that would have drastically reduced the value of solar energy for customers. Backers of rooftop solar say the decision means it's still a good financial investment. As Kerry Ray of the Mountain Association explains, Louisville Gas and Electric and Kentucky Utilities proposed to drastically lower the amount solar customers are credited. For excess electricity, they feed back into the grid. Instead, the commission chose new rates that will only slightly reduce the value of solar for certain customers. Because of this ruling, solar still makes sense for most homeowners and businesses. The Mountain Association, along with the Kentucky Solar Energy Society, Kentuckians for the Commonwealth and the Metropolitan Housing Coalition intervened in the case. Utilities maintain rooftop solar customers don't provide energy generation, transmission, or distribution benefits to the power grid. Andy McDonald with the Kentucky Solar Energy Society says customers with solar panels already in place before the decision will operate under the original net metering rates, currently about 10 cents per kilowatt hour for residential customers, and 12 cents for small commercial customers. He adds the ruling also prevents the utilities from proposing new changes to net metering for the next few years. You know, we have at least the stability of knowing that these rates will remain in effect for all net metering customers until sometime in 2025. Ray says research shows renewable energy technologies like solar can help reduce greenhouse gas emissions and combat the effects of climate change, as well as their economic benefits. Solar has got to be a much bigger part of our energy mix. And, you know, we're encouraged that the utilities are investing in solar. You know, we see KU, you know, they're building solar arrays, and we think that they should keep doing that. Last year, the solar industry invested more than $14 million in the Commonwealth. This is Nadia Ramlagon for Kentucky News Connection.


Would you rather pay $650 or $66 for a smart phone? Simple.  Better service, bigger savings. That's today's Appalachian Wireless. And the jury came back guilty as charged. And the case was handled by Melissa Goodman, an assistant commonwealth attorney, did an outstanding job in the prosecution. We've all heard somebody say, there must be drug dealing going on at that house because the amount of traffic coming and going. The cars coming and going out of this man's driveway was like he was running a regular business that was open to the public. Not only was he selling drugs, he would buy drugs. People showed up, they needed money, they sold it to him. He had a return policy.  So this man was operating a virtual drug store on Little Hackney's Creek. I feel like that the citizens of Pike County are saying enough of this and I think that jury is sending that message.