FILE OVERVIEW The Foundation is not the only group with an interest and investment in the paranormal and metaphysical. There are many other groups in existence who possess, use, or attempt to create SCP objects either for their own personal gain or for the protection of mankind. Some are rival organizations, some are Splinter groups of the Foundation, and some are trusted associates of the Foundation. In any case, it has been deemed necessary to create and distribute a brief on what agencies the Foundation knows about and or stands towards them. The Davites Overview The information contained within this file cannot be authenticated with 100% certainty due to the anomalous nature of content. As with all atemporal retrocausal anomalies, a healthy skepticism is recommended when discussing or researching the information on the Daves. If in reviewing this file you notice inaccuracies or discrepancies with baseline reality, please report to your on-site RAISA representative. Maria Jones, Director, RAISA DEAR COLLEGE Overview Dear College is a co-educational liberal arts and occult sciences college in the heart of scenic Three Portlands, an extradimensional city-state located adjacent to the American Northwest and Southern England, with the curriculum that focuses on the merit of mundane and occult disciplines, and a well-regarded anart program. DEAR is often seen as the liberal arts counterpart to its GOC-sponsored rival across town, ICSUT Portland. A number of prominent figures in the anomalous world are Dear Alumni, including Vincent Anderson, the CEO of Anderson Robotics, and Esther Lesbian Gangar Kogan, one of the co-founders of Gamers Against Weed. As the Foundation's operations in Three Portlands are heavily restricted by a number of agreements with the FBI's Unusual Incidents Unit, Dear College itself is relatively free of Foundation intervention. However, all Dear Alumni are automatically marked as persons of interest and may be subject to increased Foundation scrutiny. DOCTOR WONDERTAINMENT OVERVIEW DOCTOR WONDERTAINMENT, whether an individual or collective entity, is capable of producing anomalous artifacts and entities which thematically resemble children's toys. The nature of these objects and devices varies, although all were clearly intended to be utilized by children. In addition, DOCTOR WONDERTAINMENT is responsible for the creation of the little misters, anomalous humanoids altered for collectability. DOCTOR WONDERTAINMENT is known to have targeted Foundation personnel in the past, and the feelings toward the Foundation appear to be ambiguous. See the entry for Isabelle WONDERTAINMENT on the personnel dossier for more information. Links to the factory have been speculated but are unconfirmed. THE FACTORY OVERVIEW Little is known about the factory. Children's inter-facilities purported to be operated by them have yielded limited results, and no concrete conclusions have been reached, except that they seem capable of manufacturing anomalous artifacts, and that they use mass production techniques to do so. THE FIFTH CHURCH This church is to other churches what clowns are to people. There are some superficial similarities, but all the wrong things are being emphasized and exaggerated, so you can't quite put your finger on what is wrong. Sure, it isn't out to get you, but what does it mean? Why is it there? What happens if it calls to you? DOCTOR WONDERTAINMENT OVERVIEW The Fifth Church, also known as the Church of Fifthism, or the Fifthist Fellowship, is a highly secretive religious organization which possesses ties throughout the entertainment industry. Despite repeated investigations, culminating in the 2007 nationwide sting known as Operation Stargazer, known for the details regarding its doctrines, its practices, its number of members, or its goals have been confirmed, although a watchlist is maintained, a 100 confirmed and suspected Fifthist celebrities, and other prominent personalities. Its origins have been placed in varying points in the mid-20th century, and various locations in North America and Asia, but some sources have dated it to centuries earlier. The Fifth Church has never communicated directly with the SCP Foundation, but is to be considered a hostile force. End of file. To learn more about the SCP Foundation, subscribe to SCP Orientation today and turn the notification bell on so you don't miss any of our videos.


Thanks. I'll be doing a talk about sharing code and concepts between user space and the kernel code. The subject of the talk comes from what I usually hear from maintainers when I tell them I'm going to take their code and use it in user space. They kind of against it. So that's a pretty basic slide. How do you write good code? First of all, you start with looking if someone else already did something like that. You just take his code. Next you get people to look at your code because given enough eyeballs or a bug or shallow, if enough people get to see your code, any problem will be obvious and it will be fixed. Next you test and you test again because no matter how good your code looks, as soon as you test it, you'll find that it sucks and you have to rewrite it.  That's the concept of open source. Basically you let other people use it.  So a good source to take code from is kernel code, obviously. It's open source. It's probably the most recognized open source project in existence. People who work on the kernel are probably some of the smartest and most intelligent people in their field. They're working on the kernel nets. And that's the people you want to take code from. The kernel gets tested a lot.  It's probably also the most tested project in existence, both directly and indirectly. There's so many users that just tested just by being users. It's amazing. And it obviously works. The user base of the kernel keeps growing every year and that's probably the best thing you can show for the success of a software project, increasing users. That's perfect. So now you're asking, sure, let's just take all the code from the kernel and shove it into our user space projects and we'll be happy and get our job done. So it's not that easy. Most of the code inside the kernel is pretty much useless for user space. I mean, when was the last time you needed a task schedule or memory management or device drivers in your user space code? Probably never. Beyond the code, the kernel also has some concepts which are mostly irrelevant to user space, like spin locks, like atomic slipping, interrupts or paging. Those don't exist in user space, but the kernel has to work around them. So that's another issue.  So even if you get past those headers, there are code dependencies. You have that little code, but that depends on some other code somewhere else, and that thing depends on a whole bunch of headers or whatever. So even if you get past that point, you have all those config options sprinkled all over the kernel.  So after this slide, you might say, no, the kernel is useless. Let's just leave it there and rewrite our code. So not exactly. There are some small stuff we can get from the kernel and reuse. The kernel implements quite a lot of data structures. There are several lists, several trees, and hash tables, just not one implementation, but many of them. The kernel really needs them. There are data structures being used all over the kernel. And we do know that the implementation of those structures is good and it's tested because it's in the kernel. The kernel also has a bunch of algorithms. The kernel does lots of encryption, does lots of hashing, checks something, whatever. And we also know that those things are also correct and are also tested. There are also things, the concepts part, which are generally kernel-specific, like let's talk about RCU. The implementation of RCU is very kernel-specific. You can't just rip it out and put it in user space. But people have taken the concept of RCU and created the user space RCU, which builds on the things learned by the kernel RCU. And now there's the nice user space RCU available for everyone, just because they did it in the kernel first. So let's talk about the problems that we mentioned before. The first one was the header jungle. There are a couple sub-problems here. The first one is the header dependency. The header dependency is a mess. It appears that somehow everything depends on everything else, even though it shouldn't. And everything ends up depending on kernel.h. And kernel.h on its own is very user space unfriendly. It really doesn't want to live in user space. Next we have those massive model with headers. They started out pretty small, nice, when the kernel started. But no one ever bothered to split them into manageable parts. So you end up with 3,000 bytes of code, massive, mm.h, which is impossible to use anywhere else because it has so many things that you don't need and don't work in user space. The headers also have compiler and linker directives. Basically it makes sense in the kernel when you can say where, for example, in which section would the function go into? That makes a lot of sense for the kernel, but it doesn't make sense for user space. Kernel section layout doesn't make sense in user space. And there are also data definition dependencies. That's basically where the whole data isn't defined in one place, but it's spread across a couple. A good example for that is the list data structure, where the data type itself is defined in one header, but it's implemented in a completely unrelated header. So getting those all in is quite problematic. So what they did to try and improve that is add something called UAPI. Basically it's an attempt to split the headers into headers that are intended to be included in user space and kernel headers. That's a good start for what we need, because it means that now the kernel has a collection of headers which are intended to be used by user space, and that's awesome. That's what we want to achieve. The problem with that is that UAPI is basically trying to provide ABI to user space. It doesn't try to provide any common code, it just provides mostly the things that will get passed between user and kernel. It doesn't really provide lists or dash tables or whatever. Just as an example, the kernel.h we talked about before has just two really basic macros. It should have been thousands of macros. So UAPI basically would be able to solve the problem with headers. It just needs quite a lot of work in splitting the kernel headers into user space and kernel headers. So what we can do about it is first there are already projects that did that job, Perf KVMTour or LibLog already took kernel project to kernel headers and sanitized them for user space usage. So basically each of those projects has a collection of kernel headers that could be used in user space. So what we can do is take those headers and put them back into UAPI inside the kernel tree. So both projects benefit. Now the kernel has more functionality, it gives up the user space, and all those projects can delete their own locally sanitized headers because they now live in the kernel. Next what we could do is do what those projects do, but from scratch, we could take common code from the kernel and move it into the UAPI headers. That's pretty much what happened with Lib, it mostly has code inside. But Lib is a host to lots of common code that's not specific to any subsystem in the kernel. We can do exactly the same for headers as well. Now if we go even further, we can take all that common code from the kernel and put it completely outside of the kernel in a shared library, give it its own maintainer, and just tell him to push stuff to lead us back. But that's a wild dream and that's probably not going to happen anytime soon. So we've talked a bit about the theory behind splitting using kernel code in user space. So I'll likely talk about some actual examples. So the first one we'll talk will be using actual kernel code directly from user space. And we'll look at Lib logged up for that. We'll look at potentially moving projects inside the kernel tree, and we'll look at trinity for that. And we'll talk about reusing more concepts from the kernel, more coding style, more structures. And we'll look at subsurface for that. So let's begin with log that. Log that was introduced in 2006. It was an attempt to solve the kernel's horrible deadlocking issue, because the kernel was a mess when we got to deadlocks. Deadlocks are quite difficult to reproduce because that's timing and not much you can do to improve that. So there was, someone had to give a solution to that and that was log that. Ever since it was introduced, Lib log, log that managed to eliminate most of locking issues in the kernel, and it did it pretty much early. Most of the time it's the developer that sees the problem and can fix it while he's developing his code. And if he didn't catch it, it's usually getting caught in Linux next. So it rarely gets to Linux's tree. That's what's nice about it. It prevents so many bugs from actually getting to Linux's tree. Log that is probably one of the most used debugging infrastructure in the kernel, because anyone who even touches locking is using log that, even if he doesn't, even if he isn't aware of that. So even though log that was developed specifically for the kernel, there's nothing really specific about log that for the kernel. It's basically a locking dependency analyzer. There's nothing inside the kernel that makes it very specific to the kernel. It has some stuff like interrupts and the difference between atomic locking and non-atomic locking, slip locking, but they don't really matter when you push it out to user space. So Lib log that was suggested by Ingo Molnar, one of the guys who wrote log that. The idea is to basically take log that as it is and provide the same functionality back to user space. The entire project basically took a small four line patch to the kernel, just so we could simplify the user code a bit. It's sort of a, we prefer doing a small patch to the kernel overriding lots of code to user space and the maintainers agree to take it. That made us happy. What that means is that kernel log that sees now being compiled directly from user space, which is quite surprising that you can take code file from the kernel and just compile it in user space. The other two things inside Lib log that, one is basically a small header wrapper that wraps pthread mutixes and let us call Lib log that to catch those. And the second one, that's pretty much the only code in Lib log that it's a trick to let us analyze binaries without having to recompile the code. Basically, we use the LD preload trick to inject ourselves into binaries and just take over the locking there. That way we can use the log that to analyze locking on existing projects, not having to recompile everything to use Lib log that. So if Lib log that had good UAPI headers when it was written, the project would pretty much be a Mac file with compile kernel log that.c. We use UAPI headers and we're done. Zero work. And when you think about what you get from that, you do a small Mac file and you provide the locking dependency analyzer to user space that's working for almost eight years now and it's proven to work fine. That's amazing stuff you can do just by using the kernel that way, just by grabbing chunks of the kernel and providing it to user space. It'll be mostly just a Mac file. We still want the LD preload thing in there but the amount of code beyond that is pretty much nonexistent. There's, currently the pull request is somewhere in ingust locking tree. It's bound to get to the kernel while we're in another. Hopefully next merge window. So the next project is Trinity. It was created and it's been maintained right now by Dave Jones from Red Hat. Trinity is a smart, intelligent, Cisco Pfizer. Basically, it has done an awesome job right now. It caught hundreds of bugs even before they got to Linux's tree. It's been maintained, it's been developed by multiple individuals and companies right now and that means that Linux Next gets lots of testing done every time there's a new Linux Next using the Fuzzer and it catches a couple of good bugs a week which means that it prevents quite a lot of bugs from reaching Linux's tree. And as you might imagine, Cisco Fuzzer for Linux is very specific to the Linux kernel. I mean, you can take it to Windows and let it fuzz Cisco's there. It doesn't make sense. So now you might ask, why is it outside of the Linux kernel in the first place? Trinity is really integrated with the kernel. It reuses bunch of stuff from the internal kernel headers and from the UAPI headers. Since Trinity is a smart fuzzer, it will only test actual configuration of Cisco's that will actually test something. It won't call Cisco with parameters that just won't make sense and immediately return. It'll actually call Cisco with valid parameters and so actual kernel code will get tested. That means that Trinity needs to know everything about the kernel's ABI, everything about the Cisco's, everything about the Ioctals. So most of Trinity's line of code count goes to a big chunk of files that describe Cisco's and Ioctals in the kernel. That means that when you test the kernel, you want that the version of Trinity you have will match exactly the version of the kernel you have because if the version of Trinity is newer than the kernel, that means that now you have a bunch of Cisco's that are not getting tested, they're just getting disabled because they don't exist in the kernel. And if you have a Trinity that's older than the kernel, that means that now the kernel has quite a lot of Cisco's that also don't get tested because they're not describing Trinity. So you really have to have that one-to-one match with the kernel and Trinity. So even after we said all of that, does it really make sense to keep it separated from the kernel? Let's see what happens if we try to merge Trinity inside the kernel. That'll mean that we'll have to go to the kernel and annotate every Cisco and Ioctal. That'll do two things. One is that you'll now have better documentation of the kernel because everything is annotated. It also means that it becomes harder to break the ABI because once you break it, it's easy to find out who or what broke it and how. So it'll prevent breaking the ABI to improve that protection against breaking it. It also means that Trinity could just delete the part about describing the ABI and just use the one that the kernel provides. It also means that more people will be able to test the kernel because once Trinity lives inside the kernel tree, anyone who clones the tree now has Trinity. So it'll encourage more people to develop and to use Trinity to test the kernel. It also means that Trinity will have better coverage. I said before that Trinity must have all the Cisco's and all the Ioctals described in it, but that thing isn't perfect. I mean, humans sat and entered that manually. It's possible that they did a mistake. It's possible that they forgot something, which means that even if we think that the version of Trinity exactly matches the version of the kernel, we still might be missing some stuff, which means that we might be missing important kernel bugs, which aren't getting found, even though they could have quite easily. So if we do that, Trinity will come down to being just a small tiny fuzzer without all the directory of the ABI and the kernel will gain documentation and protection against breaking the ABI. Subsurface. Subsurface was started about two years ago when Linus decided there's no good dive lock software for Linux. He just decided to write one. So this isn't the first time that Linus goes to user space. Most of you have probably heard of Git, which he did a couple of years back. Even though Git and Subsurface are, they provide very different services. One's a dive log and one is version control management system. They're actually quite similar. They follow this thing that I call kernel hacker does user space, which basically means that the kernel hacker decides they need something in user space. So he decides to write it in C, maybe C++. He follows exactly the kernel's coding style. He tries to reuse stuff from the kernel, mostly tries to keep the same function names. He tries to use some data structures if he can, if he can possibly get anything from that. He also probably uses Git and Git, with all that stuff you know and love from the kernel, the signed off by, the tested by stuff. And this one in particular even has Linus's commit messages, so that's an extra bonus. So even though Linus started working on it, you'd imagine that it will be the perfect code, that it looks just like the kernel, that it's amazing and it does pretty much everything I've talked about so far. Yet when you look at the code, you see stuff like this. And the kernel hackers that sit here kinda like, what exactly is going on here? That's a very trivial piece of code, but it took the hackers more than a second understanding what's going on here. I mean, it's obviously does something with linked lists, but it looks weird, it doesn't look quite right. Now, if this code instead of that would have been this thing, that thing looks much more obvious to kernel folks. This little use of HList, it suddenly makes stuff obvious. Kernel hackers look at it and they'll say, oh, I know that it rates over linked lists. No, that's obvious. So doing that small change is both making the code more obvious to more people, and it's also attracting kernel hackers to your project. Now, when they look at code like that, they kinda feel at home, kinda looks like, oh, that's the kernel code, I know how that works. I mean, even if you look at this code, you can't tell me if it's a user space code or a kernel code. Could have been both pretty much. There's nothing specific to either one of them. Actually, give this one. The question here is why wasn't it written this way in the first place? And the answer is that the kernel doesn't make it easy to use the list it has inside the kernel. Even though the list is actually designed very generically, it's very abstract, there's nothing kernel specific in the list. You can't just easily take the list out and use it in your favorite user space project. You have to jump through hoops. It's not easy and obviously Linus or the guys who came after him didn't wanna go through that. So they just gave up and you got that thing. That's a shame, could have been this thing which is much prettier. So what did we see so far with the examples is that it will be nice if the kernel and the user space will work much closer together if they share more code, if they share more headers, more data structures. And doing that sharing isn't too complicated. I mean, tearing out the list code, it's quite easy. It's not that much of a project but it was too difficult for the subsurface folks to do it for example. So it has to be much more simpler than that. People just have to be able to just include list.h and use it in their user space code. They don't wanna jump through hoops to get lists. It also means that if we do that, we might get the opportunity to have more hybrid hackers and that's also a concept used by Ingo Molnar.  He can work on kernel. If he gets tired of that and he sees something missing in user space, he'll just go and write user space. Usually, you'll have a couple of projects. You'll have also a bunch of shared code in the projects. There'll be a common shared code base that he uses in every project because it makes sense. You don't wanna write lists all over every time you start any project. Just grab them from somewhere else. Like we talked in the first slide. The code will look very similar in all of these projects. You'll probably use the kernel coding style because that makes sense and people are familiar with that. It also means that the hacker's talent will benefit all those projects. So if you think about it, if you get, if you have a user space project, a Linux decides to help it, that's a huge help for the project. And maybe not Linux, but there are a bunch of other kernel hackers who will be happy to work on projects. If it'll look much more easier to them to join in and not having to learn everything from the beginning, they could just jump in a project and everything will look familiar. The list iterators will look the same. They'll be happy to work on a project. A good example for a hybrid hacker is Linus. Usually walks in the kernel, but he saw a problem with version control, so he wrote Git. Then he saw a problem with Devlog software so he decided to write subsurface. So just to wrap it up, couple of pointers about where we could either find opportunities to grab shared code from or where we can put some work to extract more shared code. The first one is lib, which is basically the kernel's shared library code.  They're definitely common to the kernel. Those tend to be encryption functions, lashing everything we talked about in the beginning. Basically, if you're working on something that does encryption, that's the best place to look at first. You just take encryption implementations from it and use it in your project. Next, tools already have user space code. It's mostly small stuff. The biggest thing there is Perf. It's usually small stuff that just test various kernel stuff, but there's no reason not to add stuff to it, not to add more functionality into tools or even to look at how existing tools are already implemented and possibly take IDs from them if you're working on a different user space project. You can see how they did list, how they did hash table and take it from them. We have include UAPI, which is basically where the user space API is located at. It's useful to look at it and see what exactly the kernel exposes right now. It's bound to just keep growing all the time. Users will keep adding new code to it. It's also possible to see if the kernel has something you want and just take it from the kernel and move it into a user space API thing, just creating new header and move stuff in there. You'll benefit yourself and you'll benefit other people who will now be able to use the code just like you. The part about sharing code style, it's really, people just don't understand how important it is when people look at your project and they can just understand easily the code. The smallest things like that ListIterator is what's making the difference. That's how you attract kernel hackers to work on your projects. They don't really want to start getting to know everything from the beginning. They want to look at the code and they want to feel like home. Well, they want it to look like the kernel. So basically, if you adapt the kernels coding style, kernel hackers will feel that way. They'll encourage them to come and help your project. They'll encourage them to take code from the kernel, move it into your project. Basically, that's the way to attract talent. And the small macros and code snippets, those are actually, it's possible to fish them out out of headers. There are tons of small help on macros that are easy to come by if you just put the effort in. And if someone does decide to, if someone sees something he wants to take from the kernel, just please put it in the UAPI directory and let other people use it as well.  They're just buried down there and no one can use them because the kernel doesn't make it any easier. And that's all, if anyone has any questions, I'll use this thing. So let's use the question from a kernel, no op. But is it actually possible to have a library and build a static and a dynamic version of that and then directly link the static version of the library into the kernel or do you actually have to build it twice? So does it need to live inside the kernel? It has to live inside your code, basically. That's unfortunate. So you can't just take a .afile and just add that to the kernel and complete take out the code of, say, like your data structures or encryption algorithms. No, it's getting built differently.  You're just dragging so much stuff into the kernel that it'll explore. The kernel has its own thingy for libraries, basically. It has its own small implementation of what Lipsy does. It also has those. So if you try dragging stuff from user space, it will collide with what the kernel does, like string function and everything. It'll just hit what the kernel already did for that. Another question. Sorry if that's nothing else. Yeah, so it seems in the beginning we're arguing for taking stuff out of the kernel which is useful in both worlds, but it seems in the case of Trinity you were arguing quite the opposite way. So did I misunderstand this or was that just a case for a thing which should have really have been done in the kernel right from the start? The Trinity argument is more about having stuff which are tightly integrated with the kernel tree inside the kernel tree. Putting Trinity inside the kernel tree doesn't really mean that it becomes hidden and no one can use it. It just makes the development cycle for Trinity and the kernel work together and share more code. Basically, it's less about taking stuff outside the kernel or taking stuff outside of user space. It's more about sharing code between them. So we can do it either by ripping out code from the kernel or you can do it by adding code into the kernel. If you have a bunch of common code, for example, with Trinity and the kernel, you can eliminate that common code. Okay, thanks. Anyone else? I had a couple of questions. Firstly, why not actually add a Ulib instead of UAPI to stop confusing stuff that the kernel exports an API with stuff that the kernel is sharing as a library? That makes sense. That's though a very hard political maneuver to pull off. Well, then it won't go in easily. You'll need to fight over that. So it's easier to just move stuff into UAPI. The header part, move it into UAPI and move the shared code into Lib and then somehow it's traded from Lib because adding a Ulib inside the kernel is a very difficult political move. And secondly, for something like Trinity, could you export when you build the kernel a list of the entry points as well while you're doing that? So you don't have to keep recompiling Trinity as well when you're building the kernel to test. Trinity has to know stuff beyond entry points. Trinity knows about all the parameters this is called stake and expected return value. So it's much more than just for the functions. It's pretty much exactly what each parameter is and what it can accept as a valid value. But could that be then processed and then put out with the kernels and say some sort of data file of this is the all? Oh, this definitely could be exported from the kernel. That means that you have to annotate all those stuff inside the kernel. So you can already do that job. So the only relevant part to getting Trinity inside the kernel tree is just making it so much easier for people to access it and work with it and touch it. No one else? Well, that's not really a question. It is like as a user space guy, I'm not really fully convinced that there would be 100% good idea to make more code look like the kernel for various reasons. But first, I mean, Linus might tell us as much as you want, but I mean, I strongly disbelieve that it's a good idea to write everything and see on the user space because people make way too many hours on that and it's way too expensive to do this. And just because it's the right answer for the kernel doesn't mean it's the right answer for everything else. So in fact, it would probably be better to stop reinventing the wheel on data structures and hash tables all the time and instead use sensible programming languages which hide away all that complexity for you so that the code snippets that you show and get more abstract and even easier to read and so on. And then we let compilers worry about the glory bits. So, and I mean, there was lots of like user space library around which allows you that like either higher level languages like Vala or even Glib which makes more complex data structures bearable and see. Of course, I guess someone like Linus would never get even close to that because it's not cool enough. But I just wanted to say like that as a statement, sorry. I agree, I didn't try saying that if you're starting your project, write it in C. I wasn't trying to force everyone to use C. I'm just saying that if you're starting a project and if you need to write it in C for any reason, it's probably better to adapt the kernel's code install. I wasn't trying to apply that now all of you have to use C and forget everything else. So either you start a project and you have to use C or like for some odd reason or if you're Linus who just won't use anything else. Just it's usually better to adapt the kernel coding style and the kernel structure if you do decide to do that.  For all the right reasons and for all the right languages, the kernel does have a very specific make setup. One problem that I foresee just from our own use and we will, for some of our GPL stuff, we'll quite happily go in and steal ideas from the kernel because super intelligent guys have thought about it and gotten the right code and it does the right thing. G libc, less so, quite honestly. But one problem we've sort of hit in the lib scenario is that we have a rather different view in user space as to what the compiler should be doing to our code and specifically things like whole program optimizations, link time optimizations and so forth which we rely on typically on to, I don't see that we could, I could argue in front of Linus that he should turn on that FLTO in the kernel build any time soon. There's actually a project to enable that rolling around, it's quite huge though because the kernel has tons of stuff which aren't happy with that. So yeah, okay, that basically answers my question, it's on the way. LTS on the way, basically I was also trying to say previously over there that it might be a good idea to remove anything, anything compiler or linker specific outside of the headers or outside of the, mostly outside of the headers and just keep it inside the code itself. User space can work around, basically it can disable anything that the kernel says about linker and compiler directives that just slightly difficult. But yeah, basically compiler and linker stuff shouldn't be part of headers, they don't belong there, you know what I'm saying? One last thought, is there any danger of GPL infection across this? Definitely, if you take stuff from the kernel, if your stuff looks similar enough to the kernel, it's obviously has to be GPL. Yeah, pretty much, if you take code from the kernel, it has to be GPL, that's very important, that's what's with Trinity and subsurface and we block that for all GPL. If your project is BSD and you decide to take code from the kernel, might be not a good idea in the future. Now, lawyers and everything. No, thank you very much then.


Today is the official opening of the Wiesis Plus 10 high-level event. Government national representatives and delegates are here today to negotiate two key documents, the Wiesis Statements on Implementation of Outcomes and the Vision for Wiesis beyond 2015. But the focus today is on the Wiesis Prize Ceremony. The prizes are an integral element of the Wiesis process. Back in 2004 it was decided that it was important to reward projects deemed to be putting into practice the Wiesis agenda. Jaroslav Ponder is Strategy and Policy Advisor for the Corporate Strategy Division of the ITU. We are on the annual basis also offering the special international contest of the excellence in the implementation in the field of the Action Lines in order to make sure that the best projects and the nicest projects are becoming the good reference point for other stakeholders and maybe the good platform for sharing the best practices. We are inviting all stakeholders therefore to pay very much of attention to this platform as the unique opportunity to share their expertise and share their knowledge at the global level and we hope to welcome all of them at the World Summit on the Information Society Forum in 2015. We caught up with some of the proud winners and found out about their inspiring innovative projects. We are so proud to be here today and we are so proud to be among the winners. We are one of the 17 winners. The program was integrated in 2012, very early 2012 and it was set to deliver the vision of the country being the leader in almost every field. One of the important fees which our government foresee was the education field and they wanted us to be number one in the world in education. Hence came the idea of transforming the education system from what it was in the past to what it is now today in the field on the ground with our schools, within our schools and with our students and teachers. It took us a very long time in terms of hard work and dedication and preparation to be where we are today. Of course education transformation is not an easy job. It takes ages, it takes decades to change. We wanted to foster the change and boost it up by the introduction of technology. Everyone wants to transform education in their countries but what we did in UAE was to give the support and help of ICT, the information communication and telecommunication infrastructure services and technology to boost the transformation of education. What was the outcome that was most important for WSIS that led them to give you this prize? I think it is the use of ICT to deliver information, to improve information access and second important thing is because of ICT, use of ICT this efficient delivery of healthcare services to the underserved communities, especially the illiterate women who sometimes do not have access to such healthcare information systems. This project is a rural telephony project. A lot of them are completely blacked out and they simply cannot receive because there are a number of communities in blacked out, they cannot receive because also because of their position, some are within valleys, some are behind mountains so it is not very economical for the telecom companies to really take master and drive in there to manage the system, refueling and making sure that the power is working and when there is power outage, then because of those problems they simply will not go in there. This project has come to lift up the lives of those people. They were completely kind of of the communication society. You must be very proud and happy that you've managed to make such a positive impact. Yes, we are very happy and we are glad we have been recognized by institutions outside our county, international institutions. The price, you know, it's very motivating when you have a price and it will give us some recognizing of for this effort we did about this event we organize every year and we hope we will be able this year, 2014, to present our imagination and our idea about after 2015. In our next update we'll be focusing on the high level negotiations which conclude tomorrow. Until then you can see all of our interviews on the ITU YouTube channel.


Well folks the election took place yesterday and We still at the time that I record this video do not know which party will control the house And which party will control the Senate, but let me just preface this conversation by saying I'm feeling pretty good. I Braced for the worst hope for the best and it turned out that the red wave was more of a red Trickle so it did not go the way that a lot of Republicans planned and there's some key Preliminary takeaways that I think are really important now We don't have all of the details about this election, so I'm kind of working with incomplete information But there are evident things that are really important, but before we get to my five key takeaways Let's get to some results that stand out first and foremost is John Fetterman Defeated Mehmet Oz and Mehmet Oz has called him to concede This is very important because before Donald Trump Conclaimed that there was fraud Oz already conceded. This is very good news And it's also really encouraging to see that Voters in Pennsylvania did not fall for a fraud like Dr. Oz and they didn't use John Fetterman's stroke against him if you watched my coverage of that debate between John Fetterman and Dr. Oz I was very very disappointed because I felt like voters would not see through The dynamic here you have somebody who isn't necessarily suffering from cognitive issues It's just an auditory processing problem. I expected voters to use that against John Fetterman, but He won and now we have a very progressive senator going To the Senate. It's just it's really encouraging to see now some other key races that I want to touch on here Election denier Doug Mastriano lost the governor's race in Pennsylvania to Josh Shapiro Raphael Warnock and Herschel Walker will be heading to the runoff. It's official So we won't know the outcome of that race until I believe January JD Vance has defeated Tim Ryan Tudor Dixon lost the Michigan governor's race to Gretchen Whitmer Tim Michaels the Wisconsin GOP candidate for governor who recently said that Republicans will never lose another election again if he wins lost to Democrat Tony Evers and at the time that I record this video the race between Katie Hobbs and the Dangerous election denier Kerry Lake for Arizona governor is still too close to call Progressive summer Lee won her election and she will be headed to Congress to represent Pennsylvania's 12th congressional district Mandela Barnes unfortunately lost to Ron Johnson I'll be it very narrowly Sean Patrick Maloney the chair of the D triple C ended up Losing his race for Democrats, which is embarrassing and this is after he ran in Monder Jones district effectively pushing him out And so that blew up in his face very embarrassing for him Now organ live has called the state's governor race for Tina Kotec Who was in danger of losing to Republican Christine Dresden due to the presence of a billionaire funded spoiler in the race Betsy Johnson? It's still very close. It looks like it's headed in Tina Kotec's favor, which is good for me as an organ resident I was worried about this and Bo Heinz the Republican congressional candidate who recently proposed Rape panels as a way of determining whether or not a woman should qualify for an abortion Lost his race that was basically Madison Cawthorn's mini me and he went down So those are just some results from some key races again We don't know all that the risks to know yet also really important. I have a video coming out about this Lauren Bobbert is currently trailing so it turns out that the polls Weren't that far off with regard to Colorado's third congressional district, but more on that later So first of all, what are my five key takeaways things that are just evidently clear from the night first and foremost I already kind of alluded to this the red wave turned out to be a red trickle Although there's a caveat. We still don't know the results from all of these races many counties are still counting But certainly Republicans did not do as well as they anticipated Second of all, the next takeaway is that the polls once again We're pretty off at least at this point in time And I think this is largely due to younger voters being Underrepresented now usually what pollers do is they will base What the race is going to look like on who's a likely voter? So if you're a voter who voted in the last two elections, then they'll probably say that you're a likely voter I'm not necessarily sure what the criteria criteria is the methodology will will vary But the polls have been inaccurate. So going forward. I want people to keep that in mind and not base Whether or not they think a race is going to go a certain way entirely on polls And I'm kind of reminding myself this as well because I tend to Look at the polls and view them as more than a gauge on voters and just kind of like look at that as where the election is Going not always the case sometimes they hold some sometimes they don't but polls are not people and Real people voting is what is going to make the difference at the end of the day So this is something that we should account for with our Political analysis going forward now. My third takeaway is that abortion is a huge winner Not only did it drive turnout but voters in Kentucky rejected an amendment to their state Constitution stating that there was no right to an abortion or required funding for abortions Vermont overwhelmingly approved a proposal that creates a constitutional right to reproductive autonomy Michigan essentially did the same As did the state of California and a proposed law in Montana to grant personhood to fetuses at any gestational stage Essentially criminalizing abortion is currently losing although not all of the votes have been counted yet And it is still relatively close, but where abortion was on the ballot Across the country it won at least at this time We don't know for sure if Montana is going to go the way that it's going to go But it looks really good. So abortion is a huge huge issue and in some states like Pennsylvania I believe that was the number one issue for voters. So Republicans certainly overestimated their confidence there They thought that the anger for Roe had kind of dissipated But no people are still very pissed off that women lost the right to bodily autonomy in this country in many states So that's key now another takeaway my fourth takeaway is that Gen Z Absolutely Delivered and going forward Democrats have got to do more to appeal to younger voters Alex Clark of the telegraph called this election a youth quake with Gen Z Essentially holding off a Republican wave by turning out in larger numbers now younger voters were motivated by issues like abortion But also student debt Cancellation and even political hacks like David from were forced to admit that this was a winning issue after all tweeting I thought student debt relief was bad policy and bad politics I still think it's bad policy but looking at the youth vote surge hard to deny its political impact You think and if it helped save the country from Trumpism the positives more than pay for the negatives I know shocker right who would think that younger voters would turn out if you Have policies that specifically benefit them for once now another thing correlated with student debt Relief is that the candidates who publicly distanced themselves from Biden's student debt policy Well, they didn't do too hot for example Tim Ryan publicly came out against a Biden student debt plan And he lost to J.D. Vance Catherine Cortez Masto also publicly opposed a Biden student debt plan And though the election has not yet been called at the time that I record this video She is currently losing to Republican Adam Luxald by three points Now I just want to stress that correlation doesn't necessarily equal causation But it's very clear that these popular policies that the Democrats stand for Reproductive freedom student debt relief. These are popular Motivators so Democrats have got to get this through their skulls do Popular things embrace the youth do what they want and they will reward you at the ballot box It's that simple Democrats also stop running away from popular things. How could you not anticipate that student debt relief would be popular? That's what all the polls showed and individuals like Tim Ryan and Catherine Cortez Masto ran away from that and that may have cost him At least it cost him with the youth vote now the final takeaway that I want to leave you with here My fifth takeaway is that even if a lot of election deniers went down Many of them were talking hundreds were successful last night as common dreams reports 210 election deniers to be exact they won their races So across the country at all levels of governments election deniers Will be assuming power that is something that is very very Discouraging we'll say because even if this election did not go the way that Republicans intended the fact that election deniers now are in roles of power Is something that we have to grapple with as a country. We have to find ways to respond to their lies but I don't want to be too doomer because overall I'm feeling pretty good about the results and It seems like the Republicans kind of overplayed their hand going all in on the culture war and attacking trans people Banning books trying to ban abortion control women deny the election results It seems like that didn't necessarily pan out too well for them So I hope that they get the message odds are they probably will not get that message and they won't adapt either way This was a better night for Democrats than a lot of people suspected myself included and You love to see it to see Republicans currently coping at the results. Oh, that just warms my heart


Hey, so I'm with Luther from Apsa and we're going to ask him a couple of questions based on what's the current climate and happening in property and what we should be looking out for. Don't. When you get your first salary, go and buy a three-series BMW that's hard to afford over the long term and then when you start looking for a property it actually affects your affordability and then you have to almost downscale to what you would have wanted to buy because now you're spending too much on a car that's probably not needed for yourself at that stage of your life. Look after your payment profile on credit record because the commercial payment profile, if you just skip one payment it reflects on credit bureau and that then affects the amount of deposit that you would require the commercial payment profile is the higher the deposit requirement is.


Welcome to Nursing School Explained and on this video on isotonic IV fluids. Before we get started looking into more of the details of isotonic fluids, let's review some principles that will help you understand more of what isotonic fluids are and when we use them. So some of those principles that I'd like to review are the different fluid compartments. So we have intracellular fluid as well as extracellular fluid meaning inside the cell and outside the cell, pretty self-explanatory. But when it comes to extracellular fluid we also need to distinguish between two different fluid spaces which is the intravascular fluid compartment inside the blood vessels and then the interstitial which is in between the intravascular and the intracellular fluid. And then keep in mind that things diffuse and by the principle also of osmosis move back and forth from the intravascular to the intracellular space through that interstitial space. And of course there are certain conditions that can also affect the interstitial space. And then fluid shifts whenever we think about fluid shifting we always have to think about osmosis because that's the principle of water moving across a semipermeable membrane. If you recall from a physiology class, if we have a beaker here with that semipermeable membrane in the middle the concentration on either side of the semipermeable membrane here is the same. Which means that there is no fluid shift because typically the body wants to achieve homeostasis by equalizing the two sides. But with isotonic IV fluids there is the same concentration that we have in the plasma as well as in the IV fluids that we administer. So whenever we give the IV fluids in the intravascular space there is no fluid shift because they have the same concentration. One more important thing is that the normal serum osmolarity which is the concentration of particles in the blood is between 275 and 295 mOs per liter. And this is a number that you'll just have to memorize. And then how does this apply to isotonic IV fluids? So like we said because there's no osmotic shift because the concentration is the same in the intravascular space and in the IV bag there is no fluid shift. So the isotonic fluids that we administer into that intravascular space is the same concentration as inside the cell and so there is no fluid shift which means that the isotonic fluids just stay inside that intravascular space and help us in certain conditions. So isotonic fluid stays in the intravascular space, it just stays in the blood vessels. If you need more help in reviewing these basic principles I have a couple other videos where I go in more detail to kind of go into the physiology and take it a few steps back so that you can really apply these principles to the IV fluid administration because that's really the baseline that you need to understand in order to apply IV solutions to specific patient care scenarios. So now over here there is no fluid shift, again it stays in the intravascular space and we use it when there is extracellular fluid losses. So when we lose blood anywhere in that intravascular or interstitial space which 99% of the time it's going to be intravascular. And so the solutions that we use here for our normal saline you've probably heard this term before which is 0.9% sodium and chloride. So the only electrolytes it contains is sodium and chloride. And we use it when the patient loses fluids in that extracellular fluid compartment due to vomiting, diarrhea and dehydration for example. So now they have vomited, they've lost fluids in such a way that they're intravascularly dehydrated and by replenish them with isotonic fluids we just replenish that intravascular system. The other solution that we use here is called lactated ringer solution or LR or ringers lactate like it's sometimes called. And not only does it contain sodium and chloride like normal saline but it contains sodium, chloride, potassium as well as calcium and lactate at approximately the same concentration as the serum. So these levels in the serum and again in the bag are the same so again we don't cause a fluid shift to it to stay isotonically in that intravascular space. And LR is usually used for losses due to surgery or burns when there's not just fluid loss but because we're cutting into the patient doing surgery or with burns cells get destroyed so we're losing some of those intracellular electrolytes too so now we have to replenish them. Now the patient has more needs than just sodium and chloride from just pure dehydration or vomiting, diarrhea. So they need a little bit more electrolytes replaced because of surgery or burns and that's when LR is indicated. Now we want to use lactated ringers in cautiously in patients with liver disease, hyperkalemia, alkalotic states or severe dehydration when they are really really dry because these patients in these conditions have the inability to convert lactate to bicarbonate and then most likely we're going to stick with normal saline to rehydrate them or carefully administer these electrolytes separately once we have their lab results. And for nursing considerations so any patient who is dehydrated or has intravascular fluid loss is going to have hypotension and tachycardia because those are signs and symptoms of dehydration. So we want to check the vital signs frequently to see if we are replenishing them with enough fluids so their blood pressure will increase and hopefully in turn their heart rate will decrease. Now also we want to check their lungs frequently because when we administer lots and lots of fluids into the intravascular space especially if there are patients with heart or renal disease they are at risk for fluid volume excess or fluid volume overload and in that case when the heart is weak and the kidneys are not filtering well then the fluids could back up into the patient's lungs and they could end up with crackles and fluids in the lungs which is why we want to check them frequently and then in very large quantities of normal saline administration it can lead to hypernatremia and hyperchloremia because we're giving the patient extra sodium and chloride which is actually a higher concentration than the serum usually had so if we give them extra large quantities it can just make their sodium and chloride levels that much higher. So thank you for watching this video on isotonic IV fluid administration please also watch the video I have about hypo and hypertonic IV solutions so that you know the difference and how the fluid principles apply. Thanks for watching Nursing School Explained. See you soon.


Sphinx cat mating. Everything that you need to know. In today's video, we are going to talk about the Sphinx cat and everything that you should know before mating them. Adopt a Sphinx cat that is not spayed or neutered, and you may begin to wonder, when do Sphinx cats go into heat? And the answer is, about 5 or 6 months old. Males do not go into heat regularly like females, but sexual maturity occurs at 6 months old. They will always be ready for reproductive activities if a female is around. This is the quick answer, but to really know more about the Sphinx and heat, please continue watching. Going into heat cycle. Female cats are what is known to be as polyesterous. This means that they go into heat on a repeated basis. It can happen to them several times per year. It takes females about 6 to 9 months of age, to reach the ideal sexual maturity. Meanwhile, this happens to males a little later on in life. It should be noted that male cats do not go into heat, rather they become sexually aroused when they smell the varying secretions that female cats spray while going through the estrus cycle. They will seek out the female and may even fight with one another over a female, the winner having the chance to reproduce with the female. Let's talk about the estrus cycle. The biological term for a cat in heat is called, estrus cycle. It is when a female is most in tune with a male cat and may last anywhere from 4 to 6 days of the cat mates, and possibly extend by 3 more days if no chance to mate is present. This cycle will occur every 2 weeks and cats can become pregnant no matter the time of year. Seasons can play a role in cats in the estrus cycle. When it comes to Europe, cats go into heat during the beginning and middle of the year, in the USA it happens in early spring and late fall. For females, bleeding will not happen during heat as the internal uterine lining is not being shed. You may see some vaginal discharge, but there will be no bleeding from your female's fangs. If you do notice blood, take your cat to the vet right away as this could be a sign of pyometra, among other things. Pyometra is a uterine infection that can be deadly. If you suspect this, get to the vet immediately. Bleeding may occur for other reasons also, such as rectal cancer poisoning, or may even be caused by a parasite. Trauma may be another reason cats bleed, sometimes from the nose. Now that we are done talking about the basics of the heat cycle, let's move on forward to the clear signs to look out for, in order to know if your Sphinx cat is in heat. A female Sphinx will show very distinct signs that she is in heat. She will be very affectionate, and require lots of your attention, most of the time seeking it, in fact. She will rub her body on your legs, feet, furniture or corners. Rolling on the floor is a common behavior, as is pacing around continuously. If you reach down to pet your cat, she may assume the mating pose, which is crouched low, with rear end in the air. You will hear female cats yelling often, as a means of signaling males she is ready to mate. Secretions coming from the vagina will also be used as a means of marking their territory, and also left as assigned to males that they are ready to mate. They will also lick the genital region, and these organs will be swollen. You should also be advised that your cat will make several attempts to leave your home, so be sure all doors, windows and cat doors are secured. You should also watch out for your curtains and window panes, as the cats are doing their best to escape at the first chance they get. Males, although they do not go into heat, will respond and you will know what it means. You will hear them calling out to a female cat, making his presence known to her and indicating he is ready to mate. The meows and sounds coming from him, will be of an urgent nature and will be very frequent. These tend to happen during evening hours, so be ready to take measures so that you can get some sleep, and quiet them down. Males roam around, searching for females and marking with urine. They may also pace or fight with other males as well. Hello. This video is sponsored by Beemix Pets. Are you looking for high quality cat collars at an affordable cost? Check out BeemixPets.com. Use coupon code KittenLife, to get 20% off. What to do for your cat? You may think that having your cat spayed or neutered while they are in heat is the way to help them out. However, many vets advise against doing this. Cats are experiencing greater blood circulation while they are in heat, and this can lead to excessive bleeding while the abdomen is being operated upon during the invasive surgery. This puts the life of your Sphinx in danger during what is normally a routine and safe operation. Therefore, wait and see a vet to see when the best time is to have your cat spayed or neutered. Once the surgery is complete, you will be glad you waited, it will be much easier to care for the cat afterward for the next couple of weeks. You can also do some things to calm your Sphinx down while she is in heat. This is a period of great emotion for your cat, so divert that energy to a healthy place. Give your Sphinx plenty of love, attention, and care. Play with her or offer her cat niptoirs that will keep her occupied and moving about. Physical contact is important. Offer plenty of physical contact with your cat as a means of reassuring her that everything will be okay. Pet, gently scratch, and rub your Sphinx. You can give her something to shred such as a carpet remnant, or an old cushion that you don't mind getting destroyed. This may give her a chance to burn off some steam. If there are any male cats around, either outdoors or indoors, keep her away from them. Keep windows and doors closed tightly and close shades of male neighborhood cats like to come up to the windows. Keep males separated from females, and be sure to speak with your vet right away. Hormones can be administered, as well as other medicines, to keep your cat comfortable and symptoms kept to a minimum.  Male cats do not enter an estrus cycle. Males are sexually mature at the age of six months, and if they are not neutered, they will seek a female in heat. Extra signs that your Sphinx cat is in heat. Quieting down your Sphinx cat. Offer lots of attention, brush her, keep the litter box clean, and play with her to convert her energy to a positive place. Be sure to check with your vet to see what you can do to help her out before spaying. Conclusion. Once it is safe to do so, have your pet spayed or neutered. This will make them feel a lot better, and is ideally healthier for the animal overall, and will prevent you from having to take drastic measures to keep them sane during heat. If you enjoyed this video, kindly press the like button. Also don't forget to subscribe with notifications on, so that you don't miss out on videos like this. Thank you for watching.


On Monday, Boston University hosted its first leadership summit, leading cities through crisis. Lessons learned from the Boston Marathon. This was a wonderful opportunity to highlight lessons learned now one year on from the Boston Marathon attacks. So Mayor Monino and Graham Wilson, co-directors of the new initiative on cities, wanted to take this opportunity to reflect back on all of the lessons that emerged from the aftermath of the bombings. Monino, who now works at BU, serves as the co-director of the initiative which organized the event. Our response that day was second to none, and we had the right people in place. We did the work to make sure we were ready. Today at Boston University, mayors from all over the state, emergency personnel and even some survivors came together for one reason, to educate, to make sure that cities are better prepared for when a disaster happens like the Boston Marathon bombings. Discussion panels were held to provide other city leaders with a better understanding of how to handle a crisis. According to the mayor of Lawrence, Daniel Rivera, that's exactly what the event was doing. You think about your city and things that you could be doing, and this thing about practice, and we heard from the first panel, just got to make sure we got the practice of thinking how do we do that up in Lawrence, in the Merrick Valley. Even with the marathon only a few weeks away, an event like this has even more meaning because the eyes of the world will be on the city. When those world-class athletes sprint down the boils of the street, when you're all out of the run, as we couldn't finish last year, finally have a chance to cross the line, we'll see why Boston is the best city in the world. Reporting for Boston University News Service, I'm Iris Moore.


From theCUBE Studios in Palo Alto in Boston, bringing you data-driven insights from theCUBE and ETR. This is Breaking Analysis with Dave Vellante. UI Pass' recent earnings, beat and raise provide some evidence that thus far anyway, GenAI has not been a negative for the company. As an early leader that is transforming beyond RPA toward end-to-end enterprise automation, UI Pass, like all automation providers, has always faced adoption headwinds beyond isolated deployments. In this sense, GenAI should bolster adoption and be a positive force. The flip side is that widely available tools like chatbots and generalized foundation models could eat away at the low end of the automation tam, highlighting the urgency for companies like UIPath to move upmarket and accelerate innovation that brings differentiation from commoditized tools and importantly creates distance from embedded AI within mainstream enterprise SaaS platforms such as Slack, GPT and Salesforce, Einstein. Hello and welcome to this week's Wikibon Cube Insights powered by ETR. In this Breaking Analysis, we briefly review the recent earnings print from UIPath. We'll look at ETR survey data that shows Microsoft Power Automate's impact on the market and how it's forcing UIPath to target larger accounts with a more functional product set. As well, we'll look at the impact that AI is having within these larger accounts and tests UIPath management's assertions that GenAI will be a benefit for the company. First, the numbers. So this cool chart from the Motley Fool, it lays out the key metrics for UIPath's second quarter. We've pulled out some of the pluses and minuses on the upper right-hand side there. ARR of 1.3 billion beats expectations. It grew 25% year on year. Very importantly, the million dollar plus ARR accounts grew 30%. We've double starred that metric because we're going to come back and show some data that is an indicator of performance in those accounts and how important it is. Operating margin and cash flow looking good and UIPath announced a $500 million share buyback at least approved $500 million share buyback which presumably is an indication that the company sees its stock as undervalued. Although it's also a good way to prop up value. So while we see it as a positive here, only time will tell if this move will return results better than other capital allocation alternatives. On the negative side, new logos were soft and total bookings only grew in the mid-single digits. I think 5%, despite UIPath's 20% outlook for revenue growth this fiscal year. So mixed results but definitely more positives than negatives in the quarter, which is why the stock is up as of midday Friday by around 12% since its earnings release on Wednesday after the close. So we like the consistency, the cost discipline and the potentially better operating leverage that we're now seeing from UIPath. These are all the positives. Now let's take a look at some of the ETR spending data throughout last year. We saw a continued deceleration in the spending momentum around UIPath's platform as this chart shows. But relative to last October, we're seeing a rebound in UIPath's net score or again, spending momentum. That's that blue line that pops up after October. The chart shows the net score granularity for UIPath. So starting with the lime green at 9%. That represents the percentage of the 169 UIPath customers in the ETR survey this last quarter that represents new ads, new logos for the company. The forest green, which is at 38% is the percent of customers spending 6% or more on UIPath relative to last year. The gray area, which has been growing is flat spending plus or minus 5%. The pinkish is spending down by 6% or worse. That's only 3%. And the red at 4% is churn or defections. You subtract the red from the green and you get a net score of 41.4%, which is shown at that blue line. Now that brown line represents the pervasiveness of UIPath in the survey. And it's derived by dividing the UIPath N of 169 by the total survey N, which is more than 1700. And it's been declining steadily since mid-2021 when the tech market started to tighten and budgets started to shift toward things like security and other initiatives as we exited the isolation economy, refresh of the headquarters, et cetera. And I would say this was a function of both market forces and UIPath go-to-market execution, which new CEO or co-CEO Rob Enslin has been addressing with the company's so-called North Star selling framework. And based on last quarter's results, we're seeing some positive effects of Enslin's influence. And while co-founder Daniel Deniz is focusing more on product, he's also got a big emphasis on AI and we'll talk about the importance of that, which if it's not obvious, we'll show some data as to why. Now, as we said at the top, Power Automate from Microsoft has had a major impact on the market. This chart plots the leaders within the ETR dataset for the automation sector. The vertical axis is net score, remember that's spending momentum and the horizontal axis is the overall accounts which is representative of the ends. It's the penetration in the survey. You can see both the net score and the shared end counts on the table that we've inserted over to the right. Note that we've also added a dotted red line at 40%. That's an indicator of a highly elevated spending velocity. Now there's no denying that Microsoft with its end of 290 and a 64% net score has a very strong position. But it's important to point out that the ETR data measures accounts, a number of accounts, not actual spending levels and much of the Microsoft activity is small dollars that maybe adds up at scale. We've also highlighted UiPath's end here at 169. Only Automation Anywhere has more than 100 end in this last survey and you can see the position of the other players. UiPath continues to stand out but as we said, when Microsoft acquired Softomotive to create Power Automate, we said they were going to have a big presence in the market and force UiPath to go upmarket, which it has done through acquisition and organic R&D to dramatically expand its portfolio with things like process mining, task mining, communications mining and significant AI functionality, which is of course a big emphasis today. Okay, staying on this slide for a moment, take a good look at the positions. In particular, look at UiPath and Microsoft. Now, watch what happens when we tap the power of the UiPath platform and cut the data by 140 AI accounts and isolate the data to the global 2000 customers in the dataset. Look at how different this relative picture is. First, the numbers naturally get smaller because we're slicing the salami by global 2000 and by AI accounts. But UiPath's end ties that of Power Automate and its net score jumps from 41.4% overall to about 55% within the global 2000. So meaningful jump. Microsoft's net score jumps too, not as much, but so does Pegas. But look at automation anywhere. It drops quite dramatically to 19%. It was 30% on the previous chart. Blue Prism drops as well. Now, again, these are smaller ends, but we think that they're meaningful and are perhaps an indicator of which automation firms have the greatest AI affinity and potential. And the relative parity between UiPath and Microsoft in this cut is a positive data point in our view. And it also brings us back to that double star callout that we mentioned earlier, where a million dollar plus ARR accounts are critical to UiPath's future. And this data supports both the importance and performance of these accounts to UiPath, not necessarily that every global 2000 is a one-to-one map to a million dollar plus account, but it stands to reason that the larger global 2000 accounts are better candidates for that type of spending. Now, it's no secret that some folks see AI as a potential negative disruptor to firms like UiPath. In our breaking analysis last March, we said GPT models are a two-edged sword for automation platforms like UiPath, and we still feel that way. UiPath Studio was designed to simplify adoption for a wider audience, but AI has much greater potential to achieve this objective, in our opinion. UiPath announced that its Wingman project is now in private preview, which we think is a major milestone. Project Wingman brings gen AI together with computer vision to understand computer screen content, and it uses natural language processing prompts to create automation. So talk to the system and get what you want. So this could be an enormous game changer for UiPath, and it could give the company one, a leg up on the competition, and two, much broader and deeper adoption of its platform. And three, it could be an accelerant to revenue growth. Now, whether it can be a meaningful TAM expander, that remains to be seen, but it's a trend that we're following and watching closely. This is in part why company co-founder and original CEO, Daniel Dinez, spent so much time on the earnings call on this topic. And it was the number one topic of interest among the financial analysts in the Q&A segment. Here are three statements Dinez made on the call. One, to be effective, generative AI needs context, which our software robots can deliver by gathering information from across the enterprise and data documents, CRM, ERP and beyond. Two, it also needs our platform to take action and operationalize the promise of AI today, with an integrated set of capabilities that combines our specialized AI with generative AI. And three, looking ahead, we expect this next evolution of gen AI to be a tailwind to the business. What would you expect them to say? Helping customers create better, more resilient automations more quickly, and opening up novel use cases that facilitate the automation of even more processes. So I would say this as anyone who has done software development with generative AI would tell you, and by the way, we have done so here at Silicon Angle, go to thecubeai.com, thecubeai.com and sign up for our private beta. They will tell you that as powerful as gen AI is, it's not a no brainer to get consistent and accurate results and adjusting data of mixed quality and getting the system to take action, which Dinez was referring to earlier, and getting it to take the right action consistently is non-trivial. So this brings us back to our power law conversation. John Furrier, Rob Streche and I first introduced this past month in a breaking analysis, this idea of the power law as applied to gen AI. We use this example of the internet where web traffic both concentrates attention on a few big sites, but at the same time distributes attention across a very long, long, long tail. That orange line is what we said the web looks like today with a pretty hard right angle and a limited torso. We see the gen AI power laws similar but different. For our axes, we chose the size of model. It's the same one we used in the last power law. That's the vertical axis where the big internet giants like Google, Amazon and Microsoft, along with companies like OpenAI and other third parties will have these very large models. And on the horizontal axis, we show model specificity. IE use cases that are unique potentially in terms of activity or in terms of industry and industry specific models. So the basic premise that UI puts forth is shown in that insert comment box in the upper right there that generalized AI models will support the creation of automations, simplify and accelerate adoption. So those are real positives and we buy that by the way, but counterbalancing these factors are some negatives is the possibility that chatbots and consumer tools are going to eat away at the low end of the total available market. Moreover, calling your attention to that lower part of the torso, virtually every SaaS vendor is embedding AI and automations into their platforms, Salesforce, with Einstein, ServiceNow, Workday, Oracle, et cetera. Now, could be a partnering opportunity for UI path but most typically software companies, they want to own their entire stacks. So the point is that this presents a challenge for the likes of UI path because these SaaS platforms, they're going to cannibalize some portion of the automation time for specialized tasks like sales companions or writing code or summarizing documents. A lot of the things that, you know, RPA and automation technologies have done. So firms like UI path have to move fast. And we've tried to highlight some of your unique capabilities of specialized AI and automation platforms. Importantly, starting with governed use cases. UI path must show that it is best at things like document understanding, process mining, automation creation and computer vision, you know, specific to its markets but that it can apply it across many markets. It is tying wingman to computer vision for differentiation. You know, sales assistance with Jarvis, is it going to outgun Salesforce there? Industry specific automations. Another example where a lot of the SaaS players are strong, UI paths, strong industries are insurance, healthcare, financial services, manufacturing. But again, there's overlap with those SaaS platforms and that'll be critical to watch from an adoption perspective. Here's our thinking. UI path got out to an early lead, has a nice install base and now has over 10,000 customers although only about 20% of those are $100,000 plus ARR customers. Its advantage is that it, first of all, it can be more functional, a more functional automation system than these other SaaS players because it's a pure play, it's focusing its R and D on automation. And it is proving that from the standpoint of product excellence, it actually has a better product than some of these other platforms. Number two, it can be a horizontal platform and not as narrowly confined to a specific market segment like, for example, Workday and HR or Finance, for example. Well, SaaS companies have a tendency to expand through bolt-on acquisitions, just look at what Salesforce has done and it's been effective. But UI path can carve out a position as a pure play automation player to do so. It has to convince customers that end-to-end automation is a key requirement and ingredient of digital transformations and it has to prove that AI is unique. It's AI is unique in a value add as we showed on that horizontal axis of our power law. So we're looking for some upcoming catalysts there's potentially that are gonna be unveiled at UI path forward six, the week of October 9th in Las Vegas, we will be there reporting and analyzing as always, with theCUBE and we look forward to your feedback from that event, but specifically on this post. How do you see the market? Is AI a wind at UI passback or a disruptive force? Let us know what you think. Okay, we'll leave it there. Many thanks to Alex Meyerson who's on production and manages the podcast, Ken Schiffman as well. Kristen Martin and Cheryl Knight helped get the word out on social media and in our newsletters and Rob Hoef is our editor-in-chief over at siliconangle.com. Thank you all, all the wonderful work you do. Remember all these episodes are available as podcasts wherever you listen, all you got to do is search breaking analysis podcasts, publish each week on wikibon.com and siliconangle.com and you can email me at david.volante at siliconangle.com or DM me on x at dvolante or comment on my LinkedIn posts and please do check out etr.ai, etr.ai. You get the best survey data in the enterprise tech business and they're continuously investing and expanding their capabilities. This is Dave Vellante for theCUBE Insights powered by ETR. Thanks for watching and we'll see you next time on breaking analysis.