# Spritely Goblins

**URL:** https://community.spritely.institute/c/architecture/goblins/48.md

[Latest](https://community.spritely.institute/latest.md) · [Categories](https://community.spritely.institute/categories.md) · [Tags](https://community.spritely.institute/tags.md)

---

## [About the Spritely Goblins category](https://community.spritely.institute/t/about-the-spritely-goblins-category/424)

<div class="topic-metadata">

**Author:** [@frandallfarmer](https://community.spritely.institute/u/frandallfarmer)\
**Replies:** 0

</div>

Goblins: Distributed, Transactional Programming At the heart of Spritely is GoblinsGoblins: Distributed Programming — Spritely Institute), its distributed object programming environment. Goblins provides an intuitive …

---

## [Goblin (suspendable) ports & O\_NONBLOCK](https://community.spritely.institute/t/goblin-suspendable-ports-o-nonblock/846)

<div class="topic-metadata">

**Author:** [@spacebarista](https://community.spritely.institute/u/spacebarista)\
**Replies:** 2\
**Last updated:** [August 11, 2026, 3:27pm UTC](https://community.spritely.institute/t/goblin-suspendable-ports-o-nonblock/846 "2026-08-11T15:27:02Z")

</div>

Hello, Goblins is using fibers as far as I understand. Fibers says that O\_NONBLOCK should be set to every file descriptor being read or written to, for a fiber to correctly suspend. The Guile manual on the other hand s…

---

## [Hacking on Engoblined Shepherd](https://community.spritely.institute/t/hacking-on-engoblined-shepherd/828)

<div class="topic-metadata">

**Author:** [@eikcaz](https://community.spritely.institute/u/eikcaz)\
**Replies:** 2\
**Last updated:** [May 27, 2026, 1:50am UTC](https://community.spritely.institute/t/hacking-on-engoblined-shepherd/828 "2026-05-27T01:50:15Z")

</div>

Hi Spritely! I really wanted to talk about goblins+shepherd as part of my lightning talk at Dweb Camp in Germany later this year, so I started hacking something together. I finally got to the point of connecting my E…

---

## [Continuing Mandy: most valuable next steps?](https://community.spritely.institute/t/continuing-mandy-most-valuable-next-steps/806)

<div class="topic-metadata">

**Author:** [@jfred](https://community.spritely.institute/u/jfred)\
**Replies:** 2\
**Last updated:** [March 26, 2026, 1:03pm UTC](https://community.spritely.institute/t/continuing-mandy-most-valuable-next-steps/806 "2026-03-26T13:03:07Z")

</div>

I’ve been wondering, and I figure this is as good a place as any to ask… if someone (maybe me) wanted to build on the work that @tsyesika has done on Mandy so far, what would be the most valuable thing to work on next? (…

---

## [Mandy: ActivityPub on Goblins](https://community.spritely.institute/t/mandy-activitypub-on-goblins/790)

<div class="topic-metadata">

**Author:** [@dthompson](https://community.spritely.institute/u/dthompson)\
**Replies:** 7\
**Last updated:** [January 28, 2026, 2:32am UTC](https://community.spritely.institute/t/mandy-activitypub-on-goblins/790 "2026-01-28T02:32:01Z")

</div>

Hey everyone! Happy new year and happy new blog post day! @tsyesika has made a prototype of Mandy: an implementation of ActivityPub built on Goblins. Since ActivityPub and Goblins are both actor-based, they fit together …

---

## [Spritely on Genode - Can it use the kernel's capabilities?](https://community.spritely.institute/t/spritely-on-genode-can-it-use-the-kernels-capabilities/729)

<div class="topic-metadata">

**Author:** [@spenc](https://community.spritely.institute/u/spenc)\
**Replies:** 6\
**Last updated:** [January 9, 2026, 10:23am UTC](https://community.spritely.institute/t/spritely-on-genode-can-it-use-the-kernels-capabilities/729 "2026-01-09T10:23:56Z")

</div>

Hi! I’ve been messing around with Genode for a bit, which is an operating system with a built-in capability system. The kernel tracks capabilities for each running component and ensures that they are created and passed …

---

## [UCAN and Ocap Model](https://community.spritely.institute/t/ucan-and-ocap-model/787)

<div class="topic-metadata">

**Author:** [@liltechdude](https://community.spritely.institute/u/liltechdude)\
**Replies:** 2\
**Last updated:** [December 15, 2025, 5:00pm UTC](https://community.spritely.institute/t/ucan-and-ocap-model/787 "2025-12-15T17:00:02Z")

</div>

What are you thinking about UCAN? Based on what I have read from Composing capability security and conflict-free replicated data types — Spritely Institute This is where authorization capabilities (zcaps) come in. A…

---

## [Composing capability security and conflict-free replicated data types](https://community.spritely.institute/t/composing-capability-security-and-conflict-free-replicated-data-types/781)

<div class="topic-metadata">

**Author:** [@dthompson](https://community.spritely.institute/u/dthompson)\
**Replies:** 0\
**Last updated:** [November 24, 2025, 2:54pm UTC](https://community.spritely.institute/t/composing-capability-security-and-conflict-free-replicated-data-types/781 "2025-11-24T14:54:27Z")

</div>

Hey everyone, it’s another new blog post day! This time it’s about composing capabilities and CRDTs to build a local-first chat prototype. This is the first time Spritely has published anything about CRDTs, I think. The …

---

## [GoblinShare: Secure, Peer-to-Peer File-Sharing with Goblins](https://community.spritely.institute/t/goblinshare-secure-peer-to-peer-file-sharing-with-goblins/780)

<div class="topic-metadata">

**Author:** [@dthompson](https://community.spritely.institute/u/dthompson)\
**Replies:** 0\
**Last updated:** [November 18, 2025, 4:57pm UTC](https://community.spritely.institute/t/goblinshare-secure-peer-to-peer-file-sharing-with-goblins/780 "2025-11-18T16:57:25Z")

</div>

Hey everyone, it’s new blog post day! Today, Juliana Sims brings you a story about building a p2p file sharing demo using Goblins and Tor. GoblinShare takes inspiration from tools like Magic Wormhole and uses an encrypt…

---

## [Goblins 0.17.0 released](https://community.spritely.institute/t/goblins-0-17-0-released/774)

<div class="topic-metadata">

**Author:** [@dthompson](https://community.spritely.institute/u/dthompson)\
**Replies:** 1\
**Last updated:** [October 16, 2025, 6:44pm UTC](https://community.spritely.institute/t/goblins-0-17-0-released/774 "2025-10-16T18:44:37Z")

</div>

Hi everyone! We’re pleased to announce the release of Goblins 0.17.0. This release focuses on improvements to the persistence layer, including a new, faster persistence store option named “Bloblin”. There’s also a couple…

---

## [How does the scope of the \`editor\` object work in the Goblins white paper's blog post editor example?](https://community.spritely.institute/t/how-does-the-scope-of-the-editor-object-work-in-the-goblins-white-papers-blog-post-editor-example/680)

<div class="topic-metadata">

**Author:** [@neuroevolutus](https://community.spritely.institute/u/neuroevolutus)\
**Replies:** 5\
**Last updated:** [February 27, 2025, 4:27pm UTC](https://community.spritely.institute/t/how-does-the-scope-of-the-editor-object-work-in-the-goblins-white-papers-blog-post-editor-example/680 "2025-02-27T16:27:12Z")

</div>

I was reading the Goblins white paper when I got stuck on the blog post example in section 3.3. More specifically, within the definition of the spawn-post-and-editor function, it seems like the get-content method of ^pos…

---

## [Goblins 0.15 Release Page demo doesn't work](https://community.spritely.institute/t/goblins-0-15-release-page-demo-doesnt-work/667)

<div class="topic-metadata">

**Author:** [@afm-victoria](https://community.spritely.institute/u/afm-victoria)\
**Replies:** 5\
**Last updated:** [January 26, 2025, 6:44pm UTC](https://community.spritely.institute/t/goblins-0-15-release-page-demo-doesnt-work/667 "2025-01-26T18:44:52Z")

</div>

I noticed that the demo didn’t work on my machine (Chrome, FF). I have Hoot working just fine on this setup, so I am not sure what the issue is. Below is the trace: reflect.js:848 ;; === Caught error: === ;; message:…

---

## [Questions about libp2p integration status and networking architecture](https://community.spritely.institute/t/questions-about-libp2p-integration-status-and-networking-architecture/620)

<div class="topic-metadata">

**Author:** [@glenneth](https://community.spritely.institute/u/glenneth)\
**Replies:** 0\
**Last updated:** [December 10, 2024, 5:03pm UTC](https://community.spritely.institute/t/questions-about-libp2p-integration-status-and-networking-architecture/620 "2024-12-10T17:03:31Z")

</div>

I’m interested in developing networking support for guile-goblins and have some questions about the libp2p integration: Is libp2p integration still a viable approach for implementing networking in Goblins? The impl…

---

## [Persisting sealed secrets](https://community.spritely.institute/t/persisting-sealed-secrets/592)

<div class="topic-metadata">

**Author:** [@paulbutgold](https://community.spritely.institute/u/paulbutgold)\
**Replies:** 3\
**Last updated:** [November 18, 2024, 5:42pm UTC](https://community.spritely.institute/t/persisting-sealed-secrets/592 "2024-11-18T17:42:41Z")

</div>

Hello Goblins, I would like to build an application able to persist secrets and to allow only authorized users to read them , Goblins always seemed the perfect way to achieve that. I read a couple of times the manual a…

---

## [Using Goblins to facilitate anonymous communities](https://community.spritely.institute/t/using-goblins-to-facilitate-anonymous-communities/578)

<div class="topic-metadata">

**Author:** [@winds0rhum](https://community.spritely.institute/u/winds0rhum)\
**Replies:** 5\
**Last updated:** [October 30, 2024, 4:04pm UTC](https://community.spritely.institute/t/using-goblins-to-facilitate-anonymous-communities/578 "2024-10-30T16:04:57Z")

</div>

Hi friends! As I mentioned in the intro thread, I’m coming here with some ideas for facilitating anonymous and anon-ish communities in a way that could replace or provide alternatives to centralized platforms that don’t…

---

## [Using Goblins in Geiser](https://community.spritely.institute/t/using-goblins-in-geiser/589)

<div class="topic-metadata">

**Author:** [@mdj](https://community.spritely.institute/u/mdj)\
**Replies:** 4\
**Last updated:** [October 22, 2024, 4:57pm UTC](https://community.spritely.institute/t/using-goblins-in-geiser/589 "2024-10-22T16:57:24Z")

</div>

Any word of advice regarding running Goblins in guile-geiser? I installed elpa-geiser in Debian Bookworm and ran Guile git main in it. I saw the “Live hacking fix” in the manual and typed (use-modules (goblins)) in the…

---

## [Goblins 0.14.0 released!](https://community.spritely.institute/t/goblins-0-14-0-released/568)

<div class="topic-metadata">

**Author:** [@wobbuffet](https://community.spritely.institute/u/wobbuffet)\
**Replies:** 1\
**Last updated:** [September 19, 2024, 6:20pm UTC](https://community.spritely.institute/t/goblins-0-14-0-released/568 "2024-09-19T18:20:42Z")

</div>

Hi everyone, We’re excited to share that Goblins 0.14.0 is hot off the press! :partying\_face::partying\_face::partying\_face: Be sure to check out the lovely deeper dive @tsyesika wrote on our blog to learn more!

---

## [Promise? i.e. promise predicate?](https://community.spritely.institute/t/promise-i-e-promise-predicate/545)

<div class="topic-metadata">

**Author:** [@dckc](https://community.spritely.institute/u/dckc)\
**Replies:** 1\
**Last updated:** [August 7, 2024, 5:10am UTC](https://community.spritely.institute/t/promise-i-e-promise-predicate/545 "2024-08-07T05:10:11Z")

</div>

I’m trying to port a low-level passStyleOf function from endo, and one of the things it does is recognize whether something is a promise or not. I don’t see a handy promise? procedure. Is it feasible to make one?

---

## [Persistence design details](https://community.spritely.institute/t/persistence-design-details/476)

<div class="topic-metadata">

**Author:** [@jryans](https://community.spritely.institute/u/jryans)\
**Replies:** 4\
**Last updated:** [May 16, 2024, 3:27am UTC](https://community.spritely.institute/t/persistence-design-details/476 "2024-05-16T03:27:39Z")

</div>

Congrats on the Spritely Goblins v0.13.0 release! :slightly\_smiling\_face: After reading the blog post and accompanying docs, I’m still a bit unsure about the design of the persistence system. The blog post says: Gobl…

---

## [Spritely Goblins v0.13.0: Object Persistence and Easier IO!](https://community.spritely.institute/t/spritely-goblins-v0-13-0-object-persistence-and-easier-io/477)

<div class="topic-metadata">

**Author:** [@cwebber](https://community.spritely.institute/u/cwebber)\
**Replies:** 0\
**Last updated:** [April 24, 2024, 2:52pm UTC](https://community.spritely.institute/t/spritely-goblins-v0-13-0-object-persistence-and-easier-io/477 "2024-04-24T14:52:36Z")

</div>

We are pleased to announce the release of Spritely Goblins v0.13.0! Goblins has gotten much more powerful in this release with its new persistence system (I see there’s already a thread about it on the forum, planning o…

---

## [Libp2p/webrtc netlayer](https://community.spritely.institute/t/libp2p-webrtc-netlayer/465)

<div class="topic-metadata">

**Author:** [@landakram](https://community.spritely.institute/u/landakram)\
**Replies:** 2\
**Last updated:** [April 18, 2024, 8:21pm UTC](https://community.spritely.institute/t/libp2p-webrtc-netlayer/465 "2024-04-18T20:21:47Z")

</div>

Hi, I learned about Spritely Goblins some time ago and recently found my way back to the project somewhat randomly when re-reading Andy Wingo’s blog posts about fibers, then learning of Hoot, then a re-introduction to G…

---

## [WIP Horton implementation in Goblins](https://community.spritely.institute/t/wip-horton-implementation-in-goblins/177)

<div class="topic-metadata">

**Author:** [@jfred](https://community.spritely.institute/u/jfred)\
**Replies:** 3\
**Last updated:** [April 22, 2023, 1:26am UTC](https://community.spritely.institute/t/wip-horton-implementation-in-goblins/177 "2023-04-22T01:26:24Z")

</div>

I’ve been working on an implementation of Horton in Goblins lately. The code lives here: ~jfred/goblins-test (master): horton.rkt - sourcehut git It’s still only slightly more sophisticated than the barebones version de…

---

## [Trying out the Chickadee custom vat](https://community.spritely.institute/t/trying-out-the-chickadee-custom-vat/231)

<div class="topic-metadata">

**Author:** [@jfred](https://community.spritely.institute/u/jfred)\
**Replies:** 3\
**Last updated:** [April 11, 2023, 2:25pm UTC](https://community.spritely.institute/t/trying-out-the-chickadee-custom-vat/231 "2023-04-11T14:25:40Z")

</div>

Hi! I was attempting to play around with the Chickadee example vat in the community-garden repo. I’m having a bit of trouble, though, and I’m probably just misunderstanding something :sweat\_smile: Here’s my attempt at t…

---

## [Example: Voting in goblins](https://community.spritely.institute/t/example-voting-in-goblins/171)

<div class="topic-metadata">

**Author:** [@elplatt](https://community.spritely.institute/u/elplatt)\
**Replies:** 1\
**Last updated:** [October 28, 2022, 2:38am UTC](https://community.spritely.institute/t/example-voting-in-goblins/171 "2022-10-28T02:38:45Z")

</div>

Hi, all! I’ve been working on a deliberation and voting module in order to familiarize myself with goblins. If you’d like to check it out, the code is here. Writing the code has been a helpful exercise, and has given me …
