* Re: Web development
@ 2020-09-07 9:35 tantalum
2020-09-07 19:53 ` Zelphir Kaltstahl
0 siblings, 1 reply; 8+ messages in thread
From: tantalum @ 2020-09-07 9:35 UTC (permalink / raw)
To: guile-user
this is what i use for web development:
* for static files, i use nginx and convert markdown to html using
guile-commonmark, with an extension that allows calls to scheme code
inside markdown (https://github.com/sph-mn/sph-web-publish) to generate
some content like file listings
* for dynamically generated pages, i use nginx and scgi (like fastcgi
but simpler, http://python.ca/scgi/protocol.txt,
https://github.com/sph-mn/sph-lib/blob/master/modules/sph/scgi.scm) to
call a guile procedure on request. the guile side uses this framework
https://github.com/sph-mn/sph-web-app
* for serving generated files, i use the x-accel-redirect (x-sendfile)
response header to instruct nginx to serve the file
* for example, the linked pages here http://sph.mn/other/utilities.html
are generated on the fly with guile 3. guile is fast. some of the
converters use external tools and have a long initial output delay for a
yet unknown reason
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Web development
2020-09-07 9:35 Web development tantalum
@ 2020-09-07 19:53 ` Zelphir Kaltstahl
0 siblings, 0 replies; 8+ messages in thread
From: Zelphir Kaltstahl @ 2020-09-07 19:53 UTC (permalink / raw)
To: sph; +Cc: guile-user
Hey Tantalum!
On 07.09.20 11:35, tantalum wrote:
> this is what i use for web development:
> * for static files, i use nginx and convert markdown to html using
> guile-commonmark, with an extension that allows calls to scheme code
> inside markdown (https://github.com/sph-mn/sph-web-publish) to
> generate some content like file listings
> * for dynamically generated pages, i use nginx and scgi (like fastcgi
> but simpler, http://python.ca/scgi/protocol.txt,
> https://github.com/sph-mn/sph-lib/blob/master/modules/sph/scgi.scm) to
> call a guile procedure on request. the guile side uses this framework
> https://github.com/sph-mn/sph-web-app
> * for serving generated files, i use the x-accel-redirect (x-sendfile)
> response header to instruct nginx to serve the file
> * for example, the linked pages here
> http://sph.mn/other/utilities.html are generated on the fly with guile
> 3. guile is fast. some of the converters use external tools and have a
> long initial output delay for a yet unknown reason
Thanks for that! I will have to look into some of it (like scgi) to
understand better.
It seems like NGINX is a popular choice here as well.
I feel like we should put things together and document them (examples!),
so that people trying out Guile can quickly find how to get started with
a blog or some project like. I hope I can make it work in my example
project to share with everyone.
Best regards,
Zelphir
--
repositories: https://notabug.org/ZelphirKaltstahl
^ permalink raw reply [flat|nested] 8+ messages in thread
* Web development
@ 2020-09-04 15:43 Zelphir Kaltstahl
2020-09-04 16:44 ` Ricardo Wurmus
0 siblings, 1 reply; 8+ messages in thread
From: Zelphir Kaltstahl @ 2020-09-04 15:43 UTC (permalink / raw)
To: Guile User
Hello Guile Users!
Today I wanted to try developing a website in Guile again. I took a look
at GNU Artanis, but unfortunately it seems to be not compatible with
Guile 3 or at least not yet released for Guile 3. At least version 0.4.1
on Guix seems to still depend on Guile-2.2.x. So I thought "Hmmm I had
that example project once, but the issue was with serving static files
not being a good idea using Guile's web server." So that leads me to the
next point: What HTTP server to use?
- I could use NGINX, but then again I don't really like NGINX
configurations, even though I am familiar with it.
- I could try and get familiar with HAProxy. This seems to have the
advantage of being GPLv2.
But how to create a development setup? I'd like to not install Docker on
this particular system (so far it is very clean, only using free
software), but still keep my system clean. Perhaps I could use Guix
somehow (Guix containers?). Both, NGINX and HAProxy, seem available on Guix.
I seem to remember, that sending static files via Guile's web server
would be slow or insecure and that other HTTP servers make use of
sendfile or something, to be fast. Also they take care of MIME types
etc. I would be OK with being a bit slower, if I don't have to make a
huge effort to handle MIME types and whatever other stuff correctly. But
if there was something already implemented in Guile somewhere, which I
could copy for my project, perhaps that would work too.
I would like to have a local development environment, where I can start
a server (and the Guile service behind it) with a command and shut it
down again, but keeping my system rather clean.
So I have a few questions:
(1) How do you do your Guile web development? What's the setup?
(2) What do you use to serve static files (securely)? If you use Guile's
web server, how exactly do you do it? Do you have the code somewhere?
(3) Perhaps there is a minimalistic option instead of NGINX or HAProxy
out there, which is also free software? Is there perhaps even anything
in Guile, which I could use, that is suitable for serving static files?
Best regards,
Zelphir
--
repositories: https://notabug.org/ZelphirKaltstahl
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Web development
2020-09-04 15:43 Zelphir Kaltstahl
@ 2020-09-04 16:44 ` Ricardo Wurmus
2020-09-04 20:09 ` Zelphir Kaltstahl
0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2020-09-04 16:44 UTC (permalink / raw)
To: Zelphir Kaltstahl; +Cc: guile-user
Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> writes:
> So I have a few questions:
>
> (1) How do you do your Guile web development? What's the setup?
I don’t use a framework in my web projects; just the included web
modules and sometimes the fibers web server. I keep everything
stateless so that I can spin up many workers (i.e. Guile processes
with a web server listening on one of a range of local ports) and
dispatch to them from a reverse proxy such as Nginx or Lighttpd.
> (2) What do you use to serve static files (securely)? If you use Guile's
> web server, how exactly do you do it? Do you have the code somewhere?
I configure an assets directory and define a procedure that sanitizes
the requested file name to serve it from that directory. I don’t do
much with files so I don’t usually do anything other than
(call-with-input-file file-name get-bytevector-all)
for the body of the response. But if I had to send large files I’d use
“sendfile” directly.
> (3) Perhaps there is a minimalistic option instead of NGINX or HAProxy
> out there, which is also free software? Is there perhaps even anything
> in Guile, which I could use, that is suitable for serving static files?
Lighttpd seems to be lighter than Nginx. If all you want is serve
static files upon request I’d use just Guile, matching on the request,
looking up the file in a declared directory, and using sendfile to push
it to the requester.
--
Ricardo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Web development
2020-09-04 16:44 ` Ricardo Wurmus
@ 2020-09-04 20:09 ` Zelphir Kaltstahl
2020-09-04 20:25 ` Ricardo Wurmus
0 siblings, 1 reply; 8+ messages in thread
From: Zelphir Kaltstahl @ 2020-09-04 20:09 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: guile-user
Hi Ricardo!
On 9/4/20 6:44 PM, Ricardo Wurmus wrote:
> Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> writes:
>
>> So I have a few questions:
>>
>> (1) How do you do your Guile web development? What's the setup?
> I don’t use a framework in my web projects; just the included web
> modules and sometimes the fibers web server. I keep everything
> stateless so that I can spin up many workers (i.e. Guile processes
> with a web server listening on one of a range of local ports) and
> dispatch to them from a reverse proxy such as Nginx or Lighttpd.
>
>> (2) What do you use to serve static files (securely)? If you use Guile's
>> web server, how exactly do you do it? Do you have the code somewhere?
> I configure an assets directory and define a procedure that sanitizes
> the requested file name to serve it from that directory. I don’t do
> much with files so I don’t usually do anything other than
>
> (call-with-input-file file-name get-bytevector-all)
>
> for the body of the response. But if I had to send large files I’d use
> “sendfile” directly.
Don't you need to also check what kind of file type it is and select the
appropriate MIME type for answering the request? (Do you have some code
public somewhere, showing how to do this?)
And how do you use sendfile directly? (Code example for this would also
be great to see.)
(I've checked https://github.com/rekado and https://git.elephly.net/,
but could not find a web server project.)
Is it still necessary to sanitize the requested file names, when an HTTP
server handles requests for assets before the Guile application is hit?
>> (3) Perhaps there is a minimalistic option instead of NGINX or HAProxy
>> out there, which is also free software? Is there perhaps even anything
>> in Guile, which I could use, that is suitable for serving static files?
> Lighttpd seems to be lighter than Nginx. If all you want is serve
> static files upon request I’d use just Guile, matching on the request,
> looking up the file in a declared directory, and using sendfile to push
> it to the requester.
Best regards,
Zelphir
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Web development
2020-09-04 20:09 ` Zelphir Kaltstahl
@ 2020-09-04 20:25 ` Ricardo Wurmus
0 siblings, 0 replies; 8+ messages in thread
From: Ricardo Wurmus @ 2020-09-04 20:25 UTC (permalink / raw)
To: Zelphir Kaltstahl; +Cc: guile-user
Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> writes:
>>> (2) What do you use to serve static files (securely)? If you use Guile's
>>> web server, how exactly do you do it? Do you have the code somewhere?
>> I configure an assets directory and define a procedure that sanitizes
>> the requested file name to serve it from that directory. I don’t do
>> much with files so I don’t usually do anything other than
>>
>> (call-with-input-file file-name get-bytevector-all)
>>
>> for the body of the response. But if I had to send large files I’d use
>> “sendfile” directly.
>
> Don't you need to also check what kind of file type it is and select the
> appropriate MIME type for answering the request?
Yes, you need to send along the correct MIME type. In my projects I
know the MIME type of all files I’ll send ahead of time, so I can get
away with looking up the file extension in an alist of extensions to
MIME types.
Something like that:
--8<---------------cut here---------------start------------->8---
(define (render-static-file root path)
;; PATH is a list of path components
(let ((file-name (string-join (cons* root path) "/")))
(if (and (not (any (cut string-contains <> "..") path))
(file-exists? file-name)
(not (directory? file-name)))
(list `((content-type . ,(assoc-ref file-mime-types
(file-extension file-name))))
(call-with-input-file file-name get-bytevector-all))
(not-found (build-uri 'http
#:host (assoc-ref %config 'host)
#:port (assoc-ref %config 'port)
#:path (string-join path "/" 'prefix))))))
--8<---------------cut here---------------end--------------->8---
There’s probably a better way and a fail-safe way to do this, but this
has worked fine for me.
> And how do you use sendfile directly? (Code example for this would also
> be great to see.)
I’ve got no example for that in my projects, but “guix publish” provides
an implementation of “http-write” that uses sendfile. See
guix/scripts/publish.scm in the Guix source tree.
> Is it still necessary to sanitize the requested file names, when an HTTP
> server handles requests for assets before the Guile application is hit?
I’d still do that because I’d want the application to never do the wrong
thing, even when the deployment details change.
--
Ricardo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Diversification [ branched from Re: conflicts in the gnu project now affect guile]
@ 2019-10-20 6:10 Todor Kondić
2019-10-20 6:14 ` John Cowan
0 siblings, 1 reply; 8+ messages in thread
From: Todor Kondić @ 2019-10-20 6:10 UTC (permalink / raw)
To: pelzflorian (Florian Pelz); +Cc: guile-user@gnu.org
On Friday, 18 October 2019 17:09, pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de> wrote:
> On Fri, Oct 18, 2019 at 11:29:35AM +0000, Todor Kondić wrote:
>
> > You know, there is a big IT department within our institution and telling them I will base some serious work on technologies such as GNU Guile and Guix did raise a few eyebrows (those not raised are probably the cause of their proprietors not being informed enough).
> > […]
> > Couple of notes:
> >
> > 1. Are there any ladies on these lists? I am dying to hear from them
> > 2. Related to (1) ... a brief look at the maintainers who signed the Joined Statement gives an impression that it leans heavily to the politically Western hemisphere; just a comment, maybe food for thought
> > 3. The RMS scandal was brought to my attention by a female coder colleague who previously knew nothing of RMS's, or FSF's or GNU's work in the "Open Source Community"; another nibble for thought
>
> There have been few contributions from women,
> e.g. https://lists.gnu.org/archive/html/guile-devel/2017-03/msg00042.html
> (I do not know what its status is), but I believe bringing GNU Guile
> to professional use could help diversify. Thank you for that!
>
> Regards,
> Florian
Hi Florian,
Thanks for the kind words.
The problem of diversification goes way beyond the eccentric, or repugnant (choose at your leasure) views of certain prominent members of our "community".
I've set up my workflows around Guix, git(lab) and a customised Emacs installation (instead of R Studio). My small team of science students (majority female, various cultural backgrounds), never previously exposed to a GNU system to such an extent, managed to get a handle on it quite impressively.
But, I doubt any of them would find it natural to take a step further and participate in GNU itself (ugh, now I sound like a preacher of a new age religion). To my knowledge, interaction within GNU communities is still mostly mailing lists and IRC. This _not_ my students' natural digital habitat. I am probably not saying anything new, though ...
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Diversification [ branched from Re: conflicts in the gnu project now affect guile]
2019-10-20 6:10 Diversification [ branched from Re: conflicts in the gnu project now affect guile] Todor Kondić
@ 2019-10-20 6:14 ` John Cowan
2019-10-23 6:16 ` Amirouche Boubekki
0 siblings, 1 reply; 8+ messages in thread
From: John Cowan @ 2019-10-20 6:14 UTC (permalink / raw)
To: Todor Kondić; +Cc: guile-user@gnu.org
On Sun, Oct 20, 2019 at 2:11 AM Todor Kondić <tk.code@protonmail.com> wrote:
> But, I doubt any of them would find it natural to take a step further and
> participate in GNU itself (ugh, now I sound like a preacher of a new age
> religion). To my knowledge, interaction within GNU communities is still
> mostly mailing lists and IRC. This _not_ my students' natural digital
> habitat.
The only natural digital habitat of human beings is their fingers. All
else is learned, and more can be learned at any time. There's no reason
why students ought to be so closed to new experiences.
John Cowan http://vrici.lojban.org/~cowan cowan@ccil.org
Humpty Dump Dublin squeaks through his norse
Humpty Dump Dublin hath a horrible vorse
But for all his kinks English / And his irismanx brogues
Humpty Dump Dublin's grandada of all rogues. --Cousin James
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Diversification [ branched from Re: conflicts in the gnu project now affect guile]
2019-10-20 6:14 ` John Cowan
@ 2019-10-23 6:16 ` Amirouche Boubekki
2019-10-23 6:48 ` pelzflorian (Florian Pelz)
0 siblings, 1 reply; 8+ messages in thread
From: Amirouche Boubekki @ 2019-10-23 6:16 UTC (permalink / raw)
To: John Cowan; +Cc: guile-user@gnu.org
Le dim. 20 oct. 2019 à 08:14, John Cowan <cowan@ccil.org> a écrit :
>
> On Sun, Oct 20, 2019 at 2:11 AM Todor Kondić <tk.code@protonmail.com> wrote:
>
> > But, I doubt any of them would find it natural to take a step further and
> > participate in GNU itself (ugh, now I sound like a preacher of a new age
> > religion). To my knowledge, interaction within GNU communities is still
> > mostly mailing lists and IRC. This _not_ my students' natural digital
> > habitat.
>
>
> The only natural digital habitat of human beings is their fingers. All
> else is learned, and more can be learned at any time. There's no reason
> why students ought to be so closed to new experiences.
Regarding the mailling list, many projects (among GNOME) have or will
adopt https://www.discourse.org/. It has a per-user mailling list mode
but it can not bridge mailman. My guess is that a discourse instance
only for GNU Guile and Guix would be overkill, so maybe GNU might
consider using that software?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Diversification [ branched from Re: conflicts in the gnu project now affect guile]
2019-10-23 6:16 ` Amirouche Boubekki
@ 2019-10-23 6:48 ` pelzflorian (Florian Pelz)
2019-10-23 10:37 ` Chris Vine
0 siblings, 1 reply; 8+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-10-23 6:48 UTC (permalink / raw)
To: Amirouche Boubekki; +Cc: guile-user@gnu.org
On Wed, Oct 23, 2019 at 08:16:34AM +0200, Amirouche Boubekki wrote:
> Regarding the mailling list, many projects (among GNOME) have or will
> adopt https://www.discourse.org/. It has a per-user mailling list mode
> but it can not bridge mailman. My guess is that a discourse instance
> only for GNU Guile and Guix would be overkill, so maybe GNU might
> consider using that software?
>
I only know that subscribing to GNOME Discourse required Javascript
and its mail headers are less pretty compared to mailman.
I would prefer eventually having a forum/bulletin board-like Web
interface to mailing lists in Guile and until then stick to pure
mailing lists.
Regardds,
Florian
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Diversification [ branched from Re: conflicts in the gnu project now affect guile]
2019-10-23 6:48 ` pelzflorian (Florian Pelz)
@ 2019-10-23 10:37 ` Chris Vine
2019-10-23 11:25 ` pelzflorian (Florian Pelz)
0 siblings, 1 reply; 8+ messages in thread
From: Chris Vine @ 2019-10-23 10:37 UTC (permalink / raw)
To: guile-user
On Wed, 23 Oct 2019 08:48:13 +0200
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> wrote:
> On Wed, Oct 23, 2019 at 08:16:34AM +0200, Amirouche Boubekki wrote:
> > Regarding the mailling list, many projects (among GNOME) have or will
> > adopt https://www.discourse.org/. It has a per-user mailling list mode
> > but it can not bridge mailman. My guess is that a discourse instance
> > only for GNU Guile and Guix would be overkill, so maybe GNU might
> > consider using that software?
>
> I only know that subscribing to GNOME Discourse required Javascript
> and its mail headers are less pretty compared to mailman.
>
> I would prefer eventually having a forum/bulletin board-like Web
> interface to mailing lists in Guile and until then stick to pure
> mailing lists.
That's pretty much what discourse is - an attractive web interface to
something like mailing lists, with the option to use a mail client
interface as well as the web interface if you want.
To be clear I am definitely not pushing for this kind of change
(I think I must be quite old-fashioned because it seems to me that
traditional mailing lists work fine), nor am I particularly against it.
I am not sure what it is that caused gnome to move from mailman to
discourse, but I suspect it was to get the more up-to-date feel of a web
interface. I notice also that the ocaml "mailing list" also uses
discourse, should anyone want to ask them what they get out of it.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Diversification [ branched from Re: conflicts in the gnu project now affect guile]
2019-10-23 10:37 ` Chris Vine
@ 2019-10-23 11:25 ` pelzflorian (Florian Pelz)
2019-10-23 12:33 ` pelzflorian (Florian Pelz)
0 siblings, 1 reply; 8+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-10-23 11:25 UTC (permalink / raw)
To: Chris Vine; +Cc: guile-user
On Wed, 23 Oct 2019 08:48:13 +0200
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> wrote:
> On Wed, Oct 23, 2019 at 08:16:34AM +0200, Amirouche Boubekki wrote:
> I only know that subscribing to GNOME Discourse required Javascript
> and its mail headers are less pretty compared to mailman.
>
These are the reasons why I do not like Discourse.
> I am not sure what it is that caused gnome to move from mailman to
> discourse, but I suspect it was to get the more up-to-date feel of a web
> interface.
I quote Emmanuele Bassi, <https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00001.html>:
> Having a better archive search, a better moderation system, and a
> decent web UI are the major selling points for switching to
> Discourse.
Regards,
Florian
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Diversification [ branched from Re: conflicts in the gnu project now affect guile]
2019-10-23 11:25 ` pelzflorian (Florian Pelz)
@ 2019-10-23 12:33 ` pelzflorian (Florian Pelz)
2019-10-23 19:19 ` Zelphir Kaltstahl
0 siblings, 1 reply; 8+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-10-23 12:33 UTC (permalink / raw)
To: Chris Vine; +Cc: guile-user
On Wed, Oct 23, 2019 at 01:25:44PM +0200, pelzflorian (Florian Pelz) wrote:
> On Wed, 23 Oct 2019 08:48:13 +0200
> "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> wrote:
> > On Wed, Oct 23, 2019 at 08:16:34AM +0200, Amirouche Boubekki wrote:
> > I only know that subscribing to GNOME Discourse required Javascript
> > and its mail headers are less pretty compared to mailman.
> >
>
> These are the reasons why I do not like Discourse.
>
> > I am not sure what it is that caused gnome to move from mailman to
> > discourse, but I suspect it was to get the more up-to-date feel of a web
> > interface.
>
> I quote Emmanuele Bassi, <https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00001.html>:
> > Having a better archive search, a better moderation system, and a
> > decent web UI are the major selling points for switching to
> > Discourse.
>
If there isn’t one already, then I would like to start working on a
written in Guile, free software, old-school bulletin board-like
interface, perhaps with a more modern UI design, next week. I do not
like Discourse and will need something like this anyway for other
projects. I see there already is guile-email and Mumi. So far I had
no time looking at either. I would start next week.
Regards,
Florian
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Diversification [ branched from Re: conflicts in the gnu project now affect guile]
2019-10-23 12:33 ` pelzflorian (Florian Pelz)
@ 2019-10-23 19:19 ` Zelphir Kaltstahl
2020-09-05 6:15 ` Joshua Branson via General Guile related discussions
0 siblings, 1 reply; 8+ messages in thread
From: Zelphir Kaltstahl @ 2019-10-23 19:19 UTC (permalink / raw)
To: guile-user
On 10/23/19 2:33 PM, pelzflorian (Florian Pelz) wrote:
> On Wed, Oct 23, 2019 at 01:25:44PM +0200, pelzflorian (Florian Pelz) wrote:
>> On Wed, 23 Oct 2019 08:48:13 +0200
>> "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> wrote:
>>> On Wed, Oct 23, 2019 at 08:16:34AM +0200, Amirouche Boubekki wrote:
>>> I only know that subscribing to GNOME Discourse required Javascript
>>> and its mail headers are less pretty compared to mailman.
>>>
>> These are the reasons why I do not like Discourse.
>>
>>> I am not sure what it is that caused gnome to move from mailman to
>>> discourse, but I suspect it was to get the more up-to-date feel of a web
>>> interface.
>> I quote Emmanuele Bassi, <https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00001.html>:
>>> Having a better archive search, a better moderation system, and a
>>> decent web UI are the major selling points for switching to
>>> Discourse.
> If there isn’t one already, then I would like to start working on a
> written in Guile, free software, old-school bulletin board-like
> interface, perhaps with a more modern UI design, next week. I do not
> like Discourse and will need something like this anyway for other
> projects. I see there already is guile-email and Mumi. So far I had
> no time looking at either. I would start next week.
>
> Regards,
> Florian
It would be an interesting project, for an example of how to do a Guile
server side. What kind of library/framework/tool would you use for the
server side? I think the standard library webserver is still very bare
bones. So far I've not tried GNU Artanis. Would it be a good idea to use
that?
I've created some example code for the standard library web server:
https://gitlab.com/zelphir-kaltstahl-projects/guile-scheme-tutorials-and-examples/tree/dev/web-development/using-guile-webserver
But it has not progressed very far.
Regards,
Zelphir
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-09-07 19:53 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-07 9:35 Web development tantalum
2020-09-07 19:53 ` Zelphir Kaltstahl
-- strict thread matches above, loose matches on Subject: below --
2020-09-04 15:43 Zelphir Kaltstahl
2020-09-04 16:44 ` Ricardo Wurmus
2020-09-04 20:09 ` Zelphir Kaltstahl
2020-09-04 20:25 ` Ricardo Wurmus
2019-10-20 6:10 Diversification [ branched from Re: conflicts in the gnu project now affect guile] Todor Kondić
2019-10-20 6:14 ` John Cowan
2019-10-23 6:16 ` Amirouche Boubekki
2019-10-23 6:48 ` pelzflorian (Florian Pelz)
2019-10-23 10:37 ` Chris Vine
2019-10-23 11:25 ` pelzflorian (Florian Pelz)
2019-10-23 12:33 ` pelzflorian (Florian Pelz)
2019-10-23 19:19 ` Zelphir Kaltstahl
2020-09-05 6:15 ` Joshua Branson via General Guile related discussions
2020-09-05 11:50 ` Web development Zelphir Kaltstahl
2020-09-05 13:09 ` Ricardo Wurmus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).