Today, I'm going to talk to you about VM to VM communication mechanism for embedded. And you, if you're familiar with virtualization or virtualization technologies, well, actually we have been discussing IO virtualization and VM to VM communication for a very long time, more than 10 years, maybe more than 20 years, you know, XNPP drivers, VRTIO, and now have been around for a very long time. So what's actually new about it? Why we're even here discussing it? The purpose of this talk is to talk to you about how virtualization in embedded is different from virtualization in the data center, and in fact, we tend to call it static partitioning rather than virtualization. And how these requirements are not different also for communication and IO virtualization. And to show you how they affect existing communication protocols and whether we, you know, asking the question of whether we need new ones. And if so, how do the new protocol look like? What are the requirements? So let me start from what is already out there that probably you are already familiar with or at least you have already heard of. There are XNPP drivers, there is VRTIO, both of them are discoverable and dynamic. So the purpose of them is so that at runtime you can detect and use new, parallelize IO, you can hot plug new, parallelize IO devices, it's also meant to be able to create connection at runtime. So it's not like you define statically who can communicate with what. And it's made for IO virtualization rather than VM to VM communication. So think about it, the purpose of these protocols was so that a VM fully abstracted running in the cloud can have access to the network, access to the disk without knowing where it's running. Whether it's one server or another server, one cloud provider or a different cloud provider. And ideally so abstracted that you can even live migrate one VM from one server to the other. This is extremely different from what we do in embedded. In embedded we know exactly what's running where. We are not building a generic VM, we are building a purposefully built and designed environment for one specific partition we know beforehand. And also we are not trying to communicate with who knows what. We are communicating with a neighbor with another partition on the same SOC. We are not likely even going to go outside the SOC. What this means is a lot of the optimization and configuration parameters and design choices made for these protocols, they are sometimes even counterproductive for embedded. But let's go into how they are designed. So I'm going to try to use common terminology so that it applies to both. There is a front end driver in the unprivileged VM. In the Xen world we call it DOMU, U for unprivileged. That is just your regular Linux driver creating a virtual network card, a virtual block device. It's connecting to a special driver that we call backend. In VertiOS that's typically called VMM. It's really a proxy. What this guy is doing is receiving connection from the front end and then connecting to the real device. So proxying access to the real device underneath. So a couple of interesting details about this is these protocols are typically based on memory sharing rather than memory copying. This is an important detail because if you have any safety requirement, sometimes memory sharing is not allowed. Finally, VertiOS expects today privileged back ends. What does it mean? It means that in order to share memory the back ends needs to be able to map any page the guest passes to the back end, which needs full privilege and which is another thing that you might not have the ability to grant to the back end if you have any safety requirement. Okay, so now before we go into what are the specific requirement that we have in static partitioning scenarios and I'm going to go through five different ways to do VMM communication today. So please bear with me. But before we go into that, I was going to spend a couple of words on what is static partitioning and what are the requirements of static partitioning so that at least we start from common ground. So static partitioning is similar to virtualization and many of the underlying hardware capabilities are the same such as on ARM is the yield to execution level is going to be used in both. Probably we call hypervisor the piece of software that does both things, but the implementation is usually very different. So in one case is about dynamic VM packing as many as you can on a single host. In the other case is about dividing up your board into few partitions that you define statically beforehand. So in static partitioning, the focus is not much about running many, many VMs. The focus is running few VMs which typically are called also partitions and directly assigning hardware to these partitions. So direct assignment is usually key. Configuration is defined at build time. So when I say build time, I don't necessarily mean Yachto, so Yachto could be the place to do it. I mean before you turn on your target, right?  You're going to get three, you're going to get four, you're going to get five, but you definitely know in the case of on a server can you manage, can you imagine there are going to be hundreds, you don't even know. You have no clue what's going to be running there because it's all dynamically deployed. Finally, last but not least, there are three requirements that often come either all of them together or at least you're going to get one of them in embedded, static partitioning that certainly data center don't have to meet at all. One of which is real time. They are very, very common in embedded. You have some sort of real time, if not proper real time, at least deterministic arcule latency. Another requirement is short boot times. So, you know, I usually joke that when you turn on the radio on your car, you don't want to wait three minutes for your BIOS to boot, right, on your server, right? It has to be instantaneous, right? And safety is often also a requirement. When I say safety, that means a lot of things, right? It can mean safety certifications of proper ISO 26262 or some time it's just safety in the sense of you are designing it so that if one component fails, that's the only, the failure is limited. That's the only component that's going to fail. It's not going to bring down everything. So, I still call it safety, also maybe it's not a proper safety certification that you're looking at. You're just designing to be able to tolerate failure. And I'm going to give as an example Xandom zero less. So, typically the software that you're going to use for server virtualization is very different from the software that you're going to use for static partitioning, because simply the characteristic are two different, but Xand is an exception. So Xand can be configured for data center or can be configured for static partitioning and depending on how you configure it, you get either one. And the configuration for static partitioning is DOM zero less. We call it DOM zero less because DOM zero is a privilege environment that is the first one to start and then the one where you do privilege operation, you manage VMs, start, stop VMs. Well, with DOM zero less, DOM zero is not needed anymore. You can even stop it entirely from running. So, don't think that with DOM zero less you necessarily don't have a DOM zero, DOM zero become optional. And that's why it's called DOM zero less because it's not necessary, it's not required anymore to get things up and running. So how does it work? You load all the kernel, RAM disk, everything you need from Uboot, and then you let Xand start everything in parallel. So you parallelize the boot. And typically if yellow or purple are Burm metal VMs or tiny RTOSs, yellow and purple will finish the boot way, way before DOM zero or any Linux environment. What it means is you can get your motor controller application on your RTOS up and running in far less than a second. And when I say this, it might be possible to achieve even with Linux or be demo in the past, but here I mean by with a pretty much default configuration. Without having to push any limits, you're not going to get a second of boot time to your motor controller application. So how does it work? The static partitions here, the VMs, yellow, purple, DOM zero are defined at build time. And again, when I say build time, I don't actually mean when you're calling GCC. I mean before you turn on your system. You get fast boot time, real time support with a null scheduler, which basically is a scheduler that does nothing. That's why it's called null scheduler. So you get real time and no scheduling. It's easier to safety certify because if you take away DOM zero, then you only need to safety certify the hypervisor component, which is a lot, a lot smaller. DOM zero is not required. And here is the thing. There is no out of the box communication mechanism. And this is where the interesting part of the talk begins. So why? Because DOM zero less is, after all, a pure static partitioning solution. So what it does is you draw partition on your board. And basically each environment is one of those partition. And that's it. It's statically divided. There is no shared anything, no communication, nothing. So how do we go about adding communication mechanism to DOM zero less? Or what is the best communication mechanism among the many technologies I'm going to talk to you about? So the first things to recognize, and maybe this is the most important message of this talk, is VM to VM communication is actually different from device virtualization. So protocol like VertioNet or VertioBlock or XMPB drivers were meant to share a block device, a network card, the console, graphic devices across multiple VMs. While here, at least in my experience working in embedded, most of the time, we don't want to share anything at all. Because after all, you are dividing out the board on purpose so that each partition get entirely different devices. But what you only need is a way for this partition to exchange data, exchange data for logging so that you can send them up to the cloud so that you can do further processing. But usually it's just about data exchange rather than IO virtualization. Now this is actually a different goal, right? And it can be, I mean, it is optimized differently. So you don't need a full network virtualization solution to just get two partition to exchange data, right? On the other hand, there are cases where you might need IO virtualization. And I can make a very simple example, which is even if you have two or three partitions, which are completely independent, and each device is assigned uniquely, there is often the need to share an SD card among them. Because typically you only have one SD card on your board, you want to set up different partition on your SD card, one for each static partition, one for each VM, and use them one partition or a VM volume in each VM. That requires block virtualization, a block device virtualization. So in other words, if you only need VM to VM communication, the requirement is a lot simpler, and in my experience, that is the most common requirement. IO virtualization is not as needed in embedded, but still if you need it, it's best addressed with an IO virtualization solution rather than to a VM to VM communication channel. The other interesting bit is that in embedded for safety, you often need to be able to define this VM to VM communication channel statically. So having them dynamic actually is counterproductive because when you go and do safety certification, you need to go and explain how one can communicate with two, but three cannot communicate with four, and it's a lot easier to do it if the channel is actually static, right, rather than created dynamically. And finally, no privileged backends, for the same reason, for safety, is often totally impossible to run privileged backends because if your backends were privileged, then you will need to safety certify them as well, which it basically usually is a no-go. There is one more thing that is in the data center when you have compatibility for Linux, Windows, BSDs, you are done. In embedded, this far from the truth, right, there is Zephyr and Friartus, and so many Arthuses, I cannot remember half of them, and Bear Metal, and the Wind River, QNX, and yeah, the Department List of Xaling Salon is more than a dozen companies, I can't remember them all. Okay, so the point is portability, so I think it's a given your driver are not gonna be available for all the systems that you would like, right? So portability of this code is essential so that you can get them up and running yourself on your esoteric Arthus, popular at the moment, and without a huge amount of effort, right? So no privileged backends, how do they look like? You just run the backend in another normal VM by first assigning the hardware device to the normal VM, and then running the proxy to the backend there, and simply from zero, you take it out of the picture just for your reference. Okay, now the background is done, and I'm gonna move into a list of four or five technologies and try to explain to you in the most objective way possible the pros and cons, and I'm telling you straight away, there is no single winner here. I'm not trying to say just use this and you're gonna be good because it's not true, it's simply not true, right? There are too many dimensions, too many configurations, there is no one that wins them all. So depending on your requirement, one might be better than others. I'm gonna start with the grand daddy of the IO virtualization world that is at least in open source the oldest technology of this, which is MPV drivers. They've been around for a very long time and they've been battle-hardened in production for many years from AWS to many other products, so they certainly work well. They are made for, again, IO virtualization. So you might use them for VM to VM communication, but it was never the original goal, the goal was IO virtualization, and they come with support for network, block, console, graphics, 2D graphics, sound, and others. What are the pros of the MPV drivers? Well, among the solution you're gonna see here, the MPV drivers are the fastest with unprivileged backends. Why? Because MPV drivers were designed for unprivileged backends. So you know that all the optimization and the performance that you get in Tom Zero, the number are gonna be identical if you move them to an unprivileged VM. The other pros is available for Linux, VSD, and Windows out of the box. The facts that are available as VSD, net VSD and free VSD means you can port them to free RTOS or whatever environment that you like to port them to without a huge amount of effort. So it's not like you have to start from scratch, you can start from the VSD implementation. Cons, might not be available, well, that's the same thing, right? You might not be available for RTOSes. I think this is generally true for all that we're gonna discuss here, but, and Tom Zero's support is available in the sense that I'm gonna demo it today for the first time at the end of the talk, but it's not up-streamed yet. So it's working progress and it's a brand new development that I'm gonna show you today. How does it work? PV driver support for Tom Zero less. So, you start your VMs in parallel, as usual, with Tom Zero less. Then you use a little tool in Tom Zero once become available to start the communication channel between your DOMUs. So it creates a connection between yellow and purple so that they can start the PV protocols for network block or whatever it is that you need. So that means, in a way, you can think about the boot sequence as a two-stage boot sequence. So your yellow or purple environment, they're gonna still come up incredibly quickly, but without PV network or PV block support. They're gonna come up immediately and you can immediately start your motor controller application. However, PV block or network or whatever it is that you need is gonna come up a little bit later when the DOM Zero tools are available, when purple is available, when everything else is available, the connection will gonna come up and the total time to get your connection up is gonna still be lower than if you use DOM Zero because you parallelize the boot. So you don't have to wait for Linux to boot twice, in a sense, but it's not gonna be as fast as less than a second, right? But you're gonna get to your critical environment, your critical routine still in less than a second. So Unimore developed these and the demo by them is gonna show you today a PV network coming up, being used for communication between two VMs in a DOM Zero less environment. Vertio, so Vertio, it's similar in many ways to XMPV drivers in the sense that it was designed for IO virtualization. Frontend drivers are available in Linux, PSD, Windows. They're probably a little bit more widespread compared to XMPV drivers. Also, there are so many RTOSs and proprietary little OSs in embedded that still it might be the case as there is no Vertio support at all in the environment you're looking for. The backend is typically called VMM, as I mentioned, because in a KVM setup, the backend, because it's privileged, doesn't just do the backend work. It also does virtual machine management tasks, and that's why it's called VMM. Which brings me to the point of uniqueness is that backends need to be privileged. So there is work in progress and I'm gonna talk to you about it in a second about making them on privilege, but as of today, it is still the case, which are safety implications, security implications, and so on. XEM support is there, so if you want to use Vertio with XEM, it's possible. You need to use a couple of non-upstream patches, but it's not gonna be very difficult to set it up. But there is no DOM Zero less support. I'm gonna also go into a little bit more details on why. So the Vertio architecture works a bit like this. So Vertio, from the point of view of your DOM use, of your regular VM, looks a lot more like a regular device, like an emulated device. So when the frontend tries to access the device, it traps into the hypervisor that then sends an IO request, which means an IO emulation request to the backend. So something like, please emulate for me this right to address blah, you know, take care of it. Then the backend receives IO request and proceed with the emulation. But to perform the emulation, what it needs to do is map the page in memory of the frontend. And this is where the privilege requirement comes from because the backend needs to have the ability to map the page of the frontend. And there can be any page of the frontend and therefore, in its privileges. So what is upstreaming then, what's missing? The IO rack infrastructure, which is this component here, right, is upstream in the hypervisor. So you can use it to hook up QMU, KVM tools, really any emulator you can write your own, as long as you send it an IO request and the emulator will take care of it. It's just as simple as that. That is fully upstream already. What's missing is tool support. So the convenience tool that lets you say, please create a VM for me with vertio block, that's missing. So the patches to say, create me a vertio block, that's missing. But it has been sent to the list. So I'm actually have a link in this presentation. I added many links in this PowerPoint presentation so I recommend you to go online, you're gonna find all of the links of all the missing and working progress activities right there and you can fetch a patch and apply to yourself and try it out. So the guys that developed this is IPAM and they have a vertio block based demo running with them. There are two interesting working progress activities. One is by Linaro Project Stratos and that is about making vertio backend not privileges. So how does it work? So if you go back to here, so the idea is to pre-share a bunch of memory between your DOM zero and your purple VM and then have all the request, all the emulation request from purple always be from that shared memory and because it's already shared, you don't need to explicitly map it any longer. Now, this is gonna work. I mean, it's a simple approach. It's gonna work. What is unknown is the performance implication and I should say the performance implication to exist in vertio protocols. Now, if you were to design a new vertio protocol with this in mind, you could make it probably as fast as you would like but an existing vertio protocol like VertioNet has been optimized for years and years by Michael and the other members of the vertio community to be as fast as it can with memory sharing, right? And a fast as it can with memory sharing is not the optimizations that necessarily works in our favor when you have a memory copying interface in there. When I say memory copy is, because the region is pre-shared, what you're gonna end up is copying to and from the shared region so that you always fetch from it. So it's gonna be more copies involved. So I'm not saying this is necessarily gonna be a bad performance. I just, I really mean is unknown and it's interesting because with these protocols and if you ask me at the end what is the performance it's really hard to tell because depending on the configuration, so another key detail for instances, are you gonna use vertioNet to talk outside like Google.com or to talk to your neighbor VM? This has a very different performance profile. So all these key detail have a very big impact and you can get to two X, five X, even 10 X performance difference just depending on the configuration. So it's really hard to tell in advance. The other interesting development is what's gonna happen with DOM0 less. So the dumb way to enable it for DOM0 less would be to just wait until the backend here in DOM0 is up and running and then you can use it but basically that effectively synchronize a boot, serializes a boot and then you have no real advantage. A better way would be to hot plug the virtual device into your guest when is actually ready the backend. So I think we need some sort of hot plug mechanism to implement this properly but this at the moment is just exist on a PowerPoint slide and nowhere else. Okay, so I think you have heard about this so far even without me I mean to tell you about it this is the one I talk to you already are existing solution based on device virtualization based on IO virtualization. What I'm getting into now are two alternatives which are pure VM to VM communication mechanism that if VM to VM communication is really your goal and you don't have any IO virtualization requirement it's likely that these are gonna be a better fit. The first one is Argo. So Argo was actually born for highly secure environment for VM to VM communication highly secure environments. So the way it works is the sender ask the hypervisor please send this buffer to the receiver and the hypervisor data copies the buffer into the receiver buffer. Why is this highly secure? Because there is a pretty large class of attacks that are all based on the sender trying to change the data under the receiver feed while the receiver is reading it. So when you have a share memory the sender plays some memory in the share memory and then he says go go and read it and then the receiver go and reads it and the sender ha ha now is gonna try to change the bits and see what happens, right? And you see with pattern meltdown even very subtle changes as just as the right time can get arbitrarily code execution. So with Argo this doesn't happen because the hypervisor first it freezes the sender buffer and then it copies the data. So good luck changing the bits while the hypervisor has frozen the buffer, right? You cannot change it any longer. Argo, so what are the pros and cons? So pros is made for VM to VM communication as great performance is data is memory copy but has been designed for memory copying. So it's actually pretty fast. What else? It's lightweight. So because it's a simple sender receiver architecture it's a lot more lightweight compared to the other IO virtualization solutions. It still requires two drivers which is also the main cons of using Argo. So it requires two drivers. One for event, to receive and send event that is the event channel driver one of the PV driver blocks components. There are BSD implementation available and it's pretty widespread, Linux, Windows, BSD is available already upstream for event channels. And then there is Argo driver. So the Argo driver what it does it manages the receiver buffer. So it manages the receiver buffer and gives you API to fetch the data from the receiver buffer. They are overall a lot smaller than I think a full IO virtualization solution but still is some code. It's not zero code there that will need to be ported to an RTOS. Let's say if you wanted to. There are BSD implementation available for both. The zero less enablement is really straightforward here because there is no back end. There is no front end. There's just a sender and the receiver. They start basically at the same time. So the enablement was trivial. So I have to thank Alec Kwapis from Donnerwerk and what he did is he wrote a patch for Linux to enable event channel for Linux and that was all it took 10 lines or 20 lines all it took to enable Argo in a zero less environment. So it's a pretty good match. And now I go to the maybe the simplest possible or the two that's the last two are the simplest possible mechanism that you can use. If you only need VM to VM communication maybe the easiest thing you can actually do is to set up a share memory between your VMs and just set up a ring buffer. So that's gonna be as easy as it gets. It's gonna be portable. It's gonna work with any OS. It's gonna be there's not gonna be any complex driver that you need to port to QNX. This is gonna work basically with virtually any environment that you can imagine. The other advantage is if you need to statically define the VM to VM communication channel this is statically defined. This is actually the only one that is statically defined among all of the ones that I mentioned so far because Argo I should say the pros and cons of Argo is this is dynamic. Now you can add restriction on who talks to who with a there is a framework in Xencode XSM that's basically like a Selenux. So you can add restriction but still is fundamentally a dynamic channel while here if you have a requirement on static this is static, right? It doesn't get any more static than that. So the only thing that's not upstream is I added a patch which is on the list which you can use is quite simple and that is a hypercall to inject interrupts in another VM. And this is just for simplicity. You could use other mechanisms, you could use physical interrupts if you can. You could use event channels by why bother when you can just call an hypercall and inject an interrupt. So that makes the enablement of this even easier everywhere. So you just need an interrupt controller driver pretty much, performance. So this can be incredibly fast if designed right. I cannot stress this more if designed right, right? If you design it badly, now it's up to you. It's up to you. We are only giving you just share memory. So if you use a wrong library, if you set up a wrong ring buffer, if you miss an update on your ring buffer pointer this is not gonna go right. It can be slow, right? But as a person that designed one of these protocols I can tell you that if you design it right it can be even the fastest among all of them because you can design it for your own data knowing the data pattern, the sending and receiving pattern on your specific application, none of the other can claim that, right? So of course theoretically this can be the fastest I think. Last is an honorable mention because you cannot use it yet but axonics we are working on a programmable logic way to solve this problem. We are a programmable logic company after all. So we think that PL is obviously the right solution for this problem, right? And so you could today actually deploy in programmable logic two simple network device with a simple switch in the middle, assign one network device here, a network device there and you have your full network infrastructure in programmable logic ready to go. This works but it's not very performant. So what we are working on is a specialized data mover made on purpose for VM to VM communication that can be as fast as possible and easy to use. When I say easy to use I mean, with no complex driver, no device virtualization, no stuff that you need to port to OSS, a very, very simple enablement as small as possible directly in user space. The kernel or I provide outside is gonna be either zero or tiny because the sender and the receiver buffer are gonna be disposable directly in user space and it's gonna be fast and ideally tiny in terms of code size. That's the goal is not ready yet. So maybe next year I hope to be able to show you a demo of this. And of course the main cons is that you need programmable logic. Okay, so I have a summary slide and really the conclusion here is not to tell you that any of these is the best is to tell you that there is no one size fit all solution among them. And we can draw some, I can help you draw some conclusions but there is certainly no winner, right? First of all, it's good that there are so many options. So just a year ago there wouldn't be as many options and if you look at the upstream status wisdom zero less column, three out of four, they are, it's possible to use them today if you go home and try them out. Well, I should say except for the XMPV drivers that I'm gonna demo today but the patches are not public but we aim on making them public by the end of the year. So by the end of the year, you're gonna have three among these four options available for them zero less and in a traditional XAN set up all four are already available. So I think that's pretty good in terms of choice. Now, the other important thing to recognize is what is your requirement? Are you just looking for a VM to VM communication mechanism? Because if you're looking for a VM to VM communication mechanism, you are likely best off with a VM to VM communication solution. And among these, Argo and Playshare Memoried Interups are certainly the two that fit the bill. On the other end, if you need an IO virtualization solution, then it might be possible. I mean, both ways. You can use a VM to VM communication frame or to do IO virtualization. If you roll your own, right? You have to basically build on top of a simple communication channel, a full virtualized IO device. You could do that. But alternatively, you can use a device virtualization solution like XMPV network for communication. Also it wasn't really designed for that. So both, you know, you can do but I think obviously if you have a IO virtualization requirement, you're likely better off with an IO virtualization solution. If you have VM to VM communication requirement, you're likely better off with a VM to VM communication solution. The compatibility here that you see on the compatibility column. So it's pretty wide. I think the one that you have to watch, I think it's a little bit more restrictive is Argo because it's ported at the moment to fewer OSs but at the same time, the code size and the number of drivers is a lot smaller because it's a smaller and a more lightweight solution. So at the end of the day, it might be that it's still easier to enable than the other. Performance, this is a dreaded question. It's really hard to tell as I was mentioning. If deployed right, they can be all very performant. If deployed badly, they can all be not great in terms of numbers. So there is a XMPV protocol that is very fast for VM to VM to communication, which is called PV calls. And that's based on memory copy. It's actually maybe the only one that's based on memory copying. It's a big green. It only supports TCP and IPv4 but that is incredibly fast. Verti-onet is known to be very fast if you can have privileged backends, of course. Instead, if you cannot have privileged backends is a question mark. Argo is good. Argo is definitely good. And I don't have recent numbers in comparison with something like PV calls but probably is close. And that also is based on memory copying. Plain memory and plain share memory, as I told you, it really depends on how you develop it. How many processors are you gonna use to write to that memory? Are you gonna use just one process? Two processes? Four? Eight? How many cores are you gonna employ to do memory copies on the share memory, right? So it's difficult to tell in advance but it can be the fastest or the slowest depending on how you implement it. And in regards to privileged backends, so again, the only one that has privileged backends requirement today and is a work in progress, the solution by Progestratos from Linaro is Verti-onet. All the others don't require privileged backends. Well, Argo and plain share memory don't have backends at all, right? So there is no privileged backends. So yeah, so not one size fit all. So XenPV drivers, if you're looking for IO virtualization and you don't want to have or you cannot have privileged backends, it's probably the best option. Argo, if you just want to do VM to VM communication, dynamic channel are okay. Argo is, give you higher API. So Argo give you a user space Linux API to do send buffer, receive buffer. It's a lot easier and it's already done compared to do your pre-share memory and that way to set up your own library. Share memory, of course, for iOS compatibility that is gonna work everywhere, right? So if you're worried about getting it to run on your strange OS that somebody else chose for you, that's gonna work. And the last, I think Verti-onet is probably the one with the largest amount of virtual devices, classes of virtual devices available such as, I think there is a 3D graphic Verti-onet front and the back end. So if you need 3D graphic virtualization, then maybe it's easiest to start from there that is already available. Demo, so the demo has been developed by Unimor University in Italy by Luca Micho and Marco Solieri. So the demo, it works like this, it's just a traditional DOM zero less setup. In this case, for simplicity is not recommended but it's also the very first demo of this technology but we only have a DOM zero and a DOM U so we don't have a true DOM zero less setup without DOM zero or with DOM zero that the only thing it does is set up something and then quit.  And but it's, after all, it's just a proof of concept so you can easily do this the same way as I showed earlier with three VMs and DOM zero basically just active at the beginning and then maybe even quitting all together if you don't need it. And let me switch to the demo right now. So we are gonna see two VMs started in parallel with DOM zero less. First being loaded from Uboot. This is a Uboot prompt by the way on Axialink's zinc and P board. So it's TFTPing all the required binaries and then you're gonna see a lot of messages on the console. First then and then a lot of messages on the console because both domains are printing out at the same time on the same console. So it's a bit messy. And we're gonna finish out the DOM zero boot. This is the other domain saying hello as you see they are both printing out on the console at the same time. By default you get access to the DOM zero serial. You can see that there are two domains running. This is DOM zero so you have Excel, the privileged command interface where you can create VMs. You can switch to domain one and then this is domain one and you have no Excel. There is no privileged utilities in there. It's just your regular and privileged environment. It's also Linux. You do Excel list and nowhere, you know, it's not there, no wonder. We switch back to DOM zero. It's control triple A by the way. That's the key, the sequence of keys to switch. And on DOM zero we initialize PVNet. Now, obviously in production you're not gonna do this by hand, right? You're gonna do this automatically. This is done by hand to show you that it's a separate additional step and this is a demo, right? To show you what's happening. Now normally instead of running by hand as script you would just run it from your init system automatically as soon as possible. Now the network now is available in both your DOM zero and DOM U as it has been initialized. So there is a bridge that is required in order to be able to connect to the outside network and has also been created. As you can see XNBR zero is present among the list of bridges with which to domain one. And now we can just use SSH to get into DOM zero, right? Or you could even ping Google or do whatever you like because the PVNetwork connection is available. And you see there is a S zero interface and that's from PVNetwork being hotplugged into your DOM zero less DOM U. We have an IP address and we'll SSH into DOM zero just as a test that to showcase a possible connection between DOM U and DOM zero, so. And that's it. We are logging into DOM zero and now we are in DOM zero. That's the end and XN list works and we have the privilege interface. Okay, I think this is the end. So do you guys have any questions? We still have five minutes, so please ask. So in a normal environment, in a regular setup, let me go back to at the beginning, right, in a regular setup, what happens is you would then start XN, XN start DOM zero, then yellow and purple are not there yet, not existing. And then in DOM zero, you do Excel create and a new VM is created with a network available straight off the bat. But that's because you are from DOM zero, you have all the tools, the backend is already up and running, so of course it's gonna work. While now we are a parallelized boot, that means the backend is not necessarily there. You don't know when the backend is gonna be there. They're starting all in parallel. Now, thankfully, by happy coincidence, the MPV driver were actually designed with a rendezvous protocol. So they can start in parallel, they can find each other, but still you need somebody to create the initial connection, like the equivalent of advertising the device on a PCI bus to say, hey, there is something there. So in order to create that connection, we need DOM zero or something like DOM zero, you could probably do it from maybe Xen directly or you could do it from DOM zero and then kill DOM zero because it's really not necessarily any longer or even maybe from the backend. But yeah, so what we are doing is we are starting yellow and purple in parallel with DOM zero and when DOM zero is up and running, create the connection and then the connection is there and DOM zero is no more in the picture. Now, for the demo, DOM zero is in the picture just because we placed the backend in there for convenience, right? But it doesn't have to be there. So the backend in this case is here, should not be here, could be in another VM. It's definitely not an architectural requirement. We have a proof of concept. No, we are more than, it's more than an idea. We have a proof of concept, we have even numbers, okay? It's just that the interface is not as good as we would like yet. So the idea is there is a component in Programmable Logic with multiple interfaces, multiple interfaces to send and multiple interfaces to receive and then you give a sender interface to one VM and the receiver interface to the other VM. Then the sender VM uses this physical, this hardware, Q to end Q request saying copy this stuff and then the receiver interface can be used to say extract this data and then the data mover does a copy and is as fast as you can imagine because it's done straight in hardware, right? And the reason why Ireland showed you more data here is that the interfaces are still working progress. So at the moment, we still require quite a bit of code changing then, quite a bit of code change Linux. There are still some active weights here and there so it's not quite ready for prime time but it will be, I mean I'm pretty sure. So it's not just a crazy idea that maybe somebody somewhere one day will implement. So probably even just in six months we'll have something more concrete, yeah. Any more questions? Okay, in that case, thank you all for attending and I hope you enjoyed the talk and have a good rest of the conference. Thank you.


We've just decided that some of you must be sleeping late because your ranks seem to have diminished here after the long night, but we've been through the long night and just wanted to say to you that we're very pleased with the results. Our target in the one house had been, as we said, somewhere between 17 and 27, what apparently it's turned out between 17 and 27 that we've lost in the house, but the main point is, and we're gratified, that we have not only maintained control of the Senate, but that when we started two years ago we had 53 and we now have 54 Republican senators. And we look forward to working with this Congress now, bipartisan fashion, to solving the major problems that still have to be solved. That fella up there, I've heard his, you're saying the Senator Dole said that we had our, we would have trouble. Well, Bill, we've had trouble for 22 months. It's been a struggle every foot of the way, but we approach this. There have been concessions and compromises in both directions on all of the major issues, and we expect to continue to work with the Congress in that way. Well, I heard all of that, and I think some of that is rhetoric of the campaign season, which is now over, because the truth of the matter is we've had some mid-season course changes. We never achieved all that we had asked in budget reductions. We did not, we compromised very broadly in the tax program. We started asking for a 30 percent cut across the board retroactive to January 1st, 81. We settled for 25 percent beginning in October of 1981. And we then further, in order to get further budget cuts, we were willing to compromise on the tax package in which we agreed to certain tax increases. So I think there's been, there's been a fair exchange and a willingness to meet other people's views. Well, as I've said, we will work with them in a bipartisan fashion in an attempt to solve these problems. We won't compromise on principle of what we absolutely believe isn't essential to the recovery. And we go into this session with the awareness that everyone must have. And that is that what has been done so far is apparently working very successfully. Well, Sarah, we've done that regularly throughout these past 22 months. I meet in that cabinet room with bipartisan leadership groups. And I meet, well, we have met with leaders, both Democrat and Republican, in the various fields that you've mentioned, whether it's business, finance, agriculture. We have, we've done that as a regular matter, of course. I don't think so at all. Well, it's not time to talk about such a thing yet. I've said that many times. But let me just, let me just say it.  If you look traditionally at what has happened in a situation of this kind, we have every reason to feel good. A president newly elected and who has brought in with him one House of the Legislature, the Congress, in his election. This is the first time since 1928 that he has not lost two years later that House majority that he brought in with him. The average in times of economic stress, the average loss in this two year election is 46. We feel very good about what's happened. Sure, we'd like to have won everything, but we knew we weren't going to. All in all, I think it was a very good campaign, but you can't make a blanket assessment. Individual campaigns are run by candidates, their own personalities and beliefs set the tone for their campaigns. But out in those states that I went to, the campaigning was on a positive basis that I saw and observed. And Vice President here is going much farther than I have in traveling around the country and in seeing this. I wonder if you've seen too much of that. Well, yes, I think that seizing upon both of those, I said before and I will repeat. The charges that were made in order to try and frighten voters into voting one way, the charges that were made with regard to Social Security were absolutely without any foundation whatsoever. There was no truth behind them. There never was any secret plan written by us, and we're waiting for the commission to come in with its recommendations on the needed reforms that must be made if that program is to remain fiscally sound. Two years ago, 18 months ago, you were hoping to try to regain or gain control of the House. Now you've had a 25c loss. I'm wondering why you are so optimistic today. Well, partly I go by history. I gave you what the average was or the average loss for when the economy was in the condition that the economy is today, but even the overall average loss is 31. So we beat the odds. What are the issues that will dominate it? They will continue to be the economy. To continue doing the things that will reduce unemployment, the resolving of the issue we just talked before, that there has been a long time postponement. The first time that I ever made a speech pointing out that Social Security was actuarially out of balance, and at that time by $300 billion was in 1964. And in all the years since, nothing has been done to do anything about that. And now the imbalance is caught up with us. And within the next several months, we're going to have to actually face the issue of where the money is coming from. So I think that's an issue that can no longer be swept under the rug. Last question, please. Are we going to stay the course with high deficits? We're going to stay the course because the best way to reduce the high deficits is to continue the reduction of unnecessary federal spending and the necessity of restoring the economic base, because the high deficits have come about through several factors. But one of the most important is the high unemployment, which has taken people off the tax rolls, and at the same time has increased the output for subsistence for those people who are penalized by unemployment. So when we can get the economy back working again, and we'll take care of the revenues that are necessary to help us reduce those those deficits. Thank you, sir. No, Bill, if you really analyze the unemployment situation, there is a constant returning to work and others. This is not a steady pool of individuals who have formed that unemployment. The I'm trying to remember exactly the figure here, but I can tell you that it is a third or better of the people that are unemployed are unemployed for less than six weeks. And a figure that gets up to around 60% are unemployed for less than 16 weeks. And so there are part of the present increase in unemployment with not additional people losing jobs, although some did, but a portion of the increase in unemployment was new people entering the workforce for the first time. It may go up a few fractions of a percentage point. But what I'm saying is that the unemployment problem is is one of an ever-shifting pool of unemployed. And what we have to do is get the economy going, creating the new jobs to meet the increase in the workforce, that the workforce is constantly increasing in size. I'm just smiling broadly. California as you might know was one of the happier moments in the evening for me last night. Thank you, sir. No, he's a good candidate. Check Act one. I wouldn't take that credit. Thank you, sir. Last question, sir. That's it. Thank you. See you later.


I didn't choose to be gay." In the Christian Bible, the apostle Paul condemns what he calls shameless sexual acts between men.  The heart of Scripture's teaching is that marriage is about commitment, that it's about keeping one's covenant with one's spouse in the same way that God keeps his covenant with us. And that's something that same-sex couples can do just as well as opposite-sex couples can. Evangelical Christians read much of Scripture literally. But Evangelical scholar David Gushy says the parts about homosexuality are blown out of proportion. The Bible has 31,273 verses. The number of verses that can be called on to support the traditional position is essentially, well, six passages, maybe 15 verses at the most. Gushy recently changed his own position.  His time has come. An expert on the Holocaust, he says biblical distortions have resulted more than once in what he calls un-Christ-like behavior. I think it remains very hard for Christians to say this simple thing. We were wrong. We've been wrong on slavery, on race, on women, on a whole host of issues. So obviously, just by looking at the title, this is going to be, for some people, difficult.  I'm going to break it down in really two parts. I want to first deal with the people who may be struggling with this, those of you who are in the homosexual community, the LGBT community. But then after that, I want to also deal with Christians who may either confront or come in contact with or want to know how to deal with people in that lifestyle. So that's kind of going to be the groundwork.  Now, my background is being, because of where I've been for over 13 years, I've had the close contact with people who were sex offenders because that's what you run into a lot in prison.  Now, all of them, all of these groups are, and I'm going to talk about the ones who are interested in knowing Christ or those who are sort of curious about Christianity. Sometimes, and we'll be honest, sometimes Christianity gets a bad name from Christians. But the reason for that is because Christianity is made up of people who struggle with a lot of different things. And so that necessarily means we need to talk about and discuss what is a Christian. Now, when you read the Bible, the Bible is full of people who have failures in their life, people with a lot of errors, people who've just made mistake after mistake after mistake, sometimes unintentional, sometimes intentional. But what it is about is about someone coming and redeeming all of these fallen people who want to come to him, those who want to be saved. One of the things that you'll hear Jesus say often is, will thou be made whole? Do you want to be right? Do you want to be whole?  Everybody wants to fit in. Everybody wants to be a part of something. No one wants to feel like an outcast. And the truth is that we don't talk about, I don't care what your sexual preference is, we all have some insecurities. I don't care who you are. Male, female, gay, straight, whatever it is, whatever part of the LGBTQ community you're part of, everybody on the planet has some sort of insecurities. The issue is though, can we address those insecurities by one, either being homosexual? Does that get rid of the insecurities? Well, that can't be true, could it? Because when you look at the homosexual community, the LGBT community, there is a high rate, and I mean a high rate of depression. There is a high rate of suicidal thoughts and even actions. It just goes with it. And the question's got to be, well, why? Well, here's why. And I'm trying to say this as loving as possible, having had some experience. I'm going to share with you the experience that I had with people in that group who have decided that they want to put their life and their faith in Christ. Whenever you want to fix something, you can do it one or two ways. You can do it your way, or you can do it the right way. Most cases, we do it our way, which is not the right way. And then oftentimes, especially spiritually speaking, it's God who's left to pick up the pieces. And so when we look at all the different struggles and so forth, the question's got to be, one, do you have a desire to fight it? Do you have a desire to live for Christ? And if there's anything in your life that you need to get rid of to live for Christ, do you have a desire to get past it?  It is. Without question. It is not the way that God has designed, has ordered things. And so for those people who have decided that I am going to live the way that I think I'm supposed to live, well, then there lies no help for you.   I'm going to be me. This is the way that God has made me. This is how I am. God understands me and you don't want to change. Then you cannot be saved. The Bible knows of no one who has decided to stay where they are. If you read the Bible and you are not willing to be changed, you don't want to be changed, well, then you cannot be a Christian. Somebody may not like that, but that's just the truth. When I've dealt with and talked to people, because we're in close quarters, we're in close contact in prison, and I don't care who you are in prison, you are going to have conversations and interactions, sometimes often with people who have a different sexual persuasion than you. That's just the nature of these close contacts, these close quarters in prison. As I'm sitting and talking, I remember this one guy in particular. I'll just say his nickname so no one will know. We called him Remy. Remy was dealing with homosexuality. He also decided that he wanted to become a transgender. He was starting the process and he was developing breasts and so forth, going through the hormone therapy and so forth. We would have these conversations because when I got to this one particular place, we were all in one room. It was about 10, 15 of us in one room and so his bunk was close to mine. Anyway, having this conversation, I found out what led him to feel this way. This is sort of the same with a lot of people. There is usually a trigger that leads people to this lifestyle, but then once getting there, they'll rationalize it and saying that I've always been this way. This has always been me. Well, we all do that. I don't care what the issue is. We'll always say, well, this is kind of how I've always been, but there's usually something that triggers it, that kind of pushes it, that makes it clear in their mind, in their minds or in your mind that this is who I'm supposed to be. Talking to him, this was a man who was once married, had a child. The child was killed by a tornado and so he was certainly angry, but he'd also felt insecure in his life. It doesn't matter if you are dealing with homosexuality at all, but if it is you and you're feeling insecure, you're feeling like you are not fitting in. That part is okay. As a matter of fact, I would even go so far as to say that if you are any sort of person with any sort of sense, you're not going to fit in on this planet. As a Christian, we know this. This is not our home, and so I'm going to feel like an outcast. I feel like an oddball, a lot of cases, especially the way the world is going, and we are told that we cannot be friends with this world. Now, before we talk about how I talked with this person, other folks, how to fight it, the issue, the question has got to be, do I want to fight it? Remember, dealing with this question is, can a person be gay and a Christian? Can a Christian be gay?  Well, we know what a Christian is. That is someone who has recognized that they have sin and they have submitted themselves by faith to what Jesus has done on the cross, him paying a debt, and now they are firmly in the hands of Christ as their Lord. That's what a Christian is. A Christian is someone who does not lean on their own desires and wants, but has decided to give them over to Jesus.  Or the person who, not the person who is actively involved, or maybe he is actively involved, but it is a problem. No, I am not differentiating between the desire or the action. No, because the desire in God's mind is the same as the action. Do you hear what I said? The desire in God's mind is the same as the action. The person with evil thoughts in his mind is the same in God's mind as the person that carries him out. Those with hatred in their heart, the same as you actually carrying out murder. And so I do not differentiate that. What I am, what I am calling someone who is gay is someone who identifies himself as gay, where they have these desires, want to act in these desires, but don't have an opportunity or they are fighting them or they are actively involved. Can that person be a Christian? Well, here is a fact, and I want you all to hear me on this. Anybody can be a Christian, but you have to submit to him. Let me give you guys a scripture and I am going to tell you how I, what I have done in terms of dealing with people who struggle with this. And I won't say their name, I don't have permission to say their names, but I'll share with you what was done, because the issue has got to be, guys, especially for you all in Christian community, do we want these people to be whole? Do we want them to discover what we've discovered?  There's going to be some things that you didn't know that came with that and you're not going to like it. As a matter of fact, oftentimes the side effects may be, especially in this case, worse than the actual first symptoms that you're dealing with. The first problem. And you've got a whole new issue to deal with. But here is what a Christian is. Let's give a couple of examples in the scripture. Let's do a way to deal with it. Let's deal with what Jesus said. Jesus says in Matthew 16, 25, for whoever would save his life will lose it, but whoever loses his life for my sake will find it. Well, the reason why I pull up that passage is if you are a person that struggles with anything, that's got an issue with anything, if you want to keep what it is that you think you're struggling with, you cannot be a Christian. If you want to keep this identity, this sexual identity, you cannot be a Christian because you're wanting to keep that life.  But if you desire to lose, and I don't understand, for some folks, for some of you guys, it might be a scary proposition. It might be a proposition where I'm not willing to face it because it's full of uncertainty. I've got some friends who validate what I'm dealing with, what I'm going through in the homosexual community, but I'll challenge you on this and that could be wrong.   But I've yet to find one that is happy. I've met many who have struggled, who have fought different thoughts, dealt with anger and so forth. They're just wake up frustrated. Remember, I'm in a room with a lot of them. And we're in a fishbowl, we see each other all the time going back and forth to the child hall or to the TV room, to the phones and so forth. And so you see them and everybody's open and honest. Everyone's talking. It is what it is because it's hard in many cases in prison to be fake because we're right beside each other. And so me, I want to interact with you. I want you to come and know Christ. And many of them saw my Bibles and thought that I'm some Bible thumper who is going to just harp on them and tell them why they're going to hell and so forth. But this particular fellow even though he had some other issues, he would see me protecting him, defending him when other folks want to get on him and so he realized that I wasn't his enemy but I'm going to give it to him straight and I'm going to do the same thing tonight. And so I'm telling you that if you desire to keep whatever it is you're holding on to, whatever thing that the Bible calls sin, if you're desiring to keep on to that, you cannot be a Christian. Are you with me? And so if you want... Now, this is not talking about the people who deny that homosexuality is a sin. We'll get to that in a little bit. But if you deny that, then you're not even ready for this phase. Also what Jesus says is this, in Mark chapter 10 verse 28, Peter began to say, See, we have left everything to follow you. Jesus says, truly, truly there is no one who has left house, brother or sister or mother or father or children or lands for my sake and for the gospel to receive a hundredfold now in this time houses and brothers and sisters and mothers and children land with persecutions and in the age to come eternal life. But many who are first will be last and the last will be first.  And so Peter's declaring, Peter declares that we have left everything to follow you. Well, that's what it means to be a Christian. To leave everything or at least willing to leave everything to follow Jesus. Now, let me just say this. If you are homosexual, if you're struggling, if you got some issues with sin that's just fighting you, we'll get into how to get past this in just a little bit, in just a second in just a second I'm going to share with you how you get past it.  One of the things I found out in prison was a lot of people that are gay or in this community, they do so because it's a family for them. It's the same reason why folks join gangs. It's the same reason why some people get on sports teams and things like that or join certain clubs because it's a family and part of something and I mean I didn't like it but the fact that we are a family that they like me, they accept me and so forth and I can just be free, I can have fun. So you're not alone in that regard. As a matter of fact, we all have this issue that we continue to deal with. As a matter of fact, Paul puts it this way in Romans chapter 70 says 1st 15, for I do not understand my own actions. This is Paul. This is the one who wrote a good portion of the New Testament. For I do not do what I want but I do the very thing that I hate. Can you relate? If you can relate, then keep listening to what Paul is saying. He said, now if I do what I do not want I agree with the law that is good. So now is no longer I who do it but sin that dwells within me for I know that nothing good dwells in me that is in my flesh for I have the desire to do what is right but not the ability to carry out. Now I can go ahead and stop right there. So Paul is indicating that it's a struggle. This is Paul speaking. It is a struggle. It was a struggle with him. It's a struggle with me. It's a struggle with anyone that even if someone wants to in a mean fashion, a mean spirit of fashion wants to condemn, it's a struggle with all of us to live godly. It really is. And anyone says it differently they're lying to you. If anyone has been hypocritical in judging you, they're wrong who they struggle to. Some of us have just gotten good at covering up our sins covering up our struggles but the fact of the matter is we all suffer in this regard. And so you're not alone. Now, what did I do? What did I do? And I'm not saying this is the perfect way to do it but this is what I've done and this is what I say to you for the people that I've tried to minister to who are struggling with this who really genuinely wanted to be more of a Christian and gay.  You can't be a political Christian.  If what you are if what's hyphenated before a Christian is more important than you then you can't be a Christian. Now, you can be a Christian first, if that's your goal, your focus within any man and you'll find that whatever it is that you're dealing with that the Bible calls a sin it'll go away. I've never met the person who can get rid of someone else's sin. Can't be done. Can't be done and so for that reason I don't advocate the 12 step program. Nope. I advocate a one step program followed by several thousand other little steps. Here it is. I had a friend of mine who was struggling, as a matter of fact too at the same time it was kind of interesting at the same time they were struggling with Christian, I mean with their sexual proclivities and desires.  He wanted to live for Christ but he also wanted to live for his own gratification. Whether it was for the moment because sometimes this little like someone with a drug habit this one little hit, this one little time with it makes me feel good even though I know it makes me feel bad later on. Forgetting about the health issues that come with it, the health ramifications that come with this, because this person ended up getting even having HIV and still and still didn't want to relinquish it. Without getting into all the health ramifications let's just be we'll be honest about this thing that there are some especially when two homosexual males get together there's the risk of it but then also because people are a little careless with their sex nowadays, women are also catching it from some of these men who are being irresponsible and so forth. But his issue with me was once I found that once he, once he knew, I knew before he thought I knew but once he knew that I found out that I knew he had HIV and that he was also struggling with homosexuality, I said I've been knowing that. He said you did he said how long did you know? I said for some time now, at least over a year so this time we're talking in this now or whatever you didn't feel funny I said well listen you didn't come on to me, we're good and so we got a laugh out of that I said but listen the issue is your relationship with Christ and you growing are you trying to grow? He said man listen I'm trying to shake it, I don't know what to do I said well let me tell you what I think you ought to do and he was shocked when I told him nothing having to do with homosexuality no, I don't have an anti homosexual way to change a person no, all I can do is this let's walk to God together let's, it's almost like you all seen the Wizard of Oz it's almost like let's go to the Wizard together with all of our different eels, ailments let's follow the yellow brick road let's get to the Wizard and let's see if he can help us well in this case, let's all walk to God together and so I'm struggling with something, you're struggling with something and so we walk together we'll get there, we will get there and let him clean us because that's what happens the closer we get to him the sand, the issues that we're dealing with the further we get away from that he ends up having never to deal with that again according to his own testimony, I don't know that I can't verify, I don't follow him but he's very, and another brother did the same thing instead of me going and saying listen you know homosexuality is a sin you better this, you better know, that doesn't work because after a while some people get tired of that and they put up their defenses but if I can say let's just get closer to God and so what I started doing was I started sharing the gospel with gay people with transgender, with sex offenders and watch the number of them start coming to Christ really I'm loved to, yeah listen I don't like your sin your sin makes me, but guess what God feels the same way about my sin and if he is saying come to me then he's saying the same to you and what I cannot do is take my I can't put my anger on my back and take it to him nope, I can't take my heterosexual lusting on my back and say, yeah listen I like women I like women and so Lord, you got to deal with it no, that's not how that works that's not how that works I'm gonna get closer to him by reading, by praying by fellow by fellow shipping and so after by the things I listen to not being common with the world, but the things listening to maybe praise and worship music, gospel music, whatever listening to Christian music watching some of the things that I don't watch or be wary of certain things that I watch or don't watch on TV and so I want to, as Paul says in Philippians I want to think on all the good things honestly the pure thoughts, as best I can sometimes those things are gonna be around but you know what, because I'm fellow shipping with somebody and these thoughts come up the opportunity comes up I've got a brother or sister there that can be there with me hold me accountable and I think that's one of the things that we ought to be as Christians I don't have a problem with getting in your business I don't have a problem with letting you know hey, know what you're doing is wrong I love you but you're wrong I don't have a problem with either getting slapped or slapping and then the hug afterwards that's how we're supposed to be the problem has been though in many cases, Christians I don't have any deep stories or deep things to say to the people who are struggling with their sexuality this is it that's all you have to do the issue is, the question is do you want to do that do you want to take the step it's a one step process followed by many steps but my focus, my face is focused and following him he's right there, that's where I'm going and so my back is naturally turned to turned to turn to sin, whatever that sin is so it's homosexuality, my back is turned to it and I'm focusing on that someone that once asked me, I used to cuss like a sailor he was just natural, just fall out I couldn't, I'd answer the phone blankly blank hello, that's just how I was cuss word after cuss word that's just what it was, it's natural and then all of a sudden I just stopped cussing because, because I just started focusing on God and so as I'm walking and getting close to him, you know who's really walking with me God, the Lord and so I've got this perfect fellowship with him and he's just getting off of me I don't even realize it because my focus is just getting closer to him and so Lord if you want me to not be gay, then amen Lord, if you want me to not be mean, then amen Lord, if you want me to not be lustful, then amen Lord, if you want me to not be full of wrath and unforgiveness, then amen I want what you want now the issue's got to be, because the other problem in this dynamic is Christians we do have a tendency to be harsh on sins that we are not involved in and we, now don't get me wrong I'm not getting ready to give a a pass on homosexuality no, it is, if you don't believe it's a sin if you don't believe it's a sin, let's just pull up a couple of scriptures just to make sure first Timothy 1-10 the sexually immoral men who practice homosexuality enslavers, liars, perjurs whatever else is contrary to sound doctrine, so now there's other things that are also listed there too murderers and so forth, and so all of these things are listed and so it's not that just somebody that's committing this particular sin is that's the guy that's going to hell, that's the woman that's going to hell but not me I got a foul mouth I lie I steal, I cheat, but I ain't going to hell God, God knows my heart keep thinking that you'll find yourself in a spot you don't want to be and so we don't just look at just the one issue and ignore all the other sins that he literally lists those there for us to see what not to do what not to be and to practice certain things hey man, now the problem that we have though oftentimes we've got even in our own communities in the church people who want to minimize it as sin oftentimes, many times it's because it's because I don't want you to deal with my sin so because I don't want you to deal with my sin I need you to stay off of his sin because once you get done with him eventually you'll get to me and so it's even troublesome when you hear pastors when you hear pastors almost try to make light of sin like hey listen to this brother here I sound good, I ain't saying nothing about his sexuality so his point is that we're using now listen, there's a problem in a lot of churches not just black church but also white church with homosexuals involved in the music ministry and so forth and so his point is going to be that we shouldn't be so quick to judge since we're using them and he's going to draw a comparison with blacks, he's wrong on this guys, let's get back to him we have done what the slave master did to us dehumanize us degrade us, demonize us but then use them by advantage so his point is that we should not be dehumanizing those in the homestex community well he's right there but he's making the same as though because we're calling it out and we're saying what the bible says that we're dehumanizing, no no no if we're saying what the bible says and that's not dehumanizing them what was done to blacks as far as slavery's concerned, that was different you can't compare the two and I get bothered especially when some of these preachers who want to be more social justice worthy than pastor, they want to be more political than preacher will do that because there's some alliance with the homosexual community and I've seen this first hand where pastors will, they've got this alliance that we don't see with people in the homestex community who might, and I've seen it happen where there's funding coming in or this or that is happening and so they're a little bit more hush hush with it but that is wrong what he's saying on one hand you quote homosexuality is an abomination from Leviticus but you say that right after you ate some shrimp, some catfish and some lobster it's in Leviticus that if your wife is on her cycle that you shouldn't go in the same house with her or even sleep on the same bed with her that's the Leviticus too here's my point, we pick and choose the scriptures that we want to use to beat folk up with rather than look at our own lives okay first of all he's got to do better on his understanding of the scriptures so let's say if all we did was stay in Leviticus well first of all he needs to understand what those dietary rules were for, what some of those things were for okay where he would say that it is unclean, the food is unclean for you he never said that homosexuality was wrong just for you, no that's wrong period and we've got multiple passages outside of Leviticus to tell us that it's wrong remember God's design as he put it here he put it together to where there was a man and a woman and the two shall become flesh all right and so no brother you are you're wrong on this one as well look at your neighbor and tell your neighbor I don't condemn you I don't judge you I'm gonna preach Christ to you cause you can't evangelize and antagonize at the same time you cannot insult and inspire the same people that you insult I thank God that Jesus went to Samaria with a woman and asked them sexual identity problems and then preached condemnation he just preached Christ so he says that she had a sexual identity problem you're trying to make her fit into today's dynamic but we'll say that I thank God that we should meet condemning people and judging folks and what have you well we're not condemning people no we should judge we absolutely should judge you don't get the chance to call something sin if I called him all sorts of names and he got mad at me for doing that well then he's making a judgment call about what I said and so we can make a judgment call without questions now we're not condemning people we don't have the ability to condemn we don't have the ability to condemn but you're making light of sin I don't know his business because maybe he's got something wrong I don't know what that is but do not minimize sin now he says we cannot insult and inspire or whatever he said well you have to part of the gospel necessarily requires us telling people that we are in sin and we are going to hell you can't get past that if you do you become like good ol smile and joe down there in houston who all it is is just fun laughs and giggles kicks and giggles that's all it is that's how you get to heaven there is no suffering whatsoever there is no repentance whatsoever and that's not the message he's giving so the point is do not minimize sin and what's happening is we've got more and more preachers black, white, Hispanic even those that we didn't think were on the liberal progressive side that are also minimizing sin especially minimizing the homosexual agenda because there's more and more people and it's becoming more and more accepted and so we don't want to seem as though we are intolerant well listen it's okay to be intolerant towards sin let me just let him say so because tolerance today in these times in this culture demands an affirmation of virtually all kinds of behavior no matter how immoral unnatural or bizarre now listen all of us can stand a healthy dose of tolerance but tolerance must not come at the expense of truth so jewellty said I can be tolerant of some things of you as a person but not of your sin and I'm not gonna just go ahead and just say that okay I hear what you're saying I'll be tolerant of that but not give you the truth in response to it no no tolerance does not mean that we are to accept it because what love is that what love is that to know that what you're doing is gonna harm you and then don't tell you about it now there's this thing about us not getting in anyone's business mind your business what business is it of yours well pastor Anderson has a response of his response on this one as well um if you're in a boat with somebody people saying nothing's wrong with it and I'm doing what I want to do it's my thing you do what you want to do and people of the church people of the church say well uh you know I don't I don't go along with it but it's not bothering me I'm at home with my wife and my family and I can't tell consenting adults what to do behind closed doors it doesn't affect me so I just let them do what they want to do I don't think it's right but I'm not gonna say anything about it I'm gonna let God judge him that would be a good argument if it were not for the argument I'm about to make um if you're in a boat with somebody and uh that person is on his side of the boat and he decides that he has a right to drill a hole in the boat and you telling man what you're doing what are you trying to do he said you stay on your side of the boat you with your wife and your children and I'm doing my thing I'm doing what I want to do what I'm doing is not bothering you I have a right to do what I'm doing but eventually everybody's gonna drown because what happens in one section of society affects all of us in every section of society because sin when it is not exposed destroys yeah so we're not gonna just let it go uh you do what you want to do because eventually eventually you doing what you want to do is gonna creep over you raising your child the way you want to raise your child eventually I gotta deal with him uh at the supermarket he's trying to hold up people I gotta deal with that later listen what we know for a fact is sin does not stay in its own backyard no sin is like a cat curious wants to creep over everything and take over that's what sin does and its whole design is to make himself comfortable and to make himself appeasing to everyone and to make itself the norm that's what sin does that's what sin does now you got some people who have decided that uh we ought to be okay with it uh as a matter of fact I think we're majoring too much on the small things especially since especially since maybe you've heard this before that Jesus never spoke much about it and so why should we now my one of my one of my favorite heretical uh so-called black so-called pastors of a so-called church Freddie Haynes I played this clip before but I think it's appropriate here do you know the words of the declaration of independence we hold these truths to be self-evident that all men all people are created equal I gotta hang out there notice it does not say that all straight men are created equal it does not say that all men are unless you are gay and lesbian are created equal and I got a question for ya why are you so upset why did it bother you so why were you so emotional that you had to clothe your anger with the Bible and justify your bigotry with Scripture why did you have to do it I gotta hang out here because you do know and I'm a loose some of y'all right now we often major in what Jesus minored in have you ever read the gospel and heard Jesus say anything about homosexuality why are you so angry Jesus never said a word about it but you wanna major in what Jesus minored in so his point is and you hear this often Jesus never spoke about it Jesus never said one word about homosexuality so why should we was that true well first of all no it's not true Jesus one talks about marriage and he is intentionally affirming he is affirming all throughout Scriptures we see the affirmation of a man and a woman in a marital setting coming together not just any male and female though but it has to be in the confines of marriage and we only see that affirmed in Scripture God who was all knowing all wise all seeing he didn't know this he didn't know that at some point in time men are gonna wanna see what men and women are gonna see women he didn't know this well yeah and so that's why it was never affirmed if it was okay it would have been affirmed now it was brought up but now when he makes this statement that Jesus never spoke about it well again Jesus spoke about it from the beginning to the end we know that Jesus is God now the question's gotta be to him somebody like him do you believe that Jesus is God or not because you don't if you don't then you've got bigger problems sir you have bigger problems not just this issue with your affirming homosexuality maybe you think that you're not affirming homosexuality but you're giving aid and comfort to it and so if you're giving aid and comfort to sin then you are just as guilty of the person that's committing the sin we are told throughout Scripture that as a matter of fact a person like him what Paul says is that you give them over to a reprobate mind and that's probably what's happening that's probably the best description for somebody like him he is all the way in the coffers of a political party and a political movement and so getting the scriptures right it isn't necessarily what he has on his mind but for us and us believers who want to see people deliver want to see people healed let me read a passage one it'll address this issue of homosexuality but also how we should deal with it first Corinthians chapter 6 verse 9 you all are familiar with it it says or do you not know that the unrighteous will not inherit the kingdom of God now let's leave that right there for a second the unrighteous the atacoy which is the people who are not in right standing the people who are not in right standing shall not inherit the kingdom of God in other words he ain't going to heaven if you're not in right standing with God you are not going to heaven now he goes through this little list and so he says the beginning of this he says do not be deceived neither the sexually immoral which is what we get the word pornoi this English word of porn or pornography comes from this nor idolatrous nor adulterous now when someone comes back and says that this is what he's speaking about adultery well no that part is actually specifically addressed so we know he's not fine with adultery not meaning that someone who has done it once or what have you someone who is practicing it no no one who is practicing the sexually immoral the practicing adulter that and he's differentiating for our understanding so we don't conflate the two let's continue he says nor men who practice homosexuality nor men who practice homosexuality nor three thieves nor the greedy nor drunkers nor violers nor the swindlers will inherit so now obviously it's not just the homosexual but in this context we're speaking of homosexuality so obviously if you are practicing it if you are practicing it doesn't matter what your heart is like if your heart I want to stop it but I'll keep practicing it and maybe God will fix it later he says those that are practicing it you will not inherit the kingdom of heaven but now I need you all to understand this part look what he says here and we miss this this is the part that we miss look at verse 11 he says and such were some of you but you were washed you were sanctified you were justified in the name of the Lord Jesus Christ and by the spirit of our of our God meaning meaning that some of us were homosexuals meaning is possible it's possible to lead that lifestyle some of us were adulterers some of us were greedy some of us were drunkers some of us were swindlers matter of fact all of us were one of those things right we were all in this boat but what changed let's look at the scripture again but you were washed you were sanctified you were justified in the name of the Lord and so what changed our heart our heart was washed does it did not mean obviously that once that happened that bam immediately we stopped that no it's not what it means but our focus our walk everything was going that direction while sin was that direction there might be some times where we had a struggle a fight a fall what have you but that's not who we are and so for that reason I won't carry the same label that I'm a gay Christian I can't be a drunk Christian I can't be that can I I can't be a sexually immoral Christian that also applies to the heterosexual person so if you're out there sleeping around and thinking at least I ain't gay no you don't get a pass either if you are a swindler listen I'm cheating folks stealing folks but I'm a Christian God knows my heart no you don't know your heart and so the fact of the matter is if you are involved in any of those things if you are practicing those things you're not a believer you're not a Christian you have not trusted Christ for you have not placed your life into his hands you have not faithfully given yourself to him nothing has changed nothing has changed matter of fact I remember some of you all remember a lady by the name of Cheryl Swoop she was at Texas Tech when I was there I knew her we used to play basketball and stuff I got together Cheryl when she went to go play with the Houston comments things happened with her life, married life and she found close relationship with some female and what happened was the homosexual community was so irate with her after after she stopped that lesbian relationship that she had and someone asked her was she gay was she a lesbian she said no she said were you born that way she said no she said it was just a choice oh you should have heard the anger the ire that they had for her how dare you say that it's a choice because she said it is a choice I chose for that moment to be with this woman now I'm choosing now she's married to a man now she would go back to being with me and she said it was a choice they didn't like that and I knew when I was at Tech like wait a second Cheryl was not gay then I know she wasn't gay then I don't know for a fact I wasn't somebody was with her but I knew that she wasn't I knew she wasn't gay I knew she would Cheryl liked fellas then and then again things happened the divorce and with her husband and so forth and so things just kind of looking for love attention and so forth and so because the bible only affirms heterosexual marriage whatever the bible affirms will affirm if a person feels like they were born this way I'm not even really interested in the rationale someone says they were born this way whatever someone says that they became this way whatever okay well that doesn't float because if I pulled out my gun and shot you and I was born violent I don't get a pass for that I don't get a pass for for sin okay I don't get a and you may think it's not sin but it is okay I'm trying to do two things at once I don't get a pass for being immoral heterosexuality I don't get a pass for lying I don't get a pass for cheating I don't get a pass for any sin whatsoever nor do you but now for you guys who are now this is only for a select group of people and I want you to hear this real quick as we get ready to close this is only for a select group of people just the people who are interested in being used as a vessel to save souls okay just you guys I want you all to pray because you're going to come in contact with people who are in a different lifestyle I want you to pray Lord how can I be used to share the gospel with someone who is in the LGBTQ community because he does he cares for them like he cares for us he cares for Americans like he cares for those in Asia and Africa and Europe he cares for the straight just like he cares for the gay he cares for us all now he didn't care for our sin and so ask the Lord how you could in prayer have your heart prepared to deal with them because obviously there's a way that you have to deal with them you can't just come attacking, fighting, punching hey you're going to hell let me show you how not to go to hell you mean nasty dirty no you can't do that way could I I can't point out your sins in a fighting way there's a certain style I want you guys to be prayerful about how your heart can be soft and how you can learn how to deal with people who are in a lifestyle that's different than yours but you know because if Paul says it is out of love that we are compelled to share the gospel and so that's what I want you guys to be in prayer for because I think I think that they can be redeemed I've seen it before I've seen the LGBTQ people in the LGBTQ community redeemed I've seen sex offenders redeemed change their life I've seen transgender people do the same thing not a lot but I've seen some I've seen homosexuals definitely change I've seen racist people do it I've seen liars and thieves I've seen some of the most violent people do it I know for a fact an encounter with Christ an encounter with Christ will do it every time and so I want us to be mindful to be a vessel to help someone come in contact with Christ if at the very least not be a hindrance for a person coming to Christ Amen


Hey there, I'm Sumit. So in this video, I'll be telling you about the code hit contest that for sechia conducts and which runs from September to February So code it is a contest in which we try to get new contributors on board Who are willing to work on projects open source projects under for sechia? So we have many projects like open events to see low-clack Femme ps lab melix you can choose whichever suits you so You can get started with those you can Contribute to code and wherever you are stuck the mentors are always ready to help you You can just ask them anything that you are stuck with plus the the perks of this Participating in this contest are the grand prize winners will be invited for the first issue open tech summit in Singapore Which happens in March plus they'll be given the travel stipend plus the Free speaker ticket the other participant also have a chance to win the t-shirt swag and vouchers To attend the regional events conducted by for sechia So yeah, you can just go to kitab.com slash for sechia and explore all the projects over here And get started with them. Hope this helps this makes sense. Thanks a lot. Keep hacking


In this topic, we are going to look at another aspect of designing an effective repatriation program and that is the establishment of a mentoring relationship. In the previous topic, we discussed about the various topics on which the organization can work upon to achieve an effective repatriation process. The first thing is a standalone process of achieving a repatriation effectiveness and it is standalone because it covers all the topics which can be covered in an effective repatriation program. So assigning a mentor to an international assignee can actually cover all the topics that we have discussed in the previous topic and can be taken care of by the mentor himself or herself and that can also be done in combination with the organization working on various different topics of the repatriation process and the mentor looking after various different aspects of the repatriation process. So the mentoring relationship is a standalone aspect of ensuring an effective repatriation process. What is mentoring? Mentoring, you know, very well is the assigning of a mentor, a person who looks after the employee personally. So some organizations, they assign a mentor, also called a sponsor to ex-patriots. And you would remember from the previous topics in which we were talking about the repatriation process that the mentor or the sponsor is assigned at the pre-departure level. So before the person is going on the international assignment, the person is assigned to that that, okay, this person is going to be your mentor sitting in the headquarter position and looking after the well-being and benefit of the person while the person is away. So mentor is a person who keeps contact. Mentor is usually a senior person and knows the ex-patriot personally. Why it is a senior person? Because there has to be a significant gap between the level in which the person, the employee and the mentor exists. Because if you assign a mentor at the same level, they would be competitors and definitely competitors cannot look after the well-being of each other because obviously they have claims to the similar goals. So that is why the mentor has to be somebody in a senior position. So this is something which is an important aspect of the mentoring relationship. It should be a senior person and then it should be the person who knows the person personally. This is to overcome the out-of-sight, out-of-mind syndrome. That is what I said last time as well, that if you speak in English, that is out-of-sight, out-of-mind, that if you go away from your eyes, then you don't get out of your mind. So to overcome this syndrome, if a mentor is assigned to you in the headquarters, in the home country, who will ensure your well-being, so that in your organization's headquarters, your existence, even if it is intangible existence, but your existence is still there. It also helps in information sharing on a regular basis. So you keep knowing what is happening in the headquarters. Mentor also includes, ensures inclusion in important decisions regarding promotions and positions. So if you move away from your workplace, so different promotion opportunities come, different positions opportunities come. So if you are not present there, you won't get information. You won't get to know about it. And you won't be going to be an advocate. You won't be going to be recommended that, okay, this is the position which is coming up, this is the promotion opportunity which is coming up, which can be considered as an international assignee. So mentor is a person who fills this gap and he ensures that you are included in the promotion and positioning aspects if something comes up. And if a mentoring relationship is established well, it has a significant impact on the performance of the individual. A study found that 40 out of 50 employees had experienced a mentoring relationship and they said that their management position, which they were on at that particular time, the mentor had a significant contribution to that development. In a 2008 survey, it was found that 22% of the firms indicated the use of mentors for the repatriation process. We have discussed generally what the mentor do, but let's specifically talk about what should be the duties of a mentor. First of all, is maintaining contact with the expatriate throughout the assignment. So contact Rakhna Juhay throughout the period of assignment is the first and foremost duty of the mentor. Then ensuring expatriates are kept up to date with developments in the home country. So this is also part of the communication, regular communication that whatever the updates are that are taking place in the home country, they should be communicated to the expatriates. Then ensuring expatriates are retained in existing management development programs. So the development of management, which is taking place at the headquarters at the parent country level, the mentor make sure that the expatriates are also included in the management development program. Meaning that the plans that the organization has about the management development of its people, that your people have to rise in the organization, the expatriates that you have sent to the international assignments, should be included in the planning of them as well. And then being responsible for assisting expatriates with the repatriation process, including assisting them to obtain a repatriation position. So as I said that the mentor can look after all of the topics that were discussed in designing an effective repatriation program or he can take the responsibility of few of them and the rest of them can be looked after by the organization. But mentor has to play a very important role in the repatriation program. And then because he or she is at a senior position, they make sure that the person who comes back after the international assignment gets a position and a good position when he is repatriated back to the home country. So these are the different types of duties of a mentor that he can serve for a person who is sent on an international assignment and therefore can ensure an effective repatriation process of an expatriate.