Good afternoon and welcome back to KubeCon. John Furrier and I are live here from the Kube Studios in Detroit, Michigan, and very excited for an afternoon chock full of content. John, how you holding up? They're doing great, they've got a great content. This episode is going to be really good. We're going to have like modern applications, red hat and conveyor, all the great stuff going on. Yes, and it's got a little bit of a community spin. Very excited. You know I've been calling out the great Twitter handles of our guests all week and I'm not going to stop now. We have with us a coffee art lover. Savita and she's joined with Christopher here from conveyor and red hat. Welcome to the show. Thank you. How are you doing? What's the vibe? Vibes good. Yeah, pretty good, yeah. Yeah, and has anything caught your attention? You guys are KubeCon veterans. We were talking about Valencia and shows prior. Anything sticking out to you this year? Yeah, just the amount of people here. Like post COVID it's just so nice to see this many people get together because the last couple of KubeCon that we've had, they've been good, but they've been much smaller and we haven't seen the same presence that we've had. And I feel like we're just starting to get back to normal what we had going like pre-COVID with KubeCon. The, go ahead. Oh, sorry, and for me it's the, how everyone's like still respectful of everyone else and that's what's sticking out to me. Like you go out of the conference center and you cannot see anyone like lost or like respecting anyone's space. But here it's still there, it keeps you safe. So like I'm super happy to be here. Yeah, I love that. I think that plays to the community. I mean the CNCF community is really special. All these open source projects are layered. You run community at Red Hat. So I also a little bit more about that. So I have been focusing on the Convair community site for a while now since Convair got accepted into the CNCF Sandbox project. I think, yeah, it's so exciting and it's like I'm so thrilled and I'm so excited for the project. So it's something that I believe in and I do a lot of Kubernetes stuff and I learned a lot from the community. The community is what keeps me coming back to every KubeCon and keep me contributing. So I'm taking all the good stuff from there and then like trying to incorporate that into the Convair community world. But for like not at a scale of like 20 or like 30,000 people, but at a scale of like, I don't know, hundreds, we are in hundreds and hoping to like expand it to like thousands by next year, hopefully, yeah. Talk about the project, give a quick overview what it is, where it's at now. Obviously it's got traction, you got some momentum. I want to hear the customer, but give a quick overview of the project. Why are people excited about it? Sure, so it is one of the open source of modernization tool sets that's available right now. So like that's super exciting. So many people want to contribute to it and what we basically do is like, you see a lot of large companies and they want to like do the migration and the journey and we just want to help them, you know, make their life easier. You know, we are like, so we are in this environment which is like, I don't know, by cars, think of it like a lane assist system or like think of it as an additional system, smart system, but that's not taking control. Like full control, but then it's there to like guide you through your journey safe and in a predictable way and you reach your destination point in a much happier, safer, and like sooner. So that's what we are doing. I know like that's a lot of talk, but if you want the technical thing, then I'll just say like, we are here to help everyone who wants to modernize, help them by re-fractoring and re-platforming their applications in a safer and predictable way at scale. I think I got everything. What do you think, Christopher? Yeah, I mean, we've seen a real need in the market to solve this problem as more and more companies are looking to go cloud native. And I feel like in the last 10 years, we had this period where a lot of companies were kind of dabbling in the cloud and they were identifying the low hanging fruit for their migration. So they were starting out with new applications in the cloud. We're just starting to move into a period where now they're trying to bring over legacy applications. Now they're trying to bring over the applications that have been running their business for 10, 20, even 30 years. And we're trying to help them solve the problem of how do we start with that? How do we take a holistic look at our applications and come up with a game plan of how we're going to bring those into being cloud native? Then, oh yeah, go. One of the things I want to get to, you mentioned re-platforming and re-factory. A lot of discussion on what that means now. Re-factory with the cloud, we see a lot of great examples. People really getting a competitive advantage by re-factory enough, because re-platforming also has meaning. It seems to be evolving. So you guys, can you share your thoughts on what's re-platforming versus re-factory? I'll let you go. Yeah. So for re-platforming, there's a few different stages that we can do this in. So we have this term in migration called lift and shift. Basically taking something as is and just plopping it in and then having certain technologies around it that make it act in a similar way as it was before, but in more of a cloud type of way. And this is a good way for people to get their feet wet, to get their applications into the cloud. But a lot of times they're not optimized around it. They're not able to scale. They're not able to have a lot of the cost-effective things that go with it as well. So that's like the next step, is that that's the re-factoring. We're actually taking apart this idea, these domains is what we would call it for the business and then breaking them down into their parts, which then leads to things like microservices and things like being able to scale horizontally and Kubernetes. The benefits of the cloud higher level services. Absolutely. So you shift to the platform, which is cloud, lift and shift or get it over there. And then set it up so it can take advantage and increase the functionality. Is that kind of the difference? And one thing that we're seeing too is that these companies are operating in this hybrid model. So they brought some containers over and then they have legacy like virtual machines that they want to bring over into the cloud, but they're not in a position right now where they can re-fact or even- In position. It's not even on the table yet. So that's where we're also seeing opportunities where we can identify ways that we can actually lift and shift that VM closer at least to the containers. And that's where a lot of my conversations as a cloud success architect are of how do we re-factor, but also re-platform in the most strategic manner. So can they are a good fit for these kinds of opportunities? Yes, 100%.  It's not like one strategy. So it will provide you with the right strategy either re-platform, re-factor or like what is best? Irritator, re-host, whatever, but re-platform and re-factor are the most that we are focused on right now. Hopefully that we might expand, but I'm not sure. So. You just brought up a really good point and I was curious about this too because Chris, for you mentioned, you're working with largely Fortune 50 companies, so some of the largest companies on Earth. We're not talking about, we're not talking about scale. We are talking about extraordinarily large scale. Thousands, thousands of applications. And I'm thinking a lot, I'm just sitting here listening to you thinking about the complexity. The complexity of each one of these situations and I'm sure you've seen some of it before, you've been doing this for a while, but and you're mentioning that conveyor has different sorts of strategies. What's the flow like for that? How are you, I mean just that even thinking about it feels complex for me sitting here right now. Yeah, typically when we're doing a large scale migration that lasts, you know, for like a year or two sometimes with these Fortune 50 companies. I don't think it needs to, some of this legacy stuff has got to be. This is usually when they're already at the point where they're ready to move and we're just there to tell them how to move it at that point. So you're right, there's years that have been going on to get to the point that we even, I'm involved. But from an assessment standpoint, we spend months just looking at applications and assessing them using tools like conveyor to just figure out, okay, are you ready to go? Or do you have the green light or do we have to pull the brakes? And you're right, so much goes into that and it's all strategic. So like I said about a quarter or a third of our time we're not even actually moving applications, we're assessing the applications and coming up with the strategy. There's so many pieces to this puzzle. Absolutely. And I bet there's some even hidden in the corners under the couch that people forgot were even there. We learn new things every time too. Every migration we learn new patterns and new difficulties which is what's great about the community aspect because we take those and then we add them into the community, into conveyor and then we can build off of that. So it's like you're sharing when we're doing those migrations when companies are using conveyor and sharing that knowledge, we're building off what other people have done. We're expanding that. So there's a real advantage to using a tool like conveyor when it comes to previous experiences. Yeah, are you, tell me about some of the trends that you're seeing across the board with the folks that you're helping. Yeah, so trends-wise, like I said, I feel like the lowering fruit has been already done in the last 10 years. We're seeing very critical, like mission critical applications that are typically 10, 20 years old that need to get into the cloud because they're the term data gravity so it's preventing them from moving into the cloud and it's usually a large older, what we call monolithic application that's preventing them from moving and trying to identify the ways that we can take that apart and strategically move it into the cloud and when we were, we had a customer survey that went out to a few hundred different people that were using conveyor and the feedback we got was about 50% of them are in currently migrating, have large migrations going on like this and then another 30, 40% have that targeted for the next two years. So most of industry is happening now. This isn't a problem that we're trying to future-proof, it is happening now for most corporations. They are focused on finding ways to be cost optimized and especially in the way our market's working in this post-COVID world, it's more critical than ever and a lot of people are pouring, even though they're cutting back expenses, they're still putting focus into their IT for these types of migrations. What's the persona of people that you're trying to talk to about conveyor? Who's out there? I mean the project- What's the community like? What's the community makeup and who, why should someone join the team? Why should someone come in and work on the project? So someone who is interested or trying to start their journey or someone who is already going through a journey and someone who has went through the journey, they have the most experience of what went wrong and where it could be improved. So we cater to everyone out there pretty much because some point of the time, right now it's cloud-native, right now this is the ecosystem, in five years it would be totally different thing. So the mission of the project's going to be similar. Or like probably same, help someone repad form and rehost things into the next generation of whatever that's going to come. So we need everyone, so that is the focus area or like the targeted audience. Right now we have interest from people who are actually actively ongoing the migration and like the challenges that they are facing right now. So we- So legacy enterprises that are up and running, full workloads, multiple productions, hundreds and hundreds of apps, whose bosses said, we're going to the cloud. Yeah.  Yesterday. Yeah, yeah, yeah. Okay, let's start looking, let's, how do we do this? Lift and shift, get re-platform. Yeah. There's a playbook. There's a method. You lift and shift, you get it in there, get the core competency, use the manager, is re-stitch it together, go cloud-native. So this is the cloud-native roadmap. Yeah, and the beauty of Convair is that it also gives you like plans. So like once it assists and analyzed, it comes up with plans and reports so that you can actually take it to your management and say like, oh, let's just target these many applications, X number of applications in like two weeks. Now let's just do it in waves. So that is some feature that we are looking forward to in Convair 3, which is going to be released in the first quarter of 2023. So it's exciting, right? It is exciting, and it makes a lot of sense. It makes everyone happy. It makes the engineers happy, don't have to be overworked. It also like makes the architects like Chris happy, and it also makes the... Pretty much so. As exemplified right here, yes, love that. It makes the management happy because they see that there is like progress going on and they can like ramp it up, wrap it down, holiday season. Do not touch prediction, right? Do not touch prediction. You hear that, managers do not touch production. Yeah, yeah. It's also friendships too, because people want to be in a tribe that's experiencing the same things over and over again. I think that is really the camaraderie and the community data sharing. That's beauty of community, right? Like you can be on any number of teams, but you're on the same team. Like any number of companies, but on the same team, like it was also like reflected in the keynotes. I think yesterday someone mentioned it. Sorry, I cannot recall the name of who mentioned it, but it's like different companies, same team. Similar goal, we all go through the journey together. Water level rises together too. We learn from each other, and that's what community is really all about. You can tell folks at home might not be able to feel it, but I can. You can tell how community-first you both are.  Is there anything that you wish the world knew about Conveyor that they don't know right now, or more people knew? And if not, remember our marketing team is nailing it, and we'll just give them a high five. I think it goes to just what we're talking about. It's not just a tool for individual applications and how to move it. It's how do we see things from a bigger picture? Yes. And this is what this tool ultimately is also trying to solve, is how do we work together to move hundreds, if not thousands of applications? Because it takes a village, and that's my biggest advice to people who are considering this, who are in large enterprise, or even smaller enterprise. Make sure that you understand this is a team effort. Make sure you're communicating, and lessons learned on one team is going to be lessons learned for another team. So share that information. When you're doing migrations, make sure that all that knowledge is spread, because you're just going to end up repeating the same mistakes over and over again. That is a beautiful way to close the show. Savita, Christopher, thank you so much for being with us. John, always a pleasure. And thank you for tuning into theCUBE live from Detroit. We'll be back with our next interview in just a few.


to see the total number of males and females given these doses I could generate a pivot table style or table style of aggregated information from the events. If I have to see line listing of the cases then I could list down the events and I could add my filters based on what my line list will be updated. Then the reports which we generate they can be saved as you've seen for other data analysis for pivot tables visualizers. Similarly for event reports these reports can be saved as favorites they can be downloaded and we could also add them to the dashboards. While creating an event report we always need to identify the program for what program we need to see the report and the analysis is based on a range of dimensions and filters like data elements periods and organization units. When we'll be generating these reports for the tracker data there are two kinds of reports that we'll see one is event and another is enrollment. Now how are these different? So as we've seen in the data model for tracker there are tracker programs which have program stages and program stages have events within them. So if we create an output of event type then we'll be able to see the data from all the events within a single program stage. So we have a program stage and we have multiple events we might have multiple events within the same program stage. So event report will always show you data from all the events within that program stage. To generate an event report you first need to identify your program stage and then specifically generate data for the events within that program stage. But for event reports we cannot use multiple program stages. So we cannot have, cannot however view or summarize data from multiple program stages using this output type. So when we say event we must select just one program stage. While when we use enrollment type of output here then we can see the data across different program stages. So you across the program for the multiple program stages you can view the line listed data. So it will show you data across the entire enrollment within a program. Now when we have program stages with repeatable events we'll always see data from the most recent event. So because this is enrollment and it is going to show you data from all the program stages it will always pick up the latest event from a program stage. These concepts will get clearer when I give you the demo because we'll focus on each of these points. Yeah so I'll start one by one with all of these concepts and first we'll see how can we generate a pivot table and a line disk type of event report. So I will move to the demonstration now on my demo instance. I'll show you these two kinds of reports and then I'll give you time for practicing the same on the exercise instance. So this is my demo instance this is the event reports. Most of you would have seen this already but just a quick revision of the interface. So in the event reports we can select the table style. Do I want to see a pivot table or do I want to see a line list. So pivot table will show me the aggregated values and line list will show case wise individual rows. We can select our output type as event or enrollment from here and we'll see how are these different. Then we have the data that we have to select. So in the data we need to select the program first. What program do we need to analyze. After selecting my program then I need to select the program stage. When I select event type of output I can select one stage and show the results. When selecting enrollment type of output I can select multiple stages here and whenever I select the stage my data elements attributes program indicators all of them will be available here. I can double click them to select them. Then as we know for analysis we have data periods and organization units. So we after data we need to select the periods. We could either have fixed and relative periods similar to what we have in pivot table. We can select our period type from here and select the periods. We could have relative periods. Additionally for the event reports we have option to select start and end dates. So you could select here exact start end dates if you want to see events within a particular range of dates. So you can do that selection from here. Organization unit again we have fixed and relative. I could either select based on this or I could select based on user org units. So this interface is same as the pivot table and data visualizers that we have. From here we could update our selection save favorites change my layout. We'll be trying out these while I'll be generating a report. Okay so to start with our first example and see how our table styles for pivot table different from line list. I will start with creating one pivot table and event type of output for now. I'll just show you what will be generating and then I'll show you how we can add that. So we have a favorite I'll just open that and show you. Now if we want to see for my COVID-19 case-based surveillance program in a group of ages I want to see how many males and how many females were positive. So basically I want to see confirmed COVID-19 cases gender-wise and age-wise. So you see my age categories I've already created these categories as legends. So my age categories are here and my gender breakup male female is here and all of these are positive cases. This pivot table will allow me to see aggregate information for confirmed cases by age and sex. So let us see how this table can be generated right. So I'll start with my selection. I need to generate a pivot table of event time. What is my program now? So in the data I will select case-based surveillance program because that is where my lab results are being entered. So I'll go to case-based surveillance program and my stage for the lab results is lab results. So I will select lab results program stage. This would show me all the attributes and all the data elements specific to the lab results program stage. Now I have to make my selection for age and gender. So I would say age, I would say sex and I have to see the results. I have to see confirmed cases. So I would select lab test results. Since I only have to see positives, my analysis that I want to see is positive or confirmed cases age and sex-wise. So I would say show me lab results which are positive. So it will only filter out the cases and they give the cases which have positive lab result. And for my age, I have these ranges or legend sets. So I will use the legend for COVID-19. So this is my data age, sex, lab result. Now for my period selection, maybe I want to see data for entire this year and I want to see the data for the entire country. So I've done this selection and I will update. Now we can change the layout how we want to see the data here. So in the layout, in my columns, I want to see the, I can just remove these filters, OU and periods because they, I don't want to see them on the columns. I want to see lab result which is positive and then I want to see male-female-wise. So I've done the selection as in the columns here, I want to see male-female and in the rows here, I want to see age. You can play around with this layout and generate based on what suits your requirement best and it'll keep on updating. So you can try out different options and layouts yourself in practicing. If I update this now, so as you see age is in the row which is this legend and positive male and female are listed here. Right? So this gives me the required analysis. Now if I want to change my legend, say I don't want to see so many age categories, I have another legend for COVID cases which I want to use. So where I selected age, there only I could say use this legend and update. So you see the legend is updated based on the new category, right? So generating this pivot table, I selected my attributes, the legend that I want to see for age, the data element based on what I want the application, period, OU and updated. So this is how my pivot table for the event report based on the tracker data is seen, right? Now we'll also see example of creating one line list and after I add the line list, you could practice this once at your end. Okay, suppose I want to see list of cases who have been given first dose of COVID-19 vaccine. Right? So what I want to see, I'll just show you one example. Okay, so I want to see, show me all the cases, all the line listed cases, their names and names, sex, what vaccine is given to them and which dose. So this is like second dose, all the cases with second dose of vaccines. I'll try to generate one line list with first dose of vaccine, all the people given first dose of vaccine. How do I do that? So here I'll come back to the selection. Now, as you know, we have to select see line list. So in my table style would now be line list. So here I would say line list. I am still concerned with the events because I want to see the first dose which is given. So I'll stick to event and now where am I reporting the vaccine? It's in the COVID-19 vaccination registry. So I will select this program. I'll select the vaccination stage and my fields that I want to see in the line list. So I could select all of those. Maybe I want to see first name, surname, sex of the person is national ID to identify the person and then I need to see what is the vaccine given. So vaccine name. I also want to see the dose of the vaccine. So dose number, right? So I've selected first name, last name, sex, national ID and vaccine name. Now my requirement is I only want to see the people given first dose of vaccine. So in my data element for dose number, I could say first dose. So this will give me only the first dose of vaccine. Right? So I filtered for first dose. Now my period selection, I again keep it to this year for the entire country. So this will give me line listed cases given first dose of all the vaccines. I can change the layout. Maybe I want to see ID before the name. So there is this layout option wherein you could sort it out. So I could say move national ID first and update. So as you see now national ID comes first and first names are named sex vaccine dose number. Similarly, I might want to see people given second doses. So here instead of first dose, I could select second dose and the table will be updated. Maybe I just want to see people who are given AstraZeneca. Out of all the vaccines, I just want to see the line list for AstraZeneca vaccine given to patients. So if I select this filter for the vaccine name and I update. So only AstraZeneca list. So it will filter down the list to only the people given AstraZeneca all the doses. I could further say who are given first doses of AstraZeneca. It will filter out. So based on your selection here and filtering out further different data fields, you could update your table. Right? So we've seen how to generate a pivot table from event report and how to generate a line list from event report. As you've seen for other analysis app, similarly, we could save this as a favorite by going to save as giving it the name and saving. This will be saved as favorite and then you could add it to your dashboards. You could also download this in the following format. Right? So now we could move to exercise one which gives you steps and screenshots which you could refer to on how to create similarly a pivot table and a line list. So we'll give you 10 minutes. You could practice and you could ask your queries during the same time to see the exercise. If you go to your modal interface for today's session, which is event reports, there you would see event reports, learners guide. If you go to the learners guide, you have exercise one, which is to create a pivot table event report and to create a line list event report, which is here. Yeah. So both of these you could practice in the next 10 minutes.


Olympia D2, I'm ready. Yesterday was a lot of fun, so I'm really excited to meet everyone and hang with the EHB squad, so let's go! What an incredible weekend. It's the morning after the weekend that was, and EHP Labs certainly made an impression at the 2016 Mr. Olympia Expo. You know, social media networks provide perfect platform and opportunity for us as a brand to communicate with people around the world. But it's expos like this where we get to meet you guys face to face. That's what makes it special. Seeing you guys in the flesh, being able to interact with you guys, smile, laugh, and share our passion for health and fitness. That's what it's all about. Looking forward to seeing you at the next Expo.


i'm at dive studios today to film not get real but beauty bar the new show hosted by jone and stephanie and i'm honored to be their first guest here's half of the host of beauty bar the half is over there stephanie oh my gosh i'm nervous i like beauty but i don't know enough to like be informative you can do it i believe in you thank you let's do this guys i'm all dressed up today because i am going to the gentle monster event with jone so they have a new flagship store in apgujeong rodeo dosan park it's a huge building with like four floors of gentle monster tambourines and newtake which is like a cafe that they opened gentle monster always goes extra hard with their interior design and concept so i am looking forward to what the new store looks like i'm wearing these reflective chains from unnamed dot nyc this zebra top that i haven't worn since my birthday two years ago and these pants from revolve that i got tailored rodeo is always pretty far and kind of hard to get to from where i live so i gotta leave like an hour before since i'm gonna be taking the public transportation so let's go still waiting for jone to arrive it's like sunny but very windy i got cold and i bought a hot pack from the convenience store on the way here butter cakes and now i'm off to radio and jones going home bye see you soon i'm at radio and today's actually the third anniversary of me being a dj here on sound k can't believe how time flies since today marks exactly three years i just kind of want to record it it's almost a year since i joined you in a couple of weeks and i couldn't be happier i'm just really grateful for the love care and kindness that you and the other listeners have shown me and let me feel congratulate you for your third year as a dj of sound k thank you i watched you grow and it was fun having so many good memories with you everyone's so sweet i appreciate every single one of you guys and the sound k fam love you guys so much thank you looking forward to wait why am i talking with this plastic between us looking forward to four years and five years and so on so thank you it's because you know you graduated oh my god thank you okay today's also special because boy tello finally graduated from yonsei university congrats look at him looks mad legit in his gown he's such a smarty pants especially done with school what are you gonna do now produce music yeah guys go check out boy tello's music i when i went to ujiro last time i bought a bunch of little posters and photo cards because i wanted to decorate my wall with it and i never got around to doing it i would say they're like pinterest aesthetic i don't know if i want to add more or not i just got a delivery of a can of flowers what congrats on three years of radio so proud of you every day miss you so much i love you it's from kimi always from new york today is i already have music on yeah i'm ready let's do it and yes i'm wearing a mask because there's too much dust i went to get tested today because it turns out uh someone who works at the cafeteria at my radio station her son tested positive for covid they advised everyone to get tested that was at the radio station on thursday and friday we don't even know if she's positive yet either we're waiting for her test results i didn't come into direct contact with her but just in case um yeah i wanted to get the corona test for the first time there was a long line but it went by really quickly and it wasn't as bad as i thought it would be i went with my writer but she had a worse so i think it really depends on which person you get for the test i had a woman who was very gentle with me so it didn't hurt that much but my writer uh she said that person was pretty aggressive and stuck it very far up her nose so she was in a lot of pain but now i just have to wait for the results it's probably gonna come tomorrow and i don't know if it's me being paranoid but i feel like i'm just like my body's just really fatigued even though i slept a lot i just keep feeling really sleepy but it's time for dinner so i got fud delivered hopefully this hot soup can make me feel better i really didn't think that i would ever have to get tested for covid but it can happen to anyone i just hope it comes back negative for everyone so i just woke up to a text saying that i tested negative oh my gosh thank god i like took a tyla no before bed last night because i was kind of worried and i just wanted to get a good night's sleep just in case but oh my gosh oh it was so scared i don't want to have to go through that again time to start my day today's lip is 3ce's blurring liquid lip in the shade claret i got this really cool curling iron from this brown called insert name here it's called the waiver it looks like this they sent me this uh glove too that you're supposed to wear when using these hot tools just in case so you don't burn your hands and trust me i've burnt my hands a lot so this is going to be useful for me so i'm just gonna try to do this all over my hair because my hair has grown so much like look how long my hair is now i'm gonna get a trim real soon probably gonna like trim it up to here because it is so damaged too i have so many split ends i have a lot of layers right now it's not all the same length so the curls might look all over the place what we shall see i'm gonna set it to 310 fahrenheit is that too high okay i'm gonna set it to 290 degrees fahrenheit oh by the way this sweater was gifted to me from days days it's actually a set with these matching shorts and i love it i can't wait to wear them around in the summer spring time spring summer time okay i think it's ready so so far it's just a drag you know what it is yeah crazy but i'm digging the look now i feel like i have to put a little bit of eyeliner on 11 piece yo yes i got the frank ocean channel orange album limited edition also got the cardigan's life lp um both were super expensive well not like super but they were on the pricier this channel orange one being a 48,500 one and this one being 46,000 one so yeah the lps that i get are usually around like 30,000 one like somewhere between 30 and 40,000 but yeah this was a little more pricey but i think they were worth it especially this one because it is a little more rare this has two lps so i think it's totally worth it this is so pretty guys look at this oh my gosh this is insane it's like marble if you see it close up the inside looks like this this one's a plain black one unfortunately but it's all right i'm very happy with my purchases let's play the frank ocean one which song do i want to hear well let's say very dark gray socks i ran out of socks okay so so while i'm at it i'm gonna film everything that i've been putting off dr. jart sent me a package it's a survival kit oh what's this dr. jart sick of hair toner oh it's an echo repair kit we have the cream mask wow thank you for that we have hand sanitizer alcohol swaps okay so these are like all the things that we need during this pandemic right now so i really appreciate this they know what we want and need i also have a little something from a brand called ram ram studios this is like a fabric poster the ram studio it's aesthetic i will be needing the sick of hairline from dr. jart because my skin is most sensitive not during like the coldest winter time but the transition time from the winter to the spring that's when my skin like flips out the weather is getting warmer in korea but it is so so dry and last but not least we have some nail polishes from hints this is a korean brand that has been super popular these days i really wanted to try their nail polishes because i really like the jelly like consistency of it i can't wait to paint my nails which color should i go with first definitely use this for something we should use this for i'll think about it


They are improving all like the previous years, especially in general hospitals right now. There is a good facilities and the workers are really on ground. Now they have realized the reason to take responsibility on the job. In general hospitals, they will show you, abuse you doing this and everything. I can, maybe God bless you help us to do the okay. I will like it, everybody will like it. Basically, I think they are trying for now. But I think there are lots of work to be done. We still have little hospitals that are not really working efficiently. But basically for now, it's still on. Maybe 50% of 100, in the scale of 100, maybe 50% there about. Relatively, if you look at the healthcare system in Nigeria, I think to me, if I'm rating it, I'll probably rate it 70% in terms of percentage. That's because there are some infrastructures we have in order where there will be countries that we don't have in Nigeria. And that's one of the things I feel government should look into. I think there are still lots that need to be done. Because I've been in different hospitals and especially the government hospitals, there are a lot of things that need to be done. Because especially the staffs, the staffs that have the Nigerian public hospitals, they need to do a lot of things to correct. To correct their mood of talking to their patients.


Our next caller is Jenny from California. Hey Jenny, what's going on? How can we help you? Hey, thank you guys so much for taking me on here. So my question is recently I've been dieting down for a tournament. I'm doing a jujitsu tournament a couple of weeks. I've lost about 12 pounds in the last six weeks or so. And so my tournament's coming up and after my tournament, I'd like to learn more about reverse dieting because I've never heard about it before. I started listening to you guys recently. I've heard you talk about it and touched on it a couple of times, but I'd love to maintain where I'm at right now as far as my size and muscle mass and everything, but I definitely build up from here. I've been eating at about 12 to 1500 calories to get down to this cut, get down to this right weight. But I would love to continue building that so that I can eat like around 2500, something like that for my size. Okay, I'm gonna answer your question, but I have a few more questions for you before we get there. Sure. How long have you been training jujitsu? Like what rank are you? And then is what like, is this your first tournament, your fifth tournament? Like how far along are you? And did you know I had a purple belt? Yeah, I've been actually training jujitsu for about 20 years in my brown belt. I took some time off in between to have kids and kind of, you know, rest my body and all that stuff after having kids. So I've done several tournaments, but this is kind of my second or third since coming back into training pretty seriously. And this one is kind of a really big tournament. There's a lot of people at my gym going and doing it.  Oh, good. Is this the US Open? Yeah, no, it's Masters. Masters. Well, unfortunately Sal can't help you because he's only a purple belt. Ma, ma, ma, ma, ma.  No, you know why I asked you that question, Jenny, is because oftentimes I talk to athletes about cutting and when we have the conversation, it's better to not cut. It's typically where we end up with because as athletes, especially weight, when we have weight classes and, you know, grappling tournaments, wrestling, those are all boxing, right? Combat sports tend to have weight classes. We often believe that if we cut and go in a lighter weight class, that we'll have an advantage because we're now going against lighter people.  And I've seen this many times. I saw this in Jiu-Jitsu. I also saw this in wrestling and, you know, I remember my, I had a cousin who would wrestle and would cut so much weight. And I remember I convinced him once, like, don't cut weight and see how you feel. And he did better because he felt stronger and more healthy. So that's why I brought this up. But I'm assuming with your experience, this is something you've done before. So the thing is, and I totally hear what you're saying, I used to wrestle in high school and so I've been through this kind of ringer for a while. But the thing with women's weight classes is, it's 175 and above is the weight class. And so I really wanted to get, I was about 186 and I was about 24% body fat. And so I knew I was carrying a little bit extra and I really wanted to get into that next weight class, which is 175, like the capper is 175 and you have to weigh in with your Geyon and all that stuff. So I knew that I could get there and I'd much rather do that than fight a girl who's baby 200 and 230 pounds at 180. You don't want to go against that. What's her name? Gabby, whatever that goes. Gabby Garcia. Oh my God. I don't know if you guys have seen her, but she said, oh dude, it's like imagine me with long hair, but even bigger. Okay, so all right, so okay, I'm so glad you said that. Okay, so reverse dieting essentially in a nutshell without getting into the weeds is slowly increasing your calories over time while you continue your training and trying to maintain your weight or maybe build a little bit of muscle so that your weight stays roughly the same, but now you have a faster metabolism at your weight and the amount of activity that you're doing. I noticed in your question, you're saying you're eating about 12 to 1500 calories that's really low. That's really, really low. You should probably be at least, at least 500 to 700 calories higher. So when you get out of this tournament, what you want to do is increase your calories by about a hundred a day. Stay at that, you know, caloric range, see how your body adjusts and then do it again. If you see a big weight jump, then hold steady and wait a little bit before bumping again. What you really want to look for, Jenny, is do I have more energy? Do I have more strength? Am I maintaining my fitness, my health? And also, and I didn't ask you this question, but also you may notice some positive hormonal changes. Oftentimes, especially with women, when they train really hard and cut their calories, they start to notice negative hormonal changes like lowered libido, hot and cold, body temperatures, and then they lose their period or they get very spotty with their period in the sense that it's not as consistent. So those are all signs that you're maybe doing too much, not eating enough. The reverse diet should really help regulate that. And ideally, especially at your level, where we would want to see you, is for the next tournament, you don't really need to cut, but you're eating way more and you'll probably feel a lot better. So again, and in that shell, it's just a slow increase while you monitor everything. So I'll add two little things there. One, I think it's a good investment to purchase Lane Norton's book. He actually has a book on reverse dieting, or it's like an e-book. So it's relatively inexpensive. It has tremendous value. It has more specific details if you want to follow a more dialed plan. So I think that's tremendously valuable. And then the other suggestion that anytime someone's reverse dieting, I always like to really change up their strength training routine. So if you have a typical kind of program or training routine that you follow, it's when I reverse diet, so when I really like to shake that up. So I don't know what that looks like for you, or I don't know if you're following a MAPS program currently, or you would be following a MAPS program, but really shaking it up from what the norm is for you. And that will help take any of those additional calories that you're now consuming and hopefully partition them over into building muscle instead of getting stored as fat because you're sending such a new unique signal. And that could look like rep ranges and rest periods.  Yeah, Jenny, what does your, or what did your strength training look like and what it consists of besides you just do? So I usually do, I actually haven't ran like a program like MAPS or anything like that. I do boot camp kind of hit classes with that cardio and lifting and that kind of stuff. So it's more of, like we'll have arm days or leg days or back and biceps, that kind of stuff. And I enjoy lifting weights, but for this tournament, well, really in general, I've just been able to like work those classes in. But like I said, I've just recently found you guys and really have enjoyed listening to you and would love to kind of work on strength a little bit more. I joined a normal gym this last week just to work on my cardio a little bit more, get some more treadmill time. But I think after this tournament, I'd love to focus a little bit more on that too. Oh man, I'm so glad Justin asked you that question. Okay, how many days a week are you training? Yeah, how many days a week are you training jiu-jitsu? Well, right now it's five. Before this comp training, it was maybe like two to three just kind of whatever I felt like doing it. If you want more endurance and stamina, do more jiu-jitsu. There's nothing you can do in the gym. There's no other workouts you can do that will give you more applicable stamina. And you know this better than I do. You've been doing this for a long time. The type of endurance and stamina required for jiu-jitsu is different than what you would get maybe in boxing or riding a bike or running. So if you want more stamina, then train more jiu-jitsu or train your jiu-jitsu in a way to add more stamina. So do more of like the king of the hill type matches or people are jumping on you every minute or every 30 seconds, roll faster or harder or longer. That's where you'll get your stamina. When you're lifting or you're training outside of that, you wanna do something that you can do with weights that you're not gonna get from jiu-jitsu. In other words, focus maybe on strength and maybe mobility. And that's really it. What you don't wanna do is try, and it's a big mistake a lot of athletes make, is they try to mimic their sport in the gym thinking it's gonna improve them at their sport. That's the wrong way to train. So a lot of times you'll see an athlete and they're like, I need more endurance in my sport. So now I'm gonna go to the gym and I'm gonna train for more endurance. The only time that's applicable is if doing too much of your sport is starting to hurt you, like boxing, right? Boxers, they can't spar all the time. They get beat up a lot. The beauty of jiu-jitsu, and again, you know this better than I do, is you can roll more and more. And yes, there's always that risk of injury, but it's not like boxing or football where at some point it's just, you gotta get more stamina outside of there because you just can't keep getting pounded on. Do the jiu-jitsu for the stamina, train jiu-jitsu in a way to improve stamina if that's what you want. And then when you go to the gym, focus on strength, so it's slow, it's lower reps, it's full body workouts. Don't go super intense. The intensity should be safe for jiu-jitsu. And then maybe some mobility work, which will always benefit your jiu-jitsu, but don't train in the gym like you're mimicking your jiu-jitsu. It's a huge mistake. Well, and now that we know this and we have more information, I'll be even more specific. And Doug, why don't you send her over maps and a balik? If you're gonna do, after the tournament, if you're gonna drop down to two to three times a week jiu-jitsu, I would love to see you do two times a week of maps and a balik. Perfect. I think that would be ideal. If you're gonna do anything else in the gym more, I would do mobility stuff. If you want a great mobility routine that's kind of a full body thing that's free, you go to the mapsprimeprowebinar.com where I do like a 50 minute mobility routine that's basically head to toe some of my favorite movements. You can literally just follow that. That would be the only other thing I would do in addition to the two days a week of maps and a balik. You do that in a reverse diet and watch how much you'll build so much more muscle.  Where do you train? I'm at Synergy in Rockland. All right. Hey, I know exactly where that is. I have family up in Rockland. All right, good luck. Awesome. Awesome. Yeah, we've got a big crew that's been training really hard for this tournament. So we're excited to get out there and show the world. Good luck. I hope you win. Hope you do well, Jenny. Thanks so much, you guys. Yeah. That's funny. I know that school. I have family that lives up in Rockland. So glad Justin announced that. Oh, man. That just completely changed. Alters the direction there. I mean, that was the big mistake I made when I trained is that I thought I had to mimic my jiu-jitsu training in the gym and nothing gave me more stamina in jiu-jitsu, like doing more jiu-jitsu. And then when I went and said, you know, why don't I just go to the gym and focus on strength? Because I can't really do that in jiu-jitsu. It was like night and day with the improvements that I made. Yeah, it's funny. I mean, I was addressing that same thing going into the off season next year with the football team. Dude, we didn't spend enough time on the actual skills that we need to acquire. And to do that, you can get all the conditioning you need by just drilling these skills over and over again and it's gonna have way more impact than just aimlessly kind of running and going through the cardiovascular training. But yeah, to really focus in and hone in on the strength cycles and the strength and acquiring strength is gonna take you so much further. I mean, the exciting part is if she takes the advice and does exactly what we just said, she's gonna see tremendous results with the reverse diet. Oh, yeah. I mean, if she's used to doing all that endurance and stamina training and circuit training for weights and then we put her on a two day a week full body strength routine while also increasing calories, look out. I mean, she's primed for that to like show her incredible results if she sticks to it. Totally.


This research project aims to assess the level of immunity against vaccine-preventable diseases in Timor-Lechte. The study will use a combination of serological surveillance and community-based sampling to collect serum samples from 5,600 people aged one year and older. The results will provide valuable information on the current levels of immunity in the country, which could help inform public health policies and decisions regarding vaccinations. This article was authored by Michael David, Jennifer Yang, Christine McCartney, and others.


Thanks. Thanks, Emilia. Hi, everyone. I'm excited to see all of you face-to-face and Those watching the live stream. Thanks for joining And my name is Yuri. I'm a data scientist in a threat research group in imperva Imperva is a cybersecurity company a leading cybersecurity company. That's been around for about 20 years focusing on data and application security We provide our customers a wealth of solutions like well application firewall DDoS protection client-side protection account takeover prevention and more Today I'm going to tell you about one of our recent projects that combines research in security and machine learning and this project is about intensifying pieces of code into obfuscated and clear text ones So let's start so the motivation is clearly to help our customers to prevent attacks and One of ways to do so is to concentrate on a client-side perspective so a Typical website has many many resources. Most of them are totally harmless But there could be several malicious ones if attackers managed to inject them into the website And the question is how how we find them and how we distinguish between those So since a website has many many resources This is something that clearly cannot be done done manually and more over even Semi-automatically is not good enough. We need a totally automatic automated process to do that So let's take a simple example of Resources and and and see how how it looks so here We have a piece of code in JavaScript, which is actually a key logger So you can see I'm not sure if you can see my laser But anyway here above you can see the command and control endpoint which is example.com And you can see that we are listening to key down events and We send in the data to the command control Back every every ten seconds And now let's take a look at another piece of code So it looks really similar. You can see that the command control endpoint here is missing and you can see that we listen into the same event and We just log in it locally once every every hour So I just highlighted the difference here for you and as you can see For this very very simple example almost trivial example the differences are very subtle so it requires really tedious work to to even spot them and attention to the tiniest of details As I said in Imperva we are interested in this problem and and an example is our client side protection product which enables our customers to look on the resources on the website and and see which which ones are potentially harmful and we provide Several scores and several data for those resources so the customers can really understand what's going on and As you saw in this really trivial example This this problem is real really difficult for humans And the question is whether it is solvable at all for machines and and by machines I mean of course in machine learning sense So Just one more word about this so before this project The way we tackled it was to use the best data we have in a company and to calculate reputation For IPs and domains and combine all this data in rule-based method In rule-based techniques and and that's how we we provided this this course So now back to our story when we see you know a difficult problem What do we do? Well, we search for an easier one and and this is of course for dramatization purposes only for this presentation So an easier problem with which I'll just explain in a second why it is at all related is obfuscation So for those of you who never heard of it before obfuscation is is an interesting thing The theoretical foundations of it go deep in computer science and the computational complexity But if you are down to earth a bit is just a family of algorithms of techniques that make Transformation on your code they take your code and then transform it So it preserves the functionality and hopefully the right time But it really hides the inner structure in a way that people find it very difficult to understand and it makes it almost Unintelligible to humans to to really understand what's going on. So let's let's take an example So this is like the most trivial piece of code in JavaScript. You could think of it's just You know printing hello word to the console log and when I take this piece of code and obfuscated using one of the readily available tools in the internet We end up with with all this and actually even all This too, so you may say well, this is ridiculous. This is probably some contrived example But but but you are wrong And and the reason is that I just used a tool with the lowest obfuscation possible In this specific tool, which is obfuscator IO and if I would use This tool with the highest level of obfuscation. We would end up with many many pages that I would have to show you here So this is this is a real word example, and this is really how obfuscation work and Just for for this trivial piece of code imagine what happens when your code really does something interesting So And of course the question is how is it all this is related to maliciousness because remember we started with maliciousness So the answer is that it depends on the language so The the thing with With obfuscation on our client side for example in JavaScript is that sometimes it can be used for legitimate purposes For example for preserving intellectual property if you want to to hide your code because you invested a lot of time developing it And there is nothing malicious there And there are a few more a few additional reasons But on the client on the server side This two two problems are really closely related because usually you don't have to protect your code from hackers on The server side if you don't you know move it anywhere and do not give it to anyone And still if we look on these two domains together client side and server side Still obfuscation is a very very interesting signal that usually helps us to determine maliciousness of the of this piece of code Okay, so So what we want to do from this point on is to classify every JavaScript document into clear text or obfuscated And the question is is it easy for humans So, let's look on another example I hope you can see I hope it's not too small I try to make it as large as possible Take a few moments to try to understand what what it does if you if you will and Then of course we have another piece Look pretty similar on day, okay, so without you know torturing you too much This is a part of Of a malicious script that I took and and this is indeed obfuscated and This part the first one is is actually a clear text This is a part of a script from from YouTube that is Used to speed up The if you embed a piece of YouTube in your on your website So this is the code that just just a small part of this code that uses to speed it up and and this is probably Calculate some hash function or things like that So As you saw it's not really it's not really easy to to distinguish between the two cases for humans And actually it turns out that it might take a lot of time for seasoned security researcher and the reason is That in order to decide if the code is obfuscated a clear text what what this researcher does usually is Really trying to understand what the code does. It's not just trying to see I mean it's not written anywhere You know it's obfuscated or not. We need to understand what the code really does and sometimes it takes time So it's clearly something that is unscalable in any in any way And So the question is is it easy for machines? And of course we didn't jump into the machine learning solution right away We we tried working with heuristics and it turns out that heuristics are not good enough simply because they are too Specific and we will talk about the various obfuscators in a few moments and you might then understand why And so the mission from this point on is to build a machine learning classifier for this problem So I'll tell you about several approaches from literature we could use So the first approach is a classical one and there is a paper by a ten Bach and and several additional researchers from 2016 Where they propose to do a classical feature engineering meaning to extract things like average length of line frequency of specific words specific characters and then Build a decision tree. So I guess you've heard about these kind of trees and here is a simple example so This this tree is checking whether the average length of line is larger than some threshold And if it is it then checks the frequency of certain character And if and if it exceeds the threshold for example, it says that the script is obfuscated Of course, this is really simple example, but just to get you understand the principle Another approach was suggested by Skolka and his friends in 2019 they suggested to build a deep learning classifier based on convolutional neural networks and abstract syntax trees so convolutional neural network just in a sentence is a Method used a lot in vision But today it also used in additional fields in deep learning and the abstract syntax trees is that you can Easily download a tool that takes your script the JavaScript in this in our case and the component builds out of it the syntax tree for For the script where you can see the structure and you can extract many interesting features out of this tree And then these features are fed into the network of these guys and the last possible approach is natural languages processing so In the recent years we we see a really tremendous advances in this in this field we see Amazing models that understand human language and enable us to to solve a multitude of tasks for example question answering and and text classification and many more so So in our case what we can do with it We can take a model Bert is just an example to use the weights That the model was trained on and then we train it on downstream tasks may and namely our task We just feed it documents Which are JavaScripts classified into clear text or obfuscated ahead of time and then the model learns it and adjust the weights That it held learned previously So Our first approach was Inspired by the by the first work. We started simple We wanted to make to build a simple model and we want to benefit from decision trees that enable us to gain explainability it can when we use a decision tree It's very easy to see really which features are affecting the model and how So we took something about 40 features and We trained on a single obfuscator and it turns out that this model didn't generalize So What went wrong? In order to understand that we have to dive a bit deeper into the various obfuscators for JavaScript So here I prepared a list of the most used obfuscators for JavaScript Sorted by the popularity metric of github, which is the number of forks as you can see Aglify.js and obfuscator.io are the most used ones and there are additional ones here So what methods do these obfuscators employ Let's see a few examples So the first thing people immediately think of when they think of obfuscation is Renaming of variables and functions and indeed if you think of your code if you were name it a bit sometimes it makes it clearly unintelligible Even before it might be not really easy to understand So in this simple example, you can see we just rename a few things and it's already looks a bit more intimidating Additional technique is modification of functions Function calls the function arguments and the return values So in this simple example, I just took a function that just squares a number and I show you a snippet of the code It's not the whole code that was result that was produced up after obfuscating it But you can clearly see that The function gets many parameters and returns many things and it's really complicated things a lot Additional key example is a modification of strings By using and coding encryption and string generators, so in this example, we have a simple variable and If we want to to find the strings that were used inside of it like it's you know the Honda Accord car you can see that the strings are splitted and then several Arithmetic operations are used and if you look on the resulting code without having seen the Cleartext one ahead of time. It's really takes time to understand. What's what happens there? And and and the last example in this context is the manipulation of constants So if we have a simple constant, we might end up with some expression Which we need to calculate to to understand what the constant is and there are additional methods like changing the base of integers and Injecting a dead or redundant code, which of course, you know, it's clear what it does complicated things a lot So what are the differences between those those obfuscators and in general between the obfuscators? So the differences are as you might imagine specifically naming methods that the encoding and encryption functions that that I used and some more so more over Most of these obfuscators can receive a lot of parameters to tweak them and that the result in the resulting document the resulting code Looks much looks very different if you run a single obfuscator in mode one versus mode two. So Just an example for for JavaScript obfuscator. It has 40 parameters and the Aglify.js has 30 parameters. So as you might imagine when we compare between different obfuscators that clearly the Output distribution looks different and in in if we think about distributions so We get different Everything that you that you like average length of line length award Function size a proportion of encoded characters and in general this is just an example if we want to Measure the normalized backslash count, which is one of the features that was proposed in the paper that I mentioned before or Ever gender length of line you can see that the differences between the obfuscators can be really big and then this is log scale by the way So before Telling you about the approach that really worked for us. I just say a few word about the data. We train the model on So we use the public data set of about 150,000 javascripts all of them are clear text and we applied four different obfuscators of them and and four because we wanted to Test the model on additional three that them that the model has previously not seen and we We got perfectly balanced data set of about 100,000 clear tech JavaScripts and 100,000 obfuscator JavaScripts equally divided between the Between the obfuscators so our approach combined to Approaches number one and three that I mentioned And and and the idea is as follows we tokenize the input into words and we Calculate the most common words in the clear text JavaScript So we take all the clear text JavaScripts We extract the common words out of it and look on several hundreds of them and then for every input We measure the difference between this input and this app and this calculated distribution. So let me give you a small example So assume that the top three words in JavaScripts are Function document an input and assume that like function appears about once in every 20 words Document once in every like 33 words and input like once in every 100 words So if we have following JavaScripts and and if it's too small, I'm sorry, but you don't have to see the exact details I will just read them out for you So here we have 71 words and If we look on the word function, it appears twice meaning it appears in 3% of the cases The word document appears once and the word input appears and never appears So if we calculate the difference between the clearest occurrence We calculate it as I showed you in the previous slide and the actual occurrence. We can see the differences in red So What do we do with these differences so we feed them into a boosted decision tree And this is very similar to the example that I gave you before And then we just look on the differences between the specific word how how many times it appears and then We can know whether the text is obfuscated or clear text. So I hope this this this is clear This is just the example of decision tree with the different features every feature Corresponds to a top word we extracted from the clear text JavaScripts So it turned out that the performance of our model is is pretty good We were mainly interested in this case in false negatives and false positives You can see that both of them are less than 1% about that this was the product requirement and specifically We wanted So what's false negative in this case false negative means that we are classifying some document as a Clear text when in reality it is obfuscated and false positive means we calculate we classify document as obfuscated We're in reality. It's clear text. So We were interested in in in a case where false negative rate is smaller than the false positive rate and the meaning is Since remember as you as you recall as I said, it's related to maliciousness. So we do not want to flag Cases where people would look and say oh in reality, it's not obfuscated. So we don't want to You know to increase the number of these cases And the next question we asked whether Our approach is generalizable to additional languages and it turns out that that the answer is yes So we looked on Python and PHP for example as I mentioned before they are closer to So the case for these languages since our server side is that male obfuscation and maliciousness are closely related to one another and and This is why in this in this case is it's even more interesting And we got really good results. Of course, we trained these Models on on the specific data set that were chosen for these languages So, let me show you just a very very short demo. This is the QR code you can scan. So we set up a website That you can use it's publicly available with some version of our model And You can just play with it and see and see what's What's what's what's going on? So if we take This script as example, you can see it's non obfuscated Okay, so we can just take it we can feed it into our model. This is by the way a live demo so You can see that the model says that this is a clear text with probably probability is 0.95 Meaning the model is pretty certain and here you can see a sharp values I'm don't have time to explain what what they really are They are just the significance of features that affected the decision So in this case, you can see an example of one gram model Which is a little bit different of what I described before it's one of our models that we built during the development of this project and If we take another example just just a quick one So I took I took a piece of code and obfuscated it so you can see that I'm not sure you can see unfortunately the window is a bit small here, but You have to trust me on that So if we feed the code here Then it said that it's obfuscated. Of course the probability is rounded And you can also see the various features and how they affected the decision. So I cannot promise that this This website will remain in this in this exact form But if people are, you know interested and will use it we might enhance it and we might continue maintaining it so What are what what have we learned in this in in this? project So the first thing is about the relationship between maliciousness and obfuscation in different languages as I mentioned It's not a one-to-one relation but usually obfuscation is a strong signal for maliciousness and It's really cool because I think that solving the obfuscation classification problem is much easier than solving the the maliciousness one in terms of machine learning, of course So we saw that classifying code we saw many problems that are difficult for humans and but even the code even the problem which which mind which might seem simple of classifying the code into obfuscated or clear text is not is not so easy and And as we saw a building a machine learning model that solves it is relatively and not very sophisticated And not too hard Another thing is about the obfuscators. So we had several choices here building a machine learning model per obfuscator is not scalable and Looking on the internals of each obfuscator is not scalable So we use this you can call it a trick or approach of looking on the clear text Extracting the top words out of them which is inspired by natural languages processing Approach and and and this this is really enabled us to solve this problem And another nice thing is that this framework seems general So we didn't test it on all languages But I think Python PHP and JavaScript are like the more the most interesting interesting one in terms of obfuscation And there is no reason to believe that this wouldn't work for additional languages Of course if you train the model on a large enough data set that is properly balanced So thank you so much. I am looking forward to your questions. Hope you enjoy the talk


Alrighty. I don't know how many people can see my screen, but I wanted to show you some cool stuff going on in Hyperledger Ursa. Ursa is a cryptographic library, so it's not like I have a ton to quote-unquote demo. I thought I'd walk you through it, and then I did want to show you it's issuing, finding a credential of the CL signature, because that seems to be the number one feature that people love about Ursa. Right now, Ursa is in the middle of some reorganization. The old folder, which we call Ursa, is in here. There's some advanced cryptographic features in what we used to call Xemix. That's going to go away, but it has the VBS Plus signature, punchable sender signature. It's got verifiable encryption and delegatable signatures. We're going to reorganize all that. The main thing most people are interested in is the CL signatures, which are found in here. Here's all the classes. Rather than walk you through all of that, I wanted to just demo one thing. Let's see here. Yeah, here we go. If you're not familiar with how a CL signature is, CL signatures are a type of multi-message signature, meaning you can sign as many messages as you want into the signature. What allows you to do is selectively disclose any number of those messages so I can choose to reveal some of them or I can choose to reveal all of them or anything in between. The other cool thing about the CL signature is I can do what's called a range proof. I don't want to reveal the attribute entirely, but I encoded it as a number. I want to prove it's over some number, like 18 for my age, or maybe it's the balance on my account when I was issued the credential, not to prove it's greater than something without revealing the actual number. That's what you see with this what's called predicates. You can go greater than or equal, less than or equal, greater than or less than, but most of the time you're not going to be working directly with those too much because usually this is wrapped for you in other libraries. In case you ever did want to, here's an example of multiple predicates where the issuer creates what's called a schema. This is what describes what that credential looks like. In our case, we're saying fun sold and securities purchased and a bunch of other kind of numeric terms, something you might see on a stock option sheet or a balance sheet, and we're going to issue a credential to it. We call it a master secret, but it doesn't have to be called. That could be called anything. What this is saying is this is going to be tied to an identifier that only that person knows, and it's never disclosed to anyone, but they can prove that all of their credentials are linked to the same identity. So that's what this is for. Now that we have our schema, right here we're just plugging in numbers. You can see I just put in raw digits. They're pretty simple. And then I go through and this is just kind of the multi step phase to get the credential because right now it depends on the two phase system where the prover does something first, then sends that to the issuer saying, yes, I accept the credential, among other things, and then when he gets it back, the prover finalizes it because it's what we call a blinded signature such that the issuer can't impersonate the prover in that in that way because he never knew what the signature was in the first place. Now comes the cool stuff. So now we can create all sorts of these proofs. See, I want to prove that this is less than or equal to a hundred and prove this one and a whole bunch of others, and we can create a proof and then send that on to a verifier. Now you'll notice this is all in one function. So when the prover is done here, he would send that on. Not, you wouldn't just have this all in one function. So so by running a cargo test, you can actually see this because this is all in Rust. So if you're not familiar with Rust, that's okay.  There's a bunch more in there that are on their way. So Ursa is mostly implemented and wrapped in, say, Lib Aries or the Aries project in Indy. They both use it and there's some other hyperledger projects that do and the Transact is one of them and I think Sawtooth was going to, but I think their adoption is on hold. There's lots of other things that you can do with Ursa, such as like what's called a key exchange. That's what this is for. You can do other types of signatures in here like e519, BLS, the Bitcoin, eCDSA curve. This is so you can use just a common interface and you don't have to reformat or do things in your normal code if we happen to change an underlying dependency under the hood that might be more secure and what you might want to use. So these are the three most common signatures used in blockchains and that's what Lib Ursa supports is blockchains. So there's some stuff in here that's not quite entirely blockchain based, but like there's symmetric crypto that's implemented in here. Here's kind of two NIST approved signatures and these two are like if you're a Libsodium person, then these are compatible with Libsodium. All right cool thing about Ursa is it's been, there's been a lot of eyes on this cryptography code, so it's underway to get audited, but in the meantime there's been lots of cryptographers and crypto engineers that have looked at this and made sure everything is accurate and so you shouldn't have to worry about whether it's insecure back doors. If you all look for back doors, this code's open source so you can look at it yourself. So as far as running tests or anything else, this is Rust, so anything that you can do from the command line will work. These are just running everything. FFI stands for foreign function interface, so if you're going to wrap it and go to C, this is what you would use. This is demoing what it looks like for revocation or just a plain demo. I will walk you through that code here now. So what that is doing with CL signatures is one of the things is if you want to do, if you want to issue a verifiable credential, it's pretty important to be able to revoke a credential. Let's say there's just bad data in it or in the case they think of a driver's license, they've committed to many DUIs so now I want to make sure their credential is completely and utterly useless. In the visual world that's a little hard because there's not a centralized database necessarily that everybody checks and you may want to prevent correlation. So what I'm doing is I'm searching for the test. So just give me a second while I find it. I think it's kind of, yeah here we go. So here's an example of a credential that just has kind of some basic attributes about someone that are going to get signed in there, but it also keeps track of what's called a revocation ID. Now in zero knowledge, we check that this credential has not been revoked in such a way that whoever is verifying it doesn't see the exact ID that was checked. It just knows is it in the set or not. So think of it as a set membership check where you don't know which element out of say 10 million was checked, but you do know whether the element was in one of those 10 million. So if it had been revoked, it wouldn't be in the set. That proof would fail. So in that sense we have a whole bunch of kind of proofs going on here. And so how this all works is remember the CL signatures, we're selectively disclosing some attributes to a verifier. We're never revealing the exact signature. We're presenting what's called a zero knowledge proof of a signature and we're presenting a zero knowledge proof that it's in its revocation ID is in a set that hasn't been revoked and some other numbers like age and height are greater than some thing. So there's quite a bit of zero knowledge proofs going on here. So ERSA has a lot of zero knowledge proof stuff that's probably the one thing it has to offer over any other library. This is what's actually replacing CL signatures called BDS plus. If you've been involved in this committee for a while, this is where the code has been written and maintained is in here. And it works very similar to CL signatures except that it's much smaller and it's faster than CL signatures. So pretty cool. Here's the source code. If you want to use it, if you don't care, you can go to one of the other wrappers that say matter global has done. But then I wanted to leave the last five minutes for questions. Are there any questions? Let's see. Can you go through how all the ZKPs are aggregated into a single proof? Yes. Let's start with the CL signature because that's what most people care about. So the CL signature, we have what's called an aggregated proof. And this is what's called a schnoar proof.  Say you've got your zero knowledge proof of a signature, your revocation check, all your range proofs, your selectively disclosed attributes. There's a whole bunch of all those proofs. So each one of those is a proof. And then when you say aggregated into a single proof, there is one what we call a schnoar proof that kind of combines them all together. And that is what you check in addition to the individual ones. Because the individual ones like you might have some pass and some fail, but then there's an overall proof that will fail if any one of those has been modified or tampered to make sure it stays accurate. Which language wrapper do you plan to implement in the near future? It depends on demand. So the highest demand ones are node, a C wrapper, which can then go to C sharp or Java dot net. So those are probably the most the ones we want. I'm not sharing my screen and yeah, nothing more. Any other questions? Why do we check? Because the overall proof could still succeed even if one of the other little individual proofs fails. So let me give you an example. I could do a range proof, which the proof itself has not been tampered with, but the value I'm checking it against let's say I'm greater than 18. If that might fail, but the overall proof still succeeds. So meaning the signature was still valid, everything else about was valid. I'm just not over 18, for example. Ending in one minute. Dan, CL signature and Ursa plus equals original CL plus range proof. CL signatures support range proofs. So as far as we know, we are the only CL signature that's open source. There is one in ID mix, but it's not open source. All right, with that, that's the end of the session. Any other questions, feel free to contact me outside this on rocket chat. Thanks.


So let me introduce you to my grandfather. His name is Franz. He's 88 years old, and he used to be an engineer at Phillips. My dad took this photo of him recently, and you can see he looks quite happy. But that wasn't always the case. My grandmother died six years ago. And after her death, he felt like he couldn't stay in that big old empty house anymore. So he moved into a retirement village. But he really hated it. He couldn't adjust. He became, over time, quite negative and withdrawn and bitter, and it was a very difficult thing to see. But then, about a year later, something changed. And he changed. He started telling stories again and cracking jokes. He became a lot more social. He even started a board games club at his retirement village. And he loves it there now. And so it's really wonderful to see him happy again. So the reason I'm telling you about my grandfather is because I think he has shown remarkable resilience. He faced the adversity of losing my grandmother and having to move out of his home. But then he bounced back from that, and now he's really thriving. And so resilience is something that we all could use. Our world is changing, and a lot of Australians have to face quite difficult challenges. Think about farmers having to cope with things like major droughts or police ambulance worker firefighters having to attend to quite nasty scenes regularly. And resilience is also about more than those big impactful events. We constantly have to face everyday challenges over and over and over again. Those of you who have become parents think about the challenges that that came with. Or if you've become a carer for someone. Or if you find yourself having to sit through 12 presentations in one evening. So the problem is that not everyone is as resilient as my grandfather turned out to be. And poor resilience is associated with a range of problems, including both physical and mental health problems, an increased risk of suicide, which is a big problem in farmers, and also things like loss of productivity at work or at school, and substance abuse problems. So the question is, what makes one person more resilient than another person? There's some things that we know about resilient people already. For example, that they have quite strong social networks. But there's also a lot of things that we still don't know. And by figuring out more about resilience, we will be better able to develop programs to help people become more resilient. So my research looks at what goes on in people's brains to make them more or less resilient. So with my grandfather, it wasn't something in his environment that changed and allowed him to adjust to these changes in his life. It was something in his mind, something about the way that he processed the information around him. So in my research, I tried to find those cognitive processes, those cogs, that make resilient people who they are. So for example, in one project, I'm looking at whether older adults who have developing care needs, whether they are more resilient and can stay at home for longer if they are better able to see things from multiple perspectives. Now I really love doing this kind of research because I think figuring out these brain processes is part of the key to helping people become more resilient. Thank you.


need to be seen, you need to raise your visibility so you can raise your credibility and the trust that people have in you the more they trust you the more likely they are to invest in you to help them achieve the things in their life and business and health, wealth, mindset whatever it is you do they need you to show up so they can find you otherwise they're going to find somebody else that's nowhere near as good as you so it's your duty to show up it's your your right to show up and be the one that they do business with but how they're going to do business with you if they can't find you so the key is to stop making it about you step out of yourself and step into their shoes when you are making it all about them when you're making it all about the service that you're providing when you're making it all about how you can support them you don't have those worries about yourself because you just go straight into supporting and serving them right