Okay. Then I think we should start. Welcome everybody to the Automotive Pagoda. My name is Michael Steffens and I'm working for the leading supplier in the domain of tools and software in the domain of electronic control units and vehicle networks. The Automotive Pagoda is the vector cloud. And I would like to show you how this cloud is built starting as with any reasonable building with the foundation, tell the story about that building, the motivations, requirements and the like, give an introduction into its architecture, how we have chosen the material and finally draw the conclusions. Vector customers are car manufacturers and that means pretty much all car manufacturers around the world and suppliers of car manufacturers that we call, that we used to call tier ones. We sell our products or our cloud services together with vector products. That means that you get to use our services, our cloud services by purchasing a vector product the regular way. Now let me introduce briefly with a couple of examples what our customers are doing when they are using cloud services and why they are using cloud services for. Let's start with remote diagnostics. Electronic control units have fault registers which can be read for diagnostic purposes and remote diagnostics enable kind of remote debugging of cars. Remote debugging is always required when the engineer actually in the workshop at the assembly line or during a test campaign can't make sense of the diagnostic output and needs back and help from the factory. Then a back end engineer from the car factory can connect to a diagnostic session opened by the remote connection point using either mobile device or a PC. Another example is logger service that is mainly used during car development, development of new models or new makings where logger devices are mounted in cars and are connected to the vehicle network and are just logging events. As the amount of ECUs in the car is increasing, thus the amount of testing requires is increasing while the time available is not. Testing fleet becomes an important economic factor and returning each car to the factory for log analysis is not feasible. That is our logger service allows to put logger configuration in the cloud for individual cars to pick it up for configuration changes and in the other direction whenever they have mobile connectivity cars to upload logs for the factory to download and analyze. The third interesting example is you could coming from the IT world imagine like something like subversion for the electronic control unit. ECUs are in their behavior driven by data, by calibration data representing physical properties and they are being calibrated in order to meet certain requirements with respect to emissions for example, consumption or performance and also are generated in variations for example for certain markets such as EU vehicles, certain engines or certain forms of the drive chain. All these calibration data need to be tracked, archived, merged of different calibration sessions and the calibration data management services, pretty much the central repository for calibration data providing these functions. The vector cloud belongs to the SAS category of cloud services that is we provide software to our customers, we don't provide virtual machines or networks from customer or end user perspective if it all looks like software. The software is presented with the help of middleware itself running on an infrastructure as a service platform. As I said in the beginning, our cloud services are dedicated to be used with vector products that is you won't find a sign up page, you can get access by purchasing a product that is cloud enabled and it targets mainly programmatic clients. Programmatic clients means in most cases not a web browser but an application that is emitting HTTP requests in its back end. These clients can be PC applications extending their functionality or as shown before devices mounted in cars. Our cloud framework is supposed to support both legacy applications that existed long before we started cloud activities and new applications being developed dedicated for the cloud. And we need to offer customers the option to use these services either in a public offering that we provide and connect via internet or to use it on their own premises. Doing so, it's the vector cloud framework is charged with the task of mitigating risks that are specific to cloud operations. That is that would make the difference for a customer to run the service in our public offering as opposed to in its own IT department. Which means we need to consider security and tenant separation or tenant isolation. First of all, as our industry, the industry we are working in is quite risk-averse and not competitive. As a customer, I always want to have my data protected against any kind of unauthorized access. And you know the usual responses, it's use authentication and encryption of data and transit. But also as a customer, I don't want any competitor to see that I have subscribed to a certain service at all. Because doing so would allow a competitor to draw conclusions what I'm doing during development of my cars. That means my SAS front and our SAS front and should not expose any means to guess or probe for other tenants. It must not be possible to check whether a competitor of mine is using the vector clouds by doing a DNS lookup, for example. We do so by using two ways. First of all, we have to address a tenant with a request and we have to address a particular service for that tenant. Addressing tenants, we do by encoding them in credentials. I'm showing here as an example a client certificate where the tenant, here it's a company named demo is included in the subject of the client certificate or when using username password, it's encoded in the username. Regarding addressing the service, I'm here now showing as an example one of the very few web applications that we have in the vector cloud, which is the tenant user admin service and application spanning application UI that we use to allow our corporate customers to manage their own user accounts and to manage their own credentials. Here the actual application, which is the two us web client, is not in the host portion but is part of the URI, it's the first element. This is a generic principle that we carry across all applications. What does programmatic authentication mean on the client side? It means we focus on methods that have been around for decades and that you can get readily from pretty much every HTTP library around for all kinds of programming languages. It's basic authentication and TLS certificates. The exciting thing here is that the method, the choice of the method is entirely at the discretion of the client. That is not we are deciding what method the client is using. It's the client. When the client presents a certificate, we will use that. If it doesn't, we will fall back to basic authentication. With the request traversing the entry, the service gate of our cloud framework, credentials are being substituted. Inside when forwarding the authentication to the actual applications that are providing the payload, we are using a single sign on using the open ID connect method. Using open ID connect allows us to use access tokens to forward the authorization claims. There's this information like the username or group memberships or email address that the user presented at the entry. They can be forwarded along service chains if the first service receiving the request needs to contact secondary services in order to complete a request. They are, for performance reasons, cached. Access tokens have a configured lifetime and during their lifetime they are being reused from a cache as long as the user on subsequent request presents the same credentials. Facing our application developers, our framework has to be generic in the way that the product departments that do the actual development of our cloud payload and who have completely different ideas of what they want to do and what kind of technologies they want to use. It has to be generic. That is useful for pretty much any kind of HTTP service. It has to be adaptive in a way that it's very easy to publish application in our cloud from the inside and that we offer services to the application such as reading the access token or browsing the user directory of the tenant or whatever to the application but not demanded. In the simplest case, if a particular web server provided by a product department does not depend on any of these information, they can just dump there a simple web service. It's covering common needs such as the identity and access management in a way that customers using more than one service at a time do not need individual logins for the different vector applications. A management view on the game is make it as cheap as possible, develop on your own as little as you can, use it out of the box, provide global presence but in every region with low latency because the applications that we develop depend to be sensitive against response times when providing a reasonable user experience. Be able to scale up in case a big customer is demanding a lot of storage traffic or compute power but be able also to scale down in case a certain region is having a very low demand or is very slow in catching up demand. And basically no facilities, no data centers and the like and also no IT operations run by our company. We are not an IT company and we are also not a cloud provider as such. So that means we do what? Let's start with the way you get into the cloud and how requests can then be processed in the cloud. A few things are obvious. Your request will first end up at a reverse proxy that will then forward the request somehow. The request will somehow finally be answered and be worked on by a tenant application instance here shown at the right. There is in our present model a dedicated instance for every application and for every tenant. That makes tenant separation easy from the application development point of view. You just need to care for it. Don't need to care for it. The reverse proxy will need to use services of both a service discovery in order to find the right tenant and it also will need to use service of an authentication authorization service in order to check user credentials and in order to make a decision whether to forward a request into the cloud or not. All of this is running on an infrastructure platform providing virtual machines, a virtual network, storage in the form of virtual disk or objects and an orchestration framework. And you can guess what kind of IIS platform is behind that. Refining the image a bit, we see that we have put a façade service, thin service between the reverse proxy and service discovery and authentication and authorization service in order to decouple from a software design point of view but also in order to be able to narrow down the interface in order from a security perspective such that an hijacked reverse proxy cannot so easily be used to propagate an attack into the internals of our infrastructure. The authentication authorization service is based on LDAP directories. There is a dedicated LDAP directory for every tenant that is for every corporate customer. And they are representing the persistence layer for the tenant user admin service, the web page that I have shown you a few slides before, which is basically technically speaking from our perspective just the cloud application or HTTP application just as every other is. And it is sitting side by side with the tenant application instance in the tenant area. All this running as said on the infrastructure service, colored red are here, all components that we have written in house, everything else is third party. So let me show what third party elements we have used, the building blocks, choosing material. And let me start with OpenStack. I'm not going through every OpenStack component, I guess you know them, but those with, say, the differentiating and most important advantages for us. The first is Neutron, which we prefer due to its very explicit model. What I mean by that is it has project networks, subnets, routers, IP ranges, load balancers, security groups, managing port access, that you can plug together just as you would with physical components. And all components that you haven't connected aren't connected. There are no hidden routes, there are no ports popping up out of the blue and providing some platform services or routes into the internet. Virtual machines can have ports in different networks inside a project. And we can use private provider networks as vector backbones spanning across projects. So it's quite cool feature that our cloud provider has set up together with us. It means, sorry, it means that we can set up virtual machines here in a kind of transit area, a dedicated OpenStack project with multiple project networks and virtual machines bridging these networks. For example, the reverse proxy, which finally ends up traffic in our private backbone provider network and OpenStack terminology, which is not connected to the internet. We do have VPN connections from vector into these private backbones, which then link the transit project to the individual tenant projects. The other nice feature was introduced with Keystone Version 3. It's the stack tenancy introduced by the domain concept. Vector has subscribed for a domain at a public cloud provider while we are mapping our SaaS customers to projects inside that domain and are making use of project separation provided by OpenStack in order to implement our tenant isolation. The public cloud that we are using is being provided by a Swedish company that is also present on the summit at City Network, residing in Karl's Krona. They are providing the infrastructure as a service, means stuff like virtual machines, multi-tenancy, the storage and networks, but they are also providing us with managed hostings. Helped manage hosting that means they are trained into operating our heat stacks and our Ansible playbooks in order to set up and support our infrastructure and our applications. We have provided the software as a service layer on top of that, doing HTTPS to the end clients, providing user authentication, the payload and the billing, and we have set together all the orchestration. The reverse proxy, we are using a quite common choice for engine X. I think most of reverse proxies in the world are running on engine X. The most important feature we are using there is its capability to customize request processing with an engine X Lua module in a very deep manner. We can access all request metadata from our Lua modules and derive back end requests through a facade service to the service registry and the authentication service that are being performed for every incoming request before the decisions whether to forward a request and where to forward a request to the upstream server is actually done. The federated view on identity and authentication is provided by key cloak which is a Jboss-based identity provider for OpenID connect and SAML. It is a Red Hat project and one very nice feature is here that key cloak is able to split its management in realms which we can then nicely map again to our tenants connecting the tenant held up service that I have shown in the beginning of the architecture slide to individual dedicated realms. For service registry, we are using console with a console with an authoritative ACL data center sitting inside our service gate and kind of satellite servers sitting in each tenant area and console nomenclature that's console data centers and console describes the connection between them as van links in our case. It is our backbone network. It's not really wide area communication but this allows us to have service publishing to be done inside each tenant area catalogs for the respective tenants being synchronized with the central catalog and any kind of malicious cross registration that is capturing requests for another tenant by trying to publish a service for someone else being prevented with console access control lists. So as with Keystone, we are just mapping an existing organizational model in order to implement our multi-tenancy. What we have learned from that and conclusions. There are a few success stories and the biggest one is I think that we are operational and in production now with this infrastructure for pretty exactly two years with having great points of presence in Europe, America and Asia which allows us to provide well not really the minimum latency possible but reasonable latency across the world. We could do so providing a central infrastructure for orchestration provisioning and logging that I haven't demonstrated here or shown here in detail. It's possible because our provider network backbone is globally interconnected, nice feature provided by City Network. Our offer has been surprisingly well received by customers even though we are operating in a risk averse and competitive industry because for many customers just as for us not running IT in their own premises is a bigger plus than not giving out any data outside the own IT provided they accept the underlying security model. We were able and this is also something that is not possible everywhere, able to seamlessly adopt legacy IT server applications. That is we have services that have been originally written for traditional IT environments, enterprise environments, some even just to be installed on a PC here running as a cloud service and they run within the same cloud architecture as newly designed cloud applications. Our globally interconnected provider networks are from what I have seen at least a year ahead in the public infrastructure market. It sounds like a quite simple idea to have these private networks and have them globally interconnected but actually if you try to get that at one of the big IIS players on the world you will notice that this there got possible either only recently or is still not possible at all. But there is also room for growth of course. The strict mapping of tenants to projects that we have introduced in order to make the tenant separation for the application development easy is on its downside imposing issues for scale down because it means even for applications that have very, very little load just operate a handful of requests per day and have nearly no data associated with them. Just reserving dedicated virtual machines for their processing is really overkill. This can be and has been solved by a more sophisticated use of console access controllers than we did before which now allows us to also support multi-tenant instances. Then of course it's the application itself which needs to cater for secure isolation, consuming much fewer virtual resources. We are also considering to use container back end and Kubernetes in order to scale out. This has been requested by some of our product departments and also sort of adapting to the new mainstream of deployment. What I mean by that is that what our product development teams often say is we want to deliver a Docker image. Please run that. We are looking into a cloud API for test and simulation, a test and simulation product where Vector is providing the entire environment ECU is running in in order to simulate, for example, the response of peer ECUs and so on is being investigated. We are looking into supporting MQTT and how to properly implement tenant separation and the kind of adaption that we have on the HTTP level there because you know the world of Internet of Things is slowly migrating into the automotive sector as well. And we would have on the platform side database as a service high on our wish list to be provided by our public cloud provider. I thank you very much for your patience and for joining me the tour through the automotive Pagoda.


Okay, so welcome to Lighting Talk, Platform Engineering Done Right. My name is Yoazas, I'm a DX engineer at WeaveWorks and I was hoping to present in person, but it could make it last moment. So I made a video demo. I hope you can see it. This is a bit of misleading title because there's not a really single fixed way of doing Platform Engineering right. It depends on your team and organization and your project needs. And I can only cover a very small fraction of this topic. So I'll just show you how to use kind and V cluster to set up a multi cluster management cluster and how to set it up so that developers can have self service capabilities. Self service is they can make whole request that will create clusters for them. And then additional integration will give them ways to log in and so on, which we also can cover. So right now I'm just installing kind of prerequisites set up be cluster or kind. And you can see there's no V clusters. So what we're going to do is we're going to we're going to create a V cluster. At first using cluster CTL command. There's some parameters that the whole structure of a demo is first I do something manually, then I automate it, then I put it into GitOps way of automating it. And so we develop a full GitOps structure. So if you run cluster CTL by itself, it will not create the cluster, but it will export the manifest like everything else. And these manifest will create the cluster. So that's where we want to start. Here is here's our cluster that will run on kind as a namespace. It is restricted to a namespace. And when you're connected to the V cluster, you cannot see anybody else in their clusters. There's a problem with a generator. It provides some wrong values. So I replaced them with empty strings, which seems to work. Now still no V clusters. We will apply it and we will see some clusters come up. Okay, now now now we're going take some minute to load. So now now we have a way of turning manifest into clusters, but obviously we want to automate it. So we don't have to run these commands every time we want flux to managers. When the cluster is connected, you can see when the cluster is created, you can see you can connect to it. And you are restricted entirely to your namespace and to your resources in that V cluster. The approach should work for EKS or for any Kubernetes system that supports SCAPI. If there is a way to declare clusters, then this is a good way to manage that. Okay, so we're going to create customization, which will be watching our cluster YAMLs and putting them to the cluster. First, I'll just install flux because we want to start very simple. And we want to show that flux can create clusters. Okay, now we're going to create some flux resources, a Git source that will watch this repository called flux multi demo and a customization that also applies the cluster YAMLs. And I'm using a VS Code extension, which is one of the offers, and we can visualize clusters and customizations and all the resources. Later we'll be working with Helm as well. There's the problem though, there's no such file, so because we forgot to commit. I will add the file, I will push it to Git, I will reconcile, flux will see it and then we'll have flux creating clusters from manifest. In the repo, reconcile, reconcile. Okay, now there's a cluster again, this time flux is in charge of it. Okay, so this is a, it's still not the right way of doing it, but it shows you the building blocks, the flux. We want to bootstrap. What bootstrap will do is it will make flux manage itself. And we also want to apply the same pattern to other manifests. So we want, we want a single sync customization that will be managing this whole system for managing clusters. So I'll just copy GitOps toolkit sync from flux and, and I will apply that to the infrastructure. In this case, infrastructure refers to, to the code and the architecture for managing multiple clusters from this control plane cluster. It doesn't refer to infrastructure as all the clusters, but just this particular task. So yeah, just sync. Okay, so now we want, we will not be having to create customizations anymore. I think everything will be managed by flux. This will, this will prove useful later because it will make it very easy to delete and restart the whole cluster. And it's especially fast on kind, but on another provider, valuable to be able to rebuild not just tenant clusters, but the control cluster and everything. One thing I didn't get to talk to is repo structure. I tried to do some research and watch different talks and read what people are doing. And there's multiple approaches to organizing your control plane repositories and then your tenant repositories. In this case, we're not even talking about tenant repositories is all control plane, but there's still several ways of doing it. And I can't promise this is the best way, but it makes sense and it's based on practices. I found it that seemed that seemed reasonable. Okay, so now we have a second thing watching, which is the clusters.yaml. And this, this particular, this particular thing is what will be applying our cluster manifests to the control cluster or forgive my video editing. It's not very snappy as well. But yeah, now a thing is independently synced. You can try delete things and so on. But it should all be coming back. This is what will happen. Here's, here's, here's our infrastructure. So I am referring to the same repository twice once as flux system repository and once as flux multi demo. And the reason for that practice is I found that for discussions that for debugging, sometimes it's better to have some multiple resources that refer to the same thing because if they're errors you can trace them if they're doing different things with the same repository. And later on that also makes it much easier if you want to separate just the cluster definitions from the sole logic of managing clusters you can put them into separate repos because there's already to get repository objects in Okay, so so far. Yeah, I think I think I skipped over something but there was supposed to be an example of creating a pull request to add a cluster. But the point of that example is it was pretty complicated you had to copy the whole definition a whole manifest make sure you make no mistakes. Don't forget to have namespace and so on. So that is not good self service we don't want somebody have to understand all the stuff just to get a cluster. So what instead will do is we'll take helm and we'll create a helm chart that will be used as a template. We will provide values to the helm chart and from these values will be generating cluster manifest. And the helm repository for this because it's a simple helm, simple helm chart so instead we'll just keep it in our get repository under infrastructure and under clusters, we will delete the individual cluster definitions and we'll replace them. The helm release that will provide all the settings to the helm chart for creating all the clusters. Suggestions to use a config map for for that instead of a helm release or have a helm release and then have another layer of indirection with a config map, but I tried to do that and they found issues with nested values, but I'm not very good at helm. So maybe there's a better way of doing it. But the simple way of doing it cheap way of doing it is just make a make a helm release. And now, if I'm a self service user. These are the only lines I need to add edit that when I add another cluster, I make a pull request cluster 04. That's all I need to know. And later on we can put other settings in here. So for example, it's multi cluster multi tenant, we can add a list of tenants for each cluster in this one place. And the approval process is simple. There's a platform team that has full administrator rights, and someone makes a very simple pull request and you can say, Okay, this works fine. Okay, so now we have a helm release for the clusters. And fortunately, though, it does not see all the stuff that we gave to it, because it's not tracking it, only the new clusters tracked by helm release. So we could try to fix that and fit all of it. But because everything is get off so we're just going to delete everything and reboot and then it should work. Delete kind create. And then we enable the cluster for kind. And helm is not necessarily the best templating language to use in this situation as well. There's other ways of doing it. It's maybe not one perfect way, but it demonstrates the principle that you can have a template set up and you can provide values that are easy for people to add. Okay, so now we have just these four clusters. And also we have values that provides cluster, it should say clusters 00. But what we're seeing here, when we go to our list, now we have all the clusters right there, all of them are managed by this customization which manages this helm release. So that's just even a fraction of what was promised an abstract. So you can imagine if you want to have tenants, you do the same thing. You have a folder for tenants and you start out putting the manifest in there that directly create the tenants and then you iterate to make it more get ups. And then later on you can take your tenants and take the clusters and then use another templating mechanism to associate tenants with clusters. You'll have to worry about security in our back and authentication and very many things that I could not possibly cover. Not in 15 minutes anyway. Yeah, maybe few days. So yours is live. If anyone has any questions, we can answer questions. King can also answer questions. I am also in the spot for questions. Any questions? I don't hear any questions. You all just can't hear us. All right. Thank you everyone. Thank you.


stoppage of bleeding occurs in three steps after vessel injury. So in case of bleeding disorders, we need to assess each of the steps. If vessels are too fragile, that is, there is some problem in their connective tissue support, then there will be excessive bleeding. But there are many causes for that also, like vitamin C deficiency, connective tissue disorders, which make blood vessels very fragile. If there is any problem in platelet plug formation, that will also lead to bleeding disorders. Some of these causes are decrease in platelet count, then there is if there is problem with platelet addition, even if platelet count is normal. For example, in 1-villagrant disease and GP1B receptor problem, then if there is problem with platelet aggregation, like in GP2B 3A receptor problems, even with aspirin overdose, there can be abnormal platelet plug formation, because aspirin inhibits thromboxin, which is important for these steps, platelet activation and platelet aggregation. Similarly, other drug overdose like ADP receptor antagonist, GP2B3A receptor antagonist, they will lead to decreased platelet plug formation. Disorders of platelet plug formation manifest as appearance of Pettici and Papura on skin and mucus membranes. So these spontaneous appearance of small small red dots due to bleeding in capillaries appear on skin and mucus membranes. The disorders of platelet plug formation can be assessed by various tests. One is platelet count. So if there is decrease in number of platelet counts, there will be decreased platelet plug formation. Second is bleeding time, which assess the time taken for bleeding to stop after an injury. Bleeding disorders can also occur due to disorders of clotting mechanisms. So we need to re-look at the clotting pathway. So one limb is the intrinsic pathway and other side is extrinsic pathway and from pattern 10 onwards, it's a common pathway, which is common to both intrinsic and extrinsic pathway. So deficiency of any of these clotting factors can lead to decreased clot formation and bleeding. Very important cause is hemophilia, which occurs due to factor 8 and factor 9 deficiency. So factor 8 deficiency is known as hemophilia A and factor 9 deficiency is known as hemophilia B. Then there can be liver diseases, which lead to decreased formation of clotting factors as these are proteins and we know proteins are synthesized in liver. More importantly, liver disease also lead to vitamin K deficiency because vitamin K is a fat soluble look and for its absorption, it requires presence of bile. So liver diseases lead to vitamin K deficiency, which is responsible for regeneration of factors 2, 7, 9 and 10. So these causes will lead to deficiency of clotting factors. Second cause may be presence of inhibitors of clotting factors. So concentration of clotting factors will be normal, but there may be certain inhibitors, which inhibit its activity. All the problems of clotting pathways have prolonged clotting time. So clotting time is prolonged. Further assessment needs to be done to pinpoint with pathways involved and which clotting factor is involved. Now extrinsic and common pathways can be assessed by simple method taking blood and adding tissue thromboblastin to it and then finding out how much time it takes to clot. This is known as pro thrombin time. In this, we are adding this factor 3 that is tissue thromboblastin and activating extrinsic path. So if any of these clotting factors, factors 7, 10, 5, 2, 1 are deficient or are inhibited, they will be prolonged pro thrombin time. Intrinsic pathways are assessed by activating factor 12. This is known as activated partial thromboblastin time. So any of the factors of intrinsic and common pathway if they are effective, APTT will be prolonged. So we can deduce from that that when common pathway factors are affected both APTT and PT will be prolonged. Now another assessment known as thrombin time assesses the function of thrombin that is time taken for conversion of fibrinogen to fibrin after addition of thrombin. Further assessment involves specific factor assesses. Presence of inhibitors of clotting factors is assessed by mixing studies. The principle is simple that when we are suspecting any clotting factor disorders, these can be corrected by replacing that specific clotting factors. However, if there is presence of inhibitors, they will block the function of that transfused clotting factor. So in mixing studies patients plasma is mixed with normal plasma. So this normal plasma will have that deficient clotting factor. If our assessment is corrected that PT and PTT which were abnormal before if they are corrected that means clotting factors present in normal plasma have corrected the problem. However, if there is no improvement that means these clotting factors are not able to correct the problem. Now this is due to the presence of inhibitors in the patients plasma. So whatever normal clotting factors are there they are also inhibited by these inhibitors. So we have discussed a lot of assessment strategies for platelet function we talked about bleeding time, platelet count then for clotting factors we talked about thrombin time for extrinsic pathway, activated partial thromboplastin time for intrinsic pathway, clotting time prolonged in both. We talked about thrombin time taken for conversion of fibrinogen to fibrin and we also spoke about specific factor assess. So these are the major assessment strategies for various bleeding disorders.


Bismillahirrahmanirrahim, As-salamu alaikum. Today we are going to talk about direct and indirect speech. There are basically two ways to report what somebody says, one is direct and the other one is indirect speech. We use direct speech when we are writing informally and we use indirect speech when we have to write formally. Direct speech is also known as quoted speech or direct discourse. It is to use somebody's exact words under the quotation marks. On the other hand, indirect speech is known as reported speech and we do not use somebody's exact words. Direct speech usually comprises of two parts. First one is reporting speech and the other one is reported speech. The sentence over here, he said to me, I am very sick today. The first part of the sentence he said to me is a reporting part and the later half of the sentence I am very sick today is known as reported part. On the other hand, indirect speech is a speech in which we do not use the exact words of somebody and what we need to do is we have to change the pronouns, verb and other words to fit the reported part in the sentence. Direct speech do not have quotation marks. So we can see that there is a key difference between direct and indirect speech. Direct speech is always under the quotation marks while the indirect speech does not have it. In indirect speech we need to change pronouns, verb tense and other words and indirect speech we also need to add reporting verbs for example said, told, exclaimed. There are certain rules which needs to be followed when you are converting a direct speech into indirect speech. The first is the pronoun change, second is verb tense change, third is time and place expression, fourth is reporting verb then back shift models and the last one is punctuation. Okay, let's start with the first rule of the conversion that is pronoun change. When you are changing a direct speech into indirect speech you need to change the pronouns. For example as you can see in the sentence given over here, he said to me I am going to the store. Indirect speech he said to me that he was going to the store. As you can see that I has been replaced with he. So whenever you are going to convert a direct speech into indirect speech you always has to change the pronouns. The second rule of conversion is the verb tense change. When you are converting a direct speech to an indirect speech you need to change the verb tense in order to fit the context of the reporting speech. For example the sentence given over here she said she will call me tomorrow. When you convert into indirect speech she said she would call me next day. As you can see that will is replaced with would. As you can see here that the rules of conversion are fixed. For example simple present tense will convert into a past tense. Present continuous tense will change into a past continuous tense. Present perfect tense will convert into a past perfect tense. Present perfect continuous tense will change into a past perfect continuous tense when you are reporting indirect speech. Time is the case when you are reporting a future sentence where you use will and shall it will turn into would and should. And if you are writing future continuous tense where you use will be or shall be it will be converted into would be and should be. The third rule of conversion is a rule of time and place expression. When you are converting a direct speech into indirect speech you need to change the time and place in order to show the shift between location and time. For example as you can see over here the direct speech says they said we are meeting here today. The indirect speech says they said they were meeting there that day. As you can see that we which is a pronoun was replaced with they are that shows its present continuous tense is changed with were and as you can see today was replaced with that day. As you can see this is a list over here that shows the expressions and adverbs of time and place. The expression that is used in direct speech which is now it is replaced with then today will be replaced with that day and this week will be replaced that week. So this is the list that you can follow when you are changing and converting the time and place when reporting an indirect speech. The fourth rule of conversion is the rule of reporting verb. When you are converting a direct speech into an indirect speech you need to change the appropriate reporting verb in order to show that it is converted into indirect speech. As you can see in the example he said can I help you and when it is converted into indirect speech he offered me to help. So we have to add a proper reporting verb when we are converting a direct speech into an indirect speech. This is a list given over here in which you can see there are multiple reporting verbs like said, told, explained, appreciated, wished, told and requested, added. These are the words that you can use when you are converting a direct speech into indirect speech according to the sentence structure. The fifth rule of conversion is the back shift of models when you are converting a direct speech into indirect speech where words as can, may, will are used they are sometimes back shifted. For example as you can see over here the direct speech says she said she can swim. When we are converting into indirect model, indirect speech she said she could swim. So can is replaced with code. As you can see the list of back shift models is given over here in which we can see that will be replaced with would be, can will be replaced with could, shell will be replaced with should, may will be replaced with might, ought to will be replaced with ought to had. In order to summarize what we have gone through so far is that when you are converting a direct speech into indirect speech we need to follow all these rules because these rules helps us to write more professional and more formal writings.


Hi and welcome to the session. Let us discuss the following question. Question says, find the angle between the following pairs of lines. These are the given equations of lines in vector form. First of all, let us understand that if theta is the acute angle between r vector is equal to a1 vector plus lambda multiplied by b1 vector and r vector is equal to a2 vector plus lambda multiplied by b2 vector then cos theta is equal to magnitude of b1 vector dot b2 vector upon magnitude of b1 vector multiplied by magnitude of b2 vector. Now this is the key idea to solve the given question. Let us now start with the solution. Now in the question we are given two equations.  Now comparing these two equations with the equations in the key idea we get b1 vector is equal to 3i plus 2j plus 6k and b2 vector is equal to i plus 2j plus 2k. Now angle theta between the two lines is given by cos theta is equal to magnitude of b1 vector dot b2 vector upon magnitude of b1 vector multiplied by magnitude of b2 vector. Now substituting corresponding components of b1 vector and b2 vector here we get 3i plus 2j plus 6k multiplied by i plus 2j plus 2k upon Now we know magnitude of b1 vector is given by square root of 3 square plus 2 square plus 6 square. Now magnitude of vector b2 is given by square of 1 plus square of 2 plus square of 2. Now this is further equal to magnitude of 3 plus 4 plus 12 upon square root of 49 multiplied by square root of 9. Clearly we can see 3i multiplied by i is equal to 3 2j multiplied by 2j is equal to 4 and 6k multiplied by 2k is equal to 12. Now here adding these three terms we get 49 so here we can write square root of 49. Similarly here adding these three terms we get 9. So here we can write square root of 9. Now this is further equal to magnitude of 19 upon 7 multiplied by 3. Clearly we can see adding these three terms we get 19. Square root of 49 is 7 and square root of 9 is 3. Now this is further equal to 19 upon 21. So we get cos theta is equal to magnitude of 19 upon 21. So we get value of theta is equal to cos inverse of 19 upon 21. So this is the required value of theta. This completes the session. Hope you understood the solution. Take care. Have a nice day.


And remember when we tried to launch Uber in Rhode Island? At the time, they had 188 taxis to cover the population of one million people. And the government was like, we don't need you. Crazy. No one complains. We launched anyway. We were doing tens of thousands, if not more, trips within three months because we were expanding the pie of people who were taking short trips. So people who were otherwise were driving themselves or were walking or were not going out, we're doing it.


Alright, we're here with Nina Indez, the voice of Benedicta Harman from Final Fantasy XVI and today I just love to sit down talk with you ask a couple of questions and really get excited for the launch of the game Absolutely. Are you able to speak about what your character is like? What was it like to get inside her mind and get into character? The thing with video games very often it's very strict NDAs And even us the the voice actors are being given very little information about the game. So For a long time, I actually didn't know what game I was recording Until in the session, they were like, you know, this is Final Fantasy by the way, and I was like, oh really? No, I actually didn't know that but Before I started I was Given some background information about Benedicta and This is the stuff that I probably can't dive too much into because it might be spoilers, but her background and her story history is so Incredible everything that she's been through So it was yeah, it was really fun and interesting to dive into her world as much as I'm trying to you know Act her as authentically as possible and draw up on my own experiences You know, I don't live in a fantasy world. So a lot of my own imagination had to kind of come into Into play as well. Look what we have here boys an Imperial bearer But I was getting bored kind of going off of that without going into spoilers, of course Could you speak about one of the most challenging times that you had recording as Benedicta? One of the most challenging times I mean, there were a lot of challenging times. I think Her arc is so Yeah, it's difficult to wrap your your brain around what she goes through so The thing with for me is I find the very heightened and emotional scenes quite easy Which yeah, very often it's the opposite for actors like it's you know It's tough to to get those emotions out But for me, it's the opposite for me. I find it quite easy to dive into the very kind of impactful emotional scenes, but what's tough tougher for me is like the very mundane like Normal dialogue that has all the names all of the kind of specific information that needs to come across To me, that's harder actually. So I think just some of her Lengthy dialogue was probably those were the most challenging sessions for me I know that you talked about the fact that throughout the audition process You didn't really know what game you were getting the role for but can you speak about what the process was like for you for auditioning? How did you come to find out about the role and stuff like that? Yeah, I Had I remember my audition so fondly It was so yeah again, I Think I got the script like a day before or something like that They were obviously using code names for the characters and the Scenes were quite similar, but rewritten in a way. So they were You were playing out the same scenarios, but it was like different dialogue and I just didn't know what to expect walked into the room and I think one of the first scenes I had to do was like a very impactful kind of emotional scene I was like well Here we go. Let's just Let's just go for it and I had so much fun I felt like I immediately connected with her and This was actually so funny. This was the first audition. I got an applause for when I finished It's like usually you go into the room and they're like, okay. Thank you for coming. Bye, but this time It was like I it was such an amazing Energy in the room. And so I remember walking out feeling quite good. I was like, hmm Yeah, I think it went well but yeah, the audition process was amazing and It was amazing after that as well Was there any time throughout the recording process where you were given an opportunity to kind of improvise? Yeah but I Didn't feel the need to improvise that much with this. I think the scripts are so well written and They're also written in a way that allows you to explore as as an actor. So There was never one way of delivering a line or delivering a scene So in a way, I felt like I could improvise but with different deliveries of of the scene I actually didn't want to Improvise lines or change things Because it just didn't need it and I just felt connected to the To the script that I was given was there at any point in time Recording as Benedicta that you felt like you related to her. Oh, yeah. Yeah many times. I Think I try to relate to everything that she goes through, you know Even when she summons summoning Garuda powers like of course, I can't really In real life, I can't relate to that but but there's always something that I can draw upon from My experience in life and also just my imagination. I always want to be able to Give the most authentic performance Whether you're living in a, you know, your character is living in a huge fantasy world Every character is real So authenticity is very important Yeah, so I would just dive into myself, I guess and See what I could take from from my spectrum of emotions and Experiences I'd love to just ask a couple quick questions. What does Final Fantasy mean to you? Final Fantasy To me means escapism. I think it's such an incredible epic world like fantastical with Acons and amazing characters and Yeah, just an amazing world So to me, I think it means escapism, it's definitely a place you can kind of forget Your normal life and just dive into yeah dive into this so yeah How excited are you for the launch? I mean So excited so excited. I'm buzzing just sitting here with you right now. So Yeah Very very very excited Lastly, what do you hope fans will feel once they play the game? I Hope that everyone feels this sense of awe As much as I felt that whilst I've been recording The game diving into the script and the story Yeah, it is such an amazing story such an amazing world I Was you know struck with awe all the time as I was exploring things and With my character, so I hope that people have this sense of awe when they when they play it Thank you so much for taking the time today. We're really excited about the game And I hope you enjoy the rest of your media tour. Thank you so much. Thank you so much for having me