We have Praveen with us. Hey Praveen, welcome to the stream. Hi, hello everyone. Hey, nice we can hear you clearly. So Praveen will be taking us through the Pyconic Interfaces presentation and stay to solve yours Praveen. Thank you. Hello everyone. I hope you're all having a great time at Pycon India. And I hope your day one was very interesting and enjoyable, welcome to day two. So my name is Praveen Shirali and I'll be talking today on a Pyconic approach to interfaces and interface enforcement. If this is the first time you're exploring the subject then don't worry. We'll be discussing concepts from scratch. At the end of this talk, there is a slide which has references and links for further reading and that should help you dig deeper into the subject. So you can check that out later. So I've been told by the coordinators that there could be a lag between me presenting and you listening. So if we pause for questions in between that may delay things a little bit. So in the interest of time, I'll take questions at the end of this talk. At the bottom right of the screen, you'll find slide numbers. And if you have questions which are specific to a slide then do make note of the slide number. I'm happy to run back through the slides to refer to that. The slides are also available on the URL listed here at the bottom. So you can refer to the slides independently during Q&A. If you don't find sufficient time for Q&A then please feel free to reach out to me directly at some later point. The last slide has information on how to reach me. So with that, let's get started. So yeah. So in this talk, we'll try to understand what really is an interface and why is it important? We'll see what benefits we derive from enforcing interfaces. We'll also explore what options we have in Python 3 and third-party libraries to help us with this. Finally, we'll look at a couple of factors to keep in mind when choosing a solution and what are the pros and cons and stuff. Okay, so let's get started. So what is an interface? An interface is a shared boundary across which two or more components share information. So do note the terms highlighted. So we'll try to explore this with an example. Okay, so consider an application and that's sort of represented by the box over here. So this application has a class called a data processor which is responsible for processing some data. Now, this data processor is responsible only for processing the data and it relies on another component somewhere inside this application to help fetch that data. And somewhere in this application is a class called a file IO class and this class is capable of reading data from a file and writing data to a file and so on. It does this through the read and write methods typically found on file-like objects. And the data processor depends on the file IO instance and calls its read and write methods somewhere during its execution. Now, let's say that the application needs to support more such data sources in the future. So consider that there is a class called memio and this is very similar to the file IO class. It defines exactly the same methods as file IO. They behave in the same manner as well. But the memio class operates entirely in memory. It doesn't read or write from a file on disk. So this gets interesting for the data processor because it has to work with classes which are similar. So you could say that the data processor now requires a class which implements a read and write method. So to put that in context, think of data processor as a first person. So the data processor is advertising to everybody else that I can perform read and write operations and I can work with any class which helps me do that. And what I'm doing is I'm gonna call your read and your write method. And for me to do that, I expect that your read and your write methods follow a particular format in the form of the arguments that have to be passed. So if we were to express this relationship in the form of code, we could define a completely new class. So let's call it a read writer because it does read and write. And let's define the read and write methods inside it. But you got nothing else. There's no implementation whatsoever. It is just empty methods. Now this represents an interface. It's an empty class which only defines what methods need to exist. And this serves the blueprint for other classes which actually implement these methods like fileio and memio implement these methods. Now does fileio have methods with the same definition as read writer? Yeah, it does, right? So we expect read to read and we expect write to perform a write operation and so on. So even the behavior is as per the spec. So you could say that fileio class satisfies the read writer interface. Mind you, we are like doing this just implicit assumption because we are comparing it by just visual inspection. But if we could programmatically verify this, then we would say that the fileio class implements the read writer interface. Similarly, you can observe that the memio class also satisfies the read writer interface. Now, if there are future needs for similar io classes, could a completely new class implement the interface? Yeah, it could, right? So all it needs to do is it needs to ensure that the read and write methods are exactly the same. Or they're implemented in exactly the same form. But is it really necessary to have interfaces? Like why do we have to be so strict? Could we choose not to be strict? Like for example, this class here is a less strict version of the io class, right? It defines read and write methods which could work with the data processor, but you don't see it matching the interface, right? But technically it should work. But the question really is, do you want to take a chance with this? Because if there are issues, you will discover them during execution when those read and write methods actually get called. So sure, you may have unit tests and stuff, but it's like pretty late.  And everything depends on the fact that you've written your tests well and so on. But ideally it would be awesome for you to know about these when you're writing the code itself, right? That's a good early stage to know when things are deviating. So this leads us to an interesting thought. Could we detect and verify interface deviation automatically so that we don't leave this to chance? Rather, can we write code to enforce the fact that the implementations like file and MIO must implement methods as per spec, in this case, as defined by read writer interface? Because if you're able to do that, then we can detect missing methods, wrong arguments, misspelled method names, bad declarations, and absolutely any deviation that might arise. We don't have to test for such deviation specifically, but we just get some code in our application to do that for us. So what does interface enforcement mean? Exactly this. We basically find some code which ensures that a class adheres to an interface. And if it doesn't, then the application raises errors. So rather than testing for it, we make it a requirement for the application for it to start or uncorrecting. And what do we really want to enforce? We want the method names to be correct. We don't want to miss any methods. We want method signatures to match, that is the arguments, the order of arguments, type annotations, et cetera. We want it to respect descriptors and decorators like static method, property, et cetera. If some methods are generators or async methods, we should be able to direct those as well. And really anything along those lines, if you feel that there's some sort of structure that has to be followed by all of the implementations, you could try to enforce it. So in summary, the expectation is, if you have an interface and this interface defines certain methods in a certain format, and there are specific arguments, specific decorators which define it and so on, you want all implementations to implement it in exactly the same way as the interface defines it. Why is this really important? Well, clearly there are some benefits, but what problem does it solve in the real world? So let's again try to understand this with an example. Consider an application again, again represented by this box and assume that this application consists of a lot of components. And these components could be modules, classes, functions, and so on. Just code distributed across the application. And all of these components or classes, they talk to each other. The instances talk to each other. And over time, the application is constantly evolving. Some components are getting added. Some components are getting removed. You may improve some of the components as well. You'll have better versions of the same components working in its place. And over time, the application begins to take shape. At some point, when you introduce a change to a component, we end up breaking the application. Now, one of the reasons could be that the interface between these components are not clearly defined. So one of these components, which could be these empty boxes, makes a call to the component in the green box expecting that a certain method is available and expecting that it will behave in a certain manner which it doesn't anymore. So what we ideally want is a scenario where we can plug and play such components or classes without worrying about breaking method calls. At least if we're able to ensure that, then that the interfaces are honored, then that's one less problem to worry about. So what really are the benefits? For a start, we get clear boundaries of separation and responsibility for each of the classes. And that makes it easier to maintain applications because they are less prone to errors. If we're able to enforce interfaces, then we could prevent some errors as well. And knowing them very early is a huge win. It saves time, a lot of engineering effort, and also improves quality. So how do we enforce interfaces? So Python has a library called abstract-based classes, ABC in short. And ABC provides mechanism to achieve what we discussed to some degree. So interfaces are enforced using meta classes and interface class sets ABC meta as a meta class. ABC meta is a class inside ABC. And ABC meta actually has the code that does the enforcement. Additionally, we need to decorate each of the methods with this abstract method decorator. Indicating that this must be present in the implementation. So an example of what this would look like. In this case, let's look at memio. So memio inherits from readwriter, which is the interface. And then we have the read and the write methods actually implemented in this class. And when you try to create an instance of memio, that is when the checks are performed you see whether read and write are implemented or not. So just note this once again that the interface marks the abstract method. Interface marks those methods which are meant to be mandatory. And the implementation actually implements it. So how does the enforcement kick in? So let's say you have a version of memio which does not have the right method. Now, when you try to create an instance of memio, then the compliance code will kick in and say your memio class does not implement a right method. So that's the type error that's raised over here. And this error is raised when the instance is created, when you're instantiating the class. Now, there are some limitations to what ABC can do. You can see an implementation here of memio where the read and write methods have no argument at all. However, no exceptions are raised when the instance is created. So while abstract-based classes can enforce the presence of methods, they can't do anything beyond that. On the positive side, as the entire mechanism is defined using meta classes and inheritance, the subclasses tend to automatically benefit from the advantage of interfaces which are already defined in the interface. The implementation tends to benefit from it. But ABC has actually been around since Python 2 when it was designed. And perhaps at that time, the goals were different. Now, there's an interesting talk by Raymond Hettinger on this, which shared some more light on the ABC's history and so on. So the link for that is there in the reference slide and you can have a look at it later. But Python 3 has evolved a lot. And let's see what we can do with that. So let's explore Python 3, some of the libraries and what it can offer. So Python 3 has support for type annotations, async, better typing. There is an inspect library, which is part of the standard library and the inspect library is actually kept up with the times. Besides, Python offers expressive ways of defining APIs. Methods can be defined in a lot of ways. We're gonna look at a few of them now. But obviously there is more that Python can do than what we're covering in this talk. So let's look at some ways to define a method. In this case, foo. And while we do so, let's also observe some factors that matter. It's likely that any Python 3 application you are writing today will likely have methods defined in all of these forms or at least a majority of these forms. So this stuff is very relevant to Python 3 applications of today. So let's start with the first one. Obviously the name of the method is very important. It is the identifier with which the methods can be retrieved and everything else is verified using that as the first step. Next, the method signature is important because they define the arguments, type annotations, et cetera. Then we have data descriptors like the property decorator, setter, et cetera. These are interesting because though the members look like methods, they're not really callable and they behave like attributes. Then we have class method and static method decorators. We also have generator functions, coroutine functions which lend themselves to different behavior as compared to regular methods. So what can we do with inspect? So inspect has a function called signature and as the name suggests, this function returns a signature object and the signature object represents the arguments, their order, type annotations, basically everything that follows the method name and signature objects can be compared against each other. So you can use this easily to verify signatures across an interface and an implementation so that you can know whether an implementation actually implements it correctly or not. Now again, data descriptors are special. So you have methods which look like they have the same name but they are decorated with property setters, getters, et cetera. These are not callable, so inspect.signature will fail on them but there's a handy function called is data descriptor which can tell you whether a method is a descriptor or not. And you can use that as a mechanism to further fetch the actual getters and setters. There are also functions which can detect generator functions and coroutine functions as well. So there's is generator function, is coroutine function, it's pretty straightforward. This is a little interesting. So the class methods and static methods can be detected first by fetching the method from the class that actually implements it and we can do this by navigating the classes, MRO, the MRO stands for method resolution order and the Dunder MRO attribute holds the entire class hierarchy. So once we fetch, we can then use ease instance to check whether a method is a class method or static method. And the reason you need to do this is because the methods could also be inherited by an implementation. Though the inherited class does not define it, it's likely that the parent defines it and the decorator is actually used in the parent class. So that's why we need this method to fetch the actual class where that method is implemented and then check on it. So let's revisit our list. So if you look at the method definition list here, we have a way to identify everything that's on the list. So it's pretty easy to build enforcement capabilities. So if an implementation does not satisfy a check, I'll just raise an error and that's it. Yeah. Sorry to interrupt, but the attendees are saying that the slides are not getting changed. Are you on the same slide, slide number 49? Yeah, sorry, sorry. I could see that, yeah. Oh, I'm sorry, let me just run through the slides again. Sure, thank you. Yeah, thanks for pointing this out. Right, so I'll just take one minute to quickly run through the slides that I explained. Sorry for the miss. So we were looking at this slide where all the methods were defined and like various methods, ways in which you can define these methods and what we can do with InSpec. So the first function we saw is InSpec.signature, which can be used to retrieve a signature object. These signature objects are actually comparable. So you can use this to verify whether a defined signature from an interface matches that of an implementation. For property decorators and data descriptors, there are some special mechanisms in place. So basically the method names look the same, but they're actually decorated. So the InSpec.signature does not work because these methods are not callable. But there is a function called isDataDescriptor. So you can use that to detect whether a method is a data descriptor or not. And if it is, then you can start fetching specific elements from it. For generator and coroutine functions, there are again ready functions, which you can just call. For class method and static method, you would need to go through a route to actually fetch the method from the class which implements it and then check whether a class method or a static method decorator has been applied on it or not. So coming back, the types of method definitions that we originally listed, we feel that there is a way to actually verify all of these and build an enforcement mechanism to detect these and also raise errors. So in fact, there's some third party libraries which already do this pretty well. So there are more than these libraries. So I'm just listing three of them here. Implements, Python interfaces and Zope.interface. Implements is a very simple library which does a lot of enforcement. Basically it's just one decorator that you need to import and use on your implementation. Python interfaces has wider support for Python 2 and Python 3. It uses metaclasses and Zope.interfaces is a huge package. It's got very descriptive APIs and so on. So how do you choose a solution that matches your needs?  So let's do some very quick comparison of just some of the main factors, there are a lot more. So one of the main ones is composition versus inheritance. And this is very evident from the way you bind the interface with the implementation. So in case of implements, you have your class which is your implementation. In this case, my class. And you just put a decorator on top of it that says implements and then pass it the class name which is actually the interface. So it's that simple. So the class, when you look at the class, you straight away know what interface it implements. So this is a very clean wrapper, it is very explicit. You can read it very easily. Now on the right side, both ABC and Python interface packages use metaclasses for enforcement. And the inheritance is used to propagate enforcement. This is not as explicit as the decorator-based approach because you need to know the entire class hierarchy. But on a positive side, because of inheritance, all these subclasses also enjoy the benefit of the interface enforcement. So if you already have a code base which uses inheritance heavily or you've already been using ABC to enforcement of interfaces, then Python interface is a great choice to work as a replacement. Another important factor is early versus late enforcement which is actually the main advantage that you can draw out of it. So implements and Python interface they enforce on import or class creation. So as soon as your application runs when all your packages are getting imported, that is when this kicks in. So it is really, really early. And it can stop your application right there in case some errors are found, right? And this is really useful. On the other hand with ABC, it is based on the philosophy that the right time to check for any sort of enforcement or adherence is just before the creation of the instance. Yeah, but however I feel knowing things early is a great dividend so you can make a trade off over here. Sorry, I didn't advance the slide. So yeah, so early versus late enforcement is like this. So I think we are at the end of my talk. So let's just do a recap. So we defined interfaces what those are and we've seen that interfaces help and interface enforce even better. We've seen an offer what Python 3 can provide and what some third party libraries can provide. And really in today's world with Python 3, there's really no need for using ABC anymore. There are much better alternatives. We can see how inspect can be used and how enforcement can help us find interface errors early. And with that we are at the end of this talk. So here are some references for future meeting. The links are, the slides are shared so you can actually go through these at a later point. So thanks a lot. These are ways in which you can reach me if you have any questions at a later time. All the slides are also available online on GitHub for you to refer to. So open to questions now. Thank you. Thanks a lot Praveen, that was great. Let me just quickly go through the attendees and what they are saying. And let's start from the beginning when you were almost midway through the slides. Shridha says we can have an adapter for data input for data processor, adapter design pattern. Right. Is that the question? No, he's just come in, he's trying to suggest that particular option. Abhinav says it looks similar to a Java interface. I think this is when you were before slide number 49. And we have a fairly big question. Okay, so Priyash says what's the link for slides on GitHub? So for all the attendees after the session is over if you want to have a conversation with the speaker feel free to visit Zulip and go to 2020 forward slash stage forward slash deli. And there you can find Praveen, you can ask any question you want offline as well. Praveen will also share all the resources that he wants to share the code base, the slides and everything there only. And we have a big question. Sairam says the advantage of developing in Python. Let me just quickly copy this and paste as a banner so that everybody else can see it. So how much time do we really have left for Q&A? So I guess we have a couple of minutes left and there is a five minute buffer. So we have, if you see the max amount of time we have seven minutes. So if someone else wants to ask a question feel free to write there. So the question goes, let me just- Can I take the first question? Can I take them in order? Yeah, sure. Yeah, so on the first question, yes, the adapter pattern helps. The adapter pattern is a way of bridging two different classes on what they offer and the adapter fits in somewhere in between and translates what one class requires and how a different class can offer it. Ideally, that comes at a fairly advanced stage where you want to, where you are at a situation where you don't have the flexibility of modifying a class because let's say it is being offered by a third party package and you can't really modify it. So you build an adapter so that you can bridge the connection between these two. However, the interface mechanism is there for you to establish a common language for two classes to talk to each other. So it is different from the adapter pattern in that it is trying to just formulate rules saying, I am a dependent class, say I am data processor and I need to depend on class number A, class A, class B, class C and in order for these classes to give me what I want I'm going to define this interface which they are supposed to obey. And if they are compliant, then I can work with them. So the purpose is slightly different though that you can use either of these to accomplish your need. So can we move to the next question? Yeah, I would just comment like it looks similar to Java interface. Yeah, it does look similar to the Java interfaces where you have it clearly defined and so on. So it's a bridge between Java interfaces and sort of what Go tries to accomplish, Go lang. But it's, yeah, we're not there yet. This is a fairly Pythonic way of trying to draw similar benefits from what other languages already implement. And it's actually part of their language as well. So what is it, it's something we have to build on. Another question is, I understand that Python interfaces and, sorry, that's a... Yeah, so implements is just uses a decorator called implement, right? And what implements does is when you give it an implement, when you give it an interface class, it goes through all the methods that it has. It fetches all of them and understands its signature, understands whether there's a decorator on it and so on. And then it tries to compare that with the implementation and see whether the implementation has it or not. So the moment, so all of that logic is built into that interface decorator, sorry, the implementation decorator. So the moment that decorator kicks in, it's gonna do that comparison for you on import. So the enforcement is done right there when you're like loading all of the modules. I hope that answers the question. I can dig to more details later. It's, there's another question. It's situational, but given that both methods are applicable. So yeah, if you're writing fresh code today and you have a complete choice of whether you want to do a lot of inheritance or not, then composition is a better way to go about it. But if you're dealing with a huge legacy code base where you're doing a lot of inheritance already or you're already using ABCs and you want to just transition that code to work with interfaces better, then maybe Python interfaces or Python interfaces also for one of these could be a better choice. It depends on what change you want, how early you would like to detect changes and so on. So it's just trade-offs and how much effort that goes into picking one of the methods. Okay, another question is too long. So it might cut off on the screen. I'm just gonna read it from the chat. Yeah, so the trade-off here is how clearly do you know the requirements for one class to depend on another class? So when you say fast development, the methodology matters here. Are you writing code to then understand how classes work or do you have a predefined understanding of how the classes are supposed to talk to each other? So if you already have some predefined understanding of how class A should talk to class B, then you will be able to define interfaces better. Sometimes these interfaces also come out of evolution of development as well. So I don't think it slows down the development process that much because the work involved in getting the interface in place is not much. You just have to define the methods clearly as a class and then all the classes we are supposed to implement it you just decorate it or insert it in some way. So the effort required to integrate is not much. But the thought that goes into exactly defining the interface that is much higher. So yeah, that's where the trade-off is. There is a second part of this question. What are the scenarios where interfaces must be enforced and where to relax? Interfaces give really good value if you have one class which is going to talk to multiple variants of other classes. Like we saw this data processor, right? And data processor talking to file IO, MIMIO. Let's say there are like four or five other such classes and you want to enforce rules on multiple such classes. So in such cases, interfaces work really well. Ideally you should be trying to use this everywhere. But there may be some places where the API itself is very experimental. You're not sure whether the method definitions you have defined today are the right ones or not. And for you to make changes, it may require you to make a lot of changes all over the place. So in those cases, you may want to relax so that you have solidified the interfaces to a certain degree where you feel that things are stable and then enforce it. Great, thanks a lot Pravee. And I hope you had to Zulip chat for more questions and to all the attendees feel free to reach out to Pravee if you have more questions. Thanks a lot. Thank you. See you all. Have a good day.


Thank you very much for introduction, and first of all, I'd like to thank the organizer for having this school and workshop. I'm very happy to be involved in this activity. So today I'm going to talk about the kind of theoretical attempt to understand self-replication from physical and chemical viewpoint. So as you know, self-replication is the unique property of the living system. Then actually, I think one ultimate goal of biophysics is to review the property that can differentiate living and also non-living systems. And actually, we already know that living systems should be non-equilibrium and open systems. This is why we are studying stochastic thermodynamics and non-equilibrium physics in this school. But this is not the sufficient condition, I think. A living system should, I think, have the ability to replicate itself. More specifically, so living systems should have a compartmentation that differentiates the system from the environment. So this is very important. And also, this compartment, I will call it volume or cell, should double the ingredient in it and also double itself in size to have the replication like this. So we here focus on how we can represent the self-replication from physical and chemical viewpoint. And actually, in history, we have, yes, we have long history to investigate necessary and sufficient condition for self-replication or self-publication. The most famous one is here, done by Von Neumann in 1940. He used the mathematical logic and also cellular automaton to consider this problem. Then actually, he proposed a set of the system that is sufficient logically to do self-replication. The important point is that this system contains the so-called universal construct that can work like the ribosome. So this is a system. So this is a system that can create other systems based on the so-called descriptors that correspond to the DNA in the actual biological system. So this was amazing that he proposed these kind of things ahead of the discovery of their biological counterparts, so ribosome DNA or other things, about 10 years. However, so this is, yeah, his argument is based on, as I said, cellular automaton. And so this is a very specific setting. So from a physical viewpoint and also when, if we consider, we want to understand the biological self-replication. So his argument has some factors, missing factors or implicit factors. And actually the kind of old catalytic idea of old catalytic cycle exists in this argument. But what are missing, what are missing is one of them is the kind of metabolism. In other words, energetics, he did not consider any energetics because cellular automaton does not require any physical energy in its salary. So it's a kind of logical thing. And also membrane or the kind of, the compartmentation were not so explicitly considered in his argument. So this is very important that we already know. So the cell should have certain kind of compartmentation by this kind of membrane. So he did not consider that explicitly because we have, in the cellular automaton, we have the two-dimensional space of the memory then so we can automatically assign the system on it without considering the membrane explicitly. And also therefore the expansion of the space, the volume, also was not considered. Actually we have other factors, missing factor from biological viewpoint about, so we focus on these three in this work specifically. And also we have other attempt to understand self-replication or kind of evolution from physical and chemical viewpoint. So this kind of attempt, as far as I know, can date back to the work by Alfred Lotoka. He proposed the physical biology and also investigated energetics of evolution. And after that, so we have the hyper cycle by Egan, also the auto catalytic set by Kaufmann. And very recently we have the new attention to this kind of topic due to the rediscovery of the so-called bacterial growth law in 2010 by Scott and Fuhr. Actually this bacterial growth law was originally reviewed in 1950, but they clarified it more by using more sophisticated way. And so motivated by that kind of experimental observation, so many physicists and sanitation now makes a kind of self-replicating reaction system looks like this. However, most of this work focus on the auto catalytic cycle mainly, so the problem of compartmentation or space is mainly ignored. So as long as I know we have almost no theory for the thermodynamics considering both the reaction and also the change of the size of the system. And if you know that, so please let me know. I'm very happy to know that kind of activity. So I don't know why, but one possible reason is that so a conventional theory of chemical reaction presumed that the volume, the reaction volume is constant by assuming the existence of non-reactive solvent or something like that. So if the system, the volume of system is constant, even if we have auto catalytic reaction and molecule and net, then first so this reaction proceed. But eventually so the volume will be occupied by this molecule then so diverse reaction should be dominated and therefore this reaction will stop at certain point by the diverse reaction or degradation of the molecule or something like that. And we can avoid this kind of situation by for example pumping out the new molecule from this system, but so this is the thermodynamics of chemistry. It's not the thermodynamics of self-replication in which the system should expand spontaneously in response to the change of the molecule in it. So therefore we have to have a theory that can address the thermodynamic coordination of reaction of the volume and also the growth of the volume itself. So this is what we tried in this recent paper we published. So in this theory, in this paper specifically we obtained the thermodynamic condition for steady growth realized. And also we clarified that so thermodynamic steady growth state is thermodynamically constrained a lot. So we have so any kind of steady growth state is not possible. So we have the actual constraint from thermodynamics. And also we derived representation of thermodynamic cost meaning that entropy production rate hit dissipation and the chemical work associated with this steady growth state. So this theory I am going to show you soon is based on the macroscopic thermodynamics. The usual thermodynamics you are taught in the under grass shade course. And therefore no stochastic thermodynamics is required and no kinetic detail assumed. And so this is based purely on the second row of some dynamics as I am going to show you. And actually this work was led by my two collaborator Yuki Sugiyama and Atsushi Kamimura. They are working as the assistant professor in my lab. So this is the excellent work by them. Okay let me move on to the setup we have. So we consider the system. So omega is the volume of the system that is valuable. So then so we consider the case there is a pressure external pressure to the system is constant. And so we have two types of molecule in the system. The blue one called constrained chemical that are constrained inside of the system. And the red ones so called open chemical that can diffuse across this membrane or barrier between the system and the environment. As I said volume is valuable the system of the volume is valuable. So an example this is just an example of the blue and the red molecule something like this. So A1 and B1 react to generate two A2. So therefore B1 is a kind of a resource to generate two A2 from A1. Then so A2 break down to one A1 and one B2. So B2 is a kind of waste. And this waste and resource can diffuse across this boundary. And so A1 and A2 form the autocatalytic cycle here. So we consider that so the intensive variable of the bars is the temperature of the temperature kept constant. The pressure is kept constant. And also the chemical potential of these open chemical and the environment are kept constant. So actually physically more correct picture of our model is something like that like this. So here we have rigid wall here and this is a system we have. And here we have semi-permeable and movable barrier. So the later one can diffuse across this barrier but blue one cannot. So this is a more physically feasible picture that we are working on. So from the sum of dynamics so we assume that there is a entropy function of the total system. And so this entropy function is the sum of the entropy of the system and also the bars. So what's the second law of some of the dynamics tell us is that the system can evolve to increase this total entropy. That is some dynamically allowed. Therefore what we have to do is to know when the total entropy increases as the number of blue molecule and the volume goes to infinity. So this kind of expansion forever in the number of molecule and also number size of the volume. Therefore we want to know that this kind of behavior is allowed thermodynamically. So this is so specifically this corresponds to this kind of picture. So this is a space of X and this is the total entropy. If entropy looks like this unbounded towards this direction towards X, capital X is infinity then the steady growth state can be possible some day now. So to derive that conditions first so we convert the total entropy. We introduce the entropy density. I just divide entropy of the system by the volume and here. And the small x is the concentration of molecule. Capital X is the number of molecule in the system. So they are different and also small n is the concentration of open chemicals. From the extensivity of the entropy function then so we can represent the entropy by using the entropy density times the volume like this. And here for simplicity we assume that this reaction inside it is the slowest in timescale. Therefore we consider that energy flux between the system and the environment is much faster. And also diffusion of open chemicals that run much faster than the reaction here. So therefore we can treat them as in treating them in the equilibrium state situation. So for such a case so it is convenient to introduce the Legendre transformation of this entropy function. This phi is the Legendre transformation of entropy density with respect to energy flux and also this open chemical. And this is a function of the concentration of blue run the molecule in the system. And also we extensively use each Legendre transformation that is phi star. So now this is a function of the chemical potential of blue molecule here. So the point is that so this function is can be interpreted as the internal pressure of the system. If these molecules has the chemical potential of mu under the condition that the volume is constant. This is very important so we are going to think about the volume is valuable but so this is the pressure when the volume is kept constant. Anyway and ok then I introduce a second assumption this is kind of equilibrium assumption. We assume that system this system converges to equilibrium state x e q if we keep the volume constant. So this is kind of virtual situation in our system because we consider the volume is valuable. But if we keep keep the volume constant then the system should go to the equilibrium state. So this is because we want to exclude the occurrence of the usual non-equilibrium steady state. That makes the theory much much more complicated and inaccessible. So this is for that case. But the point is that transient non-equilibrium state is allowed even under this condition. And also this equilibrium state is determined by the chemical potential and temperature in the environment. And also the chemical potential of open chemical and temperature. Ok and as I said the volume is valuable and so under that condition so the diffusion of the open chemical is very fast. Therefore if we fix the amount of the constrained molecule blue one then so we can obtain the volume in this state by solving this minimization problem. So this part is just entropy as a function of the volume and capital X. And so we now fix the pressure to this value. Therefore this is just a regenerative transformation and so the omega should be the minimum of this. And therefore omega volume is a function of the number of molecules. And also because of that so concentration of molecules is non-linear function of the number of molecules. So usually this is fixed, this is constant but now this is the function of capital X. Therefore the concentration of molecules will be non-linear function of capital X. By introducing this quantity so we can relate the total entropy as a function of capital X like this after some computation. So here we have the volume and here we have the bar star. This is the internal pressure of the system if the system and the chemical equilibrium. But this is the case when we consider the isobaric situation. So this is external pressure. Therefore this is a kind of difference between the internal pressure at equilibrium and also the external pressure. So here we have the Bregman divergence. Bregman divergence is a generalization of the carbacolibre divergence for convex function. Here we use the phi star for the convex function. And so this is the Bregman divergence between the chemical potential at equilibrium and also the chemical potential at current state. So I'm going to explain the physical intuition of this relation but so we can obtain this. So our first result is that by using this representation we could prove that the state of the system can be categorized into three cases. One is that so this part is positive. In this case the system eventually grows forever so meaning that the time derivative of volume is positive. If this term this two term is the same so this is equal then the system eventually equilibrate. So eventually the time derivative of volume becomes zero. And finally if this is negative then the system eventually shrinks. So for these three cases the entropy function the shape of entropy function looks like this as a function of capital X. So in this case so we have unbounded entropy function towards the X is infinity. So in the second case we have for this dashed line is the maximum of the entropy function. Therefore starting from certain point then system eventually goes to any point on this dashed line. So this is the equilibrium state. Then finally in the last case so entropy function looks like this it's maximum locate at the origin of X. Therefore the system evolve to shrink to the zero. So this is the very general consequence from this representation. So the next what is the meaning of this quantity? I will give you a physical intuition behind it. So let's first consider isochoric case such that volume is kept constant. In this case the pressure external pressure is variable to keep the volume constant. So in this case at certain state so we have chemical potential. Corresponding this chemical potential we have internal pressure that is obtained by the buster. So this system chemically tend to relax to the equilibrium state mu eq. At this point also we can evaluate the pressure. Usually these pressure two pressures are different but if the volume is kept constant this internal pressure automatically balances with the external pressure from the wall. Therefore there is no problem to relax to this state. However we consider the isochoric case where the volume is variable and the external pressure is constant. Therefore if we at certain point then we can evaluate the internal pressure. And this internal pressure should be balanced to the external pressure that was specified by the bath. If this equilibrium, chemical equilibrium state does not have the internal pressure. So this internal pressure is usually different from the external pressure from the bath. In that case the system cannot relax to this state. Eventually the system goes to infinity or goes to shrink to zero. So this is the mechanism when we consider the variable volume. So this is the second result we have. So let's consider the expanding case. So the system expands forever. So we can expect that in that case the concentration of the molecule will converge to a certain point. So actually the number of molecules converges to infinity. The volume also expands to infinity. But we can expect that their ratio converges to certain finite concentrations. So we call it a steady growth state concentration. And so this concentration should satisfy this inequality. So this term came from, so this part. So we just plugged XSG here and so we have this one. So this should be positive in the case of steady growth state. So this inequality can be decomposed into the two conditions. One is from the constant pressure. So external pressure should be always balanced with the internal pressure. So therefore this is this defined accessible state. This is this one. So this is an example. So accessible state under this external pressure. And also this Z determines the region where the entropy production is positive. This is from the second law of thermodynamics. And so this Z region is shown in red. Therefore a steady growth state, the chemical potential at this point should be constrained only on this line. So on this eye and also within this red region. So this is very strict constraint that can be accessible in the steady growth state. So this is our second result. If the system is in the equilibrium case, then so this intersection, the intersection of this and this is unique only one point where so we have the equilibrium state. So in the shrinking case they are not intersecting. So this is the second result. And then so from the representation of the total entropy we can obtain the thermodynamic cost for this steady growth state. So this is a representation of the steady entropy production rate. So that should look like this. And by using this we can evaluate growth efficiency like this. So this is the entropy production rate is divided by the rate of volume expansion. So the right hand side is always positive here. And the point is that so if this right hand side is close to there, the efficiency is maximum because we can expand the volume very much for unique entropy production. So this term becomes zero means that so the system is in equilibrium therefore maximum growth efficiency is achieved at the near equilibrium. And finally so we can obtain the heat dissipation representation. So this is a heat and also we can obtain the chemical and the mechanical work. So this is total work and this is chemical work part and this is mechanical work part. And so this is very reasonable because here this is external pressure and this is expansion of the volume therefore so this is a mechanical actually work that the system does to the environment. Okay that's all of we derive in our work. So let me discuss a bit what's missing in our story and what we have to do in the future. And actually so we assume that old catalytic reaction is the slowest. So this means that the old catalytic thing is the limiting step in the system. However it could happen that diffusion or volume expansion is the slowest. When the if we think about the real biological system so the real biological system we have transportation system is transportation between the system and the environment is very slow. Then so diffusion or volume expansion would be the late limiting. In that case we have to consider that situation by switching the role of reaction and also diffusion in our framework. And also in our theory we assume that the external pressure is constant. This means that the tension of the membrane is constant irrespective of the size of volume. This is sound unrealistic if we consider actual biological cell like this. And so yes tension is generally a function of volume and also the size of the volume of a cell usually changes by the synthesis reaction of the membrane. So in this case we have to consider coupled some dynamic system that involves self-replication and also the generation of the membrane and also that expansion or shrink or something like that. So these are what we have to do in the next case. And finally so in the second assumption we excluded the possibility of usual non-equilibrium steady state. Actually non-equilibrium steady growth state that origin is the extensivity of entropy function. So if the concentration is the same then so from the extensivity so we have so these two are the same. So this extensivity is the origin of the kind of eternal expansion. But the usual non-equilibrium steady state come from the kind of cyclic flux so we have to combine them. So to do that we need new types of non-equilibrium chemical reaction theory that can handle both usual non-equilibrium steady state and also this kind of volume change. Actually so we are very much interested in that kind of extension. To this end so what we are now thinking is that geometrically behind some dynamics is very important I think. I'm from applied mathematics so for me so this time so I learned a lot about some dynamics from my collaborator. My collaborator is a specialist of some dynamics and so to me the equilibrium and also non-equilibrium thermodynamics are largely related to the convex optimization problem with complex constraints mathematically. Actually in our case so we consider the dual space of the extensive variable concentration and also chemical potential. So this dual relation is induced by the general transformation of some dynamic function phi so this is convex function. And from that so difference of total entropy can be described very generally by the Bregman divergence. Actually so we are in another work here we are working on extending this kind of picture to non-equilibrium situation so in which we consider another dual relation between some dynamic force and some dynamic flux. So now so we have the dissipation the on-server's dissipation function. So this dissipation function induced the Legendre duality between F and F force and flux. And in non-equilibrium system so these two things so this is equilibrium some dynamics and this is non-equilibrium some dynamics. They are linked by very fundamental equation of continuity equation and also gradient equation. So in order to understand this kind of complicated structure it is fundamental to use the word of geometry. And then actually this is the geometry so what we need is a geometry of convex function and the Legendre duality. That is the information geometry some of you know about it. So this is very useful to understand this kind of structure. If you are interested in this kind of things so please take a look at our other paper we published in very recently. Okay I'd like to thank my collaborator and also funding agency. Thank you for your kind attention. The extensivity that you're assuming right? Yes. In thermodynamics and statistical physics we usually get that from assuming that boundary terms are being neglected. I could just say the last part again. The convexity that we get or the extensivity that we use in statistical physics is basically because of neglecting boundary terms. That's the reason why thermodynamic quantities are extensive. The crucial thing I always thought in self-replication and this has always been a conceptual problem for me as to how to actually mathematically model replication is that there's a discrete event when a cell closes off from its daughter. Alright. And there's an information content to this because there actually has to be information on both sides of this barrier being you know shutting. Yeah. Right? Yes. I've never been able to disentangle how one could talk about entropy and thermodynamics without disentangling this you know absolutely essential information partitioning. Okay. Right? Because there is information that is being put in that roughly half the contents especially the replicating part of the cell contents have to be roughly equally distributed over all the parts. But if the system is uniform sufficiently then. There's no living system that can be uniform because there is a specific quantity that is carrying the information that allows. Like DNA or something like what you mean. Okay. Yes. So there's a very specific how should I say obstruction to extensivity. You know what I'm saying. Yes. I just thought about this because this is kind of the first thing that hits you in the face if you try to model replication is that irreversible thing of the membrane contracting. Right. Yeah. Actually so and so our salary is not enough to obviously our salary ignore that kind of program. So we just focus on how the volume can expand. But that's it. That is necessary condition to realize the self-replications. Yes. I really very much interested in your point. So but that kind of thing. So we have to have the kind of stochastic some of them that we we need because the we have discrete number of molecules. So this is this work is based on the macroscopic some of them. And therefore we need to have. Yes. But very, very. Yes. Yes. There's a wild conjecture. There's a wild conjecture that in your steady state growth condition at some point you get to a metastable state. In other words your Legendre function is it's no longer convex. Okay. Yes. And that's when you have to the metastable state collapses to two separate replicates. Yes. That's the way I would envisage your beautiful growth dynamics of interfacing with replication. Yeah. I'm very curious about that kind of. Yes. Sorry. Maybe I think the good toy model is kind of self-replicating self-spontaneous dividing trot cell or membrane. So some experimentalist find that kind of reaction. Therefore it would be nice to play with that kind of very basic physical model to answer that. Yes. I'm very much interested in that. Okay. If not let's thank the speaker again.


In this video, we will talk about correlation matrix using Pearson correlation coefficient. So, if you remember, we discussed about students marks in subject A and subject D, we used stacked bar chart or a bar chart to compare or box plot to compare these things in descriptor antics. Let us look at the same data. We have 60 students marks in a subject A and subject B, same students. So, we can plot the relationship between subject A and subject B. You see that student who was going good in subject A definitely is going good in subject B. Actually, I created this marks with a linear relationship say 0.93 into subject A. If you just compute 0.93 into 65, it will come like that. So, I created this marks to show that is a linear relationship. So, it is a linear relationship and it is perfect and it will be one like positive one. And you know there is a strong relation between subject A, the student who scores good in subject A that is math, they might definitely score good in science. This can be established. Let us look at the other example. We saw we have attendance and midterm marks and the final marks in the semester. Now, we have a two independent variable and one dependent variable that is you see this is x1, x2 and one dependent variable and two independent variable. We can compute the correlation between these values like what is the correlation of between attendance and final marks and what is the correlation of midterm marks and final marks. Let us look at that. So, consider column 1 is attendance. So, let us and midterm mark final. This matrix is created using Excel. The simple tool available in Excel can help you to do that. So, is there a relationship between column 2 and column 1? Yes, this two relationship x and y highly correlated 0.9. Is there a relationship between column 1 and column 3? That is 0.84. This is the correlation coefficient between attendance versus final marks. If the student have more attendance, it is highly likely scores better score compared to students who has low attendance score. And so, this is the self correlation like attendance versus attendance, midterm marks versus midterm marks, final marks. Obviously, it is one issue to the self correlation. And if you know that, if you know the diagonal part of this matrix. Let us look at that. Column 3 versus column 2, what is the correlation coefficient of midterm marks versus final marks? It indicates 0.8, it says if the student score good in midterm or like in a midterm or midterm exams, it definitely score good in the final exams. So, that is a final exam score. So, this is the correlation matrix which tells you the x1 and y1, x2 and y1. What is this is the correlation between attendance and midterm. This may not be correct because the midterm would have done till the first half of semester. Attendance should have data till the final just day before the exam. Or we do not know when you have attendance, may be first half of semester or you have attendance just one month before the final exams. But given that assumption, you have attendance till only the midterm time, attendance and midterm marks has a high correlation, it is a 0.9. Now, there is a question comes in, there are lot of questions. If I want to create if I want to create a simple classifier, should I use both x1 and x2 to predict y1? Or should I use any one of them? It is a very interesting question. The reason is you see there is a high correlation between attendance and midterm marks. Because 0.9 is very high correlation, if the student have more attendance definitely has a more midterm marks. If it is less attendance, let us let marks in the midterm exam. So, there is no point in picking both variables for our research, for our creating the classifier prediction predictor analytics methods. Instead, we have to pick one of them. The general approach is we use the one which has highest correlation with the dependent variable that is column 3 with column 1 that is attendance. Since it is very simple, since attendance and the midterm marks are highly correlated. So, since they are correlated, we can pick one of these features for the classification of predictor analytics, which one to do that depends on how much they are strongly correlated with the final marks score. I would choose, say we choose the attendance because attendance 1 is strongly correlated with the minus score compared to the midterm marks. Midterm marks also good, it is strong. 0.8 compared to 0.85 might pick 0.84. So, I will choose. So, attendance to predict final marks. So, that is what I will try to do. The reason is I will I will try to use the best independent variable which is correlated with the dependent variable for creating classifier. For these two values, it is easy to predict. For example, since there is a like correlation between attendance and final marks, it is simple. You just have to create a simple if else condition or some filtering criteria to figure out whether the student will pass the exam or not pass the exam or student will, how much student will score using regression or something like that. Consider you have more than say 2, that is you have x1 up to x10. Like you have assignment score, your midterm marks, there are the number of the attendance, the engagement level in the class, there are responses in the discussion forum, you have a lot of other information available from the classroom environment or some other learning environment. If you have that kind of information, then having all these features to predict is maybe a problem if you want to reduce the computation time. So, you can do the feature selection algorithm. One of the algorithm is doing the correlation between independent variable with dependent variable, then picking the strong correlated one and also ignoring the values which is highly correlated like the independent variables who are highly correlated can be moved out. This is one technique which is used very widely some time ago. However, due to the advanced classifiers, we do not really care about this how to select these features to predict Y1. Instead, we use other techniques which are available in the tools. We might see them when you are using the tools which help you to pick the right features for prediction. But still, it is very good practice if you want to go for prediction, try the correlation method with the correlation matrix that might help you. Also, the correlation matrix if you have say 10 columns might help you to provide a relationship between each independent variables and how it is related, how these variables can be predicted using the values given in the correlation matrix. So, I would recommend if you have more than one variable, one independent variable, go ahead and complete the correlation matrix to get a sense of the data and see how they are related, is there any linear relation between these two variables. You saw correlation matrix in previous slide and I hope you understood that. Let us do a small activity. Given the four plots, you know X1, Y1, X2, Y2, X3, Y3 and X4, Y4. Given these four plots, can you guess the correlation coefficient of these charts like chart 1, chart 2, chart 3, chart 4? Can you guess this? Also, if you guess it, what is the inference you are making it out of this correlation coefficient? In order to do any calculation or something, just guess it, just try to guess what will be the value. This data is from paper. So, this is the cited paper. So, all of them have a same correlation coefficient. You might have guessed it correctly if it is good. All of them have a same correlation coefficient, Y. In last video, we talked about drawbacks of Pearson correlation. This actually example gives you all the details of that. Let us look at it. The first one, X1 versus X2, it is scattered around a linear relationship. So, there is a 0.81 relationship. It is 0.816 is good. This is not a linear relationship. X might be a linear but Y is non-linear relationship with X. Still, it is correlation coefficient 0.86 because there is a line which can fit all these lines, these points. So, here the drawback of Pearson correlation that non-linear relationship is not identified here. If it is good, correlation coefficient, you should be able to identify non-linear to also. But unfortunately, there is no any metric which identifies this non-linear, this kind of non-linear relationship very accurately. Here, the correlation, if you remove this particular point, for example, if I remove this point, there will be line, it will be an exact positive one. Because of one outlier, only one outlier, the value is less 0.816. So, the Pearson correlation coefficient is sensitive to the outlier. How sensitive? That is this defined, explained in this particular figure, look at this figure. And if you remove this outlier, absolutely, there is no correlation between X and Y, it is 0. There is no correlation coefficient. It is not increasing, it is just simple 0. Because of this outlier, the line connecting these two is perfectly matching because this value is high and this is good. The value is 0.816. So, this tells you the Pearson correlation coefficient is sensitive to an outlier. This tells you how much sensitive it is. And this tells you, Pearson correlation coefficient does not consider the non-linear relationship. So, that is the typical figure which explains the Pearson correlation coefficient, also its drawbacks. So, in this video, we saw what is correlation matrix. And we saw a plot which explains the drawbacks of Pearson correlation coefficient. Thank you.


Everybody forced here ripping 21 22 tier 1 Bundesliga soccer hobby 12 box full case number 3 random team style break There are the results. You can always find those a latent sports cards calm Thank you very much everybody for joining it. Good luck last case daytime again cases 4 and 5 are on the schedule for tonight They do have spots available It's been a fun break so far And if you like trip some for personals we have those in stock as well late in sports cards calm 109 99 free shipping top of your hits Magany thing big for you And we have ship sealed options as well. You'd rather rip it yourself Dad you guys hear that Sean is a man city fan the first match you ever watched completely was the man city Holland second half hatch right from last weekend He's like all right. I'll be a man city fan. He didn't know that He hopped right on the band He chose he chose the Golden State Warriors of that of the EPL dude Nordy Mukiella life-sick relic 77 of 127.  I thought that was funny. It's still early. I could change it up Nah, I just roll with them. You'll have fun. You'll have a lot. You'll have a lot to enjoy Nice hit here for labor Q's in Zidane serdamir That's not the rookie logo, but that is a rookie auto 43 of 50 nice serdamir Ball magnet auto not sure why doesn't have the rookie logo on this one nice serdamir labor Q's a good start for you You found out you found out watch you found out who early Holland was super quick though Yeah, I did they're like I'll do this super blonde Norwegian. Just Just destroying defenses single-handedly almost The brood yes, the brood is incredible Crazy life-sick jersey ameel forceburg 31 of 127. Yeah, I don't change now if that's who you want to root for That's who you're for man. It is what it is. We're in the u.s. I don't have at least anybody, you know Labor Q's in relic Jonathan top 60 of 127 Like people from other countries choose like a baseball team. They always choose like the Dodgers and Red Sox your Yankees or something like that You know, so Jonathan Todd there Haufenheim auto Florian Grilich 33 of 100 Florian Grilich and a Freiberg auto as Nico Schlatterbeck 20 of 50 It's fun man, I love it's really good really good. I watched him yesterday Chelsea lost again Relic card for Dortmund to Marco Royce 32 of 127 nice Royce next up is a Makoto has save a auto for Frankfurt one of 50 and Byron a rookie auto Christopher Scott 71 of 75 Go by with the rookie auto. All right. Let me refresh here. See how we're looking on spots Some more teams going on select Luminance six box number four Is sold out so two luminance breaks for daytime still remaining six box random team number five and six box random team number six 15 and 17 to go after that it'd be select down to four on the first select What should be six box number 24? Spots are moving in everybody from world football to American football rookie relic for great your fourth is Jamie lowling Other Haufenheim hit here Christoph Baumgartner 33 of 100. I feel like we've been pulling bomb gardener autos all day had at least one in every case and Eight of ten a red auto munching gladback Luca Nets Luca Nets nothing but Nets and Again, these are in stock for personals on the site Personals start after group breaks tonight. So probably around midnight Eastern. They are 109 at 99 free shipping worldwide We're working live for you or shipped sealed to you Relic card for Frankfurt Christopher lens 103 of 127 low numbered auto again Wolfsburg this time Sebastian Bornau Three of ten red auto Sebastian Bornau like a box five is a Bolsham auto Maxim Leitsch Maxim Leitsch 27 to 50 one thing. We'll keep going here Good day lot of releases. Hey, man You got optic on Friday as well optic basketball. That'll be a lot of fun Dortmund to relic as Felix Pasleck 83 of 127 nice two-color Dortmund But the sleeve there looks like Bolshamurky auto Armel Bella coach at 60 of 106 and Byron auto Robert Leventowski five of 25 boom Heck yeah There you go. Byron. That's can go tee 11 dowsky auto There he is beautiful hit five of 25 11 dowsky. We'll get that mag for certain Beautiful, maybe the best in the world currently. I don't know tough to say Tough to say great hits. Congrats again. Can go tee. All right dual relic for Frankfurt Martin Hintzeregger 21 of 25 Munchen Gladbach auto Marvin Friedrich 18 of 106 Wow Byron Crush in the break by an auto again this time. It's Tomas Muller 45 of 50 Crazy can go tee back-to-back boxes crushing at my friends So Maas Muller on the auto there 45 of 50. It does stink that Holland won't make World Cup Come on the real way Get it together cool and the relic Mark Ooth 31 of 127 Relic auto for Augsburg Ruben Vargas 10 of 10 nice hit Augsburg and FSV mines rookie auto Anton stock 30 of 50 you go mines nice stock purple rookie out of there Let's see bangles just went Bangles just went in at number 25 for select Nice And guys on the luminance after this our first look at luminance this year Just released today Relic car for Byron Munich is Kingsley Coleman 58 of 127 I'm gonna come out auto on truck from first 42 of 127 a Coln auto Sebastian Anderson 51 of 100 Anderson there and a nice hit here for Leipzig is a Willy Orban auto 49 of 50 like sick Moving right along Reboxes left. Sorry guys. I'm checking something out real quick Relic car for Union Berliner Shereldo Becker 25 of 127 Rookie Raleigh car for Leipzig is Sydney Ray Bigger 83 of 127 Nice two-colored relic there for you Leipzig. That was a good break Augsburg auto is Jeffrey Gouelou Gouelio That's a tough one. I'm gonna have to practice that one 18 of 106 for Augsburg Jeffrey G. Not Jeremy Jeffrey And a Frankfurt auto Martin Hinsrager 6 of 25 Hinsrager probably easier than I'm making it A lot about Wow Andre Silva one-of-one triple relic Leipzig Beautiful Red Bull logo relics Heck yeah, congrats on the one-of-one Leipzig Dude these the Leipzig Red Bull logo relics are absolutely awesome Grant W Grant W on that one Heck yeah, dude. That's awesome God's Beelfeld rookie auto Florian Kruger 50 of 75 Munchen glad-back auto Marcus Dorm one of 100 and last box of case number three That Gabriel Vito vitch Ricky Raleigh providing me an 83 of 127 Augsburg rookie auto Lasse Gunther 20 of 25 Low-numbered rookie auto there and her to Berlin auto on the back is Lucas to Sartre 12 of 100 Lucas to Sar One second, and we'll do a recap. Thank you very much everybody luminance football from the next American football And if you're watching on tiktok link is in the bio all in a release available for personals tonight as well. All right, we got Excuse me Byron relic Gabriel Vito vitch Leipzig Sydney Raviger Union Berlin Shereldo Becker Byron Minnick Kingsley Coleman Frankfurt Ansgar Knoff cool mark Frankfurt hinter Eger Dortmund Felix Passlach Frankfurt Christopher Lenz Few more relics here. I'll write that fourth Jamie leveling Dortmund Marco Royce Leverkusen Jonathan Tau Leipzig Emil Forsberg and Leipzig Nordei a Mukielle autos now for her to Berlin Lucas to Sartre Augsburg Lasse Gunther Beelfeld Florian Kruger Munchen Glabak Marcus Thorum Frankfurt Martin Hintzreger Martin Hintzreger Augsburg Jeffrey Jeffrey G. We'll call life-safe with the Orban Colm Sebastian Anderson No De Bruyne is De Bruyne is in a premier league past seven years, this is Bundesliga tier one got mines Anton stuck Augsburg Ruben Vargas Byron Tomas Muller auto I sit there Munchen Glabak Marvin Friedrich Bochum coach at rookie auto Wolfsburg born out of 10. What's that Mike? Bochum had this Maxim Leach Look at nets for a Munchen Glabak to 10 nice low-numbered and look at nets a Baumgartner for Haufenheim to 100 Byron Minnick Christopher Scott rookie auto Frankfurt Makoto Makoto Hessebe I'll slaughter back for Freiberg on the auto Next one is Haufenheim Florian Grilich Larry Cusin Zidane Sertemir Nice hit there. Don't know why it doesn't have that maybe this design just doesn't have the rookie logo on it Nice Sertemir though. Congrats. Larry Cusin. We got Munchen Glabak the Matthias Ginter auto And we had two magnet cards the one-of-one triple Red Bull logo rally for life say is Andre Silva and For Byron a Robert Lewandowski auto five of 25 Good stuff, man. A lot of fun case breaks so far run to luminance football


This week the paratroopers Robert Vermillion of the United Press would like to see you colonel the million oh Vermillion. Yes. Yes. He covered the campaign in Italy. Didn't he yes, sir. Well, send him in yes, sir now mr. Vermillion Thanks. How do you do colonel? Hello, Vermillion sit down. Thank you, sir Well, what's on your mind another scoop for the United Press? Well, sir, not exactly I'd like to go along with your paratroopers on their next mission soon What makes you think it's going to be soon? You've been receiving a lot of reinforcements lately at this air base. Yes. Yes Well, Vermillion, I'll keep you in mind. That's all. Thank you colonel Excuse me for saying it mr. Vermillion, but you're nuts Who isn't you want to jump out of a plane for haven't you heard that a paratrooper holds his life in this thin silk shoot once Lipping your agonist. Haven't you heard Phil that the Lord rewards the daring and nuts By the way, what are you doing jumping out of planes? Yeah, but I'm a paratrooper. I got training I got the know-how the know-how for me. Yeah, what about you? How many times have you jumped out of a plane? Huh, come on quit stalling you heard me the first time how many times once twice three times How many times have I jumped from planes? well none Well captain, this is what we've been waiting for. Yes, sir. It's good news Before I forget it better send in that United Press correspondent, huh? Robert Vermillion. Yes, that's the man Thirsting for a little excitement after what he went through in Italy. Yes. He wants more this time. He'll really get it Sit down Vermillion sit down. Oh, yes, sir There seems to be a lot of activity here. Never mind the activity. You still want that action. Well, sir Things have been kind of quiet lately. Vermillion. We're moving in on southern France Southern France When sir 2 a.m. Tomorrow morning Our job will be to pave the way for troops landing from naval and airborne craft. I'd like to come along sir All right Vermillion See captain McCall He'll give you all the instructions he can but to have you long for million. Thank you captain now before we issue your equipment You'd better get an earful of my 45-minute paratroop training course Okay, when do we start right now? First we'll go into the parachute shed What's in here parachutes make sense doesn't Some shed think you're ready for your first lesson sure sure I can take it good man. You see that over there Yeah, that's a parachute You put it on like you're putting on your overcoat Some overcoat any questions, you know, I wouldn't know enough about it to ask any questions So far so good Be sure to put on your parachute before you get into the plane. Uh-huh Otherwise you'll break all records for bouncing off the ground Yeah, that is a good idea captain the record now the parachute Yeah, you said it Now once you get into the plane you're gonna find it pretty crowded with guys wearing parachutes like yourself and Unlike yourself carrying rifles automatic pistols sub machine guns 60 millimeter mortars and a few hand grenades At all no not quite We also carry signal and demolition equipment the captain. What about the chances of? survival a trifle risky But you see we're always supported eventually by reinforcements from land air or sea Who's gonna support us in southern France? I'm not sure, but I think it'll be the airborne troops Now where were we?  Forget the guy behind you'll kick you out. That's all Everybody here captain. Yes, sir. All here. All right men. All right your attention, please You have been chosen to spearhead an invasion which may break the enemy's back We're going to hold until hell freezes over a password when your land is Charlie Jack Now one more thing I want you to know how proud and glad I am to be with you Well, man I'll see you in France God bless you all Everybody in captain. All right, sir Well, what do you say men? Everybody happy Like flashes up the end of the cabin. That's the signal to jump understand. Yes, sir Now I'm going first you follow me. Okay Stand up and hook up the propeller blast sees me sweeping me beneath the plane's tail Then came an agonizing shock as my shoot open I felt as if I're being torn to pieces Green red and yellow lights flashed in my head like a high score on a pinball machine a moment later all motion had ceased I Seem to be hanging in midair I was falling fast Going down to push me out See of a million. Hello captain so far so good. I guess we're all here Let's get going funny Where over there the Frenchman we miss you will you tell us what you know about Americans We knew you would come what can you tell us of enemy force in this area? They've all gone into the interior. They're going to join forces in the north Beat that a crouching site. I'll be dark on Yeah, that captain, huh? Sounds like planes to the south Plains hundreds of reinforcements. We'll need them later minutes. We stood in awe watching one of the greatest spectacles of the war a Great fleet of transport planes and gliders dropping troops into the it was one of the greatest shows of sheer airborne power Anyone ever saw There's more and more came roaring in without drawing a single shot The colonel said in the low boys What a sight It's all my heart can stand makes you feel good doesn't it mean good Captain it makes me want to sing the star-spangled banner right Right thing to paratrooper the story of the airborne invasion of southern France has seen through the eyes of Robert Vermillion Other United Press correspondents are on the world's battlefronts ready to flash you the news whenever and wherever it happens We will present another in this thrilling series soldiers of the press soon be sure to listen Meanwhile look for United Press dispatches in your favorite newspaper Listen for United Press news on the air It is your guarantee of the world's best coverage of the world's biggest news


Amherst is our history and there are a lot of buildings that we never become a local historic district but there are a number of buildings from the 1700s it's the oldest part of town which we would do well to ensure are not taken down that there and it doesn't mean that you cannot have development I mean that in the district the East street school it would be built there so they're trying to help Amherst retain a destination Amherst in large part is all about is in no way precluded by having a local historic district there is development and new building in local historic districts all the time but you it would be harder to take down you know the 1700 I'm forgetting the name of the tavern where the bacon or the JCA building in no way precludes new development or expansion of currently existing structures Anna so um the goal of the group can be what it is but my question for I guess I'm going to just put it out to the group and I think it might be Jennifer is the most experienced in this aren't the qualifications for determining whether something is historic or not and should be in this registry based on state or national standards it's not something that this group gets to pick thank you Jennifer is nodding for the record so it's not something that this group is going to be determining qualifications that something will then count as historic and can never be touched and I am supporting putting this back on the list for exactly the reason that was stated which is that the governing document is not the application but the contract that is entered into that the town is a part of and town staff are part of historic protections don't prevent demolition of historic structures my house is a really prime example of this I live in a really old house no historian is going to fight me if I said I wanted to knock it down because it's just not it's cute little spot but it is not going to be you know in the history books here so I think that I'd like to hear I would like to hear from I think Dave maybe about the benefits or drawbacks to this from a town perspective without agenda for development or non-development but I if you're able to do that David I'd like to hear it or Paul I'd love to hear that but I just again this group isn't going to get to decide whether something's historic or not that's that's not what this group gets to do no matter who's in the group I'm going to call on the town manager thank you so many of you may know that I previously had worked at the Cambridge Historical Commission which is a local historic preservation commission I walk through this area a lot and I'm I think that this area needs to be examined it's the historic center of the town of Amherst there are a lot of buildings built in the 1700s and early 1800s in that area that are constructively being demolished because they're not being maintained this this so I think that the town should be proactive in looking at this area and that's what this is a very very very first step is to examine the buildings that are in that this in that area ultimately it could become a local historic district that's again a vote of the council to even begin that process in terms of establishing a history if we're going to a local historic district a local historic district study committee and there are rules about who has to serve on such a committee so I think that I totally understand the concern about the language historic preservation it should not be used as a tool to prevent development but there are every historic district commission every historical district has what they call intrusions in national registered districts they're called contributing or non contributing buildings and those are generally just exempt from regulation in that situation so but the goal of this is to look at the assemblage of buildings that are in that geographical area and provide a modicum of preservation for them but this isn't even there yet we're just saying like what's there that's what this money will do is like inventory the buildings to a survey of architectural history on this area and see what's there and see if it's if there's enough evidence historical evidence to support the next step which be to establish a study committee David you had your hand up I gather you don't feel you have anything you need to add at this time the only thing I would add Lynn and Paul said it very well just a moment to go you know that staff is squarely behind the proposal for the assessment for the study of the buildings it's unfortunate that some of the village in the proposal has has you know you know and it does here here tonight and brought us to this point but essentially this is really just this is a study of the building of the architecture of the history of these buildings the land you know how we ended up with the land use and the the buildings in the configuration they're in in this village and that's will lead to other work in this long process so staff is squarely behind the study itself and as Paul said the contract will determine the scope of the work for the consultant George so just to clarify if that's possible um if this motion goes ahead this particular item is going back to CPA then they're going to go back to the sponsors to see if they'll change the language and then it will then come back to us for a vote is that at the moment where we stand that would be the at the moment that is where we would have to stand because the way the motion is it excludes this project if we were to put this back in since what we're hearing from staff and from a number of other speakers is that there is general support for this in spite of its intemperate language then it would just go ahead could we make a motion to I would like to make a motion to reinsert this item back into the original motion and have it go ahead as it originally was presented to us could I do that yes you can Athena is there any particular way you want that motion worded not the way I said it I know I'm going to amend to change the appropriation amount to 1,855,136 to reinsert the East Amherst local historic district under historic preservation in the amount of $20,000 with the funding source of CPA UDFB and to change the less projects recommended above to 1,855,136 dollars and the remaining UDFB for debt service to be voted in the general fund $520,250 George so moved is there a second second by Rooney who would replace would be proud to replace her original second thank you may I speak to the motion please I understand that some people are offended by the language I too have a language but I think it's really not the point here this is a good thing it should be done staff sees it should be done and what really has pointed out what matters is the contractual language so I think we should just go ahead and I hope you'll support the amended motion are there any other comments at this time is there anybody that Kathy I'll just make a quick comment because I was on the finance committee I support what George has just said and particularly the fact that staff will be writing a contract I think it doesn't matter what the original proposal wording was that there is a body of work to be done and there's a need for it to be done thank you are there any other comments yes Pat I'm going to quote Humpty Dumpty Humpty Dumpty said when I use a word it means exactly what I choose it to mean nothing more and nothing less and those words carry meaning and intention that I think is inappropriate are there any other comments there's an amendment on the floor the amendments been made and seconded the amendment would restore this project to the financial order I'm not going to go through the detailed wording of the amendment I'm going to leave that to the clerk of the council are there any other comments okay we're going to vote on the amendment and after that come back to the original motion Councillor Ette aye Lynn Griesmer is an aye Councillor Haneke no Bob Hegner Councillor Lord I'm going to say absent Pam Rooney yes Councillor Ryan aye Kathy Shane yes Andy Steinberg aye Jennifer Todd yes Councillor Walker yes Pat DeAngelis no Anna Devlin-Gothier aye it passes unanimously ten in favor two opposed and one absent thank you ten in favor two opposed and one absent I didn't I'm sorry about the now we're back to the original motion and I have my hand up yes I would ask that we split out that particular project from the original motion we pull it out from the original motion so that it's two votes okay so that the original motion is going to be passed the financial order the way it is present and then we're going to vote separately on the financial order on a motion to yes you want to split the motion sorry it's a motion to divide is that possible so Mandy is making a motion that we will then vote on yes she's making a motion to divide I don't think we need a second and a vote to divide okay thank you that's exactly what I wanted to do but we need to know which part the council will vote first okay Mandy Jo did you have your hand up I'm asking to divide out the east Amherst local historic district line understood do you want the council to vote on that one line first or the rest of the funding first yes go ahead and vote on that line first do you have a motion for that one point of order I really say point of order but don't we have an amended financial order on the table don't we we do have an amended now we have to vote on whether or not to divide we have a financial order amended financial order on the table the request has been made to divide that financial order into two votes and are we going to vote on that motion no we do not have to vote on according to Athena we don't have to have a second order vote on the motion to divide not on a motion to divide so basically a request to divide so the council can vote the appropriation the order without the east Amherst historic district and then it would be another vote on the east Amherst historic district I'd need a minute to change the order to have two separate orders if you want to do it that way or you could just vote and I'll create two separate orders afterwards let's do it that way please okay so let's do the first one on the east Amherst historic to just local historic district point of order I don't know what we're voting on okay we voted first of all we did vote the amendment the amendment put that back into the financial order then councilor hannacky has requested that we divide the vote on the financial order into two votes one is a vote for the east Amherst local historic district by itself and the other is for everything else okay but the original its order was amended that there's a motion to write for the amended version of the order correct to be divided the current order that's in front of the council that's on the floor the motion that's on the floor is a motion to adopt the order appropriating the community preservation act budget with the east Amherst local historic district line because that was the amendment was to add it back to the order that's what's in front of you now councilor hannacky has requested that those things be separated that's what's in front of you now council vote on everything but the east Amherst historic district and then the east Amherst historic district line is a separate motion there's a motion on the floor that we're going to take as two separate motions okay and so are there other questions George you have your hand up I don't think so okay so let's vote on the east Amherst local historic district the same page I just want to register when I checked a motion to divide should be voted on when I just looked at the general rules out there but I'm willing to do this for the purpose of time but okay I frankly chaffee I thought a motion to divide had it be seconded and voted on and just so everyone knows in our packet we have the original financial order not just the one with the strikeout so okay I'm willing to do it because I want to move on crazy okay are there any other questions or comments yes George sorry I understand a motion to divide is a courtesy to another counselor so I think that's why it's probably not debatable so it's just a courtesy if someone asked to divide the motion as a courtesy you allow them to do that the motions are still before you to vote on but as a courtesy you do that thank you all right we're going to move on with this time we are voting on only that line item of the financial order okay yes the east Amherst local historic district in print study committee okay Lynn Griezmer is an I counselor Hanna keep now Bob Hegner I counselor Lord absent of Pam Rooney I counselor Ryan I Kathy Shane yes Andy Steinberg I Jennifer top yes counselor Walker yes pat de Angelis no Anna Devon got here I counselor Ette I the vote is ten in favor to oppose one absent we go back and now we are voting on all the rest of the financial order okay any questions George your hand is still up all right this time we're going to begin with counselor Hanna key I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I