all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: indieterminacy <indieterminacy@libre.brussels>
To: Brian Cully <bjc@spork.org>
Cc: catonano@gmail.com, Blake Shaw <blake@sweatshoppe.org>,
	Ricardo Wurmus <rekado@elephly.net>,
	Andrew Tropin <andrew@trop.in>, Josselin Poiret <dev@jpoiret.xyz>,
	GNU Guix maintainers <guix-maintainers@gnu.org>,
	guix-devel@gnu.org
Subject: Re: how to write services
Date: Sat, 18 Jun 2022 13:53:41 +0200	[thread overview]
Message-ID: <1ad22337d0d03c6dc9e5abf03c4a0f9b@libre.brussels> (raw)
In-Reply-To: <87tu8krafm.fsf@ditto.jhoto.spork.org>

Hello Brian,

On 16-06-2022 15:09, Brian Cully via "Development of GNU Guix and the 
GNU System distribution." wrote:
> catonano@gmail.com writes:
> 
>> I asked for indications about the process (what magic to use in the
>> REPL)
> 
> My experience with Guix, in general, is that the REPL isn't
> particularly useful for any task beyond very simple testing (eg, what
> are the contents of ‘%base-services’). It's a shame, but I suspect
> it's like this because it's hard to make it more functional, and there
> are more important problems to work on. Even though I would much
> prefer to do almost all work with a REPL, I have not invested the
> effort into figuring it out because I don't have the time or
> expertise, currently. I can't fault anyone else for making similar
> choices.
> 
>> This should be covered in the cookbook
> 
> I agree. The cookbook could use a lot of work. Guix's documentation
> suffers in the middle ranges. There's a lot of very high level
> overview, and all the low level bits are reasonably documented, but
> there's very little on how to integrate them.
> 
Personally, Im somebody who requires examples to hack off.
As many as possible, to compare and contrast concepts and feed my 
imagination.

I wish I could reach for any API to explore and extrapolate with the 
same ease as I do with a dictionary.
Probably a cognitive failing from me getting into coding so late in 
life.

As with many things, I rely on conversational models to wash over me, so 
MLs have been useful as filling gaps - though I have to be patient 
waiting for solutions and ideals to reveal themselves over time.

The Guix mailing lists are hugely important to serve as the bridge 
between higher and lower level concepts.
This method may not be optimal to or known by some hoping to users 
hoping to utilise Guix further however.

Similarly, Im sure IRC/Matrix is useful, though I find the volume of the 
official (Matrix?) room to be like a firehose with its volume and too 
much to passively observe.

> If we were building a house, it'd be like having instructions that
> say: our house is made out of rooms. Then being given a bill of
> materials for all the different types of nails, boards, etc that can
> be used to build a house. There's no (or almost no) instructions for
> how to use those parts to build the shepherd service room, or how to
> connect the activation plumbing, etc. Unfortunately, those are the
> instructions that are most important, I think.
> 
I like the analogy.

I feel that there is an information-governance issue in terms of 
competencies, knowledge and requirements not fully intersecting.

Its not only because of the scale of the Guix community and as you 
mention the weaker middle layer but problems of time and perspective 
making it hard for specific solutions to find troubled users with 
minimal costs.

In many respects its not only a problem of documenting and publishing - 
there needs to be something in place to help orchestrate connections in 
a way akin to pollination.

Like the moribund efficacy of forums such as GitHub Issues, I do feel 
that the 'classic' model of SEO based search does not serve our 
individual or collective requirements.

I have been nudged into considering RDF more proactively, it would be 
super if Guix related knowledge could be represented in a semantic form, 
as it could be that triples can serve to provide 'knowledge-corridors', 
which connect up aspects of the ecosystem in ways unintended by 
contributors.

> I have been keeping notes on my process of learning Guix in the hopes
> of starting something along these lines, but I'm not sure I'll ever
> have the time to get around to it; and I'm not much of a writer,
> besides.
> 
You are a cogent and thoughtful writer so please write more and tell 
people when you make progress!

My own research project, Icebreaker, has focused on trying to utilise 
GemText and augment it with minimal syntaxes to support domains such as 
knowledge-management and kanban boards.

GemText's minimal syntax could allow you to write your thoughts down 
unimpeded and can be interpreted with ease.

See Genenetwork's own approach to such concepts to see how such habits 
can build out over time:
https://github.com/genenetwork/gn-gemtext-threads

Midway through my NLNet grant (once a move past a hospice related 
issue), Ill be integrating two interpreters covering formats (GemText 
and Koutliner) and my own annotation system (Qiuy).
https://git.sr.ht/~indieterminacy/1q20hqh_kq_parsing_gemtext
https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean

For me, this has put me in a situation whereby I can annotate anywhere 
and soon I shall have a graph of resources to inspect and extrapolate.

To aid others comprehension and interoperability I shall be trying to 
map my opaque seeming annotation syntax into RDF, hopefully something 
positive can come from that phase.

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.

Should both things turn out to be actionable then Guix 
knowledge-management could become a question of the governance of 
chaining concepts to fit usecases. Fingers crossed.

>> In fact Tryton modules are not python modules and there's a patch
>> modifying how Tryton retrieves its modules in Guix
>> 
>> Yet there's no service for Tryton
> 
> This is the case for many packages. The good news(?) is that you can
> create your services your operating system config, and if you can get
> them working acceptably, send a patch.
> 
>> I think the friction on how to write a service is not in the semantics
>> involved
>> 
>> It's more menial
> 
> See above: there's no documentation for assembly. Everything I've
> learned was from studying the source.
> 
>> As I'm writing this, I noticed someone replied to my toot
>> (here
>> https://tines.spork.org/objects/a2ff7376-c9a2-4bbd-9307-a5374571edb4 )
>> 
>> as you can see, they also noticed a difference in the experience
>> between creating home services and system services
> 
> I wasn't following this thread at the time, and didn't know whether
> you were talking about shepherd services or not. In terms of shepherd
> services, yes, there's quite a difference (maybe it would be a good
> idea to define a generic service type, akin to
> ‘home-shepherd-service-type’ that only extends the
> ‘shepherd-root-service-type’ with a shepherd service?). As I said
> there, if you have questions, feel free to ask! I may not be able to
> write the cookbook/how-to that I want to, but I can try to answer
> questions and share what little knowledge I do have with a fellow
> neophyte.
> 
> However, for the types of services you'd add to the ‘services’ slot of
> the home/operating-system config, I don't think there is much of a
> difference; or maybe none at all.
> 
>> Guix is being successful, these days but that's an exception in the
>> free software world and more so in the GNU world
> 
> I'm happy that Guix is growing, and more people are using it and
> adding to it (I'm a recent adopter, too!). But I think it's still a
> niche distribution, and it shows in things like the documentation, the
> builds breaking, old or broken packages, etc.
> 
> I want to be very clear on this point, though: I don't blame anyone
> for this, and I don't mean to downplay anyone's work because of these
> problems. Creating and maintaining a distribution, especially one as
> different as Guix, is a tremendous amount of work, and it's frankly
> incredible how well Guix does on such a small core crew. It's simply
> impossible to have the same level of polish as a bigger, more
> established distribution, with an order of magnitude (or more)
> contributors.
> 
>> I have a job now (and it has to do with Odoo), I also train in a gym, 
>> I
>> like to spend the free time I have on the beach (as it's evident from
>> my presence on the fediverse)  so I don't know it's not like I have 
>> any
>> slots to assign to attempt this
> 
> We're, all of us, in a similar situation, and we're few in number
> (relatively), with a lot of work to do. I think this explains the
> state of Guix more than anything else.
> 
> -bjc

-- 
Jonathan McHugh
indieterminacy@libre.brussels


  reply	other threads:[~2022-06-18 11:54 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-04 12:07 Teams Ricardo Wurmus
2022-06-04 13:00 ` Teams Maxime Devos
2022-06-04 13:19 ` Teams Ekaitz Zarraga
2022-06-04 14:50 ` Teams Tobias Geerinckx-Rice
2022-06-04 15:52   ` Teams Maxime Devos
2022-06-04 15:56   ` Teams david larsson
2022-06-05  9:10   ` Teams pelzflorian (Florian Pelz)
2022-06-07  4:11     ` Teams Thiago Jung Bauermann
2022-06-05  8:19 ` Teams Josselin Poiret
2022-06-06 21:21   ` Teams Ludovic Courtès
2022-06-14 11:31   ` Teams Andrew Tropin
2022-06-14 18:52     ` Teams Blake Shaw
2022-06-15  6:19       ` how to write services (was: Re: Teams) catonano
2022-06-15 13:53         ` Ricardo Wurmus
2022-06-15 17:01           ` Blake Shaw
2022-06-15 17:32             ` Maxime Devos
     [not found]               ` <CAKjmbcA56WL8ude232fz_5_G9U2RfoNNf4gqMHu5tft5kMbjFQ@mail.gmail.com>
2022-06-15 22:04                 ` Maxime Devos
2022-06-15 22:13                 ` Maxime Devos
2022-06-15 22:28                 ` Maxime Devos
2022-06-15 23:20                   ` Blake Shaw
2022-06-16  8:27                     ` Maxime Devos
2022-06-16  5:14             ` catonano
2022-06-16  6:46               ` Ricardo Wurmus
2022-06-16 13:09               ` Brian Cully via Development of GNU Guix and the GNU System distribution.
2022-06-18 11:53                 ` indieterminacy [this message]
2022-06-18 12:23                   ` how to write services Maxime Devos
2022-06-18 13:33                     ` indieterminacy
2022-06-15 10:53       ` How to write a service (was: Re: Teams) catonano
2022-06-05  9:31 ` Teams Lars-Dominik Braun
2022-06-05  9:51 ` Teams zimoun
2022-06-05 10:00   ` Teams Julien Lepiller
2022-06-07 17:49   ` Teams Efraim Flashner
2022-06-05  9:51 ` Teams Andreas Enge
2022-06-09  4:39   ` Teams Eric Bavier
2022-06-05 10:30 ` Teams indieterminacy
2022-06-05 17:59 ` Teams Mathieu Othacehe
2022-06-06 21:26   ` Teams Ludovic Courtès
2022-06-06 14:12 ` Teams Maxim Cournoyer
2022-06-07  0:28 ` Teams Ryan Prior
2022-06-07 19:06 ` Teams Vagrant Cascadian
2022-06-08 21:30   ` Teams Ludovic Courtès
2022-06-09  2:21     ` Teams Thiago Jung Bauermann
2022-06-09 19:28 ` Teams Arun Isaac
2022-06-13 13:38   ` Teams Blake Shaw
2022-06-13 22:33     ` Teams raingloom
2022-06-21 15:21 ` Teams: first draft list zimoun
2022-06-21 17:28   ` bokr
2022-06-21 22:21     ` zimoun
2022-06-22  6:56       ` Efraim Flashner
2022-06-22 16:19         ` bokr
2022-06-22  7:59   ` Ricardo Wurmus
2022-06-22  9:19     ` zimoun
2022-06-22 12:30       ` Josselin Poiret
2022-06-22 13:10         ` Maxime Devos
2022-06-22 13:49     ` Ludovic Courtès
2022-06-22 14:18       ` Blake Shaw
2022-07-01 10:28       ` Ricardo Wurmus
2022-07-01 17:36         ` Liliana Marie Prikler
2022-07-01 19:08           ` Ricardo Wurmus
2022-07-03 13:04             ` Teams: please add yourself to etc/teams.scm.in Ricardo Wurmus
2022-07-03 14:51               ` Andreas Enge
2022-07-01 20:53   ` Teams: first draft list Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1ad22337d0d03c6dc9e5abf03c4a0f9b@libre.brussels \
    --to=indieterminacy@libre.brussels \
    --cc=andrew@trop.in \
    --cc=bjc@spork.org \
    --cc=blake@sweatshoppe.org \
    --cc=catonano@gmail.com \
    --cc=dev@jpoiret.xyz \
    --cc=guix-devel@gnu.org \
    --cc=guix-maintainers@gnu.org \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.