On the dashboard we also have some methods for sending messages. This allows us to communicate directly with other users within DHIS too. We can do this by accessing the messages from the dashboard. First let's write a message. This allows for direct communication between users. We can select individual users. We can select user groups. You can see that these user groups are denoted by these multiple individuals that are grouped together on the icon. We can also select individuals by the organization units they're assigned to. For example, if I select Bird District, it will send a message to all the users that belong to Bird District. We can then write a subject and a message. This allows us to keep communication internally within DHIS too using the setup that's already been created. This can include user groups, individual users, as well as where those users are assigned. Let's go check to ensure that those users received our message. We'll log out and we'll log back in with one of the users that I sent this message to. You can see when I log in, I have a prompt that reads one unwritten message. If I click on this, it will take me to messages. I can then see the message that I've been sent. Let's go back and use the feedback. The feedback works a little bit different than messages. Feedback allows us to identify anything that's problematic within DHIS too. We can come up with some text that identifies our problem. This will be sent to those users who are identified as managing this particular DHIS2 system. If I click on send, this will send this feedback to those users who are part of the user group that's been identified. Let's log into one of those users in order to see how we can manage this feedback. For this particular user who's been identified as managing this feedback, we'll go to messages. We can see there's actually a couple different items of feedback available. This is identified by a status ticket next to the feedback that's been provided. By default, all of the feedback in the system is assigned an open status. Let's have a look at the feedback that's been sent to this user to see how we can manage it a bit more. Each item of feedback is assigned a priority and a status. For the priority, we can assign it a low, medium, high, or no priority at all. We can also change the status. It can be open, pending, invalid, or solved. Within the feedback itself, we can make internal replies. This allows us to communicate within the user group to try and solve the issue that's been identified. When we're ready to respond to the user, we can click on reply. If we go back to the messaging, we can see that this particular item of feedback has been assigned a status and a priority. If we go back and change the priority and status, we can see that this is also reflected in the messaging application. This feedback tool allows us to manage the variety of issues that might come up in a DHIs to implementation and can be quite useful for prioritizing these different cases.


This is where we conduct a stop, so it takes them a minute to slow down because they're going so fast. Hi there young lady. I'm Officer Damrell, Damrell police. The reason why I stopped you you're doing 55 in a 35. In class we spoke to them about what to do when an officer approached to have their hands visible, be nice to the officer, cooperate with the officer, not to reach for things in the car, because then it gets the officers that are conducting the stop, very suspicious. Okay hang tight I'll be right back. I've never been pulled over but it does feel a little real because especially with the lights on. It's pretty good, it's pretty fun. We get to experience like both points of views. Okay, all right. Some people don't take it the right way like they just go overboard with it and it makes more things like even more harder for the police and that person. It's basically traffic safety. What do you think that was fun? Yeah, that's great. We're just doing a job and we're here as traffic safety to let them know they're going a little too fast in that they need to understand to slow it down a little bit. All right, you have a good day. You're welcome.


The study found that applying humus in microbiological biostimulants to apple trees grown on rootstocks M26 and P2 resulted in the best growth, while the best fruit yield and quality parameters were obtained with microbiological biostimulants and plant amino acid formulations on rootstocks M9 and M26. Additionally, apples with the highest nutrient content were harvested from trees grown on rootstocks M9 and P22, which were stimulated with nanoparticle mineral preparations and humus formulations. This article was authored by Kioter Kikczorowski.


Mr. Chairman, honorable ministers and heads of delegations, His Excellency Secretary General of ITU and elected officers, distinguished delegates, all protocols observed. On behalf of the government and people of Samoa, I would like to relay our sincere appreciation to the government and people of the Republic of Egypt for hosting this distinct conference, which are brought together experts from the field to deliberate and make important policy decisions that affect all member countries and states. Thank you for the warm hospitality and reception that has been accorded to our delegations from the Pacific Islands throughout the duration of our time here. I also would like to extend our government's appreciation to the Secretary General of ITU, His Excellency Hauling Sao, and Director of PDT, Ms. Doreen Peltdown Martin, and the dedicated teams at your respective agencies for the guidance and support rendered to all member countries, especially from the blue Pacific region. On this note, Mr. Chairman, I would now like to officially inform this prestige gathering that the government and people of Samoa will host a tent ITU's Global Girls in ICT Celebration 2020, which is scheduled to take place on the 23rd of April 2020 in Apia, Samoa. Samoa is honored to host this important event on its 10th year anniversary, since its inception in 2010 by the ITU's Blending Potentiary Conference. It is my understanding that over the past decade, about 400,000 girls and young women worldwide participated in this event. And it is for this reason that Samoa looks forward to hosting an important event of its magnitude on our shores. But more importantly, it will enable the participation of girls and young women from the blue Pacific region who would not have otherwise attended due to financial constraints. I therefore wish to invite the global ITU family who are beautiful Samoa on this auspicious celebration of the 10th ITU Global Girls in ICT 2020. We assure you and your families of a very enjoyable time in a vast blue ocean where you will sink and disappear into the turquoise waters by the time you emerge, you will completely forget about the world of spectrum.


So, I have the honor to present Dr. Adil Pablo, who has recently joined, or recently, some time ago joined the Java team and helped us with an upload of two of Jetty, and also helped us here with DevConf, make sure we all have a good time here. And you're doing a talk on the system-level JDM, so here you go. So, this is a talk where I try to convince you guys about something, and you try to convince me not to do it and do something more productive with my time. But the first thing is, this is a battle cry, and I got a battle cry, and I know you guys are very sleepy, so the battle cry should wake you up. If this comes through the audio, the sound is... This here has to be on, but I'm going to get it to this. That's from Argentina, it's called a sapukai. It's a type of thing that people scream while they are dancing. So that's not our battle cry. I guess battle cries will be even more scary. So I'm going to talk... Most of the talk is going to be what it entails to build one of these multi-applications JDMs, but I will first start explaining what they are, and most importantly, why we should care. Yes? I have a really, really great point about it, but it comes in like glambar 10. I could have just started with it, but it will be a little bit momentum, so bear with me for this first slide that will be a little boring. So what are multi-applications JDMs? So the idea is to have a JDM that supports what is called isolates, that are virtual machines that allow multiple applications or processes, tasks, depending how you want to call them, basically things that have a public static void main and different class paths to be running on the same virtual machine, and of course, these different applications should not interfere with each other, and that means you will run them through and you will obtain the same result as if you were running them in separate processes. This, you think about it a little bit, I came across the concept of isolates when I was following a project, I don't know, I don't follow it anymore, I don't know the current state, call it JNode, that we're trying to build a whole Java operating system. The interesting thing about isolates is that they are a standard, I mean, they are JSR 121, the application isolation API, you can go to the JCP website and download it. It's a very, very small JSR, what you get is this, you can say I want a new isolate that is going to be running that application, and then you can actually start the isolate, and that will, these few lines of code are equivalent to doing a new process, launching an external process with the JVM. And you can also say this is the input stream, this is the output stream, and you can, things call it links that let you communicate with these things. And this has been around for quite a while, I mean, this is from 2006, so by 2006, this technology was to the level to make it into a JSR. And here's the most interesting part. I, until, very recently I was working in a company that is very fond of large monolithic eclipse-based applications. So right now, many people find themselves running a whole chat client written in Java, plus an email client written in Java, plus an office suite written in Java, and not really Java, but itself, but all written in top of Eclipse.  And you can imagine that as Debian Java becomes successful, people will have more and more applications they wanted to have running on top of their systems. You can be, you know, hosting a few Debian DVD torrents using Azurius, well, now I'll call it buzzy. You can be having your desktop being indexed with Lucene-based desktop search. And you can be doing a voice conversation using CIP communicator. There is even a CIP base that is written in Java. And all of these things will have their own JVMs. And I don't know if you have seen, but in Microsoft Windows XP, when you come to login and you have been running applications, there is this small balloon that says, running multiple applications will slow down your system.  So, you know, if you're running these six different things, like chat and email and whatnot, you should expect that your system is going to be more slow. But the problem here is, well, with just in time compilation, with dynamic compilation, your code is being compiled multiple times for each of these things. That's okay. I mean, it's waste of time recompiling the code over and over, but it's just a startup. It's something, in a sense, you can live with. The problem is that all these multiple copies of the bytecodes are living in RAM in separate places. And bytecode is very, very small. But the machine code that we saw from that is six to eight times bigger, yeah. And in a sense, this is the same thing as having a different copy of J粒C loaded in RAM for every process you have. Yeah. I mean, Java is that bad. You are ending up with a duplication of, wow, that's true.  How can we be doing this? And this is what we are putting our users through. One of the interesting things is, you can say, this is off topic, you shouldn't be giving this talk in Debian. Go and give it in open JDK, Sumit, or whatever. But we are the people who care about this. We are the distribution. We are the ones who put all these programs for people to use. Each of the different applications, the person who write the email client, the chat client, they really don't care so much about this. We are the ones who are giving the user the experience. So building the multi-application virtual machine is really more on the realm of open JDK. But the one pushing that, I think, we are in a very good position to try to do that. So the interesting thing is, this is a solved problem. Yes, I mean, since the 99 on people on Sun Research Labs and other research centers have been working on that, they figured it out. These are some very good papers. All these papers are from UPSLA. So they're published in good places. And the project called Barcelona is even considered a finished project. They build systems that they ship on cell phones that they were modifying their Sun JDK to support the isolates. So this is doable. We just need manpower and decision to carry through. So the rest of this talk, I'm going just to go through three different solutions for this problem. And they are a little bit detailed and technical with respect to how JDKs work. But the whole point is this is not something that cannot be done. I'm personally not an expert on JBMs at any point in time. And I read those papers, and I understood. And maybe that's because I'm not an expert. I believe that can be done. But so the simpler solution, I'm going to go through three approaches. The two of them don't require JBM modifications. And the last one is the only one that actually really works. But the simpler approach is Java has this mechanism called class loaders. The same way that you have reflection, and you can find methods and stuff for different classes. In Java, you can let the virtual machine call your code and tell how to resolve a particular class into an instance or a sequence of bytecodes. So with that, then you can get these type of things. Imagine you can implement that isolate call by loading these things and start replacing classes you already have in memory. So you can start sharing the compile code. Of course, this does absolutely no separation between applications. Yes, everybody accessing system set out will set the output stream for everybody else on the same JBM. So this seems a little laughable. This stuff is not really allowing you to run multiple applications in the same JBM because it's a strong interference. But when you think about it a little bit more, this is really very, very widespread use because applications like Tomcat, in reality, are doing that. They just use this. I mean, the JBM has a strict semantics that you can have all these applications running together and they will not interfere with each other if you use the Java security system. You put a security application manager that stops any use of anything that you know wouldn't work on this type of scenario. I mean, really, there is no real reason why you can have so much restrictions on securities in a Tomcat stuff if it's not work because you want to keep this isolation working. The next, it's okay, so the problem here really is that all these static variables, you can access them from the different classes and you're gonna have trouble. So one of the first ideas that came out is this idea of saying what we need to do is to get the classes that has static fields, we just split them and we have different static fields classes holding them and we can do that on the fly just by modifying by codes, things like aspect J, that type of things. So if you have a class like this that has three static fields, then you, on the fly, you produce something like this where you have these other classes that contains the actual fields. So every time when you were accessing the field before that it was just an access, now you have to go and look into these array counter dollar S fields that is indexed at the total maximum of applications, so you know your application number two, so you're going to get the fields for the application number two and so on. The problem of doing this is that you need to synchronize these accesses because for the moment where you access the fields for the first time, you need to call the initializer. Yeah, so you need to synchronize here and that completely destroys your performance. What's more, this destroys your performance on static methods that people normally use when they want to have something done very quickly. So that paper is such a southern paper. It goes into a lot of, I mean, that's some benchmark analysis and find out that for example, this MPEG audio that is all static methods because it wants to make it very efficient, then it's completely killed. But then they really wanted to make it work so that they don't really need to synchronize here if you can use this double check idiom and you know that your JVM will support it well, and there are ways that if you know your architecture is going to do the right thing, if you check that it's not null and then set it, yeah, then those numbers come back to the regular size. Still, you have overhead, yeah? I mean, it's a little counterintuitive that to have this NBM stuff you will get overhead and that's the little strange part of reading these papers is that they just keep talking about bad news. They don't really spend so much time benchmarking what do you gain from having this NBM stuff, but I would imagine that sooner or later we'll have our users just come in and knock into our doors to have these if we succeed on having a number of desktop applications that are useful. Okay, so you still need a custom implementation of key classes on the system library to support this. I mean, the approach number one and approach zero don't require any modifications to the JVM, but you still need a custom system library. So you get, for example, a system out different for every application. And this part that is particularly tricky for D.V. And is you have different system libraries for different architectures because if you know that this architecture you can check for the value and then set it without getting to race conditions, then you can do that and it becomes, you don't pay these huge penalties. Okay, so the real thing and it's just doing the same thing that it was being done with this bytecode instead of position, but just doing it inside the JVM. And it's really the same thing for each class. You have in the place where before you had just the constant, now you have an array and the array has this different pointer. So basically you are just taking this same thing of having the fields into an array and each field is a different object for a different application. Now it's just that when you access the static field, the JVM internally replace the direct access with a reference on the array. And this is the cleanest way. You don't have to change any source code or any of the code, but you need to change the, you need to access to the internal of the JVM. And in the paper they make a lot of fuss about that this is only worth it if you have access to a very good implementation of a JVM that if you use like some of the free JVMs you wouldn't really be able to experience the total awesomeness of their work. And well, good thing is now open JDK, it's open and we can try these things ourselves. Okay, one of the most interesting things about this paper is this. Besides dealing with the issue of the static fields, they also introduce something that is quite separate from the actual issue of MVMs, but there is no real way to do Java native interface inside one virtual machine and still remain all this lack of interference semantics because your Java native interface segfolds and it will kill your 10 applications at once. And then you get this Windows experience type of thing. So they, in the same paper they introduce Java native interface isolation where they run the Java native interface in a separate process and they have the Java native interface object do copying. So what you get here is the Java native interface object in C is actually a proxy that then does IPC to the actual multiple virtual machine. I was talking with Matias about this on Saturday and he really liked this part. The other part wasn't so much. So hold on to this because maybe at least this is something we can start looking into and start trying to have it. Any questions, comments? Okay, so there are still quite a bit of issues. Initially I was planning to have each of these to be a whole slide, but aren't out of energy. One of the things that they claim is very nice about this is that you can re-haul the whole heap allocation strategy and then have a larger heap for the whole MVM and then when you launch an application with a given heap, you can get extra heap allocated if there are no other applications running.  No, the last segment of the multi-generational. There is other bit that is very, very, very tricky and I'm going to try my best to convey it. If it doesn't come across very well, just make faces and I'll try to repeat it. In just in time compilation, every time you access a class, you have to check whether the class has been loaded and initialized but if once it has been loaded and initialized, you don't need to check for that anymore. So the compiler compiles the code with these little pieces of code that check whether the class has been initialized and then it's like self-destructing code. It's like okay, it's not initialized, initialized and then delete myself. And we cannot do that in a multi-application virtual machine because to preserve the semantic, you will still need to initialize in a different application for the same code. So you are still doing that check all the time and that also incurs a little penalty and also means that the just in time code you get is a different just in time code. You still need a few system classes that need to be modified. The system class is always a good case that need to be modified and for reasons unknown to me, they say that they don't support custom class loaders and that for me is a big drawback because OGI bundles are all built on top of custom class loaders therefore you will not gain anything out of Eclipse. Everything will be repeated even with running on the same JVM but I don't quite understand why they did that. I do believe you should be able to do it too. Okay, so now I have put together a few slides about if we were to have something like this within Debian, yeah. So in a sense, this is trying to say, well as Debian Java should we try to push OpenJDK to go in this direction? I'm interested in working on this myself outside of Debian in a sense joining OpenJDK and trying to get this implemented. Maybe other people are interested to making the mistake too. But if we were to have this technology in Debian, it opens a lot of problems too and this is just thinking ahead. What would it mean? Well, one of the first thing is user being Java if you have set it with update alternatives to point to the MVM. Now it's a strange thing. I mean it's now deploying things into a demon that is running there. So the way to think about it is screen versus bash, yeah. And you have extra arguments about the different demon you are launching things against. The other thing is that maybe you want to have an MVM that gets boot up on, that gets started up on boot and is used as a system level. But that brings, again, when it's running under which user and it's really necessary. That's similar to Tomcat. I mean Tomcat you have a system Tomcat and that's running as a Tomcat user. More hairy issue is the bug. Yes, you have this application, it runs fine. Then you put in an MVM and some bug happens. And here you are getting interference between maintainers, yes. And so it's not just, okay, let's add an MVM to Debian and we are done. It's really, well if we add it then we'll have to boot up with these issues, yes. And these are going to be very difficult to find and to track and most maintainers available that's not really my problem because, but in many cases it may be just that this interaction is showing some bug on the code or it's just a bug on the MVM implementation. This is similar to the issue of just having multiple JVMs within Debian. And I understand that as an issue of manpower we're just moving away from having multiple and just focusing on open JDK. The other part is I still don't quite get how are we handling the Java native interface libraries. Yes, I mean if you are only supporting open JDK then you just put the Java native interface libraries there but in this case the MVM as a fork of open JDK should take the same Java native interface libraries as the same native libraries as the regular JDK but I don't know if the location will be different. I mean you guys in the question before I say that you put them in user-leave-jvm-geni, JNI the... We put them in user-leave-geni, yes. Okay, so they are supposed to be shared between different JDKs. Yes. Okay, so that will be better. The part that I found very, very scary is you end up having Java packages that are no longer the same for different architectures. If you go with things like the approach one where you have a different set of buy codes for different architectures because you know that in that architecture you can do things in a certain way and there will be no race conditions. I don't think we... But I mean you could build a Debian package for a particular architecture that still just use Java. It will be really odd but... It's not that far from how we do JNI today. So, okay, one of the best arguments that Matthias had was, you're not talking about modifying one JVM. You're talking about modifying the zoo of JVMs we have for all the architectures that Debian maintains. So, well, you know, landing on open JDK and modifying one of the... I mean the hotspot to be an MVM for I-386 might be doable. Doing the same thing for all the other JVMs and tracking all those bugs and stuff like that is a much larger enterprise. And another very interesting question is, well, but if you want native code and DLLs and all that stuff, well, we do have GCJ. So, an alternative view is just, let's forget about this MVMs and just focus on contributing to GCJ. I'm bringing it up to speed. Many thoughts on that. Okay, so that's the larger ideas. Now, if we just want some of this stuff, the technology, maybe we can start thinking small and say, okay, maybe we just want a cache for the just-in-time compilation results. I don't quite see a global cache for just-in-time compilation results going to really address the memory duplication issue. If you want to address the memory duplication issue, you end up having an almost MVM solution. The only thing you are going to address there is the duplication of the compilation time. Yeah, so the first time you get one of the class, you write the just-in-time compilation results into this cache and then you just get it from there. But still, because of these initialization barriers, you only write there the code with the barrier and you have to load it in RAM and then replace it with the barrier removed after it has been through. The part that sounds very promising is the isolates for the native code. And that's fairly independent from the MVM aspect. They still, the paper still has a gray area that I couldn't really get is in the fact of when you ask a pointer to the actual RAM that, for example, an array has. But in that case, you wouldn't be able to do it in this case. But supposedly, the semantics of the Java native interface object allows you to copy this memory back and forth and that should comply with the Java native interface specification. Would anybody be interested in this type of feature? You know, be able to run a native interface code in a way that if it's segfault, it doesn't kill your Java application, might? So I think we might actually already have had something similar to that. I remember when I used Caffe with some JNI, the, and I had a segfault in the JNI and Caffe helpfully threw a Java null pointer exception and continue running, which is mildly scary, but I assume they're using a similar technique to this and with having a separate process. So I think this might actually have already been done by some people. Okay, so you said that Caffe had that already in there most likely. Well, back to the topic of jet caching, it seems to me that it might be possible to avoid the memory re-duplication by a compiling position independent code and then a memory mapping it. At which point, I would expect the kernel to share the pages. Perhaps there's something I'm missing though and it's just off hand. But you have the static fields, those ones. I mean, those would have to be I guess a separate section or something, but I think if you could, you know, I select the code itself, make that position independent, might be possible to send along those lines. Sure. And the MVM idea is very interesting as well, just a thought. That's a great idea. Do you know much about that stuff? Yeah, I'm not too up on the details. It just seems that in principle, something like that might be feasible. Just wanted to add that it seems to me that the memory data problem is bigger than the memory code problem. And second of all, when you talk about sharing the code, you're also making a optimization for space trade-off because the code can be compiled in this way that's specialized for your application. So just two things, one is a pointer and one's kind of a question. And the pointer is there's a very good Google IOTalk about optimizing Java C for Android where they talk about things like just actually storing the class names is a huge amount of wasted space. So when your memory can strain, you don't wanna have Java Lang String 150,000 times possibly in a piece of code. And the other is just a question is one of the advantages that I find in using Java is that when I get a heap dump, that is the heap dump and having the system level JVM, it's almost like asking the user, well, just dump the kernel memory and I'll take a look because there could be a lot of things in there now. No, but the heaps are isolated in their design. The heaps are separated. So you have your three applications, each one has a two gigabyte heap. Okay, but when things go south, it seems like you still may want the Uber heap, right? I mean, that's what really we're talking about. I mean, the JVM does have, it has a single address space and now we have these multiple processes within them. Yeah, I hear you, yeah. So a couple of years ago, it was interesting, Peter Von De Ahe, who is a Java language developer, took the statics out of Java C so that we could have multi-threaded Java C. So it's only a small part of the problem, but so it was an interesting example of trying to find those statics, which was kind of tricky to get them and get them out. I believe, I was noticing on the Open JDK site that there is a sub-project called MJVM, I think, and I wanna say that John Rose is the guy that's been blogging about that and I think he even talked about it at the recent JVM language summit. So I don't know what the status of that is. Pablo, have you had a chance to look at that? Nope, I was hoping this will get me the type of pointers. Well, this is a subject that's near and dear to my heart because I used to do performance at Sun and obviously I've been aware of the Barcelona project for a long time. So you asked for some constructive feedback so I wanted to challenge you just a little bit, Pablo, but people have brought up these points a couple of times. One of them is, well, one of the ones that I just don't know technically enough about is we have this assumption that you're showing in the picture that if application A and B have the same dependent jar, they're only loading that once. And I'm not, I assume that that's the case with an MVM but I don't know how that would work if it's actually in different class loaders or the same class loader and how the security works with that. That's the reason why they didn't address class loaders on Barcelona to begin with. They will just take the regular system classes. Okay, and then the other thing that was pointed out is that the heap space for application space is necessarily has to be separate. So you might save the perm gen and you might save some other smaller chunks of memory but probably the bulk of what your application is doing is gonna be in the heap and that will be the same whether you have MVM or individual JVM instances. Another thing that will be the same is the file system cache for all the system libraries that are loaded. That'll be the same whether you have MVM or single JVMs. There are some downsides to MVM. One is that you don't have the opportunity to do different JVM tunings for each application. You have one for the overall JVM instance. Hopefully that wouldn't be a big deal but it is a constraint. And then as you pointed out Pablo, there is the risk with, and I didn't, I don't know how far the isolates go but there is a risk that if the JVM crashes that it will impact all of the applications that are running. And as you pointed out, there is some probably some penalty to pay for doing the isolation and teasing out the statics in JDK and in the application code. That being said, the whole promise of this is to get a better startup. And so it probably would be really awesome for startup. And I think that I guess what I've learned from doing performance work is it'd be, there's nothing like measuring it if we can find a good use case and then just measure it and see, especially if there's something experimental with OpenJDK even before we try to package it just to sort of see how big a win it might be. So this is more or less it. And I, with some luck, next day I've come, I'll come and say, I was a really bad idea. But I'll take a look at the MJVM project. I'm hoping it's still going on. So do you contribute with OpenJDK? How is the process for contributors? Actually, I've been busy doing other things the past couple of years and I haven't been an active contributor to OpenJDK. I'm wondering if I can ask other people in the room to comment if they've contributed to OpenJDK or tried to if they have any comments about that. Who's actively maintaining the OpenJDK package? Oh, that's the elephant in the room, I think. Oh, sorry. They're both in the room, as I recall. Yeah, they are wearing an elephant suit. But so you don't communicate with upstream match for that. So most communication is with IST. Well, you can see that as a proxy which does collect patches and provides built infrastructure to build OpenJDK. There are only a few people, two or three, inside IST who contribute to OpenJDK or to oil upstream development in OpenJDK. So I would feel that some things like that being done within Debian would very fast bit rot and would be unmaintainable. No, the idea of doing this is really within OpenJDK. It's just trying to push it from Debian, saying, well, we want this and we will take it and blah, blah, blah. It's more on that direction while starting from Debian rather than at the... So the best thing then would be to maybe to integrate it first with IST. That's something like, what's done with the zero VM and which is now being upstreamed to OpenJDK. Does everyone use it on HPPA? No, zero is used on Spark, no, sorry, on S390, on PowerPC, on SH4, on MIPS and... Okay, go, then you... One of the things that occurred to me while you were talking earlier about where you were comparing this to Tomcat, where you have a single Tomcat instance running as the user Tomcat with all of your web apps in it, is that when you're trying to move this into the desktop application space, there are a number of other issues. Your Tomcat, typically your Tomcat thing is not trying to write files as particular users and it's not trying to connect to an X server. So the issue you're going to have here is that the user that you're system level JVM running at won't have the permissions to access your files and even running it as root won't help if, for example, your home directory's on an FS and it won't be able to access your X server. So I think for things like desktop applications, the best you're going to manage is having a single JVM either for user or more likely for each session. I think that's still going to give you quite a lot of win if what you're worried about is 10 or 15 desktop applications. But I think running something where the first time you run a Java application in your session, you get a VM and then subsequent times you just load it into the existing one is going to be a much better approach to try and take. And if you have a look at Debuss, for example, they already have all of the stuff on there for managing sessions and this sort of stuff. So a lot of that's already there for you. But I don't think that you're going to make a system level JVM fly, but it's multiple apps in a single session. Maybe that is possible. What about Mono, the common language infrastructure stuff? I mean, they are putting a lot of desktop applications built on the CLI these days. I assume Mono has a set for process for each, but I've not looked. I said what? A set for process like we have with Java at the moment. I assume. Oh, okay. Just to add her to all comment, they burn tons of memory too. Unless I'm mistaken. Thank you.


of Attack for ICS, and that's what I'll be talking about today. I'll give you a little introduction, and also talk about some use cases centered around test beds, which I think is relevant to the ICS Village. So feel free to use the link here, attack.myre.org or slash ICS if you wanna take a look at the Knowledge Base while I'm talking, and also feel free to reach out to me on Twitter. So Attack for ICS was released this year in January, and the real purpose of this Knowledge Base is to look at how adversaries have affected critical infrastructure in the past. So really looking at their behaviors, tactics, techniques, and procedures associated with the attacks and what the ultimate impacts of those attacks are. So since its release, we've gotten a lot of adoption, a lot of attention, some of the security vendors here have released blog posts and presentations showing how they use Attack for ICS and how they envision their customers using it. Also, asset owners and operators are looking at how they can use it to kind of fill gaps and to understand their environments a little bit better. So for those who aren't familiar with Attack, what is Attack? Well, it's a Knowledge Base of Adversary Behavior, and it's based on real world observations. So that's what adversaries are doing in the wild, what credible red teamers are doing and things like that. I think good news for everybody is it's free, open, and globally accessible. So I gave you a link at the beginning, attack.mire.org for slash ICS. Any of you can go and look at the Knowledge Base at any time. It also provides a common language for how we talk between defenders, red teamers to business people. It really allows us to all get on the same page. And I think that's very important for, especially testbed activities when you have red teamers and blue teamers. And it's community driven. So we always look forward to contributions from the community. If you think that there's something missing or if you know of some adversary activity, you could always submit that and be a contributor to Attack in general. So this is a common representation of Attack. You'll see this across the multiple technology domains and Knowledge Bases. This is a technique matrix. And across the top you have what are called tactics, which are the adversary's technical goals. So this ranges here on the Attack for ICS technique matrix from initial access to discovery, to inhibit response function and peer process control impact. So those are some technical goals of the adversary. And associated with each of these technical goals are techniques and this is how the goal is accomplished. So this could be data historian compromise under initial access. It could also be device restart or shutdown under inhibit response function. And associated with each of the techniques, if you go to the site and look at a particular technique page is some specific technique implementation. And this is how the adversary accomplished this high level technique. So looking at this altogether and you have the tactics, techniques and procedures of adversaries which really represents their behavior and is the focus of Attack. So on Attack.mire.org, you'll see a number of Knowledge Bases that are associated with technology domains. So you'll see enterprise, you'll see cloud, you'll see mobile. And now you see ICS up there as well. Why do we have different Knowledge Bases? Well, in general, adversary motivations may be different and they may be tightly coupled to the technology domain that they are targeting. So gaining access, accomplishing your objective, all depends on the target and what you're actually going for. So there's gonna be some differences between enterprise systems and cyber physical systems. There's also different phases in the lifecycle which mean there's different choices. So that also influences our decision to create a new Knowledge Bases. And then when we get to the technologies there's some real differences there. So how the adversaries interact with particular systems really depends on that system. So how an adversary moves through an enterprise system is different than how they may affect the embedded controller or something like that. It's things that we have to take into consideration. And then when we get to defense, we have to think about how are we collecting data to get information about what adversaries have done. We can always use network data but what about low level devices? How do we collect data from them? Are there standard interfaces for collecting that data? What can we expect from them? Also in terms of mitigations we don't wanna recommend mitigations that are gonna conflict with safety or availability of the system. So we really have to think hard about that. These are all just some high level reasons why we came up with a different Knowledge Bases to really talk about adversaries in the ICS technology domain. So this is a representation of an industrial control system. Most of us are familiar with it as a Purdue reference architecture. We think of it as functional levels of an industrial control system. And some of these levels are associated with traditional IT and some of them are more operational technology focused although they have IT elements in them. So when we're looking at an incident and we're decomposing it or mapping it to attack, what we first do is try to think about what technology domain the adversary affected first. And sometimes that's the enterprise technology domain. So what we'll do is we'll use enterprise attack to go as far as we can in terms of explaining the adversary behavior. As we get down to the lower levels and we start talking about specialized protocol, specialized applications and specialized equipment, we really need attack for ICS to tell the rest of the story. So it really fills in the entire picture. So back to the technology, technique matrix for attack for ICS. Let's break it down really quick. So if we look at the first tactics, a couple of tactics or more, it really represents the adversary finding their target, collecting information and ultimately staging an attack. So initial access is how we get in. We may try to find our target by using discovery, techniques and then we may need to get specific information. So we may have to do some collection to understand the state of the system or state of the process at any point in time. Then inhibit response function and peer process control is the adversary directly affecting the control system. So this is a sending on authorized command messages. Maybe we do a program download with the malicious program, different things like that in order to actually affect the control system. And last, we have our impacts, which is really what the adversary is seeking to create. Are we trying to create a loss of control? Are we trying to damage property as an adversary? This tactic really contains those types of techniques. So this is just a quick breakdown of attack and attack for ICS and what's contained in it. It's really based off of what we've seen in the wild. So that could be kind of limiting for us, especially if we want to have fun in a test bed environment or learn about what particular techniques look like. So what I'll be talking about next is a way that we can kind of structure our activities in a test bed environment specifically on ICS Village when we're working in it as adversaries. So something that we can use are failure and attack scenarios. And I'll explain what those are and how they can help structure our activities. So failure scenarios include malicious and non-malicious cybersecurity events. And these can range from compromising equipment functionality to data integrity attacks, to communication failures and more. And these have a lot of uses that can be used for risk assessment. They can be used for training, table top exercises is something that they're very popular for. But they can also be used for like security testing in a test bed. So examples of sources of data for failure scenarios, really understanding how these systems fell and where the causes of them could come from subject matter experts. So people who operate these systems, they could also come from researchers. They could come from incident repositories. So how do real life systems fell and what were the causes and consequences of those failures? So this could be NTSB databases, films that are pipeline databases or even more. And then there's also scenario repositories. These are subject matter experts have gotten together and talked about different failures that can happen and they've provided us repository of failures that we could just work from such as the every Nest Corp failure scenarios. So let's look at some example failure scenarios. These come from researchers who are power engineers and they released a research document through the IEEE that kind of details some failure scenarios that are interesting. So scenario one is transformer overloading. So in this particular scenario, what the objective of the adversary is is to rapidly deteriorate transformer installation. And this really represents one of those low and slow attacks that damage normally time pieces of equipment. So the technique here is basically to set or modify trip settings so that if there's an overcurrent or thermal condition that the protector relay doesn't step in to kind of correct the condition. Then we also want to block communications so that operator doesn't understand what's going on. And then we wanna force all the power through one transformer to bear the load. So this rapidly heats up the transformer and degrades its installation. Scenario two, we're disrupting switching execution for circuit breaker and isolators and we're causing dielectric breakdown of that breaker and isolators. So what we're doing here is we're continuously executing switching actions to take this piece of equipment out and we're blocking comms to kind of hide our actions. And then scenario three is kind of that typical Ukraine type attack where we're just opening breakers and we're trying to cause entire substation outages and whatever contingencies come along with it. So we can start to structure the cellular scenario so that we understand exactly what we're trying to accomplish. So if we take scenario one, the transformer overloading, we could think about what the consequence is. The consequence is a thermal breakdown of transformer installation. And then we have a couple of filter modes. We don't want the protector related trip. So we're gonna put improper overcurrent and thermal settings in it. And then we also want one of the transformers to bear all the load. So we have to open the breaker to the other transformers that are in the system. So we could do this by modifying parameters, which is the attack technique and sending an unauthorized command message. So now we have a full story of how we're gonna cause this thermal breakdown of the transformer. Now, something that we have to consider is how do we can sustain this attack? What do we need to do to make sure that this attack can continue so we get our ultimate consequence? Well, here what we wanna do is make the operator unable to react to the critical condition. And one of the ways we can do that is by causing a loss of view into the substation by manipulating communications. So the attack techniques that we can use here are block reporting message and alarm suppression. So now we know what we want to accomplish. We're not just fiddling around in a test bed environment with no ultimate goal. So what's next? So now we can build our attack scenario. We can think about what's our entry point? How do we find our targets? How do we sustain our attack? And how do we cause a failure? And even more. So in terms of entry points, maybe it's that we need an engineering workstation or to accomplish this attack or something that serves that function. And maybe we look for external remote services like a VPN connection or something that allows us to get connection to this engineering workstation. And then in terms of finding our target, we have to probably do some discovery. We could do network sniffing. We could do control device identification or we could do network service scanning. And then to sustain our attack, what we want to do is maybe block reporting messages so that certain voltage or current values don't make their way up to the operator. Or we may want to do alarm suppression where we're stopping alarm messages from going up to an operator. And then finally to cause our failure, we want to use impaired process control techniques where we modify the overcurrent and thermal parameters and we send commands at the wrong time to open breakers. So now we're starting to build a real story about what we want to do. So this is what a first pass at highlighting the relevant techniques looks like. As we build on to our story and kind of validate that we can cause the failures that we want, we may add additional techniques, things that go ahead or may have to fill in certain gaps in knowledge that we have by using a technique, but this really serves as a basis of what we're doing in order to induce this failure. And something that we can do is dive really deep into particular techniques. So for instance, unauthorized command message. We may not just want to look at the description here. We may want to look at how adversaries have done this in the past. So we have the Murcheshire attack as an example. We have the 2015 Ukrainian power grid attack. We also have particular implementations that we can look at such as indestructory or Stuxnet to understand how unauthorized command message were used. And if that's not enough, we also have references. So you can be even deeper into incident reports in order to understand exactly why an adversary used this technique, what they used it for. And this really helps to build the story around what we're doing within our testbed environment. So another thing we have to consider is data sources. And data sources can are very valuable for defenders, but they should also be considered from the adversary standpoint as well. So what artifacts am I leaving behind as an adversary? We need to understand what our activities look like to the defender. This is very interesting when we're in the testbed environment, where are we leaving behind? And most people look at network traffic in terms of defense, but there's also a lot of other rich data sources that go overlooked often. So host-based logs housed on embedded OT devices such as controllers are interesting. There's also asset management data associated with equipment under control that we can look at. So we've done a lot of surveys of devices to understand what data sources are on them. And we've come up with some high-level categories of data sources on low-level controllers. And I've kind of highlighted some of the ones that are most relevant to the scenario that we've already presented. So we may want to look at parameters on the device. And we could do this in periodic integrity checks on the parameters to see if they've remained the same, if they've gone outside of our original threshold. There's alarms that are generated at these devices and stored at these devices before they're sent. So we can look at those. There's event logs such as the sequential event recorder that contain a wealth of information about commands that have been executed or parameter changes or anything else like that. But we have asset management data. We can look at condition-based monitoring, understand particular parameters about that transformer such as thermal parameters to understand if it's overheating. And there's a number of other data sources that we can look at, but we want to be aware of what our activities look like from the defender's perspective. So here are some data source considerations that we can have as we're working in these environments. So is this data source able to be accessed via a standard interface, a documented interface? That's very important for access to that data source. What's the storage size of that data source? Will it eventually roll over? Is there a lot of noise in the data source? Would it be hard for a defender to kind of look through it? And then are there standard commands that are available to just delete that data source? And then another thing we can consider is, does the data source get replicated to other places? So if we're looking at a low-level protection relay, does it go up to another controller, the particular data sources that we're looking at? There may be aggregation points somewhere. So these are all things that we have to consider. So let's take another look at this overall process that I'm proposing to kind of structure your activities in the test bed. So first we want to understand failures associated with your target system. For our target system, we were looking at a transmission substation, for instance. We want to build an attack scenario around your chosen failure scenario. So how do we induce this failure via cyber means? We want to build a story around it about what the adversary is actually trying to accomplish. What's the bigger goal by researching how and why adversaries have caused similar failures in the past. We want to conduct the attack and that includes implementing certain techniques and seeing if we can induce the failure in our system. This may take multiple times. We want to understand which data sources contain indicators of our attack. And then finally, if we're purple teaming or working together with blue teamers, we want to talk about our activities using the artifacts from our structured attack plan. So that may mean we show them what our failure looks like that we're trying to induce. We can show them a technique matrix with the right techniques highlighted and we can share with them what data sources they should look at. And that could kind of help us to work together in order to figure out new things in the test bed environment and to communicate more efficiently. So, some key takeaways. It can be very helpful to build a full story around your test bed activities by documenting failure and attack scenarios. So sometimes the reaction is just to hop on the test bed and to see what's gonna happen and just go with it. But structuring our activities using attack for ICS can really help communicate what we're doing and those things are all reusable in the future. So we also wanna make sure we understand what artifacts we're leaving behind and we want to work closely with the vendors as purple teams. So really quick, cause I'm almost out of time, what's new for attack for ICS? So on the horizon, we do have technique updates. So that's new adversary behavior and additional references. We're adding mitigations to each technique as well. So we have to consider all our stakeholders here. Device vendors are very important because a lot of the insecure by design problems that we see with these devices start there. So we wanna tell them what they can do to address some of this adversary behavior as well as like asset owners, what they can do at their level. It's gonna include many references to standard bodies such as IEC, ISA, NIST and it's really focused around adversary use of techniques and then how interfaces are used or what their functionality is and then also the impacts. So the last couple of things that are, we're starting to integrate more with traditional attack tools that people are used to using. So attack for ICS, we'll have a sticks representation and we're also integrating it with attack navigator. So those are some things that you can look forward to in the future and hopefully help everybody to use the knowledge base more. So that's all I have. Please feel free to visit attack.minor.org slash ICS to look at the knowledge base and reach out to me on Twitter if you have any questions.


Hi you guys, Lindsay here. Welcome back to my channel, Inside the Hymn. I'm so excited! We have the Vogue, um, I think they call it Winter Holiday Collection, was just released a few hours ago and I am so excited to look through it and see what they have for us for the next few months. So let's jump right in. Yeah, Winter Holiday Collection. These, um, from what I've seen, sneak peek-wise on Instagram are very glamorous. So okay, the first one we have here is a Badgley Mishka design. Um, it looks like it's like off the shoulder with like these really cool grommet details. And then this, I don't know what shape that is, very beautiful on her figure. And then this like large flounce. Do you guys attend a lot of like galas or like charity events during the holidays? I think a lot of these are going to depend on kind of just your lifestyle and if you'd be able to work, you know, it in. But here's a closer look at the details of the grommet. They did it in like a velvet ribbon too, which is actually really stunning. I don't know that black photographs very well, but I can imagine in person this being really pretty. Um, to get it, it's actually kind of hard to see like all the design details in this little box here. Here we go. So yeah, it's just one view, very simple in the front with, you know, no shaping or seam lines there. But in the back, we have a center back seam. And then also these, I can assume, fisheye darts here to give you that lovely waist shaping that I'm always harping about. There's a center back zipper. And then you can see how the grommets and the ties are tied in there. Very elegant, very beautiful.  But yeah, the grommeting is very interesting to me. You know, it's kind of like elegant, but with like a little bit of edge. Okay, next up we have, let's just look at the full view of all of them. Another Badgley Mishka design. Wow. Okay. So this, whoa, let me take all this in. All right. So we have got a, well, another black dress, which again is hard to see, but we've got a, you know, high crew neckline, long sleeve, a bejeweled wrist. Then we've got a gathered, like gathered to one side skirt with a huge bow. I mean, that is something else. I can tell you now I have nowhere to wear this. It is beautiful. I wonder if you hand sew all those on. Oh my gosh. Okay. Fits her beautifully.  It does look like there. Oh, so it's two pieces. There's a top and then a skirt. That's interesting. Let's see the line. Oh, not a go day, by the way. It's just some shaping with the fabric. Interesting. I love that it's two separate pieces. The top does have a little bust dart and then the skirt is really, it's hard to tell with the bow in the way, but it looks like it's just got some ruching on the hip. Skirt B is fitted through hip and lined with center, back, invisible zipper and train and features pleat detail on the left hip and front waistband and bow accent. So yeah, there's something going on under the bow here that is causing all of this, like this bunching effect or whatever. That's really interesting. I love a two piece. I think that that's very versatile and I don't know, just really interesting. You could wear this with some really nice satin pants. You could even figure out a way to maybe dress this down possibly. I don't know. It depends on where you're going. Where are you going in this? Okay. Now we've got a little shift dressed from Isaac Mizrahi. I typically love his designs. So let's see what he's got. All right. So we've got a little shift dress with a little flounce here and then like a tiered sleeve. Kind of like a boat neck or a betto neckline. It says the dress is lined. Let's see what the back looks like. A little keyhole back. This is really pretty. It doesn't have the shaping that I like to see, which is kind of disappointing for a Vogue pattern. But I mean, it is what it is, I guess.  And then this is sewn on top of that. I love it all in one fabric. I think that that's really nice and elegant. But I could also see this in like, what if you did it like ombre, where this was like a baby blue, a medium blue and a dark blue or, you know, any variation of the colors like red, like with pink and orange and red or, I don't know, I could see this in like a lot of really fun color ways to kind of call out all of that detail. Very cool. But of course, I would add some fish eye darts to the back. Excellent. Here's another Isaac Mizrahi. This is like my go to. Okay, I love this. This is like my go to type of dress, you know, fit and flare. And this little coat over top is everything I am in love with how cute and simple, but really preppy this little coat is. Oh my gosh. Look at the dress. So cute, kind of flirty with this little notched collar. And then this pleat detail in the front mimics this little V here. So your eye just goes right up to your face. This has a lovely waist seam giving you all the shaping pockets, of course. Oh, I am so in love. And this fabric they use that kind of looks like gunmetal is like giving me very much like armor vibes like this woman is a boss. Look at those back darts darts in the back of the skirt. So clearly there's a side zipper or something somewhere. Okay, maybe not the best fit on the coat in the back, which is a shame because look at all these seams, they should have been able to get it to fit a little bit better. Two piece sleeves. There's a lot of opportunities here to get this right. But I get they're just making like a sample and hoping it works on the model. So but by looking at this, I would think if you had like wider shoulders, this would fit you a lot better than it fits her. Looks great in the front though. I love this one so much. And I love that it's matchy matchy again. But I think it could be really great in like contrasting fabrics as well. There are so many beautiful brocades out there these days. I'm sure that that's what they're recommending. Let's see if there's anything else. Jacquard, Shantung, wool crepes. So actually they're not recommending brocade at all, but brocade would absolutely work. Oh and no lining. Oh no, there is a lining. Okay. They don't have any, they don't suggest any fabrics for the linings. Love that. Here's another really nice one at first glance. We have two pieces again, a fitted top and a semi fitted skirt. The top has gorgeous shaping. Look at that really nice princess seam. Center front seam. Geez. Like a wide v-neck, three quarter sleeves. I mean, look at her body in this. She looks like a million bucks. And then the skirt is like a little bit below knee length. Here's some of the shaping on the back and it's not a set in sleeve. It's actually a doleman sleeve. And then a lovely little V in the back too. Is that the zipper tab? Yeah, that whole thing unzips. And it also unzips backwards. Like you zip it down.  Interesting.  It's also, I guess, like high waisted too. This would come up higher. Very elegant. I love this. Very chic Paco Peralta design. Here's a Belleville Sassoon by Lorcan Mulaney. I don't, I've never heard of him or her, but this is really cute. So we've got our little seam details of like a princess seam, but also like kind of this like raglan seam and also a set in sleeve. So there's lots of opportunities to add these like sheer insets, which is cute. And then I want to say this is a mermaid. I always get confused between mermaid and trumpet, but you know, a fitted skirt that flares on the bottom, like below your hip. There's the back, the center back zipper. There she is looking fabulous. That's really cute. Again, another black. Oh, and it's knit. It's a knit dress. High neckline, which is nice. I think that's so elegant. Look how pretty this looks. Again, with like monochromatic is all good and very elegant for the holidays and all of that, but you could absolutely make this more casual in something in like a print with like solid piping or I guess that's called piping or seam detail. They're calling it. What did they use? Matt Jersey, Ponty Silk Jersey, obviously. Contrast mesh, invisible zipper, and then they're calling it flat trim. Not sure if that would be something they would sell at our local Joanne or not, but looks cool in the leather, but maybe you could make your own. I don't know what flat trim looks like, like in the raw. All right, next up is a Tom and Linda Platt design. Wow, very 70s, right? Are y'all getting a 70s vibe from this? So we've got some seam details. It looks like a little collar, set in sleeve, and then like a little pant, asymmetrical hemline. This is interesting how they use both sides of the crepe back satin. So this is the crepe side and this is the satin side. It's the same fabric just using opposite sides. Center back zip on the top. The pants look like they have a lot of seaming as well. I want to know what the top of the pants look like. There's an actual waistband. Oh, look at that. It's like asymmetrical on the pants too. So you get one side with the seam and the other side has double darts, but on the skirt, this is the asymmetrical only applies to the front. The back is symmetrical. I don't know why they didn't mimic this on the skirt, but either way, neither here nor there. The top also has this little slit, which I didn't notice before. Interesting. I don't know that this style is for me, but I can see someone else in it, and they would look awesome, especially in like a winter white, I think would be really beautiful and very chic, still very holiday. It is interesting though. I feel like it's one of those things that the more I look at it, the more I would fall in love with it and maybe convince myself that I do need it after all. Okay. Next is an incline. We've got a jacket and pant. The jacket looks like there are no closures possibly and the pant seems very fitted. That's a cool detail. Center back seam and then also this horizontal one that kind of is like a peplum-esque. No close-ups of the pants. Okay. So yeah. So no, it's like a tuxedo jacket, really.  And then the pants, I imagine, yeah, are made from like a ponty. They're kind of like pull-on, like really nice pull-on leggings is really what they are, especially if you made them in a really nice ponty or like, you know, a more substantial knit. Let's see what they're recommending. Cray gabardine wool flannel for the top and then for the pants, ponty knit and wool jersey. Shoulder pads in the jacket and then elastic for the waist band of the pants. I could see you making these pants and wearing them as leggings like, you know, doesn't have to be super elegant outfit. And then this jacket would be great in just about anything for a myriad of different outfits. I mean, even if you put the jacket with jeans and made it out of like a really fun fabric, or if you made it out of like a, like a Chanel type fabric, that would be really cute. It is a little on the long side for me, but I think it's lower in the front than it is in the back. Like that looks scooped a little bit to me, but I do like it. Very chic. Okay, Zandra Rhodes. This looks like fun. Wow, okay.   The shape is really cool. I'm digging the shape a lot. Look how cute it is in the back. I mean, it has that huge, I don't even know what to call it. And then these sleeves, these sleeves. Wow. It's cute though, right? They styled it really well with like the Ponte pant and then these little pointy toe flats. No provisions provided for above waist adjustments. I bet not. So from what I can tell, you like quilt this thing yourself. That's really interesting. It's just like a ton of top stitching. And then what are these ropes? 18 and a half yards of cording and then beads. So it's just like cording and then beads with little knots tied on the top and bottom. And then the cording, I guess, is sewn into these four parts. Let's go back to the line art. There's a cord sewn into each of these little points of the collar. So interesting. I get real intrigued by like really bizarre patterns like this, where I just want to challenge myself to make it look awesome. I mean, this, I would wear this green version. I don't, I don't have anything against that. But I want to see if it really is wearable. You know, it's kind of like when you see stuff on the runway and you're like, how would that look in real life? It's kind of like that. Like, if I showed up to the grocery store in this, would people be like, what is she wearing? What is she wearing? Or would they be like, wow, she looks so cool. Okay. So taffeta, jacquard, shantung for the body. And then it looks like this is quilted with some sew-in fleece. Interesting. How much? Yeah, a lot of fabric for the, they're calling it a jacket. A little more than three yards.  I can't tell that either. It says one large snap. So I'm assuming that it snaps right here. Very tempting. Okay. Now we've got a very easy vogue. Mrs. Top, Dress and Pants. So we've got a wrap dress or tunic. There it is in a print. It looks like elasticized waist. And then we're not going to get anybody in a pant. Okay. So here's the tunic. Here's the dress. Pretty basic stuff there. And then the pants have no waistband and no darts. Oh, Lord. Well, I guess they're just, I don't know, shaped really well through here. I don't know about that. Where do they even are they? Oh, two-way stretch. So they're knit pants. I was like, how in the world? I'm like trying to wrap my head around that. They do have an elastic, a bit of elastic in there in the top to hold it in. Interesting. I kind of feel like this is just like any other wrap dress pattern you might have. It's just in a holiday type fabric, you know? But if you don't have a wrap dress, this one looks like maybe some issues would be happening with the wrap portion itself, like you would want to redraft it to kind of come in a little more. Or maybe you like this, deep-fee. Okay. Here we go. This is a Mrs. Dress with like cape sleeves. Love. It also has umpire waist and like, is that like a little mock wrap? Here it is. And a crew neck, little bust darts, huge bubble sleeves, and a super cute A-line skirt. And then I think this is the version that she's wearing. This is just a little bit drapery fabric than what she's got. This one is like a brocade or a jacquard or something. And this is just drawn to be a little bit drapery. And then a regular zipper. Here's the, you know, umpire waist seam. It looks like little darts right there. Baby hems on the cape or sleeve or whatever we're calling it. I don't know. This could be really cool. I don't love the sample, to be honest. It looks a little samurai, you know, but I do like where the drawing is going. Um, neckline finished with perches bias tape. This version is really cute too. I don't know. Yeah, I feel like if the fabric was a little bit drapery, we would be more in business here. But at the same time, you don't want it too drapery because this shape of the skirt is so cute. Maybe you could do like a contrast.  So it wasn't so like stiff working, I guess. Like that's just not all that flattering to me. I just imagine those things like feeling like they were in the way all the time. The base, the bodice and skirt of the dress is really cute though. Okay, now we've got a very fun, like flamenco looking type skirt. So remember that Badgley Mishka top we saw at the front of the, at the beginning of the video. You could also pair it with this and have a completely different look. Okay, fitted lined wrap skirt with yoke back darts and hook and bar closure features lined flounces and length variations. So this is obviously the full length version. There it is again, super cute midi length and then knee length. Excellent. Those are cute. What are we? Oh, oh, it literally wraps around you and hooks in and that's it. And you hope for the best at those hooks. Don't come undone. Interesting. Well, I bet it's easy to sew. There's not even a side seam. Tapeta, shantung or broadcloth. I mean, I'm sure that they could extend that list to be just about anything. Four and a half yards for the long version. Six yards for the lining. That's amazing. I don't think I've ever bought six yards of anything. Yeah, I, I don't know what kind of fabric this is that they use for their sample, but I don't like the print. I also don't really like red and black together. This is all just personal, but I do like how drapey it is. I think that that is what you need to look for whenever you're shopping for fabric. If it has no drape to it, then they're all just going to stick out. But this is like really drapey and the tears look really pretty. Let's see the front. And I guess that's where it hooks. Right there, kind of like off to the side. Interesting. That could be really fun. Fun party skirt. Okay, now we've got a vintage pattern. Look at her in all her like 20s glory. Look at that. That is just amazing. All tucks, pin tucks. Oh, fabulous. I don't, again, with the styling though, like we get it, it's vintage. You know, like I don't need the pose with the hat. You know what I mean? Like super cute though. Super cute. Original 1940s, 1947 design, not 20s. How are these different? Anybody? I'm like playing that game where you're like trying to find the difference between the two photos and I don't see one. Oh, the sleeves. The sleeves. Very cute. Okay, custom fit, which I love. Okay, what is going on here? So it looks like a shirt dress with sleeves variations and skirt variations. So we've got like just a regular sleeve here buttoned down all the way. It looks like princess darts, a princess seams with darts, which is excellent. I love that. Forward shoulder. These look like pleats. That's beautiful. I love that one. That is so nice. And then this is just a very, very wide bell sleeve. Same with that. Cute. See, so you could wear it in the winter with this one. And then wear it again in the spring with this one. That's cute. With the cup, with the custom fit, where you get like the different cup sizes and this seeming here, you guys are all going to get a perfect fit no matter if you're like a double A or like a triple D. You could get this to fit you really easily. That's cute. Yeah, I think it's just like a very wide bell sleeve. I love these two versions here. Cute. It also has a back yoke that I didn't mention and back princess seams, double darts in the back skirt, which is nice for those of us that have, you know, pear shapes, gabardine, flannel, crepe, and or pontina. Maybe beautiful in a crepe for sure. Okay, today's fit by Sandra Bazzina. It looks like we have a kimono. Yep, that's a kimono. I kind of, I never really got into the kimonos to be honest. I mean, that's cute. That's a cute outfit, but like, I don't know. It doesn't like overwhelm me, you know, like I'm not like, oh yeah, I really need to make a kimono, you know. Here they are. I do like this collar, this type of collar, two belts, belts in two widths. So you can pick your belt. All right, now we have Cous Vanden Ocher. Any Dutch, is that not a Dutch name? Cous Vanden Ocher. Is this a jacket? Oh, reversible jacket. That's fun. With all this applique, I feel like I remember something of his from last winter that had like all this pattern matching and stuff going on. There it is as just like a solid. I guess that might be the inside. Okay, I'm getting it now. I think that they are really cool. Oh no, something's on her pants. Oh bummer, she sat on something. I had hoped it was just on my screen, but it's not. Anyways, about the jacket, this would take a lot of thought. This is like cording sewn on or something. I don't know, there's so many parts to this that I'm just like, it is, yeah, advanced, you think, just very overwhelming for me to consider. I mean, look, they're eight different fabrics. That's insane. I just don't have it in me to like do all that. Look at all those. Oh my word. So for the body of the jacket, medium weight wools or boucle, and then contrasting fabrics, and then synthetic leather for whatever seven and eight are, parts of this flower. Yeah, it's just a little too much for me, but like if you make it, I want to see it because I bet it will look really freaking cool. Okay, Vogue wardrobe, which I love these because you literally get an entire capsule wardrobe in one pattern. It is like the most bang for your book. It looks like we're going to get a jacket, a top, a dress, pants, and a jumpsuit. That's five pieces in one pattern. So if you wait for that Joanne sale and you get them for five dollars or whatever they are, that's a dollar pattern or dollar or garment, however you want to look at it. So here's our cute little dress. Love. Oh, look at the top. Wow. Oh, love that. Although she looks really upset. This looks great together. This by itself, I don't know. Where are the pants? Where are the pants? Look at the fit on her jacket. That's how it's supposed to fit. Not like the other one. The dress is cute raglan sleeve. Oh my goodness. It's like this woman who makes this capsule wardrobe is like a boss at work and then like the most chic, fun, cool girl on the weekends. You know what I mean? And then like, I don't know, goes to church or something. It's interesting. I don't know that I would wear the top or jacket. They're just not, they're a little too maybe 80s for me, but I love the dress. Obsessed with these pants and this jumpsuit is everything. The jumpsuit is everything. Golly. I could be convinced to like the jacket at the top. I don't know. Maybe it's just this. I do like them together, but look at the jacket over the jumpsuit. Look how cool that looks. I think that was our first picture here that I didn't really realize what was going on.  Not my fave, but that's, I don't know. I really like this one. This is a smart buy in my opinion. So all they're, they're not even separating them by garment. So you can make the dress, the top, the jacket, the jumpsuit, the pants from crepe, ponty or crepe back satin. But I mean, obviously too, you could like make this dress out of anything you would normally make fit and flare dresses from. You could make the jacket out of, you know, something like jacquard or, you know, something dressier doesn't have to be all the same fabric. But yeah, this is really cool. I like this one. Look at the line art again. I love a little elbow dart too. It's such an easy thing to add to the pattern. So few people do it. Oh gosh. Yeah, the more I look at it, the more I'm like, I need this. Even the dress is unlike anything I have. It doesn't even have a waist seam. But all this seaming gives you that fit and flare look. Cool. I like that one a lot. Okay, Claire Schaefer jacket. Well, I mean, everything's just very oversized. So we have a huge collar, a huge button, huge pocket. The fit is really nice. Notched collar, front and back princess seams, welt pockets, two piece sleeve, instructions written by Claire Schaefer. That might be interesting. Simulined, partially interfaced. No side seams. They have these side panels instead. Yeah, I just don't know if I like the very big details. The idea of it is great. It makes me want to go look at the rest of Claire Schaefer's stuff. But maybe not this one. I don't know. What do you guys think? Maybe if like, okay, go with me here. But maybe if like, you, I don't know how to say it. Like these bigger details might look better on someone with a bigger frame. You know, not necessarily plus size or anything like that. But like if you are a taller woman or broader woman, maybe these details would look better on you. I mean, this woman is just very thin and petite. And I feel like these are all overwhelming her frame. Like when I look at this, I just see the collar. Like I don't even really see her face. I just see the collar. Does that make sense? But I do feel like you would get a really well drafted jacket, regardless of the details, you know. Okay, a Marcy Tilton, I'm guessing this is like a cape. It's a coat. Okay, so we've got an asymmetrical hem button front, something going on here with a collar, cocked sleeves, drop shoulder. That's cute and like a little sweater knit. What is this though? What is happening here? One pocket? Okay. This is like wrap around, like no side seam, it kind of wraps around something. Okay, this is just, I can't tell whether that looks intentional or if it looks like you missed a button. You know what it looks like?  That's kind of what it looks like to me. But it is stitched down. So maybe, I don't know, it's hard to, it's hard to tell. It looks like one side has a side seam with a side seam pocket indicated by this line here. And then the other side has this wrap around thing with this kind of pocket. So that's kind of cool. I'm guessing these are just differently. Well, that's a different collar. I don't know. I kind of think it would be a really cool raincoat. You know, like making it, but the sweater knit version is really cute too. I don't know. I kind of, it's growing on me. It's definitely growing on me. This could be a really cool layering piece. Definitely visually interesting. Definitely not like stuff you find in the stores. This is a little bit tame from R.C. Tilton. Her stuff can be a little bit wild. But I think I like it. I think I like it a lot. I would totally make this. I love this version. And this is giving me raincoat vibes, which I think would be really cool. And then with those pontine knit pants from earlier and a knee-high boot, why not? That's a cute outfit. I like this one. Okay, now we've got Elizabeth Gillette. I'm guessing it's a hard G. Scarves, shrug, and kimono. So this must be the shrug. God, I haven't seen a shrug in so long. Oh, there's our scarf. Okay. Another version of the shrug, maybe? Okay. I'm just going to flip through these pictures. You guys can kind of get the picture here. What's happening? Well, it couldn't be simpler to make. She just did a really good job of finding very interesting fabrics. Is that purchased fringe? Yeah, fringe trim. It looks like macrame.  Remember that movie where she wears this dress? Baby. This is nice. I'm sad that they didn't make an actual sample, but I kind of love it. Where's the back? Oh, see, you would think the back was like a halter. I love it even more that it's not a halter, that you actually have fabric covering your back. You guys, there's really not much to take in visually here, but I really like this. Fitted, unlined, with length variations, has back zipper and hook and eye pleated bodice circle skirt, which you know I love, stitched hem and pockets purchased by his tape finishes arm holes. But PS, you could also easily make a lining for this more like an underlining, but with, but so like a lining because in a perfect world, you would have a lining that didn't have all this pleating in it also. But I don't know how to start drafting that. Maybe someone does, not me. I'm not advanced enough for that yet, but you could easily just make a second bodice and then sew them right sides together and turn them out like you would any other lining. Huh, this is really cute. Crateback satin, rayon shally, lightweight broad cloth. Yeah, silky, drapey, soft, flowy. Those are the kinds of fabrics you're looking for. Love it. I kind of love the gray too. Oh gosh, I'm liking a lot of these you guys. Look at this coat. I'm in trouble. Okay, buttonfront swing top. They're calling it a top there. Fine coat top depends on what fabric you use with raglan sleeves with variations. Okay, let's see the variations. I just love, love, love a funnel neck and I love a wide kind of baby doll silhouette. Oh my God. Okay, we just got transported to the 80s. Not sure how I feel about that one. That's cute. That's more of a top to me. Okay, so three sleeve variations and this one's definitely the winner. 100% hands down. I have to make that. Here are our line drawings. Love it. Broadcloth, shantung, satin. Yeah, you want something with some body to it so that it will keep this shape. If it's too drapey or too lightweight, it'll just fall close to the body. You want something that's going to kind of flare out. Two snaps, buttons, not a super ton of yardage. That's cool. I like that one. All right, now we've got a little top. There's a lot of patterns in this collection. This is cool. Pull over top with stand up, collar, neck facings, features, sleeve bands cut on the cross grain and bias overlay option. Okay, drop shoulder too. So this is just the base and then you can also add this overlay if you want. I mean, okay, I don't know. Sure, what kind of fabrics? Crepe Machine, Matt Jersey, silk broadcloth. So lightweight drapey type fabrics for the ones with the overlay. All right, here's a today's fit pajamas. Yeah, nightgown with fitted self lined bodice. Empire waist features gather skirt with length and fabric variations.  Contrast front and back skirt panels with scalloped lace overlay. Is that this? I know it's on the top.  Oh, it must be another version that we don't see yet. Contrast side panels on the pants. Let's just look at the pictures. There's our scalloped lace. Wow. Okay, it's cute. I don't know. I mean, yeah, I would wear, I do like wearing like longer tops to bed. I don't know about one with this much volume around in the skirt. This is too much. I would never wear that to bed. But I guess like a house coat like around the house, it would be cute. Great. The next page is a Ron Collins men's jacket. So we're not going to talk too much about this. I don't usually go into the men's patterns very much.  This guy. Wow. Okay. Anyways, there are way too many good options for all the patterns that I didn't buy in the fall. I think I bought one pattern from the fall collections. I will make up for that in this collection alone. I am obsessed with this here. I also really do like this with some adjustments, but I do like that one a lot. This one loves. This one's super cool. Maybe a make it work moment with this guy. There are so many. This top slash jacket, this dress, definitely getting added to the collection. So yeah, overall, I am really loving this. As always, I'm curious to know what you guys think. If you're going to speak about a specific pattern, try to reference something about the pattern. Like for this one, say the evening gown with grommets versus the pattern number, because I just would never memorize them all. And I'd like to know exactly, I just get a lot of comments. So I need to know what pattern you're talking about right away so that I can understand what you're what you're talking about. So reference something about the pattern more so than the pattern number. But let me know what you guys are loving. If anybody has any events where you think you might wear one of these gowns, please fill me in on that. I would love to know about your goals for evening wear. And yeah, that's going to do it for me. I presume there will be other winter holiday collections. Maybe McCalls might have one. Um, maybe they all have one. I'm not, I can't remember who does them and who doesn't. But hopefully, I can pretty much guarantee that we will have more first impression videos coming here very shortly. I am going to be planning a sew along for one of the holiday patterns. So I'm going to try and take in as many of them as I can before I actually have to make a decision in order to keep the schedule. I'm thinking that the first video will launch later this month. So stay tuned for that. Let me know what you feel about the Vogue holiday winter holiday collection. And I will see you all very soon. Bye.


What's up, how are you guys this week? It is Tuesday down at Frankie's Free Range Meat and as usual, we have some new stuff and a few things to talk about. Main thing is we did a huge price reduction on the eggs, about 20% across the board, so if you guys haven't wanted to try them, you can get 12 dozen on Frankie's Free Range Meat and we have smaller quantities available on frankiesfreerangefoods.com. Also from the Amish Farmers, we're getting in the dairy every week, so if you guys want the straight from the farm, milk, butter, and cream, it's in stock today, so we usually get it in on Wednesday and then we ship it out the same day as well as Thursday, so literally as fresh as it can be. So we'll just hop in the freezer, show you guys some stuff. It is Tuesday, so we sent almost all of the orders out yesterday, but we still have some orders to send that were placed on like Sunday and Monday, so you guys should be getting everything in early this week. We don't have too much new stuff in the freezer because we are getting in a delivery this week that will be some new stuff. So we restocked all the caviar last week. We got the salmon caviar as well as the one ounce American Sturgeon caviar. We got a good deal on some ground beef, so you know, we're happy to still be able to offer 80, 20 ground beef at $8 a pound unlike the other online vendors. If you guys do want the other grinds and that type of stuff, we do have like the 95, five lean blend, we have the organ grind, we have some ground wagyu. So most of the grinds are between $8 and $10 a pound. You know, we have the best burger blend here that's a little more expensive because we're using some steak and some short ribs. We also got the ground bison in. I believe this is $8 a pound too, so I'm happy to offer the more affordable meat continuously. We did restock the canoe bones that we were out of and the pipe cut marrow bones are on sale at about the same price, but you get one pound more of those. So a new product that we have not offered before is some ground beef heart. This is like a giant five pound chunk of, well, ground beef heart. This was intended to be pet food. It is technically not pet food. Like you could eat this yourself, but I don't see how someone would want to sit down and just eat ground up beef heart, you know? So if you guys do want some affordable pet food, this is around $6 a pound and for 100% grass-fed beef, that is unheard of, you know? If you go online and look for raw pet food, it might be five or $6 a pound, but it's definitely not grass-fed. So we have plenty of that for you guys as a pet food option, or if you feel like you wanna eat a lot of ground beef heart.  So it's like a kind of like a family or event serving size on those. So besides the sliders, we have half pound single patties available. I think we have a few of these, which are around four ounces each for two patties. Plenty of lamb stomach and stock. Should have the beef tripe this week. We got the individual portion goat testicles as well as the one pound goat testicles if you want something more affordable than the beef testicles. Still got some of the Iberico pork, plain sausage, and breakfast sausage if you guys haven't tried it. We did get some Wagyu ribeye steaks in. Had a pretty good deal. These are about $25 a pound. So definitely the most affordable Wagyu online. So that's everything on the meat end of things for the most part. We should be getting some restocks and a few new things as I said in this week. So definitely keep an eye out on the website on the weekend. And we'll probably send out a few emails as well. We didn't have time to make the new quinoa crisp bars, hopefully next week. But we do have the Pemekin. Now the last batch we did was a little high in fat. So this is back to like the normal ratio. We're kind of out of eggs here. We have a few duck eggs left and the chicken egg should be coming in tomorrow. I think we have a decent amount of quail eggs in here. You guys bought all of the roast beef this week for the most part. This is what's left of the dairy. We still got some milk, some heavy cream and some kefir. So just come downstairs real quick and show you guys a few things. Organ supplements, not much going on. We're kind of running out of all of the vulvine powders, just about out of them. Some third eye left. We might get in some beef testicles, not sure on that. Waiting on some masticum to come in but we still have a little bit left. The iodine is restocked. These just have to be labeled. And then as you guys know we have all of the other stuff. This is vitamin C, manganese, vitamin B7, B complex. You guys can go on the website, Organ Supplements, if you want to see the full range of products. Wi-Fi shielding, we're still pretty stocked up on all of the t-shirts and everything the head covers. I actually just refreshed my own personal stock. Yeah, I've been wearing like the same ones for a year now.  So definitely like hang dry them. I wasn't this careful. So I got on like two pairs of t-shirts and two pairs of underwear. One pair is like 95 to 97% effective. So if you wear two pairs, it's not really worth it but there is a slight, slight difference. And Frankie's Naturals, we have everything for the most part. If you guys haven't tried the new moisturizing cream formula, it is a little different. And now that it is getting warmer outside, the bug spray can be used for your body or around your house just to keep critters away. Yeah, so nothing super exciting going on this week. If you guys want to keep our Amish Farmer happy be sure to order some eggs. And as always, if they break, if there's any issues just email us, we'll issue a credit. We're also gonna just start buying the more expensive boxes to make sure nothing breaks under any. Guys, I've literally picked up these boxes. We'll do it next week or something. I'll pick up a box, I'll throw it against the wall and I'll show you guys that the eggs don't break. So they're like crushing the boxes or doing something in some rare instances. But if you do have any issues, just email us. We'll issue a refund. Still doing the fresh beef share, hopefully in a week or two. We need quite a bit more pre-orders for that. So maybe we'll send out some emails to get the fresh beef share in by the end of the month. And just a few new things in the freezer. But also the fresh dairy, if you guys want the milk butter cream, order it today, tomorrow, and we'll ship it by Thursday, Friday. So as always, thank you guys for joining me. If you could drop a like on the video, leave a comment down below. Make sure to subscribe and check that notification bell if you have not. And everything, guys, is on frank-to-final.com. You'll see Frankie's Surranged Meat, Frankie's Surranged Foods. Hopefully in the next few weeks we can completely restock everything as well as get a few new creative products in for you guys. Thanks again. See you guys soon.


Coordinated raids in Ondo, Aqaibom, Adamawa, Enugu, Bochi, Edo and Anambra states have led to the seizure of more than 8,000 kilograms of illicit drugs, including cocaine, heroin and tramadol. The raids were carried out by the National Drug Law Enforcement Agency, with no fewer than 15 arrests made. NDLA spokesman Femi Baba Femi issued a statement saying the operation began on August 1st and lasted one week.