IRC channel logs
2023-11-17.log
back to list of logs
<VonGuard>hey, the "About" page on the Spritely Website is no longer linked to on the front page, it seems. <mala>I thought these comments by Kenton and Andy did a good job boiling down some of the initial concerns people have about OCapN and Spritely-esque systems. https://news.ycombinator.com/item?id=38296298 -- would it make sense to reply to them? (I don't know enough to know whether there's more novel research on distributed GC, but the idea that transparent remote objects was tried and abandoned definitely resonates. <mala>Not saying they're right, but I think an explanation about how Spritely deals with the challenges that led folks to move away from this paradigm would make sense (my random contribution is that it has less to do with latency, and more to do with institutional and financial boundaries, but *shrug*) <cwebber>VonGuard: oh, thanks. I added it to the header though it's made that header even worse on mobile. <cwebber>I might take a pass at a nicer version of the header this morning that uses flexbox or something. <chitochi>I have a question, is it ok to make an asynchronous call in an actor's behavior without using `on` on the promise? <cwebber>chitochi: not entirely sure what you mean. do you mean, is there a way to get something like "await" in other languages, or "do you really have to follow up on promises"? :) <chitochi>thanks for your answer! the second option! \o/ <cwebber>you don't have to follow up on promises! you can fire and forget <cwebber>and in fact if you don't need the promise <cwebber>would love to know what you're making! <cwebber>I need to do some cleaning this morning before work so be back in a bit! <chitochi>goblins is really a lot of fun honestly, it changed my vision of the internet <chitochi>i'm currently trying to use guile and goblins with a flutter application for use in a mobile application :-) <chitochi>my partner will be joining me, maybe we'll have a fun demo to show! <chitochi>our goal is to make a small application to manage our expenses, but we'll try to make something a bit more fun to start with! XD <chitochi>we also have this idea of making virtual tamagochis linked via goblins \o/ <dthompson>I think there's now a race to see who will make the first tamagotchi-like with goblins. I think this has come up before ;) <dthompson>and please feel free to share with us what you make! we love to see what people are building <chitochi>it's a new shonen then! we will be the first XD <chitochi>(and thank you for making this possible! \o/) <cwebber><chitochi> goblins is really a lot of fun honestly, it changed my vision of the internet <cwebber>chitochi: you just missed me saying so but <cwebber><chitochi> goblins is really a lot of fun honestly, it changed my vision of the internet <chitochi>i have to setup this bouncing thing i heard about :x <cwebber>can't wait till we have Goblins compiling to browsers with Hoot <cwebber>it'll make things even more exciting <chitochi>bouncer maybe? so that i can stay connected to the irc server <chitochi>i can't wait for goblins with hoot too, it will unlock so many possibilities! <cwebber>lots of exciting stuff has been happening in spritely-land lately and I've been not doing as good of a job talking about it in here :) <chitochi>the calm before the storm maybe? (i don't know if it's a valid expression in english...) <Zarutian_iPad>it is an expression in many languages, like "lognið á undan storminum" <cwebber>I think tsyesika and I finished planning the end-to-end-encryption design for the relay netlayer this morning <chitochi>is the realy netlayer the TURN server of ocapn? <cwebber>except it creates an ocapn netlayer out of an ocapn netlayer to do it :) <chitochi>thanks for the link, i think i understand the big picture <chitochi>does it mean that A and B can use different netlayers to talk together, as long as the two relay know how to talk together? <cwebber>eg, we're planning on showing it off with A and B both using encrypted TLS connections to the relay <cwebber>relay(s) since federation is baked into this design <cwebber>it already works actually in that way <cwebber>that's what tsyesika and I spent this morning designing the plan for <chitochi>i don't understand the "since federation is baked into this design" part :S <cwebber>we're pretty confident in the design plan for adding the E2EE stuff <cwebber>chitochi: A and B don't have to use relays on the same node <cwebber>it can be two different relays, as long as they can talk to each other <cwebber>so kind of like ActivityPub federation in that way <chitochi>i am so curious about the end-to-end encrypted part now xD <cwebber>except we get it for free thanks to OCapN :) <chitochi>can relays do other things than relaying, like storing message for later delivery? <cwebber>that was our notes from this morning <cwebber>the animated diagram was done in blender so I also just used blender for uglier chicken-scratch annotations and the text file ;P <cwebber>don't worry if you can't read the text in brown <cwebber>chitochi: aha, you're really ahead of the game here :) <cwebber>yes store & forward relays will come later <cwebber>so yeah then you'll be able to use this on a spotty connection <cwebber>go through a mountain tunnel and come out and reconnect and it keeps going <cwebber>if you want to look at the code, it's surprisingly not too much. <chitochi>and you can choose your own relay or self-host it, that's really great to have <cwebber>needs cleanup, as you can tell from the comments <cwebber>but both tsyesika & dthompson have reviewed the architectural plan and the code and thought it was good <cwebber>we've been sitting on this for a bit actually, you can see the last commit is 3 months ago. but I've been busy with conferences and getting Hoot 0.1.0 took a lot of focus... and the eternal beast that's fundraising at a nonprofit. back on Goblins now tho :) <cwebber>the other big thing that's in progress right now is Jessica's work on Aurie <cwebber>coming soon to guile-goblins as part of core. <cwebber>and oh, the other big thing taking focus was getting OCapN out the door <cwebber>got caught on the implemeentation guide work with tsyesika for a while :) <chitochi>if i understood aurie correctly, i will be able to serialize an actor, for example a crdt, and persist it on the disk? <cwebber>serialize a whole complicated network of 'em <cwebber>and Hoot 0.2.0 is coming soon too. so yes, I wouldn't say we're quite at a calm because we *have* been making announcements recently but <chitochi>i tried to understand how upgrades could work in this, but i still don't see how it will work <cwebber>it's definitely stormy in a good way :) <Zarutian_iPad>ACTION is attenting friam but has quite a lot to say about the topic of safe serialization and una stuff <chitochi>ahah yes, i was only talking about the irc! :p <cwebber>Zarutian_iPad pinged me for about 2 or 3 years to read the Safe Serialization paper until I finally got to <Zarutian_iPad>that Ranger in the Fallout has nothing on me in that kind of persitance <cwebber>never played Fallout if you can believe it <Zarutian_iPad>that guy has been such a meme that it has gotten known outside the fans of that game <chitochi>if let's say a tree of three actors is serialized, when deserialized, can the sturdyref still be valid? <chitochi>i was only thinking about the one into, but now i am interested by both! <Zarutian_iPad>so, does the deserializer get access to the SwissNum table of the vat or a specific facet that allows to assign those SwissNums to those deserialized objects/actors <chitochi>do you mean that if i serialize the swissnum table + the actors, when i deserialize, using both i can keep the sturdyrefs? <Zarutian_iPad>re the relay stuff: isnt basically it like bidirectional bytestream proxy? <mhcat>reading thru actor-lib docs, I'm wondering why we're all still using irc :P <Zarutian_iPad>mhcat: due to the plethora of irc clients that have so many more config options than discord or other such would ever have. <mhcat>:) I was making a silly joke about writing a pubsub chat system in goblins <dthompson>mhcat: we do hope that goblins and ocapn (the protocol underlying goblins) help pave the way for better chat applications that aren't controlled by a single company <dthompson>it's pretty interesting how basically all software built with this stuff becomes "social" in a way <dthompson>and how it enables richer virtual interaction than just text chat and sending gifs <mhcat>just got to the ocapn part of the manual - I think I'm going to have to read the erights site next <mhcat>I am a fan of work on decentralization - I participated in the camb "center for re-decentralization" project a bit this year - but there are goals there I can't get behind, around commerce <mhcat>I like undermining domineering corporate centralization, but I don't particularly want to use math as a proxy for trust in any capacity <Zarutian_iPad>mhcat: re commerce, you probably want to see what the Agoric folks are doing regarding that stuff. <mhcat>games and community seem like laudible goals though <mhcat>I'm talking about the way cryptography has become a mechanism for bypassing actual trust relationships and replacing them with an imaginary accountability relationship <mhcat>commerce at scale, without actual humans trusting other humans <mhcat>aka "efficiency" - I find that all to be fundamentally anti-human <mhcat>I like actual trust, and slow moving transactions :) <Zarutian_iPad>yeah, I think all that is probably out of scope topic wise for this channel <mhcat>maybe - though I think this channel is very in scope for my interests along those lines :) <mhcat>anyway, I will take the hint and be quiet <dthompson>mhcat: sounds like you will like what we're doing then. <mhcat>:) if it comes up naturally, then of course :) <dthompson>and I think the trust thing is pretty on topic <mhcat>dthompson: indeed, I already do! <dthompson>ocaps put you in control of granting capabilities to those you trust <Zarutian_iPad>it is just that, like I pointed out earlier, Agoric is the group of folks that is dealing with all that kind of commerce stuff in the sense you mean. Spritely is going to interop with that protocol wise so you can buy a UltraSword(tm) and flaunt it in a spritely goblins virtual bar. <Zarutian_iPad>That the thing was bought via collateralized loan from a default swaps cascade contract might be just on the Agoric side. <mhcat>dthompson: yep, I like capability systems because they place the establishment of trust out of band - you can do all the stuff that falls under "authentication" without reference to any intermediaries <Zarutian_iPad>one of the steps might be "okay lets see how far I can throw ya", "three furlongs or so?" <mhcat>ah yes, that classic measure of trust - as far as I can throw you :) <mhcat>I worked at Sun Microsystems back then, and I remember the shocking disparity between bay area lived internet experience and that of, say, folks in singapore or amsterdam, using the same network apps <Zarutian_iPad>my tool to counter this is using the similie of conducting business via postcards <Zarutian_iPad>betwixt individuals that live on housboats on a canal network <mhcat>yes! I was just now thinking about what an implementation of ocapn over yubikey might look like <mhcat>that would be like fidonet or uucp I guess <Zarutian_iPad>mhcat: way ahead of you. I wouldnt implement connection based captp or ocapn over such Delay&disruption Tollerant Network but use something like WaterKen used or do similiar stuff via ActiveCapCerts (writeup of pending on me) <Zarutian_iPad>an ActiveCapCert is pretty much a cryptographically signed function expressed as a quasiLiteral of eventual sends, whose closure environment will be that of the safeEnv augmented with gift depositing and withdraw facets whose gifter or recipiant, respectively, is the issuer of the certificate. That issuer is named by the public key or cryptohash <Zarutian_iPad>the DTN stuff is then implemented via a PostMeister. You invoke a spefic method giving it an ACC. The method gives you an eventual reference. You do your pipelinable eventual sends on that ref or on ref resulting from such eventual sends. Then you ask the PostMeister for the outgoing mailbag resulting from those sends. <Zarutian_iPad>in the mailbag are ACCs that will efectuate those eventual sends if you convey those ACCs to their destination vats. <mhcat>I'm not sure what a quasiLiteral is, and what the safeEnv is, but most of the rest of it makes sense to me <mhcat>specifically, a signed function seems like it is immutable, whereas a closure environment is dynamic and stateful <mhcat>presumably the closure env is operating using the generational tx mechanism I've been reading about <mhcat>no powers as in not able to do side effects locally? <Zarutian_iPad>if you have read Reeses Thesis on W7 Scheme then you know what I mean by safeEnv <mhcat>prosaic question: how can I convince emacs to format macro calls correctly, instead of indenting them like functions? <Zarutian_iPad>ACTION looks a cwebber as they seems to live and breath emacs <mhcat>for clojure and common-lisp it typically needs a connected repl, and I think I have this with geiser running...but... <dthompson>mhcat: you need to customize scheme-indent-function <dthompson>a lot of projects use a .dir-locals.el to add their special forms to scheme-indent-function so they indent properly <mhcat>aha, I will see if I can find one in the goblins repo <dthompson>you can add stuff like (put 'foo 'scheme-indent-function 1) to your emacs init config if you'd like <dthompson>the .dir-locals.el approach just keeps things local to the project and makes indenting "just work" when you're working on it <mhcat>got it - I have some for clojure, I will make some entries