SilverKey Monitor

Spawn is an Actor Model framework and Serverless Platform based on BEAM

published on 2023/09/25

Spawn's main goal is to remove the complexity in developing services or microservices, providing simple and intuitive APIs, as well as a declarative deployment and configuration model and based on a Serverless architecture and Actor Model. This leaves the developer to focus on developing the business domain while the platform deals with the complexities and infrastructure needed to support the scalable, resilient, distributed, and event-driven architecture that modern systems requires.

Spawn is based on the sidecar proxy pattern to provide a polyglot Actor Model framework and platform. Spawn's technology stack, built on the BEAM VM (Erlang's virtual machine) and OTP, provides support for different languages from its native Actor model.


This looks very interesting but unfortunately it doesn't have C# support yet.

Using PostgreSQL for queueing

published on 2023/09/25

Postgres queue tech consists of two parts: announcing and listening for new jobs (pub/sub) and mutual exclusion (row locks). Both are provided out-of-the-box since Postgres 9.5, released in 2016.

By combining NOTIFY and LISTEN, Postgres makes adding pub/sub to any application trivial. In addition to pub/sub, Postgres also provides one-job-per-worker semantics with FOR UPDATE SKIP LOCKED. Queries with this suffix acquire row locks on matching records, and ignore any records for which locks are already held. Applied to job records, this feature enables simple queue processing queries, e.g. SELECT * FROM jobs ORDER BY created_at FOR UPDATE SKIP LOCKED LIMIT 1.

Combined, these two features form the basis for resource-efficient queue processing. Importantly SKIP LOCKED provides an “inconsistent” view of one’s data. That inconsistency is exactly what is needed from a queue; jobs already being processed (i.e. row-locked) are invisible to other workers, offering distributed mutual exclusion. These locks pave the way for both periodic batch processing, and real-time job processing by NOTIFYing LISTENers of new jobs.


Ash is a model driven web application framework powered by Elixir

published on 2023/09/24

The philosophy behind Ash allows us to build an extremely flexible and powerful set of tools, without locking users into specific choices at any level. The framework acts as a spinal cord for your application, with extension points at every level to allow for custom behavior. What follows are the core tenets behind Ash Framework.

Ash Framework

Strada, create fully native controls, driven by your web app

published on 2023/09/21

Strada enables you to create fully native controls in your hybrid mobile apps, driven by the web. Build web components and native components that work together in WebView screens to elevate your Turbo Native apps to the next level.

  • Strada Web enables you to use your existing HTML to create web components that send and respond to messages with components in your native apps.
  • Strada iOS and Strada Android enable you to create native components that receive and reply to messages from web components that are present on the page. All without writing any JavaScript in your native apps.


Electric is standard sync layer for local-first apps

published on 2023/09/21

ElectricSQL is a local-first software platform. Use it to build super fast, collaborative, offline-capable apps directly on Postgres.