Hello everyone. I'm happy to be here and today we will talk about Long Hong. I'm David Koh from SUSE. Test? Oh, I'm Josh Amoudi. I'm from SUSE too. I'm a software engineer at SUSE and I am one of the Long Hong maintainers. Yep, so let's get started. So firstly I will talk, we will talk about a few parts but of course we will talk about Long Hong. What's the Long Hong? And general feature list and how the community status right now and story and roadmap for sure. And of course recently we have some release update. So information I will share with you guys. And then next we will talk about Long Hong inside to more about how it works like control plan, data plan, and even some major functionalities, snapshot backup stuff. And of course people will concern about or have a curious how would care about the disaster recovery. So this part will be covered as well. And of course non-disrupted migration is also part of it. And lastly we talk about what's next, mid-term and long-term plan for Long Hong. Okay, Long Hong basically is a highly available software defined storage for persistent modeling. So he's a provider bought device but on top of it you can provide a file system as well. So have a different scenario depending on your use case. And it is lightweight, reliable. What we said is because all the things we don't really rely on the external stuff like databases or other other service, we just rely on the Kubernetes resource. So and also the installation way is very easy, no other supported dependency. And the major thing is the persistent modeling. So different type of modeling mode and SS mode we do provide by Long Hong like a device and the file system for SS mode we have a rerun and rerun many. Maybe some of you use a Long Hong, we're curious about the rerun many when we will get it to the general available. I would say it will be soon because at by end of this year we have a one folder release including we'll make the rewrite many GA. I will talk about it later. And next storage agnostic. So because we want to make the Long Hong easy to use so we don't let the user to worry about how to measure Long Hong this stuff. So any kind of host file system support or tent sparse file can be used by Long Hong. But right now very by our team is the ESD4 and XFS. And this one let me in the user you can just rely on what the file system you have and use the Long Hong directly. And of course not just in cluster we also support out of cost stuff. So it's the billing function and you can back out your volume to ESD4, XFS and S3 compared to our server. And also I will talk about more new stuff in one folder about system backup and we'll talk it later. And of course it's Kubernetes design implement. We just focus on the CRD and control pattern. Nothing else. So it's very straightforward. No other dependency. And right now it's owned by C&C open source project and also become the incubating project of this year. The feature is I don't want to go over all the items but I want to highlight some major items here. So the first one a volume because Long Hong can provide simple vision. So let you leverage your storage usage efficiently. And also we have in cluster stuff station out of cost backup restore and of course some clone expansion based on the CSI protocol. So all the things you work on your volume based on CSI you will work well with the Long Hong. And security stuff we provide the volume encryption in the current versions addressed in transit based on the current long architecture. And if you talk about the replicas, the volume data we have different scheduling strategy but simply say we provide pros, no, and software anti-affinity for no level and also auto replica rebalancing. This one is actually for if your cost have a no download up we have some marketing to make it a replica can rebalance. And storage attack is also the way to let you manage your no and this can use you well for your warlord and volume usage. And about disaster recovery, cross discovery, this is one thing we will talk about later and live migration. And of course for the backup restore external we have for the user feedback we have a policy base so you can define your recurring job for in cluster snapshot or external backup. And one thing I just mentioned rewrite many we will make it GA by end of this year. One for Zell Reads together with ARM64. ARM64 we already support experimental feature however we are not very confident before because we did not run the full regression on it. But right now already integrate into our testing pipeline. So the testing coverage is the same as AMD64. And UI yeah UI is a simple way you can operate but right now we support CRD admission webhook this kind of stuff so the interface will be more than UI. And talk about the community and momentum for Longhong. And Longhong is a long history but along the Kubernetes growth we also grow together and right now the stuff for sure is keep growing and enterprise usage especially we have a kiosk this time and here some feedback from the users and some users have a different scenario usage and also we have some telecom users as well. And we have a matrix we know right now there are more than 17,000 nodes running Longhong already keep growing and if you compare with the three years ago we don't have the sensitive part to sensitive it's right now already grows 23 times. Yeah this is a matrix we just collect like the middle of October so it's keep growing if you if your base is a goal like 92 percent. Yeah let's talk about the resident release. We don't have a release right now but we just have a release 1, 3 in June and this one we did not highlight a lot in the previous Qcon. So this one this page can give you understand what are the functionality major items in 1, 3 and we have we introduced admission and the conversion webhook for the Longhong resource v1 beta 2 so that means you don't need to worry about if you use v1 beta 1 we will automatically do the conversion so this is different from some other solution you need to prepare some work if you migrate to the next version of a resource and storage network some people from the community as well they want to match the the data plan the traffic can be separate from the control plan so storage network right now with their leverage based on the models you can define your your network so met our data plan come components order traffic to the second interface so this one and also some people from the user they use Longhong on the cloud a special public cloud and they are want to see is anything we can support like cluster auto scaling and also some no pool support and previous we have some trouble because different public cloud have a different strategy for their no pool management and also cloud cluster auto scaling have a different mechanism we don't respect it but right now in 1, 3 we have this kind of seen support and I I think you can give a try because right now we still muddy the experimental feature because we want to know more feedback from the users and yeah Snapshot Snapshot will be will be involving the space usage so we want to do more about the Snapshot purge to make sure the space usage much efficiently and right hand side we have a CSI Snapshot a CSI Snapshot is a feature already but only focus on the external backup volume backup but right now for Longhong we have in cluster Snapshot as well but we want to have a user the same user experience so user can use a CSI Snapshot to in cluster Snapshot or external cluster backup and backing image yeah also volume is not just raw data you can based on is in backing image to create your volume so you can use the backing backing image as you will backup strategy as well because you can explore your volume as a backing image download and reuse it later so it is a it's a quite efficient for some user spatial virtualization stuff security communication we have introduced the TRS encryption is the option in so you can enable it to make sure the traffic between the control print data print communication about a spatial for the control print commands so you can go through that and upgrade yep again the feedback also from the community that are concerned about the upgrade spend a lot of time so in 1.3 we have some field trainings on the client to make sure the upgrade very fast so if you still encounter some upgrade if you are a user you encounter some upgrade slow still using 1.3 let us know we will see how to improve if still have some issues yep so this is for 1.3 in 1.4 is upcoming release by end of these years and we focus on the data itself and Longhorn is very respect the feedback from the community so all the things actually you see here is a major vote from the community as well the first one left hand side the trim trim volumes because Longhorn is a broad device so he cannot really respect the file system the train to let the use the space free but right now you will we will do that in 1.4 1.4 0 and rewrite many volume GA previously we did not have like a meta service function for the rewrite many our turn is a share manager so you will met if a share manager don't client can come back the data consistent will have some problem but right now we introduce a meta service in our share manager so we will make sure are you when our share manager come back come back the client connection will be keep for keep for the data consistency and backup and restore yeah right now Longhorn have a volume backup restore but it's for volume and in 1.4 0 we will have a Longhorn system backup restore what that means you can have a different strategy for your cluster backup and you don't need really rely on the variable we have a documentation you can use a variable to do some stuff for the Longhorn system backup but this for current so right now in the future 1.4 we don't want to use it to like use a different tool to manage by themselves want just one stop use a service to let a user can can do the Longhorn system backup and restore and bureau protection together with the share chest some right now we we only rely on the revision counter design mechanic in in in our volume it's not good enough because they have a percent possibility to make the data inconsistency so in 1.4 0 we will have a checksum for each nature to keep calculating but not just calculating we have a function you can set in you can enable the detecting so you will make sure the out of date data will be removed and the clone we are reviewed from the healthy one so this is one and together with a bureau protection yeah I'm 64 I just talk about it and kubernetes one 12 25 and people ask about the past security stuff PSP and we are working on that if you are for our github but right now we are ready the PR the code is also merged so you'll be sooner or later but we have for some concern about the backport to the current feature is like a 1.3 or 1.2 so we will want because every reason we will make sure Longhorn will be together what kind of minima version of kubernetes you can support so some different factors considered together one 12 25 support will be happen will happen in 1.4 0 and support bundle and we found some troubles when use user feedback some issues we user can download support bundle but right now the information is not good enough a special longhorn also rely on the host so the new support bundle integration we will make sure this part are much better so when user report issue will be to identify identified by our engineers and online volume expansion the same is a very many people asked and that's why it's local volume local volume we have a data locality are set setting for your volume but it's the best effort but right now many will know it's actually running like a distributed application like a database so local volume the requirement is getting getting hot so we want to make this one to extend the data locality to have a strict enforced mode for that to get a better performance so this one for zero so please expect for the upcoming release by end of this year yeah so this is what I say and recently we have patries for one two six because one of a rarely happen data corruption probably happen so we fix it in the one three two and upcoming one two six so if you are using one two you can upgrade to the upcoming patries okay so next we will talk about longhorn I will brief introduce this slide and later judge what we'll talk about detail the other functionalities data plan how it works so basically for longhorn I summarized the five parts the one is volume and second is life cycle then data placement deployment and control plan so volume actually have a three parts the one is a volume fine right now we rely on ice gauze protocol but we have a different we have a new plan if you join the yesterday we have longhorn with spdk so we have a plan for the next generation data data plan so you can watch the recording if you did not join that and the second one is a volume itself is volume engine I say it's a volume controller and next is the data volume replicots so these three parts and how about longhorn volume life cycle is triggered by the pbc and related customer resource another customer resource is actually building resource and we have a csi side cost building together with a longhorn distribution so you will watch those resources to have a corresponding operation as well of course you we because longhorn is a six to seven years project we have a different interface like a rest for api stuff but we encourage a user can start to use a kubernetes way to have a consistent user experience so data placement uh because longhorn provider uh storage agnostic so it's long this is actually like uh five five on top of host of fire season so it depends on your strategy you can define a different mount point for different long disc and have a different tag uh for your replica scheduling strategy for that and deployment uh I I call it a segregated microservice because each volume is independent from others so if your volume have some problem take example like an engine or replicots you will it will not impact others because everyone is like a semi-gallant group control plane pod control pod just rely on kubernetes control controller and the longhorn have its own customer resource and right now we have a web webhook for the other mission webhook and conversion so the goal for the future if we have a next version of resource we will do the same okay Joshua Joshua we'll talk about the airplane cool um no I don't need this okay yeah so uh right now our front is based on ice kazi by using tgt in the application mode um two components for our data plane is like the volume engine which you can take off as like a volume controller uh while a replica is just the volume data it's like a dump data store um the communication happens over tcp ip um there is some improvements possible there as well uh and I think that was talk on the spk site um which goes to more in depth that um I'm gonna keep going to the next slide so this is a one very interesting aspect of distributed storage is like you want fault tolerance right um in traditional setup you would have the pod a which is using a volume uh it would traditionally be just writing to the direct host disk uh that creates a problem that that pod is forever coupled to that nodes because it relies on the storage of that um so you need to level need a level of indirection in between that uh and we provide that by the engine and replica block in between this allows the replication of the data across nodes in our case we do this synchronously so our replicas are equal at all points in time this also allows us to move the workload arbitrarily so if the community schedule decides hey this node is resource exhausted for example hey I need to move this workload because it's low priority then that work can move to an arbitrary order node in the cluster um it helps us in a case where you would lose the node in this case node one would go down of course the sense of work of this at that point in time on what node it would be down it would be rescheduled by the schedule uh we have some improvements there like if you ever used a stateful set before you will notice that the pods don't move by default so we help clean it up and help the process along um so the community schedule would now schedule this node on on the node tree the pod a on node tree in this case uh node tree is uh purely a compute node right so in long run you don't necessarily need um every node to be a storage node um you can have a dedicated storage pool which is like the traditional centralized storage architecture while um if you have storage on each node that's more like the hyperconverged storage architecture if you want the benefit cost overview of that one join us at the booth for an in-depth discussion later that get the kiosk um so you've seen that the node failed uh the data is saved because we have replication kubernetes was able to reschedule the pod to an arbitrary order node in this case a compute node and the engine continues processing and living on happily after um you can see that there is many different volumes on on each node we have what we call an instance manager for replicas in an instance manager for nodes so that's like one pod uh for each on per node which manages the processes inside of it and there's uh changes in that architecture coming as well with the spdk site um so yes and you can also have different amount of disks in long on like each node can have different nodes generally it's very nice to have like a node template setup but if you know like your workload um has a certain storage to compute resource um like relationship then hyperconverged storage is the is the way to go because like your compute scales up your storage scales up equally um a good example use case would be like if you're doing video transcoding uh you roughly know how many compute units or memory user units you have per storage units so that's a really good use case of hyperconverged storage quick overview of how does long on actually work this is uh how do we integrate the with kubernetes what the control plan looks like um kubernetes has a csi specification it's an interface um general purpose interface for storage integration um we provide the long on csi plugin which implements the csi spec and that one communicates with our long on monitor which is a demon set that runs on each of the nodes um which provides a back end api as well as our communities controllers um so if a user for example tries to create we would go to the csi call for create volume publish volume all of these would go against the back api back end which then our controllers would create cd resources on so if you like want to use this in an api based fashion we had a we had a kubectl for example just cd directly that would be possible to the long on manager would then react on these calls and create the appropriate resources in this case we have an engine resource replica resource and schedule them across the nodes so that's that let me see where i am 27 now i'm just going to go over some things that where long horn is useful or where it's useful to have a software based storage back end right if you use for example an amazon ebs volume directly then that volume is tied to a certain zone that can be okay for some use cases and so other use cases you might want to have a distributed across different zones so you need like a not a level of indirection by having a software defined storage stack on the snapshot side we are gonna we are introducing a 1.4 a bunch of stuff when we want to make snapshots more performant as well as more reliable so we do like the snapshot check something which allows us to do even faster delta for rebuild so if you lose a volume we will have to rebuild that rapid volumes replica on a different note by doing a snapshot in pro snapshot we can skip and pre calculate the data right now we already do like verification of the actual snapshot data but that process is tiresome because we need to go to the whole snapshot chain so if you have a bunch of snapshots it will take much longer but if we can already identify that this snapshot is healthy over time we can skip the the rebuild reuse some of the pre-existing data without additional verification how does this how does the storage work i think i'm cutting out how does storage work what is the representation of the volume well it starts out with the single spot file so the moment you start you just we provide a fast system on top of that and anytime you write anything on to that file system there's a bunch of blocks going into a sparse file on each of the nodes we are the engine to replica communication and when you take a point in time snapshot we will create another sparse file as a layer on top of that one and that land as long as there's no data in it we just read through it we have a performant index to do that so that we don't have to scan the whole snapshot structure every time but anytime you then write to it like the prior data is still existing but it no unless until or it's no longer needed for the life reads but it might be read it for like backups restores restore to a certain point in time so we build a whole snapshot graph actually per volume you you can have different starting points different ending points and on the right you see what the volume life content actually looks like so that's that great how does backups actually work so we have some improvements on the backup that we didn't mention I think it came with 1.2 1.2 is like a backup groups we have a volume backup policy recurring job policies so previously if you use number four we had the ability to recurring jobs but that was per volume setting it's much nicer if you can define policies for your backups so let's say you have your hourly daily monthly policies and then apply that to all volumes like a default policy or you have a specific sensitive volume group so you have a policy for them you can apply them in a more hourly every hour for 20 hours we have a retain count etc um so that's very cool if you want a demo of that one we had the kiosk data backups rely on our snapshot mechanism and we do some delta there as well trying to be very efficient we do like a csc verification because well the worst thing that can happen to someone is that you have a backup but that isn't actually useful for restores so definitely something if you're if you're doing backup testing or backup setups make sure that you once a month test your like backup so actually restore ability okay um rebuilding yeah let's let's talk about okay how does actually volume rebuilding work um this is built in depth so i'm gonna go uh slowly we have like synchronous replicas uh proto one so by default it's three uh this one is gonna just show one what do we do we have to create a very shortly pause the engine so that we can hook in a new replica uh you it doesn't the user doesn't notice it uh we take a snapshot on all the healthy replicas at point in time since the iu is paused they all have the exact snapshot content at that point in time um the new snapshot checks some mechanism will at that point also do an async verification the background so this is basically increases reliability because we know for sure that this backup snapshot is healthy there was no bit rot none none of that happened in the past so we're good to go um then we create a new right only replica which is basically gonna get once we unpause the engine it's gonna get all the life iu since a snapshot is like a stack and a snapshot graph we can already start populating the life hat we can already start populating the life hat um while in the in the background we will pick one of our healthy replicas at random and do like an asynchronous transfer of their snapshot uh chain files right so we do verification validation that all the csc happens and that one process is um quite expensive even if we don't have to transfer the data right now we have to look at the whole snapshot and do a per data block in the snapshot csc checks some validation so with the new improvement we can see look just look at the snapshot file for you okay last time we checked this file uh was uh three days ago it had a healthy csc csc so we can skip it this is already present on a new one all right so then yes once the replica is synced up uh we can flip it over from right only mode into read write mode and it becomes like a regular replica and it's part of the read set as well okay um well we have a life migration feature we have actually two technically two life migration the first life migration feature is for harvester for virtual machine life migration was implemented for that one particularly um what's the challenges if you're using a file system the problem is you can't have the x mode unless you have a distributed file system so what we do can do though is like have two parallel running engines and then do like a handover for the engines um we do that we use this approach for life engine upgrades for example so anytime you upgrade to a newer long-run version we make improvements in the engine so that's the volume controller part or the replica part we can create uh mirror processes from the original set of processes and do a life handover yep we see this here so then we switch from that over to our new mirror processes and the old one can go away um okay we have okay I'm just gonna do this one right quick so we we talked about like the improvement on the long-run system backup right so previously if you have the disaster recovery setup that was also per volume needed to be set up per volume um now with the new improvement it will make it easier to set up like a mirror disaster recovery cluster that in an basically active passive configuration so you can like flip it over and all your volumes that they are ready to go this relies on like an external backup store that is shared between the cluster this is nice for on-prem if you already have like a old uh bvnfs server or for in-cloud if you like on amazon s3 or azure s3 um and both clusters can share the same backup store anytime the volume on the active cluster does a backup it will be populated to backup store and the volumes on the passive cluster will pull that regularly and apply the newest backup so you have like a continuous set of data with the clearly defined period of possible loss right because like the delta between the last backup that you took versus the live data okay I think that's it we want to do some q and a um I want to talk really quick uh ignore the numbers on here but we already did some performance improvements for 1.2 um and we're doing minor performance improvement on top of the 1.2 improvements for 1.3 uh we did that by uh improving our memory allocation and switching also the memory allocator uh on the c side on the tgt side so that's it um there's a what's the session yesterday for the spk side if you're interested in performance improvement that's like the future of the long on zeta plane engine um this year is just for the existing data engine so that the people that are using it actively right now get some benefit out of it as well thank you very much and there's uh any questions okay four minutes right so we might many right now is um set up as so on the file system that we support we might many for file system usage more um and how it's implemented uh initially it was done via an external provisioner uh we now have an integrated that nicely so that uh from the user's perspective there's no setup required all you have to do is create a pvc with access mode uh read write many and we will internally create like an nfs server because you need a disparate file system uh map the volumes take the manager lifecycle export etc of that server and then provide that anytime the the client workload basically does a csi call uh for mounting all of that for uh attaching uh that will be wired via our controller to the uh share manager we call it a share manager pod which is basically going on the first server and export that volume to that client for use oh i can see i can just run into customers with concern to my looking at this technology is what happens when you deal with large data sets where because of the the migration costs and such the time and effort just simply restitch an existing volume underneath kubernetes so i have a storage array it's already got the data there it's you know 25 disk or whatever it is right just stitch it back up under the kubernetes and let it be managed on the control plane is there a methodology or a concept to do that so when you say stitching up uh do you mean like you already have like 25 long run volumes for example or like block volumes i scuzzy currently exported and being consumed by a virtual machine i i resubstantiate the virtual machine as an image deploy that but this is outside of long run or are we talking about long run ones we're talking about no we're talking about a traditional storage volume stitch it back under the control of long horn more like a disk uh this uh placement how you manage them right but long there's other vendors yeah long did not yeah yeah but long home is actually have no any strategy for that but we have some uh like a tag disk tag you can manage what kind of uh disk you want to do but beyond that like uh reg level like you say data center part we don't have this kind of design but you can fit you can fit back more we can see how we can do i think i know where you're going though like okay i assume you have this old appliance let's say your rate server stuff with 25 disk yeah um how this would work on long horn is like um we would pick up the new disk see that it's there right you would need to might need to do some disconfiguration initially to see where they're at and stuff but if you had used that array before for long horn and you just took it off for like a day or something to do like maintenance on we would be doing like the rebuilding of the existing ones we would pick the pick the see that oh there's like replicas of this volumes already we can reuse them it depends on like some setup of the replica replenishment rate interval etc so you know like if you you know you don't want to take this off and increase the replica replenishment rate interval so we will give you time for this to come back online and then we can reuse the existing data based on the snapshots right and this is where the improvement of the snapshot comes in because let's say you have a terabyte virtual long horn volume there you don't want to scan every single file in the snapshot chain instead you will yeah i verified this two weeks ago this guy is good to go we don't need to we can immediately skip it we already have the the mirror copy here it's fine we only need to then do the verification for the last the failed snapshot basically the snapshot and put it there was taken in point in time when the device went offline and the life hat needs to be synchronized of course and my second question is speaking to customers where as we're stitching virtual machines under these covert frameworks um when things happen and the volume is transferred to the virtual machine is my migration and whatever it is things go bump in the night viscine and how we help a customer is there a way to are there any hooks that we could talk through that how does it detect when the volume comes over and it's it's four parts of the volume it's got one that's got to go through a scan cycle something like that right so um i can only speak about our implementation for harvester right because that that's the use case i have you can do a trick um on the harvester side you can do a trick uh that basically you can rely on the csi calls because you know when the new process goes online and you know when the old process goes offline that will can be used as a validation to see if the migration actually worked correctly or not or if you have to roll back so that's how i implemented that for the harvester live migration work is if you're interested in that come see us at the kiosk and i might give you some more in depth stuff i'm sorry thank you very much oh yeah last one um just wondering how you would recommend looking at the differences between using something like longhorn and the use cases versus something like efs or efs if you're i'm sorry nfs if you're using google cloud right or just with the cloud providers and right so um i can only speak from my perspective on this right so if you're using like efs which is basically if i'm not mistaken it's nfs underneath the hood they just renamed it um you are bound to their file system then that has benefits and advantages because you're operating on a file system they might do some smart optimization based on the file contents etc that you can't do when you're operating on a block level but the problem is like if you ever need to move from that one or you need more control of it then that's a problem i don't know all the full features set if they have like ios scheduling if they have different storage classes etc all of that stuff i don't know of the top of that there's the cost factor um depending on like your your storage needs right um so that that would be a benefit like uh basically the the conceptually difference is like longhorn is a storage software as a storage stack right so you get the software that manages your storage creates the storage deals with all of that while with the efs the control of your whole storage is inside of the cloud provider which has benefits like yeah as well as but also downsides so if you have a specific use case come see us at the kiosk and great thank you very much and you time's up


So, in the previous class, we are discussing one of the important topic is how the molecular structure and molecular properties are interconnected. And for that, we find out that this originally Schrodinger equation H i equal to E psi can be used as one of the starting point where we can actually use it to find out how it is actually happening. H is represented by the Hamiltonian and which typically defines the surrounding of an electron that we are actually mostly looking into and try to find out its wave function, its energy and other properties. So, over there, when we talk about this H or Hamiltonian, we found that is connected to the surrounding and that actually has a huge role to play during the regulation of this molecular properties. So, if we want to understand how this surrounding is playing a huge role, we have to define it or understand it properly. And we found that we can understand it with the help of mathematics. With the help of mathematics, we can understand and we can use symmetry elements because the symmetry elements can define how we can actually project the electron in different orientation and how its relation with the other existing atoms and molecules. So, then we also find out there are different molecules, billions of them, but we can all define them with the help of only five symmetry elements, five different kinds of symmetry elements. First is proper axis of rotation, then there is the plane of reflection, then there is center of inversion or center of symmetry or center of reflection. Then we have S n, which is the improper axis of rotation where you do a C n followed by a sigma H operation. And at the end, the operation is the identity operator. The importance of the identity operator will come again when Professor Leela will teach you, but the system is that this identity operator is required to ensure these symmetry elements can have a particular relation in between them. We can actually club them or assemble them such that you actually form a group and that is which is known as the point group. So, this point group suggests that each of the molecule can be defined in respect of what are the different symmetry elements present. And if you have different symmetry elements, there is a particular relation also connected among them. For example, as we were saying earlier, if you have a C n axis of rotation where n is your principal axis, that means n is the highest number possible. At that time, if you have n number of C 2s perpendicular to that, you have to have n number of C 2s. You cannot have n minus 1 or n plus 1 or any other number. Either you have n number of C 2s or nothing perpendicular to it. If you have sigma v planes in a molecule where the principal axis of rotation is C n, you have to have n number of sigma v's or nothing. So, this kind of interesting relations exist between them because they are actually following the simple laws of mathematics. And when we combine them together, we find they can be termed as point groups and each of the point group can be defined in terms of called character table. And if I can find out what is the point group of a molecule, which is a pretty straightforward method that we have discussed in the earlier class, you just have to ask a few questions to the molecule with the answer of yes or no. And after a few questions, you can end up what will be the point group of the molecule. Then look into the character table of that particular point group. This is very similar to the periodic table, which is already available in the internet, which has been prepared well ahead by the mathematician. Just look into that and from there, you can define different characteristics of a molecule, whether it is spectroscopic interaction, so there is a bonding interaction, all these things you can connect back to the character table and the point group. So that thing in our mind, we figured it out that yes, the symmetry elements, the point group, the character table are the important factors. And if I want to define a molecule, I need to find out what is the point group. And from there, I can comment on different molecular properties. So one of the molecular properties that we are more interested in is known as the chirality or optical activity. And last class, we try to figure it out what is chirality or what is the optical activity. And if I remember correctly, we have five different definitions come out of it. So I am again writing them one by one. So chirality is such that a molecule which can rotate the plane polarized light will come into that a little bit later probably next class, what is a plane polarized light. So that is will be defined by chirality. If it is a chiral molecule, it will rotate. If it is a chiral molecule, then it is not. Second definition we have that take the mirror image of a molecule and see if it is superimposable or not. If it is non superimposable, then it is chiral molecule. If it is superimposable, that means it is a chiral. Superimposable means that is going to match exactly what your starting molecule is. The third definition we have found that your molecule cannot have any plane of reflection. It should not have anything. The fourth definition was that your molecule should not have a center of symmetry. And the last definition was your molecule should not contain any improper axis of rotation. So these are the five definition we found that can define whether my molecule is chiral or not. So one of the other way I actually try to define that all these particular systems, especially the last four are actually interconnected among them. To exemplify that, we actually took the example of this particular chiral molecule. This is nothing but carbon connected with four different groups. And what we found that first take the mirror image. So that means you are following the definition two to find out how it is actually done. And we found this molecule looks like this. And then we try to rotate it along this CH axis to ensure that it looks as close as similar to the original molecule where this chlorides and the CH bonds on the plate and on the right hand side of the molecule. And we did that and when I rotate, we found everything is same but the fluorine and bromine, these two systems actually exchange plates. So that's why it is not anymore superimposable. So these two molecules are non superimposable.  And then we try to find out when you are taking the mirror image over here, this particular function, it is nothing but a sigma reflection, the plane of reflection. And then when you try to rotate it and try to see how it is superimposable or not because that is what we typically do even without understanding or even with a comprehending that we are actually nothing but doing a rotation. When you try to find the mirror image, it is superimposable or not. So over here, we are trying to do different CN operations. So we are doing a sigma operation, we are doing a CN operation. So basically you are doing a SN operation. And some of you might argue that this plane of reflection might not be in the perpendicular to the CN axis we are doing, but we learned that it doesn't matter a molecule can have only one particular reflection. So outside the molecule, if you want to put a plane of reflection and take a reflection plane, it doesn't matter where you put it, you are going to find the same reflection. It is kind of, you are looking at a mirror, doesn't matter how do you look into the mirror, you are going to find the reflection of yourself, no other person will show up on the other side. So similarly, no matter which particular way you put the mirror, if you are looking at a particular molecule, the reflection would be that particular molecule and it can be only one particular reflection. So in that respect, we can say over there what we are doing a CN and sigma age, we can say so we are doing a SN operation. And that means these two systems, if it is superimposable or not of the mirror image and the SN is nothing but the same. And similarly we can found that if my SN, the N is one, that means I am doing a C1, that means leave the molecule as it is and only doing a sigma plane. That means S1 is going to be equivalent to a sigma. So that defines corollary number three, that a molecule cannot have a sigma plane because basically it is having a S1. Similarly, if you do some mathematics, you can find the S2 is nothing but center of symmetry. So similarly, it defines the corollary number four. If you have a S2 system or a center of symmetry, you also cannot have a chiral molecule because the mirror image will be very similar to superimposable to the original molecule. So with that respect, we can figure it out. All these four corollaries, two, three, four, five, they are nothing but the same thing defined in different ways. So from there, we find out that what we need to find that whether the molecule having SN or not. Now finding an SN might not be that easy. So what we are going to do for that, we are going to find out the point group of the molecule. And as we know, from the point group, I can look into the character table. And in the character table, all the possible symmetry elements are already given. And over there, I have to just glance it and to see if there is any SN axis present here or not. And by SN, I mean also sigma and i because there are variations of S1 and S2. And what we found there are only two different point groups present in the world which doesn't have any of this SN symmetry elements. And those are CN and DN point groups. These are the two point groups have no SN axis. And by no SN axis, I also include S1 equivalent to sigma and S2 equivalent to i. So this is something we have to remember. So what we need to know is to find out the point group and figure it out if it belongs to CN or DN. If it belongs to CN and DN, your molecule will be guided. If it is not, it is accurate as simple as that. And again, we look into that how to find out the point group of the molecule very easy. Ask a few questions to the molecule and they will reveal what is the point group of the molecule. So that is how we are actually generally find out what is the point group of the molecule and whether it is a chiral or not. So as it is inorganic special cast and even the name is actually inorganic complexes. So I'm giving you an example. And this example, I'm giving a general example. Say metal is there, which is actually coordinated in an octahedral geometry. So now over here, there are two important things. Coordination geometry and the other term is symmetry. They are not the same thing. Coordination geometry means how many bonds it has, what is the geometry it is having. So if it has six bonds and this particular geometry is a, it is an octahedral coordination geometry, an octahedral coordination. But it doesn't mean that it is actually an octahedral symmetry because if you want to have octahedral symmetry, you have to have six equivalent ligands connect to it such a way that you go any direction through the center of the molecule, you're going to find a same thing. So this molecule, if you have six same ligands, say this l ligand is nothing but water molecule. Then yes, your molecule is not only octahedral geometry, but it's symmetry is also octahedral. So over here, the symmetry is also octahedral. But now say I took the same molecule with octahedral geometry. But instead of water, I have oxygens over there and the oxygens are nothing but coming from the carboxylet oxygen. So it is say as a oxalate group, two carboxylet group come to each other and over there now say they're connected. Now once they get connected like this, also the geometry is octahedral, coordination geometry. But the symmetry is not octahedral. Why? Because over here just see if I see at this seat at this particular point and go through this molecule, I don't find a linker over here. It's missing. Similarly over here, the linker is missing. Similarly over here, the linker is missing. So although the coordination geometry is octahedral, the symmetry over here is not an octahedral one. So be very careful when you define the difference between octahedral coordination geometry and octahedral point group symmetry. They are two different things. So now what is the point group of this particular molecule then? So let's take another deep look into it. So over here, what is the point group of this molecule? So again, it is not a junior level class. So I'm not wasting my time to find out exactly where the different symmetry elements are. So I'm just giving you the answer. So this molecule has the highest symmetric axis or rotation present over here is C3. And where is the C3 present? To look into that, what I am going to do, look into this ligand a little bit carefully. So this ligand, which is nothing but oxalate ligand, too negative, which is outside ligand and connected by a carbon-carbon linker. So this particular linker, when it is present over here, you can see that two particular bindings for the same ligand, what we call them as bidentated ligand. This term dented comes from the density. That means how many times it is biting the metal? It's biting two times. And over there, they're connected to that. And now see, take a look into each of the ligands. There are three such ligands. One over here, one over here, and one over here. And each of them has two pairs of metal oxygen bonding. And if you look carefully, one of them, you can say towards you, one of them is actually backwards to you. Take an example of this one. This system over here. So I'm writing O1 and O1. So it is O1A. It is O1B. You can say that O1A is actually towards you, because this wage bond means above the plane of the paper. And that dotted bond means it is behind the page of the paper. So that means O1A is towards you, O1B is backward. Similarly, over here, if I say it is 2A, it is 2B, you can say 2A is on the plane of the paper, 2B is on the backside. So that means again, 2A is towards you, 2B is on the backside. Over here, say it is 3A and 3B. You can say that 3A is above the plane of the paper, 3B is on the plane of the paper. So relatively, we can say that the 3A is towards you, 3B is backward. So each of them has two sets of metal oxygen bond. One of them is towards you, one of them is backward to you. Now connect all of them, which is above the plane of the paper. So this one, this one, and this one. And connect those, which are actually backside of the paper. So let me probably put a different color to differentiate it out. Now if I draw the molecule one more time, and now what I am doing, drawing the linker in a dotted line so that we can see the triangles properly. So one triangle is this one above the plane of the paper. One triangle is backwards. Now if you rotate the system through over here, a C3, 120 degree rotation, because you see it is a triangle over here, forming over here, other triangle forming over here. So there are two triangles oppositely oriented sitting there. So if you rotate that, you will see a similar structure, exactly similar structure you will find. And that is going to give you the same structure. So there the C3 is present. So for an example, if I rotate it, this particular system is going to go over here, this particular oxygen is going to go over there. And this connection is also moving in the same direction. Then you can figure it out. This is the C3 axis. Now if you have a C3 axis, obviously I am not going to, it is not linear, not special group. So if it is a C3 axis, the next question we ask to it, whether it belongs to D or C point groups. For having to, for the D or dihedral point groups, you have to have C2's perpendicular to the C3. And if you have C2, you have to have 3 or nothing. And there is present C2's over here through this oxygen-oxygen connector. If you rotate that 180 degree, you can see you are going to get the same thing. And as I said, if one is present, because the principal axis C3, the other two should be present and would be in a very similar position. So this will be over here going through this oxygen-oxygen box. So you have C3 and you have 3C2 perpendicular to C3. And there is no other symmetry elements present there other than obviously centrosymmetry. Sorry, the identity factor E, the rest of them are not there. So it is belong to a point group D3. And that is why this molecule is going to be chiral molecule. So what you now need to do is either say directly, yeah, it is going to be chiral, or you can also do that same operation that we actually learned from our beginners that take a mirror image and see, try to see if it is superimposable to its original structure or not. So let's try that. So here is this one, here is this one, here is this one. And then over here, I'm taking the sigma for the mirror image. So first draw the molecule, we'll draw the connector later because coordination geometry. So the coordination geometry is going to be octahedral. So over here, then draw the oxygen first. And then at the end, we'll draw the connector because that is the only thing that's changing. So over here, this is the connector. And I'm writing O1 O1 to understand it better. So they come over here. So that will be the connector. So this is O2 O2. So that will be over here and over here. So there will be this connector. And obviously the O3 O3 will be somewhere around here. So now this molecule, is it superimposable or not? So again, after the sigma orientation may not be that easy to understand. So we have to try to rotate in such a way that it actually matches to its original structure as much as possible. So what is the original structure? Metal in the center, that is it. But over here, see these two oxygens, which is one above the plane, one below the plane, is on the right hand side. Now it comes on the left hand side. So let's put this one on the right hand side. How we can do that? If we rotate that over here 180 degree. And if we do that, what you're going to get is the following. Again, first draw the oxygens. That's going to be the same. So if I rotate it over here 180 degree, these two oxygens system will come on the right hand side. That is my O101. Now if I rotate it 180 degree, the O2 on the top one is not going to change its position because that is sitting on the axis of rotation. But this O2, this O2 is going to change and come to this side 180 degree rotation. So it will come to the forward side. So this is the O2. So now their connection is such like this. And obviously the last of the O3s will be connected from the bottom. But just imagine how to do that. So this is the O3 over here. That is going to be same position. This O3, which is in the forward, move 180 degree and go to the backward side. So now you can see these two molecules, although the oxygens are almost in the similar positions, but their connectors are not. Because over here you can see this O2, O2 connector is kind of on the back side. Now it is come to the forward. Similarly, this O3, O3 is kind of in the forward side. Now it goes to the backward side. So that is why these molecules are not super impossible. Obviously this molecule is going to be chiral molecule. And that we have found out earlier when we said this is the point group of D3. Now the nomenclature of this kind of inorganic molecules, how to do that? It is again very simple. What we have to find out? Again the connectivity between the same ligand molecule, because the ligand molecules are bidented at this condition. We have to find it out. Each of the end of the same bidented molecule, how they are connected? Because each molecule has one top side and one bottom side. So top side I am putting a star and bottom side I am putting a double star. So this is the star double star for this particular ligand. For these two you can say this is the top and this is on the backward, relatively. And over here this is the top and this is on the backward side. With respect to on the plane of the paper you have drawn. This is wedge bond top. This is dotted bond bottom. This is solid bond. That means on the plane of the paper this is dotted bond. That means backward side. Similarly this is wedge and this is on the plane of the paper. So even if it is plane of the paper it is relatively backward side compared to this one. Now you look into them and try to find out which direction you are moving from going to top to bottom. So over here I am moving this direction. Over there I am moving this direction. Moving this direction. You can see all of them are moving in the similar direction. So if it is moving in the similar direction then try to find out what is the overall rotation. You can see it is a rotation on the anticlockwise or lever rotatory. And this particular system with anticlockwise rotation it is known as the lambda isomer. On the other hand side if you look into this particular molecule over here I can see this is the top. This is the bottom. This is the top. This is the bottom. This is the top. This is the bottom. And now which direction it is moving now. All of them you can see it is moving on the right hand direction. So it is a clockwise movement and clockwise movement and this is actually known as the delta isomer. So generally for this thing to understand which is lambda and which is delta and lambda. So try to put the molecule in such a way that will be easier for you. For an example if you get this particular orientation it is the same molecule but it may be a little bit difficult to get out the delta and lambda. So try to put in this particular orientation so that at least you can find which is top and which is bottom very easily and then try to figure it out. And with respect to that you can find out which is the lambda and which is the delta isomer. And over here this molecule is called delta and lambda isomer no matter whether the C2 axis is present there or not. So over there the C2 axis are present because both end of the ligand is same over here. They may not be the case if both ends are not same. For an example you are using one end amine and one end carboxylate. Then the molecule is the ligand is still bidented but not symmetry. And in that case if you put a molecule with this particular ligand three of them and then you can still find a molecule very simple similarly looking but you might be losing the C2 over there. So that molecule will belong to a C3 point group. So be very careful when you look into this kind of multi-dentate inorganic molecules which are actually optically active. Very careful which point group it belongs to and how to find out their nomenclature delta or lambda isomer. So any question till this time? Say anyone have any question? So over here so far we have gone through that optical activity is important and optical activity does exist even in an inorganic molecule. Even the coordination geometry is not a chiral geometry and if it has bidented ligands three of them if it's coordinated it can produce a optically active or chiral complex. And now we know how to do that, how to find its point group, how to find this the nomenclature of the different enantiomer. So this delta and lambda isomer obviously they are enantiomer very similar to DRL isomer that you find out from the organic chemistry.


And the effects of high blood pressure, also called hypertension, could lead to health problems such as heart disease, heart attack and even stroke. For this reason, a non-governmental organization in UNICEF women advocacy foundation in collaboration with the Kiyosete Boy Child Foundation led by its founder, Lady Stella Domo, organized a free medical outreach as part of its social responsibility. The medical outreach was held at the popular Tumbia Park in Yanagawa as drivers, commuters, market women and orders had the opportunity to check their sugar level and BP drugs were also distributed. Recently we lost a colleague. Many people who don't check their BP, they don't check their sugar level. People died daily because of ignorance and that is not an age scale. So because of that, we decided to come down here. At least these drivers that apply on highway would want to check the commuters. Then women, even pregnant mothers, are here to check their BP.  We want to cover in a quaffus so that we can go back to the villages and then check them. The thing is, when you look at the township, people are told they are more relaxed like in the township where you have commuters. They are the ones that need it most.


Alright, this kayak design depends on this piece of wood which is 10 inches wide and 8 feet long, 10-year-old units wide, 8 feet long, to twist about 60 degrees. I think it can do it. Yeah, I think I just have to try it. See if it'll do it. This one's a little curved. That one's straight. I think this one's a little better. Partly because it'll work with the plywood more easily. It'll be easier to bend around a curve. Then, yeah. Alright. Okay, I know what the measurement in was here. This was a foot and a half in. Okay, I can measure that. I probably don't want like a real... I don't want a sharp point at the end. So I'll come in just a little bit. I don't know. 5 eighths of an inch, yeah. From the end, okay. And then, one of that here. Foot and a half is 18 noodle units, but let's go with 17. Should pull this in a little bit. Right? Is that what I want to do? I think that's what I want to do. Alright, we put a straight line here. I should be able to figure out the curve I want to do. Like that, hopefully. Alright. I'm going to curve a little bit. I do have a weird technique for making curves that are not really well-defined. I don't want to do math. Okay, let's cut this in half. Say I want it to come out about one inch. One noodle unit. So that's a low resolution curve here. Now let's increase the resolution by... Halfway between this and that. And I want to mark a spot halfway between those. That's my new spot there. This is a little higher resolution curve. I'm just going to keep bisecting it like this. I think it's something I feel like I can cut reasonably. Let's go here, draw this straight. Alright, if I ignore all my pencil marks, it looks pretty good. Again though, I got one chance to get this right. So I was able to get that with one shot with the circular saw. You can do a bit of a curve. Right here though, I don't really want to point. Think about how much I want to round that out. Same curve on the other one, obviously. And I've got the sides that I want on the outside facing each other. What is the angle back there? I have to decide... This is the part where someone sits. And I have to decide at what angle these will attach to each other right in the middle of the kayak. Perfectly flat across would be the most stable kayak. However, I don't really want it to go straight across. It'll be definitely stronger if it has a bit of an angle. So I do want to put a bit of an angle. Not very much though, because the more angle it has, the more unstable the kayak becomes. But a little bit should be fine. I think I want it to be somewhere in that range. This is 10 degrees up on each side. This is like 7 degrees up on each side. Okay, I'm going to lean towards stability and go with 7 degrees. 7 degrees up here, 7 degrees up there. Alright, that's about 7.5 degrees. This also happens to be 1.5 noodle units up on each side. And I made this 19 imperial noodle units across, even though that's 20, because I'm not sure how I want to overlap when I get to there, if I want to go to the inside or the outside.  Well, I don't know. It might be right. Anyway, I'm going with the smaller of the two options for this. Alright, I think I cut those pretty good. You know what I could do to make sure that I keep the exact same angle. I can keep these pieces, screw them on to the bottom of a flat piece that'll go on the other half of the kayak. I don't think this is thick enough to have it attached to both ends of the kayak. Yeah, if I have one of these on each end of the kayak, then I can screw these together. I am counting on needing an amazing amount of wood filler, which is fine because I have a lumber mill, so I have an amazing amount of sawdust, and then I mix that with glue. And then sanding. Okay, that looks great. Don't think I can steam it because the plywood would come apart. Yeah, I guess it's just like, try it and see how it goes. More of these estimating 50-50 chances will work and be just fine. Though, I'm contemplating cutting this sheet right down there. I'm cutting this sheet right down there. It should make them easier to twist. I'll have to do something to the seam here. It'll be slightly more complicated, but it should twist more easily. Doesn't seem to be getting easier to do. Look at what the wood is starting to... Ah, this is going to be annoying if it breaks though. I'm going to get this to work. It makes such a good shape. And then that's getting close. This is the hardest step in the making of this whole thing. There are plenty of other spots I could screw up, but this is the easiest part to screw up. I'll put a few extra clamps. That might help. Man, look at that shape down there. Oh, that is good looking stuff. And this might actually make it. Is that exploding? God, just a little bit more. Man, look at that shape. That is excellent. Oh, that's going to be beautiful if this doesn't break. Am I getting it on camera because it's not going to survive? Yeah, I hope it does. And from my eyeballs, it actually looks like it's bending pretty much symmetrically, which is amazing. I think I'm going to get it. Boom! It's popping right off the end. I thought I got it.  Oh my God, that is beautiful. This is going to be the best kayak in the universe. Well, I'm a little bit biased here, so give me a break. Pretty sweet. Oh, God, look at that. Oh, man, I'm so happy right now. Yes! I really hope this doesn't crack. It looks like it curves symmetrically. Oh, man, that looks beautiful. Oh, so good. Oh, look at that. Man, that is some nice looking lines. That is so good. And I wish I knew the status of this wood right now. Is it right on the verge of cracking or totally fine? I don't know. I'm going to be super careful with that other way. This is why experience is so valuable. If I had more experience with plywood, I would know if what I've done here is going to be all right or if it's about to break. But yeah, I don't know. I've never done something similar to this before. And one of the useful things to do right now would be to push it until it breaks to find out when the breaking point is. But I don't want to do that in this particular instance because I don't want any plywood to spare. So I'm just going to have to hope that I'm within acceptable tolerances for this sheet of plywood and just keep going. But it looks amazing. Oh, that's so good. Man, that is really symmetrical too, isn't it?


Let's talk about the heartbreaking war in Ukraine and what we could do to try to end it. Every day the war rages on, civilians and soldiers are being killed. Millions of Ukrainians have been forced to flee and seek asylum in foreign lands. Schools, hospitals, apartment buildings and infrastructure have been reduced to rubble. We wrote this book to try to help people make sense of a war that should never have happened, a war that has raged on for months and might well rage on for years, a war that could lead to a nuclear confrontation, a war that must be stopped. We know that people have very different opinions about this conflict and we hope that our book and this talk will foster respectful dialogue. We have not tried to justify or excuse Russia's invasion of Ukraine because we do not think it is justifiable or excusable. We hope we can help you understand the context, the background and the actions of all the parties that led to this crisis. As U.S. citizens we have very little hope of influencing the Russian government but we should be able to influence our own government, which is why it's so important to look at the role the United States has played in fomenting the conflict. Let's look at two elements of U.S. involvement that we highlight in our book, NATO expansion and the events of 2014. Western leaders call NATO a defensive military alliance but NATO was formed to defend Western Europe from invasion by the Soviet Union. That mission was accomplished when the Soviet Union disintegrated in 1991. NATO should have been dissolved at the end of the Cold War along with the Warsaw Pact, which was NATO's counterpart in the Eastern Bloc. Instead NATO reinvented itself to justify its continued existence. It expanded all the way to Russia's borders despite many promises that it would not do so and ignoring warnings from experienced U.S. and Western diplomats that this would lead to a predictable yet entirely avoidable crisis with Russia, as in fact it has. You can see the map showing the various waves of expansion in which NATO incorporated former Soviet republics and Russia's European neighbors. In 2018, the antagonism reached new heights when NATO under U.S. pressure publicly promised membership to the former Soviet republics of Ukraine and Georgia. While no definite date was set, NATO began supplying increased levels of military aid and training to Ukraine, including Ukraine in military exercises. So Russia certainly had legitimate concerns about Ukraine's involvement in an ever-expanding military alliance that was encircling Russia with powerful military forces and had already unleashed aggressive wars and occupations in Kosovo in 1999, Afghanistan in 2001, and Libya and Syria in 2011. The other event that served to set the stage for the Russian invasion in 2022 was the coup in Ukraine in 2014. The 2014 upheavals began with massive peaceful protests against the corrupt pro-Russian president, Viktor Yanukovych.  The extent of U.S. support and involvement in this coup is still shrouded in secrecy as are previous U.S.-backed coups in Iran, Chile, and many other countries. But a leaked audio tape of Assistant Secretary of State Victoria Newland and U.S. Ambassador Jeffrey Piat exposed their roles as coup managers as they handpicked what positions each of their Ukrainian collaborators would assume in the post-coup government. Although the original peaceful protests in Ukraine were about wanting to join the European Union, Newland dismissed the European Union's more popular choice for Prime Minister, Vitaly Klitschko, with her infamous F the EU remark. According to a Gallup poll conducted in April 2014, nearly 50% of Ukrainians rejected the legitimacy of the post-coup government. This led to rebellions in parts of Ukraine that were ethnically and culturally close to Russia. In Crimea, a peninsula on the Black Sea with a mostly Russian-speaking population that was part of Russia from 1783 until 1954, as well as in the eastern provinces of Luhansk and Donetsk. In Odessa, 42 anti-coup protesters were burned to death by a mob on May 2, 2014. The new government in Ukraine was rejected by the parliament in Crimea and a referendum to rejoin Russia passed overwhelmingly and was accepted by Russia but not recognized by other countries. The provinces of Luhansk and Donetsk also passed referendums declaring themselves independent from Ukraine, leading to a civil war that killed an estimated 14,000 people. Many Ukrainian military units based in this region defected to the self-declared People's Republics or refused to fight their own people, so the Ukrainian government formed new National Guard units to fight the separatists. These included units like the Assov Battalion recruited from the same neo-Nazi groups that took up arms to spearhead the coup in Kiev in February 2014. The worst fighting of the civil war ended in February 2015 with the signing of the Minsk-2 Accord. This was drafted by France, Germany and Russia and agreed to by Ukraine and the self-declared Republics. It set up a ceasefire in a buffer zone between the warring parties and was monitored by 1,300 monitors and staff from the OSCE, which is the organization for security and cooperation in Europe. While the ceasefire largely held from 2015 to 2022, the Ukrainian government failed to implement the political aspects of the Minsk-2 agreement. It had agreed to grant Donetsk and Luhans a new autonomous status, but each time the Ukrainian government tried to move forward on this, extreme right-wing forces re-exerted their power and insisted that Ukraine must instead keep fighting to recover its lost territories. NATO and the U.S. also bear responsibility for the failure of Minsk-2. Despite officially claiming to support the agreement, NATO and the U.S., under both Trump and Biden, kept building up Ukraine's military, encouraging the Ukrainian government to believe it could eventually recover Donbas and Crimea by force and that the U.S. and NATO would support that. As tensions were reaching a boiling point in December 2021, Russia took the initiative of drafting two mutual security treaties, one between Russia and the United States and the other between Russia and NATO. These were not take-it-or-leave-it demands but drafts for negotiation. Unfortunately, the United States and NATO summarily dismissed Russia's proposals. By building up Ukraine's military, promising Ukraine NATO membership, and dismissing negotiations, the U.S. and its allies turned Ukraine into a dangerous weapon in their revived Cold War against Russia. Then, in the days leading up to February's Russia invasion, the OSCE ceasefire monitors documented thousands of explosions around the ceasefire line in Donbas, mostly on the Donetsk and Luhant side, indicating a major escalation of artillery fire by Ukrainian government forces. So, even in the immediate causes of the war, it is deceptive to describe the invasion as unprovoked, as Biden and U.S. officials routinely do. By early 2022, Russia had amassed large military forces near Belarus's border and its own borders with Ukraine, all the while denying that it had plans to invade. It also formally recognized Donetsk and Luhant's People's Republics as independent countries. On February 24, Russia invaded. The invasion was illegal on many counts. It was not an act of self-defense, and it certainly was not authorized by the United Nations. Under international law, including the Kellogg-Briand Pact and the UN Charter, the invasion was an illegal crime of aggression. Russia did not just move its invading forces into Donbas to support the breakaway republics, but it launched offensive towards the capital, Kyiv, and the second largest city, Kharkiv, in the northeast, and into the southern part of Ukraine from Crimea. Western analysts generally agree that Russia must have hoped to take quickly Kyiv and install a friendly government, but it encountered strong resistance from Ukrainian forces and was forced to withdraw from the north. Ukraine's Western neighbors responded to the invasion by granting asylum to millions of refugees while the U.S. and other NATO countries poured billions of dollars worth of weapons into Ukraine, stepped up their training of Ukrainian military, and provided it with intelligence to accurately attack important Russian targets. There has been little or no accountability for the weapons flooding into Ukraine. There are reports that as little as 30% of them may be reaching the front lines because they are either destroyed by Russian missiles or siphoned off into the black market where they could end up in the hands of the Islamic State, neo-Nazis, or other dangerous groups around the world. This was precisely why the U.S. Congress prohibited the transfer of U.S. weapons to the Assov Regiment in 2018 as it became a magnet and a hub for international right-wing militant networks. Yet after the Russian invasion, all restraints were lifted and thousands of tons of powerful and advanced weapons have poured in over the Polish border. There was so little debate about this in the U.S. that when Congress passed an enormous $40 billion package for Ukraine with most of the money to be spent on more and more lethal weapons for up to another decade, not a single Democrat voted against it. Not even Congresswoman Barbara Lee, who cast the lone, wise and prophetic vote against the disastrous war in Afghanistan in 2001. In our book, we explain the peace negotiations in Turkey at March that could have already ended this war and the largely unreported role of the U.S. and British governments in killing those talks. The talks during the first month of the war produced the contours of a 15-point peace plan for a ceasefire, a Russia withdrawal, and a future for Ukraine as an independent, peaceful, and neutral country. On March 27, President Zelensky told a national TV audience, our goal is obvious, peace and the restoration of normal life in our native state as soon as possible. Under the draft agreement, Ukraine would neither be a military ally of the United States in NATO nor of Russia, no foreign military bases or installations on its territory. Ukraine would get security guarantees from other countries, Russian speakers in Ukraine would be free to speak, read, and study in Russian, and the future of Crimea and Donbas would be determined by an internationally accepted political process during a transition period of several years. But none of that came to pass. British Prime Minister Boris Johnson arrived on April 9 and told Prime Minister Zelensky that the UK would not be party to any agreement between Ukraine and Russia, and that the Collective West, as he called it, saw a chance to press Russia and was determined to make the most of it. Turkish diplomats who had been mediating the ceasefire talks reported that US Defense Secretary Austin delivered a similar message to Zelensky and that these messages effectively killed their peace efforts. So early hopes for a negotiated peace were dashed, largely as a result of US and British determination to weaken Russia even at the cost of rivers of Ukrainian blood in an open-ended war that could last for years. The undermining of ceasefire talks was a tragic lost opportunity. Since the talks were abandoned, the slaughter and destruction has continued with hundreds of Ukrainians killed every day. Russia has taken control of more territory and despite the successful Ukrainian counter-offensive, Russia now occupies 20% of Ukraine. The sanctions against Russia have backfired, leading to soaring energy prices worldwide while reduced grain exports have led to widespread hunger, particularly in the global south. Europe is facing an energy and home-heating crisis. Meanwhile, no sign has honestly or publicly explained what its goals are in this war or why they can possibly justify the total destruction of Ukraine and even the greater danger of nuclear war. Even the old Warhawk Henry Kissinger is warning that US policy has blundered to the brink of a world war with no clear purpose or end game in sight. He told the Wall Street Journal, we are at the edge of war with Russia and China on issues which we partly created without any concept of how this is going to end or what it's supposed to lead to. And here at home, we are told we don't have the funds for a decent healthcare system or free college education or housing for the unhoused. We cannot allow our public funds to be squandered on yet another unwinnable war and an even more all-consuming military budget. Governments in the global south are watching the impacts of this war plunge millions of their people into hunger and famine while Europe's energy crisis is already sinking the continent into a recession. We in the US have been relatively unscathed by this war compared to many people elsewhere but we are already facing rising prices which will get worse as the war continues and the US will not be exempt from the impacts of this looming global recession. With climate chaos jeopardizing the very future of life on this planet this war is derailing our efforts to confront the climate crisis instead of a green new deal we are now watching a mad scramble to produce more oil, gas and coal as energy companies reap record profits from their disaster capitalism.  We understand that some people may disagree with our analysis of this conflict but hopefully we can all agree that we must do whatever we can to bring this war to an end and that's why Code Pink is part of a coalition called Peace in Ukraine we pressure our members of Congress and the White House to call for negotiations we call on the media to promote the voice of peacemakers we distribute our messages via social media and we educate the public including getting our book into libraries and classrooms and we encourage you to join us we must act now to say stop the bloodshed stop the bombing stop the madness we must work together to demand a ceasefire and negotiations not more war. Thank you.


Hello, students! It's Shayna, your teacher from EspressoEnglish.net. And today I want to do two things. The first one is to invite you to our next live class, which will be this Saturday, October 14th, at 11 o'clock a.m. New York time. So make sure to check what time that is in your own time zone. If you click on the link in the video description, or if you visit EspressoEnglish.net-slash-live, there's a link there where you can convert the time to your own time zone, okay? So make sure you visit EspressoEnglish.net-slash-live and check the time for wherever you are in the world. But I hope you'll join me for the live class. The live class will be at EspressoEnglish.net-slash-live. We will have a live chat. And the theme of the class, again, is Saturday Q&A. So it will be question and answer. I will be answering some questions from students like you. And the theme this week is grammar. So please send me your grammar questions. You can post them in the comments to this video. And I will collect all the questions and select a few of them to cover during the lesson. I hope you'll join us this weekend, this Saturday. But if not, of course, I will post the recording on YouTube and on Facebook. So last week's live class was all about pronunciation. Again, if you missed that one, you can go watch the recording on my YouTube channel, or it's in my Facebook page also. And I wanted to go over five words that were suggested by students in the comments, which I didn't get a chance to cover in the live class. So today we'll go over how to pronounce these words and you can practice with me. The first one is typically. This is the adverb form of the adjective typical. Okay, so typical has the stress on the first syllable. Tip, the Y here is pronounced IH, just like the I in hit and tip, like English tips. Okay, but when we have the adverb form with L-Y at the end, something interesting happens. So in the adjective form, typical, we have three syllables. But in the adverb form, it looks like we should say typically, but we don't. We actually kind of eliminate this A and we say it more like typically, typically. Okay, you can see it just goes right to the Lee. Okay, and the stress is still on the tip. Okay, so the pronunciation is typically, typically. Next word is chaos. This word is a little confusing when you look at the spelling. I believe it comes from Greek and English adopted it. The C-H in this case is pronounced like a K sound. Okay, so it's chaos. And the A is a long A, just like in the word name. So this first syllable is pronounced just like the K in the word okay. Okay, chaos. It's two syllables. It's a short word, but there's actually two syllables here. K-A-S, and the stress is on the first one. Chaos, chaos. Got it? Next we have a long word, circumstances. How many syllables does this have? Circumstances, four syllables. And the stress is on the first one, sir. This er is the same er sound like in the word bird and were, past tense was and were, sir. And I think it's really helpful when pronouncing long words to really focus on where the stress is. So it's on the first syllable, circumstances. Just put a little more emphasis on this one, sir, cum, stan. This is similar to the word stand, but without the D at the end, stan, cis, circumstances. There's a little secondary stress on the stan syllable, so you can think of it like circumstances. Circumstances. And what I suggest with long words is that you practice, just like I was doing now, saying the syllables with a little pause in between them and then gradually say it faster and faster until you can get to normal speed. So, circumstances, circumstances, circumstances, circumstances, circumstances. Got it? Let's move on to the next one, controversial. This word is interesting. It's the adjective form of the word controversy. Controversy is a noun, but there are some interesting pronunciation differences between them. So don't look at this for a moment. In the word controversy, the stress is on the con, controversy. But in controversial, the stress is on the verb, controversial. Four syllables again, controversial. And you also might notice that the S here, the S-I, doesn't really sound like an S anymore. It sounds more like sh, shul, shul, controversial. And finally, we have the word reliable. Reliable is the adjective form of the verb rely. If you can rely on someone or something, it means you can depend on that person or thing. So, rely has two syllables and the stress is on lie. To form the adjective, we just add a-bul. That's two more syllables for a total of four. And the stress is still on the syllable lie. Reliable, reliable, reliable. Make sure that it's clear this distinction between the lie and a. Some students kind of combine those two syllables together and then the word sounds strange. You want to, even though you say it fast, you still want to make the syllables clear. Reliable, reliable, reliable. Okay? Let's go back and review all of these. And I'd like you to listen to them and repeat after me. I will say each word twice. Typically, typically, chaos, chaos, circumstances, circumstances, controversial, controversial, reliable, reliable. Good job. If you want more pronunciation practice, including a really detailed explanation of all the sounds in American English, as well as word stress and sentence stress, linking and intonation, then check out my American English pronunciation course. You can just visit ExpressWinglish.net, click on courses, and look for American English pronunciation. It has a lot of listen and repeat exercises. And at the end of the course, there's an evaluation where you can send me a recording of your speaking and I will correct your pronunciation and give you some more tips. I hope you enjoyed today's pronunciation practice and I hope you will also join me for the live class on Saturday, October 14th, at 11 o'clock in the morning, New York time. And don't forget to send me your grammar questions by posting them in the comments. If you enjoyed this lesson, please share it so that other English students can also benefit. Thanks for watching. Bye-bye.