#Spritely

2025-12-12

#spritelyinstitute #spritely Diana Bell's demo was great , question what web component framework is she using ? #alchemist #alchemy ?

2025-12-08

Neat, I have mostly switched to #codeberg for my public code hosting (still have
GH because there are a few projects I actively contribute to there), and it just
dawned on me that my very first pull request there was accepted :D

It was an absolutely minor documentation fix on the #Spritely's #goblins project!

Tommi 🀯 β†’ 39C3tommi@pan.rent
2025-11-27

I will now log off and fully savour the talk so here are the first 5 minutes of @cwebber tonight in Amsterdam

Sorry for no alt text but it’s basically just Christine talking

#Mastodon #Fediverse #ActivityPub #Spritely

Tommi 🀯 β†’ 39C3tommi@pan.rent
2025-11-25

Queen @cwebber in conversation with @jboy is something you do not want to miss πŸ‘€πŸ‘€πŸ‘€πŸ‘€

Come to Social Media: We Can Change the Defaults! Free attendance, registration required.

#Amsterdam #event #Fediverse #Spritely #social #socialMedia

2025-11-24

New post from me over on the @spritely blog: Composing capability security and conflict-free replicated data types

Local-first apps often use CRDTs, but I'm not really aware of any that fully embrace capability security. This post is an attempt to show how the two can be composed using a simple group chat application as a case study.

spritely.institute/news/compos

#spritely #localfirst #ocaps

A diagram of a local-first chat room shared between Alice, Bob, and Carol.
2025-11-21

Sweet #mobile #Tor system for #QR (AuthKeePass) #onion addressing

How about leveraging mobile Tor Browser's access to sensors for ease of onion addressing?
files.spritely.institute/paper #spritely #cDc #Veilid
Not possible to have the security without the crypto in the address itself ->
youtube.com/watch?v=dMHhuY35NKY
#TorProject #Android #GuardianProject #Privacy #Security #infosec @torproject

Andrew (Television Executive)ajroach42@retro.social
2025-11-21

I have medium sized hobby project coming up and I'm trying to decide if it's going to be server based, or if I'm about to dive deep into #spritely #goblins land.

God help me I think it's time for a distributed MUD.

2025-11-20

#spritely #hoot in a toot: how to deploy #Guile #Scheme as static website via #webassembly (complete #Wisp example).

The code from the two attached images, as written, runs on
draketo.de/software/hoot.html

Try it out!

It’s two pages from Naming & Logic: Programming Essentials with Wisp.

printed: epubli.com/shop/naming-and-log
website: draketo.de/software/programmin

This adds parallel fetches (do you see where?). If you adopt it, ensure that your server compresses application/wasm.

#wasm #webdev #programming

*Browser again: clientside wasm.* @@html:<a id="deploy-hoot-wasm" name="deploy-hoot-wasm"></a>@@
To run clientside, you can package your project with [[https://spritely.institute/hoot/][Hoot]]: build an interface and compile to wasm:

#+begin_src wisp :results output :tangle hoot.w
;; file: hoot.w
use-modules : hoot ffi ;; guile specific import

;; the interface
define-foreign document-body "document" "body"
  . -> (ref null extern)
define-foreign make-text-node "document" "createTextNode"
  . (ref string) -> (ref null extern)
define-foreign append-child! "element" "appendChild"
  . (ref null extern) (ref null extern) 
  . -> (ref null extern)

;; your code
append-child! : document-body
  make-text-node "Hello, world!"
#+end_src

Transpile with =wisp2lisp= and =guild compile-wasm=. If you run Guix:

#+begin_src bash
guix shell guile guile-wisp -- \
  wisp2lisp hoot.w > hoot.scm && \
    guix shell guile-hoot guile-next -- \
      guild compile-wasm -o hoot.wasm hoot.scm
#+end_src

Get reflection tools from Guile Hoot (licensed Apache 2.0) with Guix:
#+latex: \ThisLLCornerWallPaper{0.26}{programming-scheme-hoot}%

#+begin_src bash
guix shell guile-hoot guile-next --  bash -c \
 'cp $GUIX_ENVIRONMENT/share/*hoot/*/re*/{*.js,*.wasm} ./'
#+end_srcLoad your interface (includes startup time optimizations):
#+begin_src js :tangle hoot.js
/* file: hoot.js */
var f = window.fetch; window.fetch = (inp, ini) => f(inp, 
  {credentials: 'include', mode: 'no-cors', ...ini});
window.addEventListener("load", () =>
  fetch("hoot.wasm")
    .then(r => r.arrayBuffer())
    .then(bytes => Scheme.load_main(bytes, {
      user_imports: { // mapped via define-foreign
        document: {
          body() { return document.body; },
          createTextNode: Document.prototype
            .createTextNode.bind(document)
        }, 
        element: {
          appendChild(parent, child) { 
            return parent.appendChild(child);}}}})));
#+end_src

Include =reflect.js= and =hoot.js= from a HTML page:

#+begin_src html :tangle hoot.html
<!DOCTYPE html> <!-- file: hoot.html -->
<html><head><title>Hello Hoot</title>
<script type="text/javascript" src="reflect.js"></script>
<script type="text/javascript" src="hoot.js"></script>
<link rel="preload" as="fetch" href="hoot.wasm"></link>
<link rel="preload" as="fetch" href="wtf8.wasm"></link>
<link rel="preload" as="fetch" href="reflect.wasm"></link>
</head><body><h1>Hoot Test</h1></body></html>
#+end_src

For local testing, hoot provides a minimal webserver:

#+begin_src bash
guix shell guile-hoot guile-next -- \
  guile -c '((@ (hoot web-server) serve))'
#+end_src
2025-11-07

@plexus @technomancy @PaniczGodek

I use #clojure for work reports and my REPL never closes. And it was pointed out, #babashka is great for little (and not so little things).

I am poking at #guix so #guile is the best fit for me ATM. I also love the #guile community and the amazing stuff that #spritely is doing.

2025-09-15

The next @spritely office hours will be held next week on 9/24. Meeting details available on our forum: community.spritely.institute/t

Hope to see some of you there!

#spritely

Christine Lemmer-Webbercwebber@social.coop
2025-08-27

Wanna know what the @spritely folks are up to? Got cool stuff you're working on with #spritely tech? Running into issues you want to debug? Come to office hours! At 4pm ET! community.spritely.institute/t

2025-08-27

@spritely office hours are today at 2pm US eastern! (4 hours from the time of this post). hope to see some folks there!

community.spritely.institute/t

#spritely

2025-08-05

Any #guix #guile #bonfire #spritely hackers at #why2025 ? In case there's interest we could organize a session to craft a Guix package or to setup a Bonfire instance on the Guix System or plan how to goblinize the web or anything really just to chill and get to know each other.

2025-08-01

@d_run

#spritely

@deosjr has been doing some impressive stuff with it: he's got miniKanren going and a version of physical reactive programming.

2025-08-01

In less than 2 weeks I'll be participating in the first DWeb Seminar in San Francisco on behalf of @spritely! I'm grateful for the invitation and excited to meet a lot of p2p people for the first time.

Following the seminar is DWeb Weekend at the Internet Archive that is open to the public, so come on by if you're in the area! I can show and tell about all sorts of Spritely things on Demo Day.

dwebseminar.org/
dwebseminar.org/weekend/

#dweb #spritely

2025-07-30

@spritely office hours are happening *today*. join in to ask a question, share a project, or just listen to what others have to say! meeting details are on our forum:

community.spritely.institute/t

#spritely

2025-07-15

just scheduled the next @spritely office hours. happening two weeks from now, on july 30th. this is *your* time to chat with the spritely team: ask us questions, make suggestions, share your goblins/hoot project, etc. meeting details can be found in the forum thread linked below. hope to see you there!

community.spritely.institute/t

#spritely

2025-07-07

@dlakelan

Check out Fibers, its green threads facilities. Second to none!

And, thanks to the folks at #spritely, #guile now runs on the browser via WASM.

2025-06-03

Just scheduled the next @spritely office hours for 6/25. These meetings are *your* chance to chat with the Spritely team and community. You can ask questions, share a project you are working on that uses Spritely tech, or just listen in!

See our forum for details: community.spritely.institute/t

#spritely

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst