The Supreme Court has just ruled affirmative action, specifically race-based admissions into elite universities. As unconstitutional, David, this is going viral, tens of thousands, hundreds of thousands of comments on the internet, lots of emotions, lots of perspectives. Let's talk about it. Yeah man, this went viral. I think there's like 200,000 internet comments on this, so this is actually like beyond viral. To be honest, I'm a little bit surprised that people care so much, but I had to think about it, Andrew, and it's because it's not really the specific case in the ruling itself and the micro-impacts, but what it means in this like macro-narrative war, you should say, or perhaps race war. The race wars of America, the race war. It just keeps going. So, but this is like one of the things that people were talking about for years.  But anyways, guys, we're going to get into it because we have a lot of different perspectives laid out. I think something that raised really good points on both sides, so I do think it is a complicated issue, and it kind of depends on just who you are, because if you're looking out for your own interests, you're going to be thinking one way. And if you're looking out for your own interests on this side, you're going to be thinking another way. Anyways, guys, please hit that like button. Check out other episodes of the Hot Pop Boys as we try to unpack this. Yeah, I mean, if you guys want to get into the details of the actual court case itself, we made a bunch of videos about it. I want to just get into the reactions. But real quick, Andrew, I got to say this. Can you see why people can say that, oh man, the white oppressors use the Asians against the blacks and Latinos? That is a common, I guess, narrative that you're hearing. And can you see how people would perceive it that way? Yeah, I think that there's so many different ways to twist this, and I think that is one of the ways to look at it. Unfortunately, and I hate that when it comes to college admissions, it has to turn into a race war, because usually you would just think like, hey, you know, the people who need help and also qualify should get it. Like, it sounds simple, but obviously even college admissions officers, they have conflicting pressures from, oh, I got to get the money and then I got to get diversity and all this other stuff. I don't know if John Wang and, you know, all the other Asians that were involved in this lawsuit case saw it this way, but I could totally see how people who are more intersectional or more extrapolating it. By the way, guys, I think that not everybody is required to link everything to macro narratives, right? Even though you can say that there is an extrapolation of onion layers out to a macro narrative, not everybody has to think about that all the time in their life, right? But you say that it feels like that this was a case of Asians looking out for themselves and kind of being selfish about what needs to benefit Asians, which is okay, because everybody's selfish. Every group is selfish. Everybody needs to think about themselves. Every group is selfish, guys. But it seems like that when Asians wanted to care about what they care about, then other people got mad. Yeah, it felt like the left was basically saying, hey Asians, you guys can care what you want to care about as long as it aligns with our macro agendas and narratives. So, like we said, guys, that's why it's so twisted. Nobody's right or wrong. There's just different positioning and there's different incentives and things like that. You could also say, Andrew, that Asians were being used as pawns by white liberal guilt, too, though. So that's the flip side of it. Point number two, Andrew, Asians were absolutely getting screwed in the admissions process. It's true. That's the fact. And also, the case is really based around UNC and Harvard, but especially Harvard that came out and said that Asians rank low in the personality and character scale. And that's why they had to reject some of them, even though they had great extracurricular GPA and SAT scores and all the things you needed to get into a good school. So that's really the problem that was the racism right there that was being accused, right? Guys, it's not about like, oh, like, oh, I'm just tired of seeing all this diversity. It was actually literally because Harvard's excuse was that Asian people had bad personalities and character, which is obviously extremely hard to judge. Right. But people are going to say who set up the lawsuit, even though the lawsuit had some legitimate aspects. Did it have some illegitimate aspects or was it like macro intention this way or that way? Like I said, there's so many arguments with valid points back and forth. Andrew, also, I do think Asians, Andrew, were being crunched from both sides, right? They were getting crunched by the affirmative action, also were getting crunched by legacy admissions. However, which one would you say? I would argue, almost argue is that they're more getting crunched by legacy admissions, but because America is so capitalistic, nobody is going to question that side. Well, you can't touch the legacy, man.  You can't cancel us because legacy is everything. Whoa. Canceling us is like canceling America. What are you going to do about it? No, I mean, to an extent it's really weird and it's messed up because that's why I guess it feels like, oh, the rich white people are putting the minorities against each other and it shouldn't be like that. But that's how it feels to some people. Somebody said also Andrew, there's also so many opinions that are literally like 10 levels of spectrum.  There's actually like a ton of opinions. It's more like an opinion triangle or quadrants or maybe like a Pentagon or something like that. And it really has a lot to do with, like we said, Andrew, your incentive, your self incentive in your positioning, right? Which side of the coin? Andrew, if you are born on the head side of the coin or you're born on the tail side of the coin, what do you want the quarterback to flip? You want the quarterback at the beginning of the game to flip your side. Yeah. Because that's the side that you were born on. And I think it also has to do with how intersectional you think about race or history and the scope of that intersectionality if you do believe in intersectionalism. Yeah. And I also think it also goes to show you that race is a little bit too simplified. I get that race does have a lot to do with culture, but now that so many people are mixing, you almost need to be more specific about not just the race because what, there's only three, four races. Like, and then it's like, what type of Asian, what type of black person? Are you African? Are you immigrant?  People don't like busting out the 128 crayon box. Andrew, they want to use four crayons. It's tough, man. It's tough. People absolutely in America, absolutely from an institutional infrastructure level has to address historical injustices. But how you do that and how you implement it, that's all in the details. Yeah. Yeah. I mean, absolutely. Like it's like you're almost trying to fix things at the, at the very end of the funnel versus actually trying to fix things at the, at the base level of the pyramid or something like that. You're just trying to focus on a few landmark cases at the very top of the pyramid just to say you did something, but it's not actually addressing structural inequities from historical oppression and the ramifications that are multi-generational. Also, Andrew, I want to say this. A lot of Asians, because we come from sort of this type of family and we're familiar with a lot of families, they do make sure that their kids pretty much dedicate their lives from zero to 18 to getting into elite schools. Yeah. Like more than any other race. It is a big part. I feel very confident saying that. No, there's statistics saying that Asian students study more. That's, that's like it's, it's. It's just part of the culture. I'm not saying that that stat is like, you know, nuance, but I'm just saying overall it's true. There's so many details that murky up every discussion. And I feel like that's why there's people on opposing ends of this argument that feel like they're 100% right. Andrew, like we said, nobody's going to question the presence of ultra-rich connected white legacy kids. You know, they get on the team, whether it's through donating a library wing or getting on the rowing team. Right. Who does rowing? Who's good enough to get on the equestrian team to get admittance? Right. You have to grow up with that. People saying that Asians have bad character, which is basically saying like the lameness score Asians. Basically Andrew, some of the white liberal admissions officers were basically saying that Asians are not cool. Yeah. I mean, that's, that's kind of what they said. Yeah. Does somebody who is black but come from a rich African elite family count as somebody that is still like part of the oppressed group? Exactly. And I don't know because guys, it depends.  Right. If I'm Marco Rubio or I'm Ted Cruz, do I count as Latino diversity? Even though I'm like pretty much from a rich elite like Spain family, but I speak Spanish, but I'm from the Caribbean. Exactly. Or like you're from an elite, you know, Nigerian family, for example, I'm not saying all Nigerian families are like that, but you know what I mean? Like I guess there's so much nuance there. Right. And like we said, there are certainly groups of need help, but where is the detail where the nuance, right? And do you think that ultimately basically everybody feels that Asians will just be fine? So Asians are sort of the one group that is asked to sacrifice the most. Like I'm saying that there is a larger narrative. And I feel like this exists on a lot of sides, middle class, upper class, lower class. They're just like, yeah, you know Asians, they'll just figure it out. Like, you know, we got other problems to solve, but the Asians concerns, they sort of rank low. Yeah. Honestly, and it's a gift and a curse that Asians have been able to just kind of put their head down, study their way into things and take all the hits and take all the punches. But literally that's what people think. They're like, yo, don't worry about the Asians. They're going to do them. They'll be fine. Oh, they couldn't get into Harvard. They'll get into like University of Michigan or Berkeley. They'll still have a fine life. They'll be fine, guys. Like just don't make any laws for them. Don't help them out. They're good. Right. Or maybe it's the Asians fault, Andrew, for not accumulating more political weight so people actually care about things that Asians are going through. But not all Asians go through the same things. Like we said, you know, you could be from a rich Asian family, like a crazy rich Asians thing, or you could be from a refugee family from an internal war in Asia as well. Anyway, Andrew, let's get into the comment section. We can't get to all of them, but I'm going to try to get to some of the main ones. Andrew, this is a general right wing opinion, but I would consider this a moderate white right wing opinion. Harvard used historical racism to justify a new form of racism. Two wrongs do not make a right. I would say that this was a general opinion. Andrew, this is more of a centrist general opinion that I saw from the comment section.  Yeah? Well, I think this is the tough thing is about American colleges is that it's not like super subsidized by the government. So they do need to make money. Like Harvard obviously needs money. Like every school needs money, right? To pay for things. So legacy students, they do statistically make up more of the donation dollars. That's a fact. Right, right. And they're more involved as alumni in the alumni network. Now I'm not saying that that amount of legacy students should stay in. But I'm also not saying that all the legacy students are under qualified. That's untrue too. Right, right, right. Yeah, like we said, dude, this is so complex and so layered. We're just going to try to sift through the layers as clear as we can. You guys are still going to come up with your own conclusions at the end of it. And you know, some people are not going to change even with new information. Anyway, Andrew Robert F. Kennedy, who is running for president, part of the Kennedy family junior, he had the probably most viral tweet that sort of represents a general left liberal approach. Somebody said, regarding the Supreme Court banning affirmative action in higher ed, I know that many Americans feel that purely race-based decisions are unfair. However, this feeling misses important context.  Affirmative action understands this and uses race-based policies to undo the effects of racist policies. Colorblind admissions tend to favor those who are already in the circle of privilege. It favors those who grew up in affluent, educated households. Wouldn't you like to invite those in who have been left out in the cold? Andrew, he did. This was really well worded. The Kennedy's still got it, Andrew. At least when it comes to speech writing. No, I mean, that was a good bit. But I will say this, the Republican candidate, Vivek Ramiswani had a response to that, which I thought was interesting. So they were responding to each other on Twitter. So you can read both and see what you think is. Twitter is the new American debate stage, right? I mean, I would say that Robert Kennedy, he had some really sound logic here, right? But obviously the execution is in like, like what he's saying in the macro is completely true. But we're talking about this specific case, which is actually super micro, but everybody's arguing about it already in the macro. Well, people argue about it because they think like, oh, if you can't get into the elite college, if you get rejected, then what chance do you have getting into those elite circles of power eventually? So this is a little bit, I guess I see what people are saying where it's like, it's really looking long term for people's careers, right? Yeah, somebody said, you know, everybody says that our unity is our strength and diversity is our power. But I'm telling you this, guys, I'm being honest. Diversity divides. Everybody's just seeking what's best for themselves. America's doomed. Dang. This was coming from, I don't know, I'm assuming this guy's white, but I'm not sure. I mean, what do you think of this, Andrew? Because it doesn't show right now that like, everybody's sort of going what they want for and then some people are just keeping that issue compartmentalized, but other people are drawing like all these larger extrapolations from it and now they're arguing and they can't agree on anything. It's crazy because like, even if some rich white people want to say, you know, we're sorry for what we did. And here's these new policies that are going to unfortunately affect Asians and the Asians are like, wait, why do we have to suffer from this? Right, right. They're like, here's these spots you guys deserve it because we kind of mess with you guys. Take it from the Asians. Yeah. I mean, really what should happen is that just more minorities should become legacy kids. And this is obviously one of the ways that they do become is that they have to go to the college first. Right. So I guess that is an argument for it. Like we said, guys, there's a lot of valid stuff on all sides. Somebody said Asians are being used by whites again. Those in the comments to this are either blind or in denial. I mean, I think that this is an interesting comment basically saying like, but like I said, not everybody thinks about intersectionality and the scope of intersectionality in the same way. Someone saying Asian people being used as pawns in the white man's game. Sad to see. Andrew, this is a pretty popular perspective. Obviously there was people in the comments calling them boba liberals and stuff like that. Yeah. I mean, this is a popular sentiment within the Asian American community. I would say actually quite a few Asians. I would say a lot of Asians seem to agree with it because I think at a baseline, you're just like, oh, Asians are not getting screwed anymore. Good. And then there's all these other perspectives that are tied into it. Yeah. Somebody said, listen, you guys, it's really telling what we had to side with the devil just to get a discriminatory practice against Asians repealed. Somebody was saying that was almost like a 50-50 comment like, yeah, listen, guys, we didn't want to side with the devil, but look at what everybody made us do. It was so bad on us. And I think that that's a valid argument too. Like I said, it just depends on your perspective, man. Somebody was saying this is an Asian moderate perspective, pretty much really stressing that it needed to go off zip code because extra benefit needs to be going to disadvantaged people from poor families, from poor communities in general, not basing it off skin color. Right. Yeah. I think basing it more off economic status is better. And I think that that would still help African-American people. I think it would still help, even though there's still holes in it of like, oh, who declares what money and how much money do your parents make? But regardless, I think that's another metric that really does matter. Yeah. Honestly, I think a lot of people are like scared of talking about the economic angle, but like zip codes are pretty good teller of generally like how somebody grows up, right? I mean, it's not 100 for 100, but this way is not 100 for 100 either. Somebody said, man, a win is a win for Asians, man. At the end of the day, Asia's just finally got one. I don't care if the Republicans give it to us or the Democrats give it to us. A win for a win is a win for Asians. So this was just a very Asian-centric one. Somebody said, what if we kept affirmative action around, but then just expanded it to include Southeast Asians, which are five times ex-statistically more to see moderate poverty or home instability? Right. I guess this is, we're talking about disaggregation of... Of the Asian world. Of stats, yeah, to be more specific, right? Because there's different types of Asians now separating it. Different life experiences, different immigration stories, immigration waves, refugee... Again, I think it should go back to economics of the family because I think that it's hard to just say like, oh, all East Asians are fine because obviously there is a lot of Chinese in poverty and China would not count as a Southeast Asian country. Right. Mainland China just became economically developed like 10 years ago. Right.  Yeah. And like we said, Andrew, what if you say all Southeast Asians get included in affirmative action, but then it's just like Chinese Indonesians using it or Chinese Filipinos. Right. The Chinese blood... Because those actually have a gigantic Chinese diaspora in the Southeast Asia as well. Somebody said, if you agree, whether you agree with this or not, at least now the liberals will have to come back to the table and give Asians a better deal because we finally swung an issue. This gets the ball rolling, guys. Anybody who cares about Asians getting politically active, this is a win. Even though the win came from the side that we didn't anticipate. Oh, that's really interesting. So this guy's taken a more long-term approach of being like, hey, guys, at least Asians showed that we could move something. Right. Needle movers. Now maybe it was a little controversial, but we're needle movers now and now we can move other things. Yeah. Dude, Andrew, that was like an inception, like meta of the meta thinking. So this was a opinion from a black guy and a Mexican guy that said, you know, the biggest trick was letting Asian Americans believe that affirmative action was holding them back from getting into these prestigious colleges, man. It just saddens me that a lot of Asians and Asian Americans fell for the craziest talking point when the numbers didn't even support their claim of being of African Americans being the reason for their rejection. Basically, just because you guys got denied, your feelings got hurt and you wanted to tear down the other minorities, that's not a trick by the white man. Dang. Interesting. I don't, yeah, I don't know. But yeah, I mean, that's an interesting comment. Yeah. I mean, like I said, guys, I don't blame people for having that perspective either. Like they're looking at it through their lens and seeing what they're seeing. This Mexican guy said, yep, these Asians got played by the whites. This is a moderate left-black opinion, Andrew. This girl said, I'm African American and I do feel bad for them, but you guys got to understand that Asian Americans are still only 10% black and Latino combined and at some of the other schools, we're at 2%. So even if it was slightly unfair to Asians, it's not like we were eating up a huge percentage of what Asians were going to get into. So this was a moderate black opinion saying, yes, it does somewhat hurt Asians, but come on guys, look, our numbers are already so incredibly low already even with the help. And I thought that honestly, honestly, I thought that was a fair point, man. Somebody said, yeah, otherwise this legacy schools, legacy students is what make these elite institutions even count as elite.  There is some truth to that. Yes, a lot of the legacy students is what makes the Ivy Leagues Ivy Leagues, right? Yeah. It's like the connections, the business connects and the alumni. So this was the argument against like getting rid of the legacies, right? Guys, I don't know if there's any perfect answer. There's no perfect answer. There's no perfect system, man. Somebody said, this is from an Asian. This is just going to disproportionately affect hardworking black and brown students. They're already at a disadvantage because so many of them come from lower income, lesser opportunity schools in poor neighborhoods, something that is not their fault. They were just simply born into this. Yeah. I mean, like I said, guys, there has to be done more from a structural level. Whether Andrew, Andrew, free preschools, free something. I just think like a lot of things there, people are like trying to fix it superficially so late in the process. You know, somebody said it's all about developing a thriving middle class for any race, but particularly for struggling communities. And I don't know if this thing like really impacts the middle class.  Like changing an economic structure or providing just building a strong middle class, right? Interesting, interesting. And Andrew, what did Vivek Ramaswamy, who was also running for president, he got at Ted Robert Kennedy, who's also running for president? Yeah, this is interesting. So he responded to the tweet and said, the affirmative action is about, is not about letting those who have been out in the cold, that's wrong. The majority of black students at Harvard right now are not descendants of American slaves, but descendants of immigrants giving special preferences to someone who looks like a person who once suffered the injustices in America is not what it's supposed to be doing. We should finally embrace colorblind meritocracy in America rather than try to repeat our past mistakes. So I think basically this is a informed conservative opinion when he's basically saying like, hey guys, right now the black people who are benefiting from this affirmative action already are not even the black people who should be because there's different types of black people. Right, right, right. Like we said guys, I think there was 250,000 comments, maybe 2 million comments on the internet. Obviously we could not get to all of them. We tried to highlight some of the more interesting ones. If you guys have any interesting ones, let us know in the comments section below. Andrew, let's get into our takeaways because a lot of people are just like really fighting over this issue. You know what I noticed, Andrew? This issue was emotional for a lot of people because they're extrapolating it to be white versus black, oppressor versus oppressed. Asians are somewhere in the middle being used as a pawn for either side, right? But the truth is in my opinion, everybody's got valid perspectives, but they just on different sides of the coin or different numbers on the die. It's almost like feels like you know when you're playing in a basketball game or a football game and you disagree with the referee call.  Or one team's gonna love it and one team's gonna hate it basically. So that's just what it feels like. But it's like the referee is just trying to do its job and then everybody's like depending on your position, if you're up in the game, if you're down, if you're the home team, if you're the visiting team, you hate it. Yeah. I think my biggest takeaway ultimately is that obviously I believe in having policies that help uplift black heritage, you know, foundational black people, any sort of Latinos that come from a very poor background. I support all of those policies. I don't know if this is the best policy though. And a lot of policies, Andrew, they actually need amendments or they need upgrades or they need refreshes or they need reform. But in America, it's either like you just go with the old law or just strike it down. So it's like kind of a bad system that creates a lot of animosity between people and divides people when everybody should just be focused together on upgrading the law to mitigate. Not every law is never gonna be perfect, but you try to mitigate the downsides while maintaining the things that the law is supposed to help or alleviate. Right. And it is like, man, this almost is viewed as pretty much a rich white versus like poor black issue. Essentially, it's how people are boiling it down. Yes, yes, yes. And then Asians are villainized and getting caught up in the middle. Yeah. Which is very interesting to me, you know what I mean? And I'm like, so Asians who are not white and not black, but because we just really try very hard and honestly, a lot of Asian kids just focus on getting into those schools and they study hard and they really want to be successful and have a hyper-achievement oriented. Maybe to a fault. Yeah, yeah, right. Maybe possibly to a, I guess, horse with blinders on way. Yeah, I'm Asian. I could say that for some of them, but regardless, it's almost like the yellow's getting caught in the middle, man. Do you think if Asians did a better job of supporting each other, that we could have a political entity that fights for Asian rights without getting caught up in this white black binary where it seems like you're either basically supporting, I guess, like white liberal guilt or white, I don't want to say racist Republicans, but just white conservatives that are very not as sympathetic to people's circumstances. Yeah, yeah, yeah, yeah, yeah. I hope so. I hope so. I do hope that this is a step in the right direction. I do not think this means that all Asians are Republicans. I do not think that all Asians are conservatives now just because of this. And I don't even think that all conservatives are right-wing nutjobs and I don't think that all left-wing people are like progressive angels either. I think that that's a bad characterization. And I really think it's wrong if Asians who are fighting for this are always like, yeah, like, look at this black and brown student. Nah, you know, like, I think that's the wrong attitude too. You know, you're just, they're trying to fight for fairness without all, like, I guess the hate behind it. But is it inevitable because the larger groups that have the larger agendas each other, they're like viewing this through their lens where the Asians were really just like some nerds that really wanted to get into an Ivy League school.   Yeah. And that's how it feels because there's only so many limited spots in these schools.  I hate that that's how Asians politically get the ball rolling in America, but we don't know the long-term effects. Maybe the left comes back and starts caring about Asians too. Yeah. Who knows, man? Like we said, guys, maybe we're being traded as a pawn, but this is just what happened, guys. Let us know what you think in the comments section below. A lot of perspectives, a lot of valid arguments. But at the end of the day, I don't... One thing that I wanted everybody to take away from it, Andrew, is that everybody's got valid arguments depending on how they're looking at it, the scope of intersectionality, or if they even take intersectionality into account at all. All right. All right, everybody, let us know in the comments down below. And until next time with Hop Hop Boys, we out. Peace.


All right, welcome to our third tutorial session for the Q2 Hackathon and happy to welcome Joshua Lambert, another team member from the product management team.  Thanks Ray, and thanks everyone for participating in our Hackathon. Really appreciate it. It's a great event. I am Joshua Lambert, product manager here as Ray mentioned, and I am currently working on our scaling team. So, essentially as GitLab grows and as the PM team itself grows, we're actually looking to double the team this year. It makes sense to have a more sort of cross-functional person focused on helping to improve the efficiency and effectiveness of our PM team. So, I'm trying to do things like help to automate some tasks that are previously done manually, help to have better data feeds coming into the product teams, we have better sensing mechanisms for what people are using, what problems they're having, and things like that. So, that's kind of what I'm focused on right now. However, this is a recent change for me up until a couple of weeks ago, I was working on our distribution package and monitor teams, and so for the Hackathon, it might make sense I think to try to focus there perhaps on one of those stages as opposed to sort of my role, which is sort of a little more of the internal side of things, internal opsie things. So, this is our team page if folks haven't seen it, you can get a sense of everyone in the company and what they're up to. I'll just share some links as we go along here so folks can get a sense of our pages and how they're structured and how to help find some resources, since all of this is public information in GitLab and of course the way you can help to contribute regardless of whether it's currently a Hackathon or not. So, cool. So, that's me. And let's talk about perhaps in the monitor stage here would be a good one to go through and give a little tutorial on. So, if folks aren't aware, we have all of our stages and groups and categories laid out in our product cam book. I'll paste that as well here for folks who are finding, but if you just search for GitLab product categories, you'll go come right here to this page from Google. So, here is where we list all of our again stages and groups and you can see kind of a nice way to kind of visualize and think about these stages and how they fit together here on this graphic. So, we'll be talking about the monitor stage here, which is a bit on the tail end of sort of the DevOps cycle here. And that way you can kind of think of this as you kind of plan your sprints or your next milestone, you engineer it, you build it, you then test it, package it up, deploy it out to staging or wherever you're deploying it to, eventually it goes to production, you configure it and then you try and of course monitor it to make sure it's running as you'd expect it to run. So, this is where we're kind of sitting here now and the goal of this stage for GitLab is to help really kind of increase awareness and user experience of some of these monitoring tools and operational tools in GitLab sprinkles some of the analytics where it makes the most sense. For example, if you could take, for example, some of your errors from a century and you can imagine being able to see, for example, how many errors they have been caused by a particular merge request in the error tracking page or directly on the merge request itself. So, great ways to help sort of provide that information contextually where it makes the most sense no matter what kind of context you're looking at in GitLab, whether it's in the planning phases, the merge request in great phases or elsewhere. So, that's kind of where it fits, right? So, you take all these things or you take your operational learnings and you're trying to funnel them back into the planning phases and then help to hopefully improve things as far as your next iteration. So, that's what we're looking to here on the monitoring team. You can kind of scroll down and get a look at all of these and how they fit together. We'll jump on down to monitor here, monitor stage. And you can see we've broken it up across two different groups. So, we have our APM group which is focused on the metrics trace which is focused on error tracking, cluster monitoring, synthetic monitoring, incident management and status page. You can also get a sense of kind of what we think the current maturity of these are here with these kind of tags, right? So, viable would be that, you know, you can certainly go ahead and use it. Minimal would be sort of we have our first iteration done but there's some work to go before it really kind of has a more more usable surface area, for example. And we have definitions of exactly what those mean on our product maturity page if you want to learn more. But let's go ahead and take a look quickly at the product vision here for monitor. This is under direction monitor. I'll share that link here as well. And all of our stages have, by the way, have for each stage name here under the direction you can go ahead and find them. And you can get a sense of kind of where we're at when we're going here with our video. Incident management is one of the features you're working on for this year. We've actually just shipped the kind of first step towards incident management. So, incident response in 11-11 with the ability to actually create issues from alerts you're getting from previous. But you can get a sense of each of the categories that we have, more detail on them here. And then also with documentation if we have some initial support out, as well as a vision page as well, which talks a little more detail around that particular category, why we're doing it, and how we plan to sort of really take it to the next maturity level, right, with its minimal to viable, its viable to complete, etc. So that's a bit there on the monitoring direction page. What we can do here, right, if it makes sense, maybe to give folks a kind of quick spin as to the monitoring features. And I'll talk about some of the, you know, I have some issues that might make some sense along the way. That sounds good. Cool. All right, great. So I have a personal project here, which I've gone ahead in the interest of time sort of created. This is actually utilizing the Java Spring template that we have in GitLab. So I've gone ahead and just simply went through and clicked on essentially new project. And then went ahead and picked our spring project template. And you can go ahead and get the exact same kind of project here by doing the exact same thing. The other thing I did is I've gone through and I have attached a Kubernetes cluster to this project. As you can see here, by going in and just essentially clicking on add Kubernetes cluster. And then I would add cache ones pretty simply there. But those are the two steps I've kind of done right now as well as turning on autodevops as well. Autodevops, if you haven't seen it, I think we had a configurist for a hackathon last year, but essentially provides an out-of-the-box breast practice set of CICD templates to really build and deploy your projects. And it has some kind of intelligence in there to help protect the language type, build it and do the right thing and then ship it. And so that's what I'm using here to go ahead and get that deployed. One other quick note as I have is I've also deployed our ingress and Prometheus. You can simply click on the install button to go ahead and get those going. But this is kind of some of the foundation to sort of get monitoring up and running in a relatively easy way. So you can really just attach a cluster, click on deploy for Prometheus and then you'll start getting things like your CPU memory utilization and things like that from the cluster. You also, of course, can zip along and change your window scope here as well to get more details. But that's it and I'm ready to go ahead and start working with monitoring. For folks who would like to contribute, we do have one other thing to keep in mind here, if I can spell correctly, which would be our GitLab GDK. So if you're kind of working on some of the Prometheus-related features, if you wanted to, we do have a documentation O2 on how to set up Prometheus and get that going for a given set of projects. And so that can help you get going if you might need to have Prometheus hooked up to GDK to then kind of test your work. So that can help you get started there if you're looking to contribute and actually need to go ahead and test some of this stuff locally. GDK for folks who might not be aware is our GitLab development kit. So this can help you to go ahead and get started with GitLab and install it and then start working with it locally on your machine. But so some of the basics there for how to go ahead and get started. And so let's take a look at some of the GitLab features here, so around monitoring. So I've gone ahead and actually have our environments tab here. And you can see that I've got a deploy to production. This is using the autodot feature that went and deployed it. And you can see here we have one pod running currently in our production instance. I can actually click on this. Remember I mentioned logging was one of our categories. And you can see here we actually have a direct pod log coming in from Kubernetes. So you actually have a sense of what this looks like. And if I had multiple pods, I can also jump between the different pods here in this little drop down. So that's kind of a nice way to simply get access to these logs without having to go ahead and run kubectl logs or do some other kind of service. In the future, we are looking forward to improving this and providing some search capabilities as well as some more persistent logging. And we're kind of thinking a close look at the great work like we're kind of doing with Loki, how to have a nice sort of lightweight logging approach that we're looking to hopefully leverage here in the coming next few months here. So stay tuned for that. In the meantime, you can simply get these logs from Kubernetes itself. So that's pretty cool. You can go ahead and get your logs there for that particular pod or really any pod you have deployed. We also have a monitoring button here which you can access for a given environment. Which of them pull up a monitoring dashboard or you can simply click on the metrics tab over here to get a sense of what these metrics look like. You can get a sense of here, for example, the error rate, the latency, and throughput. So what happens here actually is that we have some out-of-the-box sort of dashboards or some recognition for some commonly deployed services, mainly around things like response metrics and system metrics. So we took a look at your Pyramid Theosaur that was deployed. And we saw it was picking up to mention next ingress metrics as well as some Kubernetes metrics. And so we went ahead and simply rendered these in the dashboard out-of-the-box for you. So you didn't have to worry about doing any of this yourself. You can also go ahead and change, for example, the timeline here. You have a better sense of what that looks like if you can zoom in here to 30 minutes and take a bit of a closer look at some of these values here. You can see here our latency has gone up as in certain cases, perhaps a submissional loop and through on this platform. So let's hook two or some metrics here. You also can of course add your own metrics as I mentioned before, whether they're business metrics or response metrics. You can simply provide us with the Pyramid Theosaur query that you'd like to use and then some simple things like what the labels and things like that should be. And we'll go ahead and add it here on the dashboard as you can customize this to your own liking. In the near future, we're also looking to also add some source control dashboards so you can define them in the annual, in your repo. And you can have a difference in the dashboards loaded for different services or things like that as well, in addition to these sort of out-of-the-box detected ones. So it's a bit of a quick tour there on the metrics. Oh, also I mentioned if you have a higher tier of GitLab, you can also take advantage of some of our living capabilities. And so for example, you can say that if the alerting threshold goes over, say for example, 1%, I can go ahead and add an alert and you can see here that I'll start of course getting some alerts here shortly as we've exceeded this percentage on this given deployment here. And I can go ahead and I can remove this alert as well. So some examples there on setting some alerts. A couple other quick features here as well. If we go into the operations tab, or where they are on, you can see some other options around things like error tracking and incidents. So you can see we can actually tell GitLab to create an issue and then pick a template if it wanted to when alert is created. And then also we've configured, I'll reset the scene. I forgot that the token shows for a century integration. So I mentioned before kind of earlier on that we're looking to sort of be able to really provide some contextual analysis of some of this data. So the error tracking here currently in our first iteration is a bit of a list here of the errors we've seen from the project. But also we're looking to go ahead and leverage some of this cool century integration that we'll try and find sort of like suspicious commits. So for this error, this particular commit seems suspicious. We can then roll them up and then for example on the merger quest page or elsewhere, you can then get that view of these errors seem to be caused by this particular merger quest and have a more kind of cohesive look at these things and really try and surface them where developers are looking at them in the MRs and things like that as well as opposed to having to jump in to century. So it's a quick tour of some of the monitoring features. One other key area here for GitLab is that we're also focused on what we call GitLab self monitoring. So it's listed here. What this is is really for all of our customers and really for ourselves as well, we're in gitlab.com. We want to provide a great experience in operating your GitLab instance. Again, with this GitLab.com or whether it's a GitLab deployment on a Raspberry Pi, we want to make sure that's a good experience as possible and we can give you a great out of the box observability suite for deployment as well as also hopefully have some proactive alerts in case there's problems upcoming that need to be aware of. Things like running out of disk space or your psychic cues are getting a little bit too long. You're going to have some decorative performance, some things like that. And so that class of features are we call self monitoring and we were working on those the last few months here to provide a really kind of better experience in that regard. And so for example, with our release here in a couple of days later in June, I told that you'll have an out of the box for Pi instance and a dashboard preloaded that's configured so you can really just kind of go there and get a sense of how your instance is performing and any problems there are and we'll also start to email you if there's any alerts that you'd be aware of again for things like disk space outages or other kind of common scenarios. We'll be working to pull this into GitLab itself using some of the minor features I just showed you around error tracking, logging, metrics and dashboarding in the next couple months as well. And that way the current plan is to have a project within GitLab which you can use as sort of your GitLab administration project which will include things like again all those metrics and dashboards but also have service at home for things like how do we increase the disk space, who should it be assigned to and their operational tasks as well. So that's kind of the some additional scope that we have as part of the monitoring team. One of our aspects of the monitoring team is also can be considered sort of the GitLab charting team in the sense that we're building out a lot of the different charting capabilities of GitLab and so as you see some of these line charts and sort of these single stack charts, those are both on our team and they'll be reused across the entire product going forward for other parts as well. So if you look for some of the for example the GitLab accepting merge request issues in the monitor section you'll probably find some around charting and things like that more broadly and those are sort of our widget type workflows. So it's a quick tour of some of the monitor features and sort of the surface area and scope. I'll pause there how much I guess we're recording this so it's not live interactive but Ray any questions they might have or areas that we should cover David as well. Yeah I mean just thanks for the overview including the demo of monitoring. Just couple of things I wanted to point out. I mean thanks for sharing the product categories page. I mean one of the things I wanted to highlight there was that I mean we have a list of people that are identified like including product managers and like a back-end engineers or front-end engineering managers. If you're working on an issue for monitoring I mean people should definitely feel free to ping any one of those and issues or MRs as people are working on them. And the other thing I wanted to ask you, Joshua, was on the direction page for monitor in addition to sort of the planned items I noticed that you have a section called like other interesting items. I mean I assume that those are like areas if any of the community members are interested in they could sort of raise your hand and start contributing to. Yeah exactly. So these are items that we felt were interesting that kind of beyond sort of the upcoming release plan might be interesting items for folks to work on. I kind of mentioned them all performance dashboards a little bit so that logging features as well with low keys and so it's really cool stuff like on the coming kind of coming soon list here that if folks wanted to kind of get a jump on that would be great as well. I've also kind of have a kind of a list of some issues that are sort of smaller in scope that also be great for folks to work on as well that we can perhaps talk through really here as well sort of after sort of the initial high-level overview. Cool yeah I'll probably yeah that's a great slide that I'll probably post it on the hackathon page later on in the day so you can yeah okay great yeah yeah I'll get that published as well cool but yeah even beyond hackathon if people want to start picking up this issue even after the event I think thanks for highlighting those. Yeah we have a label accepting merger request as well so this is a pretty a pretty broad label actually and there's unfortunately there's a couple iterations you have to find the right the right iteration of accepting merger request but if you look for them in the label of monitor you will get a set and I picked the wrong label here let me get the right I think I think hold on we should we should fix this. Yeah it's one of the green ones I'm not sure which one. Yeah this this leaves me like this is a very different participation but if you know these are issues that are generally should be triaged and and the good candidates for potentially working on and so if you want to work on one of these just just you know grab the issue if you're passionate about it maybe if it's not entirely clear some might have a totally fleshed out sort of a description there just you know ping the product manager you problem the stages page as Ray mentioned or ping the engineering manager or the person who opened it to get ever and we can sort of iterate and I want to design it and then kind of you can go ahead and forward and make an MR as well but most of them should be pretty well defined but they have that label on them so. Josh a quick question I've noticed that there's monitor and there's the other devops monitor label do you favor one over the other or yeah that's a great question so so monitor is probably to your point of the better one to key off of the stage label is sort of going away in favor of the devops label and so this should be one that that we're going forward should be more heavily utilized but they're both kind of applied right now sort of equally or should be but going forward this one will sort of phase out the monitor stage level so yeah so I think for kind of long-term usage you should use this pair of labels if you'd like if you're also passionate about a certain particular group you can see we have the APM group as well as the debugging and health group labels and so you can use this as well to further refine if you'd like to that particular kind of group within the stage as well okay thanks yeah absolutely but again we have as you can see here quite a number of them but a couple of the ones that the team just highlighted here briefly as far as some ones that might be relatively easy to work on and relatively fleshed out would be one of them being on the self-monitoring category so as I mentioned before we have sort of bundling Grafana with a GitLab and we'll have an on but a fault here in 12.0 along with having it hooked in for GitLab OAuth as well and so what would be great is if I'm on sort of the admin experience for a flow I can't show it here since I'm not a GitLab.com admin but you can actually there's a bit like a little wrench and you go to the wrench and you see this monitoring tip and it here is to actually have sort of a like a metrics page here you can click on which would then take you off to Grafana and you can then of course go ahead and take a look at that dashboard so pretty small change here I think on the admin workflow but a great way to help drive awareness of that embedded Grafana instance that's going to be available here in 12.0 by default so that should be relatively easy one to go ahead and add and thank you Dale for opening it up another quick and easy one here would be some internationalization support if in monitor so right now we have average and max for example on the legend name these are currently not really available to be translated so the great if we could go ahead and kind of update the widget there to make that support sort of localization and you can see here we actually have a GitLab UI project which as I mentioned before how the monitor team is kind of building a lot of those widgets this is kind of our excuse me a little widget library so if you kind of go over here too and I'll share this link you'll see some of our our widget library right here in the Git UI project as well so this is where a lot of the charts are defined and then we're used across GitLab so that's that's the internationalization legend one which again would be hopefully a pretty low heating fruit for folks to try and jump on and the other two are more on logging and really trying to help increase the discoverability and usability of logging so we kind of do that first iteration of logging where we had it if you remember seeing it underneath we're really kind of part of deploy boards so this feature here is what we call deploy boards and folks might not be aware they'd actually click on this box but for the first iteration it was kind of the easiest way to kind of build out this workflow but it would be great if we could go ahead and really add logging to operations tab here and so you'd have it alongside metrics and tracing and you could just jump right in there if I haven't to go through that to pull it towards workflow so kind of the first step there would be to really just take that drop down you see here and add an environment drop down as well and that way you could jump between production or staging or a review application easily from this from this one single workflow and then once we have that we can then of course hopefully simply add the little sidebar item for logging and then you can then have a default to production and if it doesn't pop up we'll then of course just let you just pick one and you can just choose the you know the environment drop down to grab the particular environment you're looking for and then own in on the preferred pod as well so those are a couple ones that might be great ones to sort of get started with which hopefully aren't sort of some really heavy lifting and then of course you're also more than welcome to grab any of the ones here that are merged as well I'll just paste this the filter query here and then get live chat as well for folks to kind of jump in take a look at all right thank you awesome well yeah thanks for the great overview and especially highlighting issues where we looking for help from the community members David any thing else that you want to cover it got looks like a four minutes left no just perhaps a quick question just what what do you think the skills what skill should should contribute this process to contribute to to monitor it seems like a wide range I'm not sure which way you can give me no to answer yeah so I think really kind of depends on on the feature area so so the self monitoring stuff really I think just some some probably some easy front ends talk to just add the item here in the list and have it open up a given URL so forget lab we're gonna default to um really that really the root URL um the dash and then and then I think there's something called Grafana um and that way um simply basically if you click on that new item it just goes here and then and then that's really kind of all we need you to do um so that one I think should be relatively um kind of open for anyone who who has some you know some basic front end skills for example which is one of the reasons that we picked it um this one is similarly as well I I can't remember if this is an uh like a an svg diagram or not but um this one might be a little bit more involved since you're dealing in sort of the git lab widgets themselves and this might be a little more applicable for um I'm not sure if it's a view or not but um someone with our front end toolkit uh would be would be great here and also has some understanding of how we sort of localize strings in git lab would be awesome um and then these two for logging um would be probably good for someone who either is looking to sort of um try kubernetes or is familiar with kubernetes because you'll you'll need to have a kubernetes cluster up and running in order for this to work um that's because we actually ask kubernetes for the logs for the pod um right currently and then hopefully in the future here we'll we'll work at Loki um but for right now it's it's sort of a kubernetes only offering and so you'll have to have a cluster either mini cube or something else um in that documentation I mentioned earlier around the gdk um that can help to get you going um but you might be helpful to have some familiarity with with kubernetes although we do use a library uh a kubernetes client for this and so much of the apis are already there um but imagine for testing and things like that you'll probably still need to have an environment to make sure if things are working as you'd expect um but yeah so it really kind of runs the gamut from uh so the self-monitoring stuff really requiring not much in the way of sort of kubernetes experience and just kind of more of general front end perhaps some back end work on those um and then as you get into some of like the logging and things like that um you might need some similar tools um it is with noting actually that I did demo that um uh we utilize the kubernetes deployed version of prometheus however um we actually support uh really allowing users to specify any prometheus url um so if you wanted to work on some of the dashboarding features um you actually don't need to have um uh prometheus uh deployed or even running in kubernetes um you can actually um if you if you haven't deployed it to cluster and sort of if being managed we'll simply ask you to give us the prometheus url here and then you can save it and then the same stuff will work um so you might not need to have kubernetes and this you're doing something specific with kubernetes like some of the um uh cluster alerts and things like that that might be in there thank you yeah of course um and and again thanks everyone for the hackathon and and thanks ray and david for setting us up this is awesome um so if need be help definitely as ray mentioned uh ping us on uh ping me on on any of the issues and things like that we're trying to help and um thanks everyone for your enthusiasm and support of git lab uh it's great and that's a really a lot of what a lot of what helps to drive us along and sort of the community's enthusiasm so uh thanks everyone for paying attention and for looking to contribute to git lab cool yeah I mean I couldn't upset it any better and for people that are watching the recording if you have any questions uh after you view the recording I mean feel free to post questions on gitter uh and that david and I will be happy to answer them or like ping somebody like josh josh if we don't have it have the have the right answers so all right thanks again for your time joshua we'll of course let's you go thanks everyone yeah thank you bye


In 1947 Australian immigration officials, often with meager resources, worked hard to secure migrants in war-ravaged Europe. Migration officer George Kittle was posted to Germany, where his task was to find and select suitable immigrants from post-war displaced persons camps. So my first job was to organise what we were going to do. First of all I had to draw up a pamphlet explaining what the conditions were going to be for migrants going to Australia, what their obligations were going to be and what benefits they would get in Australia. The obligations were that they would work as directed for two years when they got to Australia. They would be accommodated in hostels which hadn't been set up at that time, I might say. And of course our obligations were to give them a job and accommodate them in Australia. Our selection, all we were told to do was to select initially people from the Baltic states, that is Latvia, Australia and Lithuania. Nobody else, only the Baltes as they were called, that's why they became the Baltes as they were known in Australia when they arrived. And I also had to draw up application forms and procedures for the documentation that would be given when they were approved and so on to get on board. That took about ten days. We had to fill the ship with about 850 people and by this time we had about five weeks to do it. And we were starting from scratch. We were going to interview at Displaced Persons camps, three of them in the British zone and one in the American zone.  So we started off at a place called Buchholz, which is near Hanover. And we decided that it was fairly close to our headquarters in Bad Piemont that we'd commute each day, which meant going through Hanover. And that had been belted by the war as well. Very historic sort of a city Hanover and a lot of, you know, lovely old buildings that had it. We had worked out what our selection procedures were going to be, ourselves if you like. We knew that we had to pick unskilled workers, farm workers or laborers on railways and females, domestics and typists. The typists were going to be coming from the American zone. That was our brief. And we decided because in London, of course, we were well organized on migration matters and selection officers would make a recommendation that the doctor would make a recommendation medically and then there would be an internal system in the Australian High Commission that would check all these documents. They were all locally engaged staff would do that and then issue formal approvals. In London, we had no backup like that. So we decided that the three of us would sit as a panel and we'd get a uniform agreement on whether a person should be approved or not. Then we'd reach a conclusion whether they were A, that is, suitable in all respects for the first ship. The next one down would have been suitable for the second or subsequent ships for a little time. And the third one was suitable for, you know, any ship that might turn up. In other words, we're trying to get the best ones on the first ship, you see. Down in the American zone, we're supposed to get a lot of women, English speaking women. And there was a most uncooperative fellow running that cab. There were nothing like enough and we were going to be desperate to fill up our ships. So we got hold of the American part of IRA which was at Heidelberg and got them up and, you know, addressed him down and said, now this is what we were told we were getting. We're not getting them. What are you going to do about it? And he said, well, I don't think I can get a lot of women, but there is a camp of male Estonians nearby. I can bring them in. So we had them and they were quite good types really. But we were so fed up with this fellow that was not helping us in any way. He had, of course, a lot of bilingual stuff. People that were eligible for us to select. So we put the heat on all of them that we possibly could to join the first ship and denude him of his stuff. And he might realize that we were serious if we ever came back. That was our view. Anyway, we didn't get enough. But fortunately the fellow in Buchholz, who had this other list of people, he didn't quite know what to do with them, you see. So he said, well, we said we'll send them up and we'll take another look at them up there because they look better when we're short of people that fill the ship. So we eventually got 844 of them at Deepholz. The conditions in Deepholz were worse than any ordinary DP camp I went into. I might say the food was hardly any better. They were from a week though in there, and they did not get very much food. And we had selected 50 English speakers to join the ship on the eve of the embarkation, just to liaise with the American crew and so on. So we were able to do that. On the eve of the embarkation, just to liaise with the American crew and so on. And the first thing that happened to them, they were given something to eat, you see. They were given an American Army K ration, a piece of fruit and coffee, proper coffee this time. And we went down to have a chat with them, you know, see how they were going. And some female looked at me and she really had tears in her eyes. And she said, this is more food than we got in a week at Deepholz. And that was an American Army emergency ration. So we felt very, very sorry for them.


Okay, so I will talk today about combining superpowers, right? We have these two superheroes here. The one is the NPC hero, the other one is the confidential computing hero. Can we make them work together in an efficient way? So that we can leverage the benefits of both and create something even more powerful. So I skipped the next slide because Paul basically said everything already that is on that slide. Ah, one thing is missing, so this is joint work with some of my colleagues from Bosch research. So Jonas Eppard, Vincent Rieder and Christoph Bösch. Two or three sentences about Bosch because maybe nobody, not everybody knows about Bosch in detail. So we are really a huge company, over 400,000 employees all over the world. 470 subsidiaries located in more than 60 countries. We are active in various spaces, not only refrigerators and appliances. Mobility solutions is our strongest division, but also industrial technology, energy building and consumer goods. So I personally, I work in Bosch research. We look into, as the name implies, research and pre-development. I'm one happy guy among a crowd of 1,800 people working in all these different areas. So of course that's not everything. IT, we are distributed around a globe, nine different research facilities, everybody over the world. We look into 12 different strategic portfolios and one of these portfolios is information and communication technology. And that's why I'm talking here today. We have a lot of PhD students, so if you know anybody who is interested in the topic, please tell them to reach out. We are always open to host these bright guys in our company. So we will talk about confidential computing, which I presume you know very well, maybe even better than me or probably better than me. So I will not focus on that. I will give a quick introduction to secure multi-party computation so that you understand what I'm talking about in the follow-up slides then. So what is secure multi-party computation? So in the first place it's collaboration enabling technology. So what it allows you to or more parties to using cryptographic protocols to compute on a data set that consists of data sets coming from different people without actually bringing it together in one place. So that's the whole idea of MPC. What we do with carbine stack, so Paul mentioned it quickly, so we try to make this enterprise great, right? So there are a lot of startups in that space, but we think the better approach is doing it in an open context as an open source project in open collaboration. The basic idea is to combine the cryptographic protocols, state-of-the-art ones, and combine them with cloud-native technology to create something that has all the nice capabilities of cloud-native solution, scalability, elasticity, reliability and so on and so forth, you name it. We also look into research aspects, so that's the small again chart at the bottom left. As of today there are still a couple of open questions, so what is I think undisputed is that it's a very secure technology because it roots in math, right? You can prove the protocols. Of course you have to do a good job in implementing it, but from that basis it's the best you can get. But there are still some problems regarding cost efficiency, so these technologies typically, depending on the use case, have very significant overhead. So we talk about auto-magnitude, it's not single digit percentages like for confidential computing. They also have a maturity problem still, so there are solutions out there that can be adopted, but it still requires a lot of effort to bring your existing solutions on top of that. And then finally usability is also something that is related to that. And what we want to achieve with our research work is to close these gaps to make it in maybe a little bit more far future, as usable as confidential as of today. So a quick intro into secure multi-party computation. So we will talk about three things. The first is IO, the second one is doing additions, the third one is multiplication. These are the three things that you need, and then based on that you can build whatever you can do with a regular computer as well. So what we do here is called additive secret sharing. So you see these three secrets on the right, these red circles, these are the secrets that you have, right? So one player has a seven, the other one has a four, and the last one has a nine. And what you do now is called secret sharing. So you split up that secret into three numbers in that case, because we have three players. So the seven is split up into one, two, four, and the sum of it is of course seven. You do the same for the others. And then you do secret sharing. That is distributing one of these secret shares, so one of these numbers in the case of seven, player one, the one is he keeps for himself, the two he sends to player two, the four he sends to player three, right? And that every party does that. And then we have the input phase is done. What you can do now is you can do addition simply by the fact that addition is commutative. You can just do the computation, the addition locally, which is the step from the second blue row to the first green row. So you add one, zero, and two. This gives you three and so on for the others as well. And then you again, now you want to do the output. So distribute the result of the addition and then you distribute your number that you have calculated locally on the secret shares from everybody to the other parties. Then you can do the sum again. And what you can see is now 20 is exactly the result of adding seven, four, and nine at the top, right? So that is how addition works. That is super simple. It's also a little bit simplified because we usually, at least in carbine stack, we work in the active security model. That means you have to make sure that people cannot cheat. And that adds a little bit more of involved protocols here, but that's the basic approach, right? Now we come to multiplication. We will not go through everything because that's a little bit more complex. But the key takeaway is that modern MPC protocols are built in a way where you have two independent phases. The first one is the offline phase. The other one is the online phase. In the offline phase, you use kind of heavy cryptographic protocols like oblivious transform or morphic encryption and others to create so-called correlated randomness. So what does that mean? So randomness, it's clear. So these are random numbers. And in the case for multiplication, we have three of these numbers for every multiplication that you want to do in the distributed setting. And it's called correlated because there is a correlation between these random numbers that you generate. So we have A, B and C and the correlation is that A times B is C. And now these numbers are generated in a way that every party possesses only, as before, for the addition example, the secret shares and not the numbers itself. And then you can use, I will not go through it as I said, because it's a little bit involved. So you can use these numbers to do multiplications also in a similar way as you do the additions without only using local operations after some network operation. The thing that you have to take away here is that this is done in an offline phase and it includes very expensive cryptographic operations in terms of compute complexity and communication. So what do we do with that now? So what we do, we build what we call an always encrypted collaboration substrate. It's marketing, blah, blah, but anyway. So we build a platform where the data that parties put in is actually kept encrypted all the time. The difference between MPC and confidential computing is here that it's really kept encrypted all the time, even when it's processed, right? So for confidential computing, as soon as it leaves memory, it gets encrypted and it's processed in the clear text. And then when right back to memory, it's encrypted again. So this is not a case here. It stays encrypted all the time. So it's a multi-step process. So first of all, the parties that want to engage in a joint community, a computation, they form a cluster of parties. So these are the four offices that you see there. And then they engage in a binding process to each other where some secret keys are generated that are used later on for ensuring that people cannot cheat. And then the parties submit their inputs, in a way, as described before, so that nobody else knows the secrets of one party. And then they can define also who has access to what, to the input data, to the output data, to intermediate results that can be set up using a policy. And then the computation is performed. And finally they can, using this output operation that we saw in the addition slide, they can pull together the secret shares again and finally get the result of the computation. So what can you do with that? I think there is a very big overlap between what can be done with contribution computing and what can be done with secure multi-party computation. So you can do this virtual data pooling. So bring together data from many, many organizations or parties without actually exposing that data to the others and still be able to do analytics on top of it and so on. That's, I think, as of today, the most successful branch where MPC is used. So you see all these software wallets, many of them use secure multi-party computation to secure the secret keys. And that's exactly what you can do with it. You can create kind of a virtual HSM that uses secure multi-party computation to split the keys into secret shares and then distribute it, which means you have to successfully attack all of the places where these secret shares are located to actually recover the key and also to invalidate the security of operations done with that secret key. Private correlation, so that's also an interesting technique that can be built on top of MPC. So let's assume Paul has a list of people he talks to about confidential computing. I have one talking about MPC. We want to know the intersection between these two sets without exposing our lists to each other. And that's what you can do with that, with cryptographic guarantees again. And the last thing is collaborative learning. That's federated learning. That's maybe a different term that you can use for it. And you can for certain parts of the federated learning process, not the training itself, but for doing the aggregation then in the back end you can use secure multi-party computation to do that with these cryptographic guarantees. Okay, so I hope that gives you at least a high level idea of what MPC is. And now the question is, so I announced this talk as pets of the world unite. So what do we want to unite here? How do we want to do that? And why do we do that? So to give a little bit more context again, let's quickly go through a matrix of what these different technologies provide you with. So confidential computing in terms of overhead, we have seen that in our joint work with Intel for example, the overheads can be brought down to basically negligible amounts. It depends on the use case, how many IO is involved and so on. But in general you can say the overheads are very small. For secure multi-party computation, the compute overhead is, I would say, significant. So as I said, orders of magnitude. I think the best that you can get is one order of magnitude, depends on the use case of course. That's kind of the lower bound. But the communication overhead, that is massive, right? You will see that in one of the follow-up slides. Homomorphic encryption, it's the other way around, right? The computing overhead is very massive and the communication overhead is significant. Communication overhead comes from the fact that you have to encrypt your local inputs with very long public keys and this creates huge input data. Trusted compute base, so by the way I'm generalizing you, right? So there might be arguments for each of these entries in this table. But we can do that maybe afterwards. Trusted compute base, so it depends on which kind of T you use for confidential computing. It can be significant to large depending on what you use for these other techniques. It's rather small because assuming open source you can have a look into everything so you don't have to trust it necessarily. And it's software only of course. If you have open source you can look into everything which is not the case for confidential computing techniques, typically at least. Security wise, I insist a little bit on making this distinction for confidential computing. It's protected in use while for these cryptographic methods it's encrypted in use. That's a difference. Security assumptions, so for confidential computing it's the correctness of the hardware implementation plus software SDK as well of course. But for secure multi-party computation it's non-collusion. If all of these three parties that you saw on one of the recent slides work together then of course the secrets can be reconstructed easily. So if that assumption cannot be made reasonably then it makes no sense. And for homomorphic encryption it's the secrecy of the keys, right? For the scope, for the cryptographic methods you typically can't protect only the data. There are schemes that also protect the code or the algorithms that are used but these are so inefficient that you typically can't use them. For confidential computing it's both and that's of course a nice attribute because often we encounter use cases where also the IP that is in the algorithms is very valuable. Ease of use, we discussed it before already. So for if you use VM-based keys today it's more or less lift and shift. You can with very low effort take your existing workloads and put them into the confidential computing domain. For the computing and encrypted data technologies that's not the case. There has been a lot of progress in the field of compilers for homomorphic encryption in particular but typically you have to re-implement your algorithms on these architectures. So sweet spot I would say for confidential computing it's whenever high performance is required machine learning use cases for example or simulations then there is at the moment no real alternative to that. For the others, for secure multi-party computation my let's say Ligmo's test would be are there more than one party involved that has its own data set that has to be processed somehow. And for homomorphic encryption it's offloading right. So there are multi-party schemes for homomorphic encryption as well but again very inefficient so you wouldn't typically use them today. So now how does the pet space develop from my point of view? So what we see and still see to some extent is kind of this coexistence right. Some people deploy confidential computing for a workload others NPC other some homomorphic encryption but they are not really built on top of each other or integrated with each other. I think this is changing now. Paul mentioned a couple of examples for that that some NPC companies are now integrating NPC with confidential computing and that I would call that stacking so you take the one solution put the other one on top of it or inside of it and they then benefit from the properties of the typically the direction is right NPC on top and then confidential computing as the infrastructure and then in the little bit more far future I think there will be I called that amalgamation so things will grow together more closely will be more deeply integrated to leverage the benefits of each technology and I will show you an example for that in a second. So the one is in production today cutting edge stacking I think people are trying to establish that now make first POCs for that and these amalgamation thing requires research and is a little bit more in the future from my point of view. So first example is stacking and we work together with Edgeless here to use their constellation platform which is as you probably know a Kubernetes distribution that deploys the workers in confidential VMs and that has a very nice feature that you don't have to change a lot when you do that and get a fully protected Kubernetes cluster and what we did together is we deployed Carvine stack which you will a little bit more on one of the next slides inside the constellation cluster and the really cool thing has been that we had to change nothing it just worked out of the box it's a complex system Carvine stack so it includes Knative, Istio and a lot of other cloud native components and this worked seamlessly without any changes required so that's kudos to Edgeless systems really great technology you will be able to read more about that on our blog and very soon it's not ready yet but will be published in a couple of days so can we do it even better? I mean it's kind of straightforward right? It worked out of the box more or less everybody can do it today but is there even more potential in it? and to understand that I quickly explain how the services within Carvine stack work so we have four of them at the moment we have a storage subsystem and a computation subsystem the storage subsystem consists of M4 this is where the secret shares live that I have explained on the MPC slides we have Castor that is the service that stores this correlated randomness for letter consumption we have Klischko that's the service that generates the correlated randomness and stores it in Castor and we have ephemeral which uses Knative to allow for function as a service for MPC and now what's the problem here? so that's one instance of Carvine stack running right? and typically we have at least two so there is another virtual cloud provider that hosts exactly the same service and these have to communicate we have learned that for multiplications they have to communicate and also for generating the offline material they have to communicate and now look at the numbers so for the online phase for 100 k ops per second they have to communicate so these are ballpark numbers right? rounded to the order of magnitude so 10 megabytes per second communication all the time while they do the computation for the offline phase it's much worse so for this 100 k ops per second you need 1 gigabyte per second communication between these two parties and that's of course a lot if you do the math here taking Azure egress bandwidth pricing you get a 100 US dollar per hour just for the communication stuff right? I've read that it's an hour squared oh sorry no no that's that's just the so what is the take away here? so MPC is a chatterbox and if you deploy it on a public cloud you pay insanely high amounts of money for it so what can we do about it? yeah I think it's more or less straightforward right? so we took one of the so mp speeds that's on the right side below this factory symbol that's the state-of-the-art MPC framework and what they have they have a so-called fake offline phase or you can also call it a trusted dealer or a deterministic offline phase which doesn't use a cryptographic method for generating this offline material it's locally right? with just coming up with two random numbers and then calculate the product out of it do the secret sharing then you have the correlated randomness for multiplications and of course that's completely insecure so in that way it doesn't work but what we did is we put this factory inside a Grameen library OS using SGX for ensuring the confidential computing properties so what does that help? so first of all it's deterministic the reason why that is the case so these are the two parties right? left from the last slide that we saw so the left side creates correlated randomness and the right side creates correlated randomness but of course if these do not match then it will not work because the correlation will not hold anymore and that's the reason why they exchange a seed at the beginning the seed is used to initialize the pseudo-random number generator and leads to the fact that both create the same correlated randomness and on both sides you use only the local shares to work with it so that's again the sequence diagram for what happens so the parties request for correlated randomness then the generators they do remote attested TLS with mutual attestation to be sure that the thing that runs there is actually a secure platform and also we run the factory used to generate the correlated randomness and as soon as they have ensured that this is the case they start exchanging secret parameters to initialize this factory and then if this is done they can start creating the correlated randomness and deliver it locally to the cluster service for storing it so what is the benefits of this? so first of all it's multiple orders of magnitude faster than the cryptographic method that's because it's just coming up with these triples locally so that's super fast, you don't have any cryptography in there but even better is there is nearly no communication cost involved but the only thing that goes over the LAN boundary is basically the seed and this makey-shed exchange so you have virtually no cost of course the trade-off there is no free lunch so you have to trust that the T implementation is secure but you don't have cryptographic guarantees anymore so that's the first step can we go even better and that is now next step so it has not been implemented so far but this is what I meant when I gave the subtitle to my talk Capture the middle ground between security and performance so by the way this doesn't mean that at the crossing of these two lines there is zero I wouldn't put CC protected workload in the low security space there is a lot of space below here that is not sure on a slide so we would have the cryptographic offline phase it's very secure but super slow, right? that means it's here on the x-axis to the very left and on the y-axis for security very high on the other side we have CC protected which is super performant but from a security perspective it's not as or at least you cannot prove it's security let's say this way and then we have number three that is the implementation that I just described now the question is can we do better so the first attempt would be to get rid of the second T instance here and just have one, right? you can still do remote attestation for both sides and it basically would result in the same correlated randomness being generated but the difference is that now you can see again the land boundary so this dashed blue line you can see that a lot of so the correlated randomness itself is large, right? so you have to again transfer all that data over the land boundary creating again egress bandwidth cost on Azure so I would think this is not better than the other can we do better still? so and that's the next idea that we had so when I described the MPC protocols we talked about a very specific security model which is called active secure malicious majority that means n-1 parties, MPC parties could be corrupt and the security is still there and the second one is active security the players can arbitrarily divert from the protocol and do whatever they want, the security is still not compromised there is another class which is called honest majority active security and there you have to ensure as the name implies that you have an honest majority within the MPC setting so in that case with three parties you have to be sure that no more than one of these boxes is broken, right? and now the idea is, okay, the good thing is that these protocols have very low communication cost compared to the malicious security active security protocol and now by doing this we can do the following we can use MPC within that dashed rounded box to set up another MPC cluster and have a generator run in each of the T-protected boxes and you use different T implementations for that so that means to break that system so we still have the same benefits as before only the thick lines are the high bandwidth connections so these do not cross the boundary, the LAN boundary but on the other hand since you have now three independent T implementations and using this MPC protocol that I described you can be sure that an attacker have to break two of these T's simultaneously and it's still all fine, right? okay, next level of sophistication would be kind of doing the same thing as we did for the non-MPC setting so you would replicate that setting on both sides and just exchange the seed again and then they locally compute all the triples or the correlated randomness as before whether this is really better or not has to be proven so we have not implemented it, not tested it I would doubt that it's better, I would say the number five is still the better one but that has to be seen so that would be from my point of view an example for amalgamation so we use the properties of one technology to improve the technology or the missing parts from the other technology so, again, back to carbine stack what do we try to achieve with carbine stack? we want to democratize MPC we live in a world currently where MPC is largely proprietary we have startups out there that build their own solution if you manage with your partners to agree on a technology provider you still have a vendor lock-in because these things are not interoperable at the moment it can be opaque so, of course, I think you can agree with these startups to open up their source code so that you can have a look but it's not open source in the first place and that means it also needs to be trusted and what we want to achieve with carbine stack is to change it having an open MPC framework where everybody can look into where everybody can integrate with their specific MPC engines for example which then would create network effects because of this ecosystem every player that comes adds to the value of the network which, again, stimulates people to join the network it's future-proof because you have a lot of momentum in that community to bring forward the technology you have more rapid innovation because you can more easily work together also across company boundaries yeah, it's transparent and everybody can look at the source code and now we will add this implementation to carbine stack so that when you deploy to the cloud you have significantly lower cost with still reasonable security guarantees and you can choose, right? with one super high security you can still use the classical cryptographic protocols for that okay, so that's my last slide so if you like carbine stack show us your love give us a star on github if you see benefit in secure multi-party computation in general you can also consider joining the initiative and we have, end of November we have the carbine stack conference the second time, so that will be hosted in our headquarters research headquarters in Germany last time we had over 60 people from over 30 companies that have been interested in that and we will discuss a lot of technical improvements that we did throughout the last year to show the people what the combination of NPC and the alternative actually brings to the world so that's the idea so with that said, that is my talk thank you thank you very much indeed we do have some time for questions I've got about a million so I'll start with one if I may and you can think up more questions and let's go with that so my first one was what's the state of the art for this sort of stuff and quantum resistance? where are we with that? is there good stuff happening we are not quite sure we are not quite sure of it, that's true so the online phase typically is information theoretically secure, so there is no problem for the offline phase it depends on which concrete cryptography mechanisms you use but there are for example lattice based systems that are believed to be quantum resistant and then that would work out but time has to show whether this is true or not thank you any questions in the audience? Osama thank you very much it was specifically interesting the slide in which you showed the confidential computing compared to other technologies so morphic encryption and multi-party computation it was very interesting I have one question about that slide so in that you mentioned that the TCB for process based is significant and for VM based it's large I would have expected the other way around and I would like some clarification on that because the VM you are trusting the whole VM and in process based you are trusting that process specifically and I would have expected the other way around so I just want to be sure I think we have just different interpretations of the words so significant is for me lower than large so large means it's yeah maybe that's I have to use maybe different words for that but I think we are in agreement here and I'm going to I would take an issue with the number of these as well for a variety of this this is you say this is kind of the average or one way of doing it it is possible to have very small TCBs for both the process based and VM based that if you are writing your own rather than taking an entire sort of standard VM the approach that NUX has taken and some others have taken as well it is possible to have those small so that may be kind of right on the average but I think there's a number of these can shift in various directions and I think that's one of the areas where there's a lot of work that still needs to happen on the technical side and it's really really interesting any other questions again I've got loads so I just want to ask a question okay it's me then so you talked about using RITLS about for attestation I was very glad to hear the word attestation used because it's a kind of important one in this context is are you doing things in a way that the the carbine itself is attestation aware or is that attestation passed out to other parties for them to make decisions about trustworthiness of what's going on and also are you using the attestation for the code as well as the data you mentioned you can of course I think for the first approach so this is what we did with actual systems so here you would as a user of the platform do the remote attestation against the whole platform so that would be one of the scenarios that you described for the other one it's rather between the parties so for these guys they want to be sure before they're exposed so the Mackey share if that is leaked then the whole security of the platform is gone so that means they have to make sure before sharing that the remote attestation to ensure that this is really the case so in this case between the carbine stack instances and in the other case between the user of carbine stack and carbine stack itself so both for those of you who don't know this report I'll introduce myself I'm Mike Vasell I'm the executive director of the Computing Consortium I'm helping host this with Paul and I'm really pleased that we're talking about attestation in a variety of ways I think it's one of the things that's going to change as maturity of the market comes in people begin to realise attestation is vastly important but you just highlighted two different ways of using it sort of within process or across between parties and then externally to the more of the sort of orchestration layer almost if you will and I think there's going to be lots of conversations about that and I'd love to see the companies here who are represented thinking about all those things as we go and any other questions we got time for one more question, go for it so you mentioned that I mean the main purpose here is to reduce the communication due to the cost in the cloud does it also help with the performance because the offline phase needs less communication does it yes it does help with performance so that was the takeaway here right so it's multiple orders of magnitude faster in generation as well okay and you said initially the best case would be one magnitude of performance decrease so that you could get almost up to to native speed then or here we get it almost up to speed with the fake offline phase unprotected performance which is as good as it can get okay I'm going to ask one more what's combine written in oh it's a mix so we have these computation services that I mentioned so ephemeral and klichkordies are written in go it's a cloud system right so you get the most people with that interest and skills and storage layers are written mostly because of legacy in java and then the clients is all you can think of right even web assemblies one language that we support for the client side because we don't want to implement everything and again for each language so we have a full methods and proofs person here and I'd love to have a discussion at some point about the trust you can have in your implementation given a variety of those things but we don't really have time for that please a round of applause if we may for Sven that was really interesting