195 SEP 9 COMMUNITY DEBRIEF • 48:43
0:00:00 – Intro
0:00:20 – Tech update
0:10:55 – Greg comments – Hats off to nutzipper and team!
0:12:07 – Community WIR (Week in Review)
0:16:46 – Ian and Dan’s demo of on chain voting process
Greg Meredith 00:01
All right. Looks like we’re, we have quorum. Um, we have some fun stuff to show today. So I’d like to get to it. So, Rao, are you ready to give the tech update?
Rao Bhamidipati 00:22
Yes, I am. Okay. Welcome to Community Update 136.
So we have we have a few significant things we had accomplished this last week. As you know, we’ve been working diligently on getting the 0.9.26 tested. As of right now, where we are is the main net validator nodes are running 0.9.25.3, which had the performance improvement feature that was put in But last week or a few days ago, where we are now is we are testing a 0.9.25 for release.
One of the main things with 0.9.25.4 is this having a solution to this, you can see from the numbering here on RChain 7.27. This bug was first discovered back in August 2018, so a little more than two years ago, but it was it would play enough hide and seek, I guess. Basically, people would clean up the state or do something it’ll go away, and then sometimes show up somewhere else. This is related to the lmdb issue that Greg was talking about. One or two debriefs ago. So this one now we have a solution. And that’s the one that we are testing. This was reported a few times since August 2018. But because of the dependence on the state of the memories, and the you know, what part of the state you’re dealing with, it would it would come in sometimes and was not reproducible.
So now we think we finally have a solution for that. And Tomislav and Nutzipper together Tomislav created that and Nutzipper implemented that and is testing that. So we should have that released in terms of actual impact. Obviously, it was causing issues in comparison of the last finalized state was one of the reasons and it was showing up more often. But also it would hold up the network sometimes requiring us to bring down the node so it’s It’s good that we have a resolution to this and that we’re able to put that in.
Of course we’ll watch to see if this issue is recurring anywhere else other than the places where we’re fixing it, but we finally think we have a handle on this. So that’s what we’re going out as 0.9.25.4. For that 0.9.25.4 should be released. I mean, it’s right now in Dev will be released to test net and then onto the main net soon in the next few days. In parallel, we have the main path of work which is 0.9.26. So there was 0.9.26 Alpha 0.9.26 Alpha one alpha two were all released and in the testing of 0.9.26 we are finding and fixing a few different kinds of bugs, obviously, one set of bugs is from the newly written code, just to make sure that the logic is correct and connected where we discover problems. But the other one is really, some of the older code issues are kind of presenting themselves that we are having to tackle. And this is part of the reason why the testing first of all is very, very productive. But at the same time is because anytime testing is going to find bugs and we’re having to go back resolve them and then, you know, discuss and make sure that what we’re doing is consistent in all different states and conditions of the chain. You know, and that it would work with epoch changes and all those kinds of things.
So that’s kind of where we are So but the good news on the whole 0.9.26 release is that we finally think that we’re close to be able to say, you know, next week barring unforeseen circumstances between now and then we should be able to have the final version of 0.9.26 that we can begin, give it the final test. where we are, I’m going to skip down in the document a little bit to the in process section. So, Tomislav has written up a gist on the what and how the last finalist state how it works. And this is where the mapping of different stage changes and the interrelationships or impacts is, and he has also written sample generative tests so that will not be broken or stolen. Increasing those or, you know, creating more of those. And once those are in, we should be, we should have a good handle on where we are with 0.9.26. And like I said, hopefully we’ll have it all baked in by next week, sometime, probably late in the week next week. So that’s, that’s where we are. Um, I talked about the fact that Will was working on an API to request test rail from the test net that’s implemented and Ian is going to demo that as part of his working demo today.
And let me see if there is more on the development side to speak to some of these other things. I think the I spoke to the 4k calculations performance improvement last week. So we’re seeing about a five X to six x improvement from where they stayed, the main net was before five. So the other couple of things that we’re working on, we have the dependencies that we’ll try to update in a separate branch, but it’s a little bit slow going right now. But once we’re done with last finalized, it will take some time to resolve this and make sure that we start with a nice clean version of the updated code base and the dependencies and all that that we could use with for the runtime manager refactoring, as well as for the block merge. That’s kind of where we are with with that.
And in terms of that development, there has been a lot of activity and intense activity. hackathon planning and execution, we’re making good progress there. We expect to have the hackathon registration page ready this week.
The hackathon itself is October 10, and 11th. But basically, the planning right now is that we expect up to 5000 or so registrants. And we will conduct two levels of testing, we’ll have an initial screening test. And then we will probably ask the selected number of people that qualified in the first test to actually demonstrate their ability to do pull requests on some of the issues in GitHub. So with that, we are hoping to winnow down the list down to 50 to 200. Participants are so I think right now, that’s about all we can handle, really from a hackathon virtual hackathon standpoint, because once we have them in the hackathon, we need to have people on our end being able to support them as they go through it. They have questions about rholang, or you know, what’s causing them problems and all of that. So it’s I think, basically, whatever we learn from this experience is also great. It sets us up for future hackathons, and, you know, improve and better and larger hackathons. And depending on the experience here, we might do them regionally, virtual, but regionally or something like that, but think about that in future.
So that’s where we are with the hackathon and Dan has done significant progress on the voting thing, which is what I think Ian is demonstrating today because this time doesn’t work for Dan. So that I think is by and large my update or the key highlights of what I wanted to say. Then some of the details are here, you can read through this bug or you can read through the specification for the last finalized state at this gist if you’re able to see my cursor. So that’s what I what I wanted to cover. Is there. Are there any questions from anybody? Anything that I can answer now. All right, over to Greg.
Greg Meredith 11:00
Thanks so much. Yeah, I’m very excited about the work that’s that’s come along. Nutzipper in particular, did some great work over the last few days finding and fixing a couple of pernicious bugs. So hats off to Nutzipper, then the whole team in general, they’re just really working very, very hard. The I, we I really do want to get to the demo. So let’s go ahead and let Darryl give the weekend review Darryl, if you check your email I send you the CASPER stand up summary. So you should you should be able to just paste it in.
Darryl Neudorf 11:49
Oh, okay. Okay, here let me try to think fast here. Your I go checking my email and I don’t yet
Greg Meredith 12:01
Don’t worry, I can read it out.
Darryl Neudorf 12:03
Okay. Yeah, that’d be great.
Greg Meredith 12:05
Okay, yeah. So on the on the CASPER stand up mostly what we because it was Labor Day just took questions from the participants. So Steve had some questions about the relationship between the sort of equational presentation that I give in the radical fault tolerance work versus the kind of formalism that we use for justifications that we stole from the Abramsky Highland on game semantics. And so we talked a little bit about that and then we also covered some questions that Tom slug had about the the work towards a geometry geologic. So that’s the CASPER stuff.
Darryl Neudorf 12:57
Cool sounds interesting. Sounds like an extension from the last week.
Greg Meredith 13:02
a little bit yeah.
Darryl Neudorf 13:04
Yeah, so I am still working on that so I’ll have to I’ll have it hopefully uploaded today or tomorrow so all you Casper Standup fan boys and girls will have to wait until then. Okay, so I’ll get started with actually last Wednesday, Greg and Christian did an RCast, where they explored a logical view on geometry. And you can check that out at blog.rchain.coop.
Also last Thursday, the Governance Committee received a progress report from the nominating committee on the board nominations process. The majority of the meeting centered around the status of an on chain voting mechanism for the annual general meeting and possible alternatives.
Also on Thursday, the DAP developer Working Group modified zulip voting bot results and added delete.
Last Friday at the climate coordination call our guests were Manolya Adan and Basil Mahfouz of www.synsapien.org who are developing a digital platform to help innovators worldwide co invent technology in large groups. Really amazing group there that are are working on very similar parallel ideas as to what RChain is doing.
On Saturday there was an RChat call, where they developed sequence diagram for zulip voting. And on Monday there was a blockchain art call. They worked on test net transaction cache for collecting voting by sending REV dust results.
Yesterday on the RChain education call, they reviewed lens library and virtual DOM native to ESX.
Also yesterday in the Communications Working Group call, we discussed the coordination with Code Tantra in the hackathon scheduled for October 10 and 11th We also discussed how to better communicate with the current membership and the current state of the on chain voting process.
As well yesterday in the DApp Developer Working Group, they developed a script for tallying voting results, given a ballot in JSON.
And this morning at Jim’s member hangout at 10am. Pacific time, Jim showed the latest RVote work that’s been going on and Rafael announced a new version of Dappy that he may demo in next week’s call. Which brings us to right now.
Greg Meredith 15:38
Awesome. Any questions for Darryl?
Ian Bloom 15:43
Yeah. When was that that you looked at a script for tallying of voting results?
Darryl Neudorf 15:50
That was yesterday in the DApp Developer Working Group.
Ian Bloom 15:54
Oh man, I missed though. Okay.
Greg Meredith 15:56
Yeah. It shouldn’t be too hard. Right? mean, all you have to do is to go to the index server and run over the transactions.
Jim W 16:10
Greg Meredith 16:25
Yeah, that’s probably a good idea.
Jim W 16:30
Quick and dirty and it gives us all the results.
Greg Meredith 16:36
Awesome. Very good. Very good. That’s great. Ian, are you ready to give a little demo? Rock on?
Ian Bloom 16:43
Sure. Let’s do it. So, first, Hi, everybody. So Dan Connolly isn’t here just yet. Otherwise, he’d be doing this demo because this is mostly his work, but he might come along later. And perhaps answer some questions or take us into some more of the details of what we have. And so for this live demo, I mean, what could go wrong. I wanted to buy Dan a little bit more time by incorporating in this demo, the whole registering a rev address, and then doing some on chain voting. So to make it more fun, I grabbed a handy dandy ledger wallet. And so we’ll be doing this on ledger, to show that we have some compatibility here using a hardware wallet ledger with meta mask and with a wallet that was built by our own Tomislav Grospic. So let me share the screen and begin. Okay, can everyone see?
Dan C 17:53
Yes, yeah, great.
Ian Bloom 17:56
Okay, so this is the page that Dan developed Where you drop in your your governance REV address here. And then here we have a URI, which is a registry ID to a ballot. Alright, so I’ll get to this in a second. So here’s the link to the ballot, and then I would click get questions the ballot appears here and I submit my vote. But first let’s take a look at at Tomislav’s wallet and I’m going to select a test net and I’m going to connect to my ledger wallet here. Alright, good so ledger is selected.
Jim W 18:55
Is there a reason you didn’t do this on the vote page?
Ian Bloom 19:00
Because I wanted to show the registration of a REV address.
Jim W 19:05
Ian Bloom 19:07
Okay, so here’s my meta mask, etherium address and the equivalent REV address. And I’m just going to give it a friendly name here. ledger and check the balance. I have to go back and select the test net. Here we go. Anyone can see what what’s wrong here.
Jim W 19:35
I’ve got the issue before and sometimes just re selecting it, we’ll fix it.
Ian Bloom 19:42
Okay, here we go. So it looks like I’ve got 1.9 REV. Well, let’s say I need a little more. So let’s use our new our new faucet so I want to send REV from our faucet to this REV address. So I’m just copying this into the buffer. And here’s the URL for our faucet. And I’m just going to paste in my REV address. So here HTTPS status, RChain co-op test net faucet and the REV address that I want to send 100 REV to. And I’ll hit enter, see if this works. There we go.
So after after a couple minutes, I’ll have 100 REV. In that wallet. Also, I’d like to register that REV address for voting for governance. This is the notice of the RChain co-op annual meeting that I received. All the members should receive this and I’m going to click here to register my REV address. And actually here it’s already registered, but I’ll just stick it in again, click Submit. And I get a confirmation email. So now I know my REV address is registered with the co op and I should be ready to vote.
So I’m going to pick an account. It should already be in, pull up my ballot. Great ballot is in and I can vote for board. We’ve got some new candidates for the board. We’ve got Wil E Coyote Daffy Duck and Donald Duck, as well as an agenda an item of business for member swag, stickers t shirts. Okay, so I’m just I’m going to vote in support of All of these except for, I think I’m going to vote against Donald Duck. Sorry, Donald. And so this has generated a deploy that I’m ready to send to register my vote. And here we have, let’s see for each yes or no vote, there’s a different REV address that dust gets sent to. So I’m going to go ahead and submit my vote and sign with meta mask.
Okay, so my my vote has been sent off. I can also look back at my wallet and see if if my balance has gone up by now. So I had 1.99 Rev. And okay, my my hundred additional rev has not yet come in. But we’ve done our voting and we’ve registered our rep address. So I don’t have a demo of the tallying or scoring on the back end because I missed that meeting yesterday. But I like the way this is put together because it’s very transparent. It uses an open source wallet, you can dig into the guts of it. And it’s a great demonstration of how to implement RChain and we’re also using meta mask which is well trusted and ledger that has arguably very good security.
And actually, I’m seeing on my ledger that I have to sign the message. So that’s why this hasn’t gone through yet. So I’ve got a long message hash on my ledger hardware device and I’m signing now. Ah here we go says deploying. And so in a couple minutes the vote should be registered. And if anyone out there has good access to a block Explorer or some way to look into test net, you can you can see this, this vote being registered So I just want to check back and see if I’ve gotten my faucet REV yet. There we go. So the faucet has given me 100 REV that works. So any questions while we’re waiting for the deploy to finish?
Would when you signed on your ledger? We didn’t see that. What will we see? If we don’t use the ledger?
Ian Bloom 25:39
If you don’t use a ledger, then you’ll just simply click on metamask,
Ian Bloom 25:45
Actually, I can I can do that right now. If I wanted to change the vote, I’d simply take this this JSON so this is everything about our about our vote items, item of business Daffy Duck, who I’m voting for the wallet addresses for yes and no, I’m just going to copy this and Maybe do a little bit of editing of the of the JSON. So if I wanted to change the candidate from Donald Duck to Mickey Mouse There we go. I can actually take this JSON. And in Tomislav’s wallet, I can do a deploy to the registry so I can insert this JSON into the registry right here.
So where it says my value, this is what I’m going to register. I’ll just stick the JSON. I’m going to paste. All right, that’s done. and deploy Rholang code. Oh, here we go. Again, look So I’m signing with meta mask. And on my ledger, it says sign message, I review the message hash. And I just clicked sign on my hardware wallet. And so here is the deploy.
Greg Meredith 28:29
Did you get the the registry name associated with it back?
Ian Bloom 28:33
I will. I’m saying checking result. So when the result comes, I should have a UI that I can that I can use.
Greg Meredith 28:45
Oh, yeah, I see it at the bottom. Now the text is very small.
Ian Bloom 28:49
Greg Meredith 28:50
Ian Bloom 28:51
I can make a little bigger if you’d like but oh, no, it’s okay. I could.
Dan C 28:56
Yeah, just so happens that JSON syntax fits inside a rholang.
Ian Bloom 28:59
there. is okay. All right. So we went through a vote. It’s still deploying, and I was just demonstrating how to how to update the ballot.
Dan C 29:15
Yeah, I joined about four minutes ago maybe. Okay.
Greg Meredith 29:20
Any other comments you want to make Dan?
Dan C 29:30
there’s various issues that lots of people, you know, we could use help with there is nothing really critical. I can see that’s going to stop things, but there’s various little details that should be attended to.
Greg Meredith 29:45
Well, why don’t you Why don’t you say what those are in your view. Um,
Dan C 29:52
let’s see actually. If you go to, I guess I could share my screen for a second.
Ian Bloom 30:04
Okay, sure. Dropping now Oh, we got the URI by the way.
Greg Meredith 30:13
Ian Bloom 30:14
So that URI, I can actually drop it into the ballot experiment and run a new election cast a vote this time for Mickey Mouse.
Greg Meredith 30:27
Right? The nice thing is that the ballot is a resource on chain, so right as so it can be meddled with
Ian Bloom 30:37
as long as I can. I can share the screen and show that just while Dan’s getting ready, there.
Okay, go ahead.
Ian Bloom 30:44
Okay, so the deployment was successful. I’ve got a new UI, which is this row ID. It cost me just a little bit of dust. So I’m going to copy this into my ballot experiment page. And so for the agenda you are I’m going to replace this old ballot that had Daffy Duck. Duck with that, sorry, Donald Duck with the with the new one. And I’m going to click get questions. And this time you notice it says Mickey Mouse per board member.
Dan C 31:21
By the way, did you notice the visual hash on the right?
Ian Bloom 31:26
So it changed with the agenda URL selected,
Dan C 31:30
right? So you see, like, there’s a number a digit one in there. If you change the digit one to an L. You know, if you add any kind of character, and then tab out of there if you tab Yeah, see, so if anybody tries to to spoof the registry URI, you get a very different image over there.
Ian Bloom 31:50
Right. So watch this one change. Yeah. That was fun. All right. I’m gonna give it back to you Dan.
Dan C 32:01
So this is the RV 2020 issues list. There’s some stuff about continuous deployment and organization, the repositories that that I was the middle of progress on. And I think in your looking into the continuous deployment stuff, this is mixed in with some zulip issues. So there’s this Co Op critical label, which is, you know, no matter how you slice it, we have to tally the votes.
We got to figure out how to do yes, no questions, which Ian just demonstrated this technique. One, one member, one vote is pretty clear how it works in this case, although the tallying thing is we’re still working on that the recent work that Will and company did on the on the Explorer made this hugely easier. He’s got this tool that collects all the transaction information that allows us to tally the ballots in, you know, roughly this much code. We’re gonna have to deal with a few more corner cases.
Jim W 33:11
Yeah, I handled all the cases now except for the list of allowed voters.
Dan C 33:20
Okay. Right. Oh, that’s kind of an interesting question. In some ways, it would be nifty to have the list of allowed voters on chain but but there’s radical transparency on the one hand and moderate privacy on the other. So.
Greg Meredith 33:40
Dan C 33:45
Anyway, those are the sorts of issues.
Greg Meredith 33:47
Cool. Well, it looks like we’ve got a handle on the vast majority of them,
Dan C 33:51
Greg Meredith 33:53
Very good. Yeah. So I so so what this does is it says we have a mechanism to do governance on chain by October and now the icing on the cake is to get this integrated with zulip. So we have a slightly more pleasant user experience, but it’s not a requirement. It’s just icing.
Dan C 34:18
Right. I do have a question. Does anybody know when the ballots are should go out and when they’re due back?
Greg Meredith 34:26
Uh, yeah, let’s see what what are we? last year? I think we put them out just a few days before they were due.
Ian Bloom 34:36
So the election begins on October 21 and closes 12am Pacific on October 24.
Greg Meredith 34:44
Okay, there we go.
Steve Henley 34:47
Greg Meredith 34:51
So we got more than a month.
Ian Bloom 35:00
Sorry, that’s not valid goes out. That’s the sort of voting voting begins on October 21.
Greg Meredith 35:11
So the ballot ballot might be available sooner, but at a minimum, it has to be done by the 21st.
Ian Bloom 35:19
Right. So as soon as the board can, can get that done, then we’ll publish it.
Dan C 35:25
Because, as you just demonstrated, once the board got the ballot goes out, it’s on chain and everybody has to be agree on that ballot URI, right?
Darryl Neudorf 35:34
Greg Meredith 35:36
So it doesn’t have that can be the ballot URI can be published and well known places in Discord.
Dan C 35:41
Right, right. It’s just you don’t want to have it changing, you know, five minutes before, you know,
Ian Bloom 35:46
no, it’ll be a board a board decision, and all the board members will have to vote to affirm that ballot.
Dan C 35:53
Right. So like, when’s the last board you know? So anyway, that you can see how that’s something I’ve been tracking. Yeah. Yeah, so it would be really cool to have the ballot URI in a board minutes.
Ian Bloom 36:13
And in this year, it looks like they’re going to be three three seats and more candidates than there are seats. So the the two candidates with the most votes would get three year board seats. And then the candidate who received the third most votes would receive a would get a two year board seat.
Dan C 36:40
Greg Meredith 36:44
Jim W 36:45
so, um, Now are we gonna have the put in the ballot, like a the URL, a URL to find out about candidates or the item
Ian Bloom 37:00
Yeah, we then we can include links. I mean, that fits nicely in the in the JSON. And each, each balloted candidate will have a candidate statement. And I’m sure they’ll be doing some campaigning as well.
Greg Meredith 37:21
any other questions or comments about about this? I guess one of the things that is, is worthwhile noticing is that this is all built around this basic ability, which is that you have, you can store data on chain and that, you know, the content is addressable, and it’s addressable in multiple ways. So one of the things that Dan is doing is returning a URI that’s associated with the ballot as an example. The another approach that’s more sophisticated, of course, is the Dappy approach where you provide more familiar pathlike gadgets to address content that’s stored on chain. But all all of that depends on the fact that the chain is essentially a big key value database. And all of the accesses to the key value database are controlled via rholang. So it’s very, very straightforward to build applications. Dan, just out of curiosity, how long did it take you to do this dust thing?
Dan C 39:00
There was it goes basically working in one day.
Greg Meredith 39:04
Yeah. This is kind of this is the point.
Dan C 39:10
Greg Meredith 39:20
Yeah. So this is this is very much what, what we would like people to begin to understand. And everything else moving out from here is largely just performance improvements, and security improvements. The functionality of the chain is is in place and people can, can really code to their heart’s content. And sort of the sky’s the limit in terms of the sort of app, the kinds of applications that that it can support.
Dan C 39:52
Yeah, and the key value store what you can store there been other block chains, you can store like a string or a bunch of bytes. You can just store these hugely rich data structures like persistent data structure sets and maps and all that kind of stuff.
Greg Meredith 40:05
Yeah, exactly. And and using JSON as a basic mechanism makes it more more easy to integrate with the outside world. Right? Because a lot of a lot of the outside world, you know, uses JSON to, to as a transport and communication medium.
Dan C 40:26
Yeah, I was just looking at there was this other blockchain, it’s got proof of stake. And they’re talking about their key value store and stuff. But they can’t store code. There’s no, there’s no smart contracts. It’s like, man, if there’s one thing we’ve learned recently is you want to have the code near the data.
Greg Meredith 40:45
Indeed, indeed, indeed. And that’s, that’s really the essence of our spaces that is being able to store data and code. Great. Any other questions or comments from the community?
Steve Henley 41:01
I just have one comment, Dan, I thought that visual image of the hash was a nice little touch that you added. So thanks for adding that.
Dan C 41:14
Yah I had fun with that.
Greg Meredith 41:19
Darryl Neudorf 41:21
I just like to add that starting off this week. We were kind of contemplating the idea of abandoning this for this AGM and reverting back to election buddy. And, you know, here we are now, so I just like to thank you, Dan, for bringing it back.
Greg Meredith 41:40
Dan C 41:42
I got a wall here somewhere. But anyway.
Greg Meredith 41:47
I would love to see the functional cryptography candidate still in the running. I think a lot of us are um, you know, the bar to cross is that it’s open source. I don’t think anyone in the community is willing to put private key stuff into a code base that’s not open source, regardless of whether the code has warts or not. Open source is more important than then cleanliness. So I would love to see that of the functional cryptography as a, as a candidate that’s still in the running and has some very interesting features as well.
Dan C 42:30
Yeah, you get the number…this is definitely the simplest thing that could possibly work and there’s all kinds of fun stuff to do on top of it.
Greg Meredith 42:37
Absolutely. Absolutely. Yeah. We just want to make sure that we’ve we’ve got a fallback position. And the the more the fancier that we can make it that we’re fancy equals, you know, real important features. Yeah, the, you know, the better.
Ian Bloom 42:54
It just a suggestion for folks when you register a REV address. With the co op a REV address for for this governance function, it’s a good idea to not have millions of REV at that address. Yeah.
Greg Meredith 43:15
Yeah, I think from an operational security perspective, I wouldn’t use the REV address. The REV address that I’m using for governance would not be the one I’m using for financial stuff. So, for sure, let’s
Jim W 43:36
and if you want, if you want to be private about your voting, you don’t want to use REV address that people know you have.
Ian Bloom 43:47
And you can you can go in and update the REV address that you have on file with the co op all the way up until you know a few days before the vote when we will freeze the ability to to make that update.
Dan C 44:00
Yeah, well, that’s good because mine is in screenshots all over the place now.
Greg Meredith 44:11
All right, so we’re about 12 minutes before the hour. Any other questions or comments from the community about anything that we’ve talked about today?
Jim W 44:24
I just made one comment about voting. Which is was the advantage of using the the dust method of voting is that if somebody looks at the ballot example, okay, and they want to vote without any software at all, they can just send then dust with any wallet to the yes address or the no address for any of these things. They don’t have to use any software.
Greg Meredith 45:00
Indeed, indeed. Yeah, that’s a that’s a plus. Yeah. The, the, the trick or Oh, did you did you run the the tally script? Yeah, this
Jim W 45:12
is the tally. It shows us the number of votes. And it’s it, you know, in progress here. So I check afterwards to see if somebody voted both yes and no. And then I find out, which is the most recent vote they made, and I use that. Okay. I correct the vote corrected based on what votes and remove duplicate votes and all that. So
Greg Meredith 45:41
awesome. That’s great.
Jim W 45:43
It’s a good model anyway. I mean, it could be used, but it’s a shell script probably isn’t the right way to present it. Well,
Greg Meredith 45:53
it’s a it’s a very, I mean, the dust method, I have to say is a very process algebraic way of doing things, right? It’s just that’s why I, you know, propose it was just, you know, it translates directly into rholang. You know exactly what to do there. And you know, and it’s it’s it’s a design idiom, a programming idiom that you know, harkens back to a lot of the kind of process algebraic network protocol designs. Ah, you know, we’re at the beginning of the process algebra research, right so that, that that idiom is is very old and well understood. Nothing, not going to get a lot of surprises there.
So don’t be shy. We want to give these these folks some a good…..show them a good time. So, you know, let’s, let’s collect a lot of fun questions. I’m sure there’s a lot of talent in the community here where, where we can, we can give them, give them a run for their money. All right. Thank you so much, everyone. Talk to you on Friday, if not before.
Steve Henley 48:37
Great. Thank you, everyone.
Ian Bloom 48:38
Darryl Neudorf 48:39