Good afternoon. It's 101 Eastern. Welcome to Vision, a show about the trends, ideas, and disruptions changing the face of our democracy. I'm Sam Gill, your host. A tacit undercurrent of this turbulent year has been a perennial issue in American democracy, which is the question of how free we are to express ourselves. It's implicit when we confront issues like quarantine protesters. They can protest, but should they? And would the health risk justify some kind of intervention? What about the protests about race still ongoing in many American cities? When does protest, the right to assemble, cross a line that warrants a response, a response sadly there's all too often militarized, if ever? Are there views we do not need to hear or that are downright harmful, as some allege during the controversy at the New York Times over an op-ed by U.S. Senator Tom Cotton of Arkansas, a controversy that ultimately cost op-ed page editor James Bennett his job? And an especially hot issue. What are we allowed to say online? Should platforms allow any speech, even if it's a lie or misleading, even if that misinformation comes from the U.S. president? Some of these questions implicate the First Amendment to our Constitution, which guarantees five freedoms of thought and expression, the right to believe what you wish, the right to speak what you wish, the rights of a free press, the right to peaceful assembly and the right to petition the government. But some of these questions have less to do with the law of free speech and more with its spirit. They are about how we as a society weigh the benefit of being able to speak up and out against the costs that such expression might have on others. Today's guest is one of the great scholars on the issues of First Amendment and free expression. Jeffrey Stone is a law professor at the University of Chicago, where he was formerly dean. And he has literally written the book on freedom in times of crisis twice over with 2004's perilous times, free speech and wartime, and 2007's war and liberty and American dilemma. It is my great pleasure today to welcome to the show Jeffrey Stone. Welcome. Glad to be here. Thank you for joining us. So I sort of want to jump right into it.  And sort of before we get to the specifics of today, what are some of the big themes that you found in your research? Well, there's a tendency, pretty important tendency on the part of government to overreact in periods of perceived crisis, and particularly to take advantage of the opportunity to silence those who are critical of the people in power. We saw that with the Sedition Act of 1798, when the government acted legislation that prohibited individuals criticize the government during the Civil War, the Lincoln administration shut down hundreds of newspapers during World War One, the Wilson administration, passed the Espionage Act and the Sedition Act, which again made it a crime to criticize the war or the draft or the administration during the communist era, the MacArthur era. We saw the government fearing communist intrusion into American democracy shut down a broad range of individuals who were seen as supporting communism. So one thing we know is that there is a sense when there is a crisis or a perceived crisis on the part of those in positions of authority who want to shut down speech that they see as potentially harmful to the nation or to themselves. And it's important to note that typically this happens when they're shutting down people whose views are critical of them. And they're therefore using this in part because they're trying to forestall danger in a time of crisis, but also because they want to silence their critics, and those two things get conflated in these circumstances.  You know, McCarthyism sort of notorious, the arbitrary in is perceived that way, whereas some of the Civil War and World War II encroachments, you know, our audience may have an intuitive sense right that there was the national security interest the goals were paramount did you, did you have you determined in your approach sort of better ways of assessing, you know, when that state interest is really compelling versus when that state interest is is is just about reducing friction in the system that leaders don't want. I think what the Supreme Court has learned over time, and I agree with this, is that we have to be extremely skeptical about government efforts to silence critics, even in times of crisis. Because, at the moment, it may seem like a reasonable thing to do. But with the benefit of hindsight, it becomes clear that it was not as necessary, as it was perceived, and that the motivations for doing it frequently had much more to do with political power and and continuing to be in political power, then with the nation's interest and so what the court has done is go from a position in which initially it basically said, if the government has a legitimate justification, we will defer to the government's decisions to a position now where the court says unless you can show a clear and present danger of grave harm, we will not allow the government to silence speech, even in times of crisis. And I think that's basically proved to be the right approach. How have you been thinking about these issues, you know, this year, because we've had, we've had two kinds of state interest issues that have come up around expression this year. There were a series of protests, you know, principally kind of from the right from sort of an anti establishment populist crowd on the right that that was skeptical of some of the stay at home orders, as a question of liberty and then took to the streets in some cases to protest them and then, of course, in May after the killing of George Floyd we had, we have and have an ongoing series of protests happening in American cities where there have been state interest both about health and the transmissibility of the virus but then also sort of the typical kind of state concern about, you know, about, about anxiety about when protest is perceived to no longer be, to no longer be peaceful, peaceful protest. So you've been thinking about about those issues in the context of what you've studied and with regard to free speech. The interesting question here is that these situations raise, at least from the standpoint of First Amendment doctrine, a very different question to the ones of the we gave earlier, because here we're talking about regulations that a are not necessarily addressed at speech at all. That is basically the government states and cities and so on, have adopted policies that prohibited people, at least in the earlier stages of COVID, from being in public without social distancing and without wearing masks. And the concern was that if people gathered together and particularly were not wearing masks they posed a serious health risk to themselves and ultimately to others. And that was not even about speech. That was about going to the beach that was about going to baseball games. And the impact on speech was incidental. And in that situation, the basic approach is to say would give much more deference to the government, because they're not trying to restrict the communication of particular messages. And indeed, they're not even trying to restrict speech necessarily. The application of those regulations of social distancing and masks has only an incidental effect on speech. It would apply to baseball games and to beaches and so on, without regard to whether somebody was engaging in speech. And therefore the reasons to be skeptical from a First Amendment standpoint are much less than they are when the government directly is regulating speech, or is directly targeting a particular message of speech. So the first issue there is how do you think about that from a First Amendment perspective. Generally the court has taken the view that when a law has only an incidental effect on speech, that the government gets a high degree of deference. And it's not absolute. There are circumstances where the impact on speech is sufficiently serious that the government has to show a very substantial or even a compelling justification for doing it. But the starting point is basically that if the government is not attempting to restrict speech, then the fact that the law has an effect on speech does not raise a serious First Amendment question, except in unusual circumstances.  We had a great question from the audience just now that is on this which is at some point, I think we're already seeing this but at some point it's theoretically possible that someone will say, I mind not wearing a mask is a political statement that I'm making against what I see as a tyrannical government that's trying to constrain our liberty in other ways and given the kinds of polarization that we're now experiencing. I mean what what is bringing people to protest in the first place. This is if this isn't already happening it's it's likely to start you know schools you know universities will come back, and I'm sure there will be students who say this is a form of protest against what the university is doing so putting you know private universities it's a different system. Imagine this in a public context that someone is going again you know it's a public university let's say someone is, I'm not going to follow this rule, I believe this is a form of tyranny would you assess that sort of intentional act differently as a jurist. Again, the way the court is being court is analyzed these questions is illustrated by draft card burning case. Okay, though in a case called a Brian V United States, an individual burned a draft card to protest against the Vietnam War, and he was prosecuted and convicted for violating the law that prohibited any prohibited any person knowingly to destroy a draft card. And the government's argument about the reason for the law had nothing to do with burning draft cards as opposition to the Vietnam War. It was that if you were eligible for the draft it was important that you have a draft card in your possession. And the government's concern, arguably, was that you needed the draft card in your possession, because if you were subject to the draft, if there was an emergency, you need to look at the draft card and know what number to call to contact your draft court, or if you were stopped by an authority who said are you really not supposed to be in uniform, you could show them your draft card would show that you were, you were immune from the draft or whatever. And so the court upheld the prohibition and held that a Brian who burned a draft card to express his opposition to the draft and a protest against the Vietnam War could be punished for doing so. And the reason again was that the law was in the court's view not directed at speech. It had only an incidental effect on speech. So somebody speeds on a highway and then says I was protesting speed limits. Right, or somebody decides to bathe nude and says, Well, I was protesting laws against nudity. So every law can be challenged by people who maintain that my reason about violating the law was to express my opposition. And so the court's been very reluctant to open that door. Right, and that's my that's my usual strategy when I'm getting in trouble with the law but I but I but but I didn't put my recycling out as a statement against recycling but no but but I so I and I think that makes sense. I think the COVID issues. It's funny actually because I don't think there's anyone right now, accusing stay at home orders, besides the small group as some sort of instrumentality of like a, of an overly aggressive right it's the opposite actually because most people are really frustrated that there isn't sort of more state control in some cases over over our action, but there's a but there's a more complicated issue that is starting to come up that I kind of want to turn to now, which is, which is a question about the harm that speech engenders and some shifting about the sensibility about the material harm that speech can cause I know this has been a big topic on campuses around around speech with regard to race and identity, whether you know whether it's debates about trigger warnings, whether it's debates about restricting certain kinds of identity of identity based speech. I think as I alluded to in the top of the show, a part there was a lot about the Tom Cotton op ed that was about the process that was followed but fundamentally, I think there was an argument here that said, we not only do we not need this view it's arguably a harmful and that the zone of acceptable speech is maybe shifting away from this as a mainstream view so I'd love to, I'd love to talk a little bit about that I guess my first question would be, you're on a campus, you know, our polling shows that young people continue to affirm the value of free speech, but also really acutely affirm values of diversity and inclusion, and I'd be interested, you know what you're seeing and experiencing both as a scholar and as an educator. Well I think that the conflict between the values of free speech in an academic environment in particular, and the concerns about equality and fairness is a legitimate conflict. I think those are both legitimate values to be concerned about, but in a university in particular, I think it is especially important that individuals be allowed to advocate for any ideas that they think should be considered. And silencing ideas because they are wrong or undesirable or hurtful or painful is a very dangerous thing to do in an academy. If you look back at our history. Again, we would not have had an effective civil rights movement. If people in the south had been allowed to completely silence that movement because they thought the ideas that were being expressed, accusing them of being racist were completely or a women's rights movement would never have taken place if majorities with power were able to silence that because they thought those ideas were just ridiculous inappropriate and made no sense at all. Gay rights movement would never have occurred. So one of the things that I think we have to be aware of is not trusting ourselves to exercise the power of censorship wisely. But if we look back over our own history, what we can see is that it's essential to allow people to express views that the majority may find wrongheaded or hurtful or unpleasant, because those views may turn out to be right. And we should not be making definitive decisions about that for the future. Lots of things we believe today, I am confident our children and our children's children will look back on and say how could they have believed that to be true. And it's important that we have that we be open to ideas, even ideas that we find repulsive because we may try not to be wrong. What the thinking about some of the cases that have come up though, right, it, it, it, it, they're not always cases where a student say is forwarding a view that like, let's say I consider racially retrograde through, you know, an execution and reason and, and then in an argument at some length, I think some of the cases that we see coming up are where, where students who students of color, in many cases, students of color who are very much in the minority, even beyond proportionate levels at the university, lower income students who maybe if they're, they're the first generation to be getting a college education are, are in the vicinity of, you know, racial epithets that are that maybe tossed out thoughtlessly or intentionally, or are in situations where they may reasonably feel I, I, we are not entering this as an equal to that other person and we've got two views being pitied each other. I'm walking into this at a disadvantage. I'm walking into this on the other side of power instrumentalized against me. And this person has all of that, right, and we call it privilege. How do you, what do you think about those situations they may not it may not be within the preview of what First Amendment doctrine can tell us but it's certainly within the preview of some what some values about what expression should do, certainly. I think there are two, at least two responses to that completely legitimate concern that universities should take. One of them is to be aware of that reality, and to take steps to assist individuals who are feeling as if they are outsiders to to deal with those concerns to give them opportunities to strengthen their own confidence in their ability to be effective members of the community and to pay serious attention to that in a positive way. I think universities have learned that's much more important than they realized in the past. When I was a student, there were many fewer persons of color, for example, in our classes, and I've gone back in the last year or two and talk to some of the students I had 20, 30, 40 years ago, and asked them, did you feel at various times as if you were being insulted or degraded, either by other students or by faculty members, and they said, yeah, damn right I did. And I said, you just say anything about it. And they said, no, if I had done that at the time, I would have been looked at would have been terrible. And one of the things that's happened over time is partly because we've we have increased the diversity in the academic community is students have become much more confident about their ability to speak out and raise these issues. And that's been really educational for other students and for faculty members and for the institutions. And I think they have paid attention to how to how to address that in constructive ways. Another thing I think universities have to do is to encourage civility and mutual respect. That's part of the educational process, and to recognize that you don't want to be insulting and intimidating other people. That's not an appropriate way of engaging in academic discourse and dialogue. And so one of the things I think it's important to do is to make students aware of the fact that an important value is not only freedom of speech, but it's also the fact that you respect other people, and you recognize that things you're saying can be destructive in ways you don't understand, and to be aware of that learn that lesson and learn to make your points in a way that are not needlessly harmful and hurtful. So let's actually continue to go down this line of thinking to another another kind of environment where the questions of expression broadly are coming up which is in an employment context right so so I think there there is an argument that has new purchase in the way particularly in this moment of reckoning right which is that even well intentioned codes of professional practice that have implications for speech in a private employment context. Well intentioned codes of civility, there's an argument now being sustained right that those two are instruments, if not malevolent are sort of instruments of power and repression about certain views so like we have an example one of the one of the our viewers as to the question which is, you know, newsrooms broadly discourage employees from openly erring their political views in order to, for a good reason right which is that our audience are ideologically diverse audience should perceive that we're telling the story quote straight. And there's a substantive argument as you know being advanced right which is, we're not telling the story straight, if we're not actually sort of speaking truth to power about some really fundamental issues with regard to to race in this country. Do you, what should we be rethinking you know what kinds of, what kinds of restrictions employers can impose on employees in a world where these pretty elemental values oriented arguments are being made against such restrictions. And one interesting thing is that the civil rights acts in this country, certainly the federal civil rights acts prohibit discrimination on the basis of race religion gender and sex and so on, but they don't prohibit discrimination on the basis of political beliefs. I've always wondered about why that's the case that is employers are allowed, if they want to defy our people, if they are supporters of Donald Trump or if they are supporters of Joe Biden. I've never understood why civil rights laws do not prohibit that kind of discrimination, but they don't. And I think part of the notion, which I don't agree with necessarily is that employers should have the freedom to decide what the political views of their employees are in their particular business. And I don't I do think that constraints on that are appropriate. And in the academic environment or in the in the journalist environment. I think that newspapers should be free to decide for themselves. What positions they want to take and what they mean by professionalism in terms of the, the types of columns or editorials that they want people to write because those people are working directly to express the views of the of the organization. So in a in a journalist context, I think, I think it's appropriate for an organization like the Wall Street Journal to have its own set of views that it wants to express or Fox News to express the views they want to express and MSNBC or the Washington Post to do that. So there I don't find that is problematic. I do think that they should be balanced as a general matter. But it's also the case that the ideas we have a wide range of these entities, and some of them take some positions and some of them take other positions. And I don't think that's a bad thing. Right. And then you don't and I suppose along that line. I mean, I think there are plenty who would disagree but you don't have to accept the implied neutrality of the employer which I think is a, if not a pernicious belief is just not plausible. I think to a younger issue this does raise a question for me and is I want to start talking a bit about online but before I get there, you know, as a scholar of the First Amendment, to what extent is, is the legal doctrine around the First Amendment a leading indicator versus a lagging indicator because I think this is a good example where irrespective of what you or I may think is appropriate from a juridical perspective. It's clear to me like a younger generation of employees just isn't going to tolerate a working environment at least in the knowledge workspace that that doesn't allow probably broader parameters around not only acceptable but to some extent encouraged political I look at the way some of the tech companies are a reeling, frankly, as their employee bases start to speak out in direct disagreement with company policy. Does does do you find the law sort of responds to the evolution of society or is ahead of and shows the way when it comes to First Amendment. I think that that law in constitutional terms can both evolve over time as social attitudes evolve as judges learn from experience and from the experience of the people generally. But at the same time, there are lots of instances in which the law or the courts can lead and can move people. So a brown reward of education is a good example of the courts going much further than the people in the third of the states. At that time, wanted to go. And it was appropriate, I think for the courts to take that role, or Roe v Wade is another example. There are many examples where I think the courts evolve partly because social attitudes have changed. The court would not have decided brown reward of education education that way in 1920, and it wouldn't have cited Roe v Wade the way it did in 1920. So part of or also gay rights for example, they would not have decided that way 50 years earlier. But at the same time the courts can lead because their own understandings of social values and aspirations are informed by evolution. of attitudes among the public. So in many of the courts, most important decisions. It is both the justice is both learning from social change. And again cases like Brown and Roe and a burger fell are great examples of that. But they're also ahead of the curve. They're also requiring the society to move in a direction in which many citizens in many states would not yet embrace. So, so let's talk kind of as a final area of discussion around one of the places where certainly kind of events are racing ahead and and and policy and more as they're struggling to keep up which is of course online speech. You know, even though these are these are these are of course private platforms with their own standards of conduct. I think they're also increasingly dominant public squares, where a lot, a lot of social political and commercial discourse is is happening where impacts on our other basic institutions are are real where some of those institutions are, you know, use these channels in order to in order to speak and where it strikes me that kind of the qualities of speech are in some cases the same as offline but in other cases, quite different The intensity of the experience I often think about, you know, one of the things our polling has shown is young people when they think about speech are thinking a lot about the digital experience where the experience of having 15,000 people criticize you is different than five people criticizing you. And as as some of your, you know, other legal scholars like Mary Anne Franks or Danielle Citrone have observed the internet has the unusual quality of converting a lot of acts into speech, you know, they kind of come out in the form of expression online. I'd love to, I'd love to know. First of all, you know what you think about a really dominant debate now which is that you have a president who's actually saying I think I'm being censored online, and that this is, this is wrong he's not alone a number of other, particularly leading conservative thinkers have made this made this accusation but what have you what have you made of the sort of the use of that term that this is about sort of censorship online. Well, I mean, I, first of all, I don't think there's a whole lot of evidence to support the proposition that the president's being censored online. The fact that there are a small number of instances where Twitter or whatever has has said, you know, maybe this is not a true statement is not the same thing as being censored online. I think the challenge of social media is a really difficult one. Initially, the government took the view that we don't want social media platforms to be under a legal obligation to censor what gets put on their platforms. This paper like the New York Times, or the Washington Post can be held libel if it publishes a an article that libel someone. And that's partly because they, they control exactly what they publish. They make decisions about it is a limited amount of material, they decide what they're going to publish. When social media came into existence, Congress decided that it's, it's not at all realistic to expect entities that didn't exist yet but like Facebook and Twitter to be held libel for everything that I put up or you put up on their platform that might be actionable because it's libelous or obscene or whatever, because that there's billions of things being put up and there's no realistic way that they could monitor all of this in a credible manner. And if they did so they would have enormous power. And so what section 230 of the communications act was meant to do was to basically say you're not like the New York Times, you're not going to be held libel, because somebody puts up something on your social media platform that happens to be defamatory, to be obscene or whatever. They may be libel for having put it up, but Facebook and Twitter are not going to be libel. So one thing Congress did was to insulate them from any liability, and basically say this is like a public forum. And they didn't prohibit them from censoring, but it said you're not libel if somebody put something up that is otherwise actionable. And now is whether they should in fact be engaging in screening and removal of material. There are good reasons for that because some of the material that gets put up there is in fact inappropriate and actionable. But on the other hand the question is do we want to trust a private entity like Facebook or Twitter to engage in censorship. And Facebook also goes up and once they begin to do that. How do we know they're not going to then turn political and then begin allowing things that advocate some positions and taking down things that advocate other positions and therefore having an even more effect on American politics. So this is I think a very challenging issue as we go forward. To require these entities to remove material is extremely difficult because there are billions of things being put up every day. And how can we really expect them to screen everything. On the other hand, to encourage them to take down things runs the risk that they will abuse that power, and that they will begin. If they're pro Trump, taking down things that criticize Trump, and if they're anti Trump taking that things that that are pro Trump. And we really want Facebook and Twitter acting in that way. So the idea of neutrality served legitimate concerns. And also the case that a lot of stuff that gets put up is wrong is false is misleading. And should we have some way of addressing that right now I think we haven't figured out the answer to that question. What I mean what are some I won't put you on the spot and say how would you solve the problem because I don't think it's fair and we don't know. But I'm interested in how you'd move the debate forward right because I think there's, I think two of the pressure points that come up are, are one, even those who might be ambivalent there are there are those who are ambivalent about empowering the companies to censor, but who will also acknowledge that they sort of are now anyway right, they will respond to political pressure they will there's an arbitrariness now that he leaves even certain real sort of free speech would say uncomfortable. And then there's sort of a second line of argument right which is that the that that neutrality has because because the harm is not neutrally distributed neutrality has a non neutral effect right because we now know that Russian state interference disproportionately targeted black Americans implied neutrality has a non neutral effects because you treat accurate and misleading information the same way you end up privileging misinformation and so are there are there kinds of questions that you think are the ones we should start to focus on if we want to find our way through this I mean I think what you just raised is is exactly right. I mean the problem is that having Facebook and Twitter and similar social platforms or some media platforms, not intervene, runs risks of creating harm to discourse in our society. On the other hand, empowering them to intervene and putting pressure on them to intervene raises very serious risks in the other direction that they will do so in a way that is not neutral. And the more you empower them to do this, the greater that risk becomes. So the question is, is there some sensible neutral way of doing this. Now one way to do it is to create a government entity. The old Federal Communications Commission, which regulated radio and television. And that overseas social media. And it to see if we can create an entity that does it in a responsible and fair minded way. So I don't think that we have reviews to take down processes to ensure that they are consistent with a set of standards that are articulated, but you know I don't think we're living in the same world today that we lived in when the fairness doctrine was in place. And so I don't know that we can trust government entities to do this. So it's, I don't think there's a simple solution. It's a real dilemma. I don't think this I don't think there's a simple solution. I do think we need to address it. And I do think we need to spend time on it. I think we are. I think there are lots of organizations and academics and and members of the journalist world, who were spending lots of energy thinking about how to get at this, but I don't think they've come to a satisfactory solution yet, but it's a great challenge for the future. Thank you. So what's kind of end on that note thinking about the future you, what are, you know, if you had to kind of boil down to a theme or a set of ideas, sort of what the last century was for freedom of speech freedom of expression. What what would it be and as you look ahead at the century we are now a fifth of the way through, you know what do you think will be the what what is this century for free speech what is what is going to be the coming theme or themes. So the last century was a learning experience. It was an experience in which we went from having virtually no legal or social understanding or concept of free speech to one in which we developed a very speech protective and pretty sophisticated set of principles about the importance of free speech, the dangers of allowing government to intervene in the realm of free speech, and basically trusting individual citizens to listen to read to learn and to come to their own conclusions about what's right and what's wrong. And I think that was a great achievement led by the courts in particular. In this century I think there is a concern about is there such a thing as too much free speech. And do we need more government intervention. Then we now have because the opportunities for manipulation and for misleading have grown much greater with changes in technology. And also I think it's an educational issue. I mean, I think that that we are not doing a very good job of educating young people today to the importance of free speech and how to deal with the dangers of free speech and how to think about them and how to think about American political systems and how to think about civics. And I think that was a much more central part of education. If you go back to the 20th century that it is today where a lot more is about stem. And I think therefore we've created a generation of individuals who are much less aware of much less thoughtful about the history about the dangers about the values of free speech, then they were the end of the 20th century. And I think that's something we should pay much more attention to in our educational process. I think we've lost sight of that. And we've so much more of our focus is educating kids about about stem type issues than about civics and governance. And I think it's a real problem for democracy. I mentioned before the show that you actually teach an undergraduate class on First Amendment free speech. Do you, is that something you think, let's not say it should be required but is that something you think ought to be offered, you know, at most universities. Are you getting that kind of response from the students. Absolutely, I think, I think it should be. And in high schools as well. I think it should be. And, yeah, I mean I agree to teach this First Amendment course free speech course to undergraduates in part because they think that it's become much more relevant much more important than it was 2530 years ago for the students to understand the complexity of free speech issues. And I would like to see that be made available much more broadly in the same way that I would like to see the history of equality. Taught in a much fuller and more direct way in high schools and in colleges than it is today. And I think these are the kinds of issues that we need to be understanding and addressing in order to have citizens going forward. Who are able to make more thoughtful more informed judgments about how they should think about the challenges that face our society. I'll take that as a closing note I hear is our sober assessment of the challenges of the century to come but hope that we have within our means, the ability to build a country that can, that can meet them. Jeff is an incredibly prolific author but two of his most recent books are the free speech century with Lee Bollinger. Also, a very important First Amendment scholar and democracy and equality, the enduring constitutional vision of the Warren court with David Strauss and then coming out next year will be national security leaks and freedom of the press also with Lee Bollinger. Lee Bollinger like the John Lennon and Paul McCartney of free speech kind of pre-white album. We've been clerks at the Supreme Court at the same time and so we've been colleagues and friends for almost half a century now. Fantastic. We'll have to get you both on some time and find the true points of disagreement that I know are lurking, lurking between you both and you could also follow Jeff on Twitter at stone underscore Jeffrey. And as always we'll send you these resources after the show but Jeff thank you so much for joining us today. Thank you so much for having me. It was a pleasure. All right everyone before we go I want to tell you a little bit about what's coming up on vision we'll have a trio of shows extending these topics so next week July 2 Dr. Wayne Frederick President Howard University and Suzanne Nassle the head of Penn America will talk more about campuses and free expression on July 9 University of Miami law professor Mary Anne Franks will talk about online speech is one of the leading authorities I'm thinking about harm and online speech. And on July 16 American media technology learned to be a seed who will come on to talk both about online speech but also about freedom of the press in a digital era. As a reminder this episode will be up on the website tomorrow you can see this episode and any episode on demand at kf.org slash vision. Please stay for 30 seconds to take the two questions survey that just popped up. And as always we will end the show to the sounds of Miami singer songwriter Nick County, you can check out his music on Spotify. Until next week stay safe.


Good morning and welcome to the third meeting of the Hutchison hospital transfer and dissolution Scotland bill committee. Can I remind all those present, including members, that mobile phones should be set to silent? Agenda item 1 is a decision on whether to consider the draft preliminary stage report in private at our future meetings. I want to ask colleagues if they are agreeable to that. Degree. Thank you. The next items on our agenda are the consideration of written evidence received by the committee and of issues for the preliminary stage report. C responsibilities. The committee will meet on Wednesday the 12th of December, during which we expect to consider the draft preliminary stage report. That means that the public business of this committee is now concluded and moved to private session. We will suspend briefly to allow any members of the public or our officials to leave the room.


Listen, can this thing get to 140 into the next year first quarter? Absolutely. But again, I do believe any dip tomorrow Welcome to access a trader the number one community for those who are committed to taking control of their trading in order to achieve success profitability and longevity Thank you for joining us. Here's Dan Shapiro to help you find your edge master your process and and own your future Hey guys giving everybody welcome to another edition of the access a trader dot com nightly wrap up show I hope everybody is doing okay for all you guys who are living in the northeast, especially In the tri-state area for tomorrow. They're saying like five 15,000 square foot of A lot of a lot of snow a lot of snow there's that determine anywhere between a foot and two feet of snow So please Stay Safe most important now that I got my stupid generator up and running. Is it weird that I'm actually hoping for a power outage Got to test this baby out, right? Anyway guys, hope everybody's doing well. Hope everybody had a good trading session kind of a hot day in a weird way If you look at the school board, you got 300 points on the dow 150 points on the composite Everything looked really really good. The problem was all the really good aggressive action Came in the morning and nothing really happened in a weird way for the exception of like apple and amd Nothing really happened. Like it was such a weird day and majority of the day if you look at The school board today, you had a lot of names that were resting The problem is they really haven't participated in a very very long time again It's the weirdest thing and I said in this lifetime. Is this stock ever going to go up again? Facebook again is looking Really fugly, right? But at least it has a little bit of pulse, but again still doing absolutely Doing absolutely nothing beyond had a couple of good pr's and it's gone sideways for a long time Boeing had a big run and again you can make an argument and say look it's just consolidating It's going higher Ali Baba. I'm telling you right now. We'll never have another update again Please I'm being sarcastic But again, you kind of get the point is it possible to get a day two rally on anything, right? Amazon looked great was ready to go was ready to go was ready to go Rejected at the top of the channel Netflix and again. I like Netflix. I think Netflix is actually resting today I had a really big run. I think this channel again gets tested tomorrow If not tomorrow the next day and it should run again But again, the point is why can't these things just have a second day run Tesla again, right? Tesla had a monster move yesterday. It relaxed today It held the rising five-day moving average again We're a couple of days away from index funds needing to buy this thing. So I do expect A rally in this thing at some point in the next 24 or 48 hours right before The inclusion to confirm this little channel here and at some point test The 12 9 highs so we're kind of set up and the market's kind of Continuing doing its song and dance over and over and over again You get one hit wonders and they don't do anything for the next three four days But again, there's still good action and it would continue to see good action from other areas Today was just one of these days that I caught some apple Caught some apple pretty well That opening print and again apple was definitely the strongest one Then the amd was very very strong and then you had a whole bunch of stallouts like zoom had every opportunity To really explode today like absolutely explode. They were grinding it up And again before you look at this like this is the whole channel on zoom And I was watching this channel zoom I go out if this thing starts getting above this whole channel This thing's gonna go it's gonna go it's gonna go and it finally started moving and I go, okay There's another channel here if it confirmed it's gonna go it's gonna go it's gonna go it went straight the hell so again Something's very very odd with these things, but I do have an idea That I do believe that 2021 is and again, we don't know what's going to happen in 2021 and I keep on talking about that But I have to assume there will be a viable aggressive rotation In a lot of these names that have not participated again, amazon has got a good year But it's kind of done nothing for the last four or five months. Nevada had a really good year Has done nothing. So I I do believe technology will wake up at some point of 2021 I do believe they will have their day in the sun for a very long period of time the facebook's of the world You know the beyonds are going to wake up again the video dare to say it in this lifetime or the next But that should wake up as well, but until then like I say, let's take it day by day scoreboard really didn't Really didn't paint a picture of what the things What we were looking at say again, there was a lot of dead money for a majority of the day The market kind of really sprung up towards the end of the afternoon But I had a lot of stalls and stops today Zoom I was in zoom twice actually. Okay first one. It's stalled out. I lost the dollar Then it's started moving up again, right? It's stalled out. I broke even made a couple coffee on it so it was one of those weird scenarios that Things look like they're about to go and then they kind of stalled out a lot of you know participation or a lot of misparticipants Non-participation and the moral of the story is again like I talked about yesterday and the day before and the day before and the day before that Every day is different. We know there's themes.   We can have 10 pivots tomorrow We could have two pivots the day you know the most important part guys Just stay under control wait for these channels to set up And I do believe even if they don't go tomorrow a name like a netflix will have another run I do I mean look you can see this clear channel here, right?  This is a bad wick You can see this clear channel here if it starts waking up and again those buyers Were pretty obvious to you again with the 30 3200 weekly is again 3200 weekly is wake the hell up already 3300 weekly is wake the hell up in here You know on and on and on so it's very important to wait the one stock that did wake up today Finally got above its channel right really really got above his channel again You could see kind of the option order flow. Let me just show you This was apple. I mean look at it. Look how they were coming today For apples it broke above the 126 level and you could see these calls you 132 for next week 130 is the 131 weeklies 129 weeklies 121 weeklies 131 weekly So they're coming for apple and it's very very aggressive That they're coming for apple. So again technology is alive But the point is you really have to pick your spots. Okay, you have to pick your spots over and over and over again because again if you try to anticipate a trade playing out What you're going to do is you're going to go into the trade very very early and the next thing, you know, you are Completely dead in the water. So don't anticipate wait for these things to happen So you'll see I know a lot of dead money here today Netflix I was waiting for this channel and never happened zs. I was waiting for this channel never happened I was waiting for this channel here never happened ddo d put up a d do g put up a pretty decent move For all you guys who did take it. I missed it. I don't know what the hell I was doing But I did miss it ddo g it broke above this 104 channel traded right to the supply here at about 106 Any bill now over 106 on ddo g look how much room you have You have a whole big channel to fill but the point is it didn't get there yet Let's watch it for the macro point of view. So again, like I said very very odd day NET I was watching for a back test and never came Then I was watching for a channel to be broken and never came again You can see a lot of weird names here amazon. I was watching for this 90s area never got there rkt I was watching for this 2280 23 level never got there. You see the point right a lot of names despite The market's surging today and you could eat it and that's the kind of the case It's looked so good and nothing confirmed today. I mean very very little things net tesla I was looking for this channel here never got even close But again, I still believe that tesla does make another run in the next 24 48 hours Apple, you know, apple was good. Apple was good 126 huge area needs to break and apple broke and again big big Option flow for this whole week. It took out this whole channel here. Listen. Can this thing get to 140? Into the you know into next year first quarter. Absolutely, but again, I do believe any dip tomorrow Stock closed almost the 28 any dip tomorrow into rising support should be bought any red degree move Should be bought and especially if it confirms today's move of 28 Should go higher as well. So I know a lot of you guys are still swinging that And the big again amd got upgraded last night by golden sacks a lot of the semiconductors name Did as well as long with along with intel along with mu and it woke up today So 9650 needs to build they were coming in for the 98 calls. They were also Coming in for the 100 calls weeklies as well And I here was amd right here was amd Took out the 9650 and traded all the way up to 98 again. Still looks good But again, now you have to kind of wait for some channels To get some healthy dips. So apple was good. Good job for you guys who caught mRNA 147 held twice if it builds below can flush Again, look before we talk about mRNA. Look what they did at the Pfizer, right? Everybody knew The the the vaccines coming it was already built in and you know, Pfizer hasn't seen the light of day ever since they started confirming that the vaccines were imminent, right? So look at mRNA Here is the 147 that we talked about right 147 we talked about went all the way down To 142 you can see it 142. Here's the whole 47 channel went all the way down to 42 Good job for all you guys who caught that as well. I think that was it. Yeah zoom. Yeah, here's here zoom, right?   Have a great night everybody God bless. Let's see what you get tomorrow and hopefully we can all see each other again. Take care guys. Have a good night


I'm Senior Airman Noah Keyes, and I'm an aircraft armament system technician with a full 42nd flight. Basically our job is to load and unload munitions off the aircraft as well as perform scheduled and unscheduled maintenance on the munitions systems themselves. Our job is important because without us we just get another ordinary airliner. Without our job, our pilot is going to be able to drop munitions on enemies when called to do so. So being in the reserve has affected me in my civilian life. With school, especially, it's taken a little bit longer in order to graduate, but our basic training and technical training credits did transfer, so it took care of a lot of my general education classes. And then as far as work goes, I have a lot of civilian employees love hiring military members, so it has opened me up to a lot of opportunities, such as the internship that I'm currently in right now. Depending on what we're doing and what munitions we're loading, but on average it takes probably 20 to 30 minutes to load. What I love most about my job is obviously the people that I work with are fantastic. I've made some of my greatest friends here, and just our mission itself is very exciting, and I love to be a part of it. If you're looking to join the Air Force or the 442nd in particular, come be a weapons pick.


In this video, we are going to discuss when the cells can die and how they die. They can die either when they become badly damaged like they can get infected, injured or even poisoned or they can die more of a natural death where the death is important for the normal functioning of the body. The death death occurs when they are infected, injured or poisoned is known as necrosis. While the natural death that occurs due to signals from within the cell or even from outside but where the cell death is a part of process of normal functioning of the body, it is known as apoptosis. Now in layman terms if we use we can say that necrosis is like a cell murder which the body does not want but the cells have become so badly damaged that the cell dies while apoptosis is known as cell suicide. Where the signal comes from within the cell or from outside which is part of the plan of the body. So this is kind of a program decided. Now in necrosis what happens that cells which have become damaged they swell and rupture so that their contents are released outside and what happens that these contents can actually act on other normal cells and they can cause inflammation. However this apoptosis which the cells suicide it is a kind of a silent death where the cell dies virtually unnoticed and the contents are not released into the surroundings. So there is no inflammatory reaction and morphologically what happens that the cell shrinks in size instead of swelling necrosis we saw that the cells swell. The cells shrinks in size condenses and starts getting fragmented and form small small blips. Now these blips start falling off. Actually apoptosis literally means falling off. So cell membrane and its contents fall off as small particles or blips which are phagocytosed by macrophages. So how does this apoptosis occur? A cell survival actually depends on growth factors which promote cell survival. So the sustainings of life there are certain growth promoting factors. Now when these growth promoting factors are present it causes cell to survive to divide and to mature but when these factors are not present it will tilt the balance towards death opposite. When example if I tell you that in case of nerve injury we see the atrophy of the muscle also which it supplies. So why this is happening is that this nerve when it is intact it releases certain growth factors also which are maintaining the survival of these muscle cells. When there is this nerve injury occurs there is automatically this absence of the growth promoting factors for the muscle and it leads to apoptosis that leads to atrophy of the muscles. So this is an example where apoptosis becomes clinically relevant. Now other way when the cells will die is that the cell may receive a death signal. So the absence of the growth promoting factors or the presence of the death signal both may lead to apoptosis. Now this death signal may come either from inside the cell or from outside the cell. The death signal from inside may be needed when there is a cell which is not formed properly or there are certain damages going on inside the cell say suppose the DNA is damaged or there is damage of the endoblasmic reticulum or mitochondria any other organelles or there is accumulation of misfolded protein. That means that cell is fundamentally functionally not required so that death signal will come from inside the cell. From outside to the death signal comes when sometimes the cell becomes infected say suppose viral infection is there what happens that cell starts expressing on its surface certain receptors and these receptors are recognized by our immune system.  Otherwise if I am severely damaged the contents of the release outside will cause severe inflammation. So this signal is coming from outside that means our immune system. Now this balance between life and death we can also state in molecular terms. Now basically this absence of growth promoting factors or the death signal what it does it changes the milieu inside the cell in terms of certain proteins. Now these proteins and family of proteins known as proapoptotic proteins or antiapoptotic proteins. So if we express this the balance between life and death in molecular terms we can write it as balance between antiapoptotic protein concentration inside the cell and proapoptotic proteins. So when there is presence of growth promoting factors or absence of death signal there is more antiapoptotic proteins in the cell promoting life. On the other hand if there is absence of growth promoting factors or presence of a death signal it leads to increase in the proapoptotic protein in the cell. So what are these antiapoptotic and proapoptotic proteins in the cell? Now under antiapoptotic come two proteins mainly BCL2 and BCLXA and under proapoptotic there are BAPs and BAP proteins. So what do these proteins do? For understanding the function of these proteins let us consider a schematic diagram of a cell. Now this cell has both antiapoptotic and proapoptotic proteins. Now one of the most crucial organelles for apoptosis is mitochondria. Let us take one mitochondria. Right now in between the two membranes of mitochondria there is very important protein cytochrome C. Cytochrome C is a mediator of apoptosis. If cytochrome C enters into the cytosol apoptosis is going to occur. Now what happens that this BCL2 and BCLXL proteins they form dimers and they are present on the outer membrane of the mitochondria. Plus these BAPs and BAP proteins they also form dimers and they are also present on the outer membrane of the mitochondria. So green one we are seeing as antiapoptotic and red ones as proapoptotic the dangerous. Now what happens normally this antiapoptotic proteins keep this proapoptotic proteins under check right. So they keep these inhibited. Now when they keep them inhibited whenever there is presence of growth factors. So growth factors are released by other cells so these growth factors are present and then they act on the receptors which are present on the cell membrane. So these growth factors bind to their receptors plus certain downstream events cause activation of this BCL2, BCLXL which keeps the proapoptotic proteins under check. When these growth factors are absent you can yourself deduce that this check will be effective. So we see how the proapoptotic proteins are becoming important when growth factors are absent. Second thing which may occur as we have seen earlier that when there is DNA damage or endoblasmic reticular damage when signal comes from inside there are certain sensors in the cell. So these sense the damage and the signal comes from inside which again acts on these proteins causing decrease in the check on the proapoptotic protein. So again this is intracellular death signal which is coming. So what are the further events which occur when the check on these proapoptotic factors is not present they form dimers and it is kind of a channel which is inserted on the outer membrane of the mitochondria. Now when this happens the cytochrome C which is present in between the membranes of the mitochondria leaks out and comes into the cytochrome. So as I already told that cytochrome C is a triggering factor which causes a cough process. Now when cytochrome is released it binds with another protein A-path 1. So this complex of cytochrome C and A-path 1 now activates certain gas phases. Now there are different numbers which are given to different gas phases in case of these signals that is the absence of the growth factor or the internal death signal the gas phases which activate is gas phase. Now remember even though here it is written outside but actually whatever events are happening they are happening inside the cell. So these gas phases nine inside the cell which were previously in individual forms they are present as pro gas phases now become active in us gas phases. So basically what has happened that either the absence of growth factor or presence of intrinsic death signal has led to release of cytochrome C from the mitochondria which has in turn activated gas phases nine. Okay before we spoke about one another death signal that is coming from the outside. Now if a cell has become virus infected then it will express certain receptors known as fast receptors. So on its membrane it expresses fast receptors. These are recognized by T lymphocytes which express fast ligand. So when the fast receptor and fast ligand bind with each other it activates a sequence of events in the cell leading to activation of another gas phases not gas phase nine gas phase eight. So there is a mechanism by which there is activation of gas phases nine and there is another mechanism that is when there is an external signal for the activation of gas phases eight. So let us summarize what they have seen till now. There is an extrinsic signal which is due to fast fast ligand and it leads to activation of gas phases eight. Now this pathway the first one where there is either absence of growth factor or presence of intrinsic death signal it is known as an intrinsic pathway for activation of a pop process. While the other pathway is known as extrinsic pop. Now despite both leading via different mechanisms different proteins are involved ultimately both lead to activation of the common gas phase gas phase three. This gas phase three leads to activation of other proteases nucleases which ultimately lead to a pop process. Now what do these proteases and nucleases do? Proteases cut down various cytoskeletal proteins of the cell which are maintaining the cell shape like microtubules, micro filaments, intermediate filaments and nucleases break down the nucleic acid. So without DNA the cell cannot survive and because of these proteases and nucleases the cell starts forming the plebs which then fall off from the cell and are recognized by macrophages and lead. Okay so we have seen that what are the signals for a pop process and whatever various pathways for a pop process but one thing remains that how do these macrophages know that they have to eat these fragments. Now when this pop process is occurring the various changes that are occurring what happens that there is a change in membrane properties also. So these blebs which are forming one example is that there is a lipid phosphatidyl serine which is present on the cytoplasmic side of the membrane that is the inner side of the membrane. Now during the process of a pop process it flips and comes to the outer side of the membrane and it is this lipid which is recognized by the macrophages which come and engulf. So only the death signal is not important. When the cells start dying it is also important the macrophages eat them very fast. Now because of this only even though day in and day out cells are dying but it is hardly detectable on histology that means you take any cut section everywhere in the body cells are dying but you won't detect these dying cells on histology.


The announcement is we have got at 12.30pm we have got an open space on ZeroMQ by Balaji, it's on first floor, so those of you who are interested you can go there. That's it. And I hope the password is still working. In order 3 also, we have got open spaces in order 3. So you can just check out from the volunteers. Thank you Arun. Our next speaker is Anand Chittipottu. He is going to speak on the topic Messing with Government Data using Python. He is a co-author of web.py, a micro web framework in Python. He currently works for internet archive and active member of Indian Python community. Thank you. Can you hear me now? So this is something unusual. On the next speaker I will actually talk about Messing with Government Data in a Python conference. So I did something unusual during these elections. So what I did was I wanted to provide the technical assistance to a couple of election campaigns. How many of you have worked in an election campaign? Raise your hands. That's very few. So I was very fortunate to be a sit with an election campaign long before. So a friend of mine contested for a candidate for a similar election. So I was quickly following it and helped him in building his website. I was looking at how the election campaign runs. How it runs is it's just chaotic. So anything that you want is not there. If you ask someone, how many volunteers do you have? He has to call someone and he'll have information somewhere, an Excel sheet or somewhere. And he won't be available at the time to take the call. So you probably take a couple of hours to get very basic information like how many volunteers we have or how many places we have covered, etc. So what I did is I provided technical assistance to help in solving some of these problems. So let me give a brief background of how it started. In December, I decided to move out of Bangalore and I moved to Vishakhapatnam. I was relaxed and sitting quietly. And suddenly I got a call from a close friend of mine. He called me and said, hey Anand, I'm taking off an ear from work. I said, wow, that's nice. What are you going to do? He said, I'm voting for a political party. Wow, that's unusual. I don't know if I can be of any help. So one day he called me and said, we probably need your help in providing some tools for the campaign. I said, okay, I thought I don't take much of my time, but it ended up being a big adventure. I'm going to talk about the challenges that are faced during this process. So during this process, I actually ended up building a lot of tools. I built a campaign management system. By the way, is the font visible to the back? No, sorry. Okay, so that now. Okay, but that should probably cut down. I guess there won't be much test anyway. So I'll probably read it out. Sorry for that. So I ended up building a campaign management system, a volunteer sign-up system. I'm about to find all the details by OtrID and script to format OtrIDs in a PDF form, in a compact form so that it can be printed on paper and a lot of the tools as well. If you can see, that's my GitHub contributions. From mid-February to April, that's when the elections were. You just see a spike in my activity. I was all writing code and then commenting and there's a lot of activity. So that's the period when I did all this work.  Okay, so one is a parliamentary constituency. So a parliamentary constituency is like Bangalore North, Bangalore South. So parliamentary constituency will have about six to eight assembly constituencies. Saab Baal is an assembly constituency in Bangalore North. And there are wards inside an assembly constituency. You have J.C. Nagarwad in Nhabar and Sanjay Nagar, different wards. And there's a polling center. Polling center is where it's typically school building, but that's where the elections are conducted and it'll typically have a bunch of polling boards. So there will be multiple rooms in the polling center. So I have polling center, some public school and then you have room one, room two, room three. So those are the polling boards. And every author will have a unique author ID and the author will go and then cast his vote in one of his polling boards. Okay, now this process is a lot of challenges. I mean, so first of all, I'll show you the slides of... let me show you the challenges that they faced. So this is one of the things that I've built. This is a screenshot from one of the tools that I've built. This is a campaign tracking tool. So what it does is it basically has the hierarchy of all the places in the constituency. So this is what we're using in Karnataka. So we have Karnataka and this is the assembly constituency and inside the assembly constituency, if you look at the text here, it says it has eight wards, 75 polling boards and so many polling centers and polling boards. So now how do you get this information? Where is this information available? Okay, so even just to get the basic system up, you need to know what are the different kinds of places that you have in your state and your parliamentary constituency. And if you look at the progress bar there, it's kind of showing the number of booth agents that we have and how many more we need to actually be able to cover it completely. But they're not very interesting at this point, but they talk really about how to get this data. So let's see that. So it's the same page but at the previous page where it was a assembly constituency level, but this page is at the polling booth level. But if you see on the right, it's showing you the navigation. The region is actually stated by hand, but you have a parliamentary constituency, assembly constituency, a ward and a polling center and a polling booth. And in the water, we chose another polling booth in the same building. Now, where is this information available? How do you get this information? So first thing is, how do you find the mapping from polling booth to parliamentary constituency to assembly constituency? Apparently, the government don't speak that language. They actually have different nomenclature. They actually have districts and assembly constituencies. They don't talk about parliamentary constituencies. But elections are happening in parliamentary constituencies and you want to know assembly constituencies so that work can be divided and then track easily. The only place I could find reasonable data about this is the Wikipedia page. So this page has the constituency number and name and all assembly constituencies in the parliamentary constituencies. So now how do you get this information? Write the Python program to script it. That's not too hard. Let's look at the polling booths. How many polling booths do you have in the assembly constituency? Or what are the polling booths in the assembly constituency? There is an election commission website and that has one webpage for every assembly constituency. It has names in Canada and English. Actually they have English only for Bangalore region whereas they only have in Canada. Now, those are the polling booths that I've shown in the previous slide. Others are on the number 1, 2, 3, 4 and 5. So the five polling booths inside the same building. Now, first I have to extract this information and then load them as polling booths and then somehow, smartly I have to identify that all the five polling booths are in the same building. How do you know? I do some text processing, figure out all of them are actually in the same place. So I'm going to do some Python programs to do some grouping based on some heuristics and then identify the polling centers. So we have got paramedic constituencies, assembly constituencies, polling booths and polling centers and what about the ward? Apparently, this is a PDF of voter rolls. So election commission gives one PDF for every polling booth containing information about that booth and all the voters. This is a PDF file and that's the only place where you can find which ward the polling booth belongs to. So if you want to build that, just to get the big bones of the system up, the ability to navigate through all the localities in your state or in your parliamentary constituency, you have to pass all this information. That's fine, isn't it? So these are the things that, these are the sorts of data I need to extract before I can start doing something. And there are many tools that are built on the way. So one of them is a volunteer sign-up system. So these are all the things done in very short span of time, about 45 days. And the requirements are rapidly changing and people actually, the election campaign goes on its own path. For example, they start with an approach and the result work, they want to do something else. So you have to change your software to meet those needs. So one day the parliament said, see the volunteers, signing a volunteer is not working very well. There are a lot of people signing up, but they're not becoming volunteers. We need to fix that problem. The problem was, the process that they had was very time consuming. Instead, the time was very high. In sense, when someone shows interest to become a volunteer and the movement and the time he becomes a volunteer, there's a lot of time gap. The reason was the approach they took, or usually what happens is you give a missed call to some number or you go and fill a web form and someone will call you and then ask you where are you from and what can you do. And then you become a volunteer like that. But the issue with that is it has to go through a central process. So usually they're like two to three days or even a week delay between you sign up and you get a call and then you get confirmed as a volunteer to work on something. So they called me and said, can you build a form where people can search for their location and then know who is a coordinator and then contact them directly. I said, that doesn't sound like an interesting solution. So thought for a while and built this. So what this is, it's a, so I did it two different stages, one for volunteer sign up, other for the Buddha's entry registration. And it's the same thing. There's a field called locality. So the forward signing up will fill in the locality there. So they'll go and say at another. So what it does is it, that gives an auto-complete using Google Auto Location API and identifies the location. And I've built a service using which it figures out what it is, what assembly consent it is and what parliamentary consent it is. So the moment someone fills his form, I know which one is from, which parliamentary consent is from. So the moment he fills a form, an email gets sent to the person and the ward coordinator introducing each other. Now we can start working immediately from that point in time. So the whole delay of two to three weeks to one week is completely cut down by the system. But unfortunately, it was built very late in the cycle and they couldn't really make use of this very much, but it's a very interesting system. And this other part of it, this is for adding a volunteer. So the previous one was people signing up. This is an internet or system and the admins won't add someone as a volunteer. So instead of locality, there's a voter ID field. So when someone fills an voter ID, it has to automatically figure out which polling booth he belongs to and then add him as a volunteer there. Now how do you do that? I should go and figure out query the election commission website and find out which polling booth he belongs to and then add him as a volunteer. That was the challenge. So one option is to query the election commission website. The other thing is to preload the data from some form. So we do have that information. I'll get that in a minute, but just one day before the election, there was a need for building a small website wherein from voter ID, you can find your polling booth. The reason was this is already there in the election commission website. But as expected, all government websites don't work where there's a need. They go down. So in fact, it happened even here. Election commission website in Karnataka didn't work on the election day. In fact, they made plans to scale up. So what it is, I think they had an ASP.com application or something. They made a copy of it in three different directories and then gave three links.  That will take 3x the load, but it doesn't work. So I built a small service. It just says find your polling booth in a banner. You go and type in voter ID. It tells you which polling booth you are from. So if you have ever observed on election day, you see a lot of people sitting from different political parties on a table with an auto list in their hands. People go and say, where should I go and vote? Or they'll come and shout at you. My wife's name is there. My name is not there. What are you doing? So what these volunteers do is they go and help these people. Tell them where they should go and vote. So inside the booth, the booth manager in charge will have a sheet of voters. And then there is serial number for each voter. So what each voter should do is they should go with what is booth number and that's called a path number. And what's the serial number? They should take those two things and then show it inside the booth. Then they look at that in their list and make sure it's that person and then let them vote. So now for every person that comes to the table, they have to give him what is his booth and what's his serial number. So that's what this thing provides. But where do you get that information from? That information is only available in the PDFs that are given by the action commission. I've put some bars in that the names are not visible because it'll be a privacy issue if I expose all that. So this is a PDF containing all the voter information. Now I have to accept this and build the database. And also the other interesting thing is now on the way of elections you have to put a table and then show this thing up. But this has to be printed. So each polling booth typically has about 1,000 voters and each sheet prints has about 30 entries. So that's closely 30 sheets for polling booth. And parliamentary consensus has about 2,000 polling votes. That's like 60,000 pages. Just for one single copy or to put 60,000 pages. That's so much of papers and also so much of money. So there's other issue is now. This is an outer list for one polling booth. A polling center, the school building, will typically have four or five polling booths inside. If someone comes and says, where is my polling booth? I have to look and tell him where he is from, which booth he belongs to. So the typical way is people use book force. So they actually put five people each holding one sheet, one of these lists, and someone comes and asks, where is my polling booth? All of them start searching and whoever finds will tell the answer. That's very, very inefficient. So it's not started by any name or something. You have to go and then search. So what I did is I did a program to excite this information and combine all the outer IDs in a polling center together. So we have five booths. All the five booths are combined together, started alphabetically, and then printed in a compact form. Now if someone comes and says, what's your name? Quickly search through this. Then tell what's his booth and what's his serial number. Now this has about close to 150 entries per page, whereas the previous one has only 30 entries. So it's actually 5x saving, and also it's basically I'm building a database index on paper. So you can do binary search and finally figure out where is the name, whereas the previous one, you're doing a sequential scan on the database table. Here you're doing an index scan. This was very useful because it saved a lot of money and also you're able to tell them which booth very fast. And there's other resultings I did in Bangalore, and back in where any Vishakh Patnam, I gave the sheet to them on the day of elections. So there are very few number of volunteers. So I told them, since you already have very less volunteers, I suggest you to concentrate on the first check. These are the polling centers which have most number of voters, most number of polling booths. So both schools and those buildings get more voters. So if you have limited number of volunteers, you better send them there first. That would cover close to 40-45% of the voters if you just send those 10 polling centers. The remaining set is ones which have more than four or more polling centers, polling booths. So that was very helpful because just with this information they were able to do scheduling of where to send those volunteers. And again, so this information was possible just because I have the data about of grouping the polling centers, polling booths together as polling centers. And so there are a couple of things that I've done during this period. But the fun part is now how I did these things. So let's look at the approaches that I've done for solving these problems. So first thing is parsing HTML pages. How do you parse HTML? So what I realized is beautiful soup is pretty good. So there are a lot of scraping frameworks that people use. I mean, I kind of find it actually counterproductive. If you start using those frameworks, it actually slows you down very much. Beautiful soup is very simple and you can start using it easily. And always save intimate results because saving intimate results will save you a lot of time because when you're parsing thousands or tens of thousands of pages, somewhere in the page they'll have malformating or some unicode error. You'll start doing it from again from the beginning. So all the saving intimate results will save you a lot of time. And ASP.NET is the worst thing that would happen to web. And the government loves ASP.NET. Every government website you see is built in ASP.NET. So I had a real fun time exciting data from all the ASP.NET websites. So you'll see what kind of tricks you can use to actually parse information from those websites. Let's look at beautiful soup. Is this visible? No. I'm very sorry. But now, these are the only things we need to look at the text. So beautiful soup 4 is the newest version of library. You import beautiful soup. And then you create beautiful soup using HTML. And then it has two different ways of selecting elements. One is you can select that using a CSS selected. So you can say I'm trying to parse the polling booth information from the election commission website. That is slide that I've shown you. So that's the idea of the table. And then I'm picking all the rows. So that gives me all the rows in the table. And then first one is header. It just takes what's the name and what the header of the table. I skip that. And for each row, find all. Let's add the API to find. So I'm finding immediate children, which are TD. So I've got the TDs. And then I accept the text and then send it. So this is pretty simple. There's nothing fancy happening here. I just find out the right element by the ID. And take all the elements and take the text of it out of it. So saving intermediate results. So this is the other interesting thing that I've done in the scraping process. I wrote a small digital disk name voice. What it does is it saves the results of this page in that file. The file is already there. It just returns the result. So now when you're scraping 10,000 pages, if it parses 10,400 files and fails there, when you restart the scrape, for the first 100, it reads through those files and it starts from the next one where it failed. So that saves a lot of time. So let me show you how this disk name voice works. That's a decorator. What it does is you can specify the file name, or you can say how to concept the file name from the parameters. You could say take the parameter AC, and then if the number is less than, the width of it is less than 3, just put 0s in the beginning. So you can make AC 0, 1, 2, underscore, both start ESV. So you can specify that by the name of the parameter, or you can specify by the position. If you see here, saying 1, the parameter 1, so that is state, sorry, the district. That's dictionary. So taking the attribute state and attribute district of it, and then serving it. So that is very helpful, because I don't have to write the same code in all the files, in all these functions. Also, it supported different formats. If you see the first one, the format is JSON. So it serializes it as JSON and saves it. The second one, it saves it as a TSV file, and it reads back as ESV. So now the ASP.net part. So if you see, oops, I'm sorry, something ran forward.  So if you look at any ASP.net website, you'll typically find a lot of dropdowns. When you select a dropdown, it sends a post request to the server. And if you click on any link on the page, it again sends a post request.   And along with it, it sends a lot of fancy things. Sorry, it's not visible at the bottom. It usually has a special hidden field in the page called unscored review state. It's a huge, with a string containing Polly Bay 64 encoded string. And at times, it becomes bigger than Coppola family. And it sends it along with every single thing that you do. So I had to work around all these things. So what it did is I built this small utility for working around. So there is a function, getSelectOptions. So I'm giving the main of the select. What it does is it parses that individual soup and gives me all the options available. Now I know all the districts I have in the state. Now I loop through each of them and then finds out all the assembly constancies in the district by selecting the other dropdown. And then I want to find the boots inside each one of them. Now I start afresh again. I select the option that sends a post request, comes back. And then I select the assembly constancy. It sends a post request and comes back. Now I have a HTML page containing all the boots. Now I go and parse it. Now it's too tedious, but the thing is these functions make it very easy to do because you're almost, as if it's actually going manually clicking. Select the district dropdown and then select this. Click the assembly constancy dropdown and select this volume. And then you parse it using beautiful soup like you did before. Now the fun part is parsing the PDFs. So how do you parse PDFs? So you must have seen this string, so it's very tricky. So don't worry about the text because it's not meant to be visible. Just converted that into text. So what I did is I converted the PDF into text using a tool called PDF2 text that comes with XPDF library in Linux. So this has this plain text with name. And I need to parse this and find what information. How do you do? So now first I have, I wrote a function. Read section. I should probably read section. What it does is from those two markers, two dot details of part and polling area and three polling session details, it selects the text between those two. So I basically have a huge chunk of text. I'm trying to window down the region that I'm interested in. So it comes down to this part. What I do next is I identify the index. So this is in the text. So I want to identify the index of where these things appear. Now this data is a lot of times when we have all weird kind of things. So sometimes I can find a ward member on the left side or I can find something near police station. Then I'll probably think that the index is wrong. So what it does, it takes three, four things and finds the best of all of them. If there is an outlier, it ignores that. So somehow I really find that line where that information starts. And then I select just that region. Now from the whole PDF, I've cornered down to small window which has a written information. Now I take it from the ward number to polling station. That gives me the ward number and the ward name. That's fun, isn't it? So I'll do all this thing to get just the ward information of a polling booth. Unfortunately, it's not available anywhere else. And the other wanted setup system I'm showing you that there's a map-based thing. Fortunately, I don't have to do much work. Open Bangalore and data-made groups, they have made Bangalore wards and parliamentary consensus maps available. So all I had to do was take your maps and then write some small Python program to build those APIs. That wasn't hard. There was some learning about OpenJSG and all that, but that wasn't too complicated. And the last part is the formatting outer lists. So I did the... What is formatting I've shown you, right? Made a compact outer list. So that was... I used a report layer for doing it. It worked fine, but there was a small tragedy on the day of elections. So one day for two days before elections, they told me that they want it to be done like this. I wrote a program and tested for one polling center. It worked fine. I said, okay, I'll give you by tomorrow morning. So it told me that they want it by 10 o'clock so that they can send it and then print it and then be ready by evening. I started running it and realized the program stuck at some place. It's not coming out at all. So I have a report lab and it's generated some videos, but something just got stuck. It's not working at all. So I went and saw why it's not working. I saw that that polling center has more than 10 polling booths and the number of ways are more than 100. And somehow it gets stuck there. So I tried different things and then it didn't work. So I thought, we just had one day, I don't have time to understand the report lab or switch to something else. So I thought let me put on a high-end machine and get it done. So I thought I'll go and buy an EC2 server and then run it and then solve it. I went to EC2 and then already served and said, you don't have your limit, don't allow you to create that. Please send an email so that I can activate it. I had just one date left. I can't wait for them. So I went and started running it. Same issue. It got stuck there. So I started running these things in parallel. So once which have less number of polling booths finished, but the ones which have more than a number of polling booths didn't still work. So I spent some time and realized there are some performance issues with report lab. So if there is too many entries, it takes too much time. Probably there is a model N-square issue inside. So what I did is, when I looked at each page, each page has 144 entries. So I know how many entries each page has. I can also split the data into 144 entries and give it to report lab and then generate multiple prefs and then combine them later. So that's what I end up doing. But I lost a lot of time and money by the time I realized this. So it's already like evening of the day before elections by the time I realized the solution and what. But it can solve the problem. So these are the challenges and fun that I had during elections and I could resist and continue to mess around. So if you can see again now, that's my GitHub history. I started messing with more government data and then started improving the system. And good thing it's all open source. It's all available online. So if you want to take a look at it and you want to play with it or you want to collaborate with me and work on these things, you're welcome. And this brief summary is messing with government data is really challenging and a lot of fun. I recommend all of you to try it once. A beautiful soup is enough for passing HTML and even ASP.NET websites. You don't need any special frameworks. I don't even think they are counterproductive. Same intermittent results save you a lot of time. Passing periods is bit tough but not impossible. All data will be very valuable and made available openly. So that's what I'm trying to do. So let me know if you have any questions. Hi. First of all, it's a very interesting work. It's really like I appreciate your courage to take this challenge up. So what I want to ask is whatever you have developed, what is the future of that? Are you having any plan to use these tools in the forthcoming elections or any other plans? So the system that I built is probably going to be used in the next elections. But all the data are being continued to use and then use it in other places. So in fact, just before coming two days back, I was trying to get the Delhi data. So the Delhi polling booth names are not there on the election commission website like we had in Karnataka. The polling booth names are available in the PDF. Now I tried to program to pass those PDF names and then I can come by as polling booths and blah, blah, blah. So it's very valuable and very challenging. Yes. Mike here, please. Can you please sit down? Just said that we have some performance issues and obviously actually when we are scribing this kind of huge data, especially with like beautiful so-called that kind of libraries, there will be scaling issues. And you just mentioned about one issue that you got around with some hacking, like running it parallely. Do you have any scalable solutions or any techniques that you have used for? I don't think beautiful soup is a performance issue. Performance issue was in report lab in the final report. But that I worked around by limiting the data size. But beautiful soup was perfectly fine. There's no performance issues with that. Once I have used beautiful soup. Actually it was a huge page. And it was actually taking at least 30 seconds to get the data, at least one data. So beautiful soup can work with multiple parsing engines. So if you create a beautiful soup with the second argument as LXML, it tries to use LXML library, which is C library, which is pretty fast. So you can look at a beautiful soup documentation, such as beautiful soup on LXML. That should give you an idea. Thank you. So I have got a question for you. So I worked with data.gov.in on the beta version of it. Just the visualizations part. So the real pain was the data which was there. So it's on PDF. We all know that. Sometimes the open data format is such that it is very crappy indeed. When I say crappy, I mean you got null entries, you got the data is not consistent enough. So is there any automated way that you make the data more consistent so that I can do that? Not really. So the thing is that data is crappy. At least you can get the crappy data that's so much valuable. For example, when I got the word information. So there is one polling booth, I guess in East Bangalore, is in JSON other word. Very unlikely. But these guys just enter data like that. We can't help. So we had to go and manually fix those kind of entries. You basically spoke about making data handling easier during elections. So what happens to all that data once the elections are over? No, so this data is not about elections really. It's not election results or something. This is about the structure of political boundaries in the country. So how many states we have? What are the paramedic consciences? What are the semi-concernies? And then what are the polling booths inside each one of them? And a lot of these tools are still valuable. For example, if you look at the volatile signup system that I built. So I built a small service with an API. So given a location, it tells you what you belong to. For example, if you want to do some work in what's in Bangalore, you could just use it even now. I think we should really have a repository of all this open data so that anybody can use it when they need. You should really spend your time on doing your work, not on doing all these kind of things, right? So when you want to spend time on doing election campaign, not sitting and scoping stuff. No, no question.  What is the base data that you converted to PDF as a listing? No, so I basically have tabular data. So I pass the PDFs and call the tabular data. So I have the name, house number, gender, age, there are outer ID and boot and serial number. So I have a tabular data. I want to put that as a table. So I was putting, like you see, putting two entries in a page. And then I was trying to fit for one polling center. So when the number of pages is high, you're just taking forever. I have some experience with converting text to PDF and printing. I always found text to markdown, markdown to PDF is much faster. But it's not plain text. It's actually a table. I can create a table and markdown to PDF. It's pretty fast actually. I'm just wondering if you tried that option. Markdown to PDF? So I'm not tried, but I kind of see that that's currently HTML to PDF, right? Almost. Yeah. It's kind of funny. You can use the, I don't know if you know this toolkit called, I don't think it's Pandoc. It's basically, I forgot the name of that, but it's not really a port lab. It has this toolkit, nothing which, this gives you this command line option called PDF. I'll deal with the PDF phase. Let me show you that thing that, yeah. So it's this. Okay. So now, I think it's PISA. PISA. Sorry? PISA. Okay. So tables doesn't work very well with HTML printing. The reason is, now I have a table and the header, if you see, I want it to be repeated in every page, right? So the top had a name, tradition name, et cetera. It has it repeated in every page. Okay. The report lab, you can just say, lock the first row. So that it will be repeated in every page. Okay. Because report lab is meant for printing on pages. Where HTML and markdown are not for printing purpose. Okay. So you can probably have to print this table in markdown. Okay. But you won't be able to repeat those kind of things. I also put in these two tables together in a single page. It would be very hard to do in markdown. Last. Hey. I used to work in the report lab libraries, but I had some problem with the versions of the PDF. So some PDF, you know, some header was wrong. So I'm not able to read it all. Then I manually have to save it in a different version and, you know, start using it. Do you have any experience on that? No. So this is really a limited report lab. I just spent two days and cook up something. Okay. I'm really not an expert in report lab. Yes. Yeah. Okay. Fine. Thank you. Okay. So I know you guys have a lot of questions from Anand. Okay. So he's been one of the prominent speakers in PyCon. So what you can do is you can catch up with him after this talk. Before you can go out for lunch and come back to the other one. So there will be another session. You can check the session plan out.