C'est pour passer par l'authentification. Vous pouvez utiliser la fusée pour tester la stabilité de l'offre, mais aussi la sécurité et la création des softwares. Tout ce que vous avez fait dans le point de vue de l'offre, donc votre goal est vraiment de cacher le programme. Si vous voulez cacher, vous faites ce que vous voulez. Et l'avantage de la fusée dans la compréhension de statistiques ou dynamiques, c'est que la fusée est vraiment, vraiment simple, ce qui signifie que dans 4 heures, vous pouvez mettre la fusée et trouver la première bague. C'est très rapide, parce que la plus rapide, c'est de trouver la bague dans 1 minute ou peut-être 1 heure, c'est très très rapide. Si vous comparez avec les analyses statistiques, ça peut prendre beaucoup d'heures. C'est aussi efficace, parce que vous êtes sûrs que vous pouvez cacher le programme. Parce que si vous readez le code source et que vous trouvez un code étrange, c'est peut-être possible de cacher, mais vous n'êtes pas sûrs et que vous ne savez pas exactement comment cacher. Si vous utilisez, vous avez déjà des données pour cacher le programme. La fusée peut être utilisée sur le software libre. Vous considérez le target comme un black box. Vous envoyez des données et vous arrachez la réaction, mais vous n'avez pas besoin de lire le code source. Donc, c'est possible de tester le code source, comme Microsoft. La fusée est mon programme, mon projet. C'est un library Python, avec beaucoup de tools pour créer un processus, pour regarder les outils standard, pour regarder les logs, pour regarder l'usage de la mémoire, pour regarder l'usage de la CPU, mais il y a aussi 20 outils. Un outil est très spécifique à un target, comme GIMP, Clamavé et Antiriris. Il y a beaucoup d'outils différents. Avec la fusée, j'ai déjà trouvé des bugs dans beaucoup de software comme Clamavé, GIMP, GnuLipsy, mais aussi Python. La fusée est la main-target, c'est un programme command-line en Linux, mais vous pouvez aussi tester un network-server, vous pouvez tester Firefox, qui est une application graphique. Les différents input-vectors, c'est le command-line, les files, les variables, les sockets de TCP, les sockets de UDP, etc. Et les proches, pour regarder la réaction de la software, pour regarder si la software est encore en train, si ça prend beaucoup de mémoire, etc. Il y a des outils standard, les logs, les statuts de processus, ce qui signifie qu'un code de processus est tué par un signal. Et le networking est utilisé sur les services remotes, pour tester si la software est encore en train. Il y a aussi un debugger intégré, qui s'appelle pitton-projectress. La fusée, je utilise les systèmes approcs, qui signifient que chaque probe a un score, et vous faites les summes de toutes les probes, et vous avez le droit de l'approche, pour dire que si vous avez beaucoup de points positifs, vous pouvez utiliser un score plus bas, pour l'approche. Un score de minus 1, ou minus 10% est input réjecté, 0 n'est rien spécial, et le plus haut score signifie simplement un crash. Dans la fusée, nous utilisons tous les types de la génération de données. La première technique la plus facile est de générer une pure rondeur, comme l'exemple avec Netcat. Mais cette technique fonctionne seulement sur un software avec aucun QA, sans sécurité, qui signifie aussi qu'il n'y a pas d'utilisateurs. Nous préférons, en fusée, des données validées. Vous pouvez prendre une picture de GPEG, un film, un file, et vous réplacez quelques bits, vous invertez des bits, etc. Vous pouvez aussi tronquer le file. Cette technique est très efficace parce que tous les joueurs de la vidéo ont un crash. C'est aussi la technique la plus facile et la deuxième technique est de générer des données en utilisant un modèle, c'est-à-dire que vous readez la spécification d'un format, comme un format PNG, et vous générez des données validées, respectant la spécification. D'autres tests vont plus loin dans le programme parce qu'il vous plait les premiers tests dont le programme n'est pas valid. Mais le problème avec ce modèle est que vous avez besoin de la spécification. Un exemple de la première c'est le Python. La première étape est de liste tous les modèles Python. La deuxième étape est de liste toutes les fonctions. Et ensuite, vous faites un function call avec des arguments. C'est très stupide, mais ça marche très bien. Un exemple d'exemple d'exemple d'exemple dans la fusée, c'est le Clamavi Antiris qui a déjà été formé dans un bug critique. Le bug était dans un document de Microsoft avec un seul file de 10 kilobytes que vous pouvez cracher. Il y a aussi le Firefox d'exemple, c'est-à-dire que vous pouvez tester un contenu d'exemple. Donc une photo, une vidéo, un file d'exemple, tout ce que vous voulez. Il y a aussi beaucoup d'audio-video-players, comme gestream et des joueurs sur VLC. Une image banjique qui est une librairie pour convertir des types de photos d'un format à un autre, mais aussi pour modifier une librairie comme GetText. GetText est une librairie pour transler l'anglais en anglais. Et j'aime cette librairie parce que ça marche très vite et il crache toujours le programme. Il y a aussi Poplar. Poplar est une librairie pour displays votre GPAC, excuse-moi, PDF documents. C'est utilisé par Evans et finalement, il y a aussi printf. The printf generates random calls to printf, but with valid data and valid format stream. So it's a test to make sure that the printf works correctly. And finally, there is a further specific to one programming language like the Python one, but also further for PHP. With the Python further I found something like 10 bugs or maybe 100 bugs there are a lot of bugs in Python. And the algorithm is like I said, a random function call with random arguments. An example of fuzzy. So you just type the name of the further it generates a lot of function calls. Here I test Python 252. It test each each time it test a different module. And here we have a crash on a local module which is a invalid memory read from a new address. By default, the further stop at the first crash. So in six seconds it's already found bugs in Python. And when we have a crash the fuzzy stores all data in the directory. Here it's a directory Python-2. We have the project log which are all logs of the project. And a sub directory for each crash. In the directory name you have already the information about the crash. So first the module name underscore local but also the type of the crash invalid read from a new address. In the directory you have Python-5. We play the script to replay the session session.log is all logs from this crash, this specific crash. STDO is a standard boot etc. Here you have session.log It repeats the same information so invalid memory read. And you have also the score of 282%. You can replay the crash with replay.py The same crash with getText. It's very important to replay the crash because you need for example to run it in a debugger. If you add a dash dash gdb you are able to replay the crash in a gdb. And here you can generate more information for example the backtrace you can also read the assembler code you can type register etc. So here it's a valid read with the error x register which is new. And you have also the backtrace using where. So here you have a bug in the local module. We have some information missing because you need to recompry the program with debug symbols. Here it's the generated script to test the local modules. So they are only a random function call. For example here the local code with integrals. Then with a new cut string. Then with bolia etc. And we test all functions from the module with different arguments to make sure that python doesn't crash. When you have a crash, then there is a most important point to analyze the crash. So for the quitticity of an error the denial service is the most typical type of error. Which means that the program crash or the server stops to answer to the client. To measure the quitticity of a quitter like losting data you are working in a very important file and if the program crash you lost all your work. Permanent error means that every time you can if you quit and restart the program the error is permanent. And then the difficulty to reproduce the error which means that for example you have to set a specific variable of environment. You need a specific language you need a specific file so it depends on the error. And the second question is it a bug or a vulnerability? Vulnerability means that you can steal data so read anywhere in the memory or read anywhere in the file system or modify files so write for example you can interface a website or the most interesting point is to inject code so you can execute your own code. When I send bugs to the editors there are three different type of answers. The first answer is that we don't care. For example, the get text author just tell me that you want performances, you want get text to be very very fast you don't care to security. The second type of error is to apply patches. So the editor just take my specific crash and fix it but he doesn't try to test if there is a similar error. And the last type of answer is editor interested to test fuzzy or to test similar tools to test software quality and in my point of view it reflects project quality because if the project reject patch or don't care it means that the program may crash or has a lower quality. Some ideas to generate new faults that are not implemented yet in fuzzy we can use a fail memo lock it generates error in memo reallocation of to use a dev full. It's a specific device, you can read some data from this device but after 10 bytes it generates an error. Another idea is to the time jumps which means that you can change the system clock and it doesn't crash. You can also send signals process signals like seek user seek term seek fault or something like that. And also network fuzzers because fuzzy most fuzzy fuzzers are specific to program using files like gimp, flamavir etc It's very interesting to test network clients or test network servers. There are different further library explain later which are specific to network. Another idea for new probs. The probs for example code coverage can be very useful to make sure that we go deeper and deeper into the program because you must further only test the first phase of the how can I say that and only make sure that your file validity is correct or not. With code coverage you can make sure that you are deeper in the program. So for code coverage you can use JCOV or Dynamo Rio using Valgrind or Purify. Because sometimes the program doesn't crash but if you replay the same session it will crash because of some memory bugs. Fuzzy is only one library but there are a lot of other free software fuzzers like Sully, Pish and EFS which are the three most important libraries. But there is also Bunny, Flyer, Scapi Flyer is the most interesting because it uses Valgrind to make sure that you don't have some strange memory errors but it also use Valgrind for the code coverage. Last year Samozva presented Zuf and there is also Spy Compratus which are free software fuzzers. So we are using Fuzzy instead of another fuzzer. The first idea is that Fuzzy is my program so it's the best. But also that Fuzzy is very good to run it in a world night and collects data and it doesn't need human interaction because you can ask to stop after one crash and you can also ask to crash after 1000 bugs or more and it only keeps the success files which means the crash files related to a crash so if the session is not interesting the files are just deleted there is also a replay script so you can make sure that the program is still a crash or you can replay it in a vall grind and there is and Fuzzy generates crash information like in the demo you have the module name you have the type of the area you have also the environment variables you have a lot of information about the crash which is very important to detect duplicate crashes and safety because Fuzzy Fuzzy is running in a different user it is running under the Fuzzy user not your own user or a root user it is very dangerous to run further in a computer because it can delete any file on your computer it can kill any process it can write very stupid data in your file so it is very important to use a different user there is other protection like memory protection the fuzzing process is limited to 10 megabytes or a little bit more there is also protection about time which means that if the process is running more than 60 seconds it's stopped so to conclude Fuzzy is a distributor under the GNU JPL license it's running on Linux but you can also use on any POSIX compliant OS like FreeBSD but also macOS or you can also try to run it on Windows but there is no tool to test a graphical application there is no tool to catch message boxes so you may try other fuzzer like Fuzzy Fuzzy is written for Python 2.5 and you have the URL below so do you have any question yes yes the coverage of the program yes the question is how can I know that I tested all all specification of the file format for example if I test GPEG files there are a lot of different chunks the answer is that I don't know you have to it depends of the method if you inject faults in valid data you will only test this specific file so you have to use 10 files or more to test different type of chunks of file chunks and if you generate data using a model you have to implement the word format so you know that each type of chunks is tested yes the question is most typical cause of crash the cause is always the same you have to validate inputs it's very common on a web application you have to validate each field in the form the same in any program you have to make sure that the image size is between 10 or 20 but not 1 million or 4 million yes you have to validate inputs about the performances it's not true because you can add some checks it's very cheap to test that a field is uncertain interval so it doesn't impact the performances another code of crash it's simply bugs in program for example you allocate memory but you don't check that memory is very allocated yes the question is did I test to test fuzzy on fuzzy the answer is no I don't plan to test fuzzy because I know that there are bugs in fuzzy but I don't but I don't want to test my own fuzzy my goal is to test software like games or other programs another question I tried but I don't found bugs yet but there are different fuzzy like CisFuse which do random system calls but you have to generate a random system call it doesn't work you have to write the same structure because if the system call invalid arguments the inputs are just rejected but yes there are further for the Linux kernel but also for Windows kernel it's very interesting to test the kernel if you find a bug in the kernel you are more the root user you can do anything you want yes excuse me I tested Firefox but the interaction is very low because I run Firefox with an URL and then I just send a special key the F5 to refresh the page but testing graphical application is a little bit more complex because you have to script the action but most of the time you don't need to test a graphical application because for example for example to test KPDF or evens you don't need to test the graphical application I use the PDF2Text which is a command life program and if I found a bug PDF2Text I'm sure that evens on KPDF will also crash and for example for the Gimp I didn't test the graphical application because there is a command line it's possible to script Gimp with a command line and it's similar for most applications on Linux you can use a command line to test the program any other question the question is about the CPU usage I don't know it's usually high but it depends on the program for example if a program takes 10 seconds to open the file sometimes the CPU usage is very low but if you find a denial of service a really a crash the CPU usage can be 100% other question ok the future of the future here are some ideas to find more bugs I'm very interested in network further because it's a little bit more funny to test a program in a remote position there are a lot of ideas you can do anything you want without further the ideas to find new ways to test a program for example if you test image magic or firefox you can test the GPEG file format it's very interesting because it's already done by other people the idea is to test a rare format like svg or some video file format so I don't have a static plan for the future but there are a lot of ideas to go further other question yes why did I watch Fuzi I'm an hacker I like programming and it was easier for me to write a further with my own code because for other frameworks you have to learn how to write a further and also main further main further of this list are targets windows on graphical application or network application but I prefer linux command line programs each further has a typical target like Fuzi Windows target closed source programs Protoss is more network programs and Fuzi is more for linux command line programs yes easier question about Ashwa yes I wrote the question is is it a relation between Fuzi and Ashwa I wrote Ashwa it's a generic library to parse file format I used Ashwa to test rpm rpm program I compute the checksum in each rpm you have to check them as a different position so I use already Ashwa to test Fuzi other question yes the question is is it easy to write a new further for me it takes one hour to write a new further but most of the time the further is very easy to implement but then you have to analyze the crash on this typical point analyze crash takes more time writing a further depends of the interaction for example for Gimp you have to write a script for Klamavé you have to generate files on one specific program which is very easy so it depends of the target and how you run the program but usually it takes less than one day to write a new further it's very fast but the problem today is that nobody cares about security other question so thank you


Hey everybody, it's Eric Johnson from Air Today Throws Nation. In today's YouTube video, we wanted to dive into some practical tips that are really important for in season. And generally, as you're practicing and throwing, what is one of the key things that you do? Everybody warms up. And what we wanna talk about is throw specific warmups when we're talking our stand throws and half turns, we call them modified wheels or we're doing South Africans or we're going through what we call as pillar connection where we're putting our throwing progression together from the start of throw to the back. What is one of the core principles that I see wrong with beginning throwers that I think is gonna make a huge difference. Now, what we have to understand is the point of stand throws.  And I agree and there's a time and a place and that's what we're gonna do our meat comp, our pre-comp type warmup. We're gonna be working, putting a little bit more juice on it. But even then, in a meat, we don't wanna leave it all in warmups. We wanna be dialing everything up so we're gonna hit it so we're gonna control the number of warmups and that sort of thing. But that is in topic for another video. But today, one of the things when we talk about the key thing that young throwers especially need to be learning is how to move quickly and correctly. And by that I mean, when we start out with stand throws, we wanna make sure we're working all the right positions. And that means rather than just coming out and just cranking away and getting too active and not learning the patterns, the correct patterns of throwing, we wanna come out and we wanna make sure that we're setting our groove, where we call it patterning. We wanna make sure that what we're doing is we're feeling our block, we're driving our hip through, we're sequencing our delivery, our block arm, our block leg, and our hip and our strike if we're doing a rotational shot. Same thing if we're doing the glide. We wanna feel that lower body, feel that arm opening up and we wanna hit everything here. Oftentimes, you don't need big throws. You wanna set up a pattern that's training your body and that's gonna start to create the right rhythm. And very quickly, you're gonna be able to ramp that up. So basically, one of the things that's a very simple tip, it doesn't need a ton of explanation. We wanna show just when you warm up, you're taking easy throws, you're taking easy throws, you're setting the pattern, you're working on it.  So when we finish, we drive everything through. We can do non-reverses and what we're always conscious of is that lower body action and then the sequence of the upper body. So many young throwers are opening up and then they're just opening too soon, pulling forward and there's a right time to be active with the upper body and how to be aggressive with the block arm. But we always, in the beginning, so many young throwers are just too active. They're pulling the shoulders ahead. Their hips, they're pulling off of the delivery leg and they're not able to actually actively engage and create that right type of punching motion, whether that's the rotational shot, the glide, or the discus. So real quick tip in this video is just to remember, when you warm up, be patient, feel the right things. Are you on balance?  You're going easier, but your legs are quick. The block's connected. You feel that nice whip in the discus.  You're not pulling back. You're not falling off balance and that's the most important thing you want to do when you're warming up and very quickly from there. Once you set those patterns, after just a handful of throws, it's very easy to add speed and put more mustard or juice on your throw to hit those big throws, which is, of course, what we all want to do. All right, so thanks so much for watching. Hopefully you liked this video. If you do, give it a thumbs up, subscribe, and we will see you on the next video. Bye.


Welcome back to my channel, guys. It's your girl Coco Styles, and on this channel, we talk about beauty, fashion, lifestyle, and styling. Guys, I am super, super excited. I got in some really, really nice pieces that I've been wanting for a while. Well, one of them, I literally just got it off now. It took forever to come. And I'll say this, I have leather gloves already. Let me show you guys. They are not as long as I've wanted them to be. But they were okay. But I've wanted someone to make me some long gloves. So these are my current gloves. I just love, love gloves, okay? These are not long at all. I wanted some that came up really high. And let me just, and I got some big hands too, guys.  But what I wanted was something up here. And it's been years. And I believe I got these from, oh, these are from H&M. These are so old. And guys, they are 100% leather. I bought these in New York, like eons ago. So let me show you guys the first item that I purchased. If you guys can see, I got a new valet rod. I'm gonna link this valet rod. I think I have it up too far back because I'm kind of like taking away some of the space to hang, but I didn't want it like hanging off. I could have done it, but whatever. So I'll show you what I got from Kass. I don't know if you guys can see that, okay? And I'll tell you this. I'm very, I sit on things a lot, meaning I'll find another nice piece, put it in my wish list, and then I just leave it there.   I'm gonna get it. And then I always miss out. So that's what happened with one of the items that I have here. So the item, okay, let me go into that item first. So this particular item was a jacket that I wanted from, let me write in this stuff because the sun is going in and out and this is all the way, okay. It's probably gonna go in and out again. Let's focus, okay. And so the jacket here, can you guys see this? It's a bone color oversized lamb leather blazer. It's single breasted and it's from a brand called Lamarck, Lamarck, I'm gonna say Lamarck, Lamarcky. I don't know if I'll show you guys. Let me see. Okay, so I just wanted a bone color blazer so that's what I searched for. This popped up, it popped up on their actual website and it also popped up on Saqs, Neymarcus. I'm gonna try it on but I am gonna pop in a video for you guys. So here's what happened. I wanted the jacket, I'm gonna move all the way back. Oh, it's probably so bright. Gosh guys, it keeps going in and out and I don't want it to wash out the color of the jacket. It's gonna keep going in and out cause of the sun, darn it. All right, so it's a bone color jacket. Can you guys see that, right? The sleeves are long and let me tell you, I wanted a large and that's what I had in my bucket and the day I went to purchase it, it was gone. So the reason why I wanted to get it from their actual website because for whatever reason, it was on sale. I originally had it from Saqs, Neymarcus, it was 675 but when I did my search again, cause I like to search, it popped up on their actual website and it was 305. So it fits me nice because I got a medium. So the large was gone, the medium fits fine which is fine because sometimes oversize things don't really look the best on me depending on how it fits because of my breast and my shoulders. So I think the medium looks really good. I guess I'm gonna pop in a video so you guys can see this. So that's what happened with this jacket. It was on sale at the actual website and then I missed out on the large, so I got the medium and I'm so satisfied with the medium. They actually have another pretty color that I want. It's a really good quality jacket guys. There's four buttons here. Let me come closer. There's no split in the back, so it's just straight down. It's so bright, it's a bone color guys. Like it's super soft, they have spare buttons and I'll put the name of it in the description bar for you guys. But again, this is the company, the brand and I got a medium single breasted, two buttons. The pockets are not real so you cannot dig your hands inside them. Let's see. And I think it's actually a good size for me getting the medium and I'll show you guys the other piece. The other piece is just like, what is going on with this camp, this light? Guys, hold on, I'm gonna have to, you know what I'm gonna do? I'm going to close my blinds because it's this light here. Yeah, this light here is like, I'm sorry, this window is causing all types of, this, sorry guys. Well anyway, so that's the jacket. So I'll say this, if you see something that you, honestly, I've been doing this my whole life.  This probably was the worst one and it's because I don't know why I was sitting on it. It was damn near three, shoot. The other jacket was 675, this was 305, do the math. So I learned my lesson. When I see something, just get it. And I don't know why, I have no idea why. Maybe I'm sitting here trying to figure out where to go with it, but I should've just got it. Anyway, so here's the other item that I got from Kass. Okay, I don't, you kids can't see it, but this is from Kass and let me come back.  It feels really good. And these, okay, so the gloves. So what happened was when I was buying the jacket and when I realized it was out of stock in my size, they actually sent me a notification on this website. And I didn't see it to the next day. So when I saw it, it was still in my bucket, but it gave me a 30 minute countdown. So I'm like, okay, let me just get it now. Somebody already bought it.  No, it's set out of stock. And I was like, oh my God. So I was like, I was just so defeated. So I went on Kass' website and they still had it. So I think it was the last pair. And I got a medium large, I told you guys, I got some big old hands. So, and these are leather. They were 175, but I had like a cost coupon or something like that. So let me show you how these are gonna fit me. Now these, I just got these from the mail. These are gonna be so difficult to like, oh, did I have on? Let me take off my watch and bracelet because it's not going to slide. Let me pull them up. So I got a medium large. They only had a medium large and a small. Let me pull, cause they are rather long. Guys, look at this. Woo, baby. When I tell you, your girl is excited about these gloves. It's been years. I was trying to get my little cousin to make me a pair and she couldn't figure it out. I wanted a red pair. But these are awesome. So let me just rip off this other side and put the other one on. So in order to get them on, you gotta like start pulling from the bottom cause they are long. Now hopefully I can do it with this other glove on my hand. Let's see. Okay. And I don't want to break my nail cause they're so long.  Okay. Boom. I'm going to actually do a, I was going to just put the outfit on really quick but here's the gloves. My hands are pretty big but they fit me fine. You got the little thing here, the gloves and they come all the way up here. Now, if you got a skinnier arm, this is how they were on the model. If your arms are big, you may have a problem getting them up your arm. So, what do you guys think? These are, listen, I'm a person who loves to find pieces and this my friend is it. This light is killing me. I think I need to bring my box light back in here because just going in and out is going to drive me insane but yes guys, what do you guys think? Okay. I'm going to come closer. So, these are them. They're really nice. You guys know leather stretches but these are so me, okay?  That piece, absolutely, the second piece that I got, I love it. I absolutely, absolutely love it. Now, the only thing about it is that you'll see in the video, I'm probably going to tug at it a little bit because it's a little big in the crotch area. So, you guys seen the jacket? Definitely get this. My tip is, if you see something that you really like, Google the name of the item, it may come up cheaper on the actual website because most of the time they do have sales opposed to Neiman Market or something like that. So, here's the last item that I've purchased. It's an all white rompa and it has like cropped sleeves. So, like I said, I'm going to pop in the video. Same company, it has a belt and the sleeves are cropped. Again, you're going to see in the video how the front fits because it's kind of big, but I think I'm going to get my tailor to come in and do something because the crotch area, she may have to bring it up here a little bit. Just a smidgen. And I know she can, but I'll let you guys see it. You'll see it in the video. This was, let me see. Let me see if I can get the original price. The original price was the original price. The original price, don't kill me guys. So, let me see. What is it called? A romper. So I paid 270, but the original price was 675 as well. So, yeah, and they have a few colors. Black, white, and I believe, I thought I saw a blue, but I don't even see the blue anymore. And then the blazer was also 675 to make sure. Yes, they have a blue color in the jumpsuit, like a cobalt blue. And then the blazer, they have vests that are actually really nice as well. They have satin skirts. They have, what else? Blazer. It's on here somewhere. Anyway, so, yeah, I believe the jacket was 675 too. I'm almost 100% sure. 100% sure guys. So those are the items that I purchased. So I have the jumpsuit, the jumpsuit, and the blazer guys. And my friend purchased me my little valet rod. I'm gonna link the valet rod. So if you have the pack system, this is a 12 inch valet rod. Like I said, I do have it on. I don't know if I have it on wrong, or if I, I don't know, because a little closer up here, it would have given me more room, but I felt like it was a little bit more sturdy for the back. But that's it guys, those are everything that I've purchased. Let me know what you guys think once you see the actual romper on me. I'm not a person who likes to wear shorts and stuff. If I be trying to hide my legs guys, but I won't wear heels with this. I'll wear like some maybe like chunky boots or something because I'm not 100% comfortable in heels and shorts. So I'll do something to like kinda dummy it down a little bit, but you guys will see pictures of that once I actually wear it out. I haven't really been hanging out lately because the weather is just like all over the place. But this here is super, super dope. I'm probably gonna keep them wrapped in side like garment bags. I was actually looking for some yesterday on, uh oh, I was actually, this is so random. I was actually looking for some on Amazon because, sorry guys, I have, listen, that's where I got OCD, but when I start seeing my shirts and stuff like hanging out, I gotta take this because I don't want it to get like dirty or anything like that. So, sorry, so random. But yeah, so I'm gonna put some garment bags that I can use for like some of my stuff that's like light or color. I do have quite a few light tops and I'll try my best to like keep them as clean as I possibly can, free from like debris and stuff like that. But that's it, those are my three items, the jacket from LaMarque. I'm gonna say LaMarque, LaMarquee, maybe LaMarquee, I don't know. And then the jumpsuit and then the gloves are from Cos Guys. So that's all I have for you guys today. So let me know if you wanna see, I got some more things coming in because fall is coming. It's just a really good time to start getting your pieces. In Atlanta, you can still do shorts and stockings and boots depending on your style because the weather's so up and down. But if you are in New York City, you might have to wear a jacket. So that's it, that's all I have for you guys today. So if you like videos like this, please comment below. And if you stay to the end of this video, please comment, Coco, we see you guys. Don't forget to subscribe to my channel. And don't forget to follow me on Instagram at CocoStylesNY and CocoStylesNYC and my styling services, CocoStylesNY and my personal blog, CocoStylesNYC. And I will catch you guys in the next one. Bye guys.


what we're gonna do is we are going to share them with your triad. Let's keep in mind for triad discussions, key is everybody needs to contribute, okay? And we're gonna make sure that happens because you each have two minutes to talk to the rest of your group. One minute you're gonna talk about your similarity, and the other minute you're gonna talk about your difference. The timer is going just to keep track for you, okay? You need to cite your evidence, which is protocol number two. You've got to show specific by telling your evidence. What page did you find it on? What paragraph? Sew and talk about it. Now, if somebody in your group has that too, I want you to put two check marks on it. One check mark on your evidence flag if one person has it, two check marks if two people have it, three check marks if all three of your people have that similarity or difference. Does everybody understand what they're gonna do? Okay, all right. Six minutes, let's go. On page nine, paragraph one, I have a difference on line one, two, three, because it says, Daelyn Gawaghan used his great strength to reach beneath its roots, grasping the roots in his hands and braced his legs with a mighty push she toppled the tree onto its side. And in the Oneida version, his, the great spirit pulled up the tree from its roots, and in this version, Daelyn Gawaghan. I got one too, so do I, so we put three on here. Okay, Ashley, you can talk about it. Page nine, paragraph two, line one, six, seven, he was afraid to put Yojiji Sen into this blackness, but he knew if he ignored the dream, he would bring great troubles to the sky people. Yeah, and that's because in the other story, it did not say that if he ignored it, then there would be great troubles in the sky world. I didn't get that one. Wait, actually I did, but it was still on this one, still under three, three. I didn't have that one, so too. I already had three on this one. Okay, do you have anybody on Jacob?


When it comes to Dragon Ball games, I have played a lot of them, but surprisingly, I never played the first Budokai game. That's why I decided to go back and check out if this game stands up to the test of time and go through the entire Android and Cell Saga to see how they handled Super Saiyan 2 Go On. Oh, no way, they actually do, they do Freeza, they do Mecha Freeza. Ah! Do I get to play as Trunks? Oh, never mind. Ha ha ha! Man, this game, damn, this game is brutal! He just killed King Cold! My God! That was brutal! I saw the life drain from his eyes! Yardrake closed to looking good. Oh my God, they did Trunks 30! Bro looks like Cody from Zack and Cody! We'll die from a heart virus. My gosh, this game is graphic. They would never show a scene like that King Cold when I get in a game. Bye, see ya, bye! A new threat. Nah, I know these Androids, they're trying to pose up, these guys about to die. You know, you don't stand a chance against us.  Did you make sure to watch all of my battles on Planet Namek? True, true, though! Oh, we're kicking it up to Super Saiyan, a running! Ah, Cussing didn't show the hair change, lame. It does look pretty cool though, I'll give it up. I do look like a Lego figure, but other than that, it looks pretty cool.  Yeah, we've got to mess him up. Super Saiyan Goku again, don't give in to the disease. Goku's losing his health through the viral heart disease. Bro, take your medicine! It's fine, you know, we'll just have to deal with 19. I can't believe they actually put him in the game. I am dying. Oh my God, I'm going down quick. There we go, big kick. No, I can't take any ki blasts, 19 please. I'm running out of ki, I'm running out of health.   Bro's going to wall me out while my heart does all the work. Oh wait, I can't drop any health past this lo... I'll get him in the next one. I'll get him in the next one. Eww, what happened to my body? Bro, it's a heart disease. I actually do like that they keep all the unique losing dialogue. I think that's cool. I should just never go for beams. They can always block before that combo actually ends. Keep blocking. The key is don't let your health get too low. Every boss can be beaten in this game. I just blocking and waiting for them to punch first. Every single boss. And here I go punching first again. Alright, we have the lead. We have the lead. Remember, the heart virus can actually kill us. I'm not going to overextend. I don't want to overextend. There we go. The easy. This game is so easy. They didn't program the game right. Get him out of here. Get him out of here. Alright, well, I'm going to lose in the cutscene, though. Heart's kicking in. Help him. Somebody get him. Oh my God.  Oh, I don't remember that scene. Help! Somebody help me. Oh, that was actually sick. Stay mad. If anyone's going to defeat Kakarot, it's me. Let's go!  Robotic punk. No way I got a skill that said viral heart disease. Vegeta had finally transformed into a... Oh, let's go. Say the line, say the line. Tell me, does an android... Oh, who are these guys? This story just be skipping stuff sometimes. Oh my gosh. This game is... Oh, Sal's out there. Piccolo's merging with Kami. Trying to understand the story through just this would actually be insanely hard. It moves so fast. Every time Piccolo needs a power boost, he just absorbs another friend. Damn. I blew those clothes away. It could be so powerful.  Got him. All right, Piccolo's actually thrown. Now we just easy win. A wicked omen. Oh, that's fine, you can do it. All right, we finally made out to some random field. It's time to battle. You know, it's really been a long time. Sync with Nail, fuse with Kami, destructive wave. Special beam cannon. I'll be honest, though, that's a lot of inputs for a game like this. I think it was... Bop, bop, bop, bop, bop. No, no, bop, bop, bop, bop, bop, bop. Oh, oh, get out of my way. Let's go, special beam cannon. Ugh. All right, not as dramatic as I thought it would be, but that looks pretty cool. I'll take that. Now let me do it again. Now let me do it again, because I'm gonna get him again. Boom, actually, I'm just giving him the full destructive wave feat. Boom, take another one. Boom, how about another one? Hey, one more, sell one more. I'm sorry. Ouch. Oh, oh. Damn, bro's going for exclusively jumping spinning attacks. Boom, oh my God, this is too easy. Destructive wave part seven. How did he block that? Well, he didn't block that. Get out of here. We just ended the sell saga early, boys. No way we escaped in the cutscene. Just who do you think you are?  This game has a lot of, like, perfect Twitter react videos. I don't know how to put it. Nothing is going to get between me and the perfection I've come here to achieve. You are not getting the perfect form, at least not for another, like, four cutscenes. So luck. All right, I'm gonna be honest. If you're falling for solar flare, that's a horrible misplay. Sell power increases with each person he absorbs. Dragonball the breakers. Whoa, greatest transition in all of history. What is going on? Why bro's tearing out the window lovingly? Yeah, fine, GT. Damn, imagine your spouse leaves you like that. At some point you got to respond. Oh my God, that chin. Look at that jawline on 16. Nicky sell. Funny episode title. You're dead if you don't start talking. Oh, Piccolo's back. This was one of the greatest, most under appreciated fights in DBZ. Go ahead, post it on Twitter. I bet it will get no likes. We got a lot of Piccolo fights in this chapter. And you know what? I haven't, I haven't hit 17 with the, 17. Damn, he kind of nice in this game. Whoa, what a kick though. Who's there? Seventy, why? Throwing insults is not not giving that. If he knocks me out of the way, he is throwing me up against the wall to this. Bro's playing it like it's a second game. Damn it.  I just want to get to the funny cut scenes. No, no, I can wait. I can win it again. Let's go. Oh, damn it. Ha, ha, ha, wow. That's actually lower accurate. I can appreciate when the voice line is lower accurate, even though I'm not losing again. I can promise that. That was the craziest combo I've seen in this game. I've got the health lead. Keep him in the corner. Keep him in the corner. Oh, that was going to be a guard breaker though. Big combo could possibly, he doesn't get it. 17, he's down on his luck. Get out of here. At this point, I think we win automatically, so I'm just going to hit him with a demon energy wave. Never mind, never mind, never mind, never mind, never mind. Block, just remember, every boss can be beaten by blocking. Blocking is actually the most offensive button in the game. There we go, baby, it's easy.  I'm surprised someone as strong as you is in an Android. Ooh, ha, caught off guard. It's cell. All right, time to run 17. Ha, ha, ha, ha, ha, ha. How could you hate cells? Bro is just deviously waiting. I will have a soul in Android 17 and 18, and reach my final perfect home. Goku, you're back. Oh, dude, some of these cutscenes actually look really good. Like this, look, maybe I'm just getting a little crazy because I've been playing this game, but this looks really good. Goku and Gohan. They skipped all of that? Oh my goodness. Oh, graphic. In 10 days, I am going to hold a martial arts took. Ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, why you knock about and then say it over his dead body? Did you discover something of value in the hyperbolic time chamber? Yeah, my son can go Super Saiyan 2. It's Hercule.  Hercule will crush that sail like he's one of those peels, great. Yeah. See, this game is pretty stylistic. Look at the boys just watching TV. After 10 days of anticipation, the fateful day finally arrives. Okay, you don't have to have that mean of a look on his face. I look forward to this. Goku, I hope you'll make it. Yo, look at the gang. Look at the gang. Trunks still look a little weird, but look at the gang. Cells game begins. Right, let's get started. Step it into the ring. Goku's the first to go down. Well, that's really too bad. I was hoping I could save the best for last. I don't like that devious smirk. Let's go. All right, so we have every warp-com, Amiha. No shot. We actually got a new ability this late in the game. Punch, punch, kick, kick, E. I can do that so easy. I'm doing it right now. Punch, punch, kick. Wait, wait, punch, punch, kick, kick, E. That was normal, Amiha. Punch, punch, kick, kick, E. Punch, punch, kick, kick, E. Oh! Oh! Let's go! I'm out of the ring, though. Damn, that did so much damage. That was crazy. I'm out of... It don't matter. Cell got by. What a trade. I won. The Cell games is over. Goku takes it. Yeah, if I didn't quite well, but most of our powers are decreasing. What is wrong with Cell in this game? Goku looks upset. I'm finished. I'm done fighting. Cell. Bro surrendered. I give this bout to you. Well, we got warp coming. How may I go off? That looked pretty good. Now we're just signing Gohan up. This next round will probably be the last one of the tournament. Two-round tournament. Gohan, get in there. Gohan, you're up next. Come on. This is so hype. What? Let Bro in. Let him fight. What makes you think Gohan can do it? Let him in. Gohan possesses incredible powers, the likes of which we've never seen before. It was revealed to me for the first time in the hyperbolic time chain. Are we getting a flashback? Show me the flashback. All right, never mind. We only do a flashback. Get in there. This is your chance to bring peace back to the world. Got it, dad. I'll do my best. A warrior beyond Goku. Is this the end of the game? I wonder if this is the final mission or the one after that. Still super-san.  Not true. Let me fight. You might be lucky, however, because you'll probably be dead well before you discover fear. Don't point at me like that. Oh, we actually do get to play with Super Saiyan Gohan. Doesn't have any new abilities, but that's fine. I want to try a high-speed jackhammer anyway. Oh, we both touched it. Whoa, hey, hey, so what? The grab animations in this game are very funny. I don't like that Super Saiyan constant. Wait, Gohan's actually pretty good at keeping his stamina, though. All right, I am losing, though.  Oh my God, I'm getting hit with ultimate attack. That was not that ultimate, I'll be honest. If that was his ultimate attack, we win this. You know what, I'm just gonna win it now. Let's go. Nevermind, nevermind, nevermind. Oh, sorry, Dad. I don't like fighting, you know. Oh, nevermind, he just doesn't like fighting. All right, let me win this time. I'm done going for the jackhammer. I'm just gonna go for what works. Let's go. I can see through that attack. Utakai 1 is a very difficult game to play. Just always be blocking. Wow. Nevermind, nevermind. Eh, what happened? Why did he taunt against me in Cell's first form, boys? What happened? That was double insulting. Oh, from behind! You better watch out, too, because I might hit with the father-son. Yeah! Oh, Bro's back in level one. Where's that, Bro went to second form? He's choosing his favorite form against me. Why is Cell's Kamehameha blue? Nah, that would have actually made me upset as a kid. What do you mean Cell gets to have a blue Kamehameha? This is a close match. Please, thank God, I did not wanna fight that bug again. He was in level one, I was in Super Saiyan. Just call it a match. I bet he's perfect in the cutscene, though. Yeah, Cheater!   I'm gonna debate him to death.  Ooh! Ever since I was a child, I've had trouble controlling my temper. Whenever I get angry, I get in fights and I have no control over my powers. That's why. That's why dad wanted me to fight you. That was a very nice monologue.   Whoa! Did we get to play another minigame? I feel like there was... The Raditz minigame at the beginning was a rare, like, occurrence. That never happens again. Oh! This game is brutal! My God! While trying to infuriate Gohan. This isn't what happens in the show at all. Unless Hercule throws the head of her... Oh my God. They ate him! Damn!  Stop the fighting! That one kid, that one kid in school. Gohan! Wow, they gave him a robot voice. There is nothing wrong with... Why did they give him such a robot voice? I know how you feel, but you can't hold back any longer.  Ha ha ha ha ha ha! Ah! Damn! Okay, show us Super Saiyan 2. Damn! Gohan explodes. Let's go!  Why are you trying to shuffle away like he's getting anywhere? He's done. Ah, nah, he's done. Don't even try it. I have to fight a Cell Junior? This is gonna be embarrassing. Fight through waves of battles? All right, give me waves of Cell Juniors then. See what happens. You got red health. I have to destroy seven of these guys? Guys, I know I'm a Super Saiyan 2, but you really didn't give me any power boost. Next! I have to get through seven? Seven of these things? I can't believe that's seven health bars. Next! It's not even like they gave me a Super Saiyan 2 like crazy power boost. I'm just the same guy with the same amount of health. Thankfully, I'm that guy. I haven't gotten hit by any of these things. Oh! Get away from me! Hold on, hold on. Another one. Three left. It's like I'm fighting a normal health person at this point.  There we go. If I see an opening, I take it. Give me that. That's another one down. Not the most exciting. I would have rather done like a mini game where you have to point and click. I think that would have been a lot cooler. Jesus Christ.   Not a ton going on with the Cell Junior fight. Oh, but the head turn back was kind of cool. And the last Cell Junior, I've been waiting for him. Are they even gonna get me out of green health? I still got a speck of green. I still got a speck of green. Somebody stop me. They, okay, they stopped me, but fine. You know what? It's fine, let me back up. Die. Ha ha ha! All right, Cell. I killed that many Cell Juniors just to get to you. You seem quite confident for a toddler. Ha ha ha ha! Cell is funny in this game. You have a chance against me. No question about it. Ooh! They are making me spam fights with Super Saiyan 2 Gohan. Give me a new move at least. The game hasn't changed. Damn Cell. Why are Cell's legs built like that? Is this what perfect form Cell looks like? Like actual 100%? Why does he get a blue Kamehameha though? That's actually still making me mad. That means the technology was there for all the Kamehamehas to be blue. Cell is rocking my, damn. Damn! I've dropped into Super Saiyan 1. It's over. It's over. Wait, behind the back. I'm not losing actually. Super Saiyan 1, I don't, I'm gonna do it in the next one. Darn, that's the ground too much. Darn is, ha ha ha! Darn is right. All right, now give me this. What? There we go. There we go. Get some chip damage in. There we go, trade. Trade blows, take your turn.  Remember, there's no reason to rush. We're probably gonna fall out of Super Saiyan 2 anyway, so there's really no reason to, God damn it. We traded. We're close. Oh, he went for the big time. We have the lead. It's not necessarily exciting. That doesn't, that doesn't matter. It doesn't have to be exciting. There we go. We saw the opening, and it's over. Cell goes down to a toddler.   Ha ha, is he about to do the iconic line? Ah, he's gonna say, he's gonna say, he's gonna say it. Your turn! Damn, this cutscene actually looks really good.  Go on, broke his jaw.  He's transforming back to his previous form. Ah, it's free now. Oh, he's shaking in his boots. What is happening? He's having a venom breakdown. Hey, they animated this pretty well too. This game, you know, this game was pretty good. I'm not gonna lie, this game was pretty good. Is nobody gonna stop this? Oh, they're doing the bye guys scene. What am I going to do now? Oh, this game is pretty good. You did a great job, son, but I have to take it from here very much. I brought you something. Oh my God, with this game I was half expecting him to actually show the full explosion and everything. I wanted to see Goku get or visorated. Man, go on as mad, I get it now. Uh-oh, calm down, Vegeta, Jesus. As long as the nucleus in my head is intact, my body can continue to regenerate. And I should say the thing of his most recent rebirth, he did. Thanks to the Saiyan cells in me, I grow stronger after every mere fatal injury. We're cucked, we're cucked, pack it up. Oh, it's the final battle. Oh, it's over. Tell me we actually get Father, Son, Kamen, as an ultimate. That would be nuts, give it to me. Sometimes this game looks good. I keep saying it, but I'm impressed. Hmm, isn't that curious. Are you feeling okay? Sir, good enough to avenge my dad. Damn, alright, he's just happy he gets a second chance. I doubt you know what you're up against this round, little man. What, we just get super kamehameha? I wanted no, Father, Son, please, at least they gotta give it to us in the cutscene, please. I don't even remember how it's done. Bro is just, they made perfect cell buffers. Look at this guy. I'm back in base. Super Saiyan 2, we're back. Perfect form power weighted. He went even further beyond. He is, he is massive. I hate when moves start with kick, man. I'll avenge dad myself. He keeps pushing me so far out of range. I can't do anything other than the punch. Something that moves me forward enough. Open up your defenses cell.  Jackhammer. That wasn't super kamehameha, though. He's back to base. He did it again. If I would sell out, it'd be so pay- Oh, I'm back to Super Saiyan. How are you not dead? Oh my god. Please just die. Alright, we're both in base. This is no longer the dramatic fight. Any Super Saiyan could take both of us out, but I'll take it. It's over. Give me the Father, Son cutscene. I promise you this isn't over. Oh my god. Gruesome. That's even more gruesome than the anime you could see is blood. And it wasn't either. There was no dust. He just shot him for no reason. That, that was called the final battle. Why am I still playing the game? Trunks is dead. No shot.  Watch out. Go on. Nudge clutch. Come on now, though. Oh, we're not, we're not playing anymore. That was the final battle. It's all cutscene. Goku. Have your son to... There we go. Let's go. Dad, is that you? Are you there? I'm not with you, son. Someplace else. Aw, he's dead.  Kamehameha wave? If you're going to use the wave, at least say Kamehameha. You can do it, son. Just have to let go. Then help out Piccolo. Keep saying that. Instant transform back to... Ouch. And I think it's all over. I think that's the end of Budokai 1. I've never mind. Hold on, hold on. We got one more cutscene. One more cutscene coming up. Hey, everyone. It's Goku here. Kinkai is letting me talk to you from other world right now, so I really don't have that long. I remember, Bulma told me something a long time ago about how it seemed like I always attract the bad guys. And when you stop and think about it, in a way that's true. I think the world might just be safer without me. Ew, look at Trunks' face. Why was he flying like that? Don't worry. We'll meet again one day. I'll be waiting for you. Bye. Bye. That's how the game ends, by the way. If you only played the game, you thought Goku stayed dead, and that was his resolution to everything. That was crazy. A pretty good game. Oh, we got credits. Yeah. Hey, I'll give it up. The cutscenes in this game were actually really, really good and actually truthful to the manga. It was kind of nuts. I'll give it up. Hopefully you enjoyed this trip down memory lane with me as somebody that hasn't played the first Tenkaichi game or the first Budokai game, I should say. You know, it was a lot of fun, and I'm glad I did it. Hopefully you guys enjoyed it. If you did, like, subscribe, and I'll see you in whatever game we're playing next. Bye.


Good evening, I'm Alameda Adiyami and this is the News Now. The Amal ritual kicked off at various Muslim praying grounds today across various states in Nigeria. There can be also known as Salah as the Feast of Sacrifice of the Famile Right of the Amal Hodge in Saudi Arabia today. And also the Pastimbole to Naboo says Nigerians must make sacrifices for the prosperity of the country. To Naboo spoke with reporters today after observing the Eid al-Adha prayer at the Dodden barracks prayer ground in Lagos. The prayer session was attended by prominent politicians including Fermi Beja Biamila, the Chief of Staff to the President, Nafir Rebadi, the National Security Advisor, the Batumi Fashala, the Minister of Works and Housing, and Mouda Shuobasa, the Speaker of the Lagos State House of Assembly. In the country, have faith in yourself, believing that you, you, as a citizen of this country, you must, you must join hands, no religious identity, no tribal identity. Live with one another, enjoy and prosperity. It will come. Nigeria will see peace, stability. And God will grant peace to those of us who are in the war front, who spare their life, who give them food free, those in the hospital, who give them soccer and peace.


All right, welcome to the June 27th, 2023 Aries Cloud Agent, Python user group meeting. Big agenda, lots of things to go over. So we'll be talking about a pile of things, including probably the main topic getting an on-credits rust into Akapai. The meeting is being recorded. So we will be posting it after this. The meantime, a reminder that this is a Linux Foundation Hyperledger meeting. Linux Foundation meetings have an antitrust policy in place, as well as the Code of Conduct for Hyperledger is also in effect, please be good to one another. Anyone who want to introduce themselves that's new to the meeting and wants to talk about what they're doing, wants to make an announcement, or would like to add something to the agenda. Please raise your hand or just begin speaking, and we'll go in turn. All right, nothing to announce, nothing to. It is summer season getting started, so there's not going to be as many things going on. All right. Reminder about documentation I have an idea for some more documentation to talk about hopefully we have time we'll see. All right. On the agenda Akapai release 8 to RC one has been completed. It was just released a few minutes ago so it's out and available. It's just a minor update. There is one more PR that we're we're considering merging prior to the final 082. I'll wait a little bit longer but that may not make it so we'll see how that goes. But if we decide not to include that one as soon as we've had some smoke test done on this 082 RC one will complete 082 and release it. Any other PRs that anyone desperately wants into 082, if there's anything to highlight, please let me know, or and let us know now. Happy to have that. Oh, we have another AI assistant in the crowd I wondered about that. Oh, well, I guess we'll leave it. I'm embedding an on credits rust in Akapai I wanted to give an update we had a meeting yesterday on on where we are with BC governor DCO to talk about the code with us so I was going to talk about that. Daniel I had a presentation that I thought I'd go through this sort of summarize our meeting and please jump in if there's anything you see that's incorrect. Or needs adjustment but in the meantime I'll go I'll go through with that so we've had a goal for a little while now that we have an on credits dash RS so the hyper ledger and on credits implementation in Akapai. This talks about where we are and where we need to be. We posted a code with us and DCO has it a PR was awarded to a DCO and that team's been working very hard on that done a lot of work. The PR submitted for merging and we've decided to merge it into a developer branch it's not quite ready for merging into Maine. This will be, I think likely is a extremely likely to be a breaking change. And so we're talking about now exactly what that means and how how much of a breaking change will be the maintainers recommended to make it a breaking change that that we were probably holding on to too many things to try to make Akapai backwards compatible in certain areas and so it was time for a pretty significant change. Or if this is likely a place where a significant change would actually be helpful to everyone versus a hindrance. Obviously, we want to keep things as backward compatible as possible but just there comes a time where it's it is a bigger problem to try to maintain that versus moving forward with a breaking change. Here are the things that we're proposing that be breaking and non breaking as we go forward so we want to minimize the changes the issue credential and present group protocols so basically the interface between an issuing agents and a holder between a holder and a verifier we want to minimize those changes so we want the protocols to be to remain the same. So basically hold your nose and keep the name of Indie attachments. So even though it's Indie attachments versus and on credits we would we would retain that and basically cover over any difference in the use of legacy Indie adapters identifiers and all other identifiers so basically when using legacy Indie and where issuing credentials or present proof. So that would remain the same and so that if we interacted with a older version of occupy, there would be no difference and so that is the, that is a big interface that we want to keep the same. So that would remain. I think we, it would be best to drop the legacy and on credits admin API's and, and add. Oh, yeah, legacy and on credits admin API's and add new, whoops, sorry. And add new and on credits API's. So basically that means drop the scheme of the cred death and most of, and perhaps all of the revocation endpoints. So those would go away and we would add a new and on credits API. So basically instead of there being a slash schema slash create or a slash schema, a get slash schema, or a get slash credit after these would be an on credit slash schema and on credit slash credit death. So that would be the idea there so that would require the recoding of some of controllers, basically, to upgrade to the new release. So that's a big change adds an on credit and on credits API so adds those endpoints revocation I want to talk about a little bit separately. So we'll get to that in a bit. So the idea would be enable upgrading an existing by implementation storage to the new breaking change version so the idea would be that when a implementation of occupy with a controller is updated together. That there would be a way to upgrade the storage so that the the instance could function with the new release. In doing that there would be no special support for unlikely to be special support for a multi tenant occupy implementation. So, basically, you would not be able to do something like pick and choose which tenants get updated to the new storage. All controllers would be updated together for the to the new version. Storage for all wallets are updated. That means storage for all the wallets are updated during the deployment of a new version which means all controllers would have to be updated when a multi tenant updated. So the ramification of that is, if you had a multi tenant instance that had different controllers. For the different wallets. All of the controllers would have to be updated together. Not individual ones. If, if you're trying your instance all use the same software. The controller was the same that that's easy and and you know no different from from a single single tenant version. If you actually had separate controllers for different tenants, all of them would have to all of the controllers would have to be updated together does that make sense does anyone have any questions on that. I don't know how many people in the community would have that issue, but be aware of that. We do want to retain the endorser implementation. As much as possible hide endorsers from the controller in that, in that the controller doesn't have to do anything that endorsing would take place within acopi and the endorser would just basically be configured for an agent to say I'm going to use an endorser here's the endorser I'm going to use and stuff would just happen and the controller would not be concerned with it. So that should happen within acopi. Revocation. I wanted to get into a bit of the history of revocation for those not aware of it and then the plan for going forward. Luckily, the first the first implementation of of revocation required the controller to do all of the work. So whenever revocation was needed. Support was added in the credit app then every time a new revocation registry was needed it, the controller would have to say hey go create a revocation registry when when we wanted to publish a new revocation registry entries the status updates that publishing had to happen the controller had to manage that hardest yet, even of those things was tracking when a new revocation registry was needed. And so, and that was the big one that sort of triggered to us oh my this this was not going to work. This is too painful for the controller to be able to do that. So, we moved away from that. In addition, when endorser functionality came in that also all had to be done. Essentially, the controller was doing it and again that was difficult to manage for the controller. So what we want to do is where we are today is we want to continue that which is when we did the second implementation of revocation. So, ACAPI does the work and the controller only does the things that trigger ACAPI to do things so that the impacts of revocation should be. I'm going to support revocation during the credential issue and setup so every time I create a credit def or a new credential type. I'm going to say whether I'm going to support revocation or not.  And that's it. The controller needs to track the revocation ID for credentials when issued so the identifier that is necessary for when a credential is to be revoked. When necessary obviously the controller needs to revoke credentials and they would use that revocation ID to do so. When they do that ACAPI is tracking the state of the revoked credentials the fact that they've been revoked. And finally, the ACAPI instance the controller needs to publish trigger when publishers publications of revocations are done. And again, this is on a per credential type so it's for say up I want to on a on a credential type I want to revoke I want to publish the revocations and that could result in needing to publish multiple you may have multiple revocation registries that that have been active at various times, and they have a backlog of revocations to publish that means that could be multiple transactions to be written. All of that all of that detail beyond these four trigger points is all managed within ACAPI and we want to keep that so the controller's life is simplified to supporting what's necessary for revocation. Right now, when we implemented that second implementation we kept the admin API for both modes. So we kept all of the revocation endpoints so that the controller could manage everything itself. Probably that wasn't the best idea. The plan now is to only keep the ACAPI does all the work mode. It's much easier for everyone for for ACAPI and for the controller to just say ACAPI manages the revocation work and the only input the controller has are these types of are these actions that can be taken.  So this actually could work for any credential format which is kind of why I was suggesting that the revocation endpoint may actually still exist. And because it is generally useful basically the only two things you do in the revocation endpoint is you revoke credentials, given an ID revoke credentials and from time to time publish revocation updates, publish them out to some other place. That really could be done, regardless of what revocation scheme or even what credential format you're using so I don't know if we're going to get to that generic but that that is something to consider and and think about as we go forward with this.  There's some issues that were raised into the and on credits rust implementation for a couple of things. No effort has been made to eliminate any no longer needed admin APIs and endpoints. So I think it would be wise to do that so at least the elimination of the endpoints and then look at what code needs to get eliminated as part of that. We do need migration plan for issuers holders and verifiers which is the migration storage scripts. Depending on, you know, what the new storage looks like what what needs to change what additional data needs to be tracked or generated when doing an update. And finally, the DCO team has got a pretty significant all in one test that is being used but that is sort of a standalone test for all of the work so that test needs to be added to the core integration tests so that, at least that one specific test and probably other tests need to be added I think those are the major elements. There's a couple of more. Oh, big one. That is the big one. Come on. Accompany does it all revocation so we want to get rid of the endpoints that allows a controller to manage the revocation all on its own, get rid of that. To simplify, ideally the endorser support some sort of plug in that sort of says, oh, I'm going to call endorser, I'm going to call the endorser on pretty much every publication transaction and if I have an endorser, it will be used and if I don't.  So, put that in. And then the other thing is, in addition to legacy indie support support for did indie and did web implementations did indie would be used for instances of Indie that are able to support did Indie. Indie VR capability and and implementations and support that and then did web should be a pretty trivial implementation which is basically a transformation. Basically being able to do posts. To URLs based on what the did web identifier is that that basically results in files being loaded to a web server. So there will be an implementation of some sort of registrar for for did web. And basically that would need authentication to be able to post a file, you know, to a to a web server, and then the resolver that simply converts a did web. Did did URL into a HTTP URL. So that's the cleanup. And I think that's all. Nope, looks like. Yes. Areas RFC changes, the Indie attachment I mentioned that earlier. We will retain the Indie attachment to be at least the Indie were Indie changes to an on credits. So this needs to be added to the areas RFC. So that we sort of deprecate the Indie attachment and add the an on credits. The interesting thing is that don't support an on credits format on receiving an attachment in the on credits format would send a problem reports and hey I can't handle this. Likely it would be fairly easy to say, Oh, I got this an on credits attachment but that's the same as the Indie one so I can use that and vice versa. And I think that's that the an on credits format could also be the W3C format attachment. And so if we were to complete the formalization of the an on credits data integrity proof. We could actually use the existing W3C format that is used for JSON LD. We could use that in use that for an on credits so that's another possibility that is kind of interesting. And I think that's all I had, I didn't see hands raised or questions so there we go. Tim, I can't hear you Tim go ahead. Thanks my house is that better. There we go. Yeah. I'm really excited about the revocation changes on experience and trying to work with issuers we gave up trying to explain to them how to manage their location registry so we've actually pretty much concluded we needed to write something ourselves to manage it so this is. That's really good. Just one real quick note you had renovation in the title not revocation. I will fix that. But anyway, really good. Thank you. That's interesting. So we've. So you were actually trying to use the controller doing the revocation like all the pieces. Yeah, we tried basically in one of our pilots we had the issue and we have no for the early tests we were managing themselves then we try to get them to write in the controller and they just push back so heavily. Yeah, yeah, it's not our business. Why are we doing this and I agreed. So we kind of we dropped it. Yeah, yeah. We do have this fully implemented and we use it all the time. So, you know, this idea that acropi handles at all is shouldn't, you know, is implemented and should make it a lot easier. We even have a feature we ran into a situation. Those may not be aware we ran into a situation where a wallet got out of sync with the ledger as far as what was revoked and what wasn't. And we were even able to put in a correction that allowed us to re synchronize. So basically, if, if the, if a rev, a publication of a revocation registry failed. We would actually detect that and correct the revocation so that would took a little bit of work took a little bit understanding. But we got it so that we were able to do that. So that would, I believe that would continue to be a feature and the goal of this. Any other questions or comments and Daniel, how did I do. I think that was a really good summary. I don't know. Now's a great time to talk about it, but just because it was fresh on my mind. That last point that you raised talking about the non creds in W3C format and using the LD proof VC detail. Format. So I actually happened to do an evaluation recently on on what it would look like for an on credits to be in W3C format and be exchanged over the existing issue credential and present proof data calls. And the LD proof VC detail attachment format is pretty specific to linked data proofs. So my conclusion as I was going through that was actually that we would probably need a different attachment format in order to communicate about the non cred specific credential and all the things that factor into that. So, be interested in how you came to that conclusion because our conclusion is the opposite. That's funny. Okay, I have a document I can probably share with you and, and you did look over Andrew's work that he did in that. Yeah, so it wasn't so much that there was any issue with the actual format of the credential itself or for the presentation itself, but rather, how we expressed as an issuer. What was to be issued using the only proof VC detail attachment format, it was just, it was a little bit of a, a contortion I suppose to. Okay. Very interested in that. Yeah. And aside from that, I also wanted to mention that I have created a project board for some of those remaining items that were discussed in Steven's presentation. I've been going through and populating that board with a bunch of stuff. Yeah, and we'll continue to do that and add some more details to those tasks. So that's out there and I think it's to it from the agenda. Oh good. Okay, and I'll add my presentation renovation and all to the agenda as well I keep forgetting to do that when I do these presentations so. Okay, any other comments from anyone. If anyone is interested in this is a chunk of work that needs to get done. We could definitely use others joining in and helping out with this the reason we put it into a developer branch of branch off main was to enable multiple developers to be able to work on it. Do merge requests pull requests into that. Into that new branch in preparation for it going into main we do. I'm a huge fan of not having developer branches and doing development on the main branch so I do not like to see that active separate branch so we could really use some help at getting that completed and getting that work done so. If anyone has is willing to help out on that we would very much appreciate it. Okay, whoa, where did I go. That was unexpected. Oh, that's why I keep forgetting when I leave it in that mode. Okay. Let me get back to the agenda. I'll probably talk a bit about this tomorrow on the areas working group call I'm not sure updating areas mediator service given the open sourcing of DCO socket doc. My plan was to put in some some issues into areas media mediator service. And to talk about how in DCO socket doc which they announced last week and open source last week could be used. I think it's a huge improvement in how that's going to how an areas mediator can be implemented so like to see that done. I'm assuming that, you know, in the in DCO socket doc picture they just put mediator cluster. That could still be an acupy cluster and so the goal would be to put that in place I think we recently done work to enable the use of Redis and cash consistency using Redis in acupy such that we can have horizontally scalable instances in cases where there is no Web sockets involved by taking Web sockets out of the picture putting them into socket doc that we can have a scalable areas acupy mediator client once we add the connection with the HTTP based socket doc. So that, you know, is is going to be a key goal so those interested in working on that. Please, you know, raise your hands as I say I think we need to get a lines and boxes picture of what it's going to look like but I think with socket doc in place it's much much easier to have areas mediator service implemented. What other thing we want to do and I realized that there's a little bit of work to go in there but we've had a couple of our developers that work for companies that do not allow the use of n grok on their systems. Oh, Jamie. Sorry, go ahead. Oh, it's okay I just just raised it now. I happen to be working in this space like right now. Not to sort of the Redis area like because I'm trying to set up a Web socket and get rid of the, you know, pulling feature. So I would be kind of interested in. Okay, the date in this, in this spot. Yes, I think. Yeah socket doc in managing Web sockets is going to make a huge difference so definitely if you're working there let's let's get you involved in that. Thanks. Good. N grok. So we use n grok in a lot of issue in a lot of developer demos and developer setup so that a developer can have a local instance of occupy and expose a public interface to it, a public endpoint so that other agents like wallets and things can talk to it. We use n grok for that. And one interesting side issue if anyone knows of, you know, people looking for a getting started project this would be a good one which is to actually use occupy as a mediator client and to have the mediator be the endpoint. So use the for example and dco public mediator that is, you know, a sandbox mediator that you can use, configure your occupy agent to use it and and then be able to basically be able to use that as as an as the endpoint for your occupy agent it would be public. By default all your messages would come in through the mediator, and you would not have to use and rock anymore so it is something that I kind of have a goal that we would eliminate the need for n grok for that purpose so keep that one in mind. As we go from what I understand occupy is not does not have the I believe it's the pickup to algorithm Daniel, if you could correct me on that as a mediator client so that would have to be updated as far as I know. That would be correct. So as a, a quick kind of follow up to the question of in graph and using occupy as mediator client. So, quite a while ago actually, we threw together a quick project that basically puts another mediator into the mix, which sounds complex but it actually ended up being cleaner at that point in time at least first implemented that way as opposed to turning into a mediation client so that that mediator would sit alongside your occupy instance within your firewall within your network, whatever. And that component would pull and receive messages from a mediator that is outside of your firewall so a public mediator and then forward those messages on to the occupy instance. So, it turned occupy into being able to be capable of being a mediation client without needing to implement it directly within occupy, and we've been using it for quite a while, and it's been pretty reliable and useful for us so that's an option. I still, I still think there's value in in occupy directly supporting that capability, but I think there's also the question of whether we want to have that complexity into occupy and that whole question. So, yeah, I think there's reasonable debate to be had there on the best approaches. Okay, I'm not sure why you would need that because if you know if you've got an external mediator all you've got to do as far as I know is is configure a startup parameter so that occupy uses that external mediator. The issue that we ran into at the time was in order for occupy to hold a Web socket open to the external mediator or to pull from messages there was going to be an amount of work required in the inbound transport, which. Yeah, again, at the time we determined it would be quicker for us to just kind of thing that to care that for us. Okay. Yeah, I mean I, the issue is more and rock and Tim's raised that there's another diode.io the problem with any of these things is basically and rock or or equivalence creates a hole in the firewall and companies don't like it when arbitrary holes can be punched into the firewall of their organization. So, that's why, you know, using a mediator basically just uses HTTP and eliminates the need for for a Web socket so that would be the aim for that or sorry eliminates the need for punching the hole in the firewall. I don't know if, if, if how, how that affects things so yeah. And agree again bring your own device that is what most of us have been doing but some people on our team are not able to do that so there you go. All right. Let me check here. Where's the last Jason Syrah talk you are here. Excellent. Progress on did pier two and three in acobyte screen. Yeah, I don't need to share my screen now but I can just put a quick update. Yeah, so look at that. I'm going to use two and three specs. I'm starting with just did pure to Sikpa labs has a Python period library that was not around the first time change out with this. So, I've been looking at a great with that which has been a great resource to deal with some of the number crunching in the document construction itself. So that's a good thing for the community to be aware of. And similarly was some conflicts between what any did could be and it did peer spec, the, the actual reject says defined by the specification were not compatible. So after some discussion and some updates. The root of that issue is that did pure twos can have service entries, which are base 64 encoded JSON. You may end up with some paddings, which is usually an equal sign. Well, equal sign is not a legal character under the did spec. So that was causing some confusion, however, resolve that and the, the guidance and instructions going forward is that if you are basically for encoding something you will need to strip equal signs off of that. Another similar reason to do this and we think that Andrew Whitehead at some point brought up is that you have one did with an equal sign or one did without an equal sign. Those are the same did we shouldn't have to did that look different but resolved the same things. So for those two reasons. So that's something just to be aware of as well. I don't know about any other did specs but certainly did peer to includes the service entry as basic people in coding. So yeah, God, again, and I'm looking to build in additional did resolvers and understand really this is my first time really cracked me open Accom by an understanding how connections are truly established so I've been getting in there and creating did did to your twos now, but now I've got to figure out how to how to leverage them into the payload and actually get them to be the primary way that these connections are established so still some progress to be done there but that's kind of an update for the community about some things that have come to light and where we're going with my development. Any questions about that. Okay, there's an update I'll pass back to Steven. Okay, thanks Sarah. Good stuff that's super important as we get into now that 040 of AFJ is released. That's now going 040 is going into bifold and therefore into various wallets. So it is using peer did instead of unqualified dids for did com communication did com messaging so super important to get that move forward so that's good stuff. Okay. So today I've had this week that I wanted to share with others and see if anyone was interested in doing a quick quick and dirty project on this. One of the most painful parts of using occupy is the startup parameters. There's so many for good and bad reasons there's lots of them. Being able to understand what parameters are available when you should use them, which ones you should use and making them easy to use I think would be handled nicely. Rather than having the documentation we have today which is basically, you know, spit out all of the options and then try to figure out which ones you need would be to have an actual editor, not not a yaml editor which, you know, there's lots of generic yaml editors but that doesn't really help with the domain issue we have of of how do you understand all the parameters and how they relate to one another and which ones you might or might not want to use in anyone in any one scenario so I actually had done a project a while ago that used survey JS so I was thinking that would be a way to do it. For those not familiar with survey JS. It is basically a way, a nice JSON and user and UI development tool for creating libraries so you can have a library like this. Where you just add in questions so it's basically using it is a lot like using Google forms you just add those in. When you edit those, what you're really doing is creating a JSON.js so you're basically just building up these elements. So, one could see that it would be really easy to take all of the, you know, 108 yaml parameters or startup parameters that we have, and simply first of all generate them into one of these and then go through one time to adjust them to have the help text for them have that you're sorry generate all the help text into them, generate the right data types group them, provide additional detail so I think we could have a one time effort to go through in essentially using a Google forms and creating something like this. So we would have generate half manually done the manual part would be important because that's really providing the domain knowledge in there. To do that, that creates a nice package that you know the JSON.js that you saw there is is an active component so that would be part of the tool, and then have a little bit of JavaScript code to initialize or load settings. So, a YAML file. Put it into the format for the job survey JS format component so that a user could use that survey JS component actively to edit their, their settings and then a process for taking it out of the survey JS format and into into YAML to to save it so I think that would be relatively And then to maintain the tool over time. Basically, a GitHub action that would monitor for changes in the startup parameters basically maintain a file within the repo that takes the minus minus health output of the configuration data. And then a, a GitHub action that runs a diff with that generates the latest output diffs it with the file we have and creates an issue when the outputs differ. An issue with then bring her somebody to manually go in and adjust the components here of the editor. And so it would be once the survey JS component or whatever we use gets created it would be bringing it over time I think would be pretty simple that these things do not change significantly over time so it would be a periodic you know as we do a release, adjust and add whatever parameters were necessary to it. So an idea there. Triggered some interest I would be very glad to help out if somebody else, I would do this part of it and was interested enough to do this part of it. I could definitely help out with the, the true documentation parts of this which is actually generating a list and making it a useful survey JS component that we can do over time. Any thoughts comments does anyone know of other tools like this that would be better to use. And he experienced in using these types of tools in the past. All right then. I don't think we've only got a few PRs. We really want to get eight to done. Let me take a quick look at the PRs we have. That wasn't good and I probably shouldn't. Let me just go to there. Would like somebody to review the read me and every me updates that I've done pretty trivial. We've got the depth container we're holding that till after the eight to release. This is the big one that I'm wondering is any no progress has been made on this one. We really need somebody to that has a little bit of time to look at this one any comments on it. I left this as a comment already in the yard so but I did take some time to look through it tried out a couple things still continuing to have the issue with the actions timing up. So I don't really have much in the way of real updates or progress here but I was able to at least get some time to look at it. So based on pure did library that was written that I've been leveraging does not support three six so that will those two related but again I don't expect a conflict but just that is something to know. This is a blocking change as far as I'm considering and probably the highest priority PR we have. You want me to give a summary of sort of the testing that's been done so far. Okay, so basically what it is is there's the BDD tests that get run the integration tests that get run. And what ends up happening is there's one in particular that triggers it quite a bit I've got links to all of the branches and everything that I've that I've worked on as well as the the runs. So basically what happens is an agent starts up mediator starts up, and then the Bob agent starts up and then it tries to start the Bob mediator. And it just never does like nothing happens and the process ends up timing out and everything ends up either locking up or failing. I've tried exactly what Daniel did tried extending the timeouts that doesn't make a difference extended out to 10 minutes. So it's not a timing issue. What I did do is I tried different versions of Python so a tested in GitHub actions and locally using three six three seven three eight and three nine. This issue starts happening in GitHub actions at three eight, where if I run it locally it works fine all the way up to three nine so I can't reproduce it locally. So it's very difficult to debug. I created a different branch that does nothing more than starts the mediator that can't start up with the parameters that are used by the test and it starts up just fine so I don't understand I really don't understand why it's not starting up in in the process of the tests. And the funny thing is, even it using Python three nine some of the integration test work so it seems to work when you have, you know, the one that runs before it is one me one agent one mediator and a Bob agent communicating that one works fine but as soon as you add that extra container it seems to just not work, and I'd no no idea why. Any thoughts or many one on that. It really use help on this one. Hey. Thanks way thanks Daniel. This one is held up by the three six one period will be. And then the rest I think are pretty much that we want to hold off until eight to goes out. The big one we're waiting on that we had been waiting on was this one updates on this one. Thanks a lot. Do you have an update. So, the implementation is done so the confusion. I had yesterday that the audience with Andrew get got past that implementation is basically the test cases unit test is what I'm working on right now. It's going to be pretty soon. I think, maybe before the, the stand up, maybe I can push the changes. Is it worth pushing this into a two or is this crucial to a two or should we just put this as the first one, you know assuming it's ready very very soon assuming it's ready today do we want to just, just because it is. We've taken several iterations. It seems safer to put this into the next version. Is there objections from anyone on on saying that we're not going to include this one in a two, and we'll just put it in the next version comments. The only thing is the changes are already in traction that depends on this to be merged in. I think that's the only dependency. I can see and regarding the iteration I think this would be the final because I don't see any more iterations after this. Okay. All right. I think that's all we have for today any other topics anyone wants to raise today. All right. Thanks for joining. Have a great Tuesday or whatever's left of it where you are. Thank you so much. Take care folks back.