Hello, hello, hello, hello Welcome to another day some more work. Oh, I think my daughter's trying to get in. All right. All right. All right. I'm back Yeah, so So today another day where we're gonna talk about Lerna things I thought today I would go ahead and start working in the Hey, how's it going Adam? Oh Oh, nice. Yeah, the the most recent one about Gatsby with Jason It's um, it's it's good. I had a really fun time time chatting with him So yeah, so today I just wanted to kind of start on the dependency track. So yesterday in The video I made I basically I had a npm org So I'm in a new project. I set it up with with Lerna I used Lerna so I used Lerna in it to set it up. We use the independent versioning option and then we used We used Lerna create to create our first package which is in packages Avatar and so it has its own it has all of this is just the boilerplate structure that it gives and Yeah, and so we did that and we published it Kind of as it stood to npm just to prove that we could publish it Let's see, what was that? Avatar So everything got published to npm. We even included a CSS file in the second alpha So that's all the stuff that we did yesterday all caught up there Today what I want to do is there absolutely no dependencies of this project yet? So there are no dependencies in this project yet. Um, so Sorry a little bit of a cough So what I'd like to do is I know that Lerna you're supposed to be able to include all of your shared Your shared dependencies in this root project Now there's a couple things that I was thinking we would try to do definitely I need react and react Maybe not react down. I need react. Maybe react down if I start doing some like documentation or whatnot But And I'd like ideally to set up some kind of testing framework. I was thinking about Well, I haven't really used it more than just a simple test I was thinking about Cyprus because I really want to use real browsers to test these to test these things Because they are visual things. So sometimes the implementation between, you know, actual browsers changes but then also Implementation between like a node environment and a browser would definitely Have the potential to be different. So That is That's it. So I think I might try to do that but set up a test for that But definitely just kind of like get those dependencies in oh the other thing is What's it called Micro bundle I really like using micro bundle for Packaging up my components so I might use that as the shared solution for For doing that so packaging is packaging these up for different environments. I might use that. I think it's really good So, yeah, so let's start So we are in our project And we have packages. Okay, cool. So what we need to do is at the root of our Our thingy Okay, so we're at the root. I want to npm install React that is something that we are absolutely going to need. So let's do that And then see how this all shakes out Okay, no vulnerabilities our package JSON changed excellent. So it's added as a Dependency Now I think I want this as a peer dependency if I'm thinking about this, right? So let's try that. I don't remember what the flag is for that actually. Let's let's start over npm install. I'm sure there's a flag Save prods have devs save optional No save Huh Interesting. Okay. Oh, yeah, micro bundle is sorry in response to Adam and chat. Yeah, micro bundle is awesome I really love it. It has support for TypeScript too. I'm the only thing that it doesn't support out of the box is the Maybe it does now but in the last time I installed it fresh it doesn't support the Spread operator, I think Or the maybe the rest opera or the rest rest parameters It doesn't support that which is a bummer because I use that in functional Components all the time. I mean, I guess a way that you could get her There's not really a good way to get around it either without having to import something like a low-dash function that does that for you It can be prohibitively difficult to actually I'm not successfully just written it on my own so That's the one caveat with that I've had to kind of do jump through some hoops to process things through Babel as well I Think I have an example of what I'm doing for react SVG spinner. I think that kind of demonstrates some of the hoops that I have to do to run it to process it through Babel first and then go to micro bundle. So if you're you're looking at that We might explore that here today, too If we end up with enough time, but probably not so here dependencies I Think I'm going to I think that's gonna be good Now I know that there's some kind of like nonsense that you can do with like 15 or 16 right now I don't really care. I can kind of spread that out or I expand that later if I when we need that to happen So let's see Yeah, as far as the other syntax though Adam it has really great support for all the rest of the syntax I don't know why that one's a special case. I don't I am yeah Just does not seem to be Supporting it. Okay, so cool. So we have react here I'm not exactly sure how to Test this I apologize today is gonna be a lot more exploration Because these are given that it's like kind of actual work. I don't really know Exactly where I'm going Okay, so what do we have here, so let's go into our package Have as far Okay, so we don't have any build script or anything like that I think maybe a good way for me to be able to see that all of the stuff is working is to actually have an environment Where I'm able to build out these build these things so so let's install micro bundle to Right. Oh my gosh micro bundle and that one is Let's go to GitHub You can learn and we can learn to do the two primary commands and learn our learner bootstrap and learn a publish bootstrap We'll link dependencies in the repo together Publish will help publish any updated packages Okay, well, let's get to know for later when we need to link packages together Okay, so the package config and learn a dot json as a list of globs that match directory Okay, we got that part I'm not recognizes leaf packages versus root package json Which is intended to manage the dev dependencies and scripts for the entire repo. Correct now scripts That's something that I missed yesterday. So the scripts for the entire repo Come dev dependencies Can be pulled into the root of learner repo. This has a few benefits. I'll pack it. Okay, cool. So we read that yesterday Okay, so okay, so I'm curious about a couple things now. Okay, so we have micro bundle now So let's go into Avatar so I'm kind of Kind of waffling around a little bit Let's add let's just set up avatar and we can pull that out later if we need to so Let's get to the micro bundle instructions. We've got that So we have micro bundle installed Perfect Let's grab these two scripts Put those in here. So build is gonna call micro bundle dev is gonna call micro bundle dot watch No, we do not have those packages installed here. So I'm curious to see what happens So we'll navigate into avatar.  Okay, okay, so let me do this so Running it in my route as a learner run command ran it in the one package But I can't run it directly Which makes sense. I don't know if if I am intended to be able to run it directly It seems weird that I would be if I did if I don't have that installed in the known modules in this directory I don't know where it would find it but also learners doing a lot of magic So maybe that is an expectation. I just can't figure out how to use it but For now, we'll just assume that like tests you're supposed to run any of these scripts and in the at the root Okay, cool, so we got that now we just need to set it up, right it is not set up correctly at the moment so We need to add a couple extra options. Where is this? Oh, yeah, so we'll add this config What was that? Oh, yeah, so these are just all these are all properties. So let me go back up to Main where I have main defined here Some main is going to be at least at the moment lib. I might need to actually Re-orchestrate these things so just foo.js Okay, so all these are going to be avatar Source file. Let's make this Let's put it in a directory now. I might not have it in a directory later this is source new file avatar.js Looks like this whole episode this whole live stream might just end up being about A micro bundle which isn't actually a problem micro bundle is awesome. So Let's copy our implementation Which is nothing from here So we have source so the source is going to be source avatar.js cool We've created that now the module Let's throw all these in lib since that is how our project is already set up The main is also going to be Lib All right, I think that's good. So if we run this again, we should actually see some output this time Yes, and we do. Okay, so we get the What avatar.js Is our source? Sorry, that's a new file that I created. We're gonna get the UMD UMD map Mjs Mjs map and JS and in our package JSON We've already set up these so that the appropriate bundlers know how to find Find each of those files This is all this is all good so far. I'm glad that this is working now Something that I almost always do and again like I said before I'm going to set up this one project And then we will pull things out as they get globalized. So like once we have two we'll know what we actually need to pull out but typically in a project like this I would set a git ignore And give it whatever my like Distribute distributed directory is so in this case that would be Lib And I can never remember if I need to put a slash on that or not So yeah, so that's something that I end up doing and then also there is a There's a way to At a npm ignore And in that case you do not live you just do the opposite of where we're doing because I want these to get distributed I want those to I want the these only to be sent to npm. I don't want them on github So this is how that should work Let's see It didn't I think I need to do oh I did work. I'm so bad at gloves Okay, cool. I think that worked. So now now that we have that so get and my micro bundle for avatar Okay So we got micro bundles set up Let's actually so now that we have that set up I can start to kind of see I can I can try to import react and see if it builds the way that I expect So source Oh, I can also so there's that. Let's see in npm run dev command Sorry, learn a run dev will run it for all of my projects Okay, so So function avatar return Image, okay, so I'm just gonna put these in here for it again because of that spread props problem or Rest rest properties. I can never remember the name of these syntaxes Okay, so Dev it looks like it's doing but it looks like maybe lerna is swallowing up the messaging so I'm gonna run Okay, cool It looked like everything linked properly. Let's check in lib Cool awesome, so it is it's going to pull in these it's it's linking react It's transforming the import and export statements, and I'm getting all of these versions out amazing Now you'll notice that it defaults to H. Now. This is for hyper. Was it hyper? something hypertext Anyway, the the the pragma that it uses so this is designed. I think primarily with Preact in mind But there is an escape hatch so it uses that H for like hypertext But we can get out of it with the JSX option So we'll put that as a flag on both of our commands Where's that in the package JSON so build and Okay, cool. Let's check it out again and Yes, so it changed from H to this reference, which is the imported module so awesome So all of that seems to be working all the linking worked So it knows how to find react which is awesome So it's set it using the environment obviously so if it's in production versus development that is all great so let's Okay, let's do this so Lib so we changed. Oh, yeah, I need to remove package Avatar packages avatar lib avatar.js Yes, because the only one that I want to track in yet is the source file Let's see if there are any others that made it through that I should remove all I'm in here Packages avatar lib Okay, so I need to kill The whole lib directory in yet. Okay, so that should be gone See you set up sort of preact React and remove Okay, so this directory is still here though. Maybe I didn't do it right because avatar CSS is still getting tracked Um, okay, let's keep pressing on you ask for will work. This is Absolutely how my actual day goes just Just stumbling. There we go. Okay. Okay.  I'll force push. Okay, so That directory should no longer be tracked in Git Cool. No longer tracked. Excellent. This is what I wanted now. I can learn a run build build Learn build Learn a rub build. Oh my word Now that should rebuild the lib directory which it did we see it here But in git we should no longer see it wanting to track anything. So this is exactly what we want Now I can publish this Now this component kind of sucks. So maybe I should actually make it better I'm curious if Let's try Using the syntax that we want and see if it fails fingers crossed Whoa So maybe it's So I wonder if it doesn't support spread. Maybe it's all fixed But also maybe it doesn't support the spread operator not in not the gsx spread I don't know. Well, this is perfect. This is all I care about. So if that worked Um, let me see. Let me try to pull off other properties So one of the things I know that I'm going to be doing is I'm pulling off class name And I'm munging some values into that so class name It's going to be So it's going to be an array of values That I'll call dot join on with a string in between If I can get there, um Aperture and then I'm going to add the rest of the class names in So we got that so Man, if that works, that's awesome. That's so much less things that I have to do Boom amazing crazy. Okay, cool. So it's doing it too. I Am loving it It does use object as sign. So I need to be kind of careful of that in Wait, let's see if the The umd bundle does It also uses object as sign. So Let's see what support for that like Um, yeah, I don't know. I wonder if polyfills would catch that or babel polyfills I'm not sure. So that's that's an area of exploration So, um in my read me, I'm going to add this No, uh, this is one area where mono repos can be really irritating is Um trying to find stuff Okay, so uh, let's see object as sign object dot sign is used in builds Do I need to Do I need to polyfill that? Or will the bundler So that's a remaining question that I have And there's the only way that I'll be able to Kind of determine that is through exploration I'm actually installing it in one of our app environments and running it through uh internet explorer Okay, cool. So This um, this does what I need it to do. Um, we have Oh, so the only thing Is I deleted our css file. Um, so I guess I guess I'll put that in source um And like I said in in in the beginning it's possible that I won't have these in a directory at all that these would just be in the root of the avatar project And the reason that I would do that is because when someone needs to grab one of these pieces, um individually Like the css file if they want to link that css file I don't want them to have to know a deep path to get there I just want them to be able to do npm project slash the resource um I'm gonna do that now I'm gonna do it So, uh, let's change some things. Uh, so I'm gonna make avatar.css I'm gonna move this out into avatar. I'm going to delete This source directory That means that I need to go into package json for avatar And I need to change a couple of things. So instead of source My source is now avatar css and the style is avid or sorry The source is avatar.js and the style is avatar.css. So Um, I think that that should all be good now And if I did it all right, I should be having to track the deletion of the directory and the inclusion and add avatar css and js um Okay, cool. That looks good. Uh, let's see. What did I do in this commit? Um, basically added css file back to Tur Kind of made a component. Okay now When we get back to github, so I'm gonna go check github real quick. Whoops. Oh, I'm gonna check github real quick And what I want to see is no lib directory No source directory And I want to see that right in the root I didn't write any I didn't put any code in there I want to see that right in the root and um So yeah, so everything so there is looking good um Let me go unpackage.com slash. Oh, I think I saw it in my 1.0 It's cough though.  I do that so many times a day. Um, but I'm so lazy. I just refuse to do it Okay, so, um, we got this, uh, we've got that going. Um Let me add that back in to get After css. Boom. It's there now. Let's run run lerna publish Lerna diff. Let's just see what happened Um, so we can see all of the things that changed Uh, we can also there's also a command called lerna updated Lerna updated just tells you which packages had changes Um, so that's really nice if you don't want to actually see all the changes You just want to see which packages had changes boom Unbuild actually If we go into our package json, I think we can set up a so I was gonna say we could probably set up a pre publish hook for Um, so that we can build all these before we publish them. Um Again, I think that's something that's an optimization that I'll probably save for when we have multiple components And I can actually test it and not just kind of do the work in theory without an outcome Um, okay, cool. So now we can do lerna publish It'll ask us which version we want to publish We'll do a custom pre release. Um, it already is incrementing that that number. So yes, we want to publish boom We should sound now see that in our versions. So it's the latest perfect And if we go to unpackage again avatar like that, I will see that it is now connected to that lib version of it, which is the Let's cgs version We can inspect what actually went up to npm We have the read me package json license the lib directory You'll notice that none of the sources in there because we're only sending up our lib directory Um, now it's possible that because I'm specifically sent Um, uh stating the lib directory in package json avatar. I'm saying specifically send this up Um, I it's possible that I don't need to do this in p.m. Ignore. I don't know. It's it's a habit We could test it and see because it would be nice to have one less file in each of these project routes So I'll test that on the next one. Um, Let's see. Yeah, and so then we have all of our all our js files Now the only thing is um now our css file isn't in there. So we need to add that Um explicitly so we're including all of lib um, but we also want to Include avatar.css now I'm going to go out on a limb I'm going to delete this in p.m. Ignore because we're explicitly stating that we want these files in here so Uh, we'll see how that works Um, jigger super descriptive commit names. I'm sorry learn up Again custom pre-release That is fine. Yes All right when all that goes Up is alpha two still change that to three We have avatar css awesome Uh, lib directory is still in here amazing. Uh, so don't need that npm. Ignore great. Um Let's see. I think everything now is set up the way that we want 1040 Yeah, let's see how far we can get in the next seven minutes Actually, no, I'm not going to get very far in seven minutes I'll save this for tomorrow. So tomorrow we'll do. Uh, we'll do cypress. We'll get a cypress setup I think I ended up spending significantly more time actually specifically talking about micro bundle. Um, since we had to get that set up anyway, um, micro bundle is amazing. So, um, yeah, as you can see it took a lot of work out of the process of compiling gsx and Setting up different builds like it's a truly amazing project It's we did hardly any work to get any to get all of that stuff to work and um, it supports typescript. So Uh, if you're into typescript or flow, I guess I've never used flow. Um This thing's amazing Anyway, uh, I'm glad that we got to cover that today. Um, we kind of covered some like npm publishing stuff and, uh Yeah, so next time. So tomorrow on friday, we will definitely be doing, um, Trying to get at least one test going for using cypress, which we'll test in a browser Um, that's it. Thanks for hanging out with me. Uh, yeah, if you have any questions, hit me up on twitter. I'm chantastic And, um, that's it. Uh, hope to see you tomorrow


Our ethos is very much to support local and to be as sustainable as we possibly can. So we don't get, apart from the wines of course, nothing is brought in further than I'd say maybe a 25 mile radius. And then we've got an incredible kitchen team that have all come in from Michelin star backgrounds and so delivering incredible food but super affordable. It's so important for people to get out and to socialise. It's a really important thing that you know, getting out, getting to your local pub, supporting the local pubs and just coming and having a really nice hour, half an hour however long you want out of your own home or something like that, it's a really important thing to do. The first thing that I wanted to do was put in a kitchen garden because I'm such an advocate of growing your own veg. It's so much different but that's something that I've been brought up with, you know, living in the countryside and now I've got a six year old son. So we do the same. So we go out and we say right it's dinner time and we go and dig up some carrots and dig up some potatoes and then come in and cook them and then, you know, and it's lovely that plot to plate and seeing how important it is and how much better it is for you. So you'll often see our chefs running out and getting more herbs or going out and into the garden to get more courgettes or whatever's going at the time. Hi, I'm Jodie Kidd. Read about my pub, The Half Moon, in the spring edition of Taste West Sussex.


Today we plan to discuss one of the most intriguing debates that went on for about 10 years from 1997-98 to about 2008 in the field of excited state processes, excited state dynamics. The reason why this is very close to my heart is that it started when I was a PhD student and I was working in proton transfer so and we could see that something interesting is breaking out and the two groups involved one were of Tahitara who was in Institute of Molecular Sciences Japan at that time later on he moved to Rikken and the other group was Ahmed Zuel's group and this thing started in about 1995, 96, 97 when all of us could clearly see that Ahmed Zuel is going to get the Nobel Prize. So a potential Nobel laureate and on the other hand we have a 33 year old Japanese researcher lead group somebody who at that time did not was not confident in speaking English never went out of Japan. So that was almost a battle of David and Goliath and at the risk of giving a spoiler in the story in Bible Goliath one that is what often happens in real life as well but it is not really an issue of winning or losing this debate actually teaches us several interesting things maybe we will come to that at the end of this discussion. This discussion is expected to span two modules before getting into this debate of Seven as a Indole Dimer. Let me first present something else that also comes from the group of Tahitara more or less in late 90s. So all of us know Karsha's rule and all of us know that the reason why this emission spectrum is expected to be mirror image of absorption spectrum is when we draw Jablonski diagram this is what we always draw that this is S0 let us say this is S2 there are they can be many more of course and let us say this is S1 different vibrational states of S1. What we have learnt is that you excite no matter where you can excite to S2 you can excite to a higher vibrational level of S1 there is always ultrafast vibrational relaxation to V dashed equal to 0 the lowest vibrational state of S equal to 1 and that is where the emission takes place from. So this is the 0 dashed 0 transition you can have things like 0 dashed to 1 transition you can have something like 0 dashed to 2 and so on and so forth. And while excitation while exciting you can excite 0 0 dash and you can excite to higher levels as well. So we are very familiar with this kind of a picture where this is the absorption spectrum energy decreases this way so wavelength increases this way and this is the emission spectrum. And we as we have said earlier this is what we expect to see for well behaved molecules of course the entire business that we have is about molecules that are not well behaved because if all fluorescence spectra are mirror images absorption spectrum then there is not much you can do about it anyway. So when we have excited state processes we get this red shifted band somewhere here. So this is the mirror image spectrum and this is the spectrum from that arises from the excited state process I will just write ESP. Now the reason why you do not get emission from S2 usually is that if I draw not like this but in a little different way if I draw potential energy surfaces then generally this is the case this is S0 this is S1 this is S2 this is S3 and so on and so forth. Of course relative position of minima can be different what we are we want to highlight more is that there is an energy gap between S0 and S1 generally and generally S1 S2 S3 these three are not only close in energy but generally there is crossing of the potential energy surfaces that crossing can be adiabatic non adiabatic that is a different question. So since energy gap is small it is very easy for non radiative processes to happen among all these excited SN states and S1 is the lowest energy state there is a big energy gap so according to energy gap law V dashed equal to 0 of S1 that is where the molecule can reside for a while and that is when fluorescence gets a chance. This is the very premise of Karsha's rule and we have already seen how Karsha's rule can be violated if excited state processes are formed are there then you get redshifted spectrum. Now we go to the other end of the story is it possible in any way to get emission from S2 or S3 and this is very famous example that most of us might know and that is a azuline. So that used to be referred to for a long time as the azuline anomaly in azuline the major fluorescence is from S2 to S0 why that is because for azuline I will just write here the energy diagram is like this this is S0 S1 actually has an overlap with S0 and there is a big S1 S2 gap this is the conventional picture that has been known for 50, 60 years now. So that is why if you excite to S1 non radiative processes take over if you excite to S2 then only you can get some emission. So azuline has an emission band that is at a higher energy than the lowest energy absorption band because lowest energy absorption band of course is S0 to S1 emission in this case is S2 to S0 okay so this is something that is known classically. Now Tahara's group had tried to ask the question what happens in very short times is it that S2 is really non-fluorescent no fluorescence takes place or is it that the lifetime is so small that you do not see the fluorescence in the steady state spectrum. So the question is this is it possible and now I will draw only three lines to make things simple S0 S1 S2 so excite to S1 you get fluorescence and you get some non radiative processes understood excite to S2 what is believed is this non radiative process takes over okay and there can be some non radiative process between S2 and S0 as well but suppose for the sake of argument we say that there is emission for S2 from S2 as well. First of all where will that emission come higher energy or lower energy compared to the S1 emission naturally higher energy yeah now the problem is this we have discussed this multi exponential model of fitting fluorescence decays right. So this is the most popular model where you fit like this I at time t equal to I at time 0 sum over I AI e to the power minus t by tau I yeah and steady state intensity and now I will write lambda also at some particular lambda or better write frequency there is a conversion factor between frequency and lambda at some frequency is equal to integral of I nu at t dt yeah so this turns out to be sum over AI tau I and then what we know is that if there are several components then the contribution to steady state intensity of the ith component is given by AI tau I divided by sum over I AI tau I I believe this is all this we have discussed now see suppose I have a 2 exponential decay by exponential decay tau 1 is something like 0.1 picosecond and I will exaggerate just to bring out the fact tau 2 let us say is 10 nanosecond okay and let us say they contribute 50 50 AI is 0.5 sorry A1 is 0.5 and A2 is also 0.5 what will be the contribution of this tau 1 species associated with tau 1 what will be the contribution to the steady state intensity 0.5 multiplied by so I can write like this Is of 1 will be 0.5 multiplied by 0.1 if I write in picosecond divided by 0.5 multiplied by 0.1 plus 10 nanosecond means how much 10000 picosecond right so 10 to the power 4 so what will you do you are going to neglect this 0.1 with respect to 10 to the power 4 naturally so in the numerator you have 0.05 yeah in the denominator you have 0.5 into 10 to the power 4 what is the answer 10 to the power minus 5 really very small yeah so the point is if you have emission from a higher energy state that is short lived then you will not see it in steady state is the point made yeah where will it be seen is there any way of seeing it there is a way of seeing it and the only way of seeing it is by using ultrafast dynamics we have discussed already let us say this is your emission spectrum steady state yeah this is steady state x axis let us write is let us write frequency let us be consistent but then I should have perhaps written drawing the other way anyway y axis is intensity let us say I have two components like one like this one like this this is the 0.1 picosecond component and this is the 10 nanosecond component suppose I look at the steady the time resolved emission spectrum which we have discussed earlier and suppose we look at the spectrum at time t equal to something like 0.2 picosecond will you agree with me that that spectrum at initial times very short time after excitation will be dominated by this species that has a lifetime of 0.1 picosecond so that is one way in which you can actually see a spectrum that is elusive in steady state right so this is what mainly Takeuchi and Tahara had done prior to prior to this debate actually so what they had done is that taken some molecules and they had demonstrated that you can actually see the S2 spectrum I encourage you to find those papers and read them right in our presentation we are not going to talk about them but what Takeuchi and Tahara had done before the 7 as I indulge debate broke out was that they could actually demonstrate that you can see fluorescence from the S2 state at very small times after excitation okay that is the background we need before we can get into the discussion. So we are not saying Kasa's rule is wrong we are not saying that Jablonsky diagram we had drawn is wrong all we are saying is that you can hold strictly when only when you do steady state spectroscopy when you do time resolved spectroscopy then you can actually see things that are relaxing in very fast time scale and therefore are not observed in steady state spectroscopy similarly if you go down further to at a second which is now the state of the art then you can see things that we assume even now in femtosecond time scale to be instantaneous almost nothing is instantaneous anymore okay so the take home message from this is you can actually see fluorescence from a higher energy excited state if you look at small times post excitation now we get back to the debate and see how this concept turned out to be critical in this discussion okay. So we will talk about excited state reaction dynamics in nonpolar solvents manifested by excited state double proton transfer or 7 as I indulge dimer mainly we will discuss these papers there are many more as I am going to show you we are actually presenting almost only one side of the debate we are not presenting the other side so I encourage you to read everything it is an engrossing debate now I must thank Rosa Tahitara for sharing the slides with me that first of all you are almost if not here see it from the horses perspective and it also saved me a lot of time I did not have to prepare the slides myself so 7 as I indulge dimer is a widely popular model for DNA base pairs because if you just look at the dimer it will remind you of how ATGC are there in DNA okay. So you have 2 kinds of nitrogen here 1 in a 5 membered ring 1 in a 6 membered ring you have 2 kinds of nitrogen and the hydrogen is covalently bonded to the nitrogen in the 5 membered ring in both the cases okay. So this is where I used to get confused that why is it going from nitrogen to nitrogen please be very clear about that the 2 nitrogen are not equivalent 1 is in a 5 membered ring 1 is in a 6 membered ring their acidity is basically acidity is different so in ground state the proton is covalently bonded to this 5 membered ring nitrogen and hydrogen bonded to the 6 membered ring nitrogen of the neighbor of the partner and that is true in the other end as well what is the symmetry of the system what is the point group do we have a point of inversion point no point of inversion yes or no actually we do we do actually we do dimer I am talking about the dimer not the monomer point of inversion is there actually but that hardly matters when we are trying to determine the point group unless nothing else is there do we have a principal axis of symmetry in the dimer we have a C2 axis right perpendicular to the plane do we have a horizontal plane right so that makes it C2H do we have perpendicular C2 axis perpendicular C2 axis 1 is there no nothing is there there is no perpendicular C2 axis actually because you cannot draw C2 axis in maybe you are thinking of this nitrogen that nitrogen right that maybe true if you have a C2 axis through these 2 nitrogens but then these carbons will not find a partner and for those who might be wondering what we are talking about in case you need we are talking about symmetry of the molecule and we have a prior NPTEL course on symmetry in chemistry those lectures are freely available on YouTube in case you need help you can refer to them okay so this this has a C2H symmetry we will mention to the we will refer to the C2H symmetry in passing a little later so this is something that was known for a long long time almost as long as the 3 hydroxy flavone case that we discussed earlier that you have this dimer you excite it and then when you excite remember organic acids become stronger acids in excited state this NH is an organic acid this nitrogen in the 5 membered ring is an organic base bases become stronger bases and therefore there is a double proton transfer this was known very well I am going to show you the spectra it was manifested amply in the spectrum and the energy surfaces were also worked out and the energy surfaces is qualitatively same as that what we had for 3 hydroxy flavone asymmetric double well potentials in ground and excited state with the reverse asymmetry between them okay the state that is more stable in the ground in the ground state the well let us say the form that is more stable in the ground state is less stable in the excited state that is why proton transfer takes place in the excited state and since 2 protons are getting transferred it is called excited state intermolecular double proton transfer in our lab we have done some study on another molecule which we call BPOH2 there we have excited state intermolecular double proton transfer and it is manifested in the steady state spectra as I told you like this okay these are the absorption and emission spectra at different concentration of 7 as I told do not think that dimers are formed at very low concentration they are not in fact even for 10 to the power – 4 molar concentrations which is pretty high for fluorescence you do not get dimers okay in absorption you see there is a little bit of change this one the blue one is monomer and the other one which color is it green or red red the red one is for dimer so as concentration increases from 10 to the power – 4 molar to 10 to the power – 2 molar the absorption changes little bit this little bit of red shift and the structure also changes but you get more drastic changes in the emission spectrum this is the monomer emission spectrum between 300 and 400 nanometer and you see it is more or less mirror image of the absorption spectrum okay and these spectra are all I think normalized to this peak as concentration increases what you see is in this 400 nanometer to 700 nanometer region at 10 to the power – 4 molar there is hardly anything actually something is there what you see it only when you write when you draw a semi log plot and as the concentration increases at the look for the C2 axis later it is not there as concentration increases the stroke shifted band characteristic of excited state process keeps on increasing that is why the primary assignment of this to the excited state process happening in dimer was done right so this is something that was known and even reaching there actually was not easy the reason why this debate started in 1998 and not in 1978 is that people had to characterize people had to say with confidence that this is a dimer so several kinds of studies had to be done mass spectroscopy and so on and so forth they had to be confident that excited state double proton transfer is taking place a lot of studies were already there before the debate broke out what was the debate that is what we will take in the next module.


Thank you, Alessandra. Let's start with the motivation. Say we have a protocol that takes expected constant number of rounds and think about geometric distribution. What's going to be the expected running time of n parallel executions of that protocol? It turns out it's theta of log n. And just to get the feeling why, think of coin tossing. Say we want to toss a coin until it falls on heads. We expect that two coin tosses will be sufficient. Because that's the probability to get heads, half. What happens if we toss n coins in parallel? Then in the first round, half of the coins will be heads and another half will have to toss again and so on and so on.  Why do we care about protocols that takes expected constant number of times? Well, most secure protocols use broadcasts. And fast protocols for broadcasts take expected constant number of times. That means that when we have a broadcast channel where all parties talk at the same time, we can't use these protocols, otherwise the round complexity will blow up. And these protocols have a probabilistic termination property. We don't know when they are going to terminate. In addition, there's no simultaneous termination parties may terminate the protocol at different rounds. And this is kind of a nightmare for composition. We want the broadcast protocol to be secure regardless of the protocol that uses it, regardless of the environment in which it runs. So we want composition and known solutions for parallel broadcast, for example, don't provide us composition guarantees. The main obstacle is how to simulate this property of probabilistic termination. And that's what we're doing in this work. We study universal composibility of general protocols with probabilistic termination. And we give a framework that allows you to design very, very simple protocols like you would like to in a modular composition style and compile it into protocols that has all these technical issues that involve probabilistic termination. And we give a few applications we show how to get a perfect security and adaptive security for Byzantine agreement and parallel broadcast with protocols that run expected constant number of rounds. And also for secure function evaluation with protocols that who's running time doesn't relate to the number of parties in the protocol. And just to emphasize, we give examples for perfect security, but our results also apply to statistical security or computational security. So after we talked about the end we can go back to the beginning. We talk about multi-party computation. We have a set of parties they want to compute a task like compute a joint function and we think of the dream scenario where we have an ideal functionality a trusted party that does the computation and we want the protocol to emulate this ideal functionality by saying that no external distinguish or environment that gives input to the parties and get the output can say whether they run the protocol or talk to the trusted party in terms of security we say that every attack on the protocol can also be simulated in this ideal model of computation. We have several communication models in traditional MPC In the point-to-point setting parties are connected in a full communication graph and we consider a private communication. This is the secure message transmission functionality in UC. In a broadcast model parties can talk over a bulletin board. I can post a message, everybody can see the message. And in both models we'll consider synchronous communication. That means that the protocol proceed in rounds. This can be achieved in UC if we have bounded delay on the channels and also a global clock that synchronize the parties. What do we know about feasibility of computation if we have a broadcast channel? Well, we have very very good protocols, the classic results from the 80s give us perfect security, adaptive security if sufficiently many parties are honest and they provide concurrent composition you can compose them in any arbitrary way you want and security will remain The round complexity only depends on the depth of the circuit that we compute. It doesn't depend on the number of parties and there have been many follow-up works we can even get the same properties by using only one round in which we use broadcast and we ask whether we can get the same security and same efficiency if we only communicate over a point-to-point channel where parties don't have access to a broadcast channel How does the protocol in the broadcast model looks like? So we have certain rounds where parties use the point-to-point channels. Everybody talk over point-to-point at the same time. This is parallel secure message transmission and we have some rounds where parties talk over a broadcast channel together. This is parallel broadcast and we want to instantiate this parallel broadcast in a secure manner to get a protocol that is only over point-to-point channels. A standard methodology for getting a broadcast protocol if we have an honest majority is to use Byzantine agreement Each party has an input and we require two properties from the Byzantine agreement protocol agreement says that all parties output the same value and validity says that if all parties start off the protocol with the same input this will be the output. Now to get broadcast from Byzantine agreement simply the sender sends its input to all the parties and they run Byzantine agreement on these values if we have an honest majority that will be a broadcast protocol. We also know how to instantiate Byzantine agreement and broadcast using deterministic protocols. So these are protocols that have deterministic termination We know which round they are going to finish and all honest parties finish the protocol together at the same round. We know how to get them with perfect security and adaptive security and also with UC composition. The drawback is that the round complexity depends on the number of parties. So number of rounds is at least the number of bad guys that we have that we can tolerate. And this is inherent. We can't get faster protocols using this technique. So if we have one round of parallel broadcast it turns out it becomes many many rounds in the point to point channels. Rabin and Beno showed how to get over this impossibility by using randomization. So we have a randomized Byzantine agreement. Feldman and Mikali showed in the 80s a protocol that computes binary randomized Byzantine agreement from scratch without any setup assumptions. And the idea is that the protocol proceeds in rounds. In each round each party has a bit. Initially it's input bit. And each phase looks at a high level like that. So at the beginning parties do a voting. They check whether sufficiently many parties have the same input. If so they terminate. The protocol will complete at that phase. Otherwise they toss a coin an oblivious coin. Oblivious coin means that with the constant probability the coin toss will succeed. All parties will get the same bit. In that case they will complete that phase. But with the complement probability we have no guarantees. And the parties don't know whether the coin toss succeeded or not. This is the oblivious part. So with probability 1-p the adversary can basically decide what's going to happen in that phase. Either the parties will not get to agreement and move on to another phase. That's one option. The other option is the adversary can make some honest parties think that they have reached agreement. In which case only a subset of the parties will terminate at that phase. In this case it is guaranteed however that at the next phase the remaining honest parties will terminate with the same input. So focusing on that again the adversary can make some parties finish fast in one iteration and all the remaining parties will finish in another iteration. So this is the non-simultaneous termination. Looking at it again we have a probabilistic termination we don't know when the protocol will end and we don't have simultaneous termination. On the good side the expected round complexity is constant because each phase will succeed with the constant probability. And we know that we have a constant window of difference between termination rounds of honest parties. So this is good. We also have many improvements on this protocol. We can make it multi-valued in agreement. We can get perfect security. We can also get a parallel variant of this protocol by Bernoulli and Neath. So it looks like we have everything we want. What's missing? The problem is that all of these broadcast protocols are proving secure using a game-based definition. And we want composition. Composition follows from simulation-based definitions. Cuts et al recently showed a framework where we can prove security of synchronous protocols over UC, but only if they have deterministic termination. And many subtle issues with probabilistic termination are not captured in that framework of Cuts et al. That's what we do here. We extend this framework to deal with synchronous protocols that have probabilistic termination. So in the remaining of the talk we'll go over this framework. We'll start at the first part of defining what probabilistic termination means in UC. We'll get protocols that are secure if all parties start at the same time. In the next part of the talk we'll talk about non-simultaneous start how to deal with that problem. And finally we'll briefly mention some applications. So the main building block in our framework are objects called canonical synchronous functionalities or CSF. CSF is a very simple ideal functionality. The main idea is to separate the function that we want from the round complexity that takes to compute it. So in a CSF we only have two rounds. We have an input round and an output round. In the input round all parties send input and output they get the output. Each canonical functionality is parameterized by two function. The first is the function that we want to compute which takes input from all the parties and also from the adversary and also a leakage function that reveals information on the inputs to the adversary. So at the beginning parties send input, the adversary gets a leakage and so on and so forth. All parties send the input the adversary sends its own input and in the output phase the party simply request the output and get it. So it's a very simple functionality. Parties send input and later ask for the output. It's simple but it's very strong. We can model many tasks using a canonical synchronous functionality. So if you want secure message transmission, party i wants to send a message to party j the function is simply a projection from the i's coordinate to the j's coordinate. If you want party i broadcasts its message to all parties then the function is the projection from the i's coordinate to all coordinates. And secure function evaluation is simply we ignore the input from the adversary and compute the function that we want. But using CSF we can also model tasks that are not a function like Byzantine agreement. So if n minus t parties have the same input this will be the output otherwise we let the adversary decide what the output is going to be. That's very useful for simulating many broadcast protocols. The leakage in Byzantine agreement for example, is the entire input vector because we don't want privacy with Byzantine agreement. In the paper we have many examples of instantiation of canonical synchronous functionalities. Once we have that object we can define a synchronous normal form protocol, an SNF protocol. So these are protocols like we want them to be. All parties are synchronized throughout the execution of the protocol and all hybrids are CSFs in that case. And in each round all parties call the same hybrid. So it's protocols that are like we know and love. We know how to deal with such nice protocols. As an example think of the randomized Byzantine agreement protocol of Phelmen and Michali. So in the SNF form of that protocol looks like that. This is the skeleton of the hybrids that we are invoking during the protocol. At the beginning we use secure message transmission to distribute the inputs of all parties. And then we have the phases. We toss an oblivious coin and do the voting in phases until we terminate. The problem is that most functionalities can't be instantiated using a two round protocol. An economical functionality takes two rounds. So we define wrappers around a CSF that simply extend the rounds. So each wrapper has a distribution on the termination round. It samples the termination round where the computation will complete. And simply forwards all input messages to the CSF and ignores first requests until the protocol, until the computation gets to the last termination round. And this is again a simple wrapper. It doesn't have any much inside. Simply extend the rounds of the ideal computation. This is very similar to the framework of Kacital for deterministic termination functionalities. When we deal with probabilistic termination it's a bit more delicate. So now we also have a distribution that samples the termination round. But this is an upper bound on the rounds of the computation. And in addition we need to give the adversary the ability to decide which parties will terminate before others to model non-simultaneous termination. So again the wrapper samples the termination round sends it to the adversary forwards the input messages to the canonical functionalities and then it starts getting output requests from the parties. The adversary can say I want party i to get output now. In this case the wrapper will give the party i the output. But not to other parties. So we have this non-simultaneous property in such a wrapper. All parties will get the output either if the adversary says give it to this party now or if the computation gets to the termination round. So we have a guarantee termination here. Where do we stand with all these definitions? So we can now show without too much effort that the randomized Byzantine agreement of Feldman and Michali implement the wrapped Byzantine agreement functionality where D is the geometric distribution over the phases and the protocol works in the parallel secure message transmission and oblivious coin hybrid model and it is secure assuming all parties start the protocol at the same round. So pictorially this is how it looks like. There is this issue that we assume parties to start protocol at the same round and if we want composition this is a bit tricky. So that's the second part of the framework. What happens when we have fast parties and slow parties? So we have the two calls to broadcast one after the other, then we have a phase in between that can be overlapped between the two executions. And we want, this is very bad for security because fast parties will give information for the next execution before the slow parties started the next one. We have solutions for dealing with this problem of a lindel et al of Benoble and Neven of cuts and coup, but all of these solutions are focused on broadcasts on Byzantine agreement and all of them use game based definition for security. And we show a generic compiler that take any synchronous normal form protocol and compiles it to a protocol that doesn't need a simultaneous start. So the compiler is parameterized by a slack parameter c and we assume that parties start within c plus 1 rounds. Parties are no longer synchronized throughout the execution of the protocol. So the hybrids are now being called concurrently. And we deal with that also. The compiler retains the round complexity of the original protocol. So that's a good feature. The main idea is to make that overlap between the execution meaningless. So we extend each round to 3c plus 1 rounds. These ideas are also being used in the previous solutions but we had to slightly adjust them to make the simulation go through. So in the first 2c plus 1 rounds the party listens and get messages from other parties in round c plus 1 it will send its message and then it waits for another c message, c rounds without even listening. Simply waits. And to get a feeling why that works, so think of the example where c equals 1. So each party will start, all parties will start within 2 rounds. We have a first party on the left, a slow party on the right. So first round the first party listens. Second round the slow party starts by listening and the first party sends its message. So it will arrive at the destination. In the third round the first party listens and the slow party sends its message and then the first party doesn't do anything for one round. After which it completed the first communication round in the original protocol. Next the slow party doesn't do anything and the first party already started the next execution. So this is the concurrency issue. And we can see that messages are being sent as they should. Each party works in a locally sequential manner, so we have a local sequential composition of the protocols, but globally we have concurrent composition. So that works well if the protocol doesn't introduce additional slack. But what happens with probabilistic termination protocols? Each protocol can bring additional slack of c rounds and that can blow up the round complexity exponentially. If we use that solution from the previous slide. So we use technique that goes back to Bracha to reduce the slack between the parties to one round after each probabilistic termination hybrid. So we introduce another wrapper that deals with non-simultaneous starts. In the ideal model it simply extends the round properly. Now we can illustrate the composition theorem. So if we have an SNF protocol that implements some wrapped functionality when all parties started the same round, then the compiled protocol that doubly wraps all the hybrids properly implements a doubly wrapped canonical functionality and it can tolerate non-simultaneous starts of c plus 1 rounds. And the compiled protocol takes the expected same round complexity as the original protocol. So a bit about applications. If you want to take that broadcast protocol and run it and times in parallel we know the round complexity will blow up. And we have solutions for parallel broadcasts of Bernoulli and Yaniv and Fitsigari and also Katzenk who gave such solutions but actually they implement a weaker notion of broadcast. They implement unfair parallel broadcast. That means that the adversary can corrupt senders and change their message based on the message that they were intending to send. And we show how to get parallel broadcast from unfair parallel broadcast using only secret sharing, previous solutions of Hirt and Zikas used VSS. And using that we can show that a doubly-repped version of the parallel broadcast functionality can be realized in the secure point-to-point channels using expected constant number of rounds. We take that parallel broadcast instantiation and plug it into the VGW protocol which is already in a way in a synchronous normal form and we can get a secure function evaluation protocol that realizes the doubly-repped SFE functionality with round complexity that only depends on the depth of the circuit in expectation. So to summarize we show how to deal with protocols that have probabilistic termination. We can design and analyze protocols while completely ignoring these technical issues and compile it into protocols that will behave as we want. We get some applications for protocols with perfect security and we can also extend it to statistical and computational protocols. That's it. Thank you.


Welcome back to Think Tech. I'm Jay Fidel. This is Community Matters. The larger community, if you will, millions in hard payments going to Trump. We learned about this over the past month or so, and it's a hot item. And I say for this too, he is not qualified to be president. For this too, underline the word too. But with Cameron Hurt, Cameron is the program manager for Kellman Boss. And he can talk about this because Kellman Boss is looking at so many things, and this is one of those issues. Hi Cameron, thanks for joining us today. Thank you for having me, Jay. How are you doing today? I'm good. So, and I'm interested in following up on all of these things. So some of your issues, just judging from the newsletters I get for Kellman Boss is they're trying to protect us from scams around the election about voting, trying to protect us from Republican scams on Article 5 of the Constitution, constitutional conventions that are dangerous and organized by Republican groups. And we're talking about, of course, the scams that Trump does, and we're talking about privacy and surveillance. I just look at the various newsletters that I get from you guys, and there's at least half a dozen major issues that you are working on, and I really appreciate that. Common cause is special, highly credible, intense research, and great articulate power. We should listen to everything you say. So I'm going to listen to you now, Cameron. Okay, we need your rationality in a world of increasing madness. So let's talk about the report from Jamie Raskett in the house. Yeah, really amazing. Representative Raskett was able to uncover that from four of Trump's 500 businesses, so this is only four of 500. So we're not even talking about 5% of Trump affiliated businesses, but out of four of them, over $7.8 million has gone to foreign nationals or their entities. They have done work within the Trump business. So if I could put it in layman's terms, basically what it means is while Trump was in office, his business is profited exponentially from him being the president, not by word of mouth, but by what we think was a lot of quid pro quo, which we know he already stands impeached of. So what we see is something into the tune of over $5 million of investments from Chinese officials alone, $5 million of the $7 million. Now, this is breathtaking too, because what Representative Raskett's report also tells us is that this is only within the first two years of his presidency. And so when we go back and we think about the first two years of this presidency and we think how President Trump was, I would say, kind of saber rattling us as the American people to be aware of China, to be distrustful of China, to know China as our enemy in democracy. So but not so much of an enemy that he couldn't make $5.5 million plus dollars off of them. And it's things of staying at his businesses, staying at his hotels. We know that the majority of these transactions happen in New York, Washington, DC, and Las Vegas, Nevada. Now, I don't know what government official from a foreign nation needs to be handling business with America in Las Vegas, Nevada. We could assume, but we really can't speculate right now, so keep it just a speculation. But if we look at even DC and we look at New York, what on earth were Chinese officials doing in two years to where they needed to spend $5.5 million on Trump businesses and entities? And these are, it's not to say that these nations haven't been coming to New York and DC since I don't know the inception of America. What it's saying is Trump Towers have been here for a while, and we've been able to watch how they do when certain delegations are in town. We know that what they do when the United Nations is meeting in the main office in New York, these uptake in foreign entities staying in his establishments has skyrocketed enormously. And it's something that we should all be wary of. It's very interesting that you have in the top five of current contributors to Trump hotels and his businesses include Saudi Arabia, Qatar, Kuwait, and India. We know that Qatar, Kuwait, and Saudi Arabia were all a part of Trump's crown jewel, what he wanted to be his full crown jewel accomplishment of the Abraham Accords. We just wonder, was there any quick road to that? Let me answer that. Right after his term, Jared Kushner got into a deal with Saudi Arabia for $2 billion, $2 billion, more than 7.8 million cash. And so exactly what was that about? That was transactional. And that was a payoff. And let me add, too, that in the case of the hotels, and I hope you can talk about this, it's not that they had thousands of people staying in thousands of rooms at Trump's various hotels. It's that they were overpaying by millions of dollars. If you look at the rates. Yeah, go ahead. Go ahead. No, that's exactly it, what you just hit on the head. Again, keep in mind, this report only goes into the first two years. During that time, the United Nations as a full body only met whites. So that says the full body, these people are staying, and it's not hundreds or thousands of a Chinese delegation coming. We're talking about seven people, plus maybe at best 10 security guards because of American policy with foreign security guards being in. So these people are only in these Trump establishments for the better part of maybe 20 days at best. That is making giving really generously about nine days. But at best, they're in these Trump establishments for 20 days, and they drop over $5.5 million. Again, it gives the sense of impropriety that we see this entire time with Trump, whether it be things where he is praising murderous villainous dictators who never in my life did I think I would see an American president stand for, or whether he thinks about him being willing to suspend parts of the Constitution. I say this to you as a black man. I say this to you as a black man who understands that at one time the Constitution only represented me to be worth three-fifths of a person for anybody to want to take away from the living breathing document that is the Constitution, the living breathing document that allows us to strive to form a more perfect union. We must all, regardless of race, religion, freedom, sexuality, if we are American, we must have pause for concern and deep concern at length. Yeah, and that's only the top of the iceberg. You know, the 7.8 million that the Jimmy Raskin's committee found, we know. I mean, it's a syllogistic point of logic that it's going to be much more than that. Start looking at the two billion, start looking at the years they couldn't get. Can you talk about that the years they couldn't get? This is only a very limited report, even though it's 160 pages, I think. And that was astounding, isn't it? It's 165 pages and it's a limited report. And let's talk about the limitations of this report. One, it was not done with bipartisan effort, which means that we can expect that some on the Trump side of things did what they could to obstruct and delay this report and to stop as much information as getting out. A clear evidence of that would be when Representative Comer became chairman of the committee, he stopped allowing for any information to be given and effectively shut down the investigation itself. And we would ask why. We would ask why would Comer do that, especially if this seems like the same Representative who is wanting to drain the swamp because he has no problem going after Hunter Biden, Comer doesn't, is no problem going after Joe Biden on second hand information. And what I mean by that is we know as of today that the crux of his impeachment inquiry into President Biden, his whistleblower, has now been indicted. But when you get great, what was it? He was indicted for lying. He was indicted for lying, for lying on Hunter Biden and saying that he had conversations and was told things that never happened, the FBI was able to determine. And again, important to realize that the FBI director isn't a staunch Biden supporter. He is a moderate conservative who found this independently. But to bring that point back to what could be seen as obstruction, how can Comer be so gung-ho to go in on Hunter Biden and Joe Biden on what we now know is completely incredible information, but to have documents, literal receipts and statements and say nothing to see here, no harm, no foul. I see the conservative party use the term Patriot a lot, a lot. And I am the proud son of a service member. And I love our nation. I love what we have the potential to become and what we're continuously fighting to be. And with that, though, I just wonder to my conservative counterparts, where, when did it become patriotic to start serving this special interest of foreign nations? And you know, I've framed this as a question to conservatives, but it is something that even Democrats and liberals must look at when we think about the corruption of Menendez in the Senate. But really and truly, as a group that has co-opted, in my opinion, the term Patriot, when did patriotism come into serving the interests of Vladimir Putin? When did being a patriot become serving in the interests of, I guess I would say, MBS, how did it, in Saudi Arabia, when did that become the definition and the want for patriotism? It is, it's really baffling and it's sad. It's sad, you know, because again, I am young, but I am old enough to remember one, what life was like before social media. I'm old enough to remember what life was like before 9-11, immediately after 9-11. I'm old enough to remember what it was like before we went into Afghanistan and after, same thing with Iraq. And these, all of these situations led to this wave and a few more, of course, but to know how the Republican Party really used to stand for traditional American values in the most genuine way, I can't take that from them. They really did. And to see where they are now, some perverse, I'm sorry, some perverse bastardization of conservative socialism, it's deeply sad. You know, can you remind me of a piece that we published not too long ago about the hijacking of the American flag? Donald Trump never appears without 57 American flags behind him. But all of those guys, while they're lying to us, while they're making completely un-American, unpatriotic, you know, statements, they got the American flag behind them. What in the world justifies that? They're as far away from the American flag as you can possibly imagine. And they're throwing this icon on us. They hijacked this icon on us to make us think that they really are patriotic, which is actually what they call a crock. So, you know, I think it falls in the same ballpark as your comments about patriotism in general. Absolutely. Because what this is, what this is at the baseline when I say this, I'm talking about Trump's actions and his portrayal of American politics since entering the arena. But what this is is nothing short than pure Benedict Arnold treason. And people may say that that's a very bold statement or let's say a very dramatic statement. But when we think about how much he has betrayed this nation to serve his own best interests, it's unmistakable. Unfortunately, it's not a gloating matter. It should pain us all. But you have to spin things if you are all about yourself.  He is only running to stay out of jail. Period. Full stop to stay out of jail. That's what's going to best suit him. But apart from that, and this threat that that brings to our democracy is constant lying, but it's not just lying one time. We're being bombarded over and over and over again with the lies that we don't know where's the lie, where's the truth. And I have this conversation with people when I tell people, you know, this is a lie. They're frustrated.  They're frustrated because of the exhaustion that they have from believing something and getting emotional about it and then saying, saying something very egregious, maybe ignorant, and then feeling like they have the backtrack now because, oh, they got the wrong information. And I think an amazing example of that was I saw a story about a not here in Hawaii, but on the continent, a teacher who was a drag queen in his spare time at night, and he was fired. The school district said that wasn't appropriate or I'm sorry, subordinate unilaterally said that wasn't appropriate. And one of the things that people would interviewed about it, conservatives who agreed with it were like, we don't want that around our children. He can do whatever he wants in his personal time. Well, the pause right there was he was doing it in his personal time. But the headline read that a principal was a drag queen and people instinctually assume that that meant he was promoting it and being a drag queen in front of and around his students, which was not the case. Well, this goes to a question of the press, doesn't it? The media, how well they handle this, how well they educate us, how well they report and continue to report on issues that are unresolved such as this one. And then it becomes our duty as amplifier as voice amplifiers, right? To start changing our terminology so we can unconfuse our general public. What I mean by that is I constantly have this conversation with my peers and my friends. When you're watching CNN, when you're watching Fox, you're not watching news. I get that, you know, some are more credible than others, but 24 hour news cycles are inherently dangerous. They make their money from news being sensational at the bottom line. Rather, they have a conservative slant, whether it's an independent slant or a liberal slant, they need sensational headlines because they have to report on this stuff all throughout the day. You can watch the same story be reported literally 12 times in one day on one station. We must get into knowing that that is entertainment media. Now, what our local news stations do at 8 AM, what they do at 6 AM, what they do at 8 PM, what ABC News gives us every night at 6, 7 PM Eastern time. Those are actual news programs. Those are there just to give you the facts and let you draw your own conclusion. But with 24 hour cable media, they're trying to convince you of a point of view. And what we've seen in that, I think since the evolution of this has been a gathering into silos.  Which one are you? And to be honest, as a kid growing up, that affected your personality. The Nickelodeon kids were a little bit more rambunctious, a little more do what they want, a little more say whatever they wanted off the top of their head. Disney kids were supposed to tell the line, be nice kids like musicals and stuff like that. But again, this is ways that these two TV stations kind of cultivate a little bit of a cult-like personality. It's the exact same thing right now with 24 hour cable media. Well, and it's worse. It's worse. It's not just repeating a point of view story. It's not looking for news beyond that. Not giving us anything beyond that. And furthermore, looking for raw meat news, news that excites the passions. And that means more viewers, more eyeballs, more advertisers, more money. It's bottom line. It's given by the bottom line. And it's shameless really. It really is. And it's shameless because they do it at our expense. They do it at our expense. They do it at, and not with this one, it's the media and our politicians because we, the American citizens, we live with their decisions. We live with the Rupert Murdoch's decision to prioritize his family staying 100 billionaires, I'm sorry, billionaires versus telling the truth so that we can come together. I'm fortunate enough, I currently, and a half for the past decade, lived in Hawaii. I grew up, though, in Tennessee and South. So I grew up in a supermajority Republican state. I have grown up all my life around conservatives. I've had conservative teachers, conservative friends, conservative family members. But I've never seen conservatism so volatile. So void of reason and facts. And again, it's deeply sad, deeply concerning. I would hope that eventually reason would give way, but as long as people continue to put themselves over the betterment of us, the community, we'll always get sold out. I think Nikki Haley is a great example of that. Now, don't get me wrong. I would love to see Nikki Haley win the primary, but for her to be very surprised at Donald Trump, kind of, I would say, made in situations about her husband not being around. As her husband is a service member in this nation and currently serving overseas, God bless him and all who are serving overseas. But she said that should disqualify him for going out of service member. She was eerily silent, though, when Trump and MAGA alike went after John McCain. Not only was she silent, she ended up taking a position with him. Again, I'm somebody who grew up in the South. I would have a lot of respect for traditional conservatives. So John McCain is somebody who I think that we as all Americans, we can draw pride in. You don't have to agree with his policies. But I think he's an American that all Americans can find a point of pride in. To see people like Nikki Haley be so I would say disgusted by who Donald Trump is when it's their turn to get the heat, but not say anything when they see it happen to other peoples, that is the epitome of what's wrong with where we are right now. Well, what's wrong with where we are right now is going to continue despite the efforts of common cause and think tech away. And it's very troubling that we are finding, we talk about a swamp. You peel it off and there it is and it's raw corruption. It's all those animals under the rock and they're all doing horrible things. They're all involved in transactional. We should have taken the transactional nature of Trump's withholding the 400 million from Ukraine back in 2017, but we didn't. He managed to get by that. He's gotten by so much. And what it all unfolded sits then has been just eerie, just eerie that the nation that was around his first impeachment, the nation that was in need of these weapons. And Trump knew that they were in need of these weapons. And he probably understood now in hindsight the security threat that they were facing and the barrel that he had them over. And for him to push that, to try to get information on his political opponent, but then argue about a two tier justice system, the logic does not track. It's inconsistent as it is almost idiotic.  But what about Russia? We talk about Ukraine, and of course it reminds us of Russia. I feel, and I wonder what your thought is, that Trump is indebted to Russia and he's paying off a debt. It's all transactional that he supports Russia in this war, that he says he's not going to support Ukraine if he's elected or if he takes power, one way or the other. And it seems to follow a line of activity, a line of dots if you will. And if you connect the dots, and the press doesn't necessarily do this, if you connect the dots, you find that he's wedded at the hip with Putin. You have any thoughts about that? Yeah, I think, one, that one is so messy that I won't get too deep into speculation, but I will get into what's fact. And what's fact is that he has building permits in Moscow right now that went into effect the week after he became president. So we know that he has interest in building and in real estate in Moscow. You could assume that that would be financed potentially through the leave golf tournament that he is working with with the Saudis. I also think Putin has what Trump wants. One, Putin is older and fit. I think Trump would give anything to be a fit man. He can't do anything more than lie about his weight and his height. I think Putin also has the respect of his people, but respect probably that comes from fear. Trump wants that as well. And he has a very homogeneous society that I think Trump admires and wants. The way that they value men and the way that men are looked at in Russian oligarch society. Trump wants that oligarch respect that he doesn't really get here in America. And that's because we're a land of the free and as much as media would try to say that we worship our celebrities and our political figures, we're not as bad as many nations. So I think that he admires what Putin has. He wants what Putin has. He wants to be a democratically elected president for life, which is essentially what Putin is. I mean, this is a guy who has been leading Russia since before I was in middle school, I want to say or right as I got in middle school. So he admires Putin. I think that's ultimately what it is as far as in bed with absolutely. I think he's betting on Saudi Arabia and Russia to be very lucrative for him, seeing how he probably won't be able to do business in New York for very much longer. Yeah. And who knows exactly what the deal is with that hotel in Moscow. Oh, what kind of money is going to flow into Trump's pocket or already has flowed into tragic North Koreans? Yeah. So, you know, what I when I get out of this is that we know 7.8 million was found that Jamie Raskin's committee oversight committee found that that was inappropriate. We know that there's an issue over the emoluments clause and the Constitution as to whether you should take money from a foreign power. And I don't think Trump is so clever that he could avoid a claim that he is in violation of the emoluments clause. And when you start to tally it up is in gross violation. The question really is how much more is there? How can we find out how much more is there? And what do we need to do to find that out? Like, you know, the oversight committee? I would say, yeah, I would say that there's definitely a lot more out there. When I say we're at the tip of the iceberg, I mean, we're really at literally the bare tip and the rest is underwater rate waiting to be seen. What we can do is we can vote. We can vote. That is going to be how and not just these presidential elections. No, I'm hoping that people saw how critically important it is to vote for your local senators or your local House representatives, your county officials, all these people play a decision. All these people came into effect when it was time to effectively correct President Trump when he served as president. But because we didn't have the right officials and nothing was corrected, we can do this. And we don't have to just go after Trump. No, we have to go after the entire system. And the family, I'm sorry, the family is involved. The family is a conduit for some of these monies. How does somebody who believes that you take one truck down, the rest of the dominoes will fall. So, okay, so voting means hopefully flipping the house, flipping the house is where the investigation has been and should be. So let's assume, let's assume one thing and another, you know, we have a couple of wins in recent days, and maybe we will be able to flip the house to Democrats who will who will reinitiate that investigation. We get Homer out of there. Homer is a fraud. He's just working for Trump. He's just a follower. And so the question is, how does that investigation go? What do they do first? What are they looking for? What might they find in what corner of the room? And here's the thing, suppose they find that it's not 7.8 million, which is bad enough, they find it hundreds of millions, okay? And Trump has been, you know, brandized by hundreds of millions of dollars, by his own corrupt and criminal efforts. What do you do with that? How does that work then once we find out lots more? I think that is going to be a question that we're going to have to address in that time. I had never in the history of America, we had a president that has already 91 indictments. So I think those are going to have to play out. I think if you were able to flip the house, but you don't get the presidency, then nothing happens if Trump becomes president again. Now, if you flip the house and you keep the presidency, I think you may see a move by the Democrats to possibly wash it under the bridge, because like I said, there are 91 other counts. And I think what they're going to focus on is probably the most egregious of the egregious of the despicable, because there's so much to choose from. It's like a shopping mall of violations, just pick whatever store you want to go into and shop from. However, if they do take it on, they will definitely probably, not definitely probably, they will absolutely make sure that they have a seasoned Democrat head that committee. And I think there will be a push, like we saw with the January 6th committee to have it be bipartisan. They're going to want at least one or three of Republican voices on that committee so that they can have some validity in it. But I think that would be it. I think also when this comes out, we may end up finding out that President Trump may have had more knowledge, more situational knowledge, more understanding that certain situations in the globe or in the world right now today were inevitable or would be happening, which may be also I held onto some documents and kept certain friends. So what I think is more so not the money, but I would be interested to see it how much he knew about Ukraine. Yeah, it should be revealed to the public. It should absolutely be revealed to the public. And to be honest, we should announce real charges. We should announce real charges. If something is insurrection, it must be charged as insurrection, otherwise stop calling it an insurrection. And something is treason, make the charge for treason or stop calling it that. It's not just Trump's side who's dropping the ball on this. It is absolutely our entire system that really is kind of showing how weak we are to this. Yeah, so one of the points I want to extend with you on, we covered it briefly, is the policy point about why this is bad. Of course, it's bad under the emoluments clause. And it's bad as a matter of corruption. It's bad as a matter of keeping it secret. He would have kept it secret forever at the oversight committee not found it. He would never have said a word. Nobody would have known about it. And so you wonder where the press is on this, because this story came out roughly a month ago. So I saw it there. In fact, we had a talk show about it a month ago. Now Common Cause is on it. And Common Cause is doing stuff about it and making it public. But in that month, I haven't seen the media anywhere. So the media has not been following the story. And they won't because they've calculated that this is now Trump's fatigue. Another crime that Trump has committed, the general public doesn't care. The people who care already believe he's a criminal and the people who don't are never going to believe it. So they don't care. And again, this is the problem when what you're after is profit and not actually informing us about what is going on and what intimate and perceived danger we may be in. Yeah. Even if the story is that we demand information, we're not getting it. Even if that's the story, people should know. The other thing I want to know. We deserve to know. We deserve to understand how the president of the United States is, or the former president of the United States, is very close to several dictators or is his best friends with the nation that created Wahhabism, which led to the attacks of 9-11. It's very interesting to find how he is in such good standing with these people while our nation and our people aren't in good standing with these people. This is a man who made it his business to ban people from predominant Muslim countries from coming in. Who was left all of that list, though, was the nation where majority, and I mean majority, I'm saying at least 90% of the hijackers of 9-11 came from Saudi Arabia. So all of this has been very concerning because all lanes point to something potentially bigger. But we can only speculate that that is not fact. But what is fact is that a former president is facing 91 criminal indictments. Yeah. And the point I think that follows from that is if you have somebody who has been receiving this under the table money, call it bribes because that's what it is. If I pay you 10 times the value of a room in the Trump hotel in a place where no diplomat would go, no representative of China would go. I mean, I've seen that hotel. Actually what happened is it was on this side of the street and I couldn't stand being on the same side of the street as that Trump hotel walked on the other side. And it's right in the middle of the gambling district, the center of Las Vegas. So really, what are they doing there? But the point is the fact that every country a part of the Abrahamic Accords is a part of this report. It's very interesting. So anyway, so the president gets this, he does this, he keeps it secret and it benefits him in terms of millions of dollars, maybe hundreds, maybe, maybe more than that. Okay, and then how can we feel ever that he is representing our interest honestly and faithfully? We can. He did not have to think that he is representing our interest. He represents himself. He does not even represent his family. That man represents himself. And he may be doing the bidding of those to whom he is indebted, therefore working not only for himself, but for them. And I mean, I think it's not an unreasonable possibility just logically that he is working for them and against us. This is totally intolerable. And an individual with this kind of track record is not fit to be president ever. And I think it's really important that common cause is taking this up. I think it should be work and work and work. I think the intelligence agencies ought to go after him on this. I think the media such as it is ought to go after him on this and good for common cause for going after him on this. It has to be something that feeds into the public decision making when it goes to the polls in November. It has to be. It absolutely has to be. And you know what, the honest is after 2020, this could look a whole lot different. I'm not not 2020, 2024. I'm sorry. They get back to what we first had to beat him. If Trump can be defeated again, I imagine just like we saw 91 indictments the first time he was defeated, we may see 91 new ones. And again, it's, it's horrible because it's framed as a witch hunt. But if there was no magic, there would be no witch to go after. If there was no room in the air that nobody could say there's a witch, there's a witch, there's a witch. These are all whole indictments that he is earned. That he is absolutely earned. And again, if he does not, well, I think he's betting everything on this, this next one. If he does not win this, this next election, it's over for him. And it's over for the back of him. Yes, that's true. The stakes are high. And on the other side of it, if he does with the election, and he does, you know, continue this criminal corruption, then the message is it's okay to do this sort of thing. So it's not just Trump we're talking about is all his lights and all those who watch him, not not only here, but elsewhere. Yeah, Matt Gaetz win, Lauren Boebert wins, Marjorie Taylor Green wins, Comer wins. We have Alex Stone wins. We have so many people who need Trump to win in order for their careers to keep going. We don't even know who they are, but we know that they will follow him in his footsteps, and the American ethic will be changed permanently. So that's the dark side. That's the experts. There will not be any experts a part of his administration if he wins again. It will be nothing but yes, men who will do what he says when he needs them to do it. Yes. Why do I feel I'm a yes man? All right, Cameron Cameron, for the common cause program manager here, who I look forward to further discussions with you. I so enjoy your passion and your Acoma Highway and looking at things. Thank you very much, Cameron. Thank you. You have a great rest of your day and thank you for having me.


Well, first of all, I think what Prime Minister Modi is doing is absolutely amazing. The ambition when it comes to climate is higher than anything I've seen. Just to put this bold target of a billion tons of reduction of CO2 by 2030 is bigger than anyone else. So the country under the leadership of Prime Minister Modi is really putting the money where the mouth is. But as he said as well, skill and skills, we have a lot of skills that will help support this, especially because India itself is developing tremendous capabilities as well, has done over decades now. So that cooperation is just going to be very, very powerful in my opinion. And if you look at the leadership of both countries, Prime Minister Freiksen very much concentrated on the knowledge economy and making sure that we are at the forefront of technology when it comes to climate change. And then under Prime Minister Modi's leadership, the ambition of making India basically one of the most important countries when it comes to clean energy and clean manufacturing. Also, India has taken several reformist steps or various economic reforms in the last many years. Will this help you or will this attract you to enhance your capacities as far as investment in India? So how do you look at it? Because Prime Minister talked about FOMO, fear of losing out. Yeah. Well, we're not afraid because we have been in India for 70 years. If you take the ammonia plants, which is the basis for the fertilizer, 26 out of 36 are our technology. So we have been there. We are growing our presence there to about 1,000 people. And we are in many discussions with local companies, Indian companies, to actually invest in India and create manufacturing capability and capacity in India, in joint ventures with Indian companies.


And then finally the cost of goods sold on the income statement got reversed so we're going to say cost of goods sold There it is and if I go to the prior period here to see the two transactions side-by-side You see them side-by-side Scrolling back and then also if I go to the balance sheet the inventory Subledger is going to be updated for inventory in units So that's the accounts receivable isn't impacted because it already got paid