Sorry about that. The wiring gods were really not smiling on us right now. I blame VGA as I have for about the last 40 years. Welcome to Crypto Privacy Village. Thank you for being here. I got another great talk lined up and we've got Lauren Rucker who's going to be talking about privacy within a relationship. Let's talk about you and me. Give it up for Lauren.  We're doing it live. You'll see me look down a lot because I can't see my slides to the right and see where I'm at. So I apologize for that. I had an awesome salt and pepper talking about, let's talk about you and me. Let's talk about all the good things and the bad things that may be. So half this talk is going to talk more on privacy law and the other half is going to talk on privacy mitigation techniques, especially specifically spyware. So first thing I wanted to cover was a brief history of your privacy rights. So in case you don't know the background on that, the right to privacy was Harvard Law Review article and it was published in 1890 and it ended up coming about because of the invention of the Kodak cameras and two lawyers at the time were just really concerned with how invasive that privacy was that people's pictures could be taken and distributed and generally how it would weaken the right of people's and their privacy and private lives as it could be published in the newspapers. So they ended up writing a pretty long article published in Harvard Law Review and from that came what we mainly use now as the right to privacy from a law perspective and specifically there's four torts or ways that you will infringe on someone's privacy and the four torts are intrusion upon seclusion and I'll talk through each of these really quickly. Appropriation, publication of private facts and false light. So the biggest thing that this talk is going to hit on is intrusion upon seclusion. So if you're living with someone or you're in a relationship or a marriage with someone, the biggest, you're giving up a lot of your privacy rights because you're sharing so much with that person anyway. So intrusion upon seclusion is intentionally intruding physically or otherwise upon the solitude or seclusion of another of his private affairs or concerns and if the intrusion would be highly offensive to a reasonable person. So you'll see language like that in these privacy torts where it's really gray and what's defining a reasonable person and a lot of that's up to the court and I'll go through some of the Supreme Court cases that have helped define this when you're talking privacy rights in a marriage. There's also publication of private facts so a lot of that has to do with if someone puts revenge porn on websites and so that is protected by law, false light where you're having slander if you're a public figure. And again, we're going to talk about what defines highly offensive to a reasonable person. So next up is our, if they're up there, basically our bigger federal laws that help talk to privacy and that's the Federal Wiretap Act, Stored Communications Act, Computer Fraud and Abuse Act and the 14th Amendment really help touch on this subject and kind of cut through the gray. So wiretap obviously, I'm sure you guys are familiar but protects interception or access to personal communications and so that's supposed to protect people accessing your data, your telephone taps, your access to the internet and are they monitoring it. And then with Stored Communications Act that's protecting the computer and online accounts from unauthorized access and how that data is stored. And it also addresses voluntary disclosure so stored wired and electronic communications and the records that are being held by the ISPs themselves or internet service writers, excuse me. For the Computer Fraud and Abuse Act that's a really overarching act but in this case it's talking about prohibiting access, unauthorized access to somebody's account or computer and not, you know, walking into, not logging into other viewers' accounts. And then I didn't really touch too much on the Fourth Amendment because that's talking about right to people being secure in their person's house and papers or effects but when you're talking about privacy within a relationship a lot of that is shared. So the amendment as far as a constitutional right is actually the 14th Amendment that defines a lot of these further laws when you're talking individual rights to privacy when you are legally bound. So I'm just going to, I had it up here but just so you know the language a little bit, no state shall make or enforce any law which shall abridge the privileges or immunities of citizens of the United States nor shall any state deprive any person of life, liberty or property without due process of law nor deny any person within its jurisdiction the equal protection of the laws. So enforcing these privacy torts is really where the Fourth Amendment comes in in order to protect yourself and your individual privacy. So I'm going to talk about some famous Supreme Court cases that have helped define this. The biggest one going back in time and coming forward is the Union Pacific Railway Company and Botsford actually and this was back in I think the 1890s and so that basically had to do with individual's right to privacy and making sure that that was a constitutional amendment and defining that I think at that point no right is held more sacred or is more carefully guarded by the common law than the right of every individual to the possession and control of his own person free from all restraint and interference of others and so that particular case helped define and solidify that privacy was part of U.S. constitutional rights and for their U.S. citizens. So another famous case is the Einsteht versus Barad and that safeguarded a single person's access to contraception so that whole court case was about defining if you were single or you were married and your access to contraception and what came out of that was both single and married people should have access to contraception and be able to make that choice for themselves. It is the right of the individual to make that type of choice and so even if they're married they should be able to choose. So I know we're touching a little bit on like abortion, you'll see that in these cases I'll bring up abortion laws a little bit or contraception or reproduction but that's a lot of the battles that do make it to the Supreme Court case in order to help define. So the next one is Rowe versus Wade. This was a big obviously abortion heavy like mainly focusing on that and was really paramount but again it legalized abortion and then protected the woman's reproductive choice within the marriage. So again protecting their privacy to make a choice and so that's the main take away from these court cases is I'm not talking reproductive rights today but the privacy to make a choice and these are some of the Supreme Court cases that help you see the background as to why you should have online privacy as well. And then we have Lawrence versus Texas and this had to do with a Texas stature that was criminalizing different sexual acts by consenting gay couples and it overturned a lot of anti-esotomy laws and it actually set the groundwork for decriminalization of a lot of adultery laws that were still withheld in a lot of states as well. I think about 20 states still had those type of laws and so it outlawed most of the time these criminal sodomy laws passed over half the states and outlawed all forms of like sexual expression between persons of the same sex so it was targeting them specifically so this particular case of Lawrence versus Texas put the choice back to the individual and their private matters back to the individual and that you couldn't go to jail just for having sex with who you want to have sex with that was a choice and that is your private choice to do so and then for the most recent one is in 2012 we had United States versus Jones and that had to do with installing a GPS tracking device they were actually this one has to do with the drug ring more than anything but basically the government put a tracking device on this guy's wife's car and they had a warrant to do so but they had to do so within 10 days and I think they had to do so within I think it was the District of Columbia so DC that's a very small geographic area so they didn't install the device until 11 days so the warrant had expired to do so and it also installed it in Maryland so basically what came out of that is the data was not used in the court case for that drug ring and it confirmed that to do GPS location and get that data on someone and collect on that you have to have a warrant to do so otherwise it doesn't hold water in court and we're talking a lot about law in court here because privacy in a relationship if you want to know your rights you kind of have to know the law and what has helped define that so a lot of the state cases as well and state by state has different rules on what you can or can't collect or some of them just have gray areas so I'll have a resource at the end that I'll say out loud and it has a great comprehensive website like state by state to get you started if you're truly interested in that and when I was talking to a couple of my friends that do practice law the biggest people they pointed me to for their state is it's going to be by state and it's going to be divorce lawyers usually know that stuff way better because when things get nasty that's where people don't like to share as much sometimes so for state cases this was a big one it's white versus white and this was in New Jersey so basically what happened with here is the guy was kind of staying in the sunroom and so the family computer was also used in the sunroom like family kids husband wife would all log in and use it the wife saw a letter addressed to the guy's girlfriend supposedly laying out so she took him to court for divorce and it was pretty nasty custody case what came out of that though is because the computer was in a shared use space and it wasn't unreasonable for people to view or have access to his shared files on the computer and his email that actually no tort had been offended so no privacy had been offended just because of that so it's pretty defining again it was a state course not necessarily supreme course but it's good to pay attention to because it helps know the precedence that needs to be set when shit gets real and if you do want your accounts protected and you do want your emails not viewed by your spouse or not all the time or whatever you choose to share with them but to protect yourself I think it's not as big of a deal because usually we don't have one computer per household anymore many people have their own individual laptops but just something to keep in mind is that a laptop that many people in your household use who has access to it do they have different accounts you know set up on the laptop itself these are all things to protect yourselves and protect your spouse to just you don't necessarily know how things end and how they can go bad another good one was for from Michigan it's Lewis versus Lee grow and so this one's interesting as well sorry it basically involved a relationship of two girlfriends and one boyfriend he had invited them back to the bedroom they had a consensual relations back there plenty of times and I believe that they had a threesome and he recorded it without letting them know he was recording it so the ladies took him to court he argued that because his bedroom was a private place there was a reasonable expectation of privacy and you'll hear that in these court cases as well so the court actually cited on the side of the ladies because even though it is a private place they're not necessarily expecting to be recorded in that type of private place that's the intrusion of privacy even though it is a private area and it is shared so if you've ever had friends or been in a situation where you have been recorded in a bedroom without knowing whether that's the sex tapes or just undressing or just recorded in general in your bedroom and you're not expecting it this court case Lewis versus the grow is a good one to point to as far as they ruled that that is definitely expecting privacy within the bedroom even if you're two consenting adults and I think also the it expanded on this principle because it was a threesome the private realm and specifically rejected the notion whether the parties are living together or estranged as a factor so in other words one of these one of the ladies was not living with this couple so it didn't necessarily matter if you're in a relationship married to them living with them there if they're not they're coming into your bedroom they're not expecting to be recorded and a reasonable person would find that offensive and that court was able to prove that next case I want to talk about is a colon versus colon in New Jersey and this had to do with the wife invaded the defendant's privacy by recording and videotaping his activities even sexual activities in their home the key to distinct the factor here is she was recording it while in his office in the home office so it was not necessarily a private area and I do believe she won that and they held the wife's video surveillance even though it was in their marital home and did not constitute an evasion of the husband's privacy due to being in a more public room of the household so something else to keep in mind from a video surveillance you don't know who's recording what where you're going to do stuff that you would like private make sure you're any private place in the safety of your own home and that there is a reasonable expectation of privacy and that you would be able to prove that so TK excuse me key takeaways from those court cases is the biggest factor here is intrusion upon seclusion and the manifestation of the expectation of privacy so what that means is if you do have to go to court for these types of instances you have to show and or manifest an expectation of privacy like the ladies going into the bedroom the bedroom is a private place you go there to dress and undress you go there to sleep you go there to not be bothered whereas the guy who had the computer in the sun room you can't really say that's private if family traffic is coming in and out and everyone's using that computer so biggest takeaways are don't share passwords and accounts if you have a history of recording activities in a private area because you know that's you and your spouse's hobby or not spouse and it's consensual make sure it's being recorded and just because you did it with someone who consented doesn't mean everyone who comes in engages in those activities is consenting so consent is a big one on that and then if the area is visited by multiple parties that's not probably it's probably not a private place it's not going to hold up in court so we have the office where obviously a little bit more private right not all your guests are probably going to come into your home office but people do come in there outside of just the owners of the home and the sun room example as well so I'll just repeat those again don't share passwords and accounts if you have a history of recording in private areas make sure all parties are consenting to that recording and if the area is visited by multiple parties outside of the people in the relationship that's not considered a private area at least in the eyes of the court in most cases the rest of the half of the stock is just talking just basic security measures you can take to protect yourself in the case that you're in a relationship and you want some more privacy for yourself just good old common knowledge to not get hacked and then also sometimes you are you see find yourself in relationships that are a little aggressive or abusive and these are some ways to help so big one is phone settings first and foremost right pretty basic so turn off location setting features on apps as much as you can great example of that is Uber likes to track your GPS location all the time not even when you're using apps might not be the best app for grabbing a cab in that case being able to block and filter numbers having a remote white feature make sure you have a phone lock in code I know where this is a hacker community here but I can't tell you how many of my you know Midwestern grandma's friends don't do that and I think that's something they need to start doing and be aware of to protect themselves and disable file and media sharing again going back to sharing of account so if you share an iCloud account and you're sharing pictures that way well in the eyes of the court you're sharing some type of account they can take you to court and say well yeah I did have the right to snoop through your email we're sharing accounts elsewhere and sharing media files not that it will hold up just that that's evidence of you know you've done it before when you're at home if you feel like your network could possibly you know pick up your network traffic you could use a VPN enabled while on a wireless network it's probably the best anyway also on your mobile device if you're you're at a coffee shop just some helpful hints there you know you have open VPN where you can VPN back into your home network or you can use a paid service and additionally there's helpful apps so if you are in a more threatening environment from a domestic standpoint secure messaging apps like signal or crypto cat are really great and even if you do have spyware installed on your phone they're not necessarily able to go in there and decrypt those type of messaging apps depends on the spyware and root kit that's put on there you can do apps that can see your text messages are in calls like vault or shady contacts so it obfuscates who you're talking to and then decoy apps which I think are every parent's favorite thing right now concealed data and other apps and do like remote lock an example of that is an app called prey where it looks like a certain app you go in you know it has a whole bunch of different files and other apps that look like a baseball scoring game but not really at all it's like a messaging app and did want to talk privacy and social media this is going to depend there's so much different social media that everybody uses so biggest one is turn off geolocation filters knowing how to manage who sees your content review of the privacy settings that are even the advanced settings security settings in general and the notifications for multiple logins that you know your multiple browser sessions and how to kill those and two-factor authentication and then for keeping online activity private in general obviously two-factor authentication or unique and complex passwords auto deleting a history and cookies in your browser you can also do tour just delete me which is saves you time by providing direct links for canceling numerous internet sites so Google door canes a little harder to do do privacy mode in your browser I know a lot of this is basic and this community is really aware of that but so many people don't know this so many of my friends don't know this until it's too late or they're in a bad situation and duck duck go is a search browser not browser Jesus search engine it doesn't save your searches it also doesn't sell your searches like Google or Yahoo does so that's a great one even though like sometimes their interface is frustrating disconnect me is another one it lets you visualize and block sites that track your search and browsing history and I again for online activity private I mentioned a bunch of VPN clients like hide my ass tunnel bear open VPNs that that one's free and then you know for the more technically inclined I would recommend tails if they're super wanting to dive into that world and if you don't know that's a live OS and you can put it on almost any computer just sitting on top of your normal OS and you with a DVD USB stick or SD card and it's a Debian base Linux distribution aimed at preserving privacy and it has tour built in it's a fun one if you haven't used it and then did want to talk about if your laptop and stuff is in private areas make sure it's locked make sure it has a passcode otherwise that reasonable expectation of privacy might not be there encrypting your laptops hide hard drive so when someone does try to install spyware root kit they need that additional password notification to do so covering up webcams and then backing up your data and change default passwords on hardware so those are just some cybersecurity techniques for the home for people who might not be ridiculously technically inclined and I was going to talk specifically about some surveillance technologies so ways you can be surveilled you can have a spyware or and that can just go for your camera can go for audio where it can record it and save it for later content created apps so going after like your snapchat and going in to Twitter and being able to pull that data keylogger, password finders, GPS tracking phone and text filtering where it can even send phone and text for you I know for this community like none of this is a shocker but I talked to some of my friends who really just use their phone to take pictures and snapchat and a lot of this is like what I didn't know people could do that so in general spyware gathers info about a person without their knowledge and I just had a couple of examples here so for as low as $20 a month in spy you can block someone's incoming calls and by predefined numbers monitor their content apps again like any kind of social media and you know use their GPS location there's also spy era and that can listen on your phone calls everything else that's happening near the smartphone and record it for it tracks text it uploads copies of the photos you take it spies on conversations held through other apps such as Skype and Viper and WeChat and it logs everything you type so it's a keylogger as well and even uses the camera to find spy on you physically and I think you can grab that for about four to five hundred a device that you're going to install it on so I mean if someone wants to truly be malicious and they live with you like that's not too much of a hefty price to start tracking people your significant other if you're a little paranoid that they're on dating sites or if they're talking to people and then for keyloggers I'm going to talk about Spyrix keylogger it's free it screenshots the active programs on the computer and intervals and it reports the programs that are running back to the person who installed it that's a big deal if you're living together and you're separated and someone gets a little jealous you know like oh fuck they're on match.com it can be pretty aggressive really fast when they're finding out that kind of information and you're already in a bad situation a fun one I found was it's actually advertised as a backup data recovery software it's DDI utilities and you can download the alt program remote send it if you know the phone number you want it to track and just for the few simple commands you have full route on that phone you're able to track everything and I think it's only $70 and yeah it's definitely advertised as a backup data recovery software and yes it does that too but it tells you everything that's happening on that phone because it does that and I thought that one was really fun because well not fun because it's a remote connect that one's a little scary to find and I did want to talk about the dangers of parental controls you can have net nanny for your kids but if you're in the middle of a separation or a nasty divorce that can totally be used against you and if you're not familiar with net nanny that controls and access what someone's viewing from anywhere anytime using any device you get alerts when they're attempted to download a certain something or if they're going to a certain website bam you get pinged right away another one is iPhone spy stick and it's just plugged into a USB port it downloads it all the web history emails text message even the deleted text messages this one I thought was interesting it's the iPhone dot camera so you think that you're just charging your device but actually it's a recording video that's going on in the room and it has a voice activated audio monitor a lot of parents use these tools to monitor their kids and their online activities but you can totally use it for your spouse or someone that you live with to under the premise that it's for the kids pretty interesting and then just one more on that for the parental controls is mobile spy and that software that allows users to follow a phone in real time geographic location and see online activity so a lot of these have similar features but each one is a little different just some basic surveillance detection techniques if you think your mobile device is possibly compromised these are just some quick physical ones are you getting battery loss a lot quicker than you have been is it overheating all the time you can go in and check your phone settings and look at the permissions that the apps are doing so maybe a new apps on there they're not necessarily paying attention to how many people download not named brand photo editor apps you know and say that's a big one at least for a lot of my friends it was and like that looks pretty shady man where did you get that app and where did you download it let's see what it has access to and then for anything that's like a net nanny or a content filtering you can usually just pick pick up the computer processes in order to detect the internet filters and content control software depending on what the software is your area if you think it's a certain software you can usually just kind of Google what internet computer process to look for for a net nanny specifically I think it's a work aware process you can go in there and kill it to bypass that for that session anyway and then there's also spyware detection software specifically and anti root kit scans for spyware detection software I think Norton power eraser bite defender root kit removal Kaspersky has a pretty good anti keylogger under their security scan and then malware bites has a free anti root kit so at least that there's one product that's free the biggest mitigation techniques for you know getting root kit and spyware installed is actually keeping the software up to date and patch and I know we hear that a thousand times but a lot of these root kits or spyware that's installed is specific to a certain OS a certain certain version and below as the iOS or OS gets updated those software programs have to get updated to in order to be effective read those end user license agreements when you're picking up apps and seeing what that's really paying really asking for I don't do it but you could do a quick search I do it sometimes depending on the app but also two factor authentication is a big one for your device your bank accounts your email anything where you're going to house significant personal privacy data you should really look at doing two factor authentication I've heard some security friends say oh I don't I hate doing that because we share Amazon accounts and when I do two factor authentication they're not necessarily next to my phone and it's just all sorts of red right there if you're in maintaining personal accounts how many people live together and share a Netflix Hulu or Amazon account well what other at the information in those accounts that you're letting your spouse or significant other have access to pretty sure that's tied to your bank account information your email different addresses your shipping stuff to so actually a lot of personal data I haven't been using it on a business side so then that significant other has access to some of your business information try and parse off separate accounts for that like Hulu and Netflix you can make you know separate account that they'll log into Amazon I think they have a feature now where it's like a shared household and you can have another account however with the Amazon one they do not separate the banking information so watch out for on that one to be aware of I mentioned those because most people live together those are pretty common to share at least people I know lock your devices encrypt your hard drive so installation of new software is hard and again I'm just gonna say one more time don't share passwords if it comes worse to worse for spyware root kit you know back up your data as best you can in factory reset of devices that'll get that off there and since I don't have a slide up I'm just gonna go over some of the bigger resources I think yeah violet blue has a great book it's called smart girls guide to privacy and practical tips for saying safe online that one's great highly recommend that I think it's a free e-book or on a Kindle account or if you just want to buy it I think it's like between five and ten bucks I think she's even doing a book signing here at Defcon I found today or yesterday but it is really awesome hackblossom.org slash domestic dash violence and I was gonna show you some screenshots of that particular site I thought it was really great because there's not a comprehensive guide how to secure yourself online that I've really found outside of that and so they even have a quick exit button in case you are in a really aggressive environment and you need that and get out of the browser quickly because they just walked in the room so I thought that was a really nice feature so they have different threat scenarios in that and it's like my partners harassing me through my cell phone, harassing me through social media, stalking my location surveilling my online activity et cetera et cetera and they do a pretty nice little like overview walk through it's just a nice resource that I thought was online and comprehensive and then some great organizations out there such as Crash Override Network they have a pretty it's not super comprehensive but they have some definite resources of how to protect yourself online especially when you're talking like abusive relationships but their main focus for Crash Override is online harassment so you'll see a lot of sites right and a lot of information about being cyber bullied but when you're living with someone it's a whole other level because you're expecting calls from them so you can't necessarily block their number especially if you both have kids that might be an emergency situation so anyway Crash Override for online bullying also the national network to end domestic violence had some really good resources for those that would need help and another organization called Next Door and I think Next Door offered support groups even temporary housing solutions and self-sufficiency programs to help some people feel really powerless in these situations because as the victim you have to change your life so much usually not the other way around and as far as I said I talked to laws by state that are different for privacy so victimsofcrime.org you can get in there and it actually is kind of under their stalking laws because when you're talking domestic surveillance that's probably where you're going to go first so any questions sorry for the lack of slides and me looking down any questions at all sure I think there's a mic up here if you want or thanks such an important topic for the crucial juncture where somebody is first leaving the domestic situation and they need to escape to some other place surveillance of course to be able to track you if it's on your phone if your phone is off of your lifeline to all of the other support networks so do you have any recommendations for that specific crucial juncture I don't have personal experience with that but from everything I've seen on a resource is doing that first outreach usually to a trusted friend or organization and the biggest thing is have somewhere to go and have some stuff set up there from a surveillance and tracking your phone at that point I personally anyway would leave my phone and get a burner while you're doing that set up to leave and start making your own accounts and like say you're sharing Amazon or email because some people do share email start making your own accounts and making that defined moment for yourself and not tying it to the other individual that you will be separating from because you can at least in a court situation show hey from this date we knew we were separating and here's the proof of when that stuff was created so from a law perspective you'll be covered there from a domestic violence because I think that's a really scary situation is you really have to work with the organizations and friends that will be able to support you get you away from that situation you usually have a almost like a safe house safe space you can go to get ready to jump ship and you like cut lifelines in a way from the other individual as best you can and don't share your location and new contact information and make sure all of your close friends and relatives know that as well that's the best advice I have for that situation I'm not a professional in that category in any means but everything I've read that would be my ultimate recommendation any other questions? sure I don't at the moment I can totally do that I'll throw it up on my twitter later I'll probably put it on LinkedIn share slides so my twitter is yeah I guess you can't see that either Lauren K. Rucker and it's L-A-U-R-E-N-K R-U-C-K-E-R sorry it's all together it doesn't have any weird spelling so yeah Lauren K. Rucker I'll be sure to put that link on there and I'll pin it so you guys can see it for a little bit yeah what's the expectation of privacy that children should have from parents like adolescents and teenagers what can they expect as their reasonable privacy that parents should violate? yeah I think I kept hitting on or running across that as I was doing a lot of research for this talk and this time from a law perspective it's really at the discretion of the parents since they are the parent and guardian if a child is 18 and under unfortunately law has not caught up with the reasonable expectation of privacy when it comes to children so that's why things like net nanny which are mass advertised and a lot of these parental control softwares in internet filtering that you see is really scary and perfectly legal to purchase due to the fact law hasn't defined a child's privacy I think possibly the defining moment is to have a facebook or snapchat a lot of those laws if you're 13 and under privacy as far as your parents concerned doesn't necessarily exist privacy from other individuals outside of your family is a different story and ultimately pretty protected from that perspective does that answer your question? oh, okay any others? cool, alright well thank you so much for coming to my talk


Okay. Sure. Oh, that looks kind of funny up there. The screen up there. Should we. Or can we just alert your mindset? That's fine. Yeah. Oh, sorry. Too many, too many screens. Yeah. Okay, cool. Sure. Cool. Okay. Hello. Please take your seats. And welcoming Karen Ryan Anderson back to our last lecture for today. And he will wrap up today's introduction. Very, you know, intense introduction to quantum error correction. So, okay, go ahead. Thanks. All right, so I will basically start off where Ben left off. However, I'm not a masochist or at least I don't like writing codes this way. If we take the same code, the torque code. Let's see. So we want to do, do, do. Oh, we want for these things. And whatnot. And instead of doing, instead of having the checks on the vertices and the cubits on the edges and the Z checks on the, the, the. Plakets. If we put the cubits on the vertices, that's where I like to put them because they look like little points and kind of reminds me of cubits. Then we have these like X, X, X, X checks. And then we have the Z, Z, Z. It's the same code. It's just a different representation. Sometimes this is called the, the medial code, the medial mapping of the code. And we can take this tour code that Ben described. And if we want to do everything in 2D, like some devices kind of is more natural for them. We can make basically a slice of this torus. And we can just add extra checks along the boundaries. And we get another version of the torque code this time though, the planar surface code. And particularly this is often known as the rotated planar surface code because the first version of it had more checks and you can like slice it in a different way and whatnot. That's not important. So this one is a 913 code. So it has one logical qubit unlike the torus that has two. Here we have, let's see, is this working? So it does go back and forth with the little magic dot thing. Doesn't seem to work. Okay. No problem. Sorry. Here we have a logical X operator going from top to bottom. So here, instead of having, there is a version of a logical operator, logical X operator that's kind of X, poly X on each of the qubits, each of the vertices. But here you can make the lower weight ones by just having a string of poly X's that you, so you apply an X on each of the qubits from top to bottom. And they're equivalent logical operators that just run from top to bottom. So as long as you can connect those top and bottom boundaries with a set of X poly operators, it's equivalent to a logical X operator. And then likewise, the Z goes from like horizontally, it connects the boundaries from left to right. As long as you have a set of Z poly operators that do that, then it is equivalent to logical Z. Now these, in these diagrams, I'm using similar diagrams like Ben discussed. I'm using the darker gray boxes to represent the operators where we measure joint X's, for those qubits that touch that polygon, those polygons, and for the lighter boxes, it's a joint Z operator that we're measuring. So these are the set of stabilizers written in pictorial form. So it's a lot nicer to work with than potentially this for larger codes. And yeah, so we have N minus one unique, or yeah, N minus one where N is the number of data qubits unique stabilizer generators. So that means, as Ben mentioned, each poly operator divides the space in half, orthogonally. And so that means that the space has two minus the number of things that divided in half. So that means if you do N minus, in parentheses N minus one, it all cancels and you get two to the end. So it's a logical two level system. So it's a one logical qubit. So that's what that T two means there. But also described this thing. So this is a distance three color code, or also known as the steam code for that, for the distance three version. And this is the distance five version of the color code. Notice there's lots of colors.  It is related to the surface code. Kind of very similar. It's also a topological code. Here though, the polygons don't represent just one type of poly operator that we're going to measure one type of observable. It represents two types. So for example, this big attempt. The pointer doesn't work. Each polygon, or once again, the vertices represent the qubits, the data qubits, and the polygons represent both the observable where you're measuring joint X's for all those qubits, as well as the other observable where you're measuring joint Z for all these qubits. So it's a self dual code. It's a CSS code. So CSS means that you can write the set of generators, either as only a Z poly type or X poly type. So you have a combination of X and Z purely X and Z generators. And this is self dual because the X and Z look exactly the same. And of course you can multiply those together and get why. So you could use, you could also measure the observables where their joint Y operators for those polygons. Unlike surface code, there's more symmetry, which is both a blessing and a curse or well, both a benefit and a con for the color code. It's, it means that it has a lot more, more logical operators that are possible. It also means that for each one of these boundaries. So you see this like X string and then this Y string and the Z string that kind of, if you imagine a triangle, those are often called triangular codes on like the square of the surface code. So it connects the, the, you know, the points on this triangle, each one of these operators do, but each boundary, these, these three boundaries can have an X, Y or Z logical operators. So you can, you can apply a set of poly operators that are either at all X's, which is equivalent to an logical X operator Y, which is closing to a logical Y operand Z, which is closing to a logical Z operator. So it doesn't really have this polarization that the surface code has. It's a little bit different. Yeah, slightly different characteristic. So I should say, yeah, this is kind of going to start out as sort of introducing you to some familiar codes that, that you might study in quantum air correction, but then we're going to go deeper. So this is kind of using as a, as a way to get familiar and then start working on like what do these circuits look like and how does all that work? Okay.  It turns out if you for the surface codes where you only have either X type or Z type observables. So if you have X type of code on the vertices, then you get graphs that are able to support these type of codes that are too colorable and that have a degree of four. So each vertex only has four edges at most. And then you can cut little codes out of these graphs. So long as you like make sure that you have the right number of stabilizers and whatnot. And then similar for the color code, pretty bunch of pretty different colors. So that's probably that has to do with the three color ability, which also, if you have both X and Z type checks for both of these for, for these polygons and you want to make sure that everything commutes and whatnot, you end up getting a three color booklet graph. Okay. That's, that's, it's just to introduce that they, you might hear about color codes and surface codes, but there's all, there's all kinds of those codes that haven't been, that don't tend to be studied. You can do a lot more with them. There's also non uniform tiling of the plans that you can also cut codes out of. It also doesn't really matter. The geometry of these things don't matter. These are all equivalent graphs. So this 488 nomenclature right here just represents if you sit at a point and you kind of walk along. If you have polygons that touch that point, you can have polygons of, of, you know, with four sides, eight sides, eight sides. So all these other graphs are equivalent. So you can lay these things out, you know, you could, if you have a, a computer that has long range connectivity, you could like ions, you could have all sorts of geometries if you want. So the connectivity isn't really so important. These things just help us kind of visualize what the organizers look like in a sort of an abstract manner. So a lot of codes, but not necessarily all, although you can form families of them, a lot of codes have families of codes or belong to a family where you can kind of parameterize it by the distance of the code, which we've talked about before. So it's mentioned the distance minus one divided by two. The distance is slightly less than half is the number of, of flips either from various poly, poly operators that it can handle before, or yeah, that the codes guaranteed to handle. It's possible that codes can handle more than that, but it's not guaranteed to handle all the, like the same. So the distance three code, for example, can potentially handle weight two errors, but not all weight two errors. It's just guaranteed that at that, that T value, you can definitely correct that. Beyond that, there's some probability whether it can correct those or not. Anyway, but, but so as, as you make these codes larger and larger, as you can see, they can correct more and more errors. So that means they can suppress the logical error rate, you know, because we're spreading the information across many qubits. And, and let's see, verify what time. Okay, we're spreading information across many qubits. And so this means that since it can handle more and more errors, that means that, given that, you know, errors pop in with a certain probability, that means that we can squash them fast. You know, it's easier for us to squash them. It's, we can wait longer or we have more of a chance to squash them, you know, before they build up. Here's an example of a family, two different families of the color code. So the steam, this is the distance three one is the steam code, which Ben talked about. Then you can also construct larger versions of the color code by cutting out, you know, the codes out of these graphs that I mentioned. Common ones are either this, this 488 lattice, which is on the top, or the 666 lattice on the bottom, which is an ominous number. Okay, you might have heard of this word threshold, and maybe you've heard of the concept of a pseudo threshold. So the pseudo threshold refers to the performance of a code, like for a single code instance, not the entire family. So what we have here in this graph on the x-axis is the physical error rate and on y-axis is the logical error rate. And then this dotted line is when those two error rates equal each other. And so there's some point in which the code gets overwhelmed. And the probability of higher weights errors happening is too high.  If it's low enough, then you can start suppressing the error rate. So you get like a p-squared effect, or if it's higher distance codes, like distance 5, you can go from p to p cubed and so on. So you can keep on quadratically suppressing the noise. And so the place where this curve kind of hits this x, you know, the x equals y line when logical, the logical and physical error rates are equal are known as the pseudo threshold. The pseudo threshold because it's not a full threshold, the threshold refers to the family of codes. I sort of kind of mentioned this before with the repetition code that, for the repetition code, as the number of cubits, the number of bits goes towards infinity, then you know that as long as less than half of those bits flip, the majority vote will send you to the right outcome. The same sort of idea with quantum error correction codes. What happens is as the distance increases, as I mentioned before, you get steeper and steeper slope. So you suppress the noise more, so you get higher power, you know, you go from, as I mentioned, p-squared, p-cube, p to the fourth and so on. And eventually as the distance goes towards infinity, effectively you get a step function. And so that dotted line where that step function is tells you that so long as the physical error rate is lower than that, there's some arbitrarily large code in which you can arbitrarily suppress the noise.  So you obviously, if you can reduce your physical error rates, and you want to do that because you kind of get more out of the code.  It's also good to be aware of, if you're trying to run simulations where you're trying to like work out these thresholds, like you sometimes see in papers, you need to look at, so the first sort of distances, like distance three, five, seven, there are curves kind of wiggle about. So eventually these curves kind of settle down into sort of a trend, and you can kind of, you know, fit those curves to a function, a higher order function, and work out what sort of the inflection point is, which corresponds to this threshold. But the first sort of small codes have this small size effect. So the curves are kind of settling down at first. So you can't really use like distance three, distance five, distance seven, in order to work out what your thresholds are. You have to kind of start out maybe at nine or 11 and then work up. So just in case you do those sorts of simulations in the future, maybe for the hackathon, maybe not. Yeah, and this is how the logical error rate roughly scales. You can kind of see that if you ignore the PTH, which represents the threshold error rate, P represents the physical error rate, then D plus one over two is really the same thing as T plus one. So, like I mentioned, a distance three code would suppress the noise by T plus one, so two P squared and so on. This is a shameless plug. I do have a package that does quantum error correction. You can take a look at it there. You can potentially use that to do simulations. Anyway, so I think Ben briefly touched on measurements. But I'll talk about those sort of again in a different way. I'm mainly focusing on how do these circuits work whenever we want to measure these observables for generic, you know, poly operators that we want to measure. So this can like dot with a line and P is to represent a control poly. So that's equivalent to, you know, if the qubit is in the zero state, apply identity, the qubits in the one state for the control, apply the poly. And that, you know, you could put an X in there and that's the equation for the CNOT or the control X gate, whatever you want to call it. So we're going to work out. Oh yeah, sorry. So we have this circuit here. And what that turns out to be is one way of measuring polys. So we introduce an insula, we apply a Hadamard, we do this control poly, another Hadamard and then we measure in the Z basis. So why does that work? I think Ben maybe showed one way to prove this and I guess I'll prove it again. Another way might not hurt to see how this works. I think it's fairly straightforward proof. So if we start out on the left hand side, you know, this, we're in a zero tensor psi state. So the zero is the control bit or going to be our control bit. Then we apply this Hadamard so we get a plus state. So this is this, you know, this thing, that's just, we've seen it a bunch of times. This is the plus state superposition of zero and one. And if we apply this control, control poly gate, we see that, you know, we leave, leave psi alone, if it's so I'm just, I'm doing a couple of steps. First, I'm, I'm converting plus into, you know, a superposition of zero and one. And so if it's zero, we don't apply the poly we just do identity so we just have psi so that's that first part. If it's one here. Then we apply the poly, according to that, you know, equation above. Okay, hopefully, that's straightforward. And then we apply the Hadamard again. We've, that means we flip the control bit. And that minus state is just, you know, if we put a minus here instead of a plus. And then if we, you know, move that square root from the plus and minus states over to the side to multiply it with that one over the square of two. Then we get that one half, and then here I'm just, you know, just rewriting plus and minus as you know, zero plus one, and then over on the right hand side, zero minus one. So I'm just re substituting things in. So you get that. And now we're going to rearrange the equation where we pull out the part where where it's all zeros. So we see is zero, you know, for each one of these two terms we see a zero in front so I'm just going to group those over to the side. I'm going to group the one over to the other side, because we're getting ready to measure in the Z basis. So it's convenient to do that. And then I can pull the operators away from the psi. So you know, the first term is psi plus P times psi. So I can just write that as I plus identity all times psi. And then on the other side I minus P times psi. That's straightforward.  And we're just getting ready to see what happens if we we measure in 01. So if we measure in 01. If we get a plus plus outcome, it's in, you know, that we know the control, we collapse to the state where the qubits, the control bit is zero. And if we can get a minus we collapse where the control bit is a one. So that's just, you know, taking the same equation above and just based on those two conditions we get that those outcome and I'm ignoring maybe some normalization going on. And we've seen these one half plus or minus P before from Ben. But if you want to do the math. So let's say, I identity is just equivalent to taking the, the, you know, either the Z or the X or the Y basis, and taking the, you know, the part of the state that the projects and, you know, that's the positive value state, the projector for that, plus the minus eigenvalues projector, and some of those together so that together that projects to the entire state, or the entire space so that makes sense that it's identity so we can just write it as the plus P projector and the minus P projector for where we can substitute P for X or Z or Y. And X, Y and Z can all be written like this in terms of their projectors, we, this might make sense if we look at the Z, for example, if, if a qubit is zero, then we leave it alone, if it's one, we add a phase to it. That's where the minus sign is in the middle. It turns out, in their own basis states X, X and Y also do the same thing. If we look at it, what we label X, Y and Z, it's just convention they should all look symmetric in their own basis states. So it should all do the same thing. So in general we can write down that P is equal to plus the plus P projector minus the minus P projector they'll do the same thing as some weird thing that flickered on the screen. They'll do the same thing as, yeah, applying, you know, minus to the part of the space that's in the minus subspace and applying plus to the to the other side. So hopefully that's all makes sense.  But in the end of the day, who cares about that math. What it tells you is that this circuit, you know, just through a few simple steps we can show that what this circuit really does is it projects us into the plus subspace of the poly operator or the minus one based on whether we get, you know, plus one or minus one. That's really the important part. It's easy enough to go through all that map, and it's kind of boring, but whatever. It just proved that it really is projecting us, you know, you know, if we get a plus one, we really do get, we really do get projected into the plus one part of the poly space, and so on. So that's cool. And this argument in general works like it's not special that it's a single poly operator surf for a single cubit, it will work for the same thing for multiple cubits, you can kind of, can you sort of easily see it. Or you can take my word for it. So that means if we're trying to measure a joint poly operator that in general we can use this circuit here. So that's really what I wanted to get to. So you can forget all that math, if you want, and just believe me that we can use the, you know, we can introduce an Encila, do a Hadamard, do these control polys, another Hadamard and measure it, measuring the z basis, and we are effectively projecting into these plus or minus of these poly operators, or another way of thinking about it is we're measuring the eigenvalue of those those poly operators. So this is how we measure our parity measurements. So they're all doing, they're all the same concept effectively. And we can see if we're trying for it like for example the surface code or the tour code or whatever, and we're trying to measure it like xxxx, then this just becomes a bunch of control knots, because we replace those polys with Xs. You can put the box there you can put the circle there it doesn't matter. So you get this thing. So this is the circuit for like the surface code, whenever you're doing the x checks. You can also see if we don't really want to think about all that math, and we just write down the circuit and believe that that if we, you know, input an x fault into this circuit, then it'll just commute with everything and just fly through. And so it's doing what we've seen before, if an error, if a fault commutes with the operator, the operator doesn't detect it it only detects. When are things anti commute with it. So if we apply a Z operator using sort of the rules that we've seen before, because Z, yeah, Z will will hit those targets and propagate down. And then it'll get flipped to an X operator. The Z measurements will pick up on Xs it'll look like a change in the measurement outcome. So we get a minus one. We can also see if there's an odd number of Zs that come in, then we get an odd number of, you know, Z, or Xs that hit the measurement. And so it will only light up you'll only give us a minus sign, if there's an odd number. And then if there's an even number, the minuses will cancel out. So once again, it's measuring the parody, you have an odd number of errors, you get minus one, even number of errors, you get plus one. So that's the other thing that we've, we've, you know, already thought about before. Cool. This is all leading to something like to think about how circuit level errors of faults work. So we can repeat all this stuff for Z. That's the same sort of story. I mean it's just the symmetric. However, people tend to write these in terms of CNOT so you'll more commonly see it with CNOT going down so we could replete you know do these controls Zs that's a perfectly fine circuit, you know, using using this sort of rule that we can just put put in whatever poly. People tend to put in these identities these Hadamards you know Hadamard types of Hadamard between each one of these gates in order to convert it into a bunch of CNOTs that point down. So if the CNOTs point down towards the Encila, it's a, it's a Z check, if the CNOTs point up. It's an X check. And then same sort of thing. We've already seen this effectively. So yeah, these are these are the typical circuits that we use. This is, there are other ways to measure syndromes, and this is sometimes referred to as bare Encila syndrome method, because we're using a single bare, just a single syndrome, or sorry, a single Encila. As I mentioned, there's other ways like shore style syndrome extraction, student style syndrome extraction, Neal style syndrome extraction, they require more Encila so they can be more overhead they have different advantages they can. A lot of them require you to measure operators more than the you would with the bare style, some of although some of them have single shot. So there's much more to read, but typically people study the bare style syndrome extraction so we'll forget those other styles but just to make you aware, there are other ways to do this too. So it's not unique. So go back to this. Oh yeah, what about so so far, we've only considered input faults into these circuits. What happens if that doesn't occur. What happens here, we see that the X in this X check is X parity measurement that we're trying to measure. The X fault will propagate up, and it'll go over to the Hadamard on the measurement branch, it'll flip to Z, Z commutes with Z so it doesn't actually like doesn't flip the measurement result. It'll go to the plus one. So you don't get any alert that a fault has happened, but not only has we do we not get an alert about it, but we get a wait one thing happening, wait one error, or fault happening, becoming a wait to fault. That's good, because that potentially can lower the distance of our codes as effectively as though we have, you know, with probability P we have a higher weight things occurring so that means that we need a larger code to deal with that potentially. And then of course the symmetric thing happens for the Z check. Okay, that potentially making nervous. However, for various codes there's ways to mitigate this. So, for a while, it was believed that that you just have to deal with this and make larger distance codes. However, it turned out I think Fowler discovered this, that it turns out that you can choose the schedule in which you do these C knots, so that the, like you do get these higher weight faults occurring. Like so we've already seen. However, you can by choosing the schedule you can make sure that like the C knots, you can measure all these seats, you can measure all these operators in parallel. And you can also make sure that you choose the direction in which the faults occur. So if we zoom up. And over on the left hand side. We kind of see a little bit of the X operator running up, and that purplish thing. Let's just represent an error is perpendicular to it. So this is an X error that's growing perpendicular to the logical, the logical X operator. And then the green fault here is, is a Z type fault, but it's also perpendicular to the logical Z operator. Eventually, we're not growing the errors in the direction in which they're applied, they would lead to a logical error it kind of looks like if you you know look in the right direction that's a wait one thing, effectively, in that dimension. Also, I should mention that you can also think of the surface code also like a repetition code, where you're taking the bit flip and Facebook code and kind of see it along the edges, and then kind of doing like a Cartesian product of the two. So this is like by learning the repetition code you kind of see it all over the place as well in other codes. Okay, what about this color the color codes of the steam codes. Also for a while, even longer because they're less studied than than the surface codes. So I thought we had to deal with these bad errors these bad errors are sometimes known as book errors because they kind of you know go up and over kind of like a hook. Of course, using the same sort of circuitry. If you have an X input error, then it propagates down to, or, yeah this is a Z check, you see the CNOT going down the X error on this Z check will propagate down, and the Z check will will detect this X error. And so in this code, for example, we the X error is being applied to keep it seven over in the corner and anti commutes with this red Z check. And so that kind of like locates effectively assuming that it's a low weight error, where the X error occurred. However, what happens if we measure this X check and an error occurred like we saw before in the middle of the check. Okay, it propagates down and once again, it's silent. This check is, but then we'll end up at some point measuring Z checks. So, over here is the results of if we then measured Z checks so we get plus one plus one for the green and and blue over on the left hand side, because each one touches the the X faults and even number of times so it doesn't flip it, we're detecting the X errors, but it, it touches that red Z check over on the right, an odd number of time once. So it flips that. That looks exactly like what we just saw. So, you're more likely to choose a correction where you flip you apply an X to keep it seven. And if you do do that, you'll get a string of X's. It turns out that string of X's is also a logical operator. So now we have a weight one error. If you include the correction, leading to a logical failure or logical error, it's in the proper error, not a failure. So you might think, okay, I just have to increase the size of the code and deal with it. Turns out, however, that we can supplement our circuit, we can introduce a flag in qubit and additional qubit. And, and we can see that effectively if nothing happens it acts like an identity so those controls kind of can can you can. So if the controls touching and these seen us they can go past each other they commute. So we can bring these seen us over to each other and they cancel their identity so if nothing happens this is just a fancy identity. However, if this internal fault happens. The, the X error does propagate down, and we get, you know, a non trivial result we get a, the, the, this outcome flipping. So flag these internal hook errors. So this allows us to, to, you know, modifier circuit, and get back the distance of the code. So that's cool. So yeah, that's, that's mainly the stuff that I was going to cover. I actually don't know. I assume it'll be what's six o'clock that we stop at. Yeah, okay. So that that's mainly what this kind of shows how you have to deal with fault tolerance so. There's a lot of people that will use the phrase, something is, is fault tolerant if, if the, if you're kind of in the regime in which the code is suppressing noise. It's a good use the term it kind of conflates kind of it being beneficial quantum error correction. I usually like to reserve the word fault tolerant meaning you can handle any T errors or T faults and recover it yourself. So it's T fault or K fault tolerance sometimes called, and that's a better. Annoyingly you'll see this, even by people that know stuff that they'll, they'll use the same word fault tolerance to mean to or maybe three different things and that's kind of an annoying thing in the field so sometimes you have to be clear about what they actually mean. Anyway, so that's a little rant, but, but this effectively showing how you have to do things in order to ensure fault tolerance that you can, you can ensure that your code is able to correct all faults to up to the what the code was designed to be. All right. If you are doing the challenges for the quantum error correction stuff, depending on the challenge, you might want to think about doing simulations or you might, you know, just after this, just get interested, or just read the QC paper and want to know how what what whether what the QC paper is actually saying, you have to be careful about one of your reading QC papers, the error rates that they report, because the error rates really depend on a lot of things like the circuitry that you're using as we've seen like different circuitry can lead to different errors, but also sort of the classical algorithm that you're using to come off the corrections, as well as the level that the type of error model, the type of noise that's being applied to the circuitry will change how the code performs. All those things are super important. So there's not one size fit all number for like the threshold of our code. But often, because it's a lot easier to simulate people will also use a simpler noise model. And, and you shouldn't be confused by because like, yeah, let's let's just go through. So this is a list of different common noise models from easier to harder, and they typically. The thresholds will be higher, and then quickly drop as the the you look at more and more details. So the simplest noise model that's not not as much people look at but it's definitely more popular in like classical error correction but some people do look at in quantum error correction because it is a useful noise model. So you can just erase your channel, the recent original noise model essentially what you do is, you just, you know, take a qubit, and you just completely depolarize it or you think about like removing it, all the like, like projecting it out, and then replacing it later on. But you get to know that sounds horrible but you get to know in this, this model which cubits have done that. So extra information allows you to actually do do a lot a lot with, like, with that you can come up with classical algorithms or to fix your code, come up with corrections, a lot easier than some other noise models just by the fact that you know where the where the cubit got deleted is the, like, if this happened in an actual physical device you have a way to herald whenever errors happen that that helps you out a lot, because, you know, as mentioned many times, the quantum problem with these codes is spread across the, the code, and there's many different logical operators. And so you can you can actually start deleting parts of the code. And as long as you are able to reset them and remeasure these checks which project you back into a code space, then you can recover from it. So long as you don't delete too much of your code is because no one cubit holds the information is the information is spread across the system. The next and pretty common noise model that people study is known as the code capacity model. And that is basically tells you the capacity of the code in a very abstract sense. So you don't have any of the details, we don't have any circuits here, but we don't, you don't have any of the details of the circuitry. You kind of pretend as though you have magic, a magic way of just measuring these parody checks without any error. So you could just get to do that, and you just study what are the, like if you have input errors. So the stuff that we were originally talking about just like, Okay, if we have have these input errors, and we could just measure the checks. We could just detect whether things commute or anti commute. That's what this level of noise model is so you just choose which cubits have with probability P have x, y or z noise and then you measure the parent, the checks. And then you get, you know, perfect measurements from that. The next level of difficulty is, it's a bit of a mouthful the phenomenological model. And that's, you know, based on like what is the overall phenomenon looking like. So we do still have these input errors, and we do have magic, you know, magic ways of just measuring these checks, where we just detect the parody. But now we add in the fact that that we model that that there's some probability in which the measurements can flip. So we have a bit flip channel on the measurements for these parodies. And that alone makes the decoding process this classical algorithm that comes with corrections much harder. And for a lot of codes, except for codes that have what's called shingles single shot syndrome extraction. You typically have to measure this. These checks are these stabilizer generators, multiple times, effectively you're kind of measuring a repetition code in time. You're just repeating it, and you're, you could do the majority vote on those things. But they're more complex algorithms in order to do with the correlations and all sorts of stuff. So you have to, you effectively do a repetition code in time so the repetition code once again is popping up. And just by the fact that you have these measurement flips happenings because you can't rely on the actual measurements so you have to correct, you know, have to deal with correcting the measurement outcomes as well. And then we get a course to the circuit level which modeling where we start applying noise at the circuit level so you actually care start to care about what your device actually is doing and there's various levels and which people actually run these models in the circuit model. Traditionally in the past people just look at the depolarizing channel. However, we and others are starting to model more exotic noise like leakage and crosstalk and coherent noise and so on to model what devices actually look like, and that can of course change the performance of codes. And in a more simple, yeah, even for that system, generally what you do is you, you like for each one of your ideal gates, you have some air channel that you then apply afterwards. So initialization you might do a bit flip or something. Two could be unitarious you might apply some random poly or something else. Two could be unitarious same sort of story measurement you might apply the some poly before it's if you like resetting the qubit or kind of equivalently you could do a bit flip on the on the measurement results and so on. So this is far more accurate, and you can like in, if I remember right, the color code has a code capacity threshold of 20%. So the color code has a code capacity threshold of around 10%. So the color codes better there. But then due to the complexity of the circuitry. Once you start looking at all that the surface code tends to have depends on who you read and the level of modeling that they're doing, but around 0.8% threshold once you look at the circuit so it's gone from 10% to 0.8. And then the color code is around point, I think three eight or something roughly 0.4%. So half, half the threshold at the circuit level, compared to the surface code. So it's it's dropped significantly and what was better, you know, seemingly a better performing code is now less performing. So it is constantly advances in like the decoding the classical decoding algorithms which can potentially improve the results so it's like no, like things can change in the future, which goes perform well, and, and so on. Looks like we have seven minutes. Okay. Yeah, so I mentioned before that that if you do start adding in noisy measurements which, you know, everything starting from the phenomenological model on have, then you have to deal with decoding in space time. So a common decoder that people study is men wait perfect matching decoder. You could try to encode all this stuff in a lookup table like we mentioned before, we're just kind of like write down the set of syndromes you might see, and then what corrections might you apply. However, you know, because you know, obviously if you have here here I'm using and to be the number of syndromes that you're measuring but if you're measuring the syndromes multiple times, and there's a, I guess really it's, it's, you'd have to multiply this, the number of time steps times the number of actual syndromes. And the number of syndromes actually grow based on the distance usually d squared or depends on the code, like this, this blows up really fast and you can't really compute these things. So you have to use an algorithm, not just store the stuff in memory but actually an algorithm in order to look at these like changes in measurement results so these nodes here represent flips in the syndromes and you try to have to find was the string of poly operators that that that most likely cause these flips that's what that sort of represents won't go into all that. Okay, let's see. I guess six minutes I guess I could either leave for questions or just keep on going. I'll keep on going. This I think maybe kind of be brief. I'm not going to cover things still not in depth. But so, as I mentioned before, codes don't have a universal gate set in general. There may be some fancy ways, but but at least of getting around this and maybe some future codes that are more exotic that kind of change in time and morph and do weird things might. But that's, you know, ignoring those sorts of codes. That's what says as says on the thing that knows no code has a transversal set of gates that are fault tolerant and universal. So that means we'll talk about what transversal means it's essentially that you're applying a single layer of gates so you just you don't have a deep set of gates that you're applying in order to apply these logical operations you're applying one one operation per data cuba up to that maybe less even. So no simple, you don't have these simple transversal gates that give you a universal set. So that means effectively that you have a discrete set of gates that you have to do for a particular code. So that's that that'd be a bummer and kind of mean that the QC game is all over and done with if there weren't workarounds.  A common thing that people look at is what's called magic state distillation. So there is a actual proper phrase called magic in quantum error correction. And there you could also potentially because no one code has a universal set, you can potentially use more than one code to kind of fill each other, you know to fill up the set of gates that you need in order to construct a universal gate set. So you can potentially do code switching where you use one, one code to do certain gates and then you switch the information over to another code. That's potentially complicated and there have been papers that kind of show that magic state distillation might still have lower overheads, even if you do those sorts of things. But I mean, there's still, it's still an active area of research. There are other things like peaceful fault tolerance that also get around it and so on. Let's see how much time, three minutes. Okay, transversal gates. We've already seen some transversal gates like these poly operators you just playing a string of poly operators as a depth one circuit. Yeah, so we can, we've seen that that's both the color code and the surface code have these poly operate these logical poly operators this transversal gates. The surface code doesn't have a had a marred, which I think Ben briefly mentioned that's transversal, unless you do permutations which I think he also mentioned. It does have a CNOT gate that you can do transversally because it's a CSS code so all CSS codes can have these transversal CNOT gates. The color codes nice in that it has all these symmetries so you actually get all single cubic and two cubic gates as transversal operations. Let's skip this poly stuff. Okay, so the had a mart example, we apply had a mart to all the data cubits, then these x checks become z checks and the z checks become x checks, it switches the poly type. And then our, what was our x operator becomes our z operator because it's becomes all z's and vice versa.  However, you notice that the code has now effectively rotated, and we, and we typically want the code to be back in its, its original state. So, if you're in a fixed 2d geometry device, then you might have to do a set of operations to do those rotations, or if you're nine traps, and you kind of get it for free because you don't really care like the labeling we just move things to gate zones. So we can see if we do somehow, how are we do it rotate the code around we get the same thing as the original except the X is over on the other side. However, as I mentioned before, any string that that's connects the top and bottom boundary is equivalent, you can multiply by stabilizers to get to move the thing over, and it still has the same logical information. So we've gotten back the code and we have indeed done the transversal had a mart. We can do it and it doesn't need to move things around because X and Z are symmetric so everything's symmetric, and you're good, and all the boundaries can have the same sort of poly x y and z type stuff so you're all good. One minute, okay. One minute, I can explain that that's why maybe not one minute, but close to one minute I can explain the transversal CNOT. So how do you entangle to code blocks so there are other ways to do these entanglements as mentioned as before, but we'll just focus on the transversal gate because it's a lot simpler. So the transversal gate for all these CSS codes all you have to do is as been mentioned, you put these, the corresponding CNOT in one block that's your control block. That's representing one of your logical qubits to the corresponding qubit and the other block that's your target block so sort of like this, so we have two codes, we're just stringing CNOT between them. By these rules, we can see that we can, like, we'll take that X logical string, and the X, having these CNOTs I'm just concentrating on the CNOTs in the boundary there's CNOTs everywhere this control, you know, touching the corresponding qubits. I'm just highlighting the CNOTs on the boundary, but using the rules of the CNOTs you get the X to come down. And so we get, you know, the X logical X on the top to be logical X on the top and bottom, and so on, like the logical X on the bottom remains the same. It doesn't change. It's there. So we get the same sort of rules on the physical that we see on the physical level on the logical level by doing these sets of operations. Cool. And the same sort of story on the logical level but in the reverse for the sorry for the Z side of things, but in the reverse. And now, okay, I'm over time, but I'm almost done. We do like X and Z checks on the top and bottom so S one and S two. If we apply this, the CNOT between all the qubits, then we do get a doubling of like S one, because the X flow down. As Ben has mentioned, we can rewrite our generators where we can just multiply stabilizers by each other. And so if we just multiply S one by S two and S two hasn't changed because it doesn't flow up from the target. So we get back to the original S one prime this case and S two so we get effectively the same original stabilizers and the same sort of story for the Z thing but everything flows in the opposite direction. So, I'll share these, these slides, and you can see that, at least here's a quick proof of why, why CSS codes do have transversal operations that entangle code box. Sorry for going a couple minutes over. Well, for this nice final talk today. We don't have anything planned after this so you are released for the evening. There is going to be I think dinner served down at the Adriatico at like seven ish but you should check in case you don't want to go somewhere else like Trieste and catch a bus. But in any case, that was a very nice day again day two I think you learned a lot. And keep in mind, you're learning here from experts. Right. So, it's very special that we can get you hold into here from all the important work you're doing so both for you and Ben thank you very much for this afternoon session. Good time.