IRC channel logs

2025-11-18.log

back to list of logs

<dthompson>finthecalculator: hey I think I might need a little more info. I wouldn't recommend using pipes to communicate when using goblins in the general case.
<finthecalculator>dthompson: identity: thank you. to give more detail: I've been playing around with making an ocapn layer for guix deploy. currently there are many procedure in guix that are able to interact with a remote guix daemon by reading/writing to a port created by guile-ssh. reads to the port read guix-daemon's output and writes go to the daemon stdin. I'd like to expose a similar interface
<finthecalculator>via goblins. I'm not sure if this is the most idiomatic API for goblins based applications, so if there's a better or safer way in your mind I'm all ears. thanks!
<dthompson>finthecalculator: ah, a very interesting project! this is something we have talked about using shepherd to facilitate in the future. I think I can recommend some things now that I understand the use case.
<dthompson>on the workstation side (the machine that runs guix deploy), you probably want to be given a capability that allows remote access to a remote guix daemon. however, it cannot be a direct pipe. you need to speak in terms of messages that are serializable over ocapn.
<dthompson>so you could come up with some proxy that allows you to pass binary blobs (bytevectors) to a remote actor than then writes them to an open daemon socket
<dthompson><transition>
<dthompson>hey folks, we've got a new blog post up! https://spritely.institute/news/goblinshare-secure-peer-to-peer-file-sharing-with-goblins.html
<dthompson>this one is about using goblins to create a file sharing application!
<dthompson>GoblinShare is a demo that allows two peers to transfer a file over Tor.
<dthompson>the file storage backend uses techniques from projects like tahoe-lafs
<ArneBab>dthompson: technical: et as exact topic creates confusion, because xt already means exact topic.
<ArneBab>xt=urn:sha256:<sha256-hash> is magnet standard.
<ArneBab>by using xt, other programs can use the magnet, too, if they know a way to get a file by hash.
<ArneBab>… just seeing: in the examples you use xt ⇒ just a bug in the blog post?
<ehmry>... put --convergent ..., I've seen that somewhere before
<ehmry>must be a convergent design
<dthompson>ArneBab: I'll forward that along, thanks!
<dthompson>ArneBab: yeah it's a typo
<dthompson>ArneBab: published a fix.
<cwebber>hello hello!
<dthompson>hey cwebber
<cwebber>hi dthompson how ya been ;)
<dthompson>just chillin
<dthompson>you know
<ArneBab>dthompson: thank you!
<cwebber>I see you published your ebook about Hoot and Wisp ArneBab! https://rollenspiel.social/@ArneBab/115571892921956503
<cwebber>very cool
<ArneBab>cwebber: thank you! It’s finally done -- and it includes the Hoot parallelization ☺
<ArneBab>I hope that it will make it easier for people to start with Wisp and Scheme and Hoot.
<cwebber>yay!
<ArneBab>The PDF linked from the site has the same content as the book, yet I do hope that people buy the book.
<cwebber>have you been enjoying your time with Hoot?
<ArneBab>I’ve mostly been working on tiny experiments for now -- can’t do the biggest step yet: provide a REPL for the book. Because last I checked it still didn’t have define-syntax-rule, and if I provide a REPL, it at least has to support everything the book shows.
<ArneBab>But I’m now far enough that I hope that next spring I can give students a hoot REPL for experimenting with algorithms for distributed systems.
<cwebber>ArneBab: aha!
<cwebber>so!
<cwebber>relevant to our conversations today dthompson ^^^^
<ArneBab>Because installing Guile (or basically any environment) is actually too high a barrier for students who study besides training on the job. Some always have locked down laptops where they can’t install Programs, but they have a browser with wasm support.
<cwebber>this is helpful feedback ArneBab !
<cwebber>we were already planning on prioritizing dthompson's time on browser repl tools
<cwebber>but this makes it even clearer we need to do so
<ArneBab>I’m glad to hear¹ that ☺ -- well, read …
<cwebber>ArneBab: I agree btw that magenc "abuses" xt and etc a bit
<cwebber>because it's pointing to a manifest
<cwebber>it's possible we should have magenc:?...
<cwebber>it's an old prototype, which juli revived. and even then I was aware I was stretching it
<ArneBab>For pointing to a manifest, you could use ?mt=urn:sha256:...
<cwebber>is that from prior art or because mt is unclaimed?
<ArneBab>and you should know that MAGMA linked there as example is an old sin of mine -- though one that would have been very cool if I had had the skills to actually realize all its potential (now I have the skill but my time is already taken up by other projects): https://en.wikipedia.org/wiki/Magnet_URI_scheme#Format
<ArneBab>mt? is prior art: manifest topic.
<ArneBab>We already used that it Phex.
<ArneBab>it→in
<cwebber>nice ok
<ArneBab>"in Phex" ← IIRC, long time ago …
<cwebber>yes we become the ancient beings of internet lore over time, huh
<ArneBab>I turned some of that into a talk, to prevent it from being lost: https://www.draketo.de/software/p2p-talk
<cwebber>💜
<ArneBab>Since I teach that as part of a university lecture, does that mean it is a reliable reference? (that somehow feels strange and crazy)