The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Origins of globbing
@ 2020-10-06  9:53 Tyler Adams
  2020-10-06 15:17 ` John Cowan
  0 siblings, 1 reply; 18+ messages in thread
From: Tyler Adams @ 2020-10-06  9:53 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 166 bytes --]

How did globbing come about in unix?

Related, as regexes were already well known because of qed/ed, why wasn't a
subset of regular expressions used instead?

 Tyler

[-- Attachment #2: Type: text/html, Size: 373 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-06  9:53 [TUHS] Origins of globbing Tyler Adams
@ 2020-10-06 15:17 ` John Cowan
  2020-10-07  2:25   ` Random832
  0 siblings, 1 reply; 18+ messages in thread
From: John Cowan @ 2020-10-06 15:17 UTC (permalink / raw)
  To: Tyler Adams; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 2563 bytes --]

On Tue, Oct 6, 2020 at 5:54 AM Tyler Adams <coppero1237@gmail.com> wrote:

How did globbing come about in unix?
>

It's been present at least since the PDP-11 migration. The Thompson shell,
used in the 1st through 6th Editions, used a separate program called
/etc/glob to do the dirty work, presumably in order to keep /bin/sh as
small as possible. Unfortunately, glob never got its own man page, so its
protocol for communicating with the shell is lost, unless someone remembers
it and writes it down (hint, hint).

Related, as regexes were already well known because of qed/ed, why wasn't a
> subset of regular expressions used instead?
>

The use of * and ?  along with file extensions preceded by dot (as in ".c"
and ".o") are, or so it seems to me, an inheritance from the DEC operating
systems, starting with Monitor (later called TOPS-10) in 1964 and going
right through OpenVMS.  In the file systems used by those OSes, the
"filename" (typically up to 6 characters) and the "extension" (typically up
to 3 characters) were stored separately both on disk and in memory, and the
separating dot was parsed by user programs before invoking the appropriate
kernel routine.  (That is why it is still true in WIndows that "foo" and
"foo." refer to the same file.)

Because dot was not in any way magic to the Unix file system, and because
file names were limited to 14 characters, extensions were kept short.
However, the path that leads from DEC OSes to CP/M to MS-DOS to Windows has
kept the 3-letter extension alive, and we now see plenty of it in
Unix-style OSes.  Thus using dot to mean "any character" would seriously
collide with this well-established usage as the extension separator.

Globbing was uninterpreted by the shell-equivalent in the DEC OSes, and was
understood only by a few programs, those responsible for listing
directories and copying, renaming, and deleting files.  Universal globbing
in the shell was AFAIK original with Unix, though Prime Computer's PRIMOS
also had it and may have been earlier by a year or two.  "It steam-engines
when it comes steam-engine time."  Both were direct descendants of Multics;
I have not been able to find out anything about

TIL that GNU find(1) supplements the standard -name option (which globs
against the filename) with -regex (which matches the regex against the
whole path).



John Cowan          http://vrici.lojban.org/~cowan        cowan@ccil.org
The Imperials are decadent, 300 pound free-range chickens (except they have
teeth, arms instead of wings, and dinosaurlike tails).  --Elyse Grasso

[-- Attachment #2: Type: text/html, Size: 3584 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-06 15:17 ` John Cowan
@ 2020-10-07  2:25   ` Random832
  2020-10-07  2:58     ` George Michaelson
  0 siblings, 1 reply; 18+ messages in thread
From: Random832 @ 2020-10-07  2:25 UTC (permalink / raw)
  To: TUHS

On Tue, Oct 6, 2020, at 11:17, John Cowan wrote:
> Globbing was uninterpreted by the shell-equivalent in the DEC OSes, and 
> was understood only by a few programs, those responsible for listing 
> directories and copying, renaming, and deleting files.  Universal 
> globbing in the shell was AFAIK original with Unix

it's worth mentioning that "universal" globbing comes with restrictions that operating systems where programs interpret globs don't have: you can't reliably pass a glob as an option argument, or as an argument which refers to files that do not exist in the filesystem, without quoting it, which requires additional quoting when you want a literal * or ? character. Quoting is also required even when the argument position is not semantically a set of filenames at all.

Also, since you mentioned renaming, MS-DOS/Windows, at least, has a primitive 'rename one glob to another' [it has rules that technically give meaning to any destination glob, but it's most sensible when you want to change the filename extension of a set of files] function that's not possible either on Unix [though utilities do exist to perform various transformations on the name of a set of files to be renamed]

Although, sometimes the results can be surprising - the MS-DOS/Windows "copy" command, for example, *concatenates* a globbed set of files [achievable with a list of filenames by separating them with plus signs] rather than copying them separately into a destination directory.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-07  2:25   ` Random832
@ 2020-10-07  2:58     ` George Michaelson
  2020-10-07  9:22       ` arnold
  2020-10-08  0:18       ` Dave Horsfall
  0 siblings, 2 replies; 18+ messages in thread
From: George Michaelson @ 2020-10-07  2:58 UTC (permalink / raw)
  Cc: TUHS

Possibly wrongly, I judge glob by things like how simple it is, to use
it doing "rename *.foo to *.bar" or "find filenames with spaces in
them, and rename to be - separated"

The problem typically is shell expansion. Those damn quoted quotes.

I think set noglob; <do things>; set glob is often under-appreciated.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-07  2:58     ` George Michaelson
@ 2020-10-07  9:22       ` arnold
  2020-10-07  9:45         ` Michael Kjörling
  2020-10-08  0:18       ` Dave Horsfall
  1 sibling, 1 reply; 18+ messages in thread
From: arnold @ 2020-10-07  9:22 UTC (permalink / raw)
  To: ggm; +Cc: tuhs

George Michaelson <ggm@algebras.org> wrote:

> Possibly wrongly, I judge glob by things like how simple it is, to use
> it doing "rename *.foo to *.bar" or "find filenames with spaces in
> them, and rename to be - separated"
>
> The problem typically is shell expansion. Those damn quoted quotes.
>
> I think set noglob; <do things>; set glob is often under-appreciated.

I often use a 

	find ... | sed 's/whatever/mv & other/' | sh -x

for fancy things like that. If I'm doing the same operation a lot,
I wrap it in a script.

HTH,

Arnold

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-07  9:22       ` arnold
@ 2020-10-07  9:45         ` Michael Kjörling
  2020-10-08  3:45           ` John Cowan
  0 siblings, 1 reply; 18+ messages in thread
From: Michael Kjörling @ 2020-10-07  9:45 UTC (permalink / raw)
  To: tuhs

On 7 Oct 2020 03:22 -0600, from arnold@skeeve.com:
>> Possibly wrongly, I judge glob by things like how simple it is, to use
>> it doing "rename *.foo to *.bar" or "find filenames with spaces in
>> them, and rename to be - separated"
> 
> I often use a 
> 
> 	find ... | sed 's/whatever/mv & other/' | sh -x
> 
> for fancy things like that. If I'm doing the same operation a lot,
> I wrap it in a script.

I like rename from https://metacpan.org/release/File-Rename for that
purpose. It takes a regular expressions (actually, Perl expression, so
could in principle be any valid Perl code) plus a set of file names,
and renames each file according to the regexp. Plus you don't need to
worry about things like quoting within the command as with the above,
and it even has -0 for when reading those extra-exotic file names from
stdin. (For one thing, I hope none of your files has a space or a
semicolon in its name with your style of rename as-is. :))

In Debian, that's https://packages.debian.org/stable/rename; I suspect
other systems with reasonably large package repositories also offer it
prepackaged.

About the only downside is its dependence on Perl (after all, that's
rather heavyweight), but then again a lot of other things also depend
on Perl so it's kind of hard to have even a minimal modern system that
doesn't have Perl installed...

Having to escape every '.' would probably be even more annoying than
modern GNU ls's default non-"-N" behavior; and worse in the sense that
_most_ of the time, it would probably work without escaping it, but
when it doesn't work, it would break in various spectacular fashions.

-- 
Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se
 “Remember when, on the Internet, nobody cared that you were a dog?”


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-07  2:58     ` George Michaelson
  2020-10-07  9:22       ` arnold
@ 2020-10-08  0:18       ` Dave Horsfall
  2020-10-08  0:33         ` Larry McVoy
  2020-10-08  2:35         ` Dave Horsfall
  1 sibling, 2 replies; 18+ messages in thread
From: Dave Horsfall @ 2020-10-08  0:18 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

On Wed, 7 Oct 2020, George Michaelson wrote:

> Possibly wrongly, I judge glob by things like how simple it is, to use
> it doing "rename *.foo to *.bar" or "find filenames with spaces in
> them, and rename to be - separated"

John "Iron bar" Mackin (may he rest in peace) wrote a shell script "mved" 
that implemented PIP-like globs along the lines of "mved =.foo =.bar".  I 
still have it somewhere, but it probably needs some work on it now; it was 
really handy for things like "mved =.c =c.old".

-- Dave

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-08  0:18       ` Dave Horsfall
@ 2020-10-08  0:33         ` Larry McVoy
  2020-10-08  2:35         ` Dave Horsfall
  1 sibling, 0 replies; 18+ messages in thread
From: Larry McVoy @ 2020-10-08  0:33 UTC (permalink / raw)
  To: Dave Horsfall; +Cc: The Eunuchs Hysterical Society

On Thu, Oct 08, 2020 at 11:18:38AM +1100, Dave Horsfall wrote:
> On Wed, 7 Oct 2020, George Michaelson wrote:
> 
> >Possibly wrongly, I judge glob by things like how simple it is, to use
> >it doing "rename *.foo to *.bar" or "find filenames with spaces in
> >them, and rename to be - separated"
> 
> John "Iron bar" Mackin (may he rest in peace) wrote a shell script "mved"
> that implemented PIP-like globs along the lines of "mved =.foo =.bar".  I
> still have it somewhere, but it probably needs some work on it now; it was
> really handy for things like "mved =.c =c.old".

I wrote the same thing and strangely enough, I also used = as a * replacement.
From 1987 folks:

http://mcvoy.com/lm/move.shar

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-08  0:18       ` Dave Horsfall
  2020-10-08  0:33         ` Larry McVoy
@ 2020-10-08  2:35         ` Dave Horsfall
  1 sibling, 0 replies; 18+ messages in thread
From: Dave Horsfall @ 2020-10-08  2:35 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

On Thu, 8 Oct 2020, Dave Horsfall wrote:

> John "Iron bar" Mackin (may he rest in peace) wrote a shell script 
> "mved" that implemented PIP-like globs along the lines of "mved =.foo 
> =.bar".  I still have it somewhere, but it probably needs some work on 
> it now; it was really handy for things like "mved =.c =c.old".

Oops - my mistake.  This from the source:

     # Brian Coogan 06 Jan 87
     # Hewlett-Packard Australian Software Operation

Posted to aus.sources with no restrictions on its use, so I'm guessing 
that it's PD.

-- Dave

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-07  9:45         ` Michael Kjörling
@ 2020-10-08  3:45           ` John Cowan
  2020-10-09 18:21             ` Random832
  0 siblings, 1 reply; 18+ messages in thread
From: John Cowan @ 2020-10-08  3:45 UTC (permalink / raw)
  To: Michael Kjörling; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 820 bytes --]

On Wed, Oct 7, 2020 at 5:51 AM Michael Kjörling <michael@kjorling.se> wrote:

In Debian, that's https://packages.debian.org/stable/rename; I suspect
> other systems with reasonably large package repositories also offer it
> prepackaged.
>

Not always, though.  Some distros package GNU rename <
https://man7.org/linux/man-pages/man1/rename.1.html> instead, which can
only convert a fixed string to another fixed string.



John Cowan          http://vrici.lojban.org/~cowan        cowan@ccil.org
Original line from The Warrior's Apprentice by Lois McMaster Bujold:
"Only on Barrayar would pulling a loaded needler start a stampede toward
one."
English-to-Russian-to-English mangling thereof: "Only on Barrayar you risk
to
lose support instead of finding it when you threat with the charged weapon."

[-- Attachment #2: Type: text/html, Size: 1543 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-08  3:45           ` John Cowan
@ 2020-10-09 18:21             ` Random832
  0 siblings, 0 replies; 18+ messages in thread
From: Random832 @ 2020-10-09 18:21 UTC (permalink / raw)
  To: TUHS

On Wed, Oct 7, 2020, at 23:45, John Cowan wrote:
> Not always, though.  Some distros package GNU rename 
> <https://man7.org/linux/man-pages/man1/rename.1.html> instead, which 
> can only convert a fixed string to another fixed string.

This rename utility is actually part of util-linux [a mixed bag of utilities that were developed early on by linux kernel developers to fill in the gaps of what GNU didn't provide], not GNU.

[I believe the other rename command is actually part of perl, and you can execute arbitrary perl code, not just a regex substitution]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-06 23:11 ` George Michaelson
  2020-10-06 23:21   ` Jon Steinhart
@ 2020-10-07  3:14   ` John Cowan
  1 sibling, 0 replies; 18+ messages in thread
From: John Cowan @ 2020-10-07  3:14 UTC (permalink / raw)
  To: George Michaelson; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 2084 bytes --]

Noel: Thanks for the heads-up on glob.  It didn't occur to me to look in
manual section 8.

On Tue, Oct 6, 2020 at 7:11 PM George Michaelson <ggm@algebras.org> wrote:

globbing was the application of specific syntax markers to concepts,
>

Certainly.  But I think the specific meanings of "*" to mean "any number of
any characters" and "?" to mean "any character" do not go back further than
1964.

Multics had support for * and ?, but I don't know when that was added or if
it was there from the beginning.  Multics filenames, unlike DEC ones, allow
multiple dots, which are treated specially by these characters: neither ?
nor * can match a dot, but ** can.  So perhaps they got into Unix from
Multics after all.  Stratus VOS is another direct descendant of Multics,
but I don't know if it has globs.

Windows avoids quotation by blocking any of < > " : | ? * from appearing in
pathnames (/ and \ mean the same thing to the kernel, but not to the shell
or to the GUI file picker).  In addition, non-disk device names cannot
appear as part of a filename either before or after the dot: nul.c and
c.nul, for example, are illegal because nul: is a device name, and you can
use \dev\nul to reference the null device even though \dev does not exist.

I think set noglob; <do things>; set glob is often under-appreciated.


I found the absence of set nullglob (which causes *.foo to expand to
nothing if it matches no files) on Solaris 8 very irritating.  It's still
not part of Posix sh, though bash has it.  I wrote some wrappers around cp
and mv that looked for * and ? in the arguments (indicating no files) and
removed those arguments; if no arguments were left after that, they exited
with 0.  Thus "safecp *.bak ../backup" would silently succeed if there were
no .bak files.



John Cowan          http://vrici.lojban.org/~cowan        cowan@ccil.org
I come from under the hill, and under the hills and over the hills my paths
led. And through the air. I am he that walks unseen.  I am the clue-finder,
the web-cutter, the stinging fly. I was chosen for the lucky number.
 --Bilbo

[-- Attachment #2: Type: text/html, Size: 2942 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-07  0:32       ` George Michaelson
@ 2020-10-07  0:33         ` Jon Steinhart
  0 siblings, 0 replies; 18+ messages in thread
From: Jon Steinhart @ 2020-10-07  0:33 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

George Michaelson writes:
> yea well I wasn't born until 1961 and anything before then is in black
> and white, grainly film, and probably has a cowboy gun in it.
>
> historical fiction is my thing. spelling isn't. you mean Kleene?

Ah yeah, a typo.  Sorry.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-07  0:23     ` Warner Losh
@ 2020-10-07  0:32       ` George Michaelson
  2020-10-07  0:33         ` Jon Steinhart
  0 siblings, 1 reply; 18+ messages in thread
From: George Michaelson @ 2020-10-07  0:32 UTC (permalink / raw)
  To: Warner Losh; +Cc: The Eunuchs Hysterical Society

yea well I wasn't born until 1961 and anything before then is in black
and white, grainly film, and probably has a cowboy gun in it.

historical fiction is my thing. spelling isn't. you mean Kleene?

On Wed, Oct 7, 2020 at 10:23 AM Warner Losh <imp@bsdimp.com> wrote:
>
>
>
> On Tue, Oct 6, 2020, 6:19 PM Jon Steinhart <jon@fourwinds.com> wrote:
>>
>> George Michaelson writes:
>> > Regular expressions as a field of study goes back a long way.  SNOBOL
>> > was 62-67 and Bell labs.
>> >
>> > globbing was the application of specific syntax markers to concepts,
>> > which were well understood from all kinds of applied CS fields.
>> > parsing, lexical analysis, linguistics, grammer, you can probably draw
>> > a wobbly line from ? and * all the way back to chimpsky grammer
>> > glasses s/gl/cl/g
>>
>> Actually, this goes back to Kleen in 1956, followed by Thompson in 1968.
>
>
> Kleen closures are a thing I learned about in school :)
>
>
>> Jon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-06 23:21   ` Jon Steinhart
@ 2020-10-07  0:23     ` Warner Losh
  2020-10-07  0:32       ` George Michaelson
  0 siblings, 1 reply; 18+ messages in thread
From: Warner Losh @ 2020-10-07  0:23 UTC (permalink / raw)
  To: Jon Steinhart; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 656 bytes --]

On Tue, Oct 6, 2020, 6:19 PM Jon Steinhart <jon@fourwinds.com> wrote:

> George Michaelson writes:
> > Regular expressions as a field of study goes back a long way.  SNOBOL
> > was 62-67 and Bell labs.
> >
> > globbing was the application of specific syntax markers to concepts,
> > which were well understood from all kinds of applied CS fields.
> > parsing, lexical analysis, linguistics, grammer, you can probably draw
> > a wobbly line from ? and * all the way back to chimpsky grammer
> > glasses s/gl/cl/g
>
> Actually, this goes back to Kleen in 1956, followed by Thompson in 1968.
>

Kleen closures are a thing I learned about in school :)


Jon
>

[-- Attachment #2: Type: text/html, Size: 1256 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-06 23:11 ` George Michaelson
@ 2020-10-06 23:21   ` Jon Steinhart
  2020-10-07  0:23     ` Warner Losh
  2020-10-07  3:14   ` John Cowan
  1 sibling, 1 reply; 18+ messages in thread
From: Jon Steinhart @ 2020-10-06 23:21 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

George Michaelson writes:
> Regular expressions as a field of study goes back a long way.  SNOBOL
> was 62-67 and Bell labs.
>
> globbing was the application of specific syntax markers to concepts,
> which were well understood from all kinds of applied CS fields.
> parsing, lexical analysis, linguistics, grammer, you can probably draw
> a wobbly line from ? and * all the way back to chimpsky grammer
> glasses s/gl/cl/g

Actually, this goes back to Kleen in 1956, followed by Thompson in 1968.

Jon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
  2020-10-06 15:44 Noel Chiappa
@ 2020-10-06 23:11 ` George Michaelson
  2020-10-06 23:21   ` Jon Steinhart
  2020-10-07  3:14   ` John Cowan
  0 siblings, 2 replies; 18+ messages in thread
From: George Michaelson @ 2020-10-06 23:11 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

Regular expressions as a field of study goes back a long way.  SNOBOL
was 62-67 and Bell labs.

globbing was the application of specific syntax markers to concepts,
which were well understood from all kinds of applied CS fields.
parsing, lexical analysis, linguistics, grammer, you can probably draw
a wobbly line from ? and * all the way back to chimpsky grammer
glasses s/gl/cl/g


On Wed, Oct 7, 2020 at 1:44 AM Noel Chiappa <jnc@mercury.lcs.mit.edu> wrote:
>
>     > From: John Cowan
>
>     > Unfortunately, glob never got its own man page
>
> Errr:
>
>   https://www.tuhs.org/cgi-bin/utree.pl?file=V6/usr/man/man8/glob.8
>
> Not the most comprehensive document, but that plus the source would be
> complete.
>
>         Noel
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] Origins of globbing
@ 2020-10-06 15:44 Noel Chiappa
  2020-10-06 23:11 ` George Michaelson
  0 siblings, 1 reply; 18+ messages in thread
From: Noel Chiappa @ 2020-10-06 15:44 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: John Cowan

    > Unfortunately, glob never got its own man page

Errr:

  https://www.tuhs.org/cgi-bin/utree.pl?file=V6/usr/man/man8/glob.8

Not the most comprehensive document, but that plus the source would be
complete.

	Noel


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-10-09 18:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-06  9:53 [TUHS] Origins of globbing Tyler Adams
2020-10-06 15:17 ` John Cowan
2020-10-07  2:25   ` Random832
2020-10-07  2:58     ` George Michaelson
2020-10-07  9:22       ` arnold
2020-10-07  9:45         ` Michael Kjörling
2020-10-08  3:45           ` John Cowan
2020-10-09 18:21             ` Random832
2020-10-08  0:18       ` Dave Horsfall
2020-10-08  0:33         ` Larry McVoy
2020-10-08  2:35         ` Dave Horsfall
2020-10-06 15:44 Noel Chiappa
2020-10-06 23:11 ` George Michaelson
2020-10-06 23:21   ` Jon Steinhart
2020-10-07  0:23     ` Warner Losh
2020-10-07  0:32       ` George Michaelson
2020-10-07  0:33         ` Jon Steinhart
2020-10-07  3:14   ` John Cowan

The Unix Heritage Society mailing list

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/tuhs

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 tuhs tuhs/ http://inbox.vuxu.org/tuhs \
		tuhs@minnie.tuhs.org
	public-inbox-index tuhs

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.tuhs


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git