Dokmelody

A federated system for programming and sharing information between individual users, groups and communities

04 Jun 2023

Devlog - week 6 and 7 of 33

83 words, ~0 min read

I restarted working on Dokmelody in the last two weeks.

I studied a lot of papers and personal notes, trying to synthesize a design in org-roam scratchpad. The approach I’m following is:

  • read a paper about a problem to solve and the proposed solution
  • check if current Dok design can solve the problem, otherwise try to integrate the idea of the paper in the Dok design

There are still a lot of notes to integrate, so I will continue also in next weeks.

05 Feb 2023

Devlog - week 3, 4 and 5 of 52

231 words, ~0 min read

I spent too much time rethinking the organization of the websites. This is an unacceptable yak shaving for an alpha-state project.

I switched from Git and Codeberg to Pijul and Nest. Some reasons are:

  • Pijul supports merges and forks of a codebase in a better way respect Git, because it remembers the merge operations done. This feature fits well with the ADR-004: Favors branching and forking of Dokmelody.
  • I want to learn Pijul, and maybe I like to use Pijul “theory of patches” into some parts of Dokmelody system, for managing the forks of data between different communities.
  • There are future plans, for a self-hostable Nest. Something like Fossil.
  • Nest has also a “discussion” section.

I’m using DITA for Dokmelody documentation. The reasons are:

  • navigation in documentation is very easy
  • favours the use and reuse of chunks of information

I switched to MIT License. The reasons are described in ADR-003: Use MIT and CC-BY-4.0 licenses:

I decided to use a redo build system, respect a traditional “make-like” approach. A make-file is essentially a bottom-up specification of how to build the system starting from initial source files. A “redo” approach is a top-down specification of how to build a product, checking if some parts do not need an update. This approach is more similar to normal code, because every part of a build is like a function that can call other functions.

18 Jan 2023

Devlog - week 2 of 52

24 words, ~0 min read

I’m developing in a private branch a new version of Dok language syntax and semantic. Next week, I hope to release something of acceptable.

08 Jan 2023

Devlog - week 1 of 52

86 words, ~0 min read

I want to release a proof of concept before the end of 2023. I will document the progress every week as a source of motivation.

This week, I published https://www.dokmelody.org. As a form of yak shaving, I created also too many websites and services, that there will be never used for the foreseeable future.

Whenever possible, I selected federated and distributed tools. I discarded the previous Fossil installation, despite it is a very nice tool, because it is not federated, while Gitea/Codeberg are adding activity-pub support.