Sender | Message | Time |
---|---|---|
16 Apr 2024 | ||
nachodg | So we can change it later if it does not suit us in the future. | 20:22:33 |
Ian Clarke | Redacted or Malformed Event | 20:42:28 |
Ian Clarke |
You can add new keys to a HashMap as its just a list of tuples, so I don't see what would prevent extending a definition.
The Bincode encoding is specified and deterministic, and therefore it is reproducible - unless you mean something else by that.
Because of its simplicity, which is a feature - not a bug. | 20:48:51 |
Ian Clarke | *
You can add new keys to a HashMap if needed as its just a list of tuples, so I don't see what would prevent extending a definition.
The Bincode encoding is specified and deterministic, and therefore it is reproducible - unless you mean something else by that.
Because of its simplicity, which is a feature - not a bug. | 20:50:10 |
Ian Clarke | *
Yes, sorry - engaged fingers before brain.
You can add new keys to a HashMap if needed as its just a list of tuples, so I don't see what would prevent extending a definition.
The Bincode encoding is specified and deterministic, and therefore it is reproducible - unless you mean something else by that.
Because of its simplicity, which is a feature - not a bug. | 20:52:48 |
Ian Clarke | *
Yes, sorry - engaged fingers before brain.
You can add new keys to a HashMap if needed as its just a list of tuples, so I don't see what would prevent extending a definition.
The Bincode encoding is specified and deterministic, and therefore it is reproducible - unless you mean something else by that.
Because of its simplicity, which is a feature - not a bug, no need to deal with .proto schemas. Bincode also tends to beat protobuf in benchmarks. Packet serialization needs to be fast. | 21:05:28 |
Ian Clarke | *
Yes, sorry - engaged fingers before brain.
As Nacho said - the transport protocol is versioned will will allow extension in a backwards compatible way, without the bloat that can occur with formats that have extensibility built-in (like protobuf).
The Bincode encoding is specified and deterministic, and therefore it is reproducible - unless you mean something else by that.
Because of its simplicity, which is a feature - not a bug, no need to deal with .proto schemas. Bincode also tends to beat protobuf in benchmarks. Packet serialization needs to be fast. | 21:10:01 |
Ian Clarke | *
Yes, sorry - engaged fingers before brain.
As Nacho said - the transport protocol is versioned will will allow extension, or even a complete change in format if necessary.
The Bincode encoding is specified and deterministic, and therefore it is reproducible - unless you mean something else by that.
Because of its simplicity, which is a feature - not a bug, no need to deal with .proto schemas. Bincode also tends to beat protobuf in benchmarks. Packet serialization needs to be fast. | 21:33:58 |
@thompson_plug:matrix.org | Redacted or Malformed Event | 23:02:09 |
+ | Spam Police | Redacted or Malformed Event | 23:02:18 |
@thompson_plug:matrix.org left the room. | 23:14:26 | |
17 Apr 2024 | ||
astrotee joined the room. | 11:15:57 | |
Ian Clarke | *
Yes, sorry - engaged fingers before brain.
As Nacho said - the transport protocol is versioned which will allow extension, or even a complete change in format if necessary.
The Bincode encoding is specified and deterministic, and therefore it is reproducible - unless you mean something else by that.
Because of its simplicity, which is a feature - not a bug, no need to deal with .proto schemas. Bincode also tends to beat protobuf in benchmarks. Packet serialization needs to be fast. | 14:57:57 |
Ian Clarke | 🛠️ Weekly developer meeting summary | 20:44:46 |
@gogo2464:matrix.org | In reply to @iancjclarke:matrix.orgI woukd love to asssist to the next </3 | 20:47:42 |
Ian Clarke | Did some work to improve the tutorial, feedback welcome | 22:20:41 |
meri | I’m keen to give it another go… I think I’ve tried twice now to get a contract running locally but haven’t had much luck. I was relying on the example projects and tried to get the microblog one going. One thing I did notice was that the makefile for that one was it had some outdated code - I think it was the fdev inspect command | 22:36:30 |
meri | * I’m keen to give it another go… I think I’ve tried twice now to get a contract running locally but haven’t had much luck. I was relying on the example projects and tried to get the microblog one going. One thing I did notice was that the makefile for that one had some outdated code - I think it was the fdev inspect command | 22:36:40 |
Ian Clarke | In reply to @meri:radical.directoryIf you don't mind giving it another shot it would be helpful to get feedback. | 22:37:50 |
meri | Looking over it I’m seeing the same issue I was having was the amount of implied code indicated by ellipses - I’m pretty new to Rust so that might be the main issue but personally having more complete example code in the tutorial that actually compiles would help me a lot | 22:40:52 |
Ian Clarke | I'm not quite sure what you mean by "implied code indicated by ellipses" - can you point to an example? | 22:41:46 |
meri | Like in this code block: ``` use freenet_stdlib::prelude::*; pub const RANDOM_SIGNATURE: &[u8] = &[6, 8, 2, 5, 6, 9, 9, 10]; struct Contract; struct Posts(...) impl Posts { fn add_post(&mut self, post: Post) { ... } } struct Post(...) #[contract] impl ContractInterface for Contract { fn update_state( _parameters: Parameters<'static>, state: State<'static>, data: Vec<UpdateData<'static>>, ) -> Result<UpdateModification<'static>, ContractError> { let mut posts: Posts = serde_json::from_slice(&state).map_err(|_| ContractError::InvalidState)?; if let Some(UpdateData::Delta(delta)) = data.pop() { let new_post: Posts = serde_json::from_slice(&delta).map_err(|_| ContractError::InvalidState); posts.add_post(new_post)?; } else { Err(ContractError::InvalidUpdate) } Ok(UpdateModification::valid(posts.into())) } ... } ``` | 22:43:03 |
Ian Clarke | Ah, I see | 22:43:25 |
Ian Clarke | It might be better to reference the email app example directly, mdbook can extract code snippets from other parts of the repo. | 22:44:24 |
Ian Clarke | That will have the benefit of ensuring the code stays in sync | 22:44:55 |
meri | I would personally be really into a tutorial that is longer and holds my hand a bit more through this stuff, getting all the way to the point of having the contracts running locally | 22:45:51 |
Ian Clarke | Yes, getting developers on-board at this stage is critical so it's important to be as friction free as possible. I've created an issue for this. | 22:50:47 |
18 Apr 2024 | ||
Ian Clarke | A wiki-like system built on Freenet would be very interesting. Could use markdown and/or a wysiwyg editor, would be a great way to make it super-easy to create websites on Freenet (essentially a CMS). An extension of it with a more sophisticated permissioning system could be used to create a decentralized wikipedia - and we could bootstrap it with wikipedia itself given that wikipedia is distributed under a creative commons (CC-BY-SA) license. | 02:44:31 |
Ian Clarke | * A wiki-like system built on Freenet would be very interesting and not too difficult. Could use markdown and/or an in-browser wysiwyg editor. It would be a great way to make it super-easy to create websites on Freenet (essentially a CMS). A version with a more sophisticated permissioning system could be used to create a decentralized wikipedia. It could be bootstrapped with wikipedia itself given that it's distributed under a creative commons (CC-BY-SA) license. | 02:45:39 |
Ian Clarke | * A wiki-like system built on Freenet would be very interesting and not too difficult to build IMO. Could use markdown and/or an in-browser wysiwyg editor. It would be a great way to make it super-easy to create websites on Freenet (essentially a CMS). A version with a more sophisticated permissioning system could be used to create a decentralized wikipedia. It could be bootstrapped with wikipedia itself given that it's distributed under a creative commons (CC-BY-SA) license. | 02:45:51 |