Hello, everyone. Welcome to today's session. My name is Hemant Koth. I'm working with Red Hat. So today we would be talking about security benefits of free IPA. Considering the audience and difficulty level as beginner, I have created this session. So you will be getting an introduction and idea about the free IPA. Overview. After this session, you would be able to identify what is free IPA. What are the use cases? I mean the integration wherein you can fit a free IPA in your organization. Security benefits of free IPA. That is how you can use the free IPA in your organization to build up a security. And then last but not the least, future scope of free IPA moving forward. So when I say free IPA, those who don't know about the free IPA, they might be thinking that is it something free and then IPA collectively called as free IPA? Yes, it's the same way. Free IPA is upstream project and downstream it is called as Red Hat identity management. Likewise, it is free upstream with the downstream with the Red Hat. If you have real subscription, you can use it free of cost. Now what is free IPA? Free IPA or IDM is having collectively all Linux native tools and they have created a bundle of a software or application which will have different component inside it. 389DS, which is acting as LDAP, the backend to store all the information such as your user information, your certificates, your groups, and whatever you want to store in your free IPA. Considering the data. MIT Kerberos. MIT Kerberos used by free IPA for the Kerberos authentication. DOCTAC, when you want to go ahead and set up a CEA server, this component will help you out with free IPA in order to communicate all different services. So the different services which are present in IPA communicate with each other using the certificates issued by this DOCTAC. To make it simple and easier for some of the Linux administrator who are not much comfortable with CLI, free IPA also has web UI. So if you want to get a high level overview, it would be something like this, wherein you would see that these are the components using which you can interact with the free IPA. Now what are the use cases? So when I say use cases, you might be thinking, is it something that how I can use free IPA, where I can use free IPA, why I can, you know why I should use free IPA. So the first question will come in my mind. Can I use free IPA in my organization? I mean when we are discussing about free IPA, you tell me, can I use it in my organization? So the answer is yes, you can use it in your organization. Can I integrate with Active Directory? Now we know that I'll be very generic when I compare free IPA. I would like to compare it with the Active Directory, which is widely used by most of the organization. Then can I integrate with VMware? So most of the customers rely on VMware in order to have some of the VMs for testing and development purposes. So is it possible to integrate free IPA with VMware? So yes, it's quite possible. Moving on, can I integrate OpenStack? Can I integrate what is again alternate open source solution to VMware? Then OpenShift, can I use OpenShift with free IPA? So I mean there are tons of integrations possible with free IPA. I have not included entire list of it, but yes, if you want to find a list, you can just simply visit this link and you will be able to find the third party application integration with a free IPA. Now, can I use a free IPA in my organization? So basically, when I want to compare it, I have chosen the AD, which is most widely used by customers. So the first question would be, my Active Directory gives me the user authentication, so does the free IPA. It has privileged access management. The name itself says, where in free IPA, IPA stands for identity policy and audit. So yes, it also provides you the privilege access management, wherein you can restrict, you can define the access to be given to certain specific users, to host and to specific services. Replication, I can do replication with my Active Directory, whereas I can do the trust. It is quite possible with Active Directory. With free IPA, yes, you can do replication, one replica can handle up to 20k clients of free IPA. When it comes to trust, as of now free IPA is able to perform, able to do the trust with Active Directory. Free IPA trust is still, I mean, we are evaluating that part. Then in the Active Directory, we have the sites. Sites option available to ensure that the connectivity within the specific location or specific sites is improved so that it don't have to go to other location for connectivity. Same thing is available with the free IPA called as DNS location. So let's say if you have a branch in New York, so the systems within the New York should get connected to that specific DNS location server. We already know that LDAP is one of the component of free IPA. Certificate service, yes. Certificate service is available with the free IPA. You can issue certificates for the users, for the host and for the services. Tightly integrated and flexible security. Well, these are the terms which are, I mean, I would like to give a definition in the layman language. Tightly integrated and flexible security. We have all possible tunable configuration with free IP, wherein you can achieve your requirement just in order to achieve that you should know the capabilities of free IPA and how to do that. DNS. DNS is one of the component of free IPA. So yes, you can also manage your DNS using the free IPA. Kerberos, I have already given the information that Kerberos is available with the free IPA for the authentication, which is MIT Kerberos. Now you could see almost all the features which are available with active directory are almost present with the free IPA. I have not mentioned the entire list of all possible features, but I just tried to compare with a highly used feature by the customers. Now can I integrate with Active Directory? Now we have compared it with Active Directory. So can I integrate with Active Directory? So it says yes, you just need to set up a trust with Active Directory in order to share the Linux resources with AD. So this would be something like this. You have IDM domain. You have the AD domain. You create a trust between them. And once you have the successful trust, your AD resources would be able to access your Linux resources. Moving further, can I integrate with VMware? Yes, you can integrate with VMware. In fact, you can achieve SSO with VMware with the help of free IPA. It's just that you need to set up free IPA as an identity provider with your vCenter server appliances. So it would be like when you want to perform the SSO authentication, your identity provider should be set as a free IPA and then you can achieve the SSO as well. So this is the open stack plus free IPA where with the open stack keystone would be your service provider and key clock would be your identity provider. With the help of this identity provider, you can actually access the dashboard of it without revealing your credentials. So it is quite possible to have the open stack and free IPA integration as well. We have seen IPA and AD trust. So let's say I have IPA and AD trust available in my environment, but now I wanted to go ahead and I wanted to do some testing with OpenShift. Can I make use of my current environment in order to access the OpenShift? Yes, that is quite possible. You can also do that. So I'm just giving you an idea, high overview wherein you can fit in the IPA as per your requirement. Over the same way, you would be configuring your identity source as free IPA and here you will see that once you are trying to access the console, it will check the backend, it will check for the user and then it will allow you for any of its web services, web app or any resource that you are trying to access within the O word. Now coming to the core part of our discussion, I just wanted you to understand what is free IPA and wherein you can use free IPA. So you will understand what are the other security features that can be used or how they can be used to build security. Now first, smart card authentication. When I say smart card authentication, you would be having a smart card with you. You will just chip in your smart card to the system and you will get authenticated to the system. Now with the help of free IPA, you can also configure two-factor authentication. First, you will chip in your smart card, then you will chip in your password or you will input your password and then bingo, you got authenticated to the system. But let's try to understand if I have multiple users and I do not have the certificates. I just wanted to share single certificate with multiple users. Can I make use of this use case? Yes, it's quite possible. You can distribute the same certificate with multiple users. It's just that you need to use or make use of username hint feature. So when you have, when a user tries to authenticate with smart card certificate that matches to multiple user accounts, the following will occur. Now, if the username hit policy is enabled, user is prompted for the name and then proceed with the authentication. If the username hint policy is disabled, IPA won't be able to identify which user is actually trying to access the system because the same certificate is shared by multiple users. So that is where the authentication will fail without prompting. Now host based access control, the HVAC. HVAC is one of, I would say one of the easy and easy to implement feature. Let's say you have a system A, system B, system C, D and E wherein you just want to allow specific access to specific servers. You can make use of HVAC. You can allow them to perform SSH. You can make them allow to do the pseudo access on those specific system or you can allow the entire access to, you know, quite other systems. So let's say I want to allow CDE with full access, but I just want to restrict the SSH access to A. It is quite possible with free IPA. You can, you can make use of HVAC feature. Certificates, as I mentioned, the doc tag is acting as a core component of free IPA. You can make use of that component in order to issue certificates. Now, these are three different types of certificates that can be issued by free IPA. Host certificate or certificate for the host. Let's say if I'm issuing a certificate for the host, I can make use of that certificate for configuring different services. Or I can make use of service certificate, which would be specific to the specific service. As an example, I would take STTPS, that is the Apache certificate. We all are aware about it, then use a certificate. I can, I can issue a certificate to specific user in order to authenticate that user with certificate. Now password policy. Password policy is, let's say, one of the important features of free IPA. Where in you can define the maximum lifetime, you can define minimum lifetime of user history size. Then the character classes, where you can define the complexity level, the upper case, lower case. And then you can define the minimum length of the password, maximum failure, failure reset after interval. Let's say, for an example, now we all are working from home. So if I'm typing in my password for three times, and what if my account got locked, you can use the failure reset interval option. And your ID will get, your password will get reset after the specified time duration, the lockout duration. Now IDM in FIPS, this is something which is highly demanded by customers who are actually using FIPS. So we can proudly say that this IPA, this IDM is compatible with free IPA. Now, I'm sorry, compatible with FIPS. Now what is FIPS? FIPS is Federal Information Processing Standard. It's a publication 140 by 240-2. It's a computer security standard. So some of the customers who are following this FIPS standard, they were not able to make use of free IPA. So now a free IPA is compatible with FIPS. You can make use of it and you can have this IDM in your FIPS-enabled environment. So for Red Hat Identity Management, I have shared the list wherein you can find the documented response for the FIPS-enabled system can have IPA IDM. And for IPA as well, I have mentioned the link. Now moving on to single sign-on. I have seen most of the customers are actually looking forward for such feature wherein they have to type their password only once and then it should get authenticated to all the service and everywhere, wherever possible. So how that can be achieved? Let's say for an example, I will take an example of Red Hat Single Sign-on. If you configure your Red Hat Single Sign-on with Red Hat Identity Management, once you authenticate with your SSO, you would be able to access your host, your services, as well as you can, I mean the resources which you are trying to access, those can be also accessed, those can be also used or I'm sorry, the resources which you want to make use of, that can be also accessed using this SSO feature. Now RBAC, talking about RBAC, this is role-based access control. It actually holds three parts. One is permission, second is privilege, and third is role. Now how exactly we should define this RBAC? So permissions will grant you right to perform the specific task such as adding, deleting users or modifying a group or enabling the read access. Now privileges. Privilege is where you would be combining this permission to, let's say if you want to add a new user, you can combine those permissions because when you try to add a new user, you would require specific permissions wherein you can define the groups where it should get associated with the name, the UID, all these things. You can make use of RBAC and using this RBAC, you can define specific roles to specific users. Now if I want to give an example of RBAC, I will try to give you details using the already available information. So let's say if we want to have a group of people who would be working under help desk team, their job is to modify the user and reset the password. So you can simply assign this role to those specific users or the group of those users and your job will be simpler. You don't have to keep on assigning simple, every other permissions or privileges to those users. So likewise, we already have predefined set of roles which you can make use of. Now, pseudo, pseudo is something, pseudo is actually available with the base OS, but why we are actually calling it out with a free IPA is because this is where you centrally store the pseudo rules. You store the rules centrally and those get retrieved by the clients and those get passed by the client utility and making use of those rules. If the access is allowed, that will be permitted else it will be denied for the pseudo operation. Now everybody is moving towards Ansible. So I just thought of giving an Ansible example where then we'll create a rule, IPA pseudo rule. If you see at the end, state is present, username is IDM user and host is IDM client. So on the IDM client, I want to define the user should be able to perform the reboot only. So I'll simply write this rule and I'll deploy on specific machine, ensuring that I have already maintained my inventory. You can also make use of the already available Ansible configuration script under the user shared of Ansible free IPA. But in order to use Ansible free IPA, you should have this Ansible free IPA package installed. Now, as we are talking about the Ansible with free IPA, we have these many modules and these many features already present. So you can simply use any one of them and fulfill your requirement. You don't have to go on each server and do the task. Last but second last, it is quite interesting. Nowadays, we are getting news about the security breaches wherein a single authentication wherein people are getting security breach. So yes, you can make use of this OTP with free IPA you have HOTP and TOTP available. So HOTP is your hash message authentication code and TOTP is your time-based authentication code. This would be available for the specific time. I'll just give you a screenshot to make you understand. I have simply accessed the demo machine of free IPA. I created the time-based OTP and after fulfilling the information, I got the QR code which I would be scanning with the application. Here you would be able to see the tokens which are already enabled on the system. I make use of free OTP wherein I will just request for the OTP and while authenticating along with my password, I would be entering the OTP. Now encrypted backup. Everybody is taking the backup to ensure that in case of crash or in case of power failure or system issues, hardware failure, we can make use of those backup but what if those backup files are used by some other third-party person. So you can encrypt your backups as well. You just need to install the prerequisite packages and once you have installed, you just need to do some configuration and once you have configured, you can passphrase your GPG and making use of that IPA backup-GPG, you would be able to encrypt your backup. Identity management and admin mechanism in one central place, the IDM server, centrally manage the different type of credentials such as password, PK certificates, OTP tokens, SSH keys, apply policies to multiple machines at the same time, manage projects and other attributes for external Active Directory users and the list goes on. I mean, there are a number of things that you can do with free IPA provided that what actually is your use case or what is your requirement, you should look for that specific feature or the requirement and free IPA would be able to fulfill it. Now, the future features. We are trying to integrate with the USB Guard. We are trying to make it compatible with MS-Kyle specifications, which you can find on the Microsoft website. Support for the global catalog. We are also trying to make sure that users are able to do most of the tasks using UI and support one-time sessions such as a guest is there and he just wanted to use for a specific session. He just want to make use of IPA. So they can do that. Future scope of free IPM moving forward. We are primarily focusing on robustness, stability and testing and the troubleshooting capabilities to make users and the system administrator job easier.


David Howell and Hikaru Nakamura joined the pack of wolves at six and a half David joins us at our Gibraltar studio David a balance came from start to finish. How did it go? Yes, I was surprised in the opening. I spent far too long on the clock as usual I mean you say balanced, but I was always the one who had the chances I was a bit better at least but I couldn't turn it into anything and he seemed to find a way to draw quite smoothly So he was very frustrated at the board visibly, but yeah, I can't complain too much You know when I've surprised out the opening and there's no risk at all. It's it's a good game So you mentioned he seemed a bit frustrated on the board Does this go back to the history that both of you share from from the Gibraltar Masters a couple of years ago? At least he says some nice things to me after the game this time I went through a job ancient history, but hopefully it's water under the bridge Also this time the game was I mean that game was obviously did not Go too well for you, but today was pretty good. Yeah, I I drew that one as well, but Yeah, I mean like I played him last year as well and that one I had some winning chances So we've had some very dramatic games here in Gibraltar Yeah, one day I'll get him, but yeah, I guess this time we went on board one which we were the last two times So yeah, now Dave you didn't start very well, but for back-to-back wins. What changed? I Stopped preparing. I stopped looking at the pairings tonight before I don't know just luck. I guess. I mean, I was very lucky actually in the first victory out of those four But then I picked up a bit of momentum, I guess and hopefully I've still got enough energy for one last game tomorrow Going into the last round six and a half points. How do you estimate your chances expectations? Zero expectations. I'll just wing it and hope for the best. So we wish you all the best. Thank you, Tonya


TEFL jobs in Canada TESOL jobs in Canada are there to be found for those who truly wish to work there. Of course with English, being an official language of Canada, odds for finding employment are best for Canadian citizens themselves. Canada is a Commonwealth country so, if you're from a Commonwealth nation, your odds of landing a TESOL job might also be good. Most opportunities will exist in cities such as Toronto, Ottawa and especially Vancouver. Finding a TEFL job in Canada Almost all TEFL jobs in Canada are on the internet, with many advertised on TEFL related websites. Thoroughly research your employer so that you are clear what your job duties will be. If coming from outside Canada before accepting a position, make sure that you ask questions regarding pay, class sizes, benefits, what kind of assistance the employer can provide with immigration and work visa issues, etc. Also ensure that any contract you sign accurately reflects these details.


In this video, we are going to discuss identity as fluid, mobile and constructed. The first thing to say is that identity is not only about a presentation of self to self, or in other words it's not just about a sense of feeling secure in knowing who one is. In terms of the social, identity is just as much about the presentation of self to others. Theorists talk about this concept in various approaches. For example, Pierre Bourdieu put forth the theory of cultural capital, which works a bit like financial capital, in that you can accumulate cultural capital and use it as a kind of social currency. Bourdieu suggested that cultural capital is accumulated through the collection of cultural knowledge, through exposure to things like art, education and even taste. However, as you can probably guess, cultural capital is very much tied to financial capital, because being exposed to fine arts, education and culture is often predicated on how much money one has to spend on those kinds of activities. Another theorist, Sarah Thornton, suggests that subcultures, particularly those invested in by youth, like punk culture or skate culture, as just two examples, work in very similar ways. Subcultures work through exclusivity. Knowledge about the subculture is the secret handshake allowing entry into the club. It is the authentication process of shared interests, and individual merits belongingness by accessing knowledge about taste and classification. For example, when a metal fan goes to a metal gig, they are less likely to wear a Justin Bieber t-shirt, as they would say, a Metallica t-shirt, because one suggests membership to the taste community and the other does not. In Sarah Thornton's adaptation of Bodger's work, she offers the analogy that, just as cultural capital is personified in good manners and witty conversation, so subcultural capital is embodied in the form of being in the know. In a broader sense, as Stuart Hall writes, we must also understand identity as constructed within, not outside, discourse. This means that our identity, the idea we have of our cohesive self, is made up from the different institutions that govern our lives from the day we are born. And even before that, Hall is saying here that identities are not entities that lay outside of the complex social structures that surround us. Hall also writes that identity must be understood as it is produced in specific historical and institutional sites within specific discursive formations and practices. He is saying here that, to truly understand the way that identity is constructed, we need to place that identity within its time and place. This means that an identity can only be fashioned according to the limits and rules that govern any specific time and place. Hall is also saying that discursive formations, that is the many languages of power that meet unto the sight of a person, shape that person's behaviour and beliefs. One of the most distinct aspects of Hall's work, however, was his focus on the way identity is constructed in order to exclude some identities while privileging others, particularly in regards to race. On this, he writes that, identities are the product of the marking of difference and exclusion. Hall is looking at the politics of identity markers here, such as the way we assign different politics to different bodies based on the fact of their difference from dominant governing ideals. Based on the demarcations of difference then, some bodies are institutionally excluded from participating in certain ways, or in other words, they are marginalised. For example, being an acceptable person can only come about if the social contract creates strict rules about what and who is not acceptable. Further, the way these differentiations come about can, again, only be useful if some identities are always already marked as different. Take the identity of the Caucasian male. Throughout history, this identity has been constructed as the ideal, the locus of personhood, against which other identities are compared and constructed. While we might think that this notion is becoming superseded by shifts to multicultural societies, the legacy and imprint of this is still ubiquitous, but it is so naturalised that it is invisible. Hall's work sought to make visible this imbalance. In summary, identities are not stable, permanent, nor natural entities that form cohesive and essential parts of the human self. Clearly then, they can be manipulated, constructed, marginalised and stigmatised, based on very superficial ideas and ideals. Thank you for watching.


Samuel Anyao is the governorship candidate of the People's Democratic Party PDP in Emo State. It has been two days of productive interaction between the co-guestate government, the media, and the third Anyao Governor Yahya Bello media chart and seminar for Nigeria's political and crime correspondent and editors in Abuja. The workshop was designed to give the media firsthand information about the achievement of Governor Bello's administration through key papers delivered by those in charge of critical sectors in the state. The government retreated at the event that there was no competition for the all-progressive Congress in Kyrgyz State, noting that the election would be free and fair and would be the most peaceful. On investigative journalism, not speaking from what somebody say and then you run with it. Let me just take 2020, the year 2020, that is the almighty year of COVID-19. I'm sure you're not aware or you did not investigate to know that we have the highest investment in this country, even so passing labels. In Kyrgyz State, you never, under my watch, have a reported case or unreported case of violence within our party. It has never happened. During Congresses or primaries, and I don't think we will ever allow that. Rather, if you are dissatisfied, there are internal mechanisms to solve it and external mechanisms by going to court. The Commissioner for Finance, Asiru Idris, revealed that the state had won awards for being the best state in terms of debt reduction, transparency and accountability and took participants through facts and figures on the success story of Kyrgyz State. In education, the Kyrgyz State or Kyrgyz State rather climbed from the 28th position to number 14 in Nigeria on the back of deliberate policies to improve the education sector by Governor Ihayabelo, but that's according to the Minister or Commissioner for Education, Webme Jones. We make sure that our budget performance, we publish it, we also put it on our website. You see it, you see it online. And if you ask for it, we will also give you. If I know me second, Kyrgyz State remains the only state, especially in Northern Nigeria, that has a fully enacted education law. And this happened under Ihayabelo. The highlight of the event was the presentation of awards to winners of the third annual GYBSA competition which took place on the first day. Five judges led by Dr. Tunde Akonde, Associate Professor of Journalism, scored their participants.


unadjusted and without the rules that separate those guys and gals who are unemployed that's too long from those who aren't the real unemployment rate is probably about five and a half percent and the underemployment rate as measured by gallup which isn't controlled by the government is 14 percent not 8.6 percent people agree yeah i i agree thoroughly i think i think and the job i mean just busyed around and we were down in florida i mean waiters waitresses security i mean i'm sorry but that that's not great employment the $100,000 jobs have been lost and instead they have a $30,000 job absolutely not even 30 which is contributing less to the economy i'm happy to be negative i'm usually negative the one thing i think we get us stuck a little bit in this area particularly in the finance industry where we're kind of going through the throws of all the electron you start moving away there's weird little pockets of the country i think that are doing well you know anecdotally we're talking to some lawyers who do a lot of housing in michigan that's been picking back up you know Detroit scraping off the bottom so there are vulcan materials this morning when agri gets southeast parts of southeast doing quite well but that and that's building that's for real so i think there's credit there i just think that still the employment numbers are realistic there's pockets that are doing well the problem to me is still the reasonably high earners not the really high earners they're safe it's the reasonably high earners the mid-in middle income i don't think people are feeling comfortable yet that even though that when you hear everything whether the health care whether it be the what no not at all you know the llc look at consumer credit revolving credit you think they're comfortable they're not comfortable right and you're starting to turn in auto loans right there's something is anyone okay student loan auto loan any way to short either one not yet not effectively i think you don't need to just you're a bite of it


So you have a microphone? Yeah. Yes, a second microphone. OK, everybody. We're about to start the next presentation. So if you could all take your seats. And I hand over to Christian and Simon. Yeah, so hi, everyone. Welcome to our talk, Introduction to Eclipse Isorix. This Christian, I'm Simon. We are from Bosch. And about two years ago, we started the internal development of Eclipse Isorix at the end of last year, we open sourced it. Let's have a brief look at the agenda. Our talk is split into two parts. So first off, we were talking about Eclipse Isorix. And then the second part is the demo of the robot Larry. And you've got the ability to see Isorix in the wild. And it's a spare time project. It's not associated with Bosch. Eclipse Isorix, I'm going to briefly talk about the motivation behind it, then show you how a typical middleware nowadays works like, then discuss how Eclipse Isorix is doing things differently, and briefly discuss also some lessons learned. So first off, why does IPC matter? Well, this is why. Autonomous driving is very complex. And with autonomous driving, you're dealing with a data driven system. So different sensors like a LiDAR and a video camera are producing data and sending this data to algorithms, and then further to the actuators. For example, a steering wheel. So with the troubles. Is it fine for you, I guess? OK. Well, and typically on the systems, you have an operating system. So each application runs in a virtual address space. And you do to overcome this virtual address space. And this is why you need inter-process communication. And the main two requirements when it comes to autonomous driving is that we are transmitting large data sets, so up to 10 gigabytes per second. And additionally, we need low latency because we're dealing with a real-time system. So how does a typical middleware like the one used today in ROS work? I'll briefly introduce you to an example. So we have here a publisher, a radar app, sending data to two subscribers, two algorithmic apps. And a typical middleware, after the data was being written, the data package, copies. It's to an internal buffers, and then does further copies like for every subscriber. And if you plot this now, you get something similar like this. So with the message size, in decrease message size, you get also an increased latency. Now imagine you're sending a 4K video stream. You really have a problem. And this is where Eclipse Isorix comes in. So I'll run the same example now with Eclipse Isorix. And first off, what's different? They have to register. All the apps have to register with our demon called Rowdy. And after they have registered, the communication runs completely independent from Rowdy. So in the second part, the apps map a shared memory segment. This is the red box that you can see here. And inside this shared memory, we have so-called memory pools. You can think of them as wagons. And at the beginning, the publisher requests ownership of such a wagon from the middleware. Then in the second step, the data package is being written into this wagon. And in the third step, we deliver this pointer to the subscribers. And this is what we call true zero copy, because data is only written once and never copied. So now we press the fast forward button a bit. Two more data packages were produced. And the data package in the beef wagon was already consumed. And here we have a mechanism using reference counting to automatically recycle the unused memory chunks. Now if you plot this again, you get something similar like this. So now the latency is independent from the message size. You get virtually limitless data transmission at constant time. And now I'm going to further dig a bit more into the details of AzureX. It comes on an Apache 2 license. It's written in C++ 11. However, we're planning to move to C++ 14 soon. It runs both on Linux and QNICs. In order to establish this communication over shared memory, we're using state-of-the-art lock-free algorithms. And we would advise anyone to not directly use this API, but use it with a higher-level API. So for example, we offer bindings for Rust 2 and also continental integrated isorix in their eCal middleware to make it faster. It also can be used as an implementation for the Adaptive Autosar Communications API, which is widely used in the automotive industry. So next I'm going to talk a bit about the lessons learned. So upfront, we strive for the highest automotive safety standard. Just to be clear here, we are not there yet. Yeah, things are work in progress. But one of the main goals or the main lessons learned that we learned over the years is determinism is the key. This is why we're not using heap, but static memory pools. So if you configure your memory right upfront, you will never run into out-of-memory arrows. And also, we are only using a subset of the SDL, the C++ standard template library.  Another very important lesson learned is that lock-free programming is really hard. It took us about two years to get our main safely overflowing feeful right. If we would ask ourselves, what would we do different if we would start from the scratch? We would definitely start with the basic building blocks, because nowadays, many components are still not optimized and the feature complete. And also, we believe that transparency builds trust. And this is especially true in the safety field. And this is why we want to continue the development together with the community in the open. So briefly some words about the upcoming features. We are planning to integrate into one communication. This is, for example, necessary for the ROS2 logger, because many different applications, many different publishers are sending data to one topic. And then also, we're planning request response communication and various language bindings. The ROS language binding is already available. You can check it out, you find the link at the end. Also, we're partnering up with Eclipse Cyclone VDS. This is a middleware like Jose showed earlier, currently used inside ROS2. And for full ROS2 compatibility, we are also planning Windows and Mac OS support. So if you have further questions, you can write to our mailing list or just check out the code. And without further ado, I would give this the question. Thank you, Simon. Okay, whenever I start a presentation like this one, I try to figure out what my main goal is I want to transmit to the audience. And I came up with this here. Is it polarisorix? And the reason here is, if you look at a typical middleware, it does a lot of copies. You have a sender which has to produce data. It wants to transmit this data to a multitude of receivers. And there are a lot of copies and more. Now think of a 4K camera which runs at 60 frames per second. You have a lot of data here. And then performance becomes really a bottleneck. But in isorix, we do it a little bit differently. You can say like, you're sending not data, you just point, there's the data. Take a look at it. And this is much faster. And the second thing is a personalized thing. When I started working on this project, I thought it's pretty cool to have something which will be running in a car soon to work on in a robot, for instance, in a spare time. And that was started at the Larry project. So, who is Larry? This is Larry. Larry is our blue friend here, which is a robot which has a camera upfront, which can be rotated vertically and horizontally. You have an ultrasonic sensor. You have also a tracking sensor in front of it. But it's broken where you can win robot races, for instance. Then, we have some LEDs and a beep on it. And in the future, I will plan to pull a microphone array on it and put on some speakers so that I have speech recognition, voice control, and so on, and maybe a 3D stereo camera where you can put on some VR Googles and can become Larry and can drive through a room and with your VR Googles. And I think this is pretty crazy cool. And everything is also, again, under the Pitchits 2 license. And now the question comes, can you build your own Larry? Yes, you can. You can buy this whole kit. I think it's 130 euros. The link is here in the GitLab repository. It's not from Bosch, it's from a Robo company. And where everything comes together is a Larry Robotics repository where you can find some tutorials how to handle your Raspberry Pi with an Arclinux image. We decided for Arclinux, not Resbian. How to have, you get your Larry services running. The Larry services are the applications which are running on Larry, which control the ultrasonic sensor, the camera, the driving and so on. Then you maybe want to remote control your Larry and therefore we have a Larry user interface. It's called Larry UI. And there you can log in onto your laptop to Larry and can control him, can make a blink and so on. And we have some basic applications which like an emergency brake and so on. And the other thing is, one of my other projects is a spare time 3D engine. You should never build your own, but it's makes fun. So I build my own. And if you want to help, you can also get involved here. So now let's take a deep look into Isorix, how it's really working. I think the best thing to realize how Isorix is working is by examples like with a new language, you have to speak it. And here we have Larry, he's inside a labyrinth and we have to help Larry to find out. It's a very easy labyrinth and these rules apply only for this labyrinth, but just for the sake of argument, you stick to these rules. The first rule is if there's no obstacle ahead, drive forward. If there's no obstacle ahead, turn right. And with this algorithm, he can find off this very simplistic labyrinth. Now let's take a look at the code, how it would look like in C++. Before we started with the, we have how the code is ordered. I mentioned how we interact with the sensors, algorithms, and actuators. And in this case, we have an ultrasonic sensor which takes the obstacles. Though we can realize we are in front of a wall. Then we need an algorithm. In this case, we have an algorithm. These are the two rules to get out of a labyrinth. And then we have our actuator. This is another application. It just drives, it receives commands, drive forward, turn right, and so on. And now let's take a look at the algorithm. In C++, this is a whole algorithm. You do not need any more stuff. And with this, you have a very basic application written that Larry can find out of a labyrinth. But now let's go step by step through the code. The first thing is, as Simon mentioned, we have to register at Rowdy. This is the first line. We just say, hello Rowdy, here I am. My name is Explorer. The second thing is we are interested in the data from the ultrasonic sensor. And therefore we have to subscribe to him. And every sensor and every sender has a unique ID and in this case it's Larry, ultrasonic sensor intern. When we've done this, we have to create a driver class. It's a very simplistic class provided with Larry services, which does action for us like driving forward, turn right, turn left, stop, and so on. And we have to define when we are in front of a wall, the minimum distance. In this case, 0.3 meters. And now we come to the invent loop. This event loop runs as long as Larry is stuck until the labyrinth. At first, we have to get our sensor data from the ultrasonic sensor. We do it in line six. And now let's take our x-ray Googles and let's take a look what really happens inside. Here we are asking, hey, is there some kind of package we are interested in? And then Rowdy says, yes, there's data. Look over there. We do not do any copy. We just take a look over there and say, oh, OK. There's some sensor data. The minimum distance, for instance, is greater than the sensor distance. Therefore we have to turn right. Or we do the other thing. Over there is no sensor data because the ultrasonic sensor does not detect anything. Or the sensor data detects something. But it's further away than we require for turning right. And therefore we drive forward. And if you take a look at the driving forward and take our x-ray Googles again, we're just asking Rowdy, hey, I want to send some data package. Give me some memory. And the Rowdy comes, gives us some memory. Then we write our memory inside of it. And then we just say, Rowdy, this is the stuff I want to publish. And give it to Rowdy. And then the application which is interested in, this is a drive application, tells Rowdy, hey, I'm interested in driving the information. Is there something new? And then Rowdy again tells him, yes, there is something new. Just take a look over there. No copy involved. And then interpret your data. And this means, for instance, driving forward. And now let's take a look at the high-level architecture. It's very simplistic. You have Larry here, our blue friend. And he essentially runs on a Raspberry Pi 4, which does this basic data like collect some sensor data, has to do some preprocessing. For instance, if you have an ultrasonic sensor, you just send a ping out of it. Then you will receive some microseconds later the echo from this. And then you have to calculate your distance from it. And this is done also on the Raspberry Pi and not transmitted to a computer, the high-performance computer here. And also some low-level control, like when Larry is driving against the wall, you have to stop him. And therefore this is also done on the Raspberry Pi locally. But the high-performance computer should do like a perform a high strategy. Let's think you have a swarm of Larry's or like a swarm of turtle bots, like the previous presentation. You maybe have a strategy like, for instance, Simon is hiding and you want to find Simon. And then all the Larry's can swarm out and have some object detection and try to find Simon. And if they found him, they scream or blink or whatever. So. And here are some ideas which I came up with we could realize together. So if you like them or want to get involved, just write me an email. The first thing I spoke of was a microphone array with speech recognition or voice output. Also, I'm programing a virtual Larry environment where he can train the data with neural networks. Or a stereo camera where you can do 3D reconstruction. For instance, Larry is now a drone and flies through a valley and then you can map the valley and can put on your VR goals and take a look at the valley or object detection is needed to find Simon. You have multiple Larry's in the swarm. It's also, I think in China they use drones for the agriculture field. And maybe this is also an idea we can follow up or win a robo race because we have a tracking sensor for a robo race. So why not use it? Now we get the question come up, could come up. If you're familiar with Ross, will isoics become the next Ross and here the answer is definitely not. If you have seen in the previous presentation Ross has some awesome tools and we do not need to reinvent the wheel but we have to help the Ross 2 community become even faster. Here we have the problem with the copies and the performance bottleneck and another problem.  You have to stop when a person comes and so on. And then normally in the old days you have to rewrite everything from scratch. You have proven that it works but now we have to redo all the stuff and here the idea is you do not have to redo all the stuff. We are becoming easily and with this we can help you to fulfill your security and safety requirements. So to come with the opening question is it powered by isoics? The first thing is if you have some kind of rover or some other Ross 2 project or your own other spare time project we are connected a multitude of sensors and you have a real problem with the performance just consider switching to isoics. We are pretty fast and it's our strive to be the fastest in the open source world and we are at the moment at a pretty good pace to realize our dream. So are there any questions or would you like to see a demonstration of Larry? One question. Question sure? Microphone? Hang on a second. No worries, there you go. So if you go back to slide 22 that looked like Larry had to pull a shared memory region to get notified about like there's data available. Is that right? That's what you mean. Slide 22, 3. Ah, there we go. Yeah, so Larry has to inquire the shared memory whether there's a packet ready for him, right? Like the receiver has to pull basically. And normal at all. Yep. It's fine. It's fine, okay. You can come up. Okay, let's dig deep into the details. Have you semaphors for instance to just do a push notification? As someone has an ultrasonic sensor for instance is writing some new data then you can either try receive, you just say is there any data or no data or you can do a blocking receive and then you wait till you receive data. How's that implemented? With semaphors. Okay. Are there any further questions? So you can prepare the demo, maybe. I don't know. Gonna walk up. Who was that exactly? Can you pass it? Could you pass it to the microphone? Of course. Can you explain again what is the relationship between Cyclone and Isorix? Is Isorix a DDS implementation? So basically no Isorix is not a DDS implementation but we're planning a partnership and we just had the very first thoughts about how to combine the things and we came up with a basic architecture but yeah, that's currently in discussion. So Isorix definitely does not, it's not DDS compliant, it's not a DDS middleware. So do you support zero copy or almost zero copy communication between computers, between different computational units? Like with RDMA. Okay, we support zero copy only between one VCU or one computer if you have for instance communication between a multitude of computers which are connected for instance via TCP IP. I think there are some concepts to do some kind of zero copy but at the moment not. But if there are some concepts, I think it's feasible and then we really try to do it. Okay, cool, you've got the... Yeah, the problem is he's not starting. Okay, so we'll have to postpone that so. Sorry. And a further question, so if you want to see it live you can talk to us afterwards, yeah, just here. Okay, just for sure. Could you really see ceiling? So basically you should have a look at the SOFI implementation, this is our safely... Oh, okay, sure. So the question was how is this mechanism exactly working if I understood it right to do this atomic communication so how to seal the data basically? Repeat the question. It cannot be changed, you can configure it the way it can but it makes no sense in our case. And we do this with ECLs for instance, we have a shared memory separation with a multitude of segments and then you have for the sender port a segment where he can only write data in it and then you have a receiver port which can map this memory and only he can read it and therefore we have separation of concern and have met all safety standard in this case. And you push it off to the receiver, so the receivers have a guarantee that the right of it won't change the memory. Yeah, exactly, but the problem is we have to support Q and X and Q and X doesn't support this. Oh yeah. Okay. So we wanna be politics compliant or at least we're trying. Thanks. Do you support overwriting data in case a consumer is not present? Imagine a producer needing to overwrite data repeatedly and then the consumer connecting and consuming whatever data is available. Okay, let's, your question was if you are supporting overwriting and this means you are only interested in the newest data and not the old one from five years ago. And yes, we do this. It's our safely overflowing FIVO which takes a lot of time to implement this thing. And yes, we do. So you mentioned that you are aiming at safety quality which will satisfy ACOD safety level, the highest safety level in ISO 26262. And my question is are you going to provide some kind of a safety argument about your code, about implementation so that the users of your library could just plug it in and rely on whatever you have written? Yeah, this is currently under discussion. So we really don't know really yet how these things will work out there but probably if you are interested you can talk to us afterwards, yeah, sure. Yeah, I think we're also here in newcomer. We are I think one of the first projects we are going open source and developing easily software open source. We have processes but we have to gain experience how to handle this. For instance, we are a developer, we have a crazy cool feature, we want to have it. You just make a pull request and say yeah, it's cool. We don't have this in a car. And you have to fulfill all the whole process to make it easily. And this contains a lot of reuse, requirements writing and so on. And we have to figure out to realize this. So also if you have suggestions or a similar project that was planning something like this, come talk to us here. Yeah, I'm swirling around here, just talk to me.