So, in this tutorial we will see what instrumentation and what dynamic binary instrumentation is. Then we would basically see how to how pin actually does dynamic binary instrumentation and how to use pin for architectural study. So, I am going to be using pin for your homework assignment. So, please pay attention and if you have any questions please feel free to interrupt So, let us start with instrumentation. So, instrumentation is a technique for inserting extra code into an application to observe study and even change its behavior. Lot of program analysis to use instrumentation for performance profiling, error detection and capture and read data. Valgrind uses instrumentation for memory error analysis. It can detect misuse of malloc and free. So, by misuse of malloc I mean that you have allocated some memory segment using malloc and you are not seeing when it is used in. So, it leads to memory. So, Valgrind can identify those. By misuse of free I mean that you are paying some unallocated memory segment. So, it will lead to segmentation point. It can even detect unallocated variables and dangling pointers. Do you guys know what dangling pointers are? Dangling pointers actually point to a memory region which has not been allocated by the application. So, dereferencing them may lead to segmentation points. Intel's inspector also uses instrumentation for thread error analysis. It can detect data races in your multi-thread application and even deadlocks in multi-threaded application. Intel's vtune amplifier also uses instrumentation for performance analysis. It can locate hotspots in your application. And it can even do lock weight analysis. It can give you the lock contention time. We would be mainly using instrumentation for architectural study. We would be doing processor, branch predictor and cache simulation using instrumentation tools. And you will be using instrumentation to collect instruction cases. And these instruction cases would then be spread to some other place based simulator, details simulator. So, Intel's software development simulator also uses instrumentation to emulate new x86 instruction. Suppose that you want to implement some new x86 instruction and study what benefit you would get because of it. So, what you do is that you register with software development emulator, a function which implements the functional behavior of the application. And when software development emulator encounters this new instruction, instead of trying to execute it immediately, it will actually call the function that you have to emulate its behavior. So, now moving on to instrumentation approaches. So, when we are doing instrumentation, the two main questions that arise are where do we want to insert code and what code do we want to insert? So, these two questions are mostly related to the problem that we are trying to solve. So, if you are doing cache simulation then on execution of each load store instruction, you would want to look up a cache model that you have developed. So, we are, so in cache simulation, so we are inserting code at execution of a load store instruction and the code that we are inserting is to look up a cache model. Similarly, in the branch predictor performance study, you would want to insert code just before the execution of a branch instruction and it would look up the branch predictor that we have prepared and tell us whether there is a branch miss or ahead. The next question that arises is how do we actually go about inserting this code? There are various approaches to it. We can directly modify the application source code and you directly write code, add code in it. This is called source code instrumentation. It is not, you must have used it for measuring some time taken by a particular chunk of application. You add code before that chunk to measure the starting time and then at the end of it to measure the end time to get the time that is consumed at a particular chunk. It is not widely used. We could have suffered some major drawbacks.  Just modifying, just instrumenting the source code of the application is not sufficient. You would even want to modify the source code of the third party libraries that is used. Why would we want to modify the third party libraries that the application is using? Think about cache simulation.  Your library functions that you are using may be executing some load store instruction. You would want to insert code to look up the cache model before them also. Just instrumenting the application source code is not sufficient. You would have to instrument all the libraries that it is using. This finally requires recompilation and re-linking the application. The second technique is to do static binary. Just one minute. So can you think of, like one, so he has talked about the drawback, right? Source everything. Why is it a problem? Does it occur to you that it's a problem? Source everything. And it's a why. Most of the commercial applications, you don't have the source code. Right, so if you have the source code of Microsoft Word, how many has that? How many has that? There will be two in Microsoft Word, why not? This will be right. Most commonly used applications are some of these commercial applications. You don't have the source code for them. So it's difficult to instrument them through source code instrumentation. The second technique is static binary instrumentation. Here it is similar to source code instrumentation, but instead of modifying the source code, here we directly modify the executable binary file of the application. It's similar to similar drawbacks. You need to know what is the binary format and you have to, because you have to modify it. So we are trying to insert some extra code in the binary. So what could happen is that the instruction addresses may change because of this extra code that we added. So now if there's a branch instruction, the branch target, we would even have to change the branch target. So the starting extra code is not in the original, it has also needs to be modified. Then code discovery is another problem which static binary instrumentation suffers from. Code discovery I mean is that most of the applications that we use, these days they use dynamic libraries. So the third party libraries that we use, the code for the third party libraries is not there in the application library. It is loaded when the application is loaded at runtime. So when you're doing static binary instrumentation, you don't have the code for the third party libraries. So here also you would have to actually look for the binaries of these libraries and modify them also. So here also just modifying the application binary is not sufficient. The third approach which is most commonly used instrumentation approach is dynamic binary instrumentation. In dynamic binary instrumentation, you instrument the application at runtime. As the application is executing, you insert some extra code in it and you execute it along with the application. It is similar to just in time compilation. So are you guys familiar with just in time compilation? Do you know any compiler which... Java. ...gview. ...gview. How it works? It changes code into binary code. And after that, whenever... It changes what? ...in binary code. It changes to binary code and then that binary code is compiled at that wherever you want. No. So that's not just in time. That's just Java compilation. So Java... So when you compile a Java program, it generates byte code in it. So the class files contain byte code.  So when you run it... So Java is the Java virtual machine. So when it starts executing the program, it reads the byte code from the class files and it generates machine code for it, corresponding to it. And then the generated machine code is actually what is executed. So it keeps on reading machine... byte code and generates machine code and then execute it. This process keeps on doing it until the application ends. So dynamic binary instrumentation is similar to the state-time compilation. Except here, instead of translating from byte code to machine code, you are translating from machine code to machine code. And while it is doing this translation from machine code to machine code, you have an opportunity to insert some extra code in the application. So while this translation is going on, it adds extra code and then the generated code is actually... it has the original code and it has the extra code that you have added and then it executes it. Okay? We have to add machine code into machine code. Did I already add machine code into machine code? Yeah. And then finally machine code is what runs. You would see how it works. So the benefit of dynamic binary instrumentation is that you do not need to recompile and reading the application. You can... because everything is happening at runtime, you can directly attach your instrumentation to a running process. So most of the tools that you will instrument are like web servers and database servers, which are daemon processors. So you can directly attach to them. And they all do that. Yeah. Okay. So here the code discovery also becomes much easier because if your application is using some dynamic loaded... dynamically loaded... dynamically loaded libraries, then the libraries code would also be loaded first in the address space. And when it is about to be executed, at that point the instrumentation engine can insert code in it also. So just like in static binary, we have to explicitly go and look for third party libraries and add code. It's not necessary here. And this even takes care of self-modifying applications. So self-modifying applications modify their own source code as they are executing. So that would also be taken care of by this. We would see how this works after some time. Okay. Let's move to PIN. So PIN is a dynamic binary instrumentation engine. It is not free. It is freely available, but it is not open source. You can go to this website PINTOOL.org and download the PIN plate for your OS. You will get a compressed archive. You decompress it. There is nothing to install. As you decompress, you are ready to use it. It works on H8632 bit and 64 bit platforms and all the major operating systems when it was Mac OS. The Mac OS support is relatively new. I don't know how it works. Well, it works. It can instrument unmodified applications like database servers, web servers, web browser. You can run an application on any of these operating systems and you can instrument it. That's it. So PIN, if you actually get a binary PIN a binary of the PIN instrumentation engine. So PIN instrumentation engine exposes a rich set of APIs. Using this API, you can write in C or C++ your own instrumentation tools. And these instrumentation tools are called PIN tools. There are a lot of sample PIN tools provided in with the PIN kit. This is the path name of the this is the directory in which the sample PIN tools are. So as I told previously that PIN is a dynamic binary instrumentation engine. So what it is doing is that it reads the original application code and it is generating some code for this corresponding to this application code. While it is doing this, it uses the information from the PIN tool to modify this generation process and what it will do, it will insert some extra code which PIN tool will tell. This is where it wants to insert extra code and what code it has to insert and PIN would actually do that for the PIN tool. So PIN uses PIN tools to instrument applications at real time during the dynamic binary combination and PIN tools can be thought of as plugins which modify the code generation process of PIN. So are you clear about the this tool is just in time just in time compiler just in time compiler. It is similar to a just in time compiler. Just in time compiler you are generating machine code corresponding to some byte code. Here you are generating machine code corresponding to this. This will also generate the time process for executing. Yeah, it will do all these things at one time. When the application is executing, at that point it will be executing the application and at the same point it will be adding some extra code in the application and adding some extra code also. So PIN tool consists of instrumentation and analysis routines. These are simple functions instrumentation routines are actually instrumentation routines are called by PIN whenever new code has to be generated. Whenever PIN is about to generate some new code it will call these instrumentation routines. So when an instrumentation routine actually investigates the static properties of the original code and decides if and where to inject calls to analysis routine. So what it is doing it looks through the code and it decides whether I want to inject some code over here and it will inject calls to analysis routines. Both of these are contained in the PIN tool. And so once it has decided that it has to insert some call to analysis it will ask PIN to insert that call. So once the code is generated it is stored in a cache and it will be renewed. So if you have a for loop which has some number of iterations so the first time when the first iteration is being executed at that point PIN will generate the code for the first iteration and while it is generating code for the first iteration it will instrument it also. So when this first iteration has been executed for the second iteration it won't again call the instrumentation routine to generate code because it has already cached that code in the code cache. So this using cache to store the generated code is an optimization of the string time compiler to reduce the cost of code generation actually speeds up the process so just to clarify this cache is not a hardware it's a software cache it's a part of memory this is for storing the so as long as the generated code is there in the code cache instrumentation is not required it can directly execute the code and so for some application code which has already been instrumented the generated code is present in the code cache so if that code store this lifetime remains in the code cache the instrumentation routine won't be called again for it so most of the time this code the sign of code cache is sufficient to cache the whole application so instrumentation function would only be called for the original code once so these are called at most once for an application so these are instrumentation and so viewer injecting calls to analysis routine so analysis routine actually define what the instrumentation code would do and so this is the original application code for this the generated because we are translating from machine code to machine code the generated code would also be almost similar to it so instruction would remain same the register allocation might differ and we have inserted a call to analysis so this is the original code we have the pin has generated this code for it and the pin tool has instrumented this code and injected a call to analysis one function so each time this compare instruction is about to be executed just before this compare instruction this analysis function would also be executed so each instruction which has been instrumented the analysis functions would be executed each time that instruction is also executed you get this so the instrumentation routines are telling you what instruction to instrument so you can where to instrument you can put it after instruction before instruction we will talk about that analysis routine is telling you what to do so the where add the where and the what here is injecting call to analysis routines and the where is decided by the instrumentation routine instrumentation means only inserting calls yeah and these instrumentation functions would be called at most of the time once for each instruction and the analysis function would be called each time that instruction is executed so just one more comment so you can see that the instrumentation in the best possible case should be invoked exactly once for each instruction assuming that you instrument every instruction so provided of course we have space encode cache and all these things whereas analysis routine for a particular instruction will get invoked every time that instruction is executed because the code has been so generated code contains a call to this analysis routine so each time it traverses this code path this analysis function would be called so analysis routine would be called each time it traverses this so so pin tool consists of instrumentation analysis routine but so pin tool also registers which instrumentation routine pin has to call so it registers a call back to the instrumentation routine which pin should be used and pin tool so just like it was registering call backs to instrumentation routine pin tool can also register call back for notification event call backs to routines for notification event these notification events can be thread start thread end fork of a child process or these can be the application end or image loading and unloading here image refers to a library which has been binary file which has been loaded so whenever a binary file for a dynamic library is loaded we can call a function we can register a call to a function so these are actually these event notifications are generally used initializing some part of the pin tool so pin tool is a cc++ program you write it you compile it you create a .sofile for a library is this visible so you compile it you get a pin tool .sofile and instrumentation engine is provided with the pin grid so you supply the pin tool to the instrumentation engine as a command line argument and after this double slash you supply the application that you want to instrument the application binary so these pin tools either you can use the pin kit sample tools or you can write your own and you can attach pin to already running process for that you have to supply the PID of the process with the dash PID command line so you are going to get some examples of the PID after this there are already examples so you get this so let's look at a you are trying to write a pin tool which actually counts the number of instructions that have been executed so the code the assembly code here is actually the applications code and what we want to do is that we want to insert these counter plus plus we want to increment the counter when insert code to increment this counter just before each instruction so whenever this instruction is about to be executed just before it the counter would be incremented so in this way you can maintain the number of instructions that are executed so just one question so in that example in most cases we try to incline the analysis function so it was inserting calls to analysis routine so here our analysis routine would consist of incrementing this counter but pin so you compile this pin tool so it also does compiler optimization so up there it will see that it is a simple function so most only it will incline these functions so this is what we want to do suppose that we have written this pin tool and so we want to instrument ls so this is what ls normally prints when we run it with pin like this this is our tool ins count 0.so okay I see so you are running ls in some directory which has these files and when we run it with pin it gives the this is the output from ls and this is what pin tool will output okay so it will it will give us the number of instructions that the ls command is executed does anybody follow this one okay so yeah this is the pin tool and by after double slash this is the binary that we want to instrument so you want to show the pin tool yeah for this so let's see so this is the code for the ins count pin tool it's a simple c++ application and this is the file in the pin kit in the source tool folder we can just take in from this file okay so let's see this source code it has some header files we include the pin.h header file because we are going to use the pin API functions we define this 64 bit integer value this is the counter which is going to keep the count for number of instructions which is executed initialize it to 0 then we have this do count function which increments this counter by 1 whenever it is called then we have this function instruction it take some arguments and this calls this instruction ins insert call function okay this is a pin API function we will talk about the input argument but let's see the third argument the third argument is a pointer to this do count function okay so the third argument is a pointer to the do count function okay now the other function is the phini function we will talk about what are the input arguments are and it just prints on the standard stder the iCount value okay in the main function so this is your pin to encode in the main function we have 4 pin API calls the first one is pin array then is ins add instrument function this takes a pointer to the instruction function so this instruction function is defined over here okay and then there is pin add phini function this takes a pointer to the phini function which is defined in the pin tool so we are using function pointers quite a lot okay and then there is pin start program okay now so pin in it actually takes a command line argument you can pass some command line arguments also to the pin tool so here we are passing the arguments to the pin to initialize the command line arguments and runtime system but can you overwrite the phini function no you cannot right you have to always so your pin tool will all this will be the first function that your pin tool will execute this has to be always present so it's internal cannot explore you cannot you can't modify any of these yeah yeah now I am saying you can here atleast you can pass a function pointer there you don't have any problem yeah so so ins add instrument function is so it takes argument as the so this is our so through ins add instrument function the pin tool is registering with pin what is the instrumentation routine to call when it is about to generate code so this says that whenever pin is about to generate code for an instruction it should first before generating the code it should call the instruction function okay so this is the instruction function instrumentation routine it would be called each time pin is about to generate code so let's see what we are doing in the instrumentation function the instrumentation function takes as the input a reference to the instruction for which pin is about to generate code and the second argument here is the the argument that is passed here okay so this zero is passed in plus you might also want to mention that it's the IAIS prefix I would okay you will be able to so this is registering whenever pin is about to generate code for instruction it should call this instruction function before that and the second argument here is this zero so we not use this much so most of the time it would be zero okay now let's see what we are doing inside the instrumentation instrumentation function here we are calling this INS insert call function here we are so we want to insert call to this we want to increment the counter at each before each instruction okay so we are saying that before this instruction we want to we are asking pin to insert a call to this do count function before before it generates before the code for this instruction okay that's the second argument this is the IAIS mentioned before that's why I am saying so we would talk about this I point before to leave it for now and this IAIS again we will talk about these okay so INS insert call is saying asking pin to inject a call to do count function before it generates code for this INS okay this instruction function can be called anytime no this instruction function is the instrumentation function it will be called by pin whenever pin is about to generate code for an instruction okay so suppose that pin is about to generate code for this compare instruction so before generating code for it pin will call the instruction function the instruction function says that insert a call before before you generate code for this function to insert a call to this do count function okay so call do count then pin will generate code for this instruction okay so this how does it know when to call this function you are saying before doing instrumentation how does it know when to do instrumentation that is I can know but that INS prefix isn't it telling it that you should do this for every instruction I have come to I am saying that INS instrument add function is saying that whenever it is about to generate code for instruction it should call this instruction function first and this instruction function is the instrumentation function it is asking pin to insert a call inject a call to do count function just before it it generates code for this this particular instruction okay you any doubt see can I say this function with this another function yeah yes you can have as many instrumentation functions you can have another instrumentation function which may be inserting call to some other analysis routine okay you can insert call to the second analysis routine here on you you can do another INS insert call some do count to specific function add this call to specific function so you are saying that suppose whenever printed is being called so till now we are not analyzing what this instruction is this instruction may be called to printed we can even analyze that I will come to that so this is just introducing what instrumentation and analysis routines are do you understand just one comment here is that the purpose of phini is to so the do count is the analysis routine okay now let's focus on this pin add phini function okay before that so this is your instrumentation point in the next slide I will talk about instrumentation point and this is your end argument to the insert call so that's a marker yeah that's a marker okay now so I told you previously that printed can also register callbacks to even for instance callbacks to routine for even so pin add phini is registering a callback for phini function whenever the application is about to exist so it registers a callback for application and even whenever the application is about to exist it will call this phini function okay so that's what we want to do whenever the application is about to exist we would print the number of instructions that have executed okay so this function just prints count and the instructions that have executed is it abnormal anyway yeah at that point also this will be gone yeah so you can use this function for any other purpose whatever you want to do at termination so in this case we are just using a count yeah here we were counting number of instructions so we just print the count I mean you may have allocated some exact memory for your print tool you may free it at application end okay so this even functions are generally for initializing and cleanup at the end so here can you see out also or is there a problem yeah you can use see out also not included instrumentation okay so when this function so here we were initializing the runtime system here we just registered with pin to call this instruction function when it is about to do instrumentation and in this pin at phini function you are registering a call to the phini function when it is about to end and pin so till this point the application has not started neither as the instrumentation and when we do pin start program so this function never returns actually okay so this return zero is just for compilers it's a long jump isn't it so this return is just to make the compiler happy this never returns so that one is a long jump okay and it basically when this function execute it starts the application starts the instrumentation process okay so these two functions would always be there in your pin to and you would add instrumentation routines and okay now let's come into the instrumentation point so if you remember that here the second argument was the instrumentation point okay so this insert call was taking the instruction reference as one of the first input then an instrumentation point and the third argument was the analysis routine so the instruction point actually it refers to a position relative to the instruction so if we look at this JLE instruction so there are three positions so so it says so whenever we are inserting call to analysis routine so we can say whether we want to insert call to analysis routine before this function before this instruction or after this instruction okay so before this instruction so we had in the last example we had given I point before okay so it will insert the call to do come function over here okay corresponding to this JLE instruction the after there are two positions because this is a branch instruction the fall through edge the fall through edge follows is the next instruction in the source and the target is this edge is called the taken edge okay so for the fall through edge we could use I point after and for the taken edge we can use I point taken branch okay so if here we would have given I point after then what would have happened is that this okay if we have given I point after then this counter plus plus would have come here okay it would have happened in Saturday so this is this is a problem only with branches doesn't mean it is in the after a branch there could be two possibilities depending on which way the branch goes okay so both of these may not be even defined for some instructions so if this is a unconditional jump okay so there is no fall through edge after it okay so because it will always jump so I point fall through edge I point after is not valid if this is a conditional branch unconditional branch only the taken edge is valid or or if this is not a compare if it is not a branch instruction like this is a compare instruction there is no taken edge here okay there is only fall through edge here so these two may not be defined for each instruction but I point before is always defined for an instruction most of us in the previous example instead of I point before I specify I point after will so that may it will compile correctly right yeah it will compile correctly but so it will not be able to count the taken branches so you would have to actually somehow modify your instrumentation code so what if I specify both yeah you would have to specify both so in that case will they be counting for non branch instruction no right because the other part does not exist will you understand what servers say suppose that in this example here we do not want to insert call before the instruction we want to insert it after the instruction so if we give only I point after so what may happen is that for conditional branches I mean this counter plus plus would never be executed if the branch is taken for conditional branches yeah yeah for conditional branches if the branch is taken then the counter plus plus which is just after it would not be executed so we would insert the counter plus plus on both these parts I point after and the taken branch so maybe I clarify one thing we talked about this branch delay slot last time makes sense it does not have anything of that sort it submits specific thing so here there is no delay slot just to be very clear so most of the time we would be using I point before but some for branch predictor study we may have to instrument use these use these so for example if you want to know just given a branch how many times you take the fall through how many times you take the taken part then these two will be very important otherwise you can of course use I point we can even do that with I point yeah right so at I point so now let us look at another example so this here we want to print the instruction trace the instruction trace I mean the instruction address for the instructions executed so we would insert call to this print I P function and we will supply an input argument as I P so here we need to pass an input argument to the analysis in the previous case we were not passing any input argument so just for classification just about background in the Indian world I P refers to instruction instruction point same as program which is just printing the instruction pointer of instruction so this tool also works in a similar fashion this is how we will use it I trace dot so we will write a program I for it and it will so it is just printing it is not outputting anything on the standard output or terminal basically writes in this I trace dot out file so when you run it it will create this I trace dot out file and this I am showing some part of the I trace dot out so it will print the instruction addresses in acceleration see the first four instructions first four instruction addresses I P is the I P is the I P is the I P is the instruction pointer which I P will provide it will compute I P it will print I P is the I P is the function we would analysis function that we will supply so here just one we go back to trace so the first instruction is one byte is it first instruction is one byte second one is three byte second one is pretty large I P nine one P four this may be a jump this could be a jump ok so x86 instructions are not of the same size they are variable size instructions yeah it is hard to say ok so this is the code for this is also taken from the sample ok so here the analysis routine is print I P so it is taking an input argument I P ok and it is just printing the this I P ok the the here this code is almost same except that we are creating a file it is not I when the program starts and in the phoenix we are just closing this file ok and the instrumentation registration is almost same the phoenix so look at the instrumentation function this has changed so here we have some more arguments we are passing some other arguments to the this INS insert call function we are passing IR instructions for it ok so this is the these are so what would happen what I here we are saying that so we are asking print to insert a inject a call to print IP function and we are asking it to pass IR instruction pointer as a input to the print IP function ok so it will IR instruction pointer is defined by the pin API it actually gives you the instruction for the current instruction whatever it is instrumenting ok global environment you know it is a it is a what is that type has to be like is it for example in main can I access IR instruction pointer in main no so this is kind of a I would say hash defined so anyway ok so I am just saying that it just gets basically pin provides API function INS address to that function if you provide the instruction reference as input it will give you the address it is a macro yeah it is a macro IR instruction pointer is a macro and it is just saying that inject a call to print IP function and give this instruction pointer as an input to it ok this analysis function can have any number of arguments yeah this analysis so analysis function can have any number of arguments and we can so in the INS insert call we specify what all arguments we want to pass the first three arguments to these always most of the time are changed the first one is the instruction the second one is the instrumentation point the third one is the analysis function that we want to and after the analysis function we can specify any number of arguments we want to pass to the print IP analysis function and IR again actually is a macro which specifies the end of the arguments to INS insert call ok so whatever is between print IP and IR again would be passed as input to print IP function for example if I wanted to pass a file pointer this would make me robot yeah you can do that so yeah if I define file pointer over here it will be available to this I open it with the instruction yeah and then pass it so yeah you can do that ok so is this clear yeah so example of arguments to analysis routine so we can pass an integer value so we can we could have written I have not shown the ok so this is what INS insert one so these two arguments are still almost the same if you want to pass a 32 bit integer value to this function as an input we could say IR UN32 and then we could 6 ok so what this is saying is that it is used like this so these macros some of these this IN32 macro this is not supplied alone just like IR it is supplied with a value ok so you have to give the value also with it so you give UN32 and then the value after a comma the value so it will pass the value 6 as a 32 bit integer value to the analysis function see it can be a variable also yeah it cannot be a constant yeah it can be a variable also that's the problem yeah so it is so this is just the type of ok and IR instruction point is a macro it is actually so transformed into IR UN32 comma INS address instruction ok and there are other so we can also pass register values to functions I am not shown examples of these but IR register value and then the register name so pin would pass the value and we can pass the branch target address so this is also a macro it will get the branch instruction from the instruction the branch target address from the instruction and it will pass it as a 32 bit it will pass it as an instruction value to the function and we can even pass memory address we would see exam how to use them further and there are many more you can pass any number of arguments just stop now one more example ok so till now we have been instrumenting we have been inserting code just at each instruction ok so if you want to do a cache simulation ok we want to print a memory trace so we want to insert code to print so suppose that we are doing memory trace ok so we want to insert just before each load store instruction not before ALU instruction ok we want to insert code specific to some instruction so instrument what a memory trace is first just a sequence of yeah so this is the memory trace so this is the instruction address so this instruction PC value and the memory trace is saying that this instruction did a read from this memory address ok so similarly this instruction did a write on this memory address this is the memory trace so we want to collect this memory trace ok and so till now we were instrumenting at each instruction but if we can collect memory trace through that mechanism also but that would be inefficient there are lot of almost one those are all the instructions are memory instruction we do not want to instrument it ok we want to instrument only the instructions which are load store instructions ok so this tool pinna trace does that prints the memory trace it is also there in the pinkit and this is the code for it kind of do you want to take it out next time so I have put a link to link to our code website how do we start playing this is the website yeah it is linked up with the code website also there is a manual there on the website all these examples have been taken from that manual kind of a tutorial we should go through that tutorial so we will finish this up next time this is the outsize tutorial for you once we are done we will post the course for more


Ranger Bill, warrior of the woodland, struggling against extreme odds, traveling dangerous trails, fighting the many enemies of nature. This is the job of the guardian of the forest, Ranger Bill, pouring rain, freezing cold, blistering heat, snow, floods, bears, rattlesnakes, mountain lions. Yes, all this in exchange for the satisfaction and pride of a job well done. Hi there, boys and girls. I'm Ranger Bill, here to tell you another story of the West. I wonder if you recognize that sound. Horses hoops, you'll say, and you'll be right. But they're a different kind of horse, a wild horse. Yes, there's still a few herds of real wild horses left in the West, not very many, but a few. Folks say these horses are all descended from pure bred Spanish horses. Horses brought over here hundreds and hundreds of years ago by the conquistadors. Mostly they're what we call scrub stock, small and runny and not much good for anything. But once in a while a real beauty will turn up, throw back to the original breed. Now remember, these horses are really wild and they can be very fierce and dangerous. Our story today is about one of those special horses, certainly the most perfect, the most beautiful horse that I ever saw. What happened to him and to Henry is what I call the story of the Snow White Stanton. Paiute? Huh? You asleep? Me no sleep, we on big hunt now. Me quiet, me watch, me look. Me look? Okay, me quiet, me look, me watch too, huh? Just lying out here on the prairie in the sun makes a fella kind of sleepy. Not Indian fella. Say, you think we'll see any of those wild horses today? I think so, watch over by draw. Sun start go down pretty soon. Horses come out of draw, go get drink of water, it's slow. I never saw a wild horse. Me see plenty. I was never in wild horse country before. I came with Ranger Bill, he's here to investigate something about grass on the prairie. He's a conservationist. Huh? Well that means he takes care of the game and trees and flowers and stuff. All Indian do same thing. Yeah, my friend Grey Wolf, he's an Indian too. Scorched down quick, I think horses come. Okay, right down flat in the grass like this. Wild horse have sharp eye, see everything. How can you tell the horses are coming? See over edge of gulch, see little whirl of dust? Yeah. Horses feet make that. You watch now, scrunch down good. Okay. Kale, you think it drink now? Why you, do you see, do you see? I see, that what I want show you, that why I ask you come. You see now? Yes, I see. I've seen something I never saw before. A Snow White Stallion. King of wild horses, best horse in the whole world, me guess. Snow White Stallion. There they go, back to gullies and gulches, bad country. We don't see more today. Hey, what matter you? You sleep this time?   Snow White Stallion. Now, sir, Tantra got here. That serves the purpose. Sleeps before, I see. Yep, me and Henry and Grey Wolf over there and Bill, he's the forest ranger. Him that is, and they call me Stumpy. I'm the chief cook and bottle washer. Bill! Kale, let me introduce myself. My name's Hivastraw. I understand you're the head man around here. Well, temporarily. We'll camp out on the prairie here for a month or so. I'm making a comparative study of some of the prairie grasses for the government. Conservation stuff, I presume. I'm all for it. Which brings me to my point in the hurry. I found out the ranchers and farmers in this area have been bothered by two or three herds of wild horses. Stampedon, smash and fences, scaring cattle, beaten down grand. Well, it's been a hot summer. They'll go back to the hills and the wasteland Not if I can help it. How's that? Well, I met me a little trip to Washington. Talked to a couple of the right people and ended up with this permit to shoot up to 500 of them wild horses. What? Shoot horses?  May I see the permit, please? Yeah, I got it, right here. Thank you. There you are. All in order. I can't stop you, Mr. Havrestraw. I just hate the idea of shooting any free wild creature, though, especially a horse. Oh, don't be sentimental. Man, think of the money I can make on them hides and the horse meat I can sell. You know, they buy it in South America. I know. Well, that's it, eh? Yes. Well, I guess I'll be going along then. Maybe I'll see you around some day. I'll go polish my rifle. So long. Then, when the whole herd came down to the edge of the slew to drink, this one horse stood off to one side. Sure, he later. He'd keep watch for danger.  Mary's a little cold at all.  Ah, he could later, all right. And then he gave kind of a sort, like a signal, and they all took off back into the scrub hills again, and put him out in front. And, great wolf, you know what? He was the most beautiful horse I ever saw ever. He was snow-white. Not a mark on him anywhere, and he was taller and bigger than all the other horses. And his mane and his tail was as white as snow, too. I think I hear of that horse. Plain Indian call him King of Wild Horses. Yeah, that's it. That's what Paiute called him. Who, Paiute?  Lives on the reservation. He spends many more at the general's store. He knows all there is to know about planes and stuff like that. I can say, great wolf, Paiute says that the Indians used to catch wild horses and tame them. Long time ago. No more. Indian ride jeep now. Did you ever catch a wild horse? No. Not one, too. Why not? Wild horses belong free.   Ah! Right. Wild horse got to be free.  But Paiute said... Ah, catch scrub horse, maybe. Cows, pinto, maybe.  Just the same. I'd like to... You'd like to what, Henry? Oh, nothing. Paiute, do you think we'll see those horses again today? Not today for sure, me think. Not. Like I tell you and tell you, you must forget awful easy. Me tell you, wild horse never drank two days same place. Maybe every other day. Well, I did hear you, but I thought we might as well come on here just in case. Sure. Nice place to lie down and rest. Plenty sun, plenty grass, plenty lazy. Suppose that anybody was just to try to catch a horse like the stallion. What would he have to do? He would follow horses many days. Find out where they travel. Horses travel the same way every few days, you understand? I guess so. You mean they follow the same route over and over? That's what I said. Into hills, out of hills. Same way every time. But how could... I mean, how would discovering their route help anybody? Find gulch, gully, narrow place where horses pass through. Hide there, wait behind rocks. Come by, jump out very quick, lasso horse you want. Bad to do, though. Dangerous, only strong man. Very, very good lasso thrower can do. I can throw a lasso? What you say? Nothing, nothing at all. But nobody ever catch snow white stallion. Too fast, too smart. Nobody want to break horses heart. Did you ever lasso a wild horse, Bill? No, Henry. Never even tried. Don't want to try. Not ever? No, not ever. The wild horse is one of the very last of the free, wild, beautiful animals here in the West. It's a thrilling and inspiring sight. See, I heard a wild one swayed by.  Of course. It'd be mighty fine to own one of those horses. Really good ones, the leaders, can't be trained, Henry. They value freedom more than life. To them, a halter is death. Did you ever happen to see anybody? Just happened a lasso a wild horse? I'm sorry to say I did. Three Easterners came out here, hired a couple of renegade cowpokes, and lasted a circle. What happened? Well, the man ended up with a sordid broken arms and legs, and what scrub horses they did manage to catch, broke out of their corral, ran away. The Easterners went back home disgusted. No horses? No horses. Well, I'll bet that I could... You could do what, Henry? Oh, nothing exactly. Henry, I hope you're not daydreaming about catching a wild horse. Be dangerous, foolhardy, above all wrong. Wrong? Yes. Henry, some things are just born to be free. Do you ever see an eagle soaring around high up in the sky? Sure. Looks mighty grand and glorious to see him up there, wild and free, doesn't it? Uh-huh. Have you ever seen an eagle in a cage? Yeah, once, he was all hunched up. He looked like a dusty old mop. Of course. The eagle has to be free. And the wild horse is the same way. Tie him up, put him in a corral, break him. You break his spirit.  Always? Always. Without his freedom, he doesn't even want to live. But maybe just once, just once... No. But a fellow could try, couldn't he? Try to catch a wild one? Yeah. No, Henry. If he really loved animals and was a good fellow, he wouldn't even want to try.  Indian dog, yeah, yep, yep. But no bite. I'm not afraid, exactly. Hey, you dogs, quit now. This friend. We go see my uncle now. Just like you asked me to bring you. I bring. He's sit over there under tree. Yeah, I see him. Boy, he looks pretty old. Plenty old. Know everything. You think he has a lasso he'll trade me? Maybe so. You ask. By way... What? My uncle, he knows speak English. He understand, but know speak. Well, how will I know what he says? I'd be interpreter. Here he is. Hello, uncle. This is my friend. He want make trade. Hello, Mr. Indian. My name's Henry. I was just wondering if you had an old lasso you might want to trade for something. Any old lasso. I've got a fishing knife here and this bell with this big brass buckle and this sharpening stone. Oh. Oh. Oh. Oh. What do you say? He say, what else you got? Well, I got these number four fish hooks here and this nylon line and... Oh. He nod head. You give him those things, he give you lasso. All right. Here you are, Mr. Indian. Thanks. Thanks for the lasso. Talat. Not all, only one day. Talat. Talat. What's he saying now? He give you warning. He know everything.  He say, talat. That being bad medicine. Well, just the same. What? Oh, I was just thinking. Let's go. I want to practice with my lasso, okay? Okay. And kill. Hey, Stumpy. Stumpy, you got time to talk. I'm so sure I got to practice this here new tune I'm making up. Are you right tune? Well, sure. I got the name all made up. All I got to do now is figure out the tune. There the name is in the moonlight on the prairie west of the great divide. Long from my Indiana home back where the sun shines brightly all the day. Name longer than tune. Say, you see Henry? Nope. I never see Henry. He's got that there engine panel and him and him is gone from sun up to sun down. Yeah, that's right. Looking for horses. You ever hear such a thing? Young boy, good idea. Plenty hard, good idea out of his head. Ain't no harm in watching horses, is he?  I reckon so. When he ain't following them wild horses, he's practising with his lasso. I showed him a few tricks I learned when I was a whipper snapper. He was like a lasso ten head of cattle at once. What? Well, five in a ways. How many? Well, one usually. He's getting mighty good out there, lasso. That's right. Henry tell you what he want to learn lasso for. Nope. Never ask. All he ever thinks about morning, night, and noon is that snow white stallion that's the lead horse in that wild herd that hangs out around that mace and them gullies. The snow white stallion, he says. And he gets a dreamy look like he was imagining he was one of them there nights in a tin suit. Holder, holder, I just got an idea for a tune. How many times we've been out, not follow horses trail into hills. Oh, I don't know. Six times, eight times. Every time we come back farther, by and by we get as far as we can walk. Each day we trail farther back.  What kind then? A narrow place where the horses go through where a fella could lasso a horse. If he wanted to lasso a horse, that is. You won't look for a place like that. You don't look any further. See down there? Yes. Yes, I do. A real narrow place between those two big rocks. Hey, there are other herd tracks right in between. That horse path we use every day. Every other day, maybe. Hey, let's crawl up all those rocks and wait. Maybe they'll come by. Maybe come by. Maybe not. Hey, this is the place. This is the place for sure. Place for what? Oh, just the place. No talk loud. All right. Scorch. I'm scrunching. You're lucky. I hear horses. Hey, I do too. Hey, but I hope it's the Snow White Stallion. I saw him. He was there. Right out in front of the herd. Why, when he passed me, he wasn't more than 10 feet away. You make good Indian. Horses, no scared. No catch on we hear. Did you see him? Sure I see. Hey, what you do with lasso? Oh, I just thought I'd see if I could for fun. Just if I could throw the lasso over. Over any old horse's head when he went by. Now whirl it around a few times. And there. Wow. Boy, if he'd if any old horse had been there, why that lasso would have gone right over his head. And you'd be dragged to Montana by now. Notify to snub the end of the rope first round this big stump here. You pretty good cowboy. Did have a horse like that. Well, I guess he'd be the most famous horse owner in the world. Hey, who's that over by our tent? I don't know. Look like important man. Yeah. Hi. How are they? Looking for Bill? They're all out on the prairie somewhere. Well, it was, but you can give him the message. Sure. Tell him Havastraw dropped around to tell him he was ready to start. Start? Right. I'm Havastraw. I start shooting over next week. Before the Ranger'd note was me, so that when they heard rifle shots, we wouldn't think it was engines on the wall path. Shooting? Right. Got all the spots lined up now. But there's nothing to shoot around here. Nothing big enough for a rifle. Oh, yes, there is. But use your head, boy. There's some animals around here big enough to use a rifle on. None that I ever saw. Big enough to shoot. Then sail the hides and the meat too. Well, you can't. No, you can't do that.  Who says it can? Boy, you just can't, that's all. Boy, you might even shoot the Snow White Stallion. Him? He thinks he's the boss horse out there. Why, he'll be the one to nab first. He can stop, lad. Same as any of the rest of them. No. No, you mustn't. You can't. You just can't. Hey, what's the matter with you anyway?  It's a wild horse. It don't belong to anybody. No, it's not so. The Snow White Stallion is my... I'm sorry, Mr. Haverstraw. I got kind of excited, I guess. Maybe you'll excuse me now. I got something I have to get busy with right away. I've got to hurry. I've got to get that corral built before that old Haverstraw gets a chance to take a shot at my horse. Nobody can touch my Snow White Stallion. I'll catch him for myself. Where, Henry? I haven't gone out again. I saw him leave before dawn. Had an action to spade and took along a lot of those big nails. Ah, look like young brave do foolish things to learn how to do wise things. To hurry, I've got to work fast. There. Just about done. Best little corral I ever saw. Hidden away behind those rocks, not 30 feet. Where I'm gonna lasso the Snow White Stallion. I listen, old great chief. What? Oh, yeah, that's me, ain't it? That what you tell me, call you. Huh? Oh, yeah. Say, have you seen Henry lately? Sure. Where? What's he up to? What's he doing? Where does he go? I forget. 4.30. Half past four in the afternoon. As of the time those horses come by here every second day. I've timed the whole thing over and over. I've got to come along this path between these two rocks any minute now. I'm ready. I can lasso the Snow White Stallion. He's always the first horse that makes it easier. I've got the lasso snug tied around his tree stump. Then I can chase him into the corral I built without unstubbing the lasso and letting it get off him around his neck. Then I can slam the corral gate and the Snow White Stallion is mine. I don't care what Paiute and Paiute's uncle, Grey Wolf and Stumpy and Bill said, I want that horse. He's mine. I saw him and I want him. Here they come. I see them. I see the Snow White Stallion. I've got the lasso. I better get ready here. He must send danger. Oh, he's coming on. He's out in front alone. Closer. Just a little closer. Yes, Bill? Let me ask you a question. All right. You've been looking worried the last day or two, or something on your mind? No, not especially. Anything you want to tell me? No. Well, if you ever do have anything that, well, weighs on you, just let me know about it. Here come Horse Hunter Hevers draw. Oh, yeah. Um, hello, Hevers draw. Mind over, sit down. Yeah, don't mind if I do. Can't do any hunting. Why not? Mind a peculiar thing. Just when I was all set to start after the horses, the white lead horse disappeared, vanished. But out in the scrub horses scatter, so I can't get a shot in. The Snow White Stallion is gone? Hmm, haven't seen him and can't find him. I see him. Say, what's the matter here? Everybody has a long face. I'm the one that ought to be upset. Gloomiest bunch I ever saw. Something wrong? Ah, maybe. Maybe not. Ah, here your friend Pyrr. Hi, Pyrr. Hello, Henry. Hey, where you been? I can't find you. Look, look, no find. Where you go all day? Oh, around. Have you not been around here? At least two, three days. That for sure. Hey, why everyone's so sad? Somebody sick? No, sonny. Nobody's sick. Not exactly that is. Maybe we go look for horses tomorrow. Hey, Henry? No. Change of things for a while. I thought them horses was... That horse was all that... Well, uh... Hi, everybody. I'm... I'm going to bed. Well, Bill. Bill. What is it? Bill, I want to talk to you. Well, I'm glad to meet you. I haven't slept all night. I'm worried and scared and... I've got something I want to tell you. I didn't have the nerve before. Mm-hmm. Bill, I caught this Snowice Dian. I've got him pinned up in a corral. Yeah. Yeah, I know, Henry. Huh? We all know. The wolf and I have seen you down there trying to feed him. You knew? I knew all along, son. I was, uh, just waiting for you to tell me. Bill, I'm so worried. He won't eat or drink water. I can't get that tight lasso rope off around his neck and... What do we do? What time is it? Nearly dawn. Good. Let's go over to that secret corral of yours and pay a call on the Snow White standing out. Well, there he is, Bill. Looks kind of sick, doesn't he? Yeah, he sure does, Henry. Look how his hide isn't even glossy anymore. Eyes are dull. He got that rope off his neck, though. All cowboys can do that. But he won't eat, Bill, or drink water.  Looks like he might die. What'll I do, Bill? Well, Henry, he's your horse. You wanted him. You caught him. Everybody told me he'd die of a broken heart. I didn't listen. What'll I do? He's your horse? Bill, let's let him go. Henry, I never heard you say a better or a wiser thing. Here, let me cut the thongs of the gate. Okay. Pull her open. Goodbye, Snow White stallion. Go back to the prairie. Be free. Goodbye. I'm sorry I tried to break you.  Henry, listen. Thunder. The rains have started. I didn't even notice the sky. Henry, I wonder, maybe the Lord approves of your decision. He thinks you've been honest in admitting your mistake and in trying to make amends. And so he's showing you his approval. Oh, that thunder. Now the rain. That rain will build the creeks and rungs, and the wild horses can go back to their own mountain valleys where men like Haversdorf can never find them. They can go back and... There. They're on the horizon. There they go. And leading them back to freedom is the Snow White stallion. See you next week for another thrilling adventure with...


space, a mysterious thing, right? It is always beyond the imaginations of the human beings and what can we do about it other than admiring at it, gazing at the stars and wondering what they are made of and finally hoping that we'll also get an opportunity to go there and see for ourselves what they are made of and what wonders it holds that makes it so attractive and catchy. If you also want to go to space, you should know at least one thing about the launch vehicle that sends you to space, right? And here's about the launch vehicle that is going to send you to space. See, yesterday ISRO chairman announced that ISRO is developing a next generation launch vehicle and this will replace Polar satellite launch vehicle PSLV See, the chairman also said that NGLV that is the next generation launch vehicle will use semi cryogenic technology. See, it is both efficient and cost effective and he also highlighted that the new rocket could also be reusable. See, if it is made reusable, it is going to have a smaller payload that would be around 5 tons and also if the rocket is made expendable, the payload capacity will also further go up to 10 tons. Now using this opportunity, we are going to learn about the differences between Polar satellite launch vehicle PSLV and Geosynchronous satellite launch vehicle GSLV. Now the first difference is based on the generation. See, PSLV is the third generation satellite launch vehicle of India whereas GSLV is the fourth generation satellite launch vehicle of India. Now you may wonder, then what is the first and second generation launch vehicles? See, they are satellite launch vehicle SLV and augmented satellite launch vehicle ASLV respectively. Now moving on to the next difference. Now this difference is based on the orbits and their use. See, PSLV has earned the title of work horse of ISRO. See, this is because of its consistent delivery of various satellites to low earth orbits. See, this is a gentle term. If the altitude of the orbit is low from the earth, then it is called as low earth orbits. It may range from 200 kilometers to 1600 kilometers and also know that PSLV is designed to deliver the earth observation or remote sensing satellites to sun synchronous circular polar orbits of 600 kilometer altitude. Now coming to GSLV. See, GSLV is designated mainly to deliver the communication satellites to the highly elliptical geosynchronous transfer orbit. This is the major difference. Now moving on to the next difference. Now this is based on the stages of the launch vehicle. First, let us see the PSLV. See, PSLV is a four stage launch vehicle with the first and third stages using solid rocket motors and the second and fourth stages using liquid rocket engines. And also know that PSLV uses six strap on motors to augment the thrust provided by the first stage. Here you have to note that depending on the number of the strap on boosters, the PSLV is classified into various versions like core alone version, PSLV CA, PSLV G and PSLV XL etc. See, these strap on motors and boosters, they will be mounted on the sides of the launch vehicle. Now coming to the GSLV. See, GSLV has three stages. The first stage uses a solid rocket motor, then the second stage uses a liquid rocket engine and the third stage uses the indigenously built cryogenic engine. See, the cryogenic engine carries liquid hydrogen as fuel and liquid oxygen as oxidizer. We all know why oxidizer is used, right? Because there will be no oxygen in the space. But for combustion to occur, we need oxygen and that is exactly why oxidizers are used. Now here also, GSLV uses four liquid engines strap on motors for the thrust. And there are different variants of GSLV launch vehicles based on the lift off capacity. They are GSLV Mark 1, GSLV Mark 2 and GSLV Mark 3. Now these are the three main differences between PSLV and GSLV. See, each and every point that we discussed today, they are very important for your examination. It will be useful for your problems as well as your mains. Have you all read the 2022 mains question paper? If you did, then you know that many questions have been asked which are related to statics. So it is always good to have your foundation strong. Only if you are very strong in your statics, then only you will be able to understand the current affairs. Especially when it comes to science-related current affairs, you have to have a base. So make note of all of the points that we discussed today. If you want to know more about the science-related topics and the current affairs related to it, follow the Hindi News Analysis of Shankarae's Academy. Thank you.


Hi and welcome to the session. I am Deepika here. Let's discuss a question. Find the values of x for which y is equal to x into x minus 2 square is an increasing function. So let's start the solution. Now given y is equal to x into x minus 2 square that is y is equal to x square into x square minus 4x plus 4 and this is equal to x is to power 4 minus 4x cube plus 4x square. This implies dy by dx is equal to 4x cube minus 12x square plus 8x and this is equal to 4x if we take common we get x square minus 3x plus 2 and this is equal to 4x into x minus 1 into x minus 2. Now dy by dx is equal to 0 gives 4x into x minus 1 into x minus 2 is equal to 0 and this implies x is equal to 0, x is equal to 1 or x is equal to 2. Hence the points x is equal to 0, x is equal to 1 and x is equal to 2 divides the real line into 4 disjoint intervals minus infinity to 0 0 to 1 1 to 2 to 2 infinity Now we will check in which interval our dy by dx is greater than 0. In teasing function dy by dx is greater than 0 that is if 4x into x minus 1 into x minus 2 is greater than 0. Now for x less than 0 dy by dx is also less than 0. This implies y is a decreasing function in minus infinity to 0 for 0 less than x x less than 1 dy by dx is greater than 0. This implies y is in an increasing function in an open interval 0 to 1. That is if we take the values of x between 0 and 1 then y is an increasing function. Now for 1 less than x x less than 2 dy by dx is less than 0. This implies y is a decreasing function in an open interval 1 to 2 and again for x greater than 2 our dy by dx is greater than 0. This implies y is an increasing function and open interval 2 to infinity. Friends, the values of x for which y is an increasing function are 0 is less than x, x is less than 1 and x greater than 2 and this is the answer for the above question. I hope the question is clear to you. Bye and take care.


Alright, we're moving on to our next sub-category, our second award winners for tonight for innovative creation of new mediums. Let's find out who the shortlist is in our Mleza. As a junior, what we were looking for is how do we make a simple idea, make it most effective and natural in a creative manner? What we loved about the winner of this category was the fact that it takes such a simple concept of a chai, tapuri and you know, everybody closes on a regular order style on a daily basis and he was exactly the medium to talk to the consumers, I thought it was brilliant, we actually thought it was brilliant.


Coming to you from RGIS Studios, I am Anitia Antoine and this is your midday news brief. The St. Lucia Blind Welfare Association has provided education assistance to some of its clients in the form of a check presentation just in time for the new academic year. The presentation was made possible through the many donors that have come to the aid of the SLBWA over the past year. The blind and visually impaired students are fully integrated within the regular school system. The St. Lucia Solid Waste Management Authority has commenced a phased approach to dealing with the overwhelming problems that landfills pose to the island. The authority this week announced the closure of the Viewfort landfill effective October 2019. In a temporary measure, refuse from the south will be transported to the Deglo landfill. The Solid Waste Management Authority says it is a necessary move given to the hazards of the Viewfort landfill. The Rutsan Soul Festival for 2019 has been expanded to mirror the benefits of the St. Lucia Jazz Festival. Rutsan Soul is dedicated to musicians who are setting new trends in the various genres of reggae, conscious hip-hop, Afro punk and R&B. This year there is a concentration on the transfer of skill and knowledge with master classes and encounters between artists and other actors in the music industry. The event is expected to bring together musicians, record labels, online music stores and platforms, specialized journalists and other actors in order to enhance market access for St. Lucia and other musicians and producers. The festival will commence on Friday 23rd August. The Department of Home Affairs and National Security has been made aware of reports that a group of persons is allegedly going to various homes where they would present documents bearing the purported letterhead of the Department of Home Affairs and National Security. The department finds those reports to be grossly disturbing and has contacted the police in an attempt to obtain reliable information in case reports were made about this activity. Additionally, it would be viewed as highly unlikely that this arm of government is the one that would undertake an exercise of voter registration and verification. Therefore, the department advises that persons should remain on the alert when approached by strangers. Members of the public are also encouraged to inform the police of anyone who may have approached them, purporting to be officers of the Department of Home Affairs and National Security. This has been your media news brief. Thank you for watching.


Everybody forced here ripping 2021 Donorus optic football hobby six box half case number 16 pick a team style Adam H. Bengals Anthony P. Bucks Brady and Packers Brandon a Falcons Caleb has the Browns Chris B. Dolphins David F. Chiefs Colts or no David F. Chiefs David K. Colts. Excuse me Hotaka Steelers James you Texans James M. Giants Jeffrey H. Patriots Jennifer with the Lions John P. Bears Jonathan H. Eagles Caden Seahawks Kevin H. Panthers and Broncos Levi Cowboys Matt L. Raiders Matthew G. Bills Michael P. Rams Minku Vikings Nicholas U. Saints Nick E. Titans Nick C. Ravens Ryan a Cardinals Sal with the with the Jets Sean T. Washington Sean M. Jags Steve F. Niners and towel in with the Chargers. Thanks everybody for joining. Good luck on the break This is half case number 16 Have Mountain Dew and cigarettes Rob. That's the breakfast of champions My breakfast of champions is two cups of coffee yep, my breakfast of champions and college was a chocolate chip muffin and a monster Jesus dude. Yep. Got the rookies trey Lance minus two cups of coffee and then a good till lunch Got me Brown Steven Collins hollow rated rookie Raiders Trevon Morrig Jamar Chase rated rookie base Aqua rated rookie Carlos Boogie Basham 299 Buffalo, maybe one more To 199 TJ Watt Orange for the Steelers guys personals very close to full probably call it full after this break Yeah, so last call for personals tonight. Anything doesn't go tonight is gonna go tomorrow night starting at 4 p.m Eastern Jacob Harris elite series Jamar Chase. It's personals all night tomorrow Champions here Levante David Bill Bucks Hunter long Sermon hollow for the Broncos. No offense Leatherwood, Aqua Ryan Fitzpatrick to two ninety nine Washington. I'm just gonna go to the sports work They're just like a bunch of bets Jalen waddle rated rookie blue Daniel Jones doll not dolphins but Giants to 179 How does a future bet work Pete Werner Red rated rookie Otto Michael Carter It's a 75. There you go Jets nice one there RPS It's like what has it worked just like We'll say you lock like Purple Robbie Anderson Panthers to 50 Like It's 125 silver circles time at you chiefs like say they go say they kill it and they're like 16 and they're 17 and I'll go into playoffs right Rashad Bateman, they're odds will be higher than I'll be higher, but you'll still get Gotcha figure something along those lines. Yeah. Yeah, Kyle Pitts rated rookie got a hollow Christian McCaffrey Panthers Just a technical term for it So Zavin Collins blue rated rookie Zona to 179 Jake Funk and Pink Velocity Saints Michael Thomas to 79 supplement. Well, here we go Must we're gonna get out of this one second and third no outs one run lead Good game here. Yeah I'm guessing the Padres hit like a solo homer or something. I can't Luke ounce back here for the door try and shrink I Say leading the best part is the wander out of the hollow rated rookie Michael Carter. It was non-auto. Oh, no Blue Heinz Ward out of 179 Steelers the DK Metcalfe Black Pandora downtown pretty nice last break Shy Smith rated rookie red hunter long out of 99 for the Dolphins. I'm not a ton of like Like huge products tonight. Yeah, Ozzy Harris rated rookie dominators Tom Brady Bucks No, it's Sam Perkins global Krishna Koye Brad's boy The Nigerian sensation Talon Wallace Hollow for the Jags James Robinson. There's got to be people that I've heard Brad say that and just stop watching forever Like I'm never going back to the other stars Trevor Lawrence rated rookie Aqua Miles Garrett at 299 Cleveland's Just heard that they're like no Jixie Horn to do that. Well orange rated rookie Rams to 199 Bill's Jim Kelly awkward at 299.  Oh boy. Sweet P Jalen Phillips gifted rookies Kellen Mons Sam's big Padres fan currently I am at this current time. Yes, Jamar Jefferson Kenneth Gainwell. We've got hollow Austin Eckler chargers Tommy Trimble orange James Robinson out of 199 Jags we're having that discussion today She will hover blue Chase Claypool To 179 Washington, I say chase table. I meant chase young excuse me Chase young clearly Do as I say not as I or do as I do not as I say legendary logo is Mack Jones Yes, added rusher they both have dreads. So I got Cal Trask People are shreds, right? Are they braids? I don't know Kellen Mon rated rookie blue auto nice one Vikings. That'll be out of 99 Another thing is all the RPS's are numbered. Yeah He and book rated rookie silver circles Quinn miners Broncos to 125 The autos and optic are much better than selection prism. It just is what it is. I mean, there are some sticker autos There's rookie. There's ready ready rookie auto and rated rookie RPS. So I Think it's different from years past, but they probably made more of it this year Gifted rookies Devonte Smith. Oh Wow Devonte Smith rated rookie Damon Davis hollow almond Ross St. Brown rated rookie Lyons Kylin Hills silver circles Ravens Marquis Brown to 125 Yeah, that thing was max 424 Firmuth got aqua Tylen Wallace rated rookie Ravens at 299 Davis Mills rising Suns Cooper cup mythical gold Josh Allen boom Heck yeah, Buffalo 5 out of 10 Cowabunga That's sweet Elijah Barrett sucker Mac Jones rated rookie hollow Deandre Swift Lyons SP pretty pay Drew Bledsoe aqua to 299 Patriots No, it's technically a downtown, but sometimes there's more than one a case Frank Darby orange Robert Tanya Out of 199 Ron Dale Moore my house Zach Wilson Jets rookie Peyton Turner Hollow rated rookie auto Ron Dale Moore for Cardinals to 125 Whole case had two of those that Michael Carter Orange Trivon more I graded Ricky Raiders to 1 to 99 My favorite sandwich chain though if I had to choose it probably 7-11 Blue Nelson Aguilera Patriots to 179 Legendary logos Aaron Rodgers that is an interesting logo for sure Local boxes of oh boy Terrace Marshall You'll Herber hollow Tyler Higby Rams. Yeah, national chain. I'd probably go Jersey Mike's if we're talking like you get it Anywhere in the US pretty much. I'd probably go Jersey Mike's Got blue Vince young to 179 Titans regional chain would be a lot different though for sure Yeah, I know there's some up north that would be just way better Psi and red Devonte Adams to 99 Packers Firehouse is all right. I guess I like firehouse. I only get one thing there because it's like one of the only places you get that certain sandwich, but Like overall, I prefer like a Jersey Mike's over firehouse Yeah, at least if I got like Italian a Jersey Mike's I thought okay. This is yeah I'll finish this Yummy brown white hot Rockies Elijah more. Yeah, I was there so there's a quiz nose in Lakeland, I think is there they're still around. They're just nowhere near a big chain anymore There's like one or two in the state here Jamar Chase Hollow Marquise Brown Ravens. How far are we from like probably like two-thirds of the way to Tampa? Okay, Farley blue Rob Gronk for the Bucks to 179. So From here like the Alton area. Yeah, I for it's probably 20 on traffic hour half to two hours Elijah Mitchell, I would say an hour and a half, but you know, we'll follow to 99 red for the Dolphins I can't stand Jimmy John's The rookies Elijah Moore I'm not a big Jimmy John's guy to be honest. Yeah, I like Jimmy John's either Newsome Evans hollow rated rookie Pat's Christian Barmore I'm not sure all star that might just be on the checklist as like they exist But those might be special packs Monterey Stevenson white sparkle as far as I know with Pinini is just white sparkle packs Like you can't get them in like hobby or retail or anything anything else Monterey silver circles to Sean Wright to 125 Dallas Josh Jacobs Aqua to 299 Raiders Dominators Patrick Mahomes chiefs global Heinz Ward Mack Jones rated rookie hollow rated rookie Otto is terrace Marshall Jr. For the Panthers to 125 Quitty pay the orange John Riggins to 199 jets Daniel Jones blue to 179 Dolphin or not. Why would he say in Dolphin Daniel Jones? Giants on Daniel Jones. I don't know why that's the second time I've done that Cleal Herbert Hollow for the Browns Melvin Gordon the third Psi Cowboys pink velocity Amari Cooper to 79 Thank you for standing up for me Davis Mills base rated rookie Aqua Caleb Farley Titans rated rookie to 99 Berger's got my back. I'm craving a peanut butter Just be getting out ground beef Seasonings and cutting onions and just everything. I Don't know. I think I told you this once but there's a place in Orlando that does a peanut butter burger But it has like like sharp cheddar cheese a one steak sauce caramelized onions and peanut butter So good it plays it plays well together got the army brown Some of the I think one of the probably best thing I've ever had is probably cast iron Ramandre Stevenson Like if you don't have like a wood grill, I'd probably prefer cast iron steaks on a side Hello, Quinn Portis Washington. It's a post like over a propane grill or a charcoal grill orange Devon McCordy to 199 pats I can't remember there's bacon on it or not. It would help. It'd be fine That's something that's like you could have it or not have it. It doesn't it makes it better, but it's not like it's gonna Tear away tear apart the sandwiches not there to 50 Patriots Damien Harris Like a bacon Burger-fi has a Breakfast type burger with like a fried egg on it got Nick Bolton rated Ricky orange to 199 chiefs So it's got bacon jam Fried egg and like a hash brown and some cheese on it. It's actually like Ridiculously good for like a for like a chain like that. They haven't Collins got silver circles Panthers DJ more to 125 Yeah, a one on the peanut butter burger is You're just playing off like bold flavors with like the the salty like some this of the peanut butter man It's awesome. My house DK Metcalf. Just think of like Pad Thai Like you can make it like super spicy and you can put like onion in it and just all this other stuff And it's fantastic. You can have a shrimp chicken, whatever That's subtle that like slight sweet peanut butter taste with like Savory stuff hollow Devon white bucks. Yeah, Friday slightly running. Yes, not overly But like like a soft-willed type thing, obviously not a soft-willed egg two more chase Retro Ricky waters, I guess meat over medium. I guess So I definitely recommend it a Lot of places just have them on their menu Usually if they have something like that you kind of just get it as is and kind of trust it And it's it's really good. All our rated rookie Peyton Turner Saints Like if you go to a place that does good burgers They have like specialty burgers and one of them has like peanut butter. I think you're probably trusted. Yeah. Oh, yeah Gold rated rookie auto San Fran Trace sermon Seven of ten Heck yeah, man. Nice gold. I love Get that one bagged up for you San Fran case overall crushing it. Yeah, I Don't know if it's the same person as the last half Can he validated 299 aqua for the Giants I saw like a Peanut butter banana burger once that sounded really good. I was like, I was a banana was fried. I Got Kyle Pitts Yeah, so it wasn't just like sweet banana. Yeah, but he said that I was like, I don't know Nick Bosa aqua to 299 Niners Yeah, I was like fried banana peanut butter and something else And I was like in the right mood, that's probably that's probably banging Richie Grant Marquise Brown pink velocity to 79 Ravens I never ordered it was from a place that like everything else there was phenomenal Like every burger they made everything they did it was just like this Just great bar food Darius Tony aqua Micah Parsons rated rookie to 299 cowboys No, I was not a plantain. It was a fried banana. I Read it. It was I was like, you know those things go together.   It's it's really good Davis Mills elite series or keys dude Elvis love to eat and if he's eaten Peanut butter banana on things like that. Then you know you know it's good Plantain would be great on the burger too. That's right plantain. That also works. Yeah Tomorrow chase. I feel like a hollow Christian Barma rated rookie Patriots I feel like because there's a lot of like Colombian style burger places around here and They'll do like the pineapple sauce and stuff on burgers Orange rated rookie Caleb Farley Titans to 199. I think Where was I going with this? What are we talking about? I should Mitchell black Pandora Elijah Molden rated rookie for the Titans to 25 There you go Titans. That's nice any black Pandora is nice Wow dude check this out Black Pandora downtown Rookie bears Justin Fields boom Absolutely freakish card 23 of 25 That's awesome the bears in the football in the back Monster card beautiful Trace sermon What hey it other would a hollow James white for the Patriots Jalen waddle orange Josh Jacobs Raiders out of 199 Joseph flew his easel Jolari to 179 Giants rated rookie white high rookies terrace Marshall 5-1 that's now still the same inning Oh Purple rated rookie Otto nice hit Denver. It's Japan say Williams on card out of 35. That's awesome Here you go Denver. That's on that one, too. Oh, would you misclick time out or ban someone? Chris Godwin bucks purple to 50. I've done that before Yeah, when you timed me out rated rookie Aqua Falcons we pay Frank's to 299 I just assumed Sam did it Yeah, I don't know why So it was apologizing right show Charles Woodson Sam trying to frame toke actually I did yeah Thanks for taking thanks for taking the ball there, so I Got a heavy hand It loses his band of real DJ charge eggs are banning everybody Nemo just hit a foul ball like a foot outside that would have gone like third back Pink velocity Julio Jones Falcons of 79 on Falcons Titans 79. I don't know teams guys Julio Jones Falcons Yeah, much more much better than Daniel Jones Dolphins chase young the 299 Aqua for watching Chase clear. I mean young. I mean Quick recap. We had a purple Jabonte a nice rated rookie there for the doll Broncos I just want to say golf is everything what is going on? I don't know. I honestly don't know dude My brain don't work on a 35 Elijah Molden black Pandora Terrace Marshall Ron deal more Kellan Mond Michael Carter a gold rated rookie. I don't trace sermon attend Black Pandora Justin Fields rookie downtown for the Bears monster hit there. It's 23 at 25 and gold mythical Josh Allen Awesome break man. Love and optic got more coming up


The study found that most of the participants were aware of the importance of education, research, and projects related to waste management. However, many of them lacked knowledge about the basics of waste management such as soaring waste according to its type and disposal in the correct bins. This article was authored by Gankaharman and Nisei Yenekalasei.


Hey guys, welcome back to Come Again, TV the only place on YouTube where all geek culture collides. I'm Shannon, and today on the show, we're taking a look at the 1995 classic Spider-Man and Batman. The story is entitled Disordered Minds. It was written by J.M. Dematius, penciled by Mark Bagley, inked by Scott Hannah and Mark Farmer, and then there's some of the other credits. Now, I've always enjoyed Mark Bagley's drawing style, his artistic style. Even though it dates this comic quite a bit, because you don't really see this style in Spider-Man comics anymore, I've always enjoyed his style. I believe he did the clone saga and several others, and that's around the time that I got introduced to Spider-Man comics. I mean, I've always been a Spider-Man fan, but that's when I really came into Spider-Man comics, and I just love his style. Now, as you can see, the cover is a pressed cover, and the cover is really nice. I really like the design they've got going on here. You got the bat signal inside of Spider-Web, kind of combining the spider signal and bat signal together. As you can see, Bagley did not put trunks on Batman. Which actually looks really good. I love the color of Batman's costume, and this is pretty much how his costume looks throughout the comic. I wish they would bring back this design. The ears are pretty tall. They kind of meet with the 89 Batman costume a little bit, but overall I really love the coloring and design of Batman's costume. I love the way Bagley draws Spider-Man. Very slender but muscular, very athletic looking, but he doesn't have the build of other superheroes. He has more of a gymnast look, which he needs. The inking or the coloring is done very well. I love it. The shading is perfect. I wish Marvel and DC, for that matter, would bring back some of the artists, colorists, and inkers from the early 90s and let them do the work again on the comics that really made them famous. Bring Bagley back to Spider-Man. I'm not sure when the last time he was, when the last time was that he did a Spider-Man comic, but he is perfect for Spider-Man. I would read more Spider-Man comics now if the design was the way it was back in the 90s. As I said, it is a pressed cover, as you can see there. Inside the cover, we do not have to visit a madhouse to find disordered minds. Our planet is the mental institution of the universe, Johann Wolfgang von Goeth. As you can see there, it's Stanley presents disordered minds. This is the Marvel adaptation of Spider-Man, Batman crossover. The other one was called Batman Spider-Man. That's the DC version. This, of course, is the Marvel version. Back in the 90s when companies did crossovers like this, each company would do their own version, like with Spawn and Batman. One, the image was Spawn Batman, the DC was Batman Spawn. Each company portrays the other company's hero a little bit differently than what their home company would, like with Spawn Batman. The image really made Batman really gritty, incredibly ruthless. He threw a battering into Spawn's face. That's unofficially where Spawn got the shoelace face in between credit comics. It was in continuity reported as Harry Houdini is the one that caused it, but actually that comic Spawn Batman was done in between issues of Spawn, and that's unofficially where the shoelace face Spawn came from was the Spawn Batman comic. You know, Spawn said let's bury the hatchet, and Batman said bury this and threw the battering in his face. But anyway, I digress. In this, the story isn't that great. It starts out great, but it really, it doesn't end that great. It's very anticlimactic. In this issue, it's Spider-Man and Batman are forced to team up to take on the Joker and Carnage, which you would think would be an epic showdown. Now in DC's version, Batman's Spider-Man, they team up to take on Raishal Ghoul and the Kingpin. I don't know why they would do that. You would think it would be Black Mask and the Kingpin if they wanted to do it that way. I would have actually loved to see DC's take on Carnage and Joker, see if they could do it better than Marvel did. Like I said, this was very anticlimactic. Most of the story was really good. I loved how they depicted it. I'm not going to go through it too much because as you can see, there is almost nowhere on that binding and I would like to keep it that way. Of course, Comixology does not have these crossovers as digital comics. Let me show you this. As you can see, this is when Peter Parker had his mullet. That's the look I associate with Peter Parker the most. Is that look there? That's the same look he had in Maximum Carnage and in the Clone Saga and all this other stuff. Mary Jane Watson Parker. That's her perfect look. It opens with Peter having a nightmare about the night that Uncle Ben was shot and killed by the burglar and the burglar kind of transmorphs into the Joker and that's what causes him to wake up and go swinging off. Bruce Wayne is having a similar dream about the night that his parents were killed only the killer transmorphs into Carnage and that's what causes him to wake up. Pretty cool. Shows the similarities between the two characters and then we get into Ravencroft where Carnage is being held and he ends up getting free somehow. It's never explained how. But then this doctor decides to do a very high-tech lobotomy on him and put a microchip in his brain which causes him to go docile and then they go to Arkham where they plan on doing the same thing to the Joker but needless to say as soon as the microchip got planted into Kledis Cassidy's brain the symbiote actually overrode it. It made it not work. So he's been playing this entire time and so we get Batman who's in disguise as one of the guards rips off his face to reveal Batman. Very nice look for Batman there. Love the look. His first meet up with Carnage and his first time meeting Spider-Man. Very cool. Love that coloring. That coloring is amazing. I don't know how well it's coming off on camera but that coloring is amazing. I love that coloring style. So anyway Batman tells Spider-Man to get out of his town if nothing else for his own safety because Gotham has her own personality he says.  Anyway then Batman tries studying up on Carnage to find everything he can about him and decides he's actually he's gonna need help after all and Spider-Man on his way swinging through town trying to decide if he should leave or not.  He webs him up Batman shows up and says get in please which should show you how different two companies can uh can write certain characters. Batman would never say please even if you know even if he needs someone's help uh he he's just that's not him that's not his personality. Then we come into Joker's hideout he's telling Carnage about his plan and Carnage decides that he doesn't like Joker's plan he doesn't like the whole plotting to eventually kill everyone slow and painfully that's not his style he would much rather do it personally and savor it and so Joker escapes and blows up his hideout with Carnage in it. Spider-Man and Batman show up they discover the ruins but Carnage has put his symbiote around a corpse or something like that Spider-Man realizes it uh Batman says I remember that uh the Maximum Carnage Affair where he did something similar uh so Carnage attacks and then Joker comes back and says I'm not gonna let you uh kill Batman uh that's my job that's my Batman this is my town if anyone's gonna destroy it it's gonna be me uh he threatens to release his virus Carnage, Cletus Cassie ends up getting scared and it loses control of his symbiote which leads to Batman getting the upper hand and just easily doing away with Carnage and then Spider-Man tracks down the Joker and easily gets rid uh finishes him Batman and Spider-Man end things in a handshake pretty much uh that's about it the back uh we got Spider-Man he is beloved or his beloved uncle's life stolen by a desperate burglar's bullet a murder he could have prevented Peter Parker learned that with great power comes great responsibility and has vowed to use his superhuman abilities to ensure that no one else would suffer because he failed to act uh little trivia here in the original comic Uncle Ben never once told Peter with great power comes great responsibility that was added in later uh the first person to utter those words was Peter himself with great power comes great responsibility it was later revealed to have came from Uncle Ben but in the original comics Uncle Ben never once told Peter with great power comes great responsibility so anyway then we got Batman here his childhood forever shattered when he witnessed the brutal slaying of his parents Bruce Wayne trained his body and mind to human perfection becoming a dark night obsessed with justice and determined to free the night from the criminal predators that infested two frighteningly similar tragedies two very different heroes now these two must join forces against the combined evil of two of their most nightmarish foes the maniacal clown prince of crime the joker and the bloodthirsty symbiot serial killer Carnage and before the battle ends both Spider-Man and Batman will be forced to confront their deepest most hidden fears head on as they stalk through the dark corridors of disordered minds uh so as you can see like I said great concept great artwork great beginning but it leaves you wanting it's not it's not the Spider-Man Batman story we deserve it's not even the Spider-Man Batman story we needed they should have really made this story a little bit thicker and really gave credit to Joker and Carnage did them justice did the characters justice and had them go up against Spider-Man and Batman in the best way possible maybe even doing a story along the lines of maximum Carnage only having it with Joker and Carnage sadly they didn't maybe eventually they'll redo the story and we'll get the Spider-Man Batman story we deserve and neat desperately desperately neat artwork I'll give a 10 out of 10 penciling inking coloring 10 out of 10 all the way story uh first let's go with the writing the writing style for the most part the dialogue between the two characters is pretty good except for Batman saying please for one he kind of makes a couple of jokes it's not really Batman style uh mainly it he makes a couple jokes with Alfred which sometimes he does in Batman comics but I don't really see him doing it here uh he should be more broody in this comic because he's going up against both Carnage and the Joker which would put a lot on somebody's plate so dialogue between the two characters between Batman and Spider-Man as well as the dialogue between Joker and Carnage I would probably give maybe a 7 out of 10 for dialogue uh the story itself starts out as a 10 out of 10 but it ends up being more like a 4 or 5 out of 10 very disappointing ending not happy with it so overall I'll give this comic a 6 out of 10 if you want to add it to your collection it would be great for the collection simply for the artwork alone but if you want it for the collection for the story to read it I really wouldn't waste the money uh I I hate to say that because it's got such great artwork great possibilities that just didn't come to fruition eventually I do plan on getting Batman Spider-Man uh the DC Comics version and once I do I'll read it and I'll review that and we'll see which one I like better if you like this story comment down below let me tell me what you thought if you didn't like the story let me know in the comments below tell me what you liked what you didn't like what you thought the best part of the story was honestly I thought the best part of the story was the beginning it had so much great possibilities that just didn't like go anywhere and then like I said also the other best part of the story was the artwork artwork is amazing that is my style of artwork love the way Spider-Man was done love the way Batman was done love the way Carnage was done I think they could have done a little bit better job with Joker uh because starting out they started him out wearing kind of a clown costume in his with his regular face no no extra clown face paint or whatever uh and then they had him in that brown suit and they had him shred the suit while wearing it it made him seem more like a jester than a joker eventually they did put him into his regular cost regular purple or violet outfit which was great but I don't really think they hit the nail on the head with his design throughout the comic uh the face was good I'll give it that his build and everything was good there was just something missing with the Joker so anyway this video's gone on long enough I hope you enjoyed it make sure you hit the subscribe button click like leave a comment down below and share it with your friends take care geeks if you enjoyed that video make sure you hit the subscribe button right there so you can stay up to date on all thanks geek culture also make sure you check out one of these two playlists on the side for more videos just like the one you just watched I'm Shannon for comic getting tv the only place on youtube we're all geek culture collides take care geeks