Toots for ismasan@ruby.social account

Written by ismasan on 2025-02-03 at 12:21

Good progress writing a #ruby SDK for Datastar. This is a simple Rack app streaming UI updates to the browser from two different threads.

=> View attached media | View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2025-01-18 at 16:42

Haven't had much time for OSS, but I renamed the main "Decider" class to "Actor" in my #ruby #eventsourcing project. I think it brings clarity and distinguishes the role these objects plain in systems. Names guide and clarify thought.

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2025-01-16 at 16:21

Was assisting someone using my Plumb #ruby gem today. Pretty happy about how it turned out so far. "Types" are just composable functions https://github.com/ismasan/plumb/blob/main/examples/concurrent_downloads.rb

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-29 at 15:31

Bit more progress on this: events and commands are grouped (using Mermaid) by the modules that handle them, which in Sourced also map to concurrency boundaries. So this gives you a basic idea or what parts of a workflow are run linearly or concurrently from each other.

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-26 at 17:24

Very simple flowchart generated off this

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-26 at 16:37

end-of-year hack: Sourced Deciders track command => event => command definitions. The idea is to use this to a). guard state machine transitions and b). generate documentation and diagrams, for example with a Mermaid integration #eventsourcing #ruby

=> View attached media | View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-23 at 16:30

Rolled out a new API to help explore workflow patterns in Sourced #eventsourcing #ruby

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-22 at 18:33

Where I ramble about Event Sourcing, commands, and wrong assumptions https://ismaelcelis.com/posts/what-do-commands-do-in-event-sourcing/

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-21 at 18:57

Which makes me think that both Decide and React are terrible names for what they actually do.

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-21 at 18:56

Rethinking the roles of commands and reactions in the Decide, Evolve, React pattern. Decide really is just about invariants and nothing else. React is the real brains of the system.

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-19 at 17:52

Added some more documentation today

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-19 at 10:25

Sketching out more #eventsourcing and #ruby patterns. This is a (simplified!) Holiday Booking modelled as a single stream ("Decider"). The infrastructure makes sure these steps are run sequentially.

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-17 at 23:20

Today in #eventsourcing and #ruby, I merged the first stab at a more concise DSL, and continued to flesh out the README.

Loads still undocumented, and loads more features to go, but this now has a semblance of something useful. https://github.com/ismasan/sourced

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-17 at 00:03

Today in #eventsourcing and #ruby I did more refactoring and testing to support this terse DSL for defining entire command => event => reaction flows inline

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-13 at 15:18

The collaboration between actors leaves a trail in the form of events in a log. You can leverage that log to build materialised views, A.K.A projections

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-13 at 15:16

So yeah, Event Sourced applications really are just the Actor Model and deterministic state machines. With the extra feature of being replayable. That's it, that's the mental model.

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-10 at 11:58

Which means that distributed state machines and durable execution engines are around the corner :)

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-10 at 11:52

The more I explore concurrency patterns in #eventsourcing and #ruby, the more I realise what I'm really building is a durable Actor model.

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-07 at 22:47

Another #ruby #eventsourcing pattern: a workflow is split into two concurrent "tracks" by modelling Leads and Webhooks as separate "actors". Webhooks react to Leads events and start their own concurrent lifecycle. Concurrency is not configuration, it's built into the model.

=> View attached media

=> More informations about this toot | View the thread

Written by ismasan on 2024-12-06 at 17:51

Time-traveling a lead.

=> View attached media

=> More informations about this toot | View the thread

=> This profile with reblog | Go to ismasan@ruby.social account

Proxy Information
Original URL
gemini://mastogem.picasoft.net/profile/112117954465834029
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
377.728016 milliseconds
Gemini-to-HTML Time
5.497559 milliseconds

This content has been proxied by September (3851b).