Welcome everyone, this is the weekly TSE call. As you all know, this is a public call. There are two conditions to participating. First one is to leave by the antitrust policy. The notice of it is guaranteed displayed and the code of conduct that you all know and love. I'm sure. Got to. So with that further ado, let's get started. First, we have a few announcements. So as always, there is the weekly newsletter that everybody should try and take advantage of. And then Ellen added a bunch of, a couple of items I will let her speak since she's just joined. Sure. I just wanted to remind everybody that the next DevRel marketing meeting is next Wednesday. It's every second Wednesday of the month at noon EST. And just encourage everybody to come so we can help leverage all the great work that's happening out in the community and learn about it and help amplify the work that you're doing. And also the next meeting of the White Paper Greenhouse Task Force, update task force is tomorrow at 10 a.m EST. So if you missed our kickoff meeting last month, they're still, you know, we're still open to new contributors to that project as well. So we encourage everyone to get involved. All right, thank you, Ellen. And then we have an announcements from Rai, prompted by me, I must say. I kind of pushed him, but go ahead Rai. This is a more general announcement that the Azure pipeline and fabric is migrating. There are a few projects left that are using it. Here is kind of the discussion on what's going on. So I can't give you a timing, but it's coming. So if you're depending on ACP, I ask that you move to GitHub Actions to Tweet. Thanks. Is there any questions or comments on that or any other announcements from anyone? Dana? How about CircleCI? Is CircleCI still viable? Do we need a look to move to GitHub Actions? Is it, you know, what's the status of that? Okay, the status of CircleCI is, so ACP as a product is going away. So that's what's prompting me to try to get people to move. CircleCI as a product, as far as I know, is not going away. I would super appreciate it if Bezu moved to GitHub Actions, but it's not a requirement. And because it's working, it's fine. So I mean, that's a discussion that we can have you and I can have or whatever, but CircleCI, as far as I know, is fine. My personal preference would be to get you into GitHub Actions, but that's just a personal preference. Yeah, I think the last time we migrated, actions wasn't open for the world. Are we the only projects still on CircleCI? I think so. I think you're the only project paying for it. I'd have to look. Because we're having problems with our external contributors being able to trigger the CI pipeline. So we might be in the mood for a switch anyway. Well, for a bunch of reasons, that would be awesome. So let's discuss it, let's you and I discuss it offline. Well, we'll do. All right, very good. Thank you. Any other announcements, anybody? Or questions? I'll make one quick one, actually. You know, a while ago, we decided to invite all the other groups within the Hyperledger community to come and present if they chose to, you know, to tell us what they are working on. And that was in an effort to bridge the gap between the different parts of Hyperledger. We have only had a few groups actually take up the invitation, but it occurred to me that we should extend that invitation to the labs. So I took it on myself to inform the labs, although it's kind of hard to reach these people. I basically just posted on the Labs channel, which, you know, I don't know many people really pay attention to. But so if you are involved, you know, in some ways in a lab and feel like, you know, this might be a good opportunity to give your lab more exposure. I invite you to consider this and share the information around. All right. Okay, so let's move on then. Quality reports. There are two reports that were submitted. Avalon has been around for a while. Cactus really just came in very late. So I don't know that many people had the chance to really look into it. We'll carry it over to next week anyway so that more people have a chance to look at it and ask questions if they want to. When it comes to Avalon, I didn't see any, like, you know, need to raise the issues. You know, the project didn't raise any issues. And I saw comments that were positive. I don't know if anybody has any questions or want to say anything about the Avalon report. And I do, to say, Hart quite rightfully pointed out in the cactus report, I don't know why the template asked for the name of the project at the beginning when it's already in the title of the document. So maybe we can update the template to remove that section which doesn't seem to be very helpful. But that's a side note. As I said. Sure thing. Thank you. But so we'll, I see that, you know, a few of us have had a chance to look at it but the majority have not and that's okay. We'll carry it over. We haven't heard from the Quilt and Explorer projects in now a few weeks. So I don't know what's up with that. It'd be good to have some update. All right. That's all I have on the reports. And I mean, I don't see anybody raising their hands. So I assume we're good to proceed. So we have a collection of discussion items for the agenda today. We'll see how far we can go. The first one is the DC Ovalidation during Contribution Review. That's an item that was raised by Dano a couple of weeks ago when we had the last call. At the end of the call, I mean, we basically, you know, said, okay, put together a proposal which he went ahead and did. And there was quite a bit of discussion which seemed to be in support of the approach although there were some concerned about the details of, you know, how much control we should have. And in the end, there's a question as to, you know, whether from a legal point of view, the proposed solution would satisfy the, you know, the legal requirements. So I just felt like, okay, we haven't, it'd be good to take a little bit of time to discuss where we are and, you know, see what needs to be done so we can keep making progress on this issue. So Dano, if you want to restate what I tried to say and in your own words, maybe you can do a better job, I don't know. Sure, you got the most of it. So is there, can you click on developer-certificate.org. It's down in the second paragraph, no, the second section. So this is the legal statement that everyone's supposed to be asserting to when they add the sign off by line and there's four clauses, three of them that are really relevant. A says I did it, B says I got it from somewhere else that is fully licensed and C says that I got it from someone else who did either A or B. And what I'm proposing for the DCO, because in here, you know, having that has to be assigned off by in the commencement stream is not one of the requirements. It's a practice and my question is, is that, you know, legally speaking, is that how we have to do it all across the board or not? So my proposal hinges upon the functionality of clause C. So if someone's proposing a commit and they forget to put it in there and this is only, so to set the stage for this, this is only gonna be valid for projects that use the squash and commit flow. When they take a contribution, it's reduced to a single commit and added to the chain head, not the chain head, the tip of the tree for the get commit. So there's only one commit that comes in from what might be, in some cases, I've seen like 30 to 100 different many commits come in. So it's part of the merge by the maintainers that squashed down to one commit. They rewrite the commit message, which is typically just the condensation of everything that comes in beforehand. Now the DCO checker robot that we use right now treats PRs and the main line of the PR commits and the main line of your project the same when it's looking for DCO and requires the DCO sign off at every single line. So the proposal is for PRs, that if they make a commitment, either at following that policy or in their comment stream, after all their commits, they say, I certify that this is my work pursuant to this in the GitHub comment stream, that when a maintainer does a squash and commit, they can then move that signed off by line into the squash commit.  So they've made the certification in the comment stream and then we can take that certification, put it in when we do the squash commit. Now this proposal wouldn't work for baseline recommits because they take the entire PR tree in and it wouldn't work for straight and merge commits and I think that's written into the policy. So it would only be an option for those that do merge commits and to use Ethereum speak, this is basically an optimistic roll up of their commit into whether they commit into the chain. So that's the gist of the proposal is to allow the maintainers to accept the certification some other way. So long as the master, the main line and the other line you produce a release from for every commit has a certifications. All right, thank you, Daniel. So as I was saying, there were some discussions and concern with regard to whether, I think that in a comment on GitHub was enough and whether there should be some, we could enforce that the information doesn't get lost while the merge is done and that we have a check that guarantees that the information is preserved. So I don't know that there is much we can do in this regard. If I might, there are two opportunities here. One is that we do have a process for, and I just wanna say, I really appreciate the way Bezu does the DCO remediation right now and I know what a pain that is. We do have a process for doing DCO remediation, which involves a commit where it has, where it is properly signed off by and it lists the hashes, I did this, I did this, I did this and I can't tell you what that format is or I'll stop my head because I forget but that was already, we already had that discussion, whether or not that's okay and I'll have to dig what the answer was. Yeah, the other opportunity and I don't know who, I don't wanna speak out of school but I know that the maintainers of DCO bot have tried to give ownership of that bot to a Linux foundation employee several times and that employee probably pretty smartly said, I don't wanna own this but perhaps that's something that we could, we Hyperledger could reach out to and fix DCO bot itself once everything is cool. So those are two things to keep in your mind that we do have an opportunity to take over DCO bot and we have already discussed DCO remediation without rewriting history itself. All right, thank you. So it seems to me that first and foremost, you would need, there was a legal question being raised. So the staff has to take this on and there were a few prompts for Brian but Brian seems to be missing in action. He has not responded. I see he's not on the call today. So who is going to carry maybe Daniela is next in line? I think that would be reasonable. I see that Daniela is muted but... Yeah, because I think what I want to get out of this discussion now is a set of basically action items that we can carry on to make sure we're making progress and this doesn't just sit there. So I want to know what the issues are that we need to get addressed. I know there's this legal question so I'm trying to make sure this is being taken care of and I believe the staff is in charge of that in one way or another. What else? The DCO bot I guess would come later once we know yes, this is an acceptable way forward. So there is, we don't necessarily have to rewrite the DCO bot to initially to implement this policy. Maintainers can go in to a commit and disable the status of the DCO check and make it pass anyway. So if manual intervention is acceptable then that's something that we don't have to change immediately, but I would prefer it to be honest. Yeah, and do something like this. So what they could, Jmetrix done, that's awesome. So they would check for that in there and it would include those in the acceptable lists. Yeah, so this is, I'm not gonna say this is canonical but this is pretty close to canonical. Troy? Yeah, I think the two important points other than the legal piece is having a bot that can enforce this. And I think one of my big concerns is this remediation needs to be documented on if this mistake is made and a commit without DCO gets in. What is the remediation that doesn't involve get history rewrites? Because in the project Simon I really don't wanna see get history rewrites.  So yeah, it's basically a fork. If it's a DCO contributor, we ask them to rewrite their PR because that's the only way to bring it into compliance or close the PR and start a new one which is history rewrites by different name. Sometimes on occasion we mess up the squash merge and don't include any signed off by lines. In those cases, we have a check in our Gradle build scripts that will fail before it compiles everything. So we can't get a build off of mainline until we fix that. So we have to go in and rewrite that one commit that we did and then do a force push over it.  So with squash and commit, there's the opportunity to do a fat finger mistake and the remediation is just to go immediately fix it as soon as possible. And that's what I've observed. These breakages don't linger long because the pipeline breaks and everyone, it sets a fire alarm off and everybody's had to fix it. So. Okay, Troy you're next, but I did want to point out that, and I was unaware of this if you scroll to the bottom of the page on the Wiki page here on the GitHub page. This is news to me that there are Chrome and Firefox extensions to do this. So anyway, Troy. Yeah, I was just going to comment what was just described is exactly what I don't want to see. I really don't think we should be force pushing domain because of DCO problems because we disabled a bot that made us, we didn't have to do that. So I definitely don't want to see that personally. So we did disable a bot. GitHub has no hooks on a squash commit to check to make sure that you have anything in there. There's no changes that we're doing there to remove it. So it's a GitHub shortcoming. Right, what I meant by this is right now there is a bot on the commit itself. So by not having that bot enforcing DCO on the commit itself, these things can happen and result enforce pushing main. I don't think force pushing means a very good practice. All right, so it sounds like for Troy, I think that DCO check is important and the must have. But so who else, is there any other, yeah, Tracy? Yeah, I mean, in my comment, Tray, I think the important part is that we need to ensure that the people who are using the code are not going to be subjected to any sort of legal ramifications if we skip DCO sign off, right? And we do it in some other way. And I really think it's important for us as the TSC not to be the ones making this decision. It just doesn't seem like we are the right people to do that. It is going to impact all of the member companies. It is going to impact anybody who's using any of our projects in any of their short spaces. I think this is a high risk as far as opening up things to get slipped into the repos. All right, thank you, Gary? So I guess, are we saying here, so to me, all right, if this fruit passes legal muster but I guess Bessie's already doing it and a project so chooses to do this, I guess, whatever, that's not for me to say. But we're not saying that all projects have to choose to allow this, right? I think it should still stick. All projects are required to have DCO sign off and optionally can have this other thing if it passes the muster because I'll be honest, I will not do this on fabric and I doubt any of the maintainers will either. We don't have this problem. Bessie's not doing this process right now. Any PR that comes in, all the PR commit lines have to have a DCO sign off. Okay, but you just said, oh, so you were just describing what the process would be for your squad commits? But put it in any case, put it in any case, that's fine. So you're not doing it today, that's cool. I guess I don't want this to be the policy for every project we have. All right, so that's a good point. So this was specifically asked by the Bessie project and I hear people saying, okay, maybe they can have that but we don't want to recommend it or definitely not impose it on everyone. Correct. Okay, so I hear there are still two questions at hand, right, it's the automatic check and the legal aspect. Okay, I think we can leave it at this for today. Get that taken care of and so I guess it's all in the staff, right? You will be the conveyor of that message to the staff, please. For you, Arnaud, of course. Thank you. All right, let's move on then, badging implementation. So there was quite a bit of discussion and confusion as to the state of the badging proposal and its implementation and especially with regard to automation. So I actually did my own research, went back to recording. It's great to have recording primates, it takes a bit of time to go through them and but I eventually found the exact time when this was discussed. And I sent an email yesterday about my findings but I'll repeat it for everybody. And the bottom line is, so there was general support for the badging proposal but there were concerns with regard to the cost of the implementation. So we say, let's not rush into imposing this on everybody. Let's do some experimentation. And of course, if we get some automation, mechanism that would leave the burden a great deal and then it would be easier for us to say you really need to do this. And so when it comes to the automation part, nobody committed to do anything but Brian said, I believe that this is something that would be of interest to a lot of people beyond Hyperledger in the Lunar Foundation. And I'm pretty confident we could get resources to work on this. But so that was left at this. I mean, Ryan mentioned initially, well, we could maybe add that to the Insights tool which sounded great, you know. And so again, Brian is on the hook as far as I know although he has not firmly committed to it and we haven't really given asking formally, please go ahead and figure this out. And so in the meantime, we said, yeah, so maybe Project can experiment doing it without the tool which we don't have for now. And so Daniel volunteer said he would do that for the next quarterly report of Bezu. And I said, maybe we can look into it for Fabric as well. And that's where we stand. So I don't know if there's anything else that needs to be done, but I wanted to take the time to get everybody on the same page. Does that answer everybody's questions about where we stand? Or if there's any other thoughts, you know, please speak up. So again, I mean, I, you know, right, I think this is an issue for Brian to see if there were, you know, if there were resources available that could really look into the automation of this, making this system. It would be nice if that could be, you know, looked into and come back with an answer so that we can proceed based on whether this is something we can expect to have at some point or if it's no go. Arun. Hi, thanks Arun. So I'm still of opinion that we should try this out and go with the proposal, rather asking if we can do this completely automated at first hand. So I know if you volunteer to do this on Fabric and I'm willing to do this as well. I don't have access to Fabric, but I can try this on some project where I have access to some of the repositories or maybe on that. All right. Yeah, and I mean, at this point, you know, anybody who is willing to experiment with some project, you know, is welcome to do so and then report back once they have done, once they have gone through the exercise. I mean, we are in a, you know, gathering facts phase type of thing where looking for feedback with regard to experimentation. I will point out again that I have a separate org for testing stuff. So it's explicitly something that I created for messing around without annoying people on the main project. So if you want to mess around with how stuff works in an org, let's fork some repos over here to Hyperledger CI CD and let's make it happen. You're talking about like if people want to experiment with the automation or? Yeah, if people want to experiment on badging and they don't want to put code in their repo and they don't want to use their main repo or their main org at work or whatever, I have a throwaway org to experiment on. Okay, thank you. Just want to make sure I understood what you're saying. All right, anything else on this? Okay, if not, I suggest we move on. So for the rest of the agenda, really it's all about, you know, I've been going through the decision log looking at issues that have been left pending and, you know, try to figure out what we can do to move forward one way or another. And I think, you know, so the first one is the proposal I made of renaming the active status and colleague graduated. We had a discussion, there was general agreement that renaming it would be a good thing because, you know, there is no doubt that active is not the best name and has been confusing. There were some, you know, concerns with regard to the confusion using graduated could lead to because we also talk about labs graduating to projects. And so people might think, well, if you call it graduated, it just means you've graduated from a lab or at least it'll be ambiguous. And there were some discussions about using some different names and especially Daniel proposed to use Premiere but it was more, in fact, come the way I read it is more like a different type of level with more criteria built into it. And it's not, it's more for like a badge type of thing that you can gain or lose and that would be reevaluated. And so, and then there was this discussion, well, we are talking with badging and why should we bother with the life cycle which may completely go away if we adopt the badging mechanism we just talked about. And so my idea was, well, you know, the badging may take some time and I believe this has already been proven to be the case. And I felt like renaming active to graduated is the low hiding fruit. So I'll date with the caveat that, you know, I recognize regarding the possible confusion, but, you know, we have similar confusions like, you know, even though we said people shouldn't talk about lab projects, they do all the time and we have to kind of correct them. And yes, it's not ideal, but for me, it's kind of a pretty small cost. I still feel like, you know, we would benefit from changing the name to graduate. So I, and, you know, I'll totally respect if the majority of you would say, no, no, we don't want this. It's not worth it either because the name is confusing or because we prefer holding on until we have the badging sorted out. But I felt like, okay, we need to go back to this issue and decide when we're not there. So that's why I put it back on the agenda. Any comments or not? Otherwise, I'm actually happy to vote up or down just to, you know, move on. But if there are any questions before Arun. Quick question, what is the cost of having this changed? So my understanding is this fairly minimal because we have a few labels on the websites and we have the life cycle document that needs to be revised, but that's pretty minimal. And so we would, you know, Tracy actually did us a favor by searching for graduated in the websites a while ago already. And that's why she found a few references, instances in which we're talking about labs graduating. But so I believe, and please, you know, if anybody believes otherwise to speak up, but I believe the cost of implementing this is pretty low. It's just a few documents that need to be updated. And I would, you know, as I proposed there, I would still keep the name, you know, as like formerly called active in the life cycle so that there's a reference. So if anybody here's active being referred to, they can find what this is. There's no point in ignoring the story. But we would just, you know, stop using it actively. So it's no pun intended. So, I mean, just looking at the DCO sign off earlier, I mean, they're on 1.1, right? So could we just do project life cycle, you know, 1.1 and say we renamed active to graduated. And if you find this, do that, instead of keeping it hanging around, Varun? So yeah, I'm now thinking about another case where, so we had a project that was active earlier and then end of life cycle or that project was then planned to be deprecated, right? For example, there was a tool using which we could have set up fabric network. I seem to have forgot the name, sorry. So calling it graduated and all projects, I mean, when we have labs project graduating after high pressure and then if we don't distinguish between them, the projects which are actively maintained versus not actively maintained, how do we? When labs graduate to projects, they become projects in incubation. So there's no ambiguity, it's just in the transition, how they are being referred to as transitioning from one to another. So if you graduate from a lab to a project, you go from lab to project in incubation. If you graduate out of incubation, you become a project that has graduated. And I concede that it's not ideal, but I haven't heard anybody proposing, so there are two or three options in front of us really. It's one is, we just kill it, forget it. I'll no thank you, but no thanks. We can accept it or we can say, yeah, it's a good idea to change the name, but graduate is bad one, but somebody will have the burden of coming up with a different proposal. So if that's the case, I would say, we really just kill it for now until somebody has a better proposal. That's the choice. Okay, if nobody has any more comments, I will call for a vote. So does anybody object to the proposal? Oh, wait a minute. We had this happen last time. There was a vote. There was no second. Yeah, sorry. Does anybody want to say again the proposal? If nobody wants to. I'll second it, but I just want to say, I know I cannot believe that respective leader like yourself is forgetting our rules of engagement here. I'm kind of disappointed. I apologize. We may have to have Tracy step in for one week of attendance. Okay. Okay, so we have a speaker. So if the TSC members want to vote by emoji or you can do your roll call, however you'd like to do it, I don't know. No, so I have to say I know I'm lucky guy to stand on the insights executive board and the way they do it and they play everything by the rule, the Roberts rule by the letter. And they, but they don't bother having this kind of roll call where everybody's called one by one. They just say, does anybody want to object or abstain? And in general, there is silence and it's approved in an emergency. So this is what I suggest we do but Tracy has her hand up. You ask the question. I abstain. Okay. Tracy abstains. Anybody else? Abstain. Dino. And me too. Abstain. Maria Teresa, okay. I will also abstain on this. Arun. Anybody wants to object? Hearing none, this is approved with significant amount of abstain but no objection. Thank you. Can we count that? Do we, did we get Nathan and Mark? Cause I'm pretty sure that with the quorum you didn't get enough votes. How do I get enough votes? Nathan and Mark are not shown up. You had four people abstain. Grace isn't here, Mark isn't here. Nathan isn't here. That's eight people. Mark got kicked. I think Mark got kicked off in Zoom. Is Mark the person that I asked to change his name? He's back with the R9, is that Mark? Well, there's someone that has a name of R9UM, blah blah blah. I sent him a message and asked him to change her name and they didn't reply after a while so I put him in the waiting room. So if that's Mark, then I apologize. Well, Mark said he, Mark texted me and said he got kicked off. That's all I know. All right, so let's see who is in support so we can count. Maybe we need a roll call. Yeah, I was going to say. Let's see who from those who haven't spoken up. So I'll start. I'll know, then we have Gary. I'm a yeah. Yeah, so I'm looking at the list. Angelo. I second. This is for approval. Yeah, or nay. Angelo, do you vote in favor of this? Yeah, I will do favor, I second, yeah. Okay, Arnaud is yes. Arun is abstained. Bow Wow. Do you vote in favor of the proposal? Yeah, I would vote that. Bobby. In favor. Dano abstained, right? Right. And David. Yes. Gary. Yes. Yay. Grace is out heart. Yes. Maria is abstaining. Then we had Mark Wagner, if you're on and would like to vote. I saw you unmute, but it didn't, I didn't hear you Mark. If you want to say it in the chat over in the TSC channel. Tracy abstained and Troy abstained. I said, I didn't abstain, I said yes. Okay, let's see what Mark has to say. Okay, so that we only have abstains and yeses, there's no, no. Doesn't mean it's yes anyway. That's a procedure question. Do you need a majority of the entire quorum voting yes or you just need more yeses than noes? I think that's the open question. I have to. You need a quorum, you need a quorum to attend the call and then you need a majority of that quorum. Yes, I agree with that. If that's the case, then I think we are, I think it did pass. Let me come back and count the votes carefully after the meeting and I will. All right, suspense. We'll have a recount. It's in fashion, that's all right. Okay, I don't want to spend too much time on this. I really wanted to dispose of it one way or another. So we'll leave it to Wright to figure out which, you know, it goes. I have another one. Well, you better change your email address and your home address could get ugly. Okay, the next one on the list, I actually just created the entry, but this has been, we failed to capture it with the, with an entry decision log, but this has been discussed many times and there was a separate effort, you know, to try to come up with a proposal, but it has to do with the current, you know, requirement to have a lab sponsor for lab proposals. And there were discussions as to the role of the lab sponsors. There were many discussions as to the challenge that it has been for people out there who want to propose a lab but can't figure out a lab sponsor. We've been going back and forth, you know, and it was part of the six feedback we got when Tracy reached out to them was, it's too hard to create a lab, the requirement to have a sponsor is stopping us. And we have actually seen that. And I say, we, you know, I'm one of the labs stewards and we've certainly seen proposals sit there for weeks and tell people pretty much give up just because they failed to get a sponsor. And we've talked about how we could get people to volunteer, but it just doesn't happen. So I want to go back to this and say, okay, let's buy that bullet once and for all. The reality is there is also some misunderstanding in what the role of the lab sponsor is. I know that Brian for one thought that the lab sponsor was going to, you know, do some hand holding and help and ensure in fact that the lab behave, you know, according to our roles, whatever that is, you know, policies and make sure we have DCO sign-offs and all these good kind of stuff. This has never been agreed upon. Lab sponsors have never signed up to this. The only definition we have is written here in the proposal and it really comes down to, you know, doing an assessment of the proposal and say yeah or nay. And so the labs towards actually do that. I know that I do that on all the proposal whether I'm a sponsor or I'm least the sponsor or not. So I don't see any difference. I think there's been, you know, a lack of documentation as to what we expect from the lab in terms of, you know, how they conduct themselves, especially with regard to things that are very important like the license. And I think this is primarily due to lack of documentation. So I already remedied to some of that by adding documentation that specifies the license that is expected labs to adopt. But at the end of the day, I still very much feel like this whole business of a lab sponsor is misguided. We should just get rid of it. So that's my proposal. But again, you know, feel free to disagree. I mean, Bobby. Hi, as someone who is trying to get companies and people into our pipeline and get them working and developing, it is important that they know that there is an avenue for this. So again, I left a comment on this about lab champions as opposed to lab sponsors. And that would be maintainers and TSC members who keep their eyes open for projects and introduce the project, proposed project to the lab sponsors. Yeah, I do about it. We're like, we're all working together to make sure all great ideas get where they need to be. But not so formal. Again, when I tried to sponsor a project, I didn't know, and I was the one whose project had the wrong license because I didn't know that they had to pick a license. So again, I wasn't really the sponsor for the lab. I was more a champion. I was trying to get them into the labs and working. And I think if we all put that hat on, we can get more great ideas into the labs that way without any pressure of what does a sponsor do. That's all. Thank you. Thank you, Bobby. And I agree. And to the next day, you could say, well, lab sponsor, I think a lab sponsor. I mean, the other approach would be to go the opposite direction and reinforce or expand the role of the lab sponsor to be more in charge of the project and then mentoring or however we call it. I can understand how some people might feel like that would be a better proposal, but short of people willing to be signing off for this, I feel like the way we have the whole, and I feel strongly about this because the whole lab stuff, I came up with it initially. And there was really, the idea was to give people a sandbox. They can stop playing with that any hurdles. And we have created a hurdle there, which I was not in favor initially. And that has proven to be a problem over time. So I would really very much appreciate if we corrected that mistake. Of course, I see this as a mistake, others may not.  Is that you want to speak more or is that just left? Yeah, but I just do have a quick point. The community isn't aware so much about the lab program and how they can get support. So I think that that's another hurdle is to make that more everyone aware in the community that that service or that support exists. All right, thank you. Tracy. Yeah, I think when we proposed this, when we wrote it up, I think we were in California, but I think the idea, or maybe we're in Spain, I don't remember which, but I think the idea was that there were two things that I think are potentially holding us back. One, we don't even pay attention to, which is that somebody actually has to be a contributor to Hyperledger before they can propose a lab, right? Which we as lab stewards don't even look at to see whether or not they are truly a contributor or not. We figure if they're there, I guess it's okay. The second one obviously is this lab sponsor being somebody who is already in the community who thinks that this would be a good lab to bring to the Hyperledger community to build on and that sort of thing. And so I'm torn. I still think lab sponsor is a useful sort of thing, but at the same time, it could be a detriment to bringing in new ideas into the community and new people into the community. So I don't know which way I land on this idea of whether or not a sponsor is correct or not. But I do think there is something that we were trying to get to with those two pieces, right? Which is somebody in the community thinking it's a good idea and then also people who are already contributors within the Hyperledger community being part of this. And I don't know how we achieve that without something. And I don't know what that something is that we were looking to achieve with those two things, but I just wanna bring that up as something that I think we should consider and think through as far as like, is there something that we're looking forward to ensure that we're just not a dumping spot, right? Are we any better here with Hyperledger labs than just creating a GitHub repo on your own and going that direction? So yeah, I don't have an answer here. I don't know whether or not to say yes I'm with you or no, or I'm against you. So I'll stop talking now. And I know this is fine and I don't take it personally so don't worry, but do you think adding the lab sponsor requirement today achieves that goal of we add initially? I don't know because I'm not sure what it was we were trying to accomplish, right? I really do think maybe we were trying to accomplish, not just being a dumping ground. And in that way, right, are the lab stewards good enough for that, right? I think we have four lab stewards, two of them have to say, yes, this is a good idea. Even when one of those stewards is a sponsor today, right? That that steward can still say yes. So, you know, is it really anything that the lab stewards are already taking care of? Maybe not. Maybe we're the, as lab stewards, the people who basically are the gatekeepers to labs to allow things to come in or not come in. I seem to recall there was maybe one lab where we were like, this isn't anything that sounds relevant and we declined it, but most of the things that do come to labs are things that I think we've basically said, yeah, this looks like something that could be of interest to the Hyperledger Treaty. All right, thank you. Heart is next. Hey, yeah, so I think one of the biggest benefits that we suggested about having a lab sponsor was that it sort of forced interaction between the people proposing the lab and sort of the Hyperledger community as a whole. I think part of our motivation for this was we didn't want people to be totally detached from the community. So I think that was at least some of the missing motivation. As far as being gatekeepers go, I mean, I don't think anyone has any problems with the lab stewards doing that. I mean, the lab stewards already do a good job. There's no massive benefit from requiring people to wrangle an extra person. So I think what we were sort of going for was that sort of community connection. And if there's some way that we could potentially replace that community connection without requiring the lab sponsorship, I think that would be the optimal way to go, I guess. Does that make sense? Yeah, and I agree with your recollection on that. I do think that was definitely a motivation to have the sponsor. I would claim though, we do not achieve that goal currently with the sponsor. I don't believe so. Maybe there are cases where it is, I don't know, but, you know, Tracy. Yeah, and I would add to that. I don't know that as stewards, we would be that we do that either, right? We don't say, oh, hey, that's a really interesting project. Maybe you should talk to these people over here who are doing something similar, right? Maybe I've done that once or twice when something like is similar to another lab that I've seen come in, like, hey, have you taken a look at these other labs that are out there already that already do a similar sort of thing? But beyond that, right? I think that we don't do that as stewards. We probably don't do it as sponsors. And, you know, maybe that's something that we need to be cognizant of and think through as these labs do come in. Here's a group of people who might be interested in that. Right, I agree with everything you said there. Haunt. So I guess I will say I did have one very positive experience as a lab sponsor where I don't remember exactly how, but I got asked to help sponsor a lab. I had some meetings. Then it turned out that the people who were working on this lab were in fact like working with a former collaborator of mine. So we had another meeting to discuss stuff and it just sort of turned into a positive process. But I'm willing to concede that that is certainly the exception rather than the norm. So there's a possibility which is to have it but not make it mandatory. I don't know if that helps, but... Mark asked a question that I don't have the answer to in the chat, which is, do we need to consider how we protect hyperledger? Is that part of the lab steward role? So I think the stewards definitely play that role of safeguarding, I mean avoiding the dumping ground aspect which is a valid concern. There I'm very positive about this. I think as it was said, I mean, the idea of the sponsor was really more about this, creating some linkage with the rest of the community. And I'll be the first one to say I regret it's not happening but it just is not. So that's why, it brings me back to what I said earlier. I invited the labs to come present to the TSC. I don't know if that helps but maybe there are other things like this we could try and do to bring them on board more with the rest of the community. All right, we're out of time. So we're not gonna call for a vote on this but the rest of the agenda was basically to go over the decision log and basically I want to do better housekeeping. I think there are quite a few issues that are pending that are more or less tied with other things. And so I think we could close some of them differing to others that are still open. So on this, I will close the call. Thank you all for joining.


We've made quite a few changes to our online application process and the first one really is about trying to address an issue of expectation management. So for example, what we've done is that we've added an initial phase to the application steps and we've called that Instant Bond Indicator. And really what that is trying to address is to make sure that the clients who are ready for an application, that we manage the expectations in terms of what need banks are going to give them. And for the clients that aren't quite ready, this will serve as an opportunity for them to get a real-time view of their credit and affordability and really empower them to start their search in a very informed way. So that's one of the key changes that we've made over the last couple of months. And as part of that, we expect to be making a lot more changes to enhance the overall experience for customers in the near future.


Personal finance practice problem using Excel. Coupon rate and current yield calculations prepared to get financially fit by practicing personal finance. Here we are in our Excel worksheet. If you don't have access to it, that's okay because we'll basically build this from a blank sheet. But if you do have access, three tabs. We've got the example tab, practice tab, link tab, example tab, in essence, the answer key. Let's look at it now. Information on the left, calculations on the right. We're gonna be calculating the coupon rate, the current yield rate, noting that these different rates, although typically fairly easy to calculate, can be a little confusing in terms of the terminology and keeping them all straight. So we'll practice that as we go through the calculations. The practice tab has some pre-formatted cells on the right-hand side. So you can work through the practice problem with less Excel formatting. Without the link tab, we're gonna be practicing the Excel formatting with the information on the left. If you don't have access to this, you can open up a blank Excel worksheet. I would lay down, throw down the baseline formatting, selecting the entire sheet, possibly with the triangle up top, right-click on that sheet. If it were a blank sheet, format the sheet, and then go to the number category. I usually sit down or lay out or start off with the currency, brackets, no dollar sign, no decimals.  And then enter the data on the left-hand side, adjusting any cells as needed, make it a skinny C column, and then we're ready to go. Now we've got the calculations down below for the coupon rate and the current yield. Obviously you don't need those to work through the practice problem, but those are just for reference. So we're gonna say that we have a bond, bond number one, the face value's gonna be $1,000. We're gonna assume it's a semi-annual interest or a coupon of $50 and it's issued at the face value. So we're gonna assume that it was issued, basically after, right after it was created, so it was issued at face value. And then the second bond, we're gonna say the face value is $1,000, semi-annual interest, meaning it's gonna be paying out semi-annual. The interest is in essence, you can think of kind of like the rent on the money that we are loaning to say a corporation or to the government in terms of us purchasing the bond. We're gonna get our money back at the end in a similar way as we might get like a rental property back at the end of renting it. And we're gonna get the rental payments on it, which we're gonna call interest here, rather than getting them every month. We're gonna be getting them every six months in essence, that being different than when we borrow money, say for a mortgage, where we structure the mortgage in the format of us paying it back with equal installments, having a component of both interest and principal. So then we've got the price, we're gonna say it's 950, which means we're gonna be purchasing this one at a discount, because it's less than the face value. Okay, so if we're gonna say the coupon, the coupon rate is simply going to be the rate of the payment. We usually think of it as, we're gonna think of it as an annual coupon rate, even though they're paying out on a semi-annual basis. So we're gonna get then a thousand, I mean, $100 at the end of the year, $50 every six months. So if we wanna calculate it, then we're gonna say that we've got, we'll call it bond one coupon rate and yield. Let's do the coupon rate and the yield, which will in essence be the same because we issued it at the face amount, not at a discount or premium. I'm gonna make this one a little bit wider. Let's make this a little bit wider. And so I'm gonna make it black and white for the header, selecting the header home tab.  Okay, so we're gonna have the annual interest payment. So we're doing this on an annual basis. And so we're getting paid $50 semi-annual. So it's gonna be $100 annual, or we can just take of course $50 times two and that would give us the $100. The face value, the amount that would be on the bond that we're gonna get at maturity is gonna be $1,000. So that's gonna be equal to $1,000. And when they issue the bond, then they may be able to issue it for the appropriate market rate at that point in time. If you're buying the bond on the secondary market, it's much more likely that you're gonna have to purchase it at a premium or a discount, right? So we're gonna assume that they issued it for the current market rate. Therefore they're gonna be receiving the corporation or the government the $1,000 for it. So that's why we're gonna be calculating both the coupon rate and the yield. Not the yield, the yield, I-E-L-D. My fingers never wanna type that yield, right? So we've got the coupon rate and the yield in this current case, which is gonna be equal to the $100 divided by the 1,000. And now we've got to recognize, in order to recognize, we've got a percent to five because that's a percent home tab. You could add decimals to recognize it, but we're gonna make it a percent, 10%. So clearly we have the 10% coupon rate. Now, obviously if a book problem or someone gives you the coupon rate, then you can calculate what the payments will be, but you need to determine or be clear that the coupon rate might be an annual coupon rate and then determine whether or not you're going to be being paid on a semi-annual or annual basis. So if this was the coupon rate, annual coupon rate and you're getting paid semi-annual, then you would take the face amount times the coupon rate divided by two and that would give you your $50. So you might, in a book problem, you might see it either way or you might see people talking about it. Either way, possibly either giving you the coupon rate or the amounts of payments. You gotta keep in mind how often those payments will take place, typically semi-annual or annual or kind of a common payment methods for the bond structure. So let's go ahead and make this blue and bordered home tab font group. I'm gonna hit the bucket drop down that blue right there. If you don't have it, you can go to the more colors. We're in the standard area on the wheel. That's the one, that's the one we want. I'm gonna put some brackets around this font group drop down all borders or borders around it. Let's put an underline right here while we're at it. Underline, that's the line underneath which we for some reason called an underline home tab. Let's do a format painter to make a skinny F. Skinny F, here we go.  So now we're gonna say, this is, now let's say we have bond two, we have coupon rate. Coupon rate, which is gonna be different this time than the current yield because we're gonna assume this time that we sold it not for the face amount that will often happen when it's sold on the secondary market, which is where a lot of people will end up buying the bonds oftentimes. And so we're gonna have a difference here. So it's not bond, not like Bon Jovi or anything, bond, bond. So I'm gonna then select these two. Let's put that former formatting on the header, home tab, font group, drop down, black and white. And so this is gonna be the annual interest payment. I'm just gonna say equals this one because it's the same. And I'm gonna say this equals, it's still the same. It's gonna be $50, but this 50 really, this 50 times two. So we're getting $100. The face amount is still the 1,000. So we're not using the 950 here. We still got the 1,000 even though we're gonna pay 950. We're paying for a discount for it, but we're still gonna get the 1,000 back at the end. We're still gonna use the 1,000 to basically calculate the coupon or to calculate the coupon rate. So this is gonna be the coupon, Coupon rate, which is the same, but it's now not the yield rate, right? So it's just the coupon rate this time. 100 divided by 1,000. Let's put some percentify numbers, percentify, put an underline here, underline, and we'll do the blue and border, border blue. But now we have a difference between that and let's say bond number two, current yield, current yield.  So now we're gonna have the annual interest payments, which I can just, let's just pick that up from what we did up top. Annual interest payments is the same up top. Let's make this column a little bit wider so we could see the whole thing. You could probably just get, I know what the end of it is. I don't even need to see it, but it looks, but you should be able to see it. And then we're gonna take that and compare it to the price instead of to the face value. So we're comparing it to the price this time of the 950. That's how much we're gonna pay for it, not how much we're gonna get at maturity. Those two things no longer being the same because it was issued at a discount. So then we have the current yield is gonna be equal to, now we're gonna get the $100 and we're gonna compare that to what we are paying for divided by the 950. And that'll give us if we go up top number group percentify, add some decimals and we're at the 10.53 about. So this is one kind of a fairly quick method that we can kind of do some comparisons and look at our current yield to see what we're receiving in comparison with the price. Now that's kind of a simplified method to do some comparisons because the bonds are a little bit more complicated than that, not taking into consideration time value of money or the full stream of the bond payments. We're just taking a look at the one return, the one interest payment or rent payment kind of compared to the bond price. But that can give us some comparisons or some ideas. Obviously you can see here, the current yield is higher than the coupon rate because we purchased it at a discount if we were to change the price to, once again, if I change this second one to the same number, the 1,000, then we would have the same issue price as with or purchase price as with the face value and we'd get the 10% in both cases. Or if we put this higher, we purchase it at a premium, say this was 1,500, so now we've got the current yield because we paid more for it at the 6.67%. Let's bring it back to where it was, bring it on back, where was it? I don't even know where it was, I'm just gonna undo. So 9.50, that's where it was. Let's make this blue and bordered, blue and bordered, home tab, font group, brackets and we'll make that bordered. So just some terms to keep in mind here, we've got the coupon rate, which is typically the kind of on the bond in some way or another or implied or given in the fact that you've got the semi-annual payment of $50 and the face value allowing you to calculate the coupon rate, which will often be calculated on an annual basis even though it's paid out semi-annual. And then we of course got the face amount of the bond which is different than the price that we pay for the bond or maybe different, especially if you didn't purchase it from directly the company or the government. And then we've got the price of the bond calculation, that's how much we actually paid for the bond. Then we've got the current yield, which is kind of comparing what we are earning typically on an annual basis because when we're comparing to other investments we typically wanna get our comparisons on an annual basis. So we're taking the annual interest divided by the price that we paid for it. And then we'll also have that term we looked at in the past when we thought about the market rate in order for us to kind of calculate the actual price, the rate that would be used in order for us to determine what the price is. So we might talk a little bit more about those rates, those different terms in the future. Once you got an idea of these different terms then it becomes a lot easier to kind of calculate the price of the bond or think of the bond in terms of future cash flows. But at the beginning it can be a little confusing to think about how people are, especially you have different terminology sometimes for the coupon rates and the current yield and the market rate and the price or face value versus the price and so on.


Hello and welcome to the session. This is Professor Farhad and this session we would look at market value weighted index in contrast to what we looked earlier at the price weighted index. So now we're going to look at market value weighted index and here we are talking about the S&P 500 NASDAQ NYSE. This topic is covered in essential of principle of investment course or principles of investment course, whether it's a graduate or undergraduate. As always, I would like to remind you to connect with me only then if you haven't done so, YouTube is where you would need to subscribe. I have 1,700 plus accounting, auditing, tax, finance, as well as Excel tutorial. If you like my lectures, please like them, share them. If they benefit you, it means they might benefit other people connect with me on Instagram. On my website, farhadlectures.com, you will find additional material to supplement your accounting as well as your finance education, especially if you are studying for your CPA, CFA, enrolled agents, CMA exam. I strongly suggest you check out my website. So let's take a look at the S&P index and this is also very much highly looked at index. Just like the DAO, we talked about the DAO, the DAO 30, this is 500. So this S&P 500 index represent major improvement over the DAO in two ways. One, it's obviously, it's rather than only looking at 30 companies. We're going to be looking at 500 companies to gauge the performance of the stock market, which in turn gauge the performance of the economy. That's the idea of the index is by looking at one number, you would see what's going on in the economy. Now that is true that the S&P include 500 companies versus the DAO, but you will see later when we're going to be looking at the actual weighting of the S&P. It's a little bit misleading and we'll talk about that shortly. The other thing is it's market value weighted index versus price weighted index. When we talked about the DAO, when we talked about the DAO, the DAO is a price weighted index. This is market value. So the index return equals to the weighted average of the return of each component security, which is it's weighted proportionally to the outstanding market value, which has taken the price of the stock times the outstanding shares. Don't worry, we're going to work an example. But the first thing you want to understand the difference between the S&P and the DAO, the S&P is market value weighted index, not price, not based on the price of the stock, it's based on the size. And how do we measure the size? The price of the stock times how many shares? So if the price goes up and you have a lot of shares, you're going to weigh more. So you need both of these to be high to weigh more. So this is a snapshot of what the S&P looks like. This is only 23 companies that include 500 companies. But the point I'm trying to make here is look at the S&P. If we look at Microsoft, Microsoft represent almost 6% by itself. Apple represent 5.7. So notice between Microsoft and Apple alone, those two companies represent 10% of the index. Although it includes 500 companies, two companies take 5%. If we look at Amazon, Amazon represent for almost five. So we're up to 15%. So notice three companies, three out of 500 companies taken over 15. If we add Facebook, Google, which is alphabet, both alphabet, a class A and class B, we're talking now 20%. So notice 20%, 20% of the 500, only five companies. Five companies basically, one, two, three, four. Yeah, five companies represent 20%. And the remaining 495 companies, they represent 80%. So just something to think about. So although it's 500 companies, but it's dominated by few companies. And that's very important for you to understand this because just those are trillion companies. That's why they weigh so much, their price went up and value so high. Other US market value indexes, we have the NYSE and we have the NASDAQ. The NYSE is the New York Stock Exchange publishes a market-valuated composite, the same concept. In addition, it has subcomponents for industrial, so the industrial industries, utilities, transportation and financial stocks. And by the way, the transportation index of the NYSE is highly looked at to know what's going on in the economy. So it's a major indicator when the transportation index is slowing down. NASDAQ also, it's a very important index. Basically, NASDAQ is a market and an index. Also compute the index of more than 3,000 firms traded on the NASDAQ. And again, as of March 15, 2020, this is not the date of this recording, but this is basically, I just wanted to give you an idea about what the index include. 48% technology, 14 to almost 20% consumer index, healthcare, financials, industrial. The point is it's dominated by technology companies. So when you think about the NASDAQ, think of technology. Half of it is in technology. Then we have the NASDAQ 100 as a subset of the NASDAQ. And this one is tech heavy. This one is tech heavy. So when we say the NASDAQ 100, it means we are talking about tech companies. And this is a picture. Let me show you who dominates the tech at the NASDAQ 100, which is no surprise. You're going to find out that these are the same companies that dominated the S&P 500. Apple, Apple represent 12% of the NASDAQ 100 by itself. It's 100 stocks, Apple by itself 12, Microsoft almost 12, together like 25% at Amazon 10. So between Amazon, Apple, Microsoft, and let's add Facebook and Google, 6, 10, wow, almost 50%. You can say almost 50% more or less. 50% of it is dominated by, well, 45. Let's say 45% is dominated by those five companies. Again, here just talking about those heavy weighted stocks, Apple, Microsoft, Amazon, Facebook, and Google. Also, we have a more inclusive US index. It's the largest one is called the Welchire 5000 index, obviously, because it used to include 5000 stocks. Now it includes more or less around 4000 stocks. And those are market value index. So as your stock goes up in value, your stock represent more, it weigh more. So simply put, when Apple's down for its particular day, there's a good chance the whole NASDAQ is down or the NASDAQ 100 is down, because Apple and Microsoft, let's assume Apple and Microsoft, because they represent a large portion of the index. Hopefully this makes sense. And also if Apple's down, remember, when I talked about the Dow, Apple was 300 and some odd dollar, 342. Now it's around 350 today. The point is Apple is a heavyweight stock. And simply put whatever you use it in the NASDAQ and the Dow and the S&P 500, it's heavy weighted. Also, we have what's called equally weighted index. Not we don't have those really, but let's talk about this. An index is computed from a simple average of return. And we don't like simple, basically place an equal weight on each return. So all the stocks, they have an equal return. So it's a simple average. And we would look at an example. So unlike price or market value, equally weighted indexes do not correspond to buy on whole portfolio. Because for you to have an index that's equally weighted, you have to constantly buy and sell. So suppose you start with two equal investments in two stocks. Let's assume you bought two stocks, ABC and XYZ. And when you form the index, you invested 1,000 and ABC, 1,000 and XYZ. So ABC represent 50% and XYZ represent 50%. So they're equally weighted. Now what happened if ABC increased by 20%, ABC becomes 1,200. XYZ decreased by 10, XYZ decreased goes to 900. Now you don't have an equally weighted portfolio. So what you have to do now, you have to rebalance. You have to sell some of ABC and buy some of XYZ to make sure your portfolio is rebalanced. So that's the problem with the equally weighted indexes. They required a lot of work. They just know that they exist. That's basically it. So the best way to illustrate this concept, we're going to take a look at this problem to see how we could compute the price weighted index for three stocks. We have a period zero, period one, period two, and this is the number of shares. What happened to the divisor? We're going to look at what happened to the divisor. We looked at this in the prior session. We looked at the DAO. So we're going to compute the divisor. Calculate the return of the price weighted index. So we're going to look at the price weighted index for the second period, which is period two. And we're going to look at the mark. We're going to compute the same thing for market value evaluated index. We assume it's market value. We're going to assume it's equally weighted index. And you're going to see for each computation, we're going to have a different return. The point is what matters for the index is what are you using? So it's very important to understand what method are you using? Are you using price weighted index? Are you using the market value? Are you using equally weighted? Equally weighted, usually not used, but just something you need to be aware of. So I transferred this data to the Excel sheet. So we're going to look at the Excel sheet to perform those computation. So let's take a look at this Excel sheet. And basically we have the prices. Let's first compute the first, which is the price weighted index. So we're going to first compute the price weighted index for period one. So let's let me, so we're looking at period one. The first thing is period one. So what do we do? We're going to take the beginning period and the beginning period simply put, if we look at the beginning period, we have the three stocks, 95, 50, and 100. Divide them by three. So at the beginning of the period, the index is $80. At the end of the period, we add 95, 45, and 110. The end of the period, $83.33. So the index went up by $3.33. We take $3.33 and we'll divide it by the beginning price of 80. We have, let's turn this into a percentage, just to kind of just make more sense. We have 4.17%. So the return is 4.17% on this portfolio. Now let's go back to the PowerPoint slides. They told us in the calculated rate of return on the price-weighted index of the three stocks, what happened to the divisor for the price-weighted index. And here's what happened. We're going to assume that we had 2,4,1. We're going to assume that we had 2,4,1 stock split for C. So stock C split 2,4,1. So this stock, this stock here split 2,4,1, 2,4,1. So now we're going to compute the divisor. Again, we did this in the prior session. What happened to the divisor? Well, let's first take a look at what we did, the formula. The formula is, is you take period one, which is the beginning period, the beginning period not, I'm sorry, yes, period one, which is 95, 45, and hold on a second, isn't that 100? No, remember this is 2,4,1. Therefore the price is cut in half divided by D. We have to compute a new divisor. And this should give us the period one, the period one number, which is 83.33, because we have to adjust. So simply put, our, our, our, the value should be the same, but the divisor is going to change. So what's going to happen is we're going to compute the divisor, and we're going to come up with the divisor 2.34. Now how did we compute this? Basically take 95 plus 45 plus 55. Let's do the computation, because I know some of you might be saying just do the computation, this way it's easier for me. So 95 plus 45 plus 55, that's equal to 195, that's equal to 195. So 195 over D, over D, not over 9, equal to 83.33. Now what I'm going to do, it's 83.33 D equal to 195, D equal to 195 divided by 83.33, and that's going to give me 2.34. So the divisor is 2.34. Now also they want us to compute the return in, in period two. The return in period two is zero, because notice the price in period one was 95, the price in period two is 95, the price in period one is 45, the price in period two 45, one 10 split and half became 55. So the price did not change. Therefore the return is zero. But if you really want to make the, the computation, here's the computation. For period one, which is period zero here, we'll take 95 plus 45 plus one 10 divided by three, to find the value of 83.33. For this period, which is for period two, now we're going to have to use the new index, the new divisor for the index, which is, we're going to add 95 plus 45 plus 55, but divide them by 2.34. Notice we'll divide them by 2.34. Therefore the return is zero. Simply put, because the stock split, the return is zero. Okay? The return is zero. Not because the stock split, there was, you know, basically it's, it was adjusted. Now let's compute, this is as a market value index. So how do we compute a market value index? Let me bring this picture down, because it's, you want to see where the numbers are coming from. Now the market value index, it means we're going to take the price times the quantity, that's the value for A, 50 times 200, the value for B, 100 times 200, the value for C. Now we're going to compare this to period two, because this is weighted average. Weighted average means take the price of the stock times the quantity, the number of shares. Well, what's going to happen is this, the value of the portfolio for period one, which is this period here, is 39,000. Notice, this is what I did. I took 90 times 100, 50 times 200, 100 times 200. For period two, that's 40,500. The difference is 1,500. The percentage return is 3.85. So notice the return is different. So when we computed the return, based on the, based on the weighted average, you will see it is different than the price weighted average. Price weighted average gave you 4.17, market value 3.18, and sometimes it's, now it's close to each other, but sometimes they could differ substantially. Okay? Now if we assume we are dealing with an equally weighted average, equally weighted average, it means we're going to compute the price, the price change in stock one, which is went from 90 to 95, went up 5.6%. Notice the difference between 90 and 95, which is $5 divided by 90. The return on stock B, which is went from 50 to 45, went down by $5 divided by 50, $5 divided by 50 equal to negative 10, and C went from 100 to 110, went up $10 for a stock of 100, so 10 divided by 100 equal to 10%. Now what we do is, we're going to take 5.56 plus negative 10 plus 10% divided by 3, give them equal average, 1.85. Notice it's very, very misleading, and here you would need constant allocation if you are doing this equally weighted unpopular average. As always, I would like to remind you to connect with me on LinkedIn, and if you like this recording, please like it, share it. If it benefit you, it means it might benefit other people, and always going to invite you to check out my website farhatlectures.com for additional resources, and if you're studying for your CPA or CMA exam or CFA exam, study hard. Education is worth it. Good luck and stay safe.


who is Kerri Callaghan from Lamont Columbia University and she will talk about coupled groundwater and dynamic lake modeling using the water table model. Kerri, go ahead. Okay, there we go. Thank you everyone. Today I'm going to share with you the water table model. I developed this model during my PhD and I'm currently working on a postdoc where I'm applying the model to simulate past and present water table. So I'll start off with a few quick acknowledgments. First of all, Andy Wickard was my PhD advisor and he of course played a really big role in this work and was instrumental into getting all of this done. Then Richard Barnes has been a close collaborator throughout this project and he really kind of revolutionized the way in which I was thinking about the projects and thinking about coding in general. And a lot of the work that I'll be showing you today is stuff that he's had a very close hand in as well. Ying Fan Reinfelder is someone that we've worked with and Ying has done a lot of work on global water table and she's just been a font of knowledge and information throughout the entire process. Crystal Ng is also a hydrogeologist and she's also really been helpful, especially as we figured out how to get evaporation working in our model. And then Jackie Osterman is my current postdoc supervisor. Many of you probably saw her talk earlier in the week. She specializes in sea level and the work that she's doing is going to become more intertwined with what I'm working on at the moment. Kerry, your video's off just FYI. Yeah, for some reason I can't figure out how to get it turned on. My Zoom has kind of minimized itself and this is never happened to me before. So I don't know what to do about that. Okay, sorry, I can't, normally I can say request to start video but it's not showing. There we go, let me just do that and then I'll reshare my screen. There you go, okay, sorry about that. Yeah, that was kind of a weird thing that happened. Yeah. Okay, let me reshare that screen. There you go. Okay. Okay, so here's a quick teaser of the type of results that we get out of the water table model. As it says in the name, we're trying to stimulate the depth to water table and our focus is on large spatial scales such as this entire continent. So we'll come back and examine this results a little more closely in a few minutes. However, what I want you to take away from it at this point is simply that we have both groundwater and surface water. So the blue that you see kind of in the shape of lakes and so on is surface water that is simulated by this model. So before we get back to that, I'm gonna tell you a little bit about why we would care about past water tables and the water table in general. So first of all, when we look at a global water distribution, of course, most of the world's water is in the ocean. But when you look at the portion that's not in the ocean and particularly at freshwater, we see that about two thirds of freshwater is stored in glaciers and ice caps. And then about one third is stored in groundwater. So that's a really large proportion of the world's accessible freshwater. And when we look back into the past back to a time period like the last station maximum 21,000 years ago, there's a significant body of work examining changes in sea level and changing ice sheets over this time period. And there's some phenomenal work being done, but there's much less of a focus on changing groundwater storage. And as you can see from this figure, the amount of water stored in the ground is also significant and it's really important. So to put some numbers onto that, groundwater stored in the upper two kilometers of continental crust is about 62 meters of sea level equivalent. And when it comes to lakes, there are over a hundred million lakes globally. And these lakes of course represent locations where the water table is above the surface. So basically when I'm using the water table model, I'm trying to think about this full water balance. So we have water that's stored in ice, water that's stored in the ocean, water that's stored in the ground and in lakes. And so you can kind of see all of these components here in this figure. So some of the problems that we're trying to think about with the water table model is first of all, when we think about the last station maximum, can we close this water budget at that time? So modeled estimates have last station maximum sea level being depressed by more than can be explained through ice volume from ice models. So could it be possible that some of that water was stored in the ground or in lakes? Another question is just, how has that terrestrial water storage changed throughout the entire deletion period, both in terms of total volume and spatial distribution of this water? The water table also indicates locations of wetlands, such as the one that we have over here on the right hand side of the figure. And changing wetland locations is really important for carbon cycling and that's something that our collaborator, Jean-Fran Reinfelder at Rutgers University is looking into. Way on the right, we also see how some groundwater is entering the ocean. So something that we can ask ourselves is, could groundwater that's entering the ocean play a role in multi-water pulses during the deglaciation? You can see a couple of really large lakes on this figure. And so one thing that we're also looking into is the effect of these lakes on glacial isostatic adjustment. The actual volume of the lake itself would have also had an impact on that. And then finally, we can compare long-term water table records at local sites to the results from our model and see how well it does. And in this way, we can validate not only our model, but perhaps we can provide some validation for existing climate models which provide the inputs into the water table model. Okay, so here's kind of a schematic of the specific things that we're focusing on with the water table model. So this is sort of a simpler version of the figure that we were just looking at where we have this green line that indicates the topography and then the blue line that indicates the water table. And this blue water table is basically what we're getting out. And we have two main components within the water table model. So first of all, we have the groundwater component and I'm indicating that here with QGW. So Q means discharge of groundwater. And this is a function of the porosity, hydraulic conductivity, slope and winter temperature and of course the amount of water that's available at that location. And then wherever that water table gets above the land surface, we have overland downslope flow and we simulate these flat lake surfaces. Then we have of course precipitation entering the system and the evaporation removing water from the terrestrial system. So to give a little bit more details on that groundwater component, in the groundwater component, we move groundwater using the 2D horizontal groundwater equation. And here I have a small little example where these three columns represent three cells within a digital elevation model that are next to each other. And we're focusing on this central cell which is why it has a star above it. So we calculate the groundwater discharge Q from that cell and this is forced by climate topography and sea level and we will move water for user selected time state. So we do this little calculation for each cell and once we've calculated discharge from all cells we'll update the water table. So it might look something like this where the original water table was the blue lines and then after moving water for one time state we have an updated water table at these red lines. And now you'll notice in the right hand cell that the water table is above the land surface. So now we need to think about what do we do in this type of case? So here's another kind of example topography where we have water above the land surface that is creating these large lakes. Now any one of you who has had to perform flow routing or compute a flow accumulation before which I imagine is several of you in this audience may be familiar with a depression removal step where an assumption is made that any depressions in the digital elevation model are data errors and they are removed through processes such as a flood phone like I'm showing here while the process such as carving. But what if that surface water is actually really important? It may be going to form part of a major lake like Glacial Lake Agassi that had major impacts on things like global climate and also aesthetic adjustment or it could even just be part of a smaller lake that will still impact local to regional water table and groundwater storage. These lakes are very much present in our world. They are important. And over the digital time period that I keep referring to these lakes really changed dramatically. So we needed to come up with a new algorithm to actually think about these depressions and the lakes that will form within them. So we do so in two steps. First we use a depression hierarchy to break down the topology of depressions within the landscape into a simple binary tree structure. And second, we use an algorithm called Falsible Merge to actually move the water into the depressions. So for the depression hierarchy, feel free to scan that QR code if you want more information on this piece of the work. So first of all, we define a depression as being an area in the landscape that contains a low point called a pit cell. And here on the left in panel A I'm showing one example of one such pit cell that doesn't have any downslope cells around it. And then the depression also has an outlet cell which is the point at which that depression would overflow either into another depression or into the ocean if it were to be filled with water. A depression can then also be contained within a larger meter depression. And we'll see an example of that in a moment. So we start off by labeling each one of these depressions based on where those pit cells and outlet cells are. So we'll label each one of those one, two, three, four and five. And then we start labeling those meter depressions. So here you can see how the larger depression six contains one and two within it. And then if you look over at the right, you can see how we start building that binary tree where depression six points towards its two children, one and two. And we continue doing that for the rest of the landscape. So we add depression seven that contains four and five within it. And we add depression eight that contains three and six within it. Then when you look down at panel B, which is a map view of the system, you'll notice this dotted line and the dotted line indicates the direction of flow of hypothetical water. So you'll notice that depression eight would overflow into depression seven. So we add an arrow to indicate that. And then depression seven would overflow into the ocean, which we've labeled zero. And so there we're done. We've labeled all of the depressions in this topography. And the ocean zero can have any number of systems of depression that would overflow into it, which I've indicated with this group of lines. The depression hierarchy also records depression volume, area, number of cells, location and elevation of pit and update cells and other useful information that could be used for any number of applications. So once we've constructed this depression hierarchy, we use flexible merge with the hierarchy to rapidly root water across the landscape. And I've put up a new QR code for flexible merge. So flexible merge, here's a conceptual look at how it works. If you imagine that water is entering this topography from the left-hand side, the leftmost depression will begin to fall with water. Once it is completely filled, it will spill over into its neighboring depression. And once that depression is completely filled, the two will merge into the immediate depression as water continues to fall up. So this process will continue until either all of the water has been used up and then you might get a situation such as we have here in the third panel with some depressions being filled with water, some having a little water, some not having any water, or the process will continue until all of the depressions are completely filled and additional water continues to spill into the ocean. So of course there's a lot more to flexible merge, but in the interest of time, I'm leaving it at this basic concept, but it's a really cool and versatile algorithm. So I'd be more than happy to discuss this more with any of you later on. And so now we'll look at how we put these pieces together in the water table model. So the water table model basically just takes the groundwater and the surface water components that I've described and it couples them just by running one after the other. So we start off with some kind of initial condition that might look something like this where we have the water table basically at the land surface. Then we run that groundwater components. And so we have groundwater flow and you can see how the water table has moved down beneath hilltops and we've had some exfiltration along hill slopes and in the valleys. We then run full full merge to move that surface water down into the bottom of the valleys and we get those flat lake surfaces. We add precipitation minus evapotranspiration so you can see how that water table has moved back up in some areas and in some of the lakes the lake level has gone down due to evaporation. And then we just cycle through this many times move groundwater, move surface water at P minus ET and eventually we get some kind of final water table surface where we've got those lakes and we've got that groundwater. So now I'm gonna loop back to this result that I showed you in the beginning and we'll look a little more closely at this. So this is where I ran the water table model for North America for present day pre-industrial climate and topography condition. And so you can notice how we've got some recognizable lakes. So for example, the great lakes with their kind of recognizable shapes we can see that they're there. In the drier west, we have a deeper water table represented by the red colors and then in the wetter east and north we have this shallower water table represented by the yellow and green colors. Now, when we compare this to actual observations here I've got observed water table in red and simulated water table in blue. And these observations come from a data set that was gathered by Ying Fan-Rin Falder and her co-authors and they gathered over 500,000 observations of groundwater depth across the continent. So as you can see the simulated water table depths tend to be shallower, especially in that very shallowest bar. This is a trend that has already been observed in other modeled water tables. And it's likely at least partly because of a selection bias in observations as a result of well location because generally speaking we're not going and putting a lot of wells out in wetlands. And so those very shallow water tables out in the sample. Additionally, these observations also include human impact such as pumping which lowers the water table and the model does not because it is a pre-industrial simulation. When we look at those surface water areas here I'm comparing my simulated lakes with lake bathymetries from a data set by Corson Nova that was created in 2012. For many of the smaller lakes the data set includes only a mean depth and not a full bathymetry which makes the comparison difficult and leads to some of the mismatches that you see. However, when you take this limitation into account I think that this comparison looks very reasonable. So finally, I'm coming back to talking about lake water loading in glacial as a static adjustment. So I did mention this also since the beginning and here I'm showing some examples at different times during the deglaciation of how those large proglacial lakes may have looked. And so the way in which I'm combining this with the water table model you can see here. So I've started by creating a topography with glacial as a static adjustment based on I6G ice model. I'm then running the water table model and that's the step that I'm currently on with my postdoc. I'm running water table model on these topographies throughout the entire deglaciation. I will then create new topographies with a glacial as a static adjustment based on a combination of I6G and lake level loading from the water table model. And I will repeat this process a few times and what we should get out of this is an improved estimate of past topography as well as our first estimates of changing water table throughout the deglaciation. Okay, so a quick take home message. The water table model uses fossil merge and the groundwater module to simulate water table level and it is inclusive of lakes. By coupling the water table model and sea level models we can obtain the first global simulation of changing water table lakes and the impact of terrestrial water on terrestrial as a static adjustment since the last terrestrial maximum and we will be able to answer the question what impact does changing water table have on sea level since the last terrestrial maximum? Okay, and that's all I have. So thank you and I'll be happy to take any questions. Thank you very much, Gary. Great talk. So let's see if there are any questions please raise your hand or pass them in the chat and we have time for a question. Maybe when people are typing I have a question for you, Gary. So I was wondering, and this maybe has to do with the time scales you're assimilating on. I'm just not 100% sure if I captured that well. Does the water table model include energy equations where when you're changing seasons and for example, you're in the winter season summer slowly starts. You got the sun is higher at the horizon and you provide more energy to the water surface and therefore those lakes that you can create with your model, they would be once frozen but then melt. Is that, can you simulate on that time step and if so, have you incorporated those kind of energy balances or? Right, so generally speaking the inputs that we've been using for the water table model have been annual averages. So we're not really capturing that seasonality. However, we have kind of thought about the potential impact of sea ice as something that we, or not sea ice, excuse me, lake ice as something that we may want to include in the future depending on kind of how well the model performs with simulating lakes. So it's something that we've got in the back of our minds but it's not really within the model at this stage. Okay, thank you. And I see another question in the chat here from Nicole. Thank you for your talk. I'm sure I missed it, but how do you know what is a lake and what isn't? Is that part of your algorithm? Okay, I'm not sure if you mean by that like what is a lake and what is actually a spurious depression. That's a great question. And it is something that's challenging because that's kind of a spatial scales that we're looking at. Yes, you will sometimes get something that is not a real life lake. There's not necessarily a good way to differentiate between these. When we look at a modern day topography we can get rid of some of those things that we know are not lakes by kind of going in and manually adjusting that topography or by using river networks that we know exist but that's of course harder to do for the past. So our current plan is to not remove any of those depressions. Assume that every depression has the potential to be a lake and we'll kind of see how these results look and see if there are improvements that we can make later on in post-production.