What do you mean by SDK and protocol for VDI systems what sort of driver is it? so it's a driver in that it's loaded as a module which gets used by Citrix if you've ever worked with Citrix or with the Citrix Xenapp Virtual Drivers the Citrix Workspace or Citrix Virtual Channel SDK also the Citrix Workstation so the Citrix Workstation is on the client side which, thus far, we've had a targer which is a windows environment The Citrix pattern is a solution for controlling a remote workstation Generally other solutions like a remote desktop interface or application are well let's think of a few of them there is reminmmma there are the VNC type clients there are some variations of those, such as solutions created in Go I haven't used all of them, I'v egenerally loathed using any sort of remote desktop solution because they're sluggish, and I've never had to rely on one generally if I need to do anything remote, I prefer to use ssh and some sort of a text based session where I can do the specific things that I need without having to think about a graphical user experience but as far as remote desktops rae concerned, Citrix seems to be the most fluid, performant, responsive, comprehensive that I've tried that said, i've also seen plenty of flaws in the documentation and in the example code that we're given I mean thigns work, but the documentation was not so great in the sense that it's written in a very confusing way which suggests that either it's written by a developer who isn't very good at technical writing or is perhaps not very experienced in doing it or it's written by someone who does technical writing, but isn't a defveloper or an engineer and in this sense it can be a bit frustrating, because the terms they choose to represent things are ambiguous and inconsistent, sometimes alluding to the possibility that they could be referring to multiple things causing you to question the progression of working through the components of the tutorial or setting up the examples that being said, it all worked in the end it seems that the software is fairly good, and that though there have been some issuesdsiscovered over the years, everthing appears to be gettting resolved eventually there are even capabilities which we haven't had to wory about, that we've entertained at least having to support in our work, such as the feature of being able to use up to 8 simultaneous monitors for one desktop environment that's pretty insane, i can't think of anyone who's had to do that, especially not for a remote session but nevertheless, we made sure we could support several in our testing, using different measurements on each etc.. so in essence it' sa driver which is a module loaded by the Citrix Workspace, previously Citrix Xenapp, and it provides the means of leveraging a session lifecycle with their citrix technology the way this work si sby registering a virtual channel a wire to write and read from you register your virtual channel, and get a pointer to a C functiointerface and you write your data on a single thread and have it come out on the other side made available through another Citrix API where you can register another set of functions for use in the other environment we made this into a library which interfaces with Node JS, allowing you to regisjAvascript functions and import them into a NodeJS application the goal here was to make an SDK that javascript developers could use to wriet tent applications which are split as two applications in each system environment so you have a client side application which the user interacts with, such as a messaging or telecommunication program our use case was video calling application which makes use of the other SDKs provided by our company which couldn't be used by clients who have virtual desktop solutions, such as in banks (at least, our direct client is a major international bank) and so since they aren't able to use our SDK in their remote session, because the video is unusuable and the media is awful, we set out to create a solution which allows for the commands to be invoked from the user's environment causing actions in a remote application which is loaded in the user's immediate environment that remote application is where all of the signalling is performed then we provide a window from the remote environment which is overlayed in a predictable fashion such that it appears as though it is in the user's remote environment ie it is over the Citrix Window, and tracks accordingly so again the idea here is that they needed a video call application to run in a remote desktop environment, where the signalling is being performed locally in an application which could be thought fo as a remote application relative to the primary application the remote application is run in the driver running in the user's local system, which interfaces with citrix and writes data on a virtual wire which has been registered as what they term a Virtual Channel the data is split into packets which are somewhat easier to put back together on the other side, as it's not a stream, they are packets with a fixed size which are guaranteed to come out in the same size of chunk so we essentially referred to that process as packetization, by taking an RFC which detailed the same, and plugged in our numbers, ie the limitation of packet size, and implemented it our sdk provides several features, including a protocol for messages to be structuredsessions with a lifecycle represented as a progression of states the original solution was all built into the same process driver process this created its own rpocesses however as we were using CEF, Chromium Embedded Framework Chromium Embedded Framework is another SDK which can be used to create Chromium browsers this allows you to leverage the entire Chromium API, which in our case we were using for loading a remote application which was itself a JavaScript application which holds the other SDK of our company that SDK provides access to our subscription based services Software as a Service SAAS I should say we decided to refactor all of this, because the original solution had been rushed as a proof of concept and to get a deployed solution available for the client to use as soon as possible they were happy with the solution and have been using it internally, first with one team in Hong Kong, and eventually ramping it up to I believe a quarter million of their employees they are actively using this now we noticed some bottlenecks in the messaging and some issues which might be alleviated if it were not all piggybacking on the citrix viewer's process so what we did was redesign it with concerns split amongst separate processes which work together as a networking solution the first is a Communication link which houses a channel port, encoder/decoder and serializer/deserializer this would allow us to utilize different serialization solutions in the future, once we adapt the solution for something not involving Citrix on the radar was,has been and currently is VMWare essentially any serializer/deserializer could be used the communication link handles incoming requests from the client side applicationreceives them, sanitizes them, converts them to our own driver's messaging protocol, and then sensd them forward over IPC to another process called the Orchestrator the orchestrator is the orchestrator houses a controller to manage session logic and determine message flow, and a process host which we can use for launching other processes at the moment those other processes are window hosts and browser hosts the browser host is a daemon which can launch CEF browsers for any number of ongoing sessions and manage the state of those browsers to ensure that they are acting in accordance with our sessions and processes the window host is something which can procure, manage the lifecycle of, and destroy a window and this has to be implemented for each platform we have window solutions for linux, windows and mac the linux solution has been deployed for various thin clients the windows solution mostly for windows 10 64 and the mac solution is one which we are working on right now, is the project for which I am accountable, and is nearing its deployment we've had to learn some ObjectiveC in order to implement the window properly on MacOS using a C bridge to give us access to the ObjectiveC API from our C++ based application I implemented that as an extern declared constant struct which has functions which create an ObjectiveC UI object, call methods on it, and perform cleanup as is necessary there is multithreading involved, yes we have a worker class which can be leveraged anywhere it's needed, such as with our orchestrator, whose use of a worker thread is handy for processing message queues so there are many processes at play here, all communicating and with one another in a patetrn whic his made to allow for a lot of overhead if needs be we imeplemnted wthis using ZeroMQ, a messaging library for reliable sockets it offers a few patterns which can be easily implemented the one which we settled on was a REQUEST-Reply pattern whereby wherein every message sent has to be responded to before another one can go out this allows us to track the exact order of a messaging scheme exit having words tos peak having thoughts to elucidate having a point of focus these are things that we take for granted as human beings based on our understanding of the definition of being human, having consciousness, and having the assumption that these capacities extend indefinitely of course, this is not always the case, as we see exceptions based on genetic circumstances or events incurred during development and these become more pronounced as one ages, as we see with our fellow brethren who unfortunately fall victim to neurodegenerative disease and suffer dementia later in life it may very well be taht they have a point of focus, and in that they are more or less aware of what it is, or that it can be acknowledged, might cloud our ability to discern whether or not they indeed have a point of focus likely so long as the mind continues to exist with a nervous system, there is a point of focus which is expressed temporally that being said, it would seem that we are coming to a point where our point of focus might no longer be our own this is already something that's theorized about and written about documentaries are made explicating the degree to which our social media companies have provided an interface into human behaviour and human observation which allows for a human's daily actions to be manipulated based on many methods, with one of the most easily understood examples being content suggestions which are placed in the most opportune view for the human to recognize and observe them exit it's crazy everyone is trying to make a decision do I get vaccinated? well this is always jarring, because we get stuck on defining what a vaccine is, because certainly this is an administered substance given for the purpose of eliciting a immunological reaction and so that suffices for amny but it is helpful for people to consider that the treatment they are choosing to undertake can be differentiated from other treatments which fall under the same term so anyway, we can leave that as a separate conversation, adn focus on the issue at hand which is more from a psychological standpoint what are people considering when having to make a decision about taking this vaccine? well it's going to be different for different people but, ultimately, what's happening is that the corresponding valences assigned to each of their various concerns is being increasingly biased by a smaller set of factors one is basic freedom, the ability to live your life and do the things that you aspire to do to be able to think and do, in a very simplified sense now for some, they need a level of constraint in order to be able to function, as they might otherwise never choose what should be done if there is a limit as to what can be done, then they'll incur a lower likelihood of doing things that are wasteful or redundant but generally speaking, people are stating what they are most happy about when looking forward to the benefits which should come from having a vaccinated population, and their having participated in that is what is incrementally moving us towards that conceived reality and what is the thing tha tthey are lookign forward to? "opening up, travelling, being able to see our friends and family again, being able to see people in some capacity" and so if we evaluate this, what it means is that they are attempting to ellide a social and communitarian constraint a constraint preventing particular actions within the framework of a society within a legal framework within a system of force and coercion thus they are vaccinating themselves in order to comply with the demands of a physically and socially constraining system now what they will telly ou individually, especially whne pressed against the issue, is something a bit different they'll likely tell you that they are afraid of the disease but what' sstrange about this is that, at least anecdotally, I don't notice and correlation between the level of concern for the effects of the disease vs the likelihood of one suffering the worst consequences of that disease in fact, I have noticed the opposite correlation now this might be because older people are tougher and have dealt with more significant challenges in their lives or because they are feeling as though they've already lived a life, and they don't mind dying I think that's a bit silly, because no one really wants to die, particularly not through the most uncomfortable of circumstances (trhough they all sort of lead to the same types of uncomfortable circumstances, namely suffocation) but nevertheless, i've seen that older people generally don't care sa much , and are more open abou thte fact that they are complying because of a demand made upon them, an imposition of their access to society whereas younger people are all talking about their own safety furthermore, what's interesting is that the youngest people are mostly being told that the reason they're also being vaccinated is because the entire population needs to be vaccinated in order to achieve herd immunity why does herd immunity need to be achieved? because 1. those most vulnerable will have a lower likelihood of coming into contact with the pathogen and 2. those who are unable to vaccinate themselves, or at least confer immunity, because of a suppressed immune system due to genetic conditions, or due to medication associated with treating an autoimmune condition, will be protected by the fact that everyone else is vaccinated or immune to the pathogen so we have herd immunity arguments predicated, particularly in the context of a healthy child or young person, on the notion that they are doing this for other people when it comes to a young child, it cna be particularly manipulative to tell them that they have personal relationships with those very people that they are immunizing themselves to protect (as part of the herd), and that those familiar people are the elders in their family their grand parents, in particular, and anyoen else who might be older than them what they'll tell you, of course, is that they'r edoing this because of a technically astute reason on ewhich ihas to do with reducing their own likelihood of a bad outcome based on having performed an evaluation of different outcomes weighing the pros and cons of each path and understanding the conclusions of cost/benefit analyses and having decided that the best solution for them, personally, logically, rationally, is to take the vaccine but at the same time, they'll also admit that the social pressures exist, and are absurd and obscene, unlike anything they've experienced before taht they remark this is not merely because it is notable, but because they are being affected by it, because this is affecting their decision making process, this is jumping up in their mind when they could otherwise be doing that cost/benefit analysis based on the specific outcomes that they are re-biasing through their decision so this is another aspect of the pandemic and the impetus and initiative to broadly vaccinate which demonstrates a clear disconnect between logic/reason and reality the reality is that the decision making processes are ascribed erroneously that those who are most likely to be concerned about particular factors are, in fact, the least concerned, or at lesat less concerned than a group which seems to have the greatest concern, when it's in fact not necessary for that group to be as concerned As well, we can see that the primary reason that anyone is being faced with this decision, whether they are older, or younger, is in fact because of social pressures, societal pressure, the imposition being placed on them by the government, that they cannot participate in society and benefit from the sacrifices that they make in a community context, unless they also perform this task This is quite immoral, as demanding people to perform a task which can be demonstrated to be associated with decision making which is failing to meet good standards of logic and reason means that the government is forcing people into a situation where they need to make a significant decision about their health while not being to employee their logic and reason to an appropriate capacity their ability to utilize logic and reason means that they can be more confident about hte outcome, can be more accountable to the outcome. it means that there can be a higher degree of confidence that the process has been performed ethically exit