Okay. Hello everyone. My name is Vitaly Wol and today I'm going to talk a little bit about edge computing with the RISC-5 platforms and how it all goes together with running Linux and specifically Linux that has XIP technology enabled. Sorry. Let me move it a little bit further down. So I was supposed to have a co-speaker Maria Wol. Unfortunately it looks like she won't be able to come over and participate and show the demo because we have a problem with the babysitter. We came here. We hired a babysitter but she is stuck in a traffic jam. Things like that happen. On the other hand, what I can, I mean, you probably should be upset not seeing Maria here. I can promise that if that talk gets accepted to ELC Europe, hello team. If that talk gets accepted to ELC Europe, I absolutely promise that she will be giving it and I will be sitting with the kids. I mean, we have all the quality stuff. We're coming from Sweden, you know. So Maria isn't exactly a software developer. She's a photographer and she's a video engineer and eventually she started off doing QA for a console co-group for a console co-AB and this is how she came into this picture and this presentation and she did help with setting up the demo and, you know, running it. So I will not be talking too much about it, you know. But ELC Europe, you know, will look forward to that and she is currently living in Malmo, Sweden as much as I do. Even though I have more embedded background and I've been doing embedded stuff since 2003 actually. Working for Monavista and then for Embedded Ally and, you know, massive number of Swedish companies when I went to Sweden and moved to Sweden in 2009. So now I'm running a console co-AB Swedish subsidiary of console co-group, which is like a global company with a headquarters somewhere in the Bay Area. I think it's San Jose but, you know, who cares about that? Especially after the COVID times, you know. No one cares where the office is. So this presentation, I will briefly give an overview of risk five and, you know, what it is architecture-wise and where we stand with that. And some, I'll absolutely talk, hopefully not too much about XIP and Linux XIP because this is one of my favorite subjects. This is one of my, you know, points of interest. And then we'll cover a little bit edge computing and why risk five and edge computing go well together. And then we pass over to XIP and Linux and how all those things, you know, form a perfect circle as if, you know, you're trying to solve a puzzle and this is the solution to the puzzle. This is the answer. So optimistically, you will get to that. So risk five, risk five, what it is and what it is not. So it's the instruction set architecture and it's open source and this is to a huge extent its main advantage because it's royalty free and it can actually create anything based on the instruction set architecture that is specified by risk five specification and that he is especially important when you're working on some kind of design that is supposed to be low cost. And this, this is something, this is one of the keywords. We are looking for low cost design. We are thinking about low cost design. And since, you know, we're going to talk about edge computing, this is IoT. So we're looking at some kind of low cost design for an IoT device or a set of IoT devices. And since it's a risk architecture, and command wise, it's actually pretty similar to ARM. It's absolutely unavoidable. People are comparing risk five with ARM. And I'm comparing risk five with ARM. So I put together table where such comparison is done with some specific stress for XIP, even though I haven't really told you guys what XIP is, but maybe you already know. Who knows what XIP stands for? I can imagine that. Okay, anyone else? No. We'll absolutely cover this. Sorry, it can be a deficiency of my slide. Anyway, yeah, we'll get to what XIP stands for. But we can cover the rest of the table and we can go back to XIP later. So risk five, well, it's pretty similar to ARM as you see. And since risk five is an emerging standard, it's an emerging architecture, the fact that as you can see from the table that the 128-bit is not supported well, eventually it will be. And then ARM is a well-established architecture with a well-established community and risk five's emerging architecture and the community is not so well-established yet. But the good thing about risk five is that it's free in open source ICA as opposed to ARM. And that is very important. I mean, money is important, right? So if you're looking into creating an IoT design, you probably want to save some money on those small devices. You don't want to pay royalties. And then if you go for risk five, then you also want to have some kind of certainty that this whole thing is going to fly. And later in the slides, we will show how it can actually be made to fly. So we're not going to cover the rest of the table with XIP. We'll go back to that later. We'll first try to cover what XIP in a nutshell is. So XIP is a technology which decipheres stuff as executed in place. And that actually means exactly what it says. So the code is executed directly from persistent storage, the persistent storage, the flash. It should allow this execution. So it's basically an over flash even though now we have quite fast QSPI nor flash. It used to be just a standard slow nor flash back in the days. So we don't have to copy the code to RAM to execute it. And this is a significant advantage in a sense because we're saving times on copy and we're saving RAM itself. We don't need to spend that much memory basically in vain to copy the executable code and get it executed from RAM. But it comes at a certain price like you cannot change anything. It's a nor flash. It is linear. It can only serve as a media to execute from in read-only mode. So that said, you cannot modify the code that you flashed. So everything should be resolved at compile time. So you should be pretty aware and pretty cautious when you actually build an XIP application or XIP kernel or XIP user space for that matter. And since we're talking about XIP applications, it's actually more common for real-time operating systems where you have a certain blob, a complete application, no separation between kernel user space applications or whatever. It comes with a single binary and it's flashed to nor flash as a single binary and it's executed. And for instance, Zephyr does that. So if you develop a Zephyr application, it can be XIP and then you have everything in one application, you flash it to nor flash. And all the addresses, all the stuff is resolved at compile time and then you flash it and you run it. It's a bit more complicated when it comes to XIP on Linux because we absolutely do have the distinguishment between kernel space and user space and kernel should be separate binary basically and user space, the separate file system. So when it comes to XIP on Linux, we mostly, first of all, think about kernel XIP. So the kernel that can be executed directly from a nor flash. And kernel XIP is currently supported for just a few platforms and historically the first platform to support XIP was ARM 32-bit and it goes back like more than 10 years, maybe 15 years, I don't remember. Most of the work was done by Nicholas Petrie and at the time there was no ARM 64 and then ARM 64 came in but there are still no kernel XIP support for ARM 64. And then there's RISC 5 and we do have kernel XIP support for RISC 5, not for all RISC 5 platforms. So the support that has been merged in 5.13 as it says in the slides, that support is currently limited to MMU-enabled RISC 5 64-bit targets. But the work isn't going for other targets as well but still it's RISC 5 64 MMU-enabled and now we were doing a lot of things to get this merged and there was another guy from the RISC community, Alexander Git, who helped a lot as well. So XIP is not supported for all targets that run Linux, for instance, X86 is not supported but still we are mostly concerned about RISC 5 and it's supported for RISC 5 and the support is in the main line. It's not supported for the MMU-less RISC 5, at least in the main line but there is the work that we've been doing so that support is there but it's just not merged. And then going over to user space, there's nothing that prevents user space to be executed in place as well. So basically it's the same idea as with the kernel. If the file system, well it has to be a special file system like CRMFS or AXFS or well there was a work for SquashFS to enable XIP for SquashFS. I think the patches are somewhere out there on the internet on GitHub or something. I don't think they ever made its way into the main line for SquashFS but still it's possible to find them and use them. However anyway it requires a special file system but the idea is very much the same. You need to have executable sections uncompressed because CRMFS for instance is a compressed file system, it compresses the data that it stores. But with a special markup like this is the executable section, you should not compress it with a special markup. It's possible to use CRMFS for instance for XIP where the executable sections of binaries that are to be executed are not compressed and then you can basically run the code directly from Flash while the data sections will be copied to RAM because they have to be modified. So if we take a short look at the standard kernel loading scheme then we first have a bootloader which initializes RAM and then we have kernel code that is compressed and you can see in the picture that on the NAND flash which is to the left the kernel code is smaller in size than in RAM which is pictured on the right. So a bootloader would decompress and copy the decompress kernel code into RAM and same basically goes for kernel data and then it will pass over the execution to the kernel code which is already in RAM and that is it is a fine scheme as good as any. Just as a side note we can see that a lot of RAM is occupied by kernel code and kernel data while on the other hand those things being compressed are not really occupying that much of the NAND flash and if we move over to XIP operation specifically kernel XIP then we don't copy code anywhere and in the very first in the very simple case we don't use compression over data so data is just copied as is to RAM because this is a prerequisite that it has to be copied to to RAM because you know we have to modify it and then the code stays in NOR flash and so we can see that with the kernel XIP operation most of RAM stays available while on the other hand we need to have a lot of or well maybe not a lot of but quite some NOR flash to use and finally if we also deploy the user space XIP then we have to use even more NOR flash but on the other hand we still have a lot of free space in RAM that one can use for something else or if we have very scarce on RAM or if we don't have any DRAM which is I think I'm moving forward too fast but still we are looking at IoT targets first of all and those IoT targets for instance the RISC-5 platforms that we use they don't have any DRAM they do have SRAM which is usually four or eight megabytes in size and I'll show you we can get away with eight megabytes easily if we use kernel user space XIP and that would not be possible if we didn't so that's why okay RISC advantages this is just a summary slide the obvious advantage is that we are saving on RAM and as I've said we can even get away without having DRAM for Linux which is quite nice you normally are not going to have that if you don't use XIP and also there is lower idle power consumption and you know when I'm saying lower I mean that and when I say lower idle power consumption I mean sometimes it can go almost all the way to zero because if you don't have DRAM then you don't have to run self refresh so the values for idle power consumption are on par with very small systems running real-time operating systems and that is very nice for a Linux system right shorter boot time if we have if we have the nor flash which is fast enough then we're going to save on the fact that we're not copying anything or not anything we're not copying much to ROM so we don't copy the code we don't run decompression and then again if we have if you have QSPI flash that is fast enough we can even gain on the faster execution compared to some RAM that is not so fast I mean it will be slower compared to I know running it on the DDR4 but once again we're talking about IoT devices battery powered primarily you know low cost IoT devices and they will not be DDR4 on low cost IoT devices okay risk 5 and edge computing let's take a few steps back and go back to to the table so I've mentioned it a little bit just you know passing by but since since this is important I would like to draw your attention to to this table and you know since we are looking into IoT and small devices and low cost those will be devices without MMU without memory management unit so it's mainly concerning the two lower rows of this table and we can see that for risk 5 it says in progress for 32 bit and it's merged in ARM for 64 bit it's ready but not merged it will be merged eventually I'm absolutely sure and 64 bit MMU less device is not supported HIP XIP wise on ARM so if if we are to to make a choice here between ARM and risk 5 for an IoT device MMU less and have it run Linux and that essentially pretty much means using XIP then we will either have to go for 32 bit ARM or for 64 bit risk 5 and 64 bit risk 5 would be preferential for edge computing but we're not we're not quite there but you know 64 is better than 32 and for edge computing we do need some computational power so as you might see there are there are some bits and pieces of the puzzle that are you know getting together already right so so edge computing you know when we talk about edge computing we do mean IoT so it's just it's just IoT which is not the very traditional IoT as we think of it where we have a bunch of absolutely dumb devices that just you know send the data up in the cloud and get some responses some instructions what to do next edge computing extends the traditional IoT model by moving some of the computations moving some of the intelligence closer to the edge while that being those devices themselves and it reduces volumes of data to be moved in between the devices and the cloud and it allows for better utilization of computational powers of those small devices the IoT devices that we have and finally and this is probably the most important thing it enables AI and intelligent IoT where the connection is weak or intermittent or unstable so that we can't really transfer large amounts of data from IoT devices to the cloud and back so why risk five when I talk about edge computing why risk five risk five has relatively high computational power for their MCUs and combine that with relative low cost and then again as we talked earlier the hardware design is open source there are no royalties there are no fees so you can design whatever you want or use some existing designs and still I don't have to pay for that on the flip side of that you know risk five architecture its support in many real-time operating systems is still somewhat lacking as opposed to Linux where risk five support is still not exactly on par with ARM but I would define it as advanced not ideal not super usable but it's an advanced stage and then edge computing applications are relatively complicated that's that there's a bunch of code to be executed there are some computations some intelligence needed and if we have I mean if we are to go for a real-time operating system for our edge computing design on the risk five we might be into trouble because the support in some real-time operating systems is not exactly at the production level as I've said and then gets harder to debug you know all those intelligent things that they're harder to debug in this traditional single app rt os environment so we might want to go for real-time operating systems for risk five but it's better not it's better to go for Linux if we can deploy Linux and then this is where xip is coming into play because Linux support for risk five mcu's link support for risk five is quite good basically for both mmu enabled and mmu less designs uh and and we can yeah we can trust it we can rely on that and even though as I've said risk five user space for non-mu targets is still somewhat shaking still I mean well if you have the kernel loading you can resolve user space issues so um the bottom line is it's tempting to run Linux on risk five mcu's for IoT because we get faster development and easier debugging and shorter time to market but if we just plainly do it with the mainline kernel and not using any tricks like xip uh then we might end up having a design that is unnecessarily expensive compared to what we could have had because traditional Linux requires a lot of RAM to run and is generally more power hungry than a real-time operating system so we might end up having more RAM and a bigger battery which is like not very nice and if we do it like this then we might kill the main advantage of risk five over arm design because the money that we have spared on on not paying royalties will be just now spent on battery and extra RAM and once again this is where xip is coming into play to fill in the last cap in the puzzle um so as I've said xip allows for significant to drastic RAM reduction and it allows for almost zero power consumption in idle mode and finally which is very nice and this is where this time to market statement comes from xip technology is transparent for application development that's that you can develop an application in an ordinary Linux environment and and then almost transparently almost painlessly uh transfer it to this xip environment which you wouldn't be able to do if you do it for a real-time operating system so okay real-life example there was a there was a test project down there in sweden for for the cameras for that that to license plate recognition for for people that break speeding limits I know this is not the most popular application out there on the flip side of that it's just a test project so there still are no fines associated with this project specifically but anyway image capture and recognition so makes do you know is risk five board with mcu which is 64 bit and it has floating point unit and it has eight megabytes of s ram and it has eight megabytes of nor flash and then we used linux kernel 515 plus our patches and build a base to use a space and we we did an attempt to to run to run that without xip and in that case the kernel which would be compressed consumed 400k in flash and slightly more than one meg in ram after having been uncompressed the root file system containing the very basics consumed 500k in flash and then in ram well it depended on the way of usage it's really hard to estimate but once again depending on the usage and the moment it was one to four megabytes and then we had this application with the recognition everything and consumed like 500k in flash and somewhere around to make a little bit less than that in ram and you can see that with those numbers we do have a trouble fitting all this stuff in the s ram that we have on board which is eight meg so yeah it doesn't fit but if we deploy xip we are going to use more more flash because we cannot use compression for the kernel we cannot use compression for the sections of executables on the root file system that are actually executable but still i mean we're going to have more flash we're going to have a lot less ram i use than that so for the kernel it will be 250 something plus dynamic loading dynamic memory allocation whatever it's going to be under one meg for the root file system and exactly as for the application it's going to be around two meg and then we're well under the the the ram size that is used and we don't have to use the ram which is normally designated for AI and it's not contiguous and it sort of has a problem so we actually do have six meg on megs to email plus two which we can use but it's kind of complicated but we're now under six so we're just having a happy life out there with xip so finally i think it's fair to say that xip goes very well with risk five designs with what they have to offer and it does allow to reduce sign costs and power consumption for risk five targets especially when we talk about iot designs and finally well it's a bit of a bold statement but still xip technology does enable linux for low-cost edge computing designs because otherwise in most cases it would just not be possible okay thanks for your attention that's it yeah questions yeah team has a question there's one question from the virtual crowd if i could ask it and the question is are you assuming network capability is available on the end device what about networking capability in the lot device and the last one is any recommendations if the design model supports having the nic on the broker i'm sorry i'm not sure i get all the question could you please repeat that sure how about that we'll start with the first one are you assuming network capability is available on the end device um yeah yeah for for the situation when we when we use cloud it's it should be available the thing is that it might be unavailable at some points so we we don't we don't assume it's available all the time okay what about um what about networking capability and the lot device iot device sorry i'm not a technical person i'm gonna guess that the question is does the is the is there a networking driver and stack in your kernel size for the it sounds like it is if you yes okay yes there is a networking stack but it's it's not it's not a big it's a relatively small one for instance because we we don't we don't incorporate in this example don't incorporate 80211 for instance because makes the you know allows for for the esp to be plugged on top of it which has all the wi-fi stacks and everything right so we we don't have to bother about it so so there isn't networking stack but it it limits to to either that more or less okay so my my question uh is uh the qsbi nor uh i thought that was slower than ram so do you have any benchmark on uh is it slower than ram or especially static ram so do you have any benchmarking on the like is your performance going to suffer and when doing xip static ram is absolutely for sure it's faster but but there's there's no alternative of you know not not using qsp or nor flash and using static ram right uh because we we don't have that much static ram anyway so it's the alternative is to either use qsp i nor for execution or use d ram for execution and then there there they're basically on par for for those designs because it's not a high speed d ram that she would use on those so as i've said if it if it were a ddr for uh we would have lost a lot but you know you're not putting a ddr for on a light bulb that is you know uh somewhere out there right or or traffic camera you're not you're not putting a ddr for out there so um it's it's basically on par when it comes to um the types of dynamic ram that you use on iot devices hey i think you were the first yeah first of all i mean i i certainly like the xip idea there um but regarding your demo application where you say okay uh it's better on risk five than on 64 than arm 32 um aren't you as things stand now a bit hampered by the fact that risk five doesn't have vector extensions whereas you could use them in arm uh that's i think that's a very valid point i i don't have i don't have the numbers at hand but it's very it's very application specific um so did you you did not like evaluate the performance of the two platforms against one another um well let me put it this way um you can't you can't evaluate an abstract risk 64 versus an abstract arm 32 so there there has to be like a specific risk 84 like k2 210 like this can drive thing versus i don't know for instance nordic nrf 53 40 for instance right so um um if if we take it like this um or or or for arm games it could be you know stm something uh we we we did some measurements on kind right versus um what was that the nordic 52 40 and in kind right kind right one with a low margin there are stm 32 uh cortex m7 designs like 723 730 all those now new things i don't i i didn't didn't do some the real measurements on those i think i think they will overperform um kind right but they're freaking expensive okay i mean i mean really they're really expensive the the cortex m7 uh stm parts are really expensive so they start to play in another field okay so that's that's the point i'm trying to make i see thank you and unfortunately this is the end of the session but the speaker i'm sure can be mailed made available and you got you all can talk i just want to give everyone a if anyone wants to go to break there's a 30 minute break okay thank you


All right. Hello everybody. My name is John Hammond. Welcome back in the YouTube video We're looking at PowerShell video number four in the series checking out variables and some data types and ps drives So let's dive into it. I'm gonna fire up PowerShell Alrighty, there we go. So What we need to do because we are so close to scripting and trying to do some really cool automated PowerShell stuff But we need to dive back into what we mentioned just briefly in the other video on what variables are and what we can do with them So you've probably seen variables in tons of other languages, right? PowerShell has support for them because it's a language So the prefix that we need to specify this is a variable within PowerShell Is that simple dollar sign symbol and we can call a variable literally anything in fact I'll just call mine the word anything and we can set that equal to with their equal sign any value that we want so I'll just use a simple string here the classic and Now that is created and available throughout the rest of the scope that we're gonna be using PowerShell for So I could go ahead and echo that out. Remember echo is an alias for right-host Profile I don't know why I'm thinking about that that was just the last video our variable that we just created it was Anything right if we were to actually use a variable that didn't exist It would just return nothing for us because that variable we haven't created it We haven't set a value to that it's there as nothing as just an empty string and a string Is that bit of text or kind of English or variable? Variables wrong word because that is in fact what we're using here at the dollar sign The value doesn't need to just be English text as a string It could be maybe bytes or kind of opcodes or any other letters that we might end up using or digits, etc etc Or it could be something else like an integer right we could just check out Integer we can set that to 100 or negative 100 or even a decimal sort of thing like Negative 10.1 However, that's no longer an integer right what is the type of that we can find out by any of the variables that we create By using that kind of C style syntax my mouse is just sitting here annoying us. I'm sorry we had that integer and then if we had a period and that Control space to help us autocomplete or suggest what we could be using what we might want to do with that We could see some of this information. We could run a get type method or kind of a function relative to that object Right because PowerShell is object oriented for us with all those C sharp and dot net kind of back and stuff that we see when we Use command. Let's like get child item or other things get type We'll return the type for us and we can actually convert it to other types We could to string or to integer or to decimal, etc, etc So let's check out what we're working with here. This is get type and Because it's a method or a function called what we're using it's going to have those two parentheses that will kind of invoke it Or call that so opening parentheses and it doesn't take any arguments or so we saw And that's a handy thing that we can actually see when we're looking at that helpful autocomplete suggestion stuff inside of PowerShell for us So get type doesn't take any arguments and if we return that is in fact now a double It's not a decimal number an integer. There's actually a lot of properties that comes with this which is really cool So if you wanted to you could get type and then as we've done earlier that FL star or format list to now retrieve Everything that came out of it. There's a lot of information. This can hold for us Scrolling through a lot of nonsense some of it might be useful to us But it actually has some fields and other information that might be valuable So those are some of the data types and the types of variables We could actually end up supplying or using with our values inside of our variables I'm not going to be able to cover all of them So what I want to show you if I hop over to my Firefox over here I wanted to bring this down so we can see it if I actually get it on the right screen. Thank you Okay, this is a SS64.com Which is an awesome resource for sort of a command line and system languages in this case It says this link is a SS64 slash PS for PowerShell and then hyphen syntax I'm sorry forward slash syntax hyphen data types dot HTML So we could use a string type or a character or bite or integer or longer boolean or decimal or any of those things that we've Already saw or some other neat things like XML or an array or a hash table kind of like an associative array or dictionary And it actually actually has some other kind of built-in variables true and false Which are those boolean values that we're used to Python you see them with the capital T true or capital F false In this case, it's just dollar sign in the lower case for us And you can actually cast some of these variables to that specific type or to note This is what it's actually going to be so that way when I say enter a number with like a kind of a read-in command It won't store that value as a string. We can specify. Hey, I actually wanted to be an integer I really want to get that real value. You can see they do that as an example here int around the string 0064 so that's really known as a number 64 or we can take the integer of false Which will just be zero etc. Or we can even create bytes based off of the 0x syntax And that's kind of neat and interesting again. You can define these with that declaration with that type kind of attached to the variable int even before the value or On this side, however When deciding to value to a variable you can cast either side of the expression. So this is not quite the same as that interesting arrays and They even have some data types like date or things that power show will give us that are much more interesting So let me show you that while we were able to run it just off of our anything variable, right? We had anything that was a string so far run get type on that You can see okay. That is a string. We can get the name out of that or Dot name just get that value But there's another command let in power shell that will show us get types and get type data That's the full command let there that'll return a ton of stuff And we can scroll through this and see some interesting things And these are kind of variable types that power shell has already created for us Or it knows just because it's managing our computer in a programmatic way, right? We have a system diagnostics process like even a process itself that you might see within Kind of get process as a commandlet. Let's try that make sure I'm not talking to my ear. There's a ton of stuff Let's go ahead and select index Let's get first one good and Let's go ahead and run just get type off of that So I'm gonna wrap that in parentheses so I can check get type and you can see the name is a process If you wanted to kind of get more information out of that, I think it's a full name. Is that right? Yeah, system diagnostics process and that's the string that we just saw when we ran get type data There are a lot of really cool ones with this. There is a system.net mail mail address There's one for IP addresses And if you actually wanted to filter some of this and see what is it really going to show me or what are some My options for some specific kinds of data like a system.net IP address will have PowerShell Automatically figure out whether or not this information that you provided is a valid IP address or is a valid email address as we saw So you don't have to do that yourself I see a lot of other people that might be trying to write PowerShell scripts And they're doing all this like string splitting and cutting and trying to verify Okay, is this really within the range of 0 to 255 blah blah blah PowerShell can do that for you Because of this awesome data type that it's created, right? If we can access it with just IP address Let's find out and you notice those square braces are what allowing us to actually specify This is the type that I want to use so I'll specify a string just after that We'll do 10, 0, 0, 1 and that is created for us and it even has properties already Gives us kind of an address family whether or not it's a local address or not if I were to change that to like 104 It says okay That didn't help me bad example But it will give us the value and other information that we might want Let's run a FL star on that to see everything that might carry for us. There's not a whole lot else apparently select star everything It's like string my bad Let's just use select that's all there is to it But if I were to try and create that IP address with something that wasn't real like a 256, right? It says hey, that's not a valid IP address or maybe I had the right amount of octets or I had the wrong amount of octets Okay, I guess that one figured it out on its own for me. I Guess that one will just do it automatically fill in zeros as needed But maybe if something was out of range it would say that's not quite right. That's interesting how it's doing some of that math It knows okay with four octets. It's not gonna be able to do that correctly. So That's an IP address Kind of data type you can use within PowerShell or we could use. What was that that mail? If you ever forget it, you can get type data and search for mail Systemnet mail mail address. So maybe we could just run mail address. Will that work? Yeah, now? Let's run like John at Gmail.com or whatever it'll actually display our user kind of before the at sign and the host Just after the at sign and the full address and of course if I were to have that wrong John gmail.com or however typos I want to throw in there Notice it'll error for us because we don't have our at symbol. It's not a real email address Handy right that way you don't have to do the processing PowerShell can do that for you if you know is okay. There's a wrong spot here. This isn't a real email address It's not in the required form So you don't have to do that processing PowerShell can do that just as well for you now We've created some of these variables that we've created this anything and we created what was the other one integer, but What I want to show you is that these are not the only variables that PowerShell is going to end up keeping track We've already seen profile. We've already seen that that is a variable that just created or was in existence We didn't have to create it. It was there before we started PowerShell So there's other already some variables that are in existence in scope that maybe we want to know what they are Just to explore and learn about PowerShell more we can figure out what those are so I want to introduce to you a new thing called PowerShell drives or ps drives and That is how PowerShell is going to kind of manage the context that you're working in within the shell within PowerShell Right now. We're inside of our file system, right? but PowerShell could also allow us to work inside of the Windows registry or even kind of knowing the variables that we're working with and Treating it like a file system, right when we were able to run new item or move item or copy item It's called item because it's not always the file system that we're working with maybe when we get child item We get all this information out in our current directory But maybe it's not so much a directory that we're looking at but what if it's a hive in the registry or some specific scope for variables in their existence So that's a thing Called ps drives or PowerShell drives if I run a get hyphen ps drive It'll tell me all the different things that we can go ahead and navigate in and look around it aliases we've seen those before with gal and get alias of course our file system or Maybe some certificates that we have installed in the machine Maybe another drive that's accessible to us environments functions that are created and of course registries and There's one for variables So if I were to move into that PowerShell drive We can explore these variables and work with them as if they were files just running LS commands or get child item So we can hop into the context of that PowerShell drive by kind of using the provider here that PowerShell provider and Specifying a colon following it so it just looks kind of like our C colon for our file system object But instead it would be variable colon. So let's do that. Let me cd to variable colon I'll hit enter and you see that my prompt has changed now I'm inside a kind of a variable context if I were to LS or get child item We can see all of the variables that have been created thus far Some of this is kind of ones that we've seen. We know true is going to evaluate to true, right? We actually have our version table for PowerShell. We have our to scroll up here. Maybe the profile that we've seen Yep The process ID for what we're working in No, we even have our integer variable that was created earlier Or if I scroll all the way up. I Don't know why my scroll bar isn't that good for my virtual machine We even have those special variables like what was the previous command that we ended up running the dollar sign dollar sign The dollar sign question mark What was the kind of error code or exit code that we were working with that last one our previous command or? Anything that's that variable that we just created There's others that exist in here Maybe errors that were happening earlier that we saw the very very last error while we were running PowerShell can't convert that value When I was trying to showcase that email address it stored that error And now we could actually view that maybe if we were creating a script or writing something that might need to know what that error message was So if I were to create a variable z 100 or whatever if I were to LS check those it again now I have z as a variable that exists and that value there and Of course if we want to zoom in on one of those we could let's select the last one and If I could select everything out of it, it tells me the drive and provider that it's in Maybe a value whether or not it's accessible if it came from a module Will FL star give me any more information? I guess not But that's that You might have noticed though One that I kind of glossed over was this ENV drive or the environment drive and this one stores environment variables or variables that are kind of across the machine or accessible for Really the host and system that you're working with so if I were to CD into environment Okay, sorry, it's not called a fully environment. It's called ENV The name is what should be Switched into not the provider that just tells us kind of what it is. So if I move into ENV Now if I were to LS check out what we have here We have some more Information about this system that we hadn't seen before or some of those variables that you might be used to in kind of old-school CMD with we were to echo like oh when dir and that's wrapped around in those percent signs these that were environment variables are now stored in that kind of dollar sign ENV When dir you can see that's that value that shown to us right in this listing here Sending with our username or user profile or more information where program data is where program files are Where is our module path? What is our actual path for binaries or scripts or things that we try to run? Straight from the command line app data common users computer name etc. Etc. That is how we can view all that information That's where we can kind of navigate with it and modify them inside of the ps drive that PowerShell drive And we can set those with specific types that we might want so If I were to hop back to my variable drive if I were to create Z make that now and IP address We'll make it local host If I were to just check out what we have here, we have Z set to that value But we can go ahead and grab that last one kind of zoom in on it. Let's check out all of his properties It tells me that it's just a variable. It won't tell me the actual type Maybe there's a way that I just don't know about yet Hope you guys can teach me a little bit help me learn Wonder if I can just grab that and see some other information with that the period Nope. Oh That was odd. I want to do control There's nothing there. It won't let me I can't can maybe I can get member out of this and see what else what other informations there To string we can still run get type on that that works just as well Tells me it's a PowerShell variable not the specific type that it's actually in is their full name now Interesting so maybe within the context of variable that ps drive. We won't be able to see it work all that well Now because I created that variable in there. Is it still accessible for me inside of see? yes, which it is and then Can I run get type on that and will it tell me it's an IP address? It will Interesting. Okay. I'm learning to this is a very exploratory thing when we're using PowerShell So that's that that's really all that I wanted to show you in this video was what these variables are how they can store information Data and the types of data that can come with it that SS64 reference is awesome You should check that out see what more you can learn from there and know if you scroll through that get hyphen type data There are other kinds of PowerShell types that you might be able to use and some of your later scripts or code They'll kind of minimize the work that you need to do like trying to validate is this really an IP address Or is this really an email address? That's nice and handy for us and these things live and you can access them within some of those PowerShell drives PS drive or we can navigate around our registry or other file systems or even certificates and aliases So that's kind of neat. I hope you guys enjoyed this video if you did please do like comment subscribe all those YouTube algorithms stuff I'd love to see in the discord server. There is a link in the description You want to come hang out tons of smaller people in there so much smarter than me? It's a really awesome community And I would just love to see there Part of that so love to see you on patreon. Let's go on PayPal. Love to see you on Instagram Twitter Facebook's all the things Thanks for watching. See the next video


The Iowa Peace and Development Initiative, APDI, has fingered Governor Abba Yusuf at the center of the prepared plot to sack Umar Gandujay as the national chairman of the All-Progressive Congress, APC. Speaking to newsmen at the press conference in Abuja, Yakubu Daouda, the group's convener alleged that Governor Yusuf has diverted taxpayers' funds to sponsor a series of protest rallies and press conferences against Gandujay. Yakubu claimed that the goal is to taint the personality of the APC national chairman to a point where President Bola Ahmed Tinobu is forced to remove him from office. Both men have reportedly mobilized 500 million of Kano taxpayers' money and proceed a federal allocation to sponsor a series of protest rallies and press conference to execute the nefarious plot to remove the excellency Umar Gandujay from office. Their intention, as we have seen gathered, taints the personality of the APC national chairman to a point where President Bola Ahmed Tinobu is forced to remove Gandujay from the office. We are worried about what Governor Yusuf and Konkoso plotted in planning violent crises and arrest in Kano. State is dangerous for the very reason that the violence we are bringing to the state will most likely get out of control.


So, yes. All right, let's, Sam, 95 bucks, thank you. Thank you for the answer. I will not share with you my routine, although I'm curious, but I will say that it is highly intense, good, both short and long sessions, good, plus it activates part of the body, your once a week training does not. True, a very uplifting activity. Absolutely. Oh, God, you've got my imagination going now, Sam. Look, particularly when you're young. So let me say something about sex, because it was saying, when you're young, but also when you're not young, sex is to be experimented with. Long and short sessions, multiple poses, acrobatics, absolutely. Sex should be, is probably the most pleasurable thing you will do in life, physically, but I also think spiritually. And different things you do with sex, are pleasurable in different ways, and you won't find that out until you try different things. You know, get a copy of the Kamasutra and try it out. I mean, it's, I don't know if all the poses are possible, but many of them are, not all of them are pleasurable, some of them are just too contorted to actually do anything worthwhile. But figure it out, and do it when you're young, flexible, have the stamina, can go for long sessions, very long sessions sometimes. But yeah, absolutely.  It's worth studying. It's worth experimenting. It's worth getting experience with. It's worth being imaginative.  There's always nothing you need to imagine. Everything is available. You know, try not to, I think the Kamasutra is probably one of the most I think the Kamasutra is probably a better guide than the porn is. Well, you're on win six mode today. We're talking about pleasure. How could you not? And it's rule for life. Don't make it boring. Yeah, what can I say? Experiment. And when you're single, go at it. You know, find other partners. Again, figure out what you like. That's it. Figure out what you like. And one of the things, one of the reasons I say, I often say that it's immoral not to have sex before you get married, is because you want to make sure that what you like is what your future wife likes. You want to make sure that if you're going to be, you know, together for 40 years, that you like the same things in sex. It's an important part of life. An important part of life. So anyway, no thumbs down today. Isn't that amazing? No thumbs down today. Somebody's going to go in now and put a thumbs down, but no thumbs down because we're talking about sex and health and pleasure and stuff like that. There must be some Puritan out there who doesn't like my views on sex.  Well, you have to ask sex questions because I don't know what you want me, what you want me to talk about vis-a-vis sex. I mean, other than to say it's good, other than to say don't be boring about it, other than to say do with it as you would do with anything important in your life. Think about it, figure it out, explore, experiment. Think about mind-body integration. Mind-body integration. Right? So don't just have an orgasm and go to sleep. Right? There's more to it.  Thank you for listening or watching the Iran Book Show. If you'd like to support the show, we make it as easy as possible for you to trade with me. You get value from listening. You get value from watching. Show your appreciation. You can do that by going to IranBookShow.com slash support. I'll go to Patreon, subscribe star, locals, and just making an appropriate contribution on any one of those channels. Also, if you'd like to see the Iran Book Show grow, please consider sharing our content and of course subscribe. Press that little bell button right down there on YouTube so that you get an announcement when we go live. And for those of you who are already subscribers and those of you who are already supporters of the show, thank you. I very much appreciate it.


So today's video is going to be a personal one because we're going to talk about the five signs. He's head over heels in love with you because I'm in La La Land. I have met someone absolutely amazing and it feels different than I've ever experienced before. And I'm going to lean into some of the things I'm feeling and also kind of give you some backstory of where some men operate in the current dating, mating or relating realm. And just really quickly I want to acknowledge that she and I actually met on match.com. Really quickly it was over a year ago. It was a, I'll be candid with you. It's a long distance and many of you know I'm not a big fan of long distance. I recently talked about why some most long distance dating is problematic and what is needed for a successful healthy long distance relationship. And I'll post a video on that as well because I'm learning a lot through this experience of really getting to know someone, really getting to know someone at a heart centered level instead of the superficial level that most people are dating. Because the reality is we have a very, God I was about to say we have a very unstable dating market, emotionally unstable dating marketplace. Because there's a significant number of people who are suffering from childhood wounds and traumas and adult traumas that makes it very difficult for them to lean into a relationship. Many of you know my chart about emotional maturity and relationship skills. And it's important for this conversation to understand that probably 20% of the population has clinical mental health issues that makes it very difficult for them to actually genuinely fall in love with someone. And while I say 20% are relatively emotionally healthy, the vast majority of people are dysfunctional in the way they operate when they think they're in love can be actually from a dysfunctional place and not from a true heart centered place. So I want to first identify that a lot of times men and women operate from an unhealthy attachment that they believe is love, an unhealthy attachment they believe is love. And if you haven't read the book attached by Amir Levine and Rachel Heller, I highly recommend this to understand the three primary love attachment styles which is anxious, avoidant and secure. And I can speak from my own personal experience. I thought that I've been in love with someone when it was actually simply an unhealthy attachment. What it means attachment just to quickly give you the cliff note version is when we're children we attach to our primary caregivers and we can attach in a very in the kind of the anxious way meaning I need your love to you know I need your love I need your love and you're not giving me love and I get so anxious about it that I fight fight fight and I become very needy. And then there's another way to attach would be avoidant meaning you're attached but it's from a distant place it's from an emotionally unavailable place. And that's where a lot of people operate believing it's love. Or we oftentimes see people that are operating from a place of lust or limerence lust or limerence lust is those those places where it's just a sexual bond with one another it could be one person lusting it could be both person lusting coming from a place of lust and they believe in the moment it's love because brain chemicals is being released from their body dopamine oxytocin testosterone such believing that you're in love this is where that concept of love at first sight operates from oftentimes. And yet it's not genuine love. But yet we believe it's love or limerence is extreme infatuation I see it with women. I certainly see this with men. I am guilty of the lust and limerence I'll be candid with you and I share this with you because I've certainly witnessed myself lusting after someone or I've certainly been in extreme infatuation. Because I made a story up in my head about a person I barely knew from this device you know how many of us are meeting total strangers these days from these devices. And believing that I really genuinely care about a person I barely know barely know this person. So it's important to understand that most people either operate I said before they operate from a clinical mental health issue a dysfunctional or a healthy because of that roughly about 20% of people use other people for their own gains. And then while there are 20% that are the growers and the builders that want to actually grow and build a relationship with you the vast majority of people are what I call is spenders. They want to have a good friendship they want connection they want the sex but don't have the ability to actually create the foundation for a healthy happy relationship for them to genuinely fall in love with you. One of the things I do in my private coaching program is to help women identify those men so if you need some help check out the link to a free discovery call with me to see if working with the coach is right for you. I teach you how to vet for emotional maturity how to vet those men who are the growers and the builders and not those that are going to be using you or wasting your time. Because here's the thing we're all going through a journey of mental health. I'm here to say we're all going through this journey some are farther along than others. Some are unconscious to it and some are actually resistant to it. You know what I think of my shirt the Grinch right you know that I'm wearing heart grow your heart three sizes right. There's a great story in the Grinch that he was wounded as a little Grinch that caused him to block himself to love to block his true heart his true nature of wanting to be a giver wanting to be a genuine lover. And it took a humbling event for him to shift. And while there are many men in that dysfunctional or spender case and by the way there's equally as by the way there are women who are just as toxic women who are just as as unhealthy so there's this narrative that the men are bad and the women are good. Throw that out the window because women can be women can be no picnic as well and I'm speaking from a guy's perspective here. But the Grinch needed the humbling event for him to actually that moment when he looked at what was her name Lucy Lou or something you know I can't remember and just shifted his perspective because he felt loved by someone. And we all deep down want to feel loved at a deep at a at a real core level. And so, folks, before I share these five things I just want to state this. Ultimately, if you want to experience juicy delicious love in your life. It starts from loving oneself it starts from being in that place of what I talk about in my book what the heck is self love anyway a journey of personal development self open spiritual work there's a link below to this book. It's so important to fill one's own love cup. Wow, you're in the process of looking for a mate who's going to genuinely love you so let's talk about these five things because they're near and dear to my heart this is what I'm experiencing right now my relationship I'm so grateful that I have. I've met someone I can tell the difference I'm going to be candid with you. I've been in the unhealthy attachment. Also, if you haven't read the book, getting the love you want by Harvelle Hendricks and Helen Hunt I highly recommend this to understand the amago. This is the unhealthy attachment how we choose people that are oftentimes like a mirror of one of our one or both of our parents. So I've experienced the amago. I've experienced lust and I've experienced limerence. Today in my life I'm experiencing something different and how I know the difference and this is really important for for you and for the guy. I feel like the difference is this feels calm feels calm. There's no anxiety there's no doubts there's no climbing the walls there's no freaking out it just feels calm. And when a man feels when they're with a person with man or woman when you're with another person and you feel good. Not from an agitated place not from that love bomber place not from that limerence place but you really really you feel really good and you feel calm. That's how when a man knows and these are some of the signs that he demonstrates so let's lean into this for a moment. There's my trusty notes bump bump bump. So number one he wants to share everything with you he wants to share everything with you his hopes his dreams his futures he's he's excited to share his life with you about who he is on the inside he doesn't fear you know opening up to himself. However, and this is really important. I want you to really be careful of those men who are actually dating because they're in that they're an dysfunctional place that they're actually using you as their therapist. So, they might want to share everything with you. Be mindful are they sharing about their problems. Are they sharing about their their relationship with their ex maybe contentious work are they doing it from a place of victim consciousness. Because this is happening today dating has turned into a form of therapy because men oftentimes don't go to therapy because we're supposed to be emotionally strong and not do that. So what's happened is dating has turned into the new form of therapy. So when a man shares everything with you I really want you to differentiate his homes his his his hope his dreams his desires his future from a very emotionally grounded place if it's coming from a place of complaining of venting. You might think that's music to your ears because he's sharing he's being vulnerable with you. Be careful of vulnerability because it might actually just be therapy. Does anyone has can anyone relate to this post a comment below please let me know by the way if this is resonating with you please hit that thumbs up please subscribe please share this with your friends. Because this is a critically important piece to understand so many of you are beautiful nurturers and in the world and so you you hear a man sharing vulnerability from a place of of of of. You're seeing it from a place of vulnerability but he's doing it as a place to just unload and guess what happens.  But let me just tell you about me I want to share everything this person I mean the hook line and sinker because it's coming from a place of enthusiasm excitement. And actually a genuine care to want to get to know one another. Okay number two. He cancels things to be with you or he blocks his calendar. I got to tell you something I've already blocked my calendar for our next visit you know I'm taking some days off from work I mean not days off but some time off. I'm and I haven't canceled anything per se but men will do that they'll cancel things you know maybe they might block their friends once or twice. Or they might block you on their calendar that's a great sign that he's genuinely falling head over heels for you now I want to be clear about something. Be careful of the needy guys who do this. I was in a relationship where I put the person up on a pedestal and you might have done the same thing and you cancel everything. I'm not saying they cancel everything they might just make move their schedule around is really what I'm talking about move things around to make room for you in their life.  You might even blow off work because you're afraid if I'm not with this person 24 seven they're going to break up with me. Whether it's a man or woman that's an unhealthy place to shift your schedule around but when the guy is excited like me I'm like yeah I want to move things around because I want to spend time with you. Number three. He checks in regularly to hear about your day. He is actually making the effort checking in. You know and sometimes I know I joke about the narrative. How's your day going? Did you have a good day? I hope you had a good day from Seinfeld Kramer. But sometimes the small talk is actually important. It's just checking in it's just letting you know it's sending you that text message saying I'm thinking of you. That's a great sign that a guy is head over heels falling for you. I want you to be aware of the guys who do it from a jealous place that do it from an insecure place. They're checking up on you because they've experienced hurt in their past. They've experienced a level of abandonment a level of betrayal. Ladies I want you to really be mindful when communicating with men. To really think like I want you to actually think like a therapist.   Really pay attention to communication because the clues are often there. I've spoken to women who have been in relationships for several years and the relationship ended and they literally said. The clues were there right from the beginning. They went against their better judgment and one of those clues might be an unhealthy way. They check in with you to really keep tabs on you. And yet when a guy is excited like I am just I just want to check in. It's funny. She messaged me this morning. Just say good morning.  I was I wanted to she just beat me by about a minute or two ironically because I was literally planning on doing it. But it's and then later in the day I might do it just to let that my my person know I'm genuinely care about them. Because that's what this is all about. Isn't this the journey of love. Isn't it about being in a say a state of caring about another person. When a person feels this way and it's important to not be in a lopsided relationship.  Most men don't have that capacity. This is why I highly recommend reading the book emotional intimacy by Robert Masters. So you can become look at the comprehensive guide for connecting with the power of your emotions. When you're capable of doing it just like I've learned this. And many of you ladies think you're good at this but you're really not. This is worth reading to really tap into that place of connectivity with your emotions so you can articulate it. And what happens is I'll be candid with you my my my person my girlfriend I can officially say we're boyfriend and girlfriend. She's not an emotional communicator the way I am. And what's fascinating is she's I'm leading by example and she's a sponge she men can be sponges all we all you need to do and I learned this from a woman I've everything I share I've learned from women in my life. Men can be sponges just lead by example and you'll start to notice they'll become more of emotional communicators like my girlfriend is she's like growing leaps and bounds. Partially because she maybe for the first time feels safe to be an emotional communicator and many men haven't felt safe to be that emotional communicator. So I invite you to lean into that in your relationship number four. He's thinking about all the future things to do together he's thinking about like I'm already thinking and I want to share with you. Guys that in the early stages like literally the first second or third date they plan all the future with you. I'm not talking about those first three dates where a guy practically says oh my God you're the most amazing woman in my life I can't see myself without anybody like you blah blah blah all the love bombing. And then they disappear because they're not actually doing it. In my particular case I'm thinking okay we need to plan because we're long distance you know we should plan this weekend for here and this weekend here. Let's plan this trip let's look at this we're looking at the calendar I'm sending her links to things she's sending me links to things. It's there's actual effort behind the words there's effort behind the words and not just a lot of rhetoric and that's a great sign when he's thinking about all the future things. Along with follow up to demonstrate it versus those guys that vomit it in the first second third or fourth date and then don't follow through with it. And lastly this is my favorite. When a guy is genuinely head over heels were you really feeling that for you. He talks about monogamy he talks about exclusivity and he clearly states his desire for commitment he clearly states his desire for commitment. Many of you know that I've incorporated something called the dating vows the dating vows I hope. And this is a great illustration I'm okay so let me explain where this came from because it really demonstrates how a emotionally healthy man. Shows how he cares for you. And in the dating vow I have created kind of like a wedding vow it's a vow in the early stage of dating to declare something with one another and make agreements with one another so let me just read to you. And by the way I'm going to start by saying have you ever heard the term women are the gatekeepers of sex and men are the gatekeepers of commitment. We tend to be the ones that are the holders of the strings of commitment I don't even like saying strings I'll call the rings of commitment. And so you know this isn't about waiting for you know I think it's important to have agreements before you are physically sexual with one another. So it goes like this the dating vow before sex. I agree to explore the process of getting to know you with the intent to declare something serious in the next three to six months. Okay. That's a really powerful thing to say someone I'm willing to explore the process of getting to know you with with the declaration of something serious. That's a person who genuinely cares for you when they say that number two. I agree to be monogamous sexually while we're having regular sex with one another make that agreement. Don't be cavalier don't be naive to this this is really important stuff. Number three I agree to not actively seek to meet or date others while we're in the process of getting to know one other which means I'm also going to turn off my dating profiles which she and I did for one another. And I got to tell you it feels liberating not to be swiping swiping swiping I mean gosh it's exhausting and I'm so grateful I'm not in that space where I have to do that anymore. Number four I agree to speak up if this isn't working for me versus pulling away disappearing ghosting. I agree to talk about it. And number five I agree to invest regular time in the process of getting to know you, which looks like social activities hobbies mutual interest spending time with family and friends traveling together teamwork building skills both in our personal or professional life and intimacy both physical and emotional intimacy. And number five I agree to over heels for someone he's going to want to do these dating vows and since most men aren't schooled in relationship like I am and like many of you are studying. I invite you to share this video with a man you're interested in ask him is this true for men. Now some men might criticize this. They might think I'm a simp they might think I'm a wimp whatever they might think. They don't know my masculinity or my femininity if you will. I'm here to encourage empowerment. And so my channel is here to encourage individual empowerment because the reality is today. We have a population of single people as well as people who are in relationship and married are hurting their suffering on the inside of not feeling good enough not feeling lovable and not feeling likeable. So I invite everyone to operate from a place of more compassion more love more kindness more care because the more we do that just like for the Grinch. When he felt love his heart open wide three times. Three sizes. And maybe you can pass that on to a man or maybe a man can pass that on to you. Because when we operate from a real sense of care we have a greater chance of having relationship success. And that's my message for you today. All right I'd like to hear your thoughts on this please post a comment below if this resonated with you not just remember to subscribe to my channel please like this video please share this with friends. If you would like some support check out the link to a free discovery call with me check out my group called midlife love mastery.  And follow me on Instagram. All right I think this will be a great place to wrap up today.  I'm going to reach into the camera and give you a hug of love if that's okay. I'm going to ask you to turn to someone a pat the teddy bear pillow. Here's a teddy bear. I'd like you to give it or them a hug of love because hugs are a great source of love. And let's face it we could all use more love in our lives. Thanks a bunch. Bye bye.


Jack gets to work re-shingling the entire Overlook Hotel!  No equipment? Just a hammer? That would take a lot of shingles to re-shingle that whole... Where are they coming from? I don't see no pallet of shingles! No! I don't know! Give me hammer nails! Hammer nails!