Urgent.News

What's breaking now, across thousands of outlets.

Tech

Squalk: an old-school forum engine built on Nostr (NIP-29 groups, NIP-7D threads)

I miss classic forums: slow, asynchronous threads that stay readable and searchable for years, instead of knowledge dissolving into chat scrollback. Squalk is my attempt to rebuild that on top of Nostr, an open protocol where users hold a keypair, posts are signed events, and interchangeable relays store and serve them, instead of a private database. The design in short: a forum is a view over…

An old-school forum engine named Squalk has been developed on top of the Nostr protocol. Rather than modern, fast chat-like interfaces, Squalk aims to provide slow, asynchronous threads that remain readable and searchable over time. This is achieved by utilizing the Nostr open protocol, where users possess a keypair, posts are signed events, and interchangeable relays store and serve the data, as opposed to a private database.

The forum system operates by presenting a view over data hosted on relays. Groups are defined as NIP-29 rooms, while threads are represented as NIP-7D events. The user's own keypair serves as their identity within the system. This design ensures that the software and the community are decoupled: any other client adhering to the same specifications (such as Flotilla or Nostrord) can read and write the same conversations.

Additionally, if the deployment of Squalk were to disappear, the history and identities would still survive on the relay.

From a technical standpoint, Squalk is built using a single SvelteKit codebase, which can be compiled either as a static SPA or as a server-rendered Node application. The server-side rendering mode generates only the anonymous view, allowing threads to be crawlable. A stale-while-revalidate snapshot cache is employed in front of the relay queries to enhance performance. The content is rendered using djot instead of markdown. Deployment involves a NIP-29 relay (Zooid) coupled with a single systemd unit.

The Squalk project is currently in a pilot stage with real threads accessible at https://nostr-proto.org. The site is also available as a test instance, where users can freely experiment without an account at https://squalk-test.dtonon.com. However, it is important to note that Nostr is a niche protocol, and key management still poses challenges for non-enthusiasts. Moreover, relay-side moderation tools are still in their early stages. Feedback on the architecture is highly appreciated!

Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at github.com →

More in Tech

I ran a contract check against the Swagger Petstore. Here is what came back.

Most API bugs I care about are not crashes. They are small lies between the spec and the live API. A field that went missing. A status code nobody documented.

  • SpecSentinel detects API inconsistencies between spec and live API
  • Swagger Petstore test reveals 500 status warnings for 3 endpoints
  • Tool lacks checks for string formats, lengths, number ranges

Three new stable kernels

Greg Kroah-Hartman has released the 7.2.7 , 6.18.53 , and 6.12.111 stable. As is usual these days, they are quite large; also no surprise is that they provide many important fixes throughout the…

Unlocking the Power of JSON Schema with Oracle Database 23ai

Unlocking the Power of JSON Schema with Oracle Database 23ai Introduction Staying current with the latest innovations in Oracle 23AI is critical for organizations seeking high performance…

  • Oracle Database 23ai introduces JSON Schema support for validating semi-structured data
  • Features include automated data validation, enhanced consistency, and reduced application logic
  • Implementation involves defining schemas, registering them, and associating with table columns

More from Monday 21 September →