From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id OAKqOYHUrWI1HQEAbAwnHQ (envelope-from ) for ; Sat, 18 Jun 2022 15:34:58 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id yBO+OIHUrWLKGgAAG6o9tA (envelope-from ) for ; Sat, 18 Jun 2022 15:34:57 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 3D71D89DC for ; Sat, 18 Jun 2022 15:34:57 +0200 (CEST) Received: from localhost ([::1]:47892 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o2YbI-0008VN-Ah for larch@yhetil.org; Sat, 18 Jun 2022 09:34:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47398) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o2YaD-0007HH-1T for guix-devel@gnu.org; Sat, 18 Jun 2022 09:33:49 -0400 Received: from libre.brussels ([144.76.234.112]:33410) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o2Ya9-0005Gr-0x; Sat, 18 Jun 2022 09:33:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=libre.brussels; s=mail; t=1655559222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GFAkzKz4tiYP2Fl838KfDPPEJcUtOIJeuI7mxUizSOU=; b=C1GC2T1rFs4nTodp59CEPCXURPHh3u//SRm731niFdcNoD37GtarDCYYMM5CdcjpsgyI+b GP8aclW07nXw0Vwm/mD3K7nw6/tobpgtyTf/Bd5rSwU25NPVV4rfng+DOAgxOr/0awGJvs tOE/nk2uW+L7a8Ex/uV6XRXqFI/VUow= MIME-Version: 1.0 Date: Sat, 18 Jun 2022 15:33:42 +0200 From: indieterminacy To: Maxime Devos Cc: Brian Cully , catonano@gmail.com, Blake Shaw , Ricardo Wurmus , Andrew Tropin , Josselin Poiret , GNU Guix maintainers , guix-devel@gnu.org Subject: Re: how to write services In-Reply-To: <17b8f886ff09ca0dfb923c0296d07b3c9dd2d426.camel@telenet.be> References: <87a6as62r2.fsf@elephly.net> <87ilpfwmi0.fsf@jpoiret.xyz> <877d5j5vng.fsf@trop.in> <87a666663179c883aaa1797b62c3bcb0084d3ebb.camel@gmail.com> <87bkuuyqf9.fsf@elephly.net> <87tu8krafm.fsf@ditto.jhoto.spork.org> <1ad22337d0d03c6dc9e5abf03c4a0f9b@libre.brussels> <17b8f886ff09ca0dfb923c0296d07b3c9dd2d426.camel@telenet.be> Message-ID: X-Sender: indieterminacy@libre.brussels Organization: Icebreaker Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=144.76.234.112; envelope-from=indieterminacy@libre.brussels; helo=libre.brussels X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1655559297; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=GFAkzKz4tiYP2Fl838KfDPPEJcUtOIJeuI7mxUizSOU=; b=DdK35uWPxJkwyfMS0s6uy/N7fr2KFEnjH6KWGN3TfXrWV8ijsgFNCg4yTj5+AfTuN83cZ8 LUD1YChp9pP4QI9bkzRCvJiWw4RL6JXDXhQZ5Q7mJ0qVyeeuAJp/dTItiEbaAXqkB7FidN 0qgUmlyZeTEDyY3kfk+cmTF51QUFRHkthhTO4dw6+OAO/dYExCBnywOECzut37OjytnX4d uYY64u80hRW5wukHSuKD56m9OJaZ7cfYIaevRPRb5sIuYY4bDvdwTzI+kO/DQdZTQ0NGL0 V6UQTG3hSyoXcGTvKE242pHGJZsmECKE2getzqxvEaWesqQl2IbUiDFQnUtlsg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655559297; a=rsa-sha256; cv=none; b=qtAlQ9O7mzhKPntf+S9+8ApFFQEurEf6X/c5IBed16OGMzI4hDIeY8mGkO48tODiJv+pou FenxEafpDAwrSb5oLj8THR7MvSCT4mnMlgBGJ5Jp8jRCSimS8utSl6rTunjeBjMcYA025H hgqPn+fWWvfKYkl7Ck4znBu0igzGO5WwxEIUq6SQyqvVLFx9zJnH67WuQ6qtR8Dik2Hiry gah82JYODZmUgW6+p7VeYvVpbpUlyjpImMxjrWhH0vQsu6E3xPQh84MQLRHnz4T3aSKiU1 8Nyb5FGmI4N9QK2g/RAaPnlAAWs6hTt8C+dK4dYEuJQvTbB2AoFUZabHzGCAOA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=libre.brussels header.s=mail header.b=C1GC2T1r; dmarc=pass (policy=none) header.from=libre.brussels; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.99 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=libre.brussels header.s=mail header.b=C1GC2T1r; dmarc=pass (policy=none) header.from=libre.brussels; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 3D71D89DC X-Spam-Score: -3.99 X-Migadu-Scanner: scn1.migadu.com X-TUID: C7pJ+jv6jAub Hi Maxime, On 18-06-2022 14:23, Maxime Devos wrote: > indieterminacy schreef op za 18-06-2022 om 13:53 [+0200]: >> Additionally, based upon a decent demonstration on LMDB, I realised >> that >> my annotation system makes it more feasible to adapt documents into >> LDIF >> database-like-files (is that the correct terminology Maxime?) - >> potentially turning each document into an LDAP ready database. > > If your asking me, I don't know. What's LDAP doing here? Isn't LDAP > about authenticating users, which doesn't seem relevant to the > documentation effort? If this is about databases: is the exact > database format relevant, or would any do -- e.g., Guix uses SQLite in > some places, will SQLite do? > The prod was a little tongue in cheek, more of a nod to the thread discussing file-like aspects of computing. I have no focus on LDAP nor authentification per se (though my own annotations would be able to map some of the parameters. My understanding is that LDIF can hold keys and values and as such is capable of representing concepts (or at least pointing to them). As such I fancy a good 'ol hack. In any case I shall be experimenting and breaking things and I should be treated at this point as speculating. I have no desire for substituting existing Guix databases - though I would contend that knowledge-management has different requirements and needs than system-maangement or coding. As such different toiling and tooling is advisable. > And the text above seems about databases and RDF, but there appear to > be missing some things: > > * what's the RDF and database for? As I understand it, it's for > something about documentation and terminology, but currently it's > super vague. > > * what stuff goes in the RDF and database, and what documents are you > speaking of? The Guix manual? All the package definitions, to use > them as examples? The mails in the ML? Manually written things? > Likewise, how is this database written or generated? > > * How will this RDF be used? I mean, RDF can be flexible (see e.g. > Wikidata), but someone has to actually write some applications that > make use of the information, otherwise the fancy RDF is useless. > > * How is the RDF an improvement on the TeXinfo documentation? > I guess I'm missing something important here, but I prefer reading > TeXinfo documentation over RDF. > > Greetings, > Maxime. The RDF is something experimental based upon feedback from my own project. Suppose we return to Brian's (apt) analogy concerning buildings and building materials: I would hazard that there would exist chains across triples which would permeate from the concept stages of a building down to the point whereby nails are contextualised (including with regards to safety; purchasing; type; context; implementation). Guix users should be able to build and resolve without the expertise of all layers and abstractions pertinent to Guile and our community. At my end, Ive spent a considerable time creating loose annotations - which I inject everywhere. Here is an example of task orientated annotations operating within my Emacs config: https://git.sr.ht/~indieterminacy/5q50jq_oq_configuring_emacs/tree/master/item/init.el#L138 and for policy positions: https://git.sr.ht/~indieterminacy/5q50jq_oq_configuring_emacs/tree/master/item/init.el#L155 These annotations recurse through my entire system, for instance operating as directory prefixes for specific concerns: https://git.sr.ht/~indieterminacy/5q50jq_oq_configuring_emacs/tree/master/item/rqr_organise https://git.sr.ht/~indieterminacy/5q50jq_oq_configuring_emacs/tree/master/item/iq_policy My own bundle of knowledge repos can be found just from searching for '3q' references within my system. Some can be found here (I will upload some Guix repos eventually) https://git.sr.ht/~indieterminacy/?search=3q Feel free to root around for approaches I have been taking to document and plan in modern ways. Similarly, these annotations can operate literate-programming style within comments. The fact that I can operate within Emacs-Hyperbole's Koutliner (block orientated) filetype to provide hierarchy and hyperlinking keeps me in a very terse and tactile state everywhere. Currently I am able to grok my system with ease. Ive been advised that outputting the interpretation of these files into RDF would be advantageous to make use of the graph orientated and folksonomic qualities of Icebreaker's approach. FYI, I did a Fosdem talk. About 21 mins in some of the concepts coalesce into an area more pertinent with regards to RDF themes https://fosdem.org/2022/schedule/event/minimalsyntaxes/ Im hoping that RDF can mitigate some of the chaos from users personal behaviours. My work operates more akin to body-language and philology as opposed to more classical approaches to computer-programming and computer-science. I personally use my annotation system everywhere and adapt it for my own needs. I think of it like in terms of ants, whereby the colony increasingly grows smarter and more capable as the number of ants grows. An ideal world would be one with which an RDF can provide a subset of a document AND that a user who prefers to use other formats would then use parameters to have this occur. Emacs Hyperbole's use of contexts and Action-Buttons for PIM is a good example of encouraging reflexive behaviours which can be configured for individual usecases. Sorry if this probably still comes across as vague (and certainly straying off the realms of Guix in our current respective states). However, its a big topic which will still take a lot of time to unpack (expecially why I am still experimenting and testing the limitations of things). Feel free to ask me more (though please can you switch the subject title) or even engage me privately (I have a matrix room, xq_icebreaker too). Kind regards, -- Jonathan McHugh indieterminacy@libre.brussels