Welcome to the Coronavirus Weekly Brief. We're your hosts. I'm David Sturman. And I'm Melissa Salikberg with New America. Here are the headlines you need to know. The Trump administration is scrambling to address a coronavirus outbreak within the White House. As one of Trump's personal valets and vice president Mike Pence's spokesperson, Katie Miller, tested positive for the virus. In the wake of the positive tests, the White House has ramped up screening and has asked more staffers to work from home. However, on Sunday, the White House said that Vice President Pence would not change this routine or go into quarantine. Meanwhile, White House Coronavirus Task Force member Dr. Anthony Fauci has begun a modified quarantine after coming in contact with an infected White House staffer. Dr. Robert Redfield, who also came in contact with an infected White House staffer, has begun a two-week quarantine. And Dr. Stephen Hahn, the commissioner of the Food and Drug Administration, is also quarantining himself. In addition, one top military official has quarantined himself and another has tested positive and negative for coronavirus, though seemingly not as a result of the outbreak at the White House. On Sunday, the Defense Department announced that Chief of Naval Operations Admiral Mike Gilday entered a one-week quarantine after a family member tested positive for COVID-19 and General Joseph Langell, who heads the National Guard, also tested positive on Saturday. Though a second test came up negative, he awaits the third test. Both the General and Admiral were absent from a Saturday meeting between Trump and military leaders. The coronavirus spread across the U.S., stemmed from New York City, Seattle, and international travel. New research shows that many infections stemmed from travel out of New York City before social distancing was firmly implemented. How? The virus's mutations were tracked by geneticists and found that through coronavirus models in travel histories. Outbreaks in Arizona, Texas, and Louisiana, among others, likely stemmed from New York City. Yale School of Public Health Epidemiologist Nathan Grubaugh says, Infection spreading from New York account for 60 to 65% of the sequenced viruses across the country. Seattle is another city that's spread to outbreaks in many U.S. states. The virus in New York has a quote-unquote distinct genetic signature related to the virus spread in Europe. A Washington state signature is related to the virus spread in China. Other coronavirus hubs in the country were created by international travel scientists say. By mid-March, when the travel restrictions from Europe were implemented by the White House, it was too late for the United States because, quote, the disease was already spreading widely within the country, unquote, according to reports by the New York Times. Understanding how travel helps spread the coronavirus, states lifting stay-at-home orders may contribute to further spreading of the virus across state borders. The FBI and Department of Homeland Security are planning to issue a warning that China is trying to hack and steal American research into vaccines, according to reports in the New York Times and Wall Street Journal. The warning is part of a strategy to deter such stuff, but also part of the administration's effort to focus blame and attention on China, according to the Times. It will come as many states have increased their attention to cyber threats amid the virus. U.S. scientists study the spread of the coronavirus in homeless shelters, advocating for new policies. The new coronavirus has spread rapidly throughout large communal settings, such as prisons, homeless shelters, and nursing homes. Researchers are trying to figure out how to model the spread of the virus so measures can be developed for those living in community settings. Since around 1.4 million people resort to homeless shelters, or quote-unquote, transitional housing in the United States, what has made this research so challenging is that many of those who had the coronavirus early on and spread the virus did not exhibit symptoms or only one was observed, such as a fever or cough. For example, 147 individuals in a Boston homeless shelter tested positive for the coronavirus, but only 7.5% had a cough and less than 1% had a fever. 87.8% were completely asymptomatic, according to a published article in the American Medical Association's online JAMA network. These findings indicate that asymptomatic individuals in community living facilities should still be tested, not just those who have elevated temperatures or coughs. A recently published report by researchers affiliated with the University of Pennsylvania, University of California Los Angeles, and Boston University found that more than 21,300 homeless people in the United States will need to be hospitalized for COVID-19, and 3,400 will die if nothing changes and shelters across the U.S. today. University of California, San Francisco researcher, clinician, Margo Cushill says, quote, as scientists, it's our role to raise up these issues and help the public understand how viruses do discriminate since we live in an inequitable world, unquote. In addition to more frequent testing, researchers are advocating for contact tracing and coronavirus screening. Confirmed cases of coronavirus in Russia continued to rise over the weekend with authorities saying on Monday that more than 11,000 cases were confirmed in the prior 24 hours. That brings the nationwide total to more than 221,000, the third largest number of cases globally. Russian Army medical personnel who were sent to Italy to help fight the outbreak there have now been recalled to help with Russia's outbreak. Major League Baseball, which has been shut down for two months due to the coronavirus, is seeking to reopen in 2020. According to the Wall Street Journal, the League will present a plan for a 2020 season to the players union this week. The plan would reportedly see games beginning in July, but a shortened season of 80 games, half the usual number, the relocation of teams, and games played without an audience. One potential sticking point remains player salaries, with the League saying it is infeasible to pay full salaries without fans in the seats. To see our daily brief, go to the address in our show notes and follow us on Twitter at New America ISP. Tune in next Monday for our next episode.


Welcome to George H. Schmitz's Excursions into Libertarian Thought, a production of Libertarianism.org and the Cato Institute. I'm your host, Terence West. Defending the non-aggression principle are applied to Matt Zwolinski, Part 1, by George H. Schmitz. In his recent article, Six Reasons Libertarians Should Reject the Non-Aggression Principle, Matt Zwolinski criticizes the Libertarian non-aggression principle and calls for a radical paradigm shift in which we put aside the idea that non-aggression is the sole immovable center of the moral universe. Libertarianism needs its own Copernican Revolution. In a follow-up piece, More on Non-Aggression, Zwolinski explains that he doesn't wish to jettison the NAP altogether. Rather, he objects to the NAP as the sole and absolute criterion of Libertarian justice. He continues, I think that a very strong presumption against coercion makes perfect sense. But to hold that presumption is indefeasible, and the sole relevant criterion of justice, as Rothbard seemed to hold, strikes me as deeply implausible. And it was that absolutism and monism to which I was objecting in my essay. It would have been easier to comment on Zwolinski's paper if he had confined himself specifically to Murray Rothbard's interpretation of the NAP instead of choosing the diffuse and elusive target called what many Libertarians believe. Many Libertarians, including those who regard themselves as Rothbardians in a fundamental sense, as I do, have criticized Rothbard on a number of significant issues. For my criticism of Rothbard's position on war, see Thinking About War published in Liberty, May 2008. But let's put this all aside and only deal with Zwolinski's objections to the non-aggression principle as he understands it. In most cases, I will quote from his article directly rather than attempt to paraphrase. I do this because I don't want to run the risk of misrepresenting Zwolinski's objections. But the quotations will take some space, so my response will require at least two parts. Much of this essay, and probably some of part two, will focus on Zwolinski's claim that we should view the NAP as defeasible presumption, not an inflexible rule. My criticisms of this view will be presented a little later. But for now, I want to consider his call for a radical paradigm shift, a Copernican revolution in how we think about the NAP. A paradigm shift, as explained by Thomas Kahn, requires competing paradigms. So what alternative paradigm does Zwolinski have in mind? Well, he doesn't say, but I assume it's related to treating the NAP as defeasible presumption. But if this is the case, then we're not dealing with a radical paradigm shift at all. Much less with a Copernican revolution. The notion that liberty should be treated as defeasible presumption was standard fare among many classical liberals throughout the 18th and 19th centuries. I discussed this topic in considerable detail in my forthcoming book from Cambridge University Press, The System of Liberty, Themes in the History of Classical Liberalism. Here are just two examples among many. The presumption of liberty was defended by James Madison, who stated that he approved of some exceptions to the rule of laissez-faire but opposed converting the exceptions into the rule. As Madison saw the matter, treating liberty as defeasible presumption provided a reasonable alternative to the extremes of doing nothing and providing everything. In 1893, J. Shield Nicholson, professor of political economy at the University of Edinburgh, explained how the presumption of liberty informed the thinking of those classical economists who generally favored a policy of laissez-faire. The classical economists considered the presumptions against the state interference to be established. The rule, it is true, was never absolute and unqualified. Adam Smith himself indicated some of the most important of these exceptions and the list has been extended by his successors. As I said before, the presumption of liberty, which can easily be converted into the presumption of non-aggression, was a mainstay of classical liberalism. So, if Zulinski's notion of a radical paradigm shift is to return to a variant of this tenet of classical liberalism, then I suggest that his Copernican revolution is akin to shifting back to the Potomacic system. I say this because treating liberty as a defeasible presumption led to so many exceptions among classical liberals as to eventually render the presumption itself virtually meaningless. This erosion of the basic principle, liberty, was inevitable, since it was ultimately up to government to decide when the presumption of liberty should be overridden. Thus, we had a classic case of the fox guarding the chicken coop. I will return to this issue later. Now, I wish to backtrack to the beginning of Zulinski's article and consider his points one by one. His objections are quite sketchy, so I don't regard myself as obligated to write a mini essay in response to each one. In some cases, I will state my disagreement briefly and then move on. As Zulinski begins, many libertarians believe that the whole of their political philosophy can be summed up in a single, simple principle. This principle, the non-aggression principle, or non-aggression axiom hereafter, NAP, holds that aggression against the person or property of others is always wrong, where aggression is defined narrowly in terms of the use or threat of physical violence. There are two problems here. First, the NAP is usually, and should be, expressed in terms of physical force, not violence. This is largely owing to the influence of Anne Rand, who made the non-initiation of force, commonly abbreviated as N-I-O-F, the fundamental principle of her theory of justice. Force, as I shall explain in part two, covers a lot more ground than does violence. Second, Zulinski fails to distinguish between acts that are unjust and acts that are morally wrong. This confusion recurs throughout his paper, as Winnie says that according to the NAP, no amount of aggression, no matter how small, is morally permissible. This conclusion does not follow from the NAP. Libertarianism is a political theory that deals with the concepts of justice. It does not deal, per se, with establishing what is and is not morally permissible. That is the realm of ethics or moral theory, which is a much broader discipline than political theory. Libertarians frequently discuss emergency situations in which aggression, such as stealing food to survive, might be morally justifiable, even if it is unjust. If Zulinski insists that unjust actions must also be immoral in all cases whatsoever, then he is embracing the kind of absolutism that he supposedly rejects. I will also return to this problem in part two. Moving on. From this principle, many libertarians believe the rest of libertarianism can be deduced as a matter of mere logic. What is the proper libertarian stance on minimum wage laws? Aggression and therefore wrong. What about anti-discrimination laws? Aggression and therefore wrong. Public schools, same answer. Public roads, same answer. The libertarian armed with the NAP has little need for the close study of history, sociology, or empirical economics. With a little logic and a lot of faith in this basic axiom of morality, virtually any political problem can be neatly solved from the armchair. I know of no libertarian, including Rothbard, who claims that the rest of libertarianism can be deduced from the NAP. The original acquisition of property titles, such as in land, is only one counter-example among many. Even if we accept a homesteading approach to land titles, which involves mixing one's labor with the land, this will not tell us the specifics, such as how much labor is required and for what amount of time, what qualifies as labor, etc. Issues like this will depend a good deal on conventions, as they could vary from region to region. There are also problems pertaining to ownership rights in bodies of water or an atmosphere. Moreover, verbal versus written contracts, specific performance, remedies for contract violations, and so forth cannot be strictly deduced from the NAP, nor can the theory of punishment for criminal acts. The list goes on and on. Zwolinski's notion of a purely deductive libertarian theory is a myth. The only requirement is that subsidiary libertarian principles be consistent with the NAP, which is not to say they can be deduced from the NAP. Let's consider the list that Zwolinski gave us. If his examples, such as minimum wage laws, are cases of aggression, then they are indeed unjust according to the NAP. This reasoning is the simple application of a general principle to specific cases. If all violations of the NAP are unjust, if X, Y, and Z qualifies as violations, then it follows that X, Y, and Z are unjust, but these particular applications of general principle to concrete cases are much different than formulating subsidiary libertarian principles, many of which cannot be arrived at by deductive reasoning. I could throw a similar list back to Zwolinski. What is his stance on murder, rape, kidnapping, child molestation, and so forth? Does he need to study history, sociology, or empirical economics before he can tell us whether or not these things are unjust? Let's hope not. But if he does, I would like to know what information he might glean from history or sociology or economics that would make it just or morally permissible for him to engage in, say, rape. But if Zwolinski doesn't need to consult those disciplines, if he is able to deduce from a general moral principle that particular instances of rape are wrong, then may we accuse him of adopting a simplistic absolutist approach? Again, moving on. On its face, the NAP's prohibition of aggression falls nicely in line with common sense. After all, who doesn't think it's wrong to steal someone else's property, to club some innocent person over the head, or to force others to labor for one's own private benefit? And if it's wrong for us to do these things as individuals, why would it be any less wrong for us to do it as a group, as a club, a gang, or a state? The latter is an excellent question. Too bad Zwolinski didn't intend to answer it. He continues. But the NAP's plausibility is superficial. It is, of course, common sense to think that aggression is a bad thing. But it's far from common sense to think its badness is absolute, such as the wrongness of aggression always triumphs in a sensible consideration of justice or political morality. There is a vast difference between a strong but defeasible presumption against the justice of aggression and an absolute universal prohibition. Let us now take a look at the idea of defeasible presumption in more detail. A defeasible presumption establishes a default position, so to speak. And it also places the burden of proof on the person who wishes to override, defeat, the presumption. To say that the NAP is a defeasible presumption is to say that aggression is presumed to be unjust or wrong in Zwolinski's terms. In the absence of overriding arguments to the contrary, consider one of Zwolinski's examples. Minimum wage laws entail using coercion via the instrumentality of law against the innocent, not aggressive, employers. They also prohibit voluntary agreements as when employer and employee both agree to a lesser wage. Thus, as libertarians view the matter, minimum wage laws violate the property rights of employers and the contractual rights of employees, so they are unjust. If Zwolinski, working from the NAP quay defeasible presumption, wishes to defeat his own presumption and maintain that government should enact and enforce minimum wage laws, then he assumes the burden to give compelling reason for treating this case as an exception to the general rule. There are basically two ways to do this. If, as I discussed below, Zwolinski did not intend to defend minimum wage laws, then the following should be applied to any exceptions to the NAP that he would defend. First, Zwolinski could argue that minimum wage laws through an instance of real aggression are also an instance of good aggression. This method requires that he explain the criterion, or criteria, by which we can distinguish between good and bad aggression. And since Zwolinski can, or thinks he can, justify non-aggression as a presumption, he needs to show why his exceptions do not violate his own justification for that presumption. Thus, he might say that we should presume aggression is bad, except when aggression serves the common or public good, or when it maximizes social utility, or when it promotes the greatest happiness for the greatest number, etc. Second, Zwolinski could argue that a minimum wage law is not an authentic case of aggression at all, but only appears to be such to hide-abound advocates of the NAP. This was the preferred method of those classical liberals who wished to justify what seemed obvious violations of their own presumption of liberty. They frequently justified apparent exceptions by introducing an intermediate principle between the general presumption and a particular case. In most cases, this intermediate principle was the principle of tacit consent, as manifested in a social contract of some sort. According to this line of reasoning, citizens have tacitly agreed to abide by majority rule when dealing with laws that do not violate inalienable rights. They have, in other words, agreed beforehand to respect certain laws regarding the disposition of property, which involve inalienable rights, enacted by a legitimate government. This element of consent would mean that a minimum wage law is not a real case of aggression at all. There is a significant difference between those two escape routes from the structures of the NAP. Only the first method attempts to establish exceptions to the NAP, strictly speaking, so only in that approach do we find the NAP treated as defeasible presumption. The second route, in contrast, professes to respect the NAP unconditionally while arguing that apparent exceptions, such as minimum wage laws, are not truly exceptions at all. Rather, they have been rendered voluntary through the mechanism of tacit consent. Given the manner in which Zulinski breezes I cannot say which approach he wishes to defend, it is possible that he doesn't mean to defend his own examples at all, but merely wishes to illustrate the supposedly simplistic manner in which absolute defenders of the NAP oppose various laws. If that's the case, if Zulinski himself opposes minimum wage laws and possibly similar examples, then we need to know why they do not qualify as legitimate exceptions to his own presumptions and, moreover, what would be needed for them to so qualify. In short, Zulinski needs to explain the criterion of defeasibility that he uses to identify legitimate exceptions to the NAP and how he justifies that criterion. If, as Zulinski suggests, he can justify a very strong presumption against coercion, then we'll need very strong reasons for why that presumption should not apply to particular cases. Unfortunately, Zulinski doesn't provide so much as a hint as to how he would go about this. It is frustrating when a philosopher engages in hit-and-run raids against a position without lingering long enough to explain what he would put in its place, but it's also hazardous to speculate on what his alternative might be. Therefore, in my next installment, I will cease guessing at what Zulinski might have had in mind and proceed to examine his comments in more detail. This has been Excursions into Libertarian Thought, a production of Libertarianism.org and the Cato Institute. To learn more about Libertarian philosophy and history, visit www.libertarianism.org I'm Terence West. Thanks for listening.


When James Parkinson first described the classical symptoms of the disease, he'd hardly foresee the evolution of our understanding over the next 200 years, like the role of nutrition. Increasing Parkinson's disease risk with high dietary intakes of animal fat, iron, mercury, and dairy products, whereas the intake of antioxidants in a plant-based dietary pattern may be protective. Plant-based diets are known to preserve body tissues from oxidative stress and inflammation, both hallmarks of chronic degenerative diseases like Parkinson's. On the contrary, animal-based foods, particularly rich in animal proteins and saturated fats, are correlated with the promotion of neurodegenerative diseases, in addition to some of the leading killers like cancer, heart disease, diabetes, etc. Not all plants are necessarily good, though. For example, the potential neurotoxicity of graviola, a fruit known as soursop. Consumption of soursop can lower blood pressure and uric acid levels, but may also cause an atypical form of Parkinson's disease, because the fruit contains neurotoxic compounds, and indeed population studies do show a link between the overconsumption of soursop with neurodegenerative disease. Yes, those who follow a predominantly plant-based diet may show the lowest prevalence and incidence of Parkinson's disease, but plant-based nutrition is not just about reducing the risk, but can also be used to manage the disease. In my video, Treating Parkinson's Disease with Diet, I discussed this case report, in which a diet low in animal fat, and including both whole grains every day, as well as one to two cups of strawberries a day, seem to be effective in reducing symptoms of Parkinson's disease. But there are like 20,000 edible plants out there, and only a limited number of them have been studied for anti-Parkinson's activity. One plant that's got a lot of attention is coffee, which makes her a protective effect against the development of Parkinson's disease, and may even help slow down the progression of the disease, based on studies like this, that show the Parkinson's patients who drink coffee or caffeinated tea appear to cut their risk of dying prematurely in half. But correlation doesn't mean causage. You don't know if caffeine really works until you put it to the test. Caffeine for the treatment of Parkinson's disease, a six-week randomized placebo-controlled double-blind study. The caffeine group was started out at approximately a cup of coffee's worth of caffeine twice a day, once in the morning and once after lunch, and then increasing it to two cups worth twice a day, which would be like four cups of black tea twice a day, or six cups of green, and a significant improvement in Parkinson's symptoms within three weeks compared to placebo. A cheap, safe, simple treatment for Parkinson's, though an important limitation was the duration of the study. Caffeine has what's called a tachyfolactic property, meaning its effects tend to diminish over time with repeated use, at least when trying to combat sleepiness. So it would be really nice to see the study repeated over a longer time frame, but there was no such longer study until five years later. Randomizing Parkinson's patients to about two cups of coffee worth of caffeine twice a day for not six weeks, but more than six months, and no benefit over placebo. Caffeine did not provide sustained symptomatic benefit after all, so caffeine may have a short-term benefit, which quickly dissipates, regardless caffeine cannot be recommended as a symptomatic therapy for Parkinson's.


What did you say? We're your mask. Yeah. I know you're Dr. Mask. That's a good one. All righty. Thank you. As we come to a conclusion of this year, it's a far different cry from the start of the year in January 1st. And I wanna really thank Dr. Ted and Dr. Fassan for just a partnership throughout much of our COVID, our monkeypox, our polio, in all the different circumstances that were attached to it throughout this entire year. They helped us navigate the turbulent waters of uncertainty. And even now, Dr. Fassan is going to go over some of the issues that we are facing as we move into flu season and as we move into dealing with some of the other respiratory issues that we are facing. You know, this has been a three years journey. The handoff came in January when the former mayor handed off to us the entire crisis we were facing. But I believe the combination of our healthcare professionals and everyday New Yorkers. Sometimes we forget the role that everyday New Yorkers played in dealing with COVID and some of the other crises that we were facing. You know, New Yorkers don't like people telling them what to do, but we were able to stay to them. We needed you to wear your mask. We needed you to get vaccinated. We needed for you to social distance. And they complied. They understood the urgency of the moment and they stood up. And because of the experience of our frontline workers, everyday New Yorkers, we were able to really push back on COVID and what it presented, the challenges it presented to our city and our state. But we had a very significant moment right now and Dr. Fassan reminds us all the time during the holiday season. We come together to be with our families and loved ones. And during that time, we really need New Yorkers to hear the directions that are going to come from these two medical professionals of how do we enjoy the holidays and spread love without spreading the virus. And we could have that combination. Everything from as you're feeling ill to stay home so you don't spread it to your loved ones, make sure that if you're in, surroundings that you're unsure about, that you wear face covering and it's crucial to make sure that you are vaccinated and you're taking the booster shots. And I'm sure Dr. Fassan will lean into that more so we'll get a full understanding of that. This year, particularly around the flu, from the briefing we receive, the numbers are higher than it traditionally is around this year. And when you combine it with the other elements that we're facing, the other RSVs, COVID-19, it just make it extremely challenging for New Yorkers. But we could get it done right. If we get covered and we do it right, the chart that we're showing now is showing some of the challenges we have with RSV positive results received electronically. And it shows where we peaked and where we stand currently. And so it's important for us to make sure we take the next steps. But today, we're also excited about announcing that kids six months through four years old can get the updated COVID-19 Pfizer vaccine at any of the 11 public hospitals. We know the virus mutates and this is going to allow us to deal with how that virus is mutating. And once of the only city, Dr. Ted, thank you, with our mobile units, 75 mobile units where you can get the necessary, if you test positive, we start the flow of given Palax Lovid antiviral medication that is given out. But in addition to that, 50 of those 75 units that we have will be also dealing with flu and other issues as well. So this is a real one. We led from the front on this issue and we're gonna continue to make sure that Tamar Flu and other items are available as we move forward. And so our community and faith-based leaders really came together. When you look at the numbers they speak for themselves, five million at-home tests was distributed through this network. 12 million masks were distributed. We came together as a city and combined our efforts to make sure that New Yorkers were prepared and we continue to do so as we move forward and during this other seasons that's in front of us. New Yorkers can go anywhere to a 250 walk up sites to attain free at-home COVID-19 tests is something that we're gonna continue to lean on. If you test and you define yourself to be positive, it's best to just stay home and utilize the services that we put in place. So it's clear. The direction is get vaccinated, get boosted, stay safe and make sure you enjoy a safe holiday season. I'm gonna turn it over to the dynamic duo, Dr. Fassan and Dr. Ted. Thank you, Mr. Mayor. And I'm happy to also run through the slides as we talk. It's good to be here today, happy holidays to everybody. You know, more than anything, we want everyone to have a safe and healthy holiday to be able to enjoy this holiday season. I say this all the time. It feels like the holidays have been snatched from us the last couple of years and this is our chance to snatch it back. And there's some smart and safe things we can do to make sure that that happens for as many people as possible. We're obviously grateful that New Yorkers can come together this year with their friends and loved ones. I realize my mic is not on, so that usually helps. It is on? Okay, sorry about that. We also know that assessing risks to ourselves and others is essential to our personal health, to our community health, and to our overall wellbeing. The fact is, as the mayor has shown and the slides will show, this holiday season, our city, like the country is experiencing unusually high and concurrent spikes of COVID-19 and other seasonal infections, especially influenza and RSV. Here we see our COVID test positivity. As you can see, it's been slowly increasing. I think this is a product of the changing weather. It's a product of increased social mixing and congregation around the holidays. And it's a product of us getting back to some semblance of normalcy in the way that we move about the world and live our lives. And so some of this is to be expected, but it is something we're watching very carefully. The mayor already showed the slide around RSV, and that's encouraging because over the last several weeks we are seeing a demonstrable decrease in cases. And then if we can go to the flu slide, we see a pretty dramatic incline and a much earlier onset of flu cases than we've really ever seen before. Encouragingly, this week, we're starting to see a little bit of a flattening in transmission, but it's still too early to tell whether we've hit our peak. So there are sensible precautions we can all take to protect each other. A couple of weeks ago I issued a health advisory that urges New York City residents to use high quality masks when indoors in public settings and in crowded outdoor settings. This is meant to reflect the reality that we are back to moving about the world in ways that feel somewhat normal, doing our holiday shopping, using the subway, going to school. And it's important that we take precautions as we do so, especially so we can spend time with loved ones this holiday safely and secure in the knowledge that we're doing everything we can to keep ourselves and our families safe. This is especially important for people who are or who are getting together with people that increase risk for complications from COVID, RSV or the flu such as those who are 65 and older, people who are immunocompromised and or have an underlying chronic health condition. The advisory also strongly recommends people six months or older get their COVID-19 primary series vaccination if they haven't already and should receive their updated bivalent booster if eligible. You can get your booster shot and your flu shot at the same time. And the fact is that the vast majority of people hospitalized with COVID and dying from COVID today are unvaccinated or incompletely vaccinated. And recent data suggests that the bivalent booster reduces risk of hospitalization by over 50%. So while we're asking New Yorkers to do their part, as a city we've developed a winter plan to navigate this season safely. This includes closely tracking case hospitalization and death data for COVID-19 flu and RSV, including emergency room use and available space in hospitals and intensive care units. We're looking at data trends and rapid changes such as large increases in cases in a short period of time here in New York City. We're also watching New York City and global data on COVID variants so we can quickly respond to any variant that may cause more severe disease or spread significantly faster than the multiple variants currently circulating and causing people to fall sick today. With all of that assessment, we're also making it as easy as possible for New Yorkers to protect one another by organizing community pop-up events offering the COVID booster and flu vaccine. In the last three months, the health department has organized more than 50 events where more than 2,000 flu shots and 800 boosters were administered. This is in addition to the 187 mobile clinics at congregate settings like shelters and supportive housing and nursing homes where more than 1,400 boosters and 100 primary series vaccinations were held, were given out in since September. During the month of November alone, we've partnered with 67 community-based organizations. We've engaged over 80,000 community members at more than 900 in-person street level outreach events and we've held over 100 in-person community conversations, 30 virtual conversations. And through these efforts, we've made more than 20, almost 25,000 vaccine referrals and more than 6,000 testing referrals and nearly 40,000 referrals to other health and social services because we know that so many people have delayed care and deferred care during COVID. We're also zeroing in on those most at risk of severe illness by calling people 65 and older who test positive for COVID to get them immediate access to Paxilivit. Through COVID Therapeutics Outreach Program, our nurses have consulted with nearly 32,000 sick New Yorkers who are 65 and older to get them access to Paxilivit. We're also sending text messages to remind people to get their bivalent booster, especially for those over 65. And we're requesting that all healthcare providers reach out to their patients who are at increased risk for severe illness at health and hospitals alone. They've, I believe, issued more than 2 million emails to patients to come in and get their COVID booster. And this is coupled with the 75 mobile test-to-treat units, 50 of which have rapid RSV and flu tests on site. So New York City is at our best when we come together to fight whatever faces us. Sometimes the best way to come together though is to spend a little bit of time apart. For people who are sick, they should stay home and avoid close contact with others and talk to a provider about testing, care, and treatment. You can call your provider or call 212-COVID-19 to ask about treatment and to even arrange same day treatment delivery. We can come together for our friends, our neighbors, and our loved ones in other ways too. Call in and check in on other people who may be sick or alone during the holidays. And finally, let's not forget mental wellbeing. Whether it's the stress of finding presents, hosting gatherings, or being alone during the festive period, or remembering those we've lost or the many other things that the holidays can trigger, please remember to take care of yourself. We have plenty of resources handy. If you need to reach out for help, you can call NYC-WELL at 1-888-NYC-WELL or call NYC-WELL or 988, the National Suicide Prevention Hotline if you're experiencing a mental health crisis. Finally, we wish you all a joyous, healthy, and safe holiday season and look forward to taking your questions. Thank you, thank you. Dr. Tett. I think we do under your Q and A here. Nope. We're open to Q and A. You know, this is a stressful time. I'm trying to figure out what I'm getting Kate and Bernadette for holiday. And a lot of stress. We have time for some on-topics, Mike. On RSV, relative of mine was recently hospitalized and it turned out had RSV. But what I'd heard, and I was hearing something second and third hand, so I'm not sure exactly what happened, but the testing for RSV didn't happen until a few days into the state. And what I'd heard was that they were short, they didn't have the test and then got them. So I was wondering, is this kind of an issue in general? This might be an isolated incident, but it seemed odd to me that they wouldn't have it with all the kind of talk we've had about how problematic RSV could be. Is there you guys hearing that or seeing that shortage of RSV test? In most settings, RSV is included as a part of a viral panel and that includes COVID, flu, RSV and several other viruses that we test for. So I don't know about the specific case you're referring to, in general, that's not what we're hearing from our frontline facilities that they're short of testing, but important data point and happy to follow up. And just to give you the health and hospitals experience, so at our 11 hospitals, we all do the viral panels, as Dr. Vesan said, and at all of my 50 community health centers, we do the same viral panel. At 50 of our mobile test-to-treat units, we do the RSV rapid test, which is a rapid version, of course, of the PCR test that we do in the hospitals and in the clinics, but we do it everywhere. Give us an update on hospital capacity and specifically pediatric beds. It's a great question and something we're monitoring very closely. We're, in addition to working with the data that the hospitals report to the state, we're also doing surveys with the Greater New York Hospital Association. It's a program we developed during COVID called SITSTAT, which is getting more granular levels on staffing capacity. And right now, the vast majority of the 49 reporting hospitals in New York City are not reporting severe staffing shortages in either the ER or in pediatric hospital beds, but there we have some spot issues, right? I mean, I think when you start to think about staffing, you think about, well, weekend staffing and night staffing. And so this is something we're monitoring really closely. We're nowhere near the kinds of staffing issues we've faced in previous waves of COVID, but it is something we're trying to get ahead of. And we're in constant conversation with the state. I was just on the phone with them today about this issue and with our federal partners about relief in the event that we have to pull on these emergency staffing contracts that we've had to pull on in previous waves. Erin? You talked about these spikes in all three viruses. Can you just give us the numbers? Where are they now and what are they up from? And also you talked about the vast majority of deaths being unvaccinated, what percentage of staff? Okay, happy to get you the final numbers. I mean, basically the case rate over the last seven days is 300 per 100,000. What does that mean? That means that it's a fairly significant level of transmission. It's a high level of transmission if you look at the COVID community levels indicated by the CDC. And we've been in that level of transmission for a large part of the summer. It dipped down in early in the fall and then it's come back up as the weather has gotten colder and people have started mixing more. So not altogether unexpected. The hospitalization rate is 19.9 per 100,000. Again, not something that we've seen as sort of critical. This is part of why when we are announcing this winter plan of how we're assessing these three viruses, we're not looking at absolute thresholds as ways to say, hey, we're in high, medium, low or red, yellow, green. It's rather let's look at trends and let's look at rapid changes and let's look at how to predict what might happen in New York City based on what's happening in other parts of the globe, rather than, hey, we've hit this absolute number because those numbers are having a little bit less relevance to things like staffing. Now, because we're not seeing as many people hospitalized from COVID due to COVID like illness as we have in previous waves. I can go, we can get you the rest of the numbers as well. I don't want to belabor them. In the vaccination question. Sorry, what was the question? What is the percentage of people dying that are vaccinated versus unvaccinated? We'll get you the numbers, but it's over 80%. Look at that. What was it? That's positive. The warehouse fire was the other day. So it's a big outbreak.


Doing this will make the narcissist even worse. You can give the narcissist the world and in return not have a place in it. And sometimes you think you're giving them the world, but you're not. Sometimes their world is not your world. And this is because of how they were raised. It's because of their family. That's why they behave the way they behave. They have a distorted perception of love. It came from their family. They've been told they're nothing. They're worthless. They're never going to be anything. This is how narcissistic parents speak to their children. But after all of these things have been said and done to the narcissist, you later try to be involved with them. You try to have a relationship with someone who has never seen what real love is. All they've seen is manipulation. All they've seen is lying and they've learned that being caring and loving is not a good idea. They learned at a young age that you need to manipulate and lie to get what you want. You have to tell people what they want to hear. Everything you see from the narcissist is what they've learned throughout their lives from other people, especially people in their family. Love is not something that they can accept. They think love is for fools. Because at one point, the narcissist tried to love someone and then they were taken for a fool. They were taken for a ride. They were cheated. They were tricked. Which is why no matter how much love and care you give to the narcissist, no matter how much you try to show them that you're in their corner, you're on their side, they've never seen anything like that before. They've never seen that in their lives because of their parent or because of their surrounding environment. They don't believe that they are lovable. They don't believe that they are able to be loved. They don't believe that they are good enough to keep you. They believe that at some point they're going to mess it up. And the more you try to love them, the more you're just going to realize how messed up they are. That's how they're thinking. Which is why they begin to hate love. If you try to love them, they see it as an insult. It's something offensive to them. Which is why they end up becoming so bitter and resentful towards you.   Because they know they're not meant to be loved. Which is where we need to stop and look at ourselves. Because as empaths, we often love people who are not even loving us back. We care for people who don't even care for us. We don't realize that we're not getting anything back in return. There's no reciprocation. But this is how the dynamic is able to play out between someone who is kind and caring and someone who is broken. Because you are drawn to it. When you see someone in need, you can't help yourself. But you're doing it for the wrong people. Because you don't realize that not everyone should be loved equally. Empathic people want to help. They want to give their assistance. And then they want to come back to see how things are going. They want to stay in contact. Because they have to continue until something is finished. Or else they won't feel right about it. Which is why empaths are perfect for narcissists. Because they can trick you. They can fool you. They can make you help them. They can make you try to fix things. And you may want them to see that their actions or beliefs are wrong. You may want them to realize and admit that they made a mistake or behaved badly. But when you do that, they turn against you. They become very oppositional to you. They start to become a duty or responsibility. That is hard to bear. Because they start doing things that you have to fix or repair. They deliberately mess things up. They cause worry and difficulty. They become very annoying and tedious. They're always causing trouble. They're always up to something. While you're helping them with all of these things. It just makes you wonder why they can't just begin to live in a good and sensible way. But they are doing this deliberately and intentionally. Because they know that empaths will overlook the abuse. They will overlook unfairness and dental treatment. Things that other people would not tolerate. Which is why they love empaths. But then they also begin to hate them. Because it reminds them if someone is loving and caring for them. They should be getting better. They should be correcting the errors of their ways. They should be becoming a better person. But they're not. Because they can't receive love. They don't understand love. It doesn't make any sense to them. They think you're just trying to use them. They think you're trying to manipulate them. That's what they were taught by their parents. People are not real or genuine. They're all fake. They're all trying to get something from you. So the narcissist is not going to let that happen to them. They're going to cause disruption. They're going to act out. And because you love them. You may put in a lot of effort. You may try to help them. You may try to fix them. But it just makes them worse and worse. Once they can see that you're still going to put in the effort. It just makes them test the waters. It makes them up their game. It makes them ramp up the abuse. So they can see how much you really love them. They just see it as a game. They will do all of these sick and twisted things to you. To see if you will put up with it. And to make you show more concern. To make you more involved. When really you should be running away. You should be getting rid of them. Because if you continue to be involved. Despite how they have treated you. You will become their grade A supply. Because they're deliberately doing all of these things. Just to see how far they can take it. To see what you're willing to tolerate.  They don't even care about the relationship. They just want to see what they can get away with. There's no such thing as a relationship with a narcissist. It's always a game. They make fun of you. They make a fool out of you. Because they don't believe that they can be loved. And many of them don't want to be loved. The more you love them.  Because this has happened to them before. But you need to recognize that a normal person would not sabotage help. A normal person would not behave that way. When someone is trying to take care of them. And make sure that they are treated well. They wouldn't get worse. They would get better. When you are given your love, care and assistance to someone. You should be receiving something in return. You should be receiving gratitude, appreciation and respect. But you never got that from the narcissist. They don't understand that these things they're doing come with consequences. They don't realize that by doing all of these things. There's going to be a negative or unfavorable response. Something that will later affect them. They don't want to deal with that. Which is why many of them later disappear. Or they will want to pick up from when things were good. When you choose to invest your feelings and emotions into someone. You need to ensure that this person is reasonable and sensible. You need to ensure that they are in their right mind. So that they can understand love and receive it. Without trying to destroy it. Thank you for watching. I hope this video resonated with you. Please like, comment, share and subscribe. If you would like to donate. My PayPal link is in the video description. Coach's inquiries. You can email me at coaching.narchsurvivor.uk Thank you for watching. And I'll talk to you soon.


Thanks for the warm welcome. Hey everyone, I am Sankeet Singh. I hope everything is fine. I'm audible also, right? Okay, cool. So welcome to EuroPython guys. This is my second Python conference as a speaker. Today we are going to talk about GRPC with Python. I believe a lot of you guys might be already aware about what GRPC is, what it has to offer, but we are going to take a deep dive.  If you don't know anything about GRPC, we are going to talk a lot about it. And we are also going to see how you can set up your first GRPC server and client with Python, right? Before we start, who am I? Why I'm here? I'm Sankeet Singh. I work as a software engineer at Google. Prior to Google, I worked as a software engineer at LinkedIn. In India, I like spending some time in training students about foundations of computer science like data structures, algorithms, DBMS, networking, JavaScript, and Python as well. I'm kind of like superhero fan. So big Marvel and DC fans where you can find some references also coming up in the slides. So stay tuned for that. Let me know if you get some Easter eggs and references, okay? So what you guys can expect from this session, we are going to talk about what and why about GRPC, like what is GRPC and with our already existing solutions. Why do we need GRPC now? We are going to compare GRPC with some other conventions like REST, SO, et cetera. Also, we'll see that how you can kickstart a small sample GRPC server inclined in Python. It's going to be really easy and we will unleash the power of GRPC in very few steps. So this is going to be what your expectation from the session is, right? Okay. So first of all, before we actually take a deep dive into REST, sorry, take a deep dive into GRPC, we would like to first of all talk about REST, right? Our favorite REST. I believe all of you guys must have interacted with a REST API, REST server or maybe developed your own as well, right? REST is something which is kind of widely accepted and used. There exist dedicated frameworks like Python Django, Ruby on Rails. These frameworks support REST out of the box, right? We don't have to do a lot of configurations and change the conventions. They by default support REST and they encourage you to support REST as well, like in things like Django and Rails. If we follow REST conventions, then things get even simpler. The scaffolding operations provide us default set of REST APIs for whatever resources we want to use, right? So REST is already present with us. It's very flexible and easy to use, right? In REST, we deal everything as resources and we are kind of like very much into it that most of the, I would say, most of the people must have somewhere, somewhat in during their career, must have worked with REST. REST is something that is even compatible with browsers, right? We have pre-defined set of conventions with REST. We have pre-defined set of codes which are called as status codes for REST, right? So you guys can like check out the MDN status codes for REST.  We definitely interact with them on almost daily purpose, right? So REST is already there and we are kind of used to it. It's easy, it's flexible. It gets the job done, right? Till now a lot of, I would say, big websites, applications websites, applications are already set up in REST. They are doing fine. So what's the problem now? Let's talk about it. So we'll talk about the problems and the shortcomings of REST. But first of all, there is something new already present in the market. We would like to welcome GRPC. So you guys must have already heard about RPC, remote procedure calls. So what is GRPC? GRPC is an open source RPC system developed by Google in 2015. So on and all it does the same thing that a normal remote procedure call is going to do with some added benefits as well as advantages. So GRPC uses HTTP 2.2 out of the box. We are going to talk about it and it is one of the most important reasons why using GRPC makes sense a lot because it comes with the capability of HTTP 2.2. We'll talk about it a bit later. In GRPC, we use language neutral protocol buffers. This is one of the key highlights of GRPC, right? We are already used to things like XML, JSON, et cetera, but protocol buffers are new to the picture and they change the whole landscape. GRPC is very fast, secure and has features like automatic load balancing, right? So GRPC comes up with a lot of new features. It's open source, managed by Google and we are going to discuss about all of these features. We are also going to see when we should not use GRPC. We're going to compare it with REST and a lot more, right? So the thing is, I would say the most important question is not what is GRPC. The most important question that should come into our mind is why now, like we are already there with a lot of already present conventions, RESTs, SOAP, et cetera, like why do we need to use GRPC now and what benefits it comes with, okay? So we would first of all like to discuss some problems with REST. Before we start with the problems, I would like to specifically mention that whatever I'm going to discuss here, you might not feel these as problems, right? It can depend on use case to use case that whether you feel it's a problem or I would say it is something that we should be concerned about. But yes, in my opinion, these can be problematic sometimes, right? So the first thing is the problems with JSON. So we know that in REST, already the situation is we interact the messages that we send from server to client, always it's going to be in JSON, right? We encourage JSON. What is JSON? If you don't know about JSON, JSON is JavaScript object notation. It looks a lot similar to JavaScript objects. It's just that we use it as a message format in REST, right? But the problem, the fundamental problem with JSON is we cannot do like direct type checking. Let's say you want to send a number. Sometimes you want to specifically send a strings. Type checking doesn't exist. Okay, cool. I believe the technical glitch is solved. Really sorry for that, guys. So let's just resume, let's just resume. So we were talking about we already have REST in place. So why GRPC now? So instead of like the main focus for anyone who wants to interact and learn about GRPC should not be that what is GRPC. But first of all, we need to understand that why GRPC? What are the benefits that comes with GRPC, right? And what are the, I would say shortcomings of the already present conventions and the technologies that we have. So whenever I refer to REST, then I just don't refer to the convention REST, but I also refer to the REST based APIs and everything. Okay, so we know that in REST, we use the message format as JSON. What is JSON? It's JavaScript object notation, right? I believe everybody must have at least seen or maybe used also JSON a lot of times. So the main problem with JSON comes as the issue with type checking, right? There is no strict type checking that comes out of the box of JSON. There are, I would say solutions available, but JSON by default, if you have like just out of the box supported, it's kind of difficult. Apart from that, apart from that, you need to do semantic versioning required on any API change. Like you have to specifically change the semantics of the API whenever you do a version change, right? For streaming, there is not like a lot of support directly. By default, REST comes with HTTP 1.1. Yes, you can migrate it to the later versions, but if something is coming out of the box, generally people tend to use it, right? So generally a lot of people and a lot of technologies and a lot of companies still are stuck on HTTP 1.1. You need to do manual validations for the requests and responses, right? And this is directly correlated with the issues of JSON having like the type checking issues with JSON, right? So this takes a bit of extra effort to do these manual validations. Apart from that, there's a very significant problem that comes with REST, that is maintenance of client-side libraries and implementation is required. For example, if somebody wants to consume a REST API in Python, then there is a separate set of libraries that they need to use. But instead of Python, let's say if somebody wants to consume REST API in let's say JavaScript or maybe in C-sharp or maybe in Java, then for each corresponding text stack, you have separate set of client-side libraries. Now having separate set of client-side libraries brings a lot of challenges. For example, there may be a case that few of the client-side libraries are using the latest versions and the latest updates that are coming in REST, but not everyone is using it. Apart from that, the maintenance is done by different communities and different organizations. So they are not going to be always consistent in their efforts, right? So these implementations of the different implementation of these client-side libraries can be also considered as one of the major problems with REST. Again, as I said, you might feel that like all of these things, that all of the problems that I've discussed are kind of like opinionated, right? Maybe for your use case, you don't feel like these as a set of problems. You don't feel like, okay, this is something that we need to care about. Maybe the scale that you are targeting or maybe the audience that you are targeting or the application that you are building is not gonna be affected a lot by these issues. But yes, they do exist. And maybe sometimes down the line, you are going to face it, okay? So, and then here comes GRPC to the rescue. All the things that we discussed about REST, GRPC solves a lot of them, if not everything. So the main and the best part about GRPC is the first two points. That is GRPC comes with HTTP 2.0 support by default. So all the features around multiplexing and the fast data transfer around HTTP 2.0 comes out of the box. You don't have to make an extra effort to change your version of your version. Apart from that, the key highlight about GRPC is the protocol buffers, the use of protocol buffers instead of JavaScript object notation that is JSON. Protocol buffers, we are going to discuss a lot of things around protocol buffers, but protocol buffers are the major game changer. Due to protocol buffers only, we are going to be able to create strict API contracts. So all these strict API contracts that we are able to build, we will be able to build using protocol buffers only. So protocol buffers brings a lot of features to GRPC. And these protocol buffers have their own built-in code generators, right? These code generators are maintained by Google. We are going to talk about it. But it's like that, you don't have to separately maintain different client-side libraries. We are going to see how is that gonna happen. But these code generators are really very helpful. Apart from that, GRPC comes with some extra features like inbuilt load balancing. And for streaming, it has support for unity streaming, streaming from server side, streaming from client side and even bi-directional streaming as well. So if you want to just build a quick chat app also, things are gonna work extremely fine with GRPC. And apart from like all of these bunch of features, HTTP 2.0 protocol buffers, all of these things combine to one of the most important feature that is, GRPC is faster than REST, right? So you can check out some of the Stack Overflow articles that I have linked in the speaker notes for the presentation. Then you will find that in normal situations, you will find in production servers, GRPC works around seven to 8% faster than REST. And all of the features that we discussed just now for GRPC, that is protocol buffers, having HTTP 2.0, having the features of load balancing, all of these features combined helps GRPC to be faster than REST, right? So how is it faster? As I said, the usage of HTTP 2.0 does a lot of things. Apart from that, you have support for inbuilt load balancing as well. If you want to do streaming, there are four different types of streaming that is supported. And apart from these three things, here comes protocol buffers. We will also refer protocol buffers as proto buffs, right? So what protocol buffers do is, protocol buffers serializes and deserializes data into binary, thus reducing the size of messages, right? So whatever message we want to transfer in GRPC, the message format is going to be protocol buffers. And these protocol buffers are going to serialize and deserialize your data into binary format. How this is going to help? This binary format is going to be extremely small in size. I'm going to show an example that how small it becomes, but due to this, the overall message format becomes less bulky. Hence a bit faster, the transfer is a bit faster over the network. So here's an example. I have taken this example from one of the, I would say very interesting medium articles. I have referred that article also in the speaker notes. So here you can see, if you want to serialize a spring medium like this, by protocol buffers, the binary looks something like this, this small. But let's say if you want to serialize something medium with XML, we know our favorite XML, it's going to look something like this, this extremely huge for just a small string medium. And if you want to send it serialized by JSON, then it will look something like this, right? So you can see protocol buffers are doing an immense amount of compression in terms of data, like the serialization to binary is going to make your data extremely light, extremely small, hence it's going to be faster, right? So if you see the official documentations that were like given by Google, then protocol buffers are Google's language neutral. So that means it's gonna be language-independent, platform neutral, that means platform-independent, extensible mechanism for serializing structured data, right? Think XML, just like XML, but a bit faster, smaller and simpler, right? Why smaller? Because it is going to serialize it into binary format. Due to this fact, it is going to be lightweight and hence will be transferred faster over the network and it's really simple to prepare. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages. So as I said, due to the intervention of these protocol buffers, what you'll do, you'll just maintain protocol buffers like this. You are just going to prepare protocol buffers like this and then there are dedicated code generators that are given to us by Google only, which are going to generate client-side code for you that will help you to interact with these protocol buffers directly, right? Now, you can see most of the languages like Python, Objective-C, C++, all of these languages are available. They have also introduced support for Kotlin, Dart, Go, Ruby and C-Sharp, right? So you can see if you want to just use a simple protocol buffer, you will be automatically be given a code generated like this, right? So let's talk more about it. So what has happened is Google has taken upon themselves that all of the client-side libraries, you don't have to maintain any community, it doesn't have to maintain, it will be maintained directly by Google, whether it be Node, C-Sharp, Ruby, Python, Java, everything, these protocol buffers will be having their dedicated code generators again maintained by Google, which are going to generate client-side codes for you to consume any GRPC-based, I would say APIs, and you don't have to bother about the fact that whether you are having the latest version of GRPC, the latest version of the HTTP or the rest of the features that they are going to use, everything is going to be maintained by Google. So if you want to see some coding implementation that how things work with GRPC, then you can see all you have to do is set up a basic proto, right? This basic proto is going to get set up. So I have prepared a basic proto off to do. Most of us must have done some to-do-based, to-do app-based implementation. So if you want to implement your own to-do in using protocol buffers and GRPC, what you have to do is you have to first of all define what kind of APIs and I would say RPC service you are going to expose. So we are going to have two RPCs, one is create to-do and the second one is read to-dos. Create to-do is going to take a to-do item as input and it is going to return the to-do item and read to-dos is going to take a to-do request and it is going to return to-do items. So if you see how to-do item looks like, so it's a message format, you can see with protocol buffers, the main benefit is these are strict in terms of type. Like if let's say you want ID to be of integer only, then it will make sure that whenever the client is consuming these protocol buffers or server is using these protocol buffers, every time the value assigned to the ID is always integer. So you are having strict type checking. This makes your APIs strict, right? You can see even you can define strings and there are multiple data types that are supported by protocol buffers. And if let's say you have to set up an array of objects, you can use this repeated property. If you want to have something optional, for example, in this to-do request, we can have an optional ID. So you can just put the parameter optional and this ID is going to be optional. That is it's not mandatory to send ID when you want to send a to-do request. So this is like a basic proto setup that you have to do. Once you have set up the proto, what you have to do is, you can use the code generators for, so for every language, you will be having dedicated code generators for Python. You can install the GRPC tools. And there we have the protoc compiler, which is going to help you to generate these codes for that is going to be compatible for Python, right? And what you can do is, you can just start implementing your RPC. So here you can see, we are going to implement the create to-do and read to-do RPC. If you see, then this to-do protocol buffer to GRPC, this to-do PB2 GRPC object, this is going to get created with the help of those compilers. And you will get this method add to-do services to server, right? All you have to do is just pass your to-do service and the server object and then just set up your secure port. Let's say we are going to set up the port as AT-AT and we can start the server. This is as simple as that. If you have to consume the protocol buffers, all you have to do is just create the object and you can just make a call to the server. So using protocol buffers is as simple as that. You can just set up your secure channel from the client to the server. You can use this insecure channel function and you will be able to set up a basic stub using this stub you can make a call to whatever RPC you want to create. So let's say you want to call the create to-do RPC, you can create the to-do item and send this to-do item and the to-do request in your RPCs. So you can refer to this code implementation in order to set up your basic Python server, right? And you can see you will just set up your server and your client and you can call the server from the client and things should be done. So if you talk, we have talked a lot about the pros and if you talk about the cons of GRPC, then I would say if you have something very simple and very specific to implement, then GRPC can be a bit overwhelming for the starters and rest is I believe more simple than GRPC. GRPC is not as flexible because it makes your APIs and contracts strict, but again, there are pros like you will be able to get more efficiency, you will get features like load balancing, et cetera. So that was it for today's session. Really sorry for the technical glitch, guys. I hope you guys enjoyed the session. If you guys have any questions, then feel free to ask. It was a great time interacting with you guys and thanks, EuroPython, for giving the opportunity to me as well. Thank you, guys. Thank you. Thank you.