All right. Hello everyone. Welcome to the TSC call. So the first let's start with the legalese. So as you know, this is a public call. Everybody's welcome to join and contribute. However, there are two requirements to do so. You must know and live by the antitrust policy, the notice of which is currently displayed and the code of conduct that we all live by and which is linked from the agenda. With that done, we can move on to the announcements. So, Rai, you want to do the honor of the newsletter reminder? Sure. The newsletter is for the community. And it's a place for projects to announce goings on about the projects. So that every Friday, you've got a couple hundred people that read it. So please check it out. And then let's see. I already canceled the call next week. And Helen, did you want to do the typology form or Brian? Sure. I'll do it. Yes. Things are looking really cool for next week. Lots of stuff coming in, late breaking in terms of, you know, panels and things like that. And really good numbers on unregistered. So really just hoping if you haven't registered yet and you can make the time, please come. If, for any reason, the registration price is a challenge, let us know. There's plenty of discounts available. And, yeah, really just want to see everybody there. And thank you to everybody on the call who is presenting there, because it's a key way for us to get the word out about what we're doing, especially being able to put the videos up later and to use the content to drive all sorts of other interesting stuff for the rest of this year. So hope to see many of you, many or even all of you there. All right. Thank you. And so as Rai pointed out, so I did want to cancel next week's call. I mean, there will be the conference obviously. So I think we can skip next week so that we can all focus on the conference, not that the call distract us. So we'll be meeting again on June 17 instead. Okay. So is there any other announcement anybody else wants to make? I'm going to raise their hand. So we'll move on. So we have two quarterly reports. Yes, I still because as you may have seen, Silas did come around and publish the report for Borough. And he announced it to the list actually, which was nice. So is there any questions? So I assume you, I mean, looking at the number of people, tick the boxes, it seemed like the people had the time to review the reports. They was from the Chillow team, they did the call out to get help from front-end developers. So if you know of anybody looking for a cool project to work on, who was interested in front-end development, you could point them towards the Chillow project. Otherwise, there was no issue raised. The Borough project obviously seemed to have hit some important milestone. And you may have seen that Silas was highlighting some of the achievements they've made and wanted to highlight that. But otherwise, there was no real call for action for the TSC. So unless anybody has any questions about any of those, I think we can call those done. I don't see any hands raising. I was just going to say, I'm sure Silas is always looking for help too. Yeah, that's a good point, Mark. I guess that's kind of true across the board anyway, but... Yeah, as ever, hi, Silas here. Hey, yeah, no, I'm lurking. Hello. Thanks. Yeah, I think I kind of made one remark there about how the new Code Gen feature is not terribly well documented. It's sometimes slipping down to the bottom of the stack. And I worry a little bit about its discoverability. So there's definitely some fairly straightforward documentation that could happen there if anyone wants to chime in. I also just had a look on the Insights link. And I'd like to admit I may have double counted some of the contributors. I've got some from the end of March. So I think there's at least there's probably two contributions there that were actually end of March anyway. So may I culper on that? But otherwise, it has been a good quarter for reasons I don't fully understand. But I'll take that. All right. Well, that's great. Sounds good. Thank you. Bobby. Yes, I would like to extend the Learning Materials Working Group to help you out, Silas. So send me an email or just reach out and we'll get started. Well, there you go. How about that? Thanks. I saw a hand flashing, but I didn't see who that was and it's gone. So I guess we're done. Let's go. All right. Let's move on to the rest of the agenda then. So of course, first and foremost, we should continue the discussion on the Firefly Proposal. There's been a lot of traffic on the GitHub. I mean, first on the Google doc in the mailing list and the GitHub repo now. I mean, there was a... So I think we should try to assess where we are. There seems to be quite a bit of discussion also outside of the main channels. People have been talking privately and trying to figure out what's going on. So let's try to put everything on the table and see where we stand so that maybe we can figure out the way forward. So I will give a chance to the collider team first to give an update. I saw Steve sent an email. I think it was yesterday. I have to admit not to be sure of the timing anymore because there is still email flying around. So whether it's yesterday or today, it seems to be a bit irrelevant. But do we have Steve on? Yes, I'm here. Yes, please. So maybe a good place to start is that email with just a quick recap of the Delta for folks like you're saying or no, just to try to stay up to speed on all that's happening. So maybe I'll just step through that really quickly here. It should only take a minute. And then potentially we could turn it over to maybe the meteor discussion today around the fabric smart client project. So what's changed since last week is there's feedback there to move the hip into GitHub that happened. As you noted, there were a number of comments that continued the engagement around the comments. And so you can check those out. The link, it looks like you pulled in the link to that for folks to see some of the ongoing dialogue. There was a lot of good comments from Angelo and Dave. And some of those resulted in two, I'll categorize them in a couple different buckets. One was cleaning up some of the language in the proposal to just be more concise and more clear and not to overreach on the marketing type of claims. So I went through the document and pulled that out in several places and expanded on some other areas as well. Jim was also active in some of the more discussion, that was kind of the other bucket of questions there, more of a discussion type format. And I think some of that has evolved into the larger discussion around the fabric smart client topic. But just to round out the other more tactical updates, the other thing, two other areas I'd like to call out that have changed on the documents since last week is the sponsors. There are several new sponsors. You know, I'll mention a couple specifically here. Eugene from the Avalon project. We've had discussions with him about how Firefly could evolve to plug in Avalon and to leverage some of the good things that that project has as a result of some of those conversations he signed on. And then Arun also, it wasn't actually in my email last night, but as of this morning, sponsored, if he does want to speak up, I'll give him a chance to, but we really appreciate that endorsement as well. Just a quick note on Arun's behalf, he's signed as an individual, not having his corporate mission, as many people did, and Gary and others on the list there. And so we respect that and any sort of official communications going forward, we want to respect that as well. And then finally, there was discussion last time around contributors. There is a third contributing company, Consensus Health, that has signed on to commit resources to the project. I know there may have been a little confusion before some of it self-inflicted with, you know, how we wrote up Tato's. They were the second party in addition to Clyda who had committed resources. And so we've clarified, you know, how they fit into the project as well. So if you, that's worth everyone pleased to take a look at. The last item on moving from the hip itself, there was a larger question around, I think maybe from Grace, around like a community building plan. We did have discussions with David B. and with Rai who had been really helpful pulling in sort of some of that tribal knowledge that we were talking about before, sort of here's what's written down. Here's where there's a strong recommendation, a soft recommendation. And so out of that work, we've begun a plan for how, you know, crawling community building plan for some of the important topics, like how frequently there will be calls and how we intend to run those.  So those are sort of the quick primer to try to get everyone on to the same page. Are there any questions or comments on those areas before we move on to the note from Dave, Eniert? I don't see any hand being raised, so I assume not. So, yes. So thank you Steve for doing this. So I hope that clarifies where things stand from the point of view. And so, yes indeed. So there was an email sent by Dave, Eniert, to the mailing list. And I'm going to turn to him to give him a chance to explain what this is about so that those who may not have seen the email or want to have a re-ash can get that. Okay. Yeah, this is Dave Eniert. I can do that. So hopefully most of you have read the email that has a lot of the core content, but I wanted to highlight a few things here. So there's been a lot of excitement about a new project in the multi-party systems base and I think for a good reason. But I think the desire to announce something quickly has overshadowed some of the due diligence that we'd like to pursue. The proposal was actually pretty rushed from the start, even in the first discussion there was an artificial deadline given for a vote. I'm not going to say no to Firefly if it comes to a vote, but I am saying let's slow down a little bit and consider a few aspects that may contribute to the project's long-term success. So I've got four main points here, so bear with me. First, let's look under the covers at what is actually in the Firefly and the smart client contributions and let's consider how they complement each other and the possibilities for convergence. For example, Firefly focuses on messaging, eventing, and connectivity while smart client focuses on cross-organization business processes, agreements, and private views of the business processes and data. These aspects of the smart client are actually the LT agnostic. There's a different layer for the views versus the fabric connectivity. And I think multi-party systems for off-chain exchange will need all of these capabilities. Therefore, there's an opportunity to take the best ideas from both sides while the projects are still young and malleable. Second, Steve had proposed the project being umbrella for various technologies. That's actually what got us thinking about coexistence and convergence with the smart client. I think we need to understand how an umbrella project would work, especially when all the maintainers would be coming from Kaleido. I know there's other sponsors, but I think all the maintainers would be from Kaleido. If we don't consider what the umbrella project would look like, we probably would end up with a Frankenstein project or something that serves the needs of one organization. Third, the single organization concern was raised last week. And it seemed like those concerns were brushed aside with the idea that we'd go find some other names to put on the project as sponsors and contributors. But I think there's actually an opportunity for a true collaboration on a true cross-organization project here with maintainers from multiple organizations. So I think we should slow down and explore that rather than settling on a single organization-driven project. And then fourth, one of the reasons given for the full project status versus continuing as a lab has been the maturity of the contributions and the number of developers. So I took a look at the Firefly Commits. And what I saw was that last fall, there was a TypeScript implementation written by Gabriel. And that's being replaced by a Go implementation written by Peter in the last month. I didn't really see evidence of fixed releases or anything like that that would suggest a level of production support and maturity. I'm not saying it's not there, but I think we'd want to understand the Kaleido team's view on that. So ultimately, I think until those aspects are sorted out, I think it's premature to have a vote on the proposal. I'd like to take our time and consider convergence in a true cross-organization project while the projects incubate in labs. I really don't see any downsides with taking a more deliberative approach like that. I therefore like to make a motion to table the proposal until we can really fully consider those different aspects. Okay. All right. So thank you, Dave. Gary, as you stand up. So I think so on a few things.  But I do question the look, I guess everybody knows this by now, right? But I don't work for IBM anymore. So, but I was there, right?  So two things on that. One, like it is kind of fabric specific right now. I'm not saying it couldn't change, but it is fabric specific. And I think Dave, you know, I mean, to be honest, like if somebody asked me to bring it, somebody could have overridden us, but I don't think that it was ready to be, you know, put out as a project under, you know, the fabric, you know, I think it would have gone under the fabric umbrella, just given the fact that it goes up with fabric, it's called fabric smart client.  Given. Yeah, I agree. I think that makes sense. It's just I think the same thing applies to both projects. Yeah. Yeah. So I think, I think, yeah, I guess I don't know if, you know, Firefly would ever need to go as a lab project, right? I don't think that that's necessarily, you know, where it goes. I get your point on the other part, right? I don't think that it's, I don't think that there's a necessarily a thing that says you go from lab to incubator, right? I guess if you're saying that if they want to have it under hyperledger, you prefer a lab, you know, versus an incubator, but No, actually what I said is I'd prefer us consider the convergence before making it a project. Right. But I guess I'd say this, I don't understand how they can converge. Firefly and smart client are actually two different things. Well, like I said, this Firefly has the good messaging and event layers, whereas a smart client has this whole view layer with the business process flows across organizations, that's actually separate from the fabric connectivity. So that's the piece I'm thinking could come in. Sure. But I guess, yeah, I mean, I'm not gonna let others talk, right? But I guess if that's like, you know, a way that people want to contribute, I guess I would say this, I don't know why that would have to happen before something else could happen, right?  But I think it'll be easier to sort out beforehand, because otherwise you're dealing with a project that only has collido maintainers and who knows what would happen in that scenario. Well, I mean, most certainly, you know, look, if that's an exception that's out there, most certainly people can add somebody else as a maintainer, right? As a prerequisite in that. I mean, I think I'm actually a maintainer on transact and a few other things, right? And I wasn't in the original side of it, right? I think it was just I was looking at it, right? And when transact came in, as an example, we thought we might be able to, you know, leverage it with fabric, I'm not bashing transact here, it just turned out as you know, you were part of that analysis, we didn't go forward with that, right? So if there's a request to have somebody else as a maintainer who's willing to be a maintainer, that's actually my request. See, anyway, I'll stop. Sorry. I saw GM has raised his hand, so I don't want to give him a chance to speak up too. So was that your main point, Gary, you're done? Yeah, I'm done. Yeah, I don't know what my main point was. I had several in there, but I'm done anyway. Yes. Okay. All right, Jim. Thanks, Arnold. I definitely agree that there's a lot of interesting design ideas. I actually pointed out the view idea of capturing member specific logic as a construct, which is interesting. And apparently that is the main generic piece that's in the Fabric Smart Client, which, as Angela pointed out, is developed so that fabric can be much easier to get adopted. I think growing from that to become a multi-poral call focused on not blockchain first, but multi-party system first, design philosophy may actually take quite some time to evolve, whereas Firefly is a completely different thing. It's multi-party first. It's designed from get go to solve multi-party systems, and blockchain is one piece in the puzzle. It's not a blockchain first idea. So to sort of bundle the two together and say we need to evolve together is somewhat arbitrary, and I don't agree that that is the right path to take. Those are very different things. On the other hand, I do agree with the concern that, well, will this project be dominated with Clido? We definitely want to do anything we want to avoid the conception that this will be a Clido-dominated project. I think that's a recipe for disaster, and we've seen that happening with other projects, so please help us avoid that. If the IBM team is truly passionate about this space, we would love to welcome their contribution. I think so far we've demonstrated our willingness to work with everybody based on our discussions, based on our willingness to reach out to everybody who has all the discussions. So I don't know what else we can do to demonstrate that we're not here to demonstrate a project. Okay. Thank you, Jim. But let me ask you one thing, though. I mean, I see you guys, along with Angelo, you've been trying to respond to one another quite a bit, asking questions and string back and forth. And it seems like there is something to be gained from everybody to have that discussion going on. And other than the obvious desire and understand of the Clido team to be done with these proposals getting accepted, what's the downside of Dave's proposal to take a bit more time to work out and better understand where there is a connection if there isn't, if there is one and possible convergence? Jim? I just don't, I think even Dave totally recognized that the need for a project like a multi-party system. So far, Farfley is exactly what the community wants. And they came in from a pretty different angle. And we appreciate that, especially with their expertise on fabric, which is still the more dominant protocols in terms of usage. So we would love to work with them on making this success. But I would encourage everyone to evaluate Farfley on his own merit and recognize that smart client, as it is today, is just a very different thing. So in terms of understanding what Farfley does, I hope everybody through the past four weeks of discussions and both on this call and offline have got a good enough understanding. I know Angelo has some questions and which I clarified this morning. I don't know that if majority of the TSCs still felt or it's still premature, which based on my observation is not the case. I don't know if Steve or Sophia or Peter wants to try. No, no, but it's okay. We can thank you. That's good enough. And I saw Gary raised his hand. Hopefully, we can get an assessment of where the TSC can stand before the end of this call one way or another anyway. So I don't know where, you know, personally, I don't know where people stand. So I wouldn't claim to know. Let's get to Gary. Yeah, just two sort of quick things, right?  But on the other side of it, right? Like Arneau, you know, I don't necessarily like to see things like lag forever, right? So if there, you know, if there's, you know, real things that we want to get the decision. So Dave has a clear perspective, which is great, right? And I think that's awesome, right? He's asserted a point of view. And, you know, at least we know where it stands, I think, you know, it would be good to find out where others stand and what their sort of concerns are outside of process type concerns, right? There are a few objective things that have to be done. And I think those are being sort of handled right before it can be in there. And then as we've discussed, some things are subjective. And I guess I'll just sort of mention, you know, a couple things, right? A couple of other things additionally, right? I think, you know, to a degree, right, we've decided whether it was explicitly, implicitly or just by whatever, right? That, you know, there can be things that do the same thing. I don't think the Firefly and Smart Client do do the same thing. Of course, yeah, proper stuff could figure out how to exploit both capabilities together. I like the two layers together. It doesn't mean that we have to make them all come together at first. And again, I'll just go back to, we didn't do that with Transact, right? You know, hey, you know, we may have it work with fabric, right? And we sponsored and have this stuff in there, but we didn't say, hey, you have to prove that it does, right? Or let's let's let's vet out that this is going to be the case when it comes in, right? It turned out after the fact, right, that we've had the case, we did our diligence and it just didn't work out, right? So I guess we've had examples, right, of kind of projects kind of, you know, coming forward like that, right?  But those explorations happened after a project came in, per se. So that's it for me. Goodbye. Thank you, Gary.  You wanted to add something? Sorry, just forgot to lower it. Okay, not cool. I just wanted to check. All right, so anyone else? I don't see any other hand up. So we actually got a motion from Dave to table this off. Is that something we should consider? Angelo? Yeah, Dave, maybe I can say a few words given also what the other have said, not in defense of the smart, the smart, the fabric smart client. That's not, it would be unfair to do that. But I want to point out the fact that Gary agreed with Dave that both proposals are early stages. So that's, and he didn't deny that. So I want to stress this point. And also I want to say that at the end of the day, from my point of view, here we are at the TSC, which is called technical selling committee for enterprise blockchains. So I ask all the members of the TSC to evaluate any proposal from this point of view, from the technical point of view, with the regards of the enterprise blockchains. I put many comments on the proposal there, especially one that shocks me is that at the end of the day, Firefly is using blockchain as a time stamping service, which is like saying, okay, let's use the New York Times to post the hashes. What else more? It's undeniable that Jim used, you also commented that there are pieces of the design that are not complete. So we don't even know if there will be this possibility. So there will be this dream that Firefly is putting on the table that I find beautiful. But we don't know if this will be realized. So, I mean, just to put something just to square a few things. Thanks, Al. All right. Thank you, Angel. So I see more hands up now. Haught. Yeah. So I guess I just have a couple of questions. These are mostly sort of for the TSC. I mean, some of this is, you know, how do we envision projects working, right? In the past, we've sort of had, you know, we've had certainly different projects that attempt to solve either the same or the similar problem, right? I mean, we have sort of three core DLTs that, you know, have a lot of overlapping functionalities. So, you know, maybe there's room for multiple projects in this space, right? I guess as a TSC, we should clarify, you know, sort of sort of our philosophy on this. I hope that makes sense. All right. Thank you, Haught, for bringing this up. It touches actually something that's dear to me that, you know, I've been muddling over over the last couple of weeks now is, you know, when I first heard about the Collider project, I thought, oh, this is interesting. This is raising the level, you know, at which we are focusing above the level we have been living in in hyperledger with all the different frameworks and related tools. And I thought, okay, and they want to be multi protocol, which is an opportunity to have finally a point of convergence, which, you know, we don't have in currently, and we have all these different frameworks, which, you know, at the end of the day, a lot of them are competing with one another, no matter how we spin it. And we keep lamenting about the lack of collaborations between different projects. And it doesn't matter how much we wish it were different. It's not. And I have to say, I'm a bit saddened by the turn of event that I'm seeing now, where we would, we already have two projects now that are playing in the same kind of space. And we are saying, well, it doesn't matter. We're not going to take the time to see if there is a way to converge, because, you know, and I'm not completely sure what the rush is. I mean, I understand the conference, but I honestly don't think the conference should be playing a factor in how the TSE makes decisions. And I feel very strongly about that. You know, if the conference wasn't there, would we still trying to be making a decision so quickly? Or should we, or would we actually take the time to have better discussions? And so I, you know, I hate to see the possibility that we are forgoing right of the bad, the possibility of having convergence in that new space, where I think the industry would definitely benefit from having a common solution rather than yet another layer at which we have competing projects.  Jim. Yeah. Thanks, Hart, for offering that aspect. May need more discussions on that. But I want to respond to Angelou's comment. I guess two things. One is I clarify the exact features that Firefly has abstracted blockchains to be, and there's a list of four. Time stamping is not even on the list because you don't need data immutability assurance with blockchain. You can achieve that with just multiple, multi signatures. But it is an intrinsic property. We would inherit for using blockchain for sure. So time stamping is definitely not one of those that is key to the Firefly's abstraction for blockchain. So the fourth feature specifically, and by the way, this was in the email I sent earlier, is global ordering, atomic broadcast, the guarantee of double spend protection slash global uniqueness and event publishing. So just want to be specific that the philosophy of Firefly is we're looking at all blockchains as equal because that's our experience with customers. We've rarely seen a project that mandates a particular blockchain because they have specific requirements that only one blockchain fulfills. Majority of the projects, it doesn't really matter which one you pick. It's mostly a skills call, which are you more comfortable with? Which do you understand better? So that's one aspect. The other is in terms of the maturity of the project, it is true that all of our generation two code is coming out out of the Clidoteam in the past two months. But I clarified this in my email from last night. The current version, which is in production with multiple large consortiums, Clidocustomers has been in development for almost a year. And if you count the critical piece of ETHConnect, it's three years. So I just don't want the the TSC to get an impression that it's premature technology. All right. Thank you, Jim. Steve. Just a quick one back on the maintainers topic. Just for the record, we'd be really thrilled to take on other maintainers. And maybe it makes sense, specifically with the FabricSmart contract project. If someone like Dave would be willing to, we'd be enthusiastic about that. Honestly, this is not a real issue to me. I mean, as it was hinted on, most projects are heavily managed by a single company. That's just the reality we're in. So you wouldn't be much different from everybody else in this regard. I think there's a bit of a difference in fact that you were not even open source before you came here with that proposal. But you've got to start at some point, I suppose. So let's not drill on that. I don't think it's relevant. But thanks for the offer. I mean, typically projects have some kind of policy on how you become a maintainer. And it was just all people volunteer right off the bat. So I don't think it's actually proper to do it that way either. And even though it may have been done like we heard from Gary. Brian. And so just to clarify, on that point, I've got a few others, but Arno, you don't think it's a bad thing if their initial roster of maintainers is mostly or entirely Kaleido employees. That's not a mark against their proposal as a full project. Well, that's the way it is. I mean, we're not even open source. I don't know how it could be different. This is a proprietary software that just. Well, they actually did, there's somebody from Akado who has been part of the proposal. I don't think they itemized their maintainers list, but they've been working with their customers on this stuff before. So let me do a little bit of a mad culpa on this too. Partly related to, obviously, we talked with them before they published their proposal. And there was never a deadline, right? When we talked with them, we said, hey, there is Hyperledger Global Forum coming up. In terms of timing of getting the word out about maybe submitting a proposal to the TSC, it would be nice. And this was us telling them that to do this by Hyperledger Global Forum so that we could use that as a place to talk about the project and start the community building process. And so now I'm worried inadvertently, in what was intended to be, this is a way to really get some awareness of this that turned into a perception that there was some sort of gambit that they would walk away from the proposal if it wasn't accepted by Global Forum or something like that, which has never been the case from my understanding and was never the impression I got. So I think I just want to do a mad culpa on that. And then secondly, on the convergence front, happening in a parallel thread to all this has been this really healthy set of conversations between the Cactus team. And remember Cactus is still very young. It's deployed in production in a couple places or pilots at least, but it's still pretty young compared to fabric and even Bezu and those sorts of things. And this new lab came in called Weaver, which does a lot of the same things. And because it's a lab, we didn't say anything was wrong with that or have these same kinds of issues, but they were going very much on their own path. And they did present here the TSC, which was really good. And then the third kind of group surfaced with another approach to interoperability between blockchains, a company called Data Chain in Japan, and their lab has now commenced something called UE. And when I saw this happening, I said, why don't we get together and talk about how these three efforts, even though one's a project and one's a lab and one's not even inbound yet, might work together and converge or at least usefully differentiate out there. And that spawned this really nice conversation happening in the architecture working group and a comparison document. And thank you to Hart and others who've been helpful in facilitating that conversation. My point is that convergence kind of thing, it's very natural that we start from different points, even when we're solving the same problem. It's very natural that we have different ideas and unsightly different programming languages that we use to implement things that also can become a barrier to this kind of convergence. But there's nothing magic about that convergence conversation happening as labs before they become projects or after or anything like that. I don't know that there's, you know, pressure on a lab to do this before becoming a project, nor is there, once it's a project, any, you know, lessening of the interest in convergence, if there's some benefit from that. So I would try to tease that apart from whether the question of whether a proposal should be accepted as a project. All right. Thank you, Brian. But it's interesting you talk about cactus because cactus did start as a lab because they are two different companies with two different ideas. And they went to a lab to work it out to come up with the common plan. And that's only when they came to the TSC to start the project. But those are also databases that weren't in production anywhere. And this was the part when we talked with them earlier that, you know, one of the things the TSC looks for is is this code? How mature is the code? Has it been running in lots of places? You know, at least that was my impression of one of the things that mattered to the TSC when it comes to evaluating whether something is, you know, it would mark in its favor. Honestly, we've approved things as projects that aren't in production, things like cactus or transact, but that would be a vote in its favor. And there is a very big difference between where where Firefly is now. I'll say again, I did not see any release history with Firefly either V1 or V2. Maybe it's just not there. It's not as an open source project. True. Exactly. So we don't know, Brian. I mean, that's the point. You can't just, you know, so let's see. We have other people on the queue. Please let's go to the queue. And there are many people who haven't expressed themselves at all that I'd like to hear from. So please speak up. I see on the TSC channel some people are chatting. I encourage you to speak up and we're quickly running out of time. So let's get to it. Gary. Yes, I was just going to go on your same point, right? I mean, it seems like we can circle around this, right? I mean, Dave put a motion out there, right? You know, people could vote and say like the TSC could decide that we wanted to see like integration beforehand. I don't know, but I don't know that that but nobody's saying anything, right? So I don't know that that's the case, right? I'll just leave it at I don't think it makes sense. I don't think they're the same project. I don't think they're the same thing. And this is I would have said this, you know, either way, right? I don't. So I don't get that. But again, right? That's one person saying I'm one person saying it, you know, the project, Jim and team is saying it and Dave has Dave and, and Angelo have his perspective. So we have a motion from Dave, which was to, you know, put this on hold. Then there's a secondary thing that we're talking having a discussion amongst like six of us, which is about sorry, I don't log into rocket chat. I can't stand rocket chat. So I'm not on it. But okay, well, that's what really, but, but right. Anyway, so to your point, right?  So maybe that's a combined emotion, right? So, okay, let's let's get it. That's fine. Gary, let's leave it at this for now. I think you made your point. I'd like to try and get us moving before we ran out of time. So Jim, what do you have to add? Sorry, I was distracted by the TSC chat. Yeah. If there are, there are questions about the release history of the closed source base code base, we can show that in fact, I was actually including a snapshot of the contributors and the history of the old private repo, but it just messed up the format of the email. So I deleted it. But if people are interested, we can invite you to the to the code repository doing inspection and let us know, right? What's missing there? I'm sorry. What is the question? I was addressing the question from David that we don't know what the release history is. And we can, we also have on the sponsor list, Dr. Schmidt. He is one of our customers using this technology. Hi guys. Honestly, I don't think we need to go down to this level of details. These kind of things, everybody is throwing everything into the kitchen sink now. Let's not get buried into all these details. Every project has some oddities and some unknown and whatever. I don't think it helps the discussion to focus on those things. Sorry, Angelo. Oh, very, very, very small thing. Just to say that if you say ordering, you are saying time stamping. If you say that you don't need the mutability, that you don't need a blockchain. So therefore, what are you talking about? And I want to stress again that Gary didn't deny that the two proposals are just a starting, starting thing. Thank you. All right. Yes. Get in line, buddy. Well, Dave had motion to table it and I would second the motion to table it for a minimum of two months. All right. Well, you cannot amend the motion per se. And my intent is that it would be for two months. So I'll second it without amendment. Okay. All right. So I guess we will call for a vote then. At least this will give us some clarification as to where people stand. So there's a motion to table this up by at least two months. Or two months exactly. I don't know. It's like, basically, it's like, do you want to give ourselves a bit more time to figure things out? What is the right way forward? If you're confused, that gives you an option to get things clarified. And so can I clarify my motion? Okay. So I said a lot of things up front. I think my main point is how do we get some, I mean, people are right that these projects are different, but they do have complementary features, I think. And so my main point that I would like to put on the motion for tabling is, how do we get the concept of business processes and views, organization-specific views converged into Firefly? And that's why I would like to table it. So I'd like to table it until we have a comeback on how we could bring that type of concept into Firefly. So what you're saying is you want to modify the project proposal to include things that they didn't. What was that? Sorry, I didn't get it. I think I would be okay with either a comeback on how we can include this concept of business cross-organization business processes and views into Firefly, or how we can make Firefly a true umbrella project where these different things can work together. I think either of those, I'd be satisfied with either of those, and that's why I would like to table it so that we can have a comeback on that issue. I'm only seconding of an end of table, so if someone wants to second the modification, go for it. I see that there's some robust discussion in chat. Yeah, so we need a clear motion that has been seconded so we can have a vote. Otherwise, we're stuck guys, and we have nine minutes left. Do we have two people who agree that they wanted to table it or not? I can't tell. I think we should table it. We already had two of that, so we can just leave it at this for now, but I agree with the sentiment that it's nicer to have a goal set while we're tabling it off. I mean, my understanding is people want to have a clearer picture on what's the best way forward, which would involve investigating whether there is a convergence path. And if in two months, people come back and say, well, there isn't. Maybe that's totally a reasonable outcome, and then at least the TSC would have a clearer picture that's, okay, we can approve this project on its own because there is no conflict or convergence possible. And that's kind of where the way I hear it. Daniel? I mean, yeah, we need to have more time. I think when you have a separate email list or a separate chat room to discuss these, because there's a lot of parallel issues going on. And I think they're resolvable and I don't think they need to have perfect resolution. But I think, you know, hashing is out over two months will get people more comfortable saying, yes, this is a good project. Okay, so Tracy, thank you. Sorry. I know you wanted to call the vote, but if there's issues that need to be resolved, we need to document those issues, right? We need to be very clear on what it is that we're proposing. We need to say these are the things that need to be handled before we would reconsider. And I, you know, I feel like we've had a lot of discussions, but I'm not sure that I know what we're, what we're waiting on, right? And what's going to happen in the time that we're waiting to make sure that if convergence is the piece that we're focused on, is it resolution of the fact that these things are two separate things and they could, you know, both progress on their own? I just don't understand what we're waiting on. And so we really need to document all the issues are so that they can be resolved. All right. Thank you, Tracy. Fair enough. But I think Dave at least try to clarify, he wants to have time to see if there is a convergence path. That was his motion. Sophia. Hi, Sophia. Yeah, I'm just getting off me here in the room. I think Dave's most recent statement was that sort of acknowledging that people are seeing these as different projects. And I think he just most recently said is looking for a discussion around a complementary area, which I think gets to what Brian was saying. There's no reason we can't do that between, you know, projects in the lab. So I really sort of second, second, some of it's Tracy's sentiments getting pretty confusing as to what the real issue is here. I will say it's beginning to look a little bit, you know, just putting out the elephant in the room here. Hyperledger often gets conflated with fabric. And it feels like there's a fabric project that wants to put the brakes on another project to talk about something that is a different project and approach started in a different area. It's multi protocol, different philosophy to, you know, for one small area that Dave acknowledges could be complimentary. And there's already we'd welcome Dave as a maintainer would welcome all of you points. I think actually it's very positive. We've gotten a lot of outreach from Avalon your other projects who are really excited. So I'm not sure what it would just seem like, you know, IBM fabric team has, you know, something they pop up with, I guess, and a lot some ad hominem statements against intention. So I'm glad, Brian, you jumped in and and in others who've made comments. So it's I think just an optics perspective. It's just a little strange. Okay, I appreciate your point of view. But I think that's honestly not really cool for this point. We have heard from many different people from different organizations. Peter is next. Thank you. I just wanted to say quick note. I put this in TSC chat as well that if the TSC decides that it would be favorable to do some sort of exploration process for convergence, then I'm happy to volunteer some of my time from the side of CACCC help facilitate that we've been doing something similar already with the two new labs. Anyway, just wanted to put that down as an FYI. Okay, thank you. So I'll make the motion that we table this off for two months with the goal in two months to have a clearer picture as to whether convergence is possible or not. And then we'll reassess whether the path forward is through convergence of some kind, or we should just, you know, have fireflies stand on its own because there is no convergence to talk about. I'll second that motion. All right, so can we have a second? I propose that this is a roll call vote. Yeah, yeah, absolutely. Angela, do you have a comment on the motion? I second. No, no, wait. Sorry, because there was already a second, Angelo. There was a second from Dave. And we have three minutes left, so hot. So quick comment. Before we vote on this, can we get guarantees from all these stakeholders that there will be an effort at convergence? Yes. I mean, guys, we're going to be running out of time with no decision, which I think is the worst. That was my question. I'm done. Okay, I understand. That's a good point. But, you know, if there's no will to even investigate this, then I think it gives people who are concerned even more, you know, reason to be concerned. So what is a no vote? Sorry, what is what is a no vote? What does saying no to table it mean, mean that we don't Well, we should make a decision. And since we're running out of time, the next thing would be to vote on whether we then approve it or not. But it's going to be physically impossible in two minutes left. We could why I'm getting agitated here because I'm trying to drive us to a decision. That vote could happen on the mailing list as well. Yeah, maybe we'll have to do that. So let's see if we have to table a lot or not. At least we can get through this in one minute. So let's go to the roll call quick. Hey, Angelo. I second. No, you have to say yes at this point. Okay, Arno. Yes, Arun. Abstain. Oh, wow. Yes, Bobby. Yes, Daniel. Yes, David. Yes, Gary. No, Grace. Yes, Hart. Abstain. Maria. Yes. Yes. Mark. No. Nathan. Abstain. Tracy. No. Troy. Abstain. Okay. All right. So I don't know the exact count, but it seems like it is the motion is passed. I need to go count and we're out of time. So I will say everyone, you can send the outcome, but there was there was seven between no and abstain. So however many others left was probably yes. I think I got eight. Yes, 15 people. And three no's or something like this. There's three no's and four abstains, I think. So the motion passes. To the next time to find out the results. All right, people. I'm sorry. I'm sure some people were disappointed, but I hope this, you know, we can all work together to try to figure out a better way forward. So with that being said, you know, thank you all for joining with a full house today. So I take it that people have taken this seriously, which I appreciate. And we'll be talking about, we'll talk about again next week during the conference and otherwise in two weeks. Thank you all for joining. Goodbye. Thanks, Arnaud.


Hey, you know what the most common question I get? Or that everyone sees us do and they want to be able to do it themselves. And that's build and scale and eight-figure sales team. My sales team is the most profitable part of my business. I'm going to say that again, we do P&Ls, we track numbers like crazy. I'm going to share all that with you on November 26th, but my sales team is the most profitable part of my business because I know my numbers. When we were recruiting, we know where to find the right people, okay? When we're interviewing, we know how to weed out the duds and only hire studs and studettes, right? When we hire them, we know what to plug them into to make sure that their first week is extremely successful. And they're making sales literally their first day, okay? And it ain't an easy sale, right? I'm going to share all that, okay? And also, once they're here, how do you keep them motivated, energized, focused, showing up, prepared, ready, even working out in their own lives in the morning and waking up earlier? How do you do all that, right? And how do we get away with doing all that? How do I know that they're going to have so many dials and so many sales literally every single week, okay? How do I know that we'll have eight figures inside sales team very soon? How do I know that we need to spend, what kind of meetings do we have? What do our meetings look like? How do we spend multiple meetings, times with them every day? And when we train, energize and role play, what does that look like? And what does that look like for your team, okay? Because the biggest reason why I'm choosing to do this, because this is a private two-hour event with me, just to educate you for a quick second, on how to build and scale an eight-figure sales team. And how you can too. I don't care if you're in freaking Singapore, Canada, Puerto Rico, Missouri, Texas, New York, Florida, California, it doesn't matter, right? China, you can build and scale an eight-figure sales team, right? And I've learned exactly the steps to do that.  I'm going to lay it out, I'm going to masterclass it, I'm going to blueprint it. And I'm going to make sure that you know everything you need to know. Now, will you still want me to fly to you and actually spend a couple days in your operation and help your specific team? Probably so, okay? And I do that a lot. I'm going to Oklahoma next week, I'm going to Houston twice for the end of the year, I'm going to New York, I'm going back to Florida, right? So we are, we've got another guy in New Jersey wanting us to come, like we've got a lot going on. We're going to California. We've got a lot going on because people are seeing the opportunity to build and scale a sales team. And it's the biggest opportunity within your company right now.  And if you have to invest tens of thousands of dollars along the way, you're going to bring out tens of millions. So who cares, right? I mean, we have six people right now this week, over the last four days that have chosen to spend tens of thousands of dollars per person just to get me involved on scaling their organization, right? We're in conversations with a company right now that is looking at multiple locations about six figures a year to get me involved on going to every location, every quarter, okay? That's in the works, right? And so I know that if I can educate you and help you for as little as $197 on a private two-hour event, okay? And I'm going to cap this thing at 100 people. I do not want more than 100 people because the questions in the chat gets crazy even when we have 40 people, okay? So make sure you're one of the first 100. Make sure you sign up right away.  I'm going to educate you on everything I know, where to hire them, how to train them, how to keep them motivated, how to keep them energized, what to pay them, base and commission, or 100% commission, or just base, like what does that look like? How do we cold them accountable? How do we visually keep everything, what type of incentives do we do? And when we do incentives, what do we do? Like, guys, I'm going to share everything I know with you. And I'm going to tell you right now. The two hours I'm going to spend with you, it'll be the best two hours that we've ever spent together, virtually, because I'm excited about it. It's a gift of mine. It's what I'm excited about. It's what energizes me. It's what I, like, for instance, Steve Harvey always says everybody has a gift, right? That's my gift, okay? This. Also, I believe that you should be doing things in your business that energizes you and brings excitement to you and that you're passionate about and that you get excited about doing, right? Brings you energy to do those specific activities. Working with my sales team and your sales team, it brings me energy, okay? It makes me happy. And so that's all I do now, right? I get on here, I promote everything we're doing, and I, and I motivate and train our sales team and help other sales teams, okay? So I challenge you right now to click the link below and sign up, register for a measly small amount of money to make sure that you can build and scale an eight-figure sales team.  So do me a favor, register for this event. November 26th, I look forward to seeing you there.


believe you can answer your own data analysis questions. Do you? If you do, stick around for this week's edition of Code Club. I'm your host Pat Schloss, and my goal each week is to help you to grow in confidence in your own data analysis skills to ask and answer questions about the world around us using data. A couple of weeks ago my wife, Condor, 15-year-old Joe, in a rototilling a big section of our pink pen so that she could have a garden in it this year. She's been very ambitious this year in planting this garden. The garden has grown from being very small to very large and even larger. A number of years ago I tried to create a garden that was monumental. I figured I have a big tractor, I'm gonna have a big garden. It was way too big once the weeds started popping up. Anyway, like every other family this year we're thinking about gardening too. So nevertheless my wife got Joe to rototill the garden that I can kind of see out my window here of my office. A big area and she started planting it little by little and it's been helped along this week because we had a bunch of rain the last few days where we're at here in southern Michigan. Another thing that we got going on this spring is that I've got about 20 apple trees in the front along our driveway that are starting to blossom. I'm gonna start seeing the petals but I'm kind of a worrier and I worry about late season frost. In the last code club I talked about how cold it was a couple Saturdays ago or it was just like you know historically cold weather.  We don't know, right? Well a normal person might go to a website to figure these things out where you could do a Google search for your town or your city with frost state and they would tell you what date you're safe transplanting plants or having plants after a certain date and that you're very unlikely to get any kind of frosts. The one that that we had I found I think was called like Gardening in the Mitten. I have it in the web page version of this code club but you could go to that website and they will tell you you know you know what's the last date that you would expect a frost in the spring and what's the earliest you would expect a frost in the fall so that you would know that your garden is basically done for the year if you hadn't already given up and kind of run by weeds. So you know a normal person like I said would go look at one of these websites but friends we are not normal people. We've got computers, we've got data so why don't we use that data to answer the question herself building on some of the skills that we've been working with over the last few weeks in code club and so we'll be able to use that same data that I shared with you last week from a NOAA weather station that is located in in Arbor, Michigan on the University of Michigan campus has data going back to 1891 and so we'll learn about a new function called Mutate which we've actually seen in previous code clubs but I've never really talked about and we'll use it with functions that were our good friends at this point filter, group by and summarize to answer this question about frost date here in southeastern Michigan or perhaps you could get your own data from where you're from to answer the same question but for your region. In the exercises we'll take that idea and you'll be able to take it on to look at other questions. I'm gonna look at the early frost date, you'll look at the late frost date, there's also a rule of thumb that I've heard recently that if the low temperature and the high temperature for the day combined to be greater than a hundred degrees Fahrenheit then you'll have a good grass growth so I've got a lot of sheep and cows and it's important to me that this grass starts growing because I'm sick of paying to feed them hay so if the grass starts growing that would be great so when can I expect each year that the grass will start growing. So these are the types of questions that we'll be able to answer after today's code club. So again at the code club website on this page titled so cold and dexter we're gonna go down to the prompt and you can see that we have this section here this first code chunk in the gray box and I'm gonna go ahead and copy this over into our studio into a new R script I'll go ahead and save this as a so-called in dexter.r it's my R script if I run the whole thing everything loads eventually a weather and we get to see the data frame that we worked with a lot last week you can also learn more about this data set by going to my general R materials that are also linked at the top right corner of the Riffamonus website we spend about five sessions going through analyzing these weather data using different tools and tricks from DePlyer. So the question again is what is the latest that we can expect a frost in the spring and so a frost is any temperature below zero so to break this down a bit I'm gonna go ahead and write up what we call pseudo code and so the first thing I want to do is I'm gonna put these as comments because later I might want to come back in intermix code or I might want to intermix other ideas here so I need to determine whether a low temperature was below freezing right so in degrees Celsius it's below zero it's freezing okay I need to then a low temperature for the day right so we have every day from 1891 to present so we want to look at every day and tell us whether or not that temperature is below freezing and then we want to aggregate the data by month and year month and day sorry so for every day of the year we want to know what fraction of years was there a freezing temperature on that day so the third question then is to determine the fraction of years that a month day pairing had a frost and then finally we want to find the day it's in May where we're where there's below a 5 or 10% risk of another frost okay so this is our pseudo code and any time I'm trying to take on something that's a little bit more complicated than a one line chunk of code I like to put up an outline there because it really helps me to organize my thoughts and I always encourage others to do the same it's kind of like writing a paper that we'd like to start out with an outline so we can then go back and flush it out to make the problem easier because looking at a blank page on your computer is pretty overwhelming right all right so we're going to start with us and we know how to do nearly everything here okay we're gonna add one new thing which is the mutate function and we'll see something special about using logicals as we go through this so the first function we're going to talk about is mutate now mutate allows us to either change an existing column or add a new column okay so if we want to make a new column that says is it below freezing well we can use that do that with a mutate function okay so we're going to do a weather and I'll pipe that then into mutate to create a column or a variable called below freezing and that then is going to be equal to is the team in lower than zero okay so we'll say team in less than zero so as I was looking around at other websites some websites said well is it going to be a soft freeze or a hard freeze or a severe freeze right so they might use different demarcations for defining those different levels of freezes but for now if it's below zero I'm going to consider that a freeze a frost okay so in this syntax team in less than zero is going to give me one of three different values either a true because it's below zero a false because it's zero or higher or an NA so an NA would happen if say something happened with the thermometer that day at the weather station and it for some reason didn't record a team in value and so it'd be an a because we don't know what it was okay so if we run these two lines of code we now see that we get an extra column at the right hand side of this data frame called below freezing and we see under that in the the brackets the ankle brackets LGL which is short for logical okay so one of the nice things about working with logicals is that they also can have a numeric value and so I don't know how you remember this or some mnemonic I'm sure there's something but false has the value of zero and true has a value of one I think of false as kind of like a form of nothingness right so if someone is lying to you and everything they say is false they're like a nothing right they're kind of an empty suit so empty zero right whereas truth is wholeness right that if we have truth in our life then we have completion and one is a symbol perhaps of completion for you okay so we could also do this in our if we forget that philosophical rant we could create a vector with a series of true and false value so down here in the console I'm gonna say my vector and I'll say true false true false true okay so then my vector has a series of truths and falses and so it's important to remember that these truths and falses don't have quotes around them if they had quotes around them then they'd be strings and they wouldn't so easily be considered a logical value okay so I can use to demonstrate their numerical value I can use a function called as dot numeric as dot numeric my vector and you can see that those truths were turned into ones and the falses were turned into zeros which is pretty pretty sweet right because we can now use my vector that vector of truths and falses or below freezing in other functions that normally take numeric data the ones I usually use would be some and mean I use those frequently with logical data so some is going to add up all the values and that will tell you how many values are true so if I do some my vector we get three right now what would mean be right well mean would be the average or the mean of all those zeros and ones and that would tell you the fraction of the values in my vector that are true okay so that's pretty useful right that's pretty slick and again it's something that we can utilize going forward and so you know again we could think of some my vector so you forgot about the mean function divided by length my vector to get the same thing right but mean is a lot easier and and if you do have an NA value then I believe the the mean function will we'll see we'll be we'll perform a little bit better anyway okay so let's go back to our example and let's add to the end of this summarize summarize frack below freezing equals mean below freezing and we get an NA value alright so as I mentioned this is where we get into the problem of having NA values in our logical vectors and so an NA value we don't r doesn't know what to make of that in the mean function so if you look within the help documentation for some and mean you'll see that there's an argument you could use called NA dot RM and we can add to the arguments of mean NA dot RM equals true and what this means is before you calculate the mean remove those NA values okay so it won't count in the numerator or the denominator and so if we remove and the NA's then we see about 35% of the days between now and October of 1891 there was a freezing temperature right so this is northeast this is southeastern Michigan it gets cold here in the winter and and that makes a lot of sense right so but we don't want to know the total fraction of days that where it was cold there was below freezing we want to know for for today May 21st you know what fraction of days or what fraction of years on May 21st has there been a frost okay because I want to know do I need to keep worrying about whether or not there's going to be a freeze and so I can then add to this like we've seen in previous code clubs a group by function to say group by a year I'm sorry group by month and day it says it doesn't know month why doesn't it know month let's see a weather what should no month group by month day ah so it doesn't it doesn't know the month because I still have my summarized function in here right so I need to put my group by before the summarize function or that and now we're now we're doing it we make this window a little bit bigger and we see that in the first column we have the month the second column the day and the third column is the fraction of years where it was below freezing so on January 1st we see that 93% of the time we have a low temperature below freezing that makes a lot of sense right so I'm interested in May because that's when things start to warm up here in southeastern Michigan and so if I want to look at May hopefully you're saying with me ah we need to use the filter function so also say filter month equals five for the fifth month being a and we can then see those rows for the month of May great well May's got 31 days I think if I want to see all of the rows for that month for that data frame I could say print n equals 31 and it will then output data for all days of the month right and we can see that early in the month so like May 1st there's about a 8.7% risk of a frost right so 8.7% of previous years had a frost on May 1st right and so that's about that's close to 10% right and certainly if we think about anything after May 1st well then that gets pretty big too right so if we look at these we might start thinking about you know if you kind of think about a cumulative risk that in the month of May things get a little bit better as we go down the year down the month sorry and that you know once we get past the 21st there's never been a frost right there's never been a frost on the 22nd through 31st and you know if we kind of tick backwards and get to a point where maybe you know we're willing to accept say like a 5% chance of a frost then we're probably coming back to about I don't know so that's like one two four five so we're probably waiting until like the 13th or so to stop worrying about a frost so if we get to the 13th and there's maybe only a 5% risk that will have a frost the rest of May and so that's encouraging perhaps if you know if we're willing to be a little bit more risky if we went to the 10th then maybe we would we'd only have a 10% risk of a frost later in the year and certainly certainly if I went to that gardening in the mitten web website they would tell us that maize that the in arbor spring frost should end by May 10th which largely agrees with what we've got right so if we want to be a little bit more cautious we might wait to the 13th so we don't have a 5% risk but you know we could maybe move things up a little bit to the 10th and so then we'd only have like a 10% risk of things to worry about there okay so we could certainly make a plot of the whole entire year to see what's going on there that's going to require a few extra steps that using things like lubricate and ggplot that we're not quite ready for yet so in a future code club we'll cover how to do that how we might turn these probabilities into a plot showing the risk of a frost on any given day as a plot going forward we could also think about cumulative risk right so here we're showing the daily risk of a frost but certainly you know if someone has there's a risk of a frost on the first then it's perhaps I don't likely that the next day might also be a frost right so then you have an added risk as you go through so that's another function that we'll talk about in a future code club called cum sum CUM SUM all right so hopefully you now feel a little bit more comfortable about using the filter function the group by function and the summarize function along with some of these arithmetic functions like mean and and some but also this new function we've talked about called mutate which allows us to create new columns or to replace existing columns as we go forward we'll see how we can use these in more interesting settings to answer some provocative or boring or just silly questions that we could have pulled up from another website but at least I own this result now right like and so I always feel like that's empowering that I can pick a date based on the risk that I'm willing to accept not some website was willing to accept for me all right so go ahead and pause the video now engage with the exercises that I've given you and then after we come back I'll go through these answers with you and we'll see whether or not we get the same result hopefully you found those exercises engaging and learned something more about analyzing our data with our to answer a real practical question I'll be at a question we could have gotten by just a simple Google search anyway the first question was when do we expect the vegetables in our garden to stop growing so to answer this I'm going to go ahead and copy the code chunk that we had above and instead of looking at May because that's the start of the growing season I'm going to look towards the end of the growing season and so let's start with September because there are some cold days in September I'm not sure that they're necessarily frosts so if we run that code chunk and look we see that maybe in one year out of the past hundred and thirty there's been a frost on September 1st but really nothing to speak of until you know we get to like the 22nd or so now if I want to be confident that there won't be any more growth then maybe I want to look more like a 90 percent chance of a frost having happened so I'm going to go ahead and now look into October and again we can look at October or any month we want by changing that month parameter and so here we see that you know looking at the fraction of days below freezing for each day of October that you know if we got around the 18th you know then we're kind of getting to the point where maybe 90 percent there's in the previous days there's been about a 90 percent chance of a frost accumulative chance okay and so if again if our garden makes it to the 18th that's about as far as we think it'll go because after that then we're basically guaranteed to have either already had a frost at that point okay so if you can get from May 10th to October 18th it's about five months here in Michigan you're doing really well for your garden you know it seems like a really short growing season and certainly for me growing animals on a pasture where I need the grass to grow I probably need even warmer temperatures so let's look at that question in the second question so the second question that we want to deal with is how many days in Ann Arbor have a temperature greater than 90 degrees Fahrenheit okay so this is a little bit of a different question because we need to make a new column right we're not going to be dealing with the is is below freezing column we need to make a new temperature a new temperature column that isn't in Celsius but is in Fahrenheit right I could have turned 90 into Celsius but that kind of defeats the purpose of this exercise so I will come up here and do a weather and pipe that into a new column called mutate with mutate and I will call this T max F as opposed to what we had was T max in Celsius and the conversion between Celsius and Fahrenheit is 9 divided by 5 times the degrees in Celsius plus 32 so I run that I see I have a new column here which is the max the high temperature in degrees Fahrenheit over on the the right side of the column but now I'm going to do very much what I had done before with group I and summarize now I want to know for each year what is the probability of having a temperature greater than 90 degrees and so I'm going to create another column here which I'll just call is hot because that's hot for me so we'll say is hot and we'll say T max F greater than 90 and so now we have an indication in our columns here of whether or not the temperature for each day was hot at least by my standards so what I'm going to do now is for each year I want to know how many days was it hot and I'll pipe this then to a group by group by year and then with a group by I then generally do a summarize and we will then do total hot days and for this we'll use the sum function and remember a sum over a logical vector adds up all those zeros and ones to get you a total number of true values right so we're summing up the number of times that is hot is true so we'll say some is hot and again we're going to want to include that na.rm equals true to remove those na values and so now what I have is for each year the number of days where it was above 90 degrees now I don't have complete years worth of data for 1891 or 2020 so I want to remove those so I'll do filter year greater than 1891 and year less than 2020 okay now this is the total number of hot days per year I want to know the average number of hot days per year so I can then pipe this into another summarize function to do summarize of hot days mean total hot days okay so we see on average in Ann Arbor there's about 9.4 days where the temperature is above 90 degrees okay now you could do more and you could perhaps plot this as a histogram we'll talk about those concepts in another code club but if we wanted to look at a higher temperature say like 95 how many days over 95 do we have here in southeastern michigan generally about one or two days above 95 and let's say 98 maybe every other year one in every four years we have a day over 99 and similarly for 100 degrees it's it just doesn't get that hot thank goodness man that would be brutal I don't know how people in the south do it so again this is helping us to see on average how many days would we have greater than 90 degrees again the principles and the kind of the order and flow of the functions is very similar to answering this question as to the question of you know when is the earliest frost and what is the the fall frost date okay so let's try this again now with a different question which is based on a rule of thumb that I recently heard on social media that if you add the low temperature and the high temperature for the day and the temperature is above 100 degrees then grass will grow okay so again I have sheep and cows that are out on pasture and I need the grass to grow because hay is really expensive and I just I just love the look of puffy white sheep out on pasture or my son's black and white belted galloway is out on pasture too so when can we get them on pasture when can we expect the grass to start growing okay so again this sounds a lot like the frost date question right but we're going to use a slightly different mutate function that looks kind of like the one we just did in the second exercise I hope you see that these questions are all related and they do build on each other so we'll do another mutate and so I'm going to convert my min and my max temperatures from Celsius to Fahrenheit and we then want to create a column that says is that a sum of those two greater than 100 so I'll do t max f and I'll do nine divided by five times t max plus 32 I'll do t min f nine divided by five times t min plus 32 that should be a comma not a period so let's see what that looks like so it's upset with me oh because I put an equal sign instead of a plus sign see I make a lot of typos too so we now see that we have those two extra columns I'm going to go ahead and add a column that I'll call I'll call is growing grass grass growing maybe and we'll say t max f plus t min f greater than 100 so again if those two added together is greater than 100 the rule of thumb goes that it's the grass is growing and we can see here that these first dates of our our data frame suggest that here in October that we have grass growing at just over 100 degrees right so again we want to aggregate this data to look at whether or not or when when the grass starts growing okay and so like we did with the frost dates we're going to go ahead and group by month and day and we'll then summarize frac growing days to be the mean of grass growing and again we've got na values in there so I need to go ahead and add that na.rm equals true to get the you know fraction of years where we've had you know theoretically a growing day and so we see that maybe one or two days or I guess maybe about five days in early January we've had temperatures warm enough for grass growth Michigan weather is very unpredictable and very erratic but in general as they say April showers bring May flowers that's another one of these rules of thumb or heuristics is that true I don't know maybe probably not so much in Michigan so if we then do print or let's do filter month equals five and then print n equals 31 again this code chunk here is almost identical to the code chunk for looking at the frost dates the difference is which what we're doing to mutate you know what kind of column are we creating and what logical question are we asking otherwise this framework is identical to what we had done for the frost dates so I hope you can see that and that this general structure to the code can be adapted to be to answer many questions as we've seen already in this code club so if we look at this then we see at the beginning of the year beginning of May there's about a 70 chance each day of grass growth but you know we don't really have reliable grass growth according to this heuristic until probably maybe like the 23rd of May or so okay and similarly we could we could also look at the end of the year by changing this month to 10 perhaps and seeing you know when do we stop getting reliable grass growth well it's probably at the end of September right and that temperature is really cool down and so we could maybe look at September instead and so we see yeah that like you know the you know 90 percent of years on the 24th of September we still have grass growth temperatures and after that you know the probability starts falling off of course if you know anything about grasses our pastures there are different types of grasses that do well at different temperatures and so this again is a heuristic a rule of thumb that would be interesting to correlate with soil temperature which is another variable that's in these data sets and so perhaps we could we could evaluate this heuristic to see if that T min plus T max being over 100 degrees Fahrenheit matches with agronomy data or soil temperature data and to look at the different types of grasses that grow at different temperatures but again that's a lot of work and so hopefully you've seen here in this code club what we can do with a few lines of code and a question thanks again for joining me for this week's code club be sure that you take time to engage with the exercises to strengthen your skills and to continue to practice even better would be for you to ask your own question using this data set to answer a question that's relevant to you whether that's getting data that's for your local area or again asking a question that makes you curious please engage the material i'd love to hear what you're trying to do by leaving a comment down in the comments if you run into a hurdle let me know what it was i'm sure there'll be other people that are having the same challenge and i'd love to cover that in a future code club and perhaps take on the question that you were trying to answer to help others to learn are better keep practicing and if you've enjoyed this please be sure to tell your friends about these code club videos like the video to help others find it please subscribe to the rifamonis channel here and then also click on the bell so that you're notified when the next code club video is released i'm releasing these every thursday at noon so for look for the next one on may 28th around lunchtime until then keep practicing stay safe and take care