linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Is it time for remove (crap) ALSA from kernel tree ?
@ 2007-06-28 12:42 Anton Petrusevich
  2007-06-28 15:02 ` Rene Herman
  2007-06-29 12:29 ` Gabriel C
  0 siblings, 2 replies; 108+ messages in thread
From: Anton Petrusevich @ 2007-06-28 12:42 UTC (permalink / raw)
  To: linux-kernel


>>I don't like random applications blocking my sound card. 
>So don't use random applications.
 
I have ICE1724, a very good sound card to my taste, works like a charm. But 
with ALSA I had a really hard time to configure it properly, wanna see 
my .asoundrc? And I am not sure I have done it right (== the best possible 
way). I have read everything on http://www.alsa-project.org/documentation.php 
about .asoundrc. When I am using Skype I have to rename .asoundrc to 
something else in order to get it working. When I am doing some changes 
to .asoundrc I have to restart the app. Is there a tool which can be used to 
configure .asoundrc? I want to be able to hear sound from flashplayer on my 
reciever or in my headphones -- how? It's not quite clear to me how to get 
full duplex working with my .asoundrc.
-- 
Anton Petrusevich

^ permalink raw reply	[flat|nested] 108+ messages in thread
* Re: Is it time for remove (crap) ALSA from kernel tree ?
@ 2007-07-07  2:41 William Pitcock
  2007-07-07 13:23 ` Carlo Wood
  0 siblings, 1 reply; 108+ messages in thread
From: William Pitcock @ 2007-07-07  2:41 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel

On Wed, 4 Jul 2007 19:32:29 +0200, Adrian Bunk wrote:
> On Wed, Jul 04, 2007 at 02:35:39AM -0400, Darren wrote:
>>
>> I know this may sound kind of stupid, but how about not deprecating either,
>> and fully supporting both sound systems? Maybe we can get them to work
>> together, and the distro or user can choose whether they would like to use
>> alsa or oss for that particular card (or have the distro choose the sound
>> drivers that are best supported for that particular card). As it is now,
>> most apps already support oss and alsa.
>
> It does not sound stupid and sounds good at first sight.
>
> But there are problems we've already seen with similar situations in
> different parts of the kernel:
> They would have different hardware support, features and bugs.
>
> And then a user user whose sound card is only supported by sound system A
> needs a feature only available in sound system B.
>
> And the quality decreases since people will often not report bugs in
> sound system A if sound system B works for them.
>
> OTOH, for a user it shouldn't matter whether there's OSS or ALSA, that's
> mostly a difference for application developers. And since (as you say)
> most applications already support both, there's no compelling reason for
> providing more than one of them.
> 
> cu
> Adrian
>

If the developers of ALSA made a nuclear reactor, it would have five 
different control panels for controlling the rods in the reactor core, and 
each would do something different and not what the documentation said.

Actually, I lied about that. It wouldn't have any usable documentation. 
But, there would be a hidden feature that you could sound the overload 
alarm by pulling out the stapler in the control office. Useful feature, 
that.

As an audio developer on Linux, I must say that developing with ALSA is 
absolute fucking hell. If there was a way where both APIs could natively 
be supported, more people would be happy with the current state of affairs 
in the kernel.

The most fucked up thing that I can think of about the current state of 
affairs in ALSA is dmix. Every other UNIX sound system like ALSA does it's 
software mixing in kernel space. The applications never even know about 
it. It's not only until recently (2005-2006 or so) that ALSA came close to 
this, but there are still problems. Many cards need workarounds to make 
dmix work because of the way it works, and the way that ALSA buffers data 
around.

For the non-technically inclined, ALSA only keeps two fragments for 
input/output data each. This is horribly unusable because most soundcard 
fragments are only 1KB, so applications have to adopt ringbuffers to pass 
data to ALSA. If you're doing video, this leads to possible timing issues 
unless you sit down and well design your abstraction layer for audio I/O.

So people switch to things like JACK and PulseAudio because it's the only 
way they can get workable Audio I/O on ALSA.

What's even worse for the ALSA API is that it's designed around lowlatency 
programming, but only a few drivers properly support it. Why do you need 
lowlatency access to play a beep or a ding or whatever? The simple answer 
is you don't.

ALSA could and can be done correctly, but OSS4 is already here and 
provides an API which solves all of ALSA's current problems. So why waste 
time with that, when OSS4 is already here and more friendly to the 
developers of the software most Linux users use?

If OSS4 and ALSA apis could run on the same base driver, then a lot more 
people will be happier, as there will be choice available in which API to 
use, e.g. OSS4 or the libasound self-abuse method.

Hannu has ideas on how that could work. I suggest all of the kernel 
developers listen, and listen well, or this mess will never be fixed in a 
way that is truly usable.

   -nenolod

^ permalink raw reply	[flat|nested] 108+ messages in thread
[parent not found: <fa.C+RaPJT9DzfOowG03yiRkB6ItF8@ifi.uio.no>]
* Re: Is it time for remove (crap) ALSA from kernel tree ?
@ 2007-06-27 16:25 Andreas Hartmetz
  2007-06-27 17:29 ` Rene Herman
  0 siblings, 1 reply; 108+ messages in thread
From: Andreas Hartmetz @ 2007-06-27 16:25 UTC (permalink / raw)
  To: linux-kernel

 > > The track record of ALSA for me goes like this:
>  > - dmix finally started working automatically (at least on my Kubuntu
>  >  system)  about one year ago, about five years after everybody could see
>  >  that this was  badly needed.
>
>  I don't remember when it happened, but I do remember that I suddenly
>  had to manually disable dmix to stop it messing around with my sound.
>  I don't need it, and I certainly don't like libraries doing random IPC
>  behind my back.
>
I don't like random applications blocking my sound card.
Joe user wants to play sound, and he couldn't care less about "random IPC" or 
what-fucking-ever.
Dmix using the low quality sampling rate converter by default was another bad 
decision.
You are concerned about your precious audio quality? Me too. Most people, 
however, are using god-awful plastic speakers for twenty euros and shitty 
onboard sound chips. Sad but true.

>  > - Different desktop environments have different sound daemons to
>  > paper over the weaknesses of ALSA (no dmix by default / unfriendly
>  > API), which creates new problems. Yes there are other reasons for
>  > sound daemons, but I doubt anybody would have come up with the idea
>  > if it wasn't for ALSA.
>
>  Those sound daemons were around long before ALSA was even conceived.
>

ALSA appeared in 1999, KDE 2 with aRtsd (another catastrophic failure of 
technology) was released in october 2000.
Linux 2.6.0 seems to have appeared in 2003, so you are right for realistic 
values of "being around".

>  That sounds like a minor glitch that should be easily remedied if you
>  file a proper bug report. Have you tried?
>
No, I kinda gave up on ALSA after reading its API (rather "functions 
that happen to be exported") documentation and kinda hoped it would go away 
ASAP.

[long rant on ALSA's developer "friendliness"]
If you want to see an example try this one:
http://www.alsa-project.org/alsa-doc/alsa-lib/hcontrol.html
or this one
http://www.alsa-project.org/alsa-doc/alsa-lib/group___h_control.html#g881a1bbb1e95b7bcadc5c2a88124c3d1
and now program against it! Having fun already?

Observe how "HCTL"s seem to be used everywhere, and the documentation is
"typedef struct _snd_hctl_elem snd_hctl_elem_t : HCTL element handle". Wow.

the struct looks like this:

struct _snd_hctl_elem {
        snd_ctl_elem_id_t id;           /* must be always on top */
        struct list_head list;          /* links for list of all helems */
        int compare_weight;             /* compare weight (reversed) */
        /* event callback */
        snd_hctl_elem_callback_t callback;
        void *callback_private;
        /* links */
        snd_hctl_t *hctl;               /* associated handle */
};
Notice how compare_weight should probably be called comparison_weight or 
priority, or relative_priority, or rel_priority or (...). The comment is 
worse than no comment. The author couldn't be bothered to use a dictionary? I 
think he wanted to tell us whether higher priorities have higher or lower 
numbers, but I still don't know which.
callback_private should be callback_opaque. The construct has always been 
called opaque pointer. If it was private it wasn't in this struct.
What about "must be always on top"??? Is it trying to tell us that you should 
not randomize the struct layout?
Bonus points for using abbrvns ("helems") in cmts, thy r mch mr nformtv tht 
wy.
There are two other structs of the same quality in the same header file
alsa-lib/control/control_local.h.
(control_local? As opposed to... remote? With a different interface or what? 
It doesn't make any sense.)

This mess probably couldn't have survived a real review by the kernel 
community.

For comparison, a comment taken from KDE's Phonon, copyright Matthias Kretz:
/**
 * This signal is emitted whenever the volume has changed. As the
 * volume can change without a call to setVolume (calls over dbus)
 * this is important
 * to keep a widget showing the current volume up to date.
 */
 void volumeChanged(qreal newVolume);

Spot the difference?

Kernel or user space, again:
Put everything in kernel OR userspace but not both. Either is OK, but the 
arguably more "modern" approach is userspace for error resilience and easy 
hacking (i.e. more features faster). Latency is an issue? - Well you can't 
play sound without userspace creating it so you're not adding any new 
problems.
Kernel only would have the advantage of being able to present "everything as a 
file" which is a good tradition. And no IPC.
ALSA took the disadvantages of both approaches and added the disadvantage of 
having to get two chunks of code to get it working. It takes a twisted mind 
to have two obvious right options and pick the third, obscure, and wrong 
option. So sampling rate conversion is hard ("too dangerous for the kernel"), 
boo hoo. It sure isn't more difficult to get right than a filesystem. Deal 
with it.

History of ALSA:
I examined the lkml archive 1999 to 2002 a bit. There was much talk about 
using all the DSP, bass boost, and other sundry hardware capabilities of 
cards just appearing at the time. The focus was on adding support for 
everything which
a) didn't happen (DSPs almost never get used to their full potential, I think)
b) somehow became uninteresting over the years. I don't want to "enhance" my 
sound with cheap DSP effects, I'll take a good stereo, thank you very much.
c) is only relevant for games because you don't want to use any effect off 
your card in professional audio applications
d) is plain stupid if you don't know what exactly you are going to need 
beforehand.

Sorry for the long rant - I've regularly gotten worked up about ALSA in the 
last few years whenever I got in touch with it. Mostly as a user and once as 
a potential client developer, but I was disgusted and turned away.

>  > - On my IBM/Lenovo R50e notebook with Intel chipset sound didn't
>  > work before I "muted" the "headphone jack sense" control in
>  > alsamixer. That took two hours or so. When both the master volume
>  > and the PCM volume control are set to 100% I get really bad clipping
>  > problems.
>
>  Shoddy hardware. Don't blame the drivers for that.
>
Random quote from the internet: "It all sounds perfectly reasonable until you 
have to explain to your granny why her PC sounded like shit over the last 
couple of months."
This can be fixed in the driver. It's called a quirk.

>  Yes, API and configuration file syntax aside, the ALSA developers are
>  always friendly and responsive.
>
Yes. It just seems like nobody feels in charge to revisit the big picture 
issues where things really went wrong.
The last signals from Jaroslav Kysela I found on the net look like he is 
convinced of having created a great architecture, especially for professional 
audio applications(*). He is employed by Novell like Takashi, apparently, 
which won't make Takashi feel too adventurous, right? My guess is that 
Jaroslav is (officially or not) assigned to everything but drivers, and he is 
just not doing anything ALSA at all.
Meanwhile, ALSA continues to be crap and annoy people.

(*) ALSA is not lacking in raw capability, to be sure.

>  > (*) I am not representing KDE in an official way at all, but I can
>  > say that KDE developers generally put *much* effort into making APIs
>  > as logical and friendly as they possibly can.
>
>  I've still not, after all these years, managed to figure out what KDE
>  (or Gnome) is supposed to be good for. I'm not missing anything from
>  my window manager, xterm and xemacs setup.

Maybe you could try a recent KDE or show me the command-line equivalents of 
Amarok or KPDF or Gwenview :)

^ permalink raw reply	[flat|nested] 108+ messages in thread
* Re: Is it time for remove (crap) ALSA from kernel tree ?
@ 2007-06-26 20:39 Andreas Hartmetz
  2007-06-26 21:10 ` Måns Rullgård
                   ` (2 more replies)
  0 siblings, 3 replies; 108+ messages in thread
From: Andreas Hartmetz @ 2007-06-26 20:39 UTC (permalink / raw)
  To: linux-kernel

> > 
> > We dropped OSS for ALSA for technical reasons. Those being that ALSA
> > - has a better audio API

> You mean the undocumented, 100% ioctl one?  With one ioctl to write
> interleaved sound, one for non-interleaved sound, in addition to
> setting interleaved or not in the configuration?  I should check one
> day which one wins.

> Or the "library"?  Don't get me started on this one.

> I take your word about the fact that the kernel side is better.

Okay, here's a rant.

As an interested kernel outsider and KDE developer(*), it looks to me like 
most kernel people are  too focused on the history and feature lists of the 
particular technologies here. 

The real matter with ALSA is that you get a strong "ALSA hates me" feeling 
when dealing with it. There is bad documentation, bad API, and a config file 
syntax that is much harder to understand than necessary.

Then there is the kernel/library split that seems to have no convincing reason 
at all in its current form.
Why not put the whole sound system in userland? It has been done before. Sound 
is just not performance critical at all and it's almost never mission 
critical.
Plus you wouldn't have to cross the userland/kernel gap to implement new and 
exciting things that way. Audio is kinda simple on the IO level (I hope I'm 
right there :) ) and, ideally, on the userland API level. These places are 
exactly where well-defined interfaces should be. An appropriate IO interface 
and userland API should be set in stone, not something arbitrary in between. 
Hell, there could even be a source compatible sound driver standard for all 
Unix-like free OS kernels.

The track record of ALSA for me goes like this:

- dmix finally started working automatically (at least on my Kubuntu system) 
about one year ago, about five years after everybody could see that this was 
badly needed. I couldn't get it to work before. The howtos somehow didn't 
work and ALSA's documentation isn't all that helpful.

- Different desktop environments have different sound daemons to paper over 
the weaknesses of ALSA (no dmix by default / unfriendly API), which creates 
new problems. Yes there are other reasons for sound daemons, but I doubt 
anybody would have come up with the idea if it wasn't for ALSA.

- I have an Envy24HT based soundcard in my desktop PC, which also goes to show 
that I'm really interested in sound issues. I have to run alsamixer after 
every bootup to unmute the left channel because restoring volume only works 
for the right channel. The left channel starts working after changing its 
volume.

- On my IBM/Lenovo R50e notebook with Intel chipset sound didn't work before 
I "muted" the "headphone jack sense" control in alsamixer. That took two 
hours or so. When both the master volume and the PCM volume control are set 
to 100% I get really bad clipping problems.

- Some time ago ALSA reported that my soundcard supports sampling rates it 
doesn't in fact support. This was fixed by Takashi Iwai after a week and two 
mails or so. Thumbs up.

Regards,
Andreas

(*) I am not representing KDE in an official way at all, but I can say  that 
KDE developers generally put *much* effort into making APIs as logical and 
friendly as they possibly can.

^ permalink raw reply	[flat|nested] 108+ messages in thread
[parent not found: <fa.4npeXBdRGMm2JoKWe0qhjQdrJkk@ifi.uio.no>]
* Re: Is it time for remove (crap) ALSA from kernel tree ?
@ 2007-06-24 18:35 Ash Willis
  2007-06-24 19:01 ` Tomasz Kłoczko
  0 siblings, 1 reply; 108+ messages in thread
From: Ash Willis @ 2007-06-24 18:35 UTC (permalink / raw)
  To: linux-kernel

kloczek,
The fact that it is now open source does mean that it's a suitable replacement.

If you actually want a productive discussion, you'd be better off making an
attempt at describing exactly _why_ ALSA is 'crap' and how in your opinion OSS
overcomes ALSA's shortfalls.

IMHO, it would be far more realistic and managable to look at the OSS codebase
and use it to make improvements to ALSA. I'm looking into one or two issues
myself and I've mentioned looking at the OSS code for possible improvements on
the alsa-devel list. I think it's generally agreed that OSS can't do much at all
that ALSA doesn't already do. Sure, if you've been smoking crack, you might want
to rip out ALSA and replace it with OSS to gain some minor functionality but
you'd also lose functionality in the process.

Unless you can describe how the actual architecture of ALSA is inferior and not
just complain about some particular device not being fully supported, the best
idea is clearly to port any lacking functionality from OSS -> ALSA. In the case
that you can actually provide valid reasons for ALSA's inferiority, I shall
respectfully eat my hat :)

Either way, have bug reports been filed for areas of ALSA that you are unhappy
with?

Ash

-- 
Get a Free E-mail Account at Mail.com!
Choose From 100+ Personalized Domains
Visit http://www.mail.com today


^ permalink raw reply	[flat|nested] 108+ messages in thread
* Is it time for remove (crap) ALSA from kernel tree ?
@ 2007-06-24 17:51 Tomasz Kłoczko
  2007-06-24 19:08 ` Alan Cox
                   ` (4 more replies)
  0 siblings, 5 replies; 108+ messages in thread
From: Tomasz Kłoczko @ 2007-06-24 17:51 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 594 bytes --]


Few dayas ago OSS source code was oppened uder CDDL for Solaris and GLPv2 
for Linux:

http://www.opensound.com/press/2007/oss-gpl-cddl.txt

So this source without problems code can be integragrated in Linus tree 
and after this Linux can provide much better soud supoport than 
with current ALSA.

Any plans for doing this ?

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek@rudy.mif.pg.gda.pl*

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

end of thread, other threads:[~2007-07-07 22:28 UTC | newest]

Thread overview: 108+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-28 12:42 Is it time for remove (crap) ALSA from kernel tree ? Anton Petrusevich
2007-06-28 15:02 ` Rene Herman
2007-06-28 16:34   ` Anton Petrusevich
2007-06-28 16:38     ` Xavier Bestel
2007-06-28 18:56     ` Rene Herman
2007-06-28 19:33       ` Tomasz Kłoczko
2007-06-28 19:34         ` Rene Herman
2007-06-29 10:30     ` Florian Schmidt
2007-06-29 11:40       ` Anton Petrusevich
2007-06-29 12:38         ` Florian Schmidt
2007-06-29 12:29 ` Gabriel C
  -- strict thread matches above, loose matches on Subject: below --
2007-07-07  2:41 William Pitcock
2007-07-07 13:23 ` Carlo Wood
     [not found] <fa.C+RaPJT9DzfOowG03yiRkB6ItF8@ifi.uio.no>
     [not found] ` <fa.eZW1VxypFFwQqmC93xQaStxDK0Q@ifi.uio.no>
     [not found]   ` <fa.n+OzEywqHGabZtz5NxmlX4rEY0A@ifi.uio.no>
2007-06-29  1:16     ` Robert Hancock
2007-06-29 22:04       ` Rene Herman
2007-06-27 16:25 Andreas Hartmetz
2007-06-27 17:29 ` Rene Herman
2007-06-27 19:10   ` Andreas Hartmetz
2007-06-27 23:12     ` Rene Herman
2007-06-28  0:18       ` Patrick Draper
2007-06-28  1:58         ` Rene Herman
2007-06-28  2:28           ` Rene Herman
2007-06-28 11:15             ` Rene Herman
2007-06-28  3:04           ` Patrick Draper
2007-06-28  3:22             ` Lee Revell
2007-06-28  5:13             ` Arjan van de Ven
2007-06-28 11:50             ` Tomasz Kłoczko
2007-06-28 11:58               ` Gabriel C
2007-06-28 12:57               ` Rene Herman
2007-06-28 12:39             ` Rene Herman
2007-06-26 20:39 Andreas Hartmetz
2007-06-26 21:10 ` Måns Rullgård
2007-06-27  3:59 ` Rene Herman
2007-06-28  3:41 ` Lee Revell
2007-06-28 11:52   ` Tomasz Kłoczko
2007-06-28 13:02     ` Meelis Roos
     [not found] <fa.4npeXBdRGMm2JoKWe0qhjQdrJkk@ifi.uio.no>
     [not found] ` <fa.bAhr1dmoWCFU+8Kxo95nsy5DRRU@ifi.uio.no>
     [not found]   ` <fa.MQ77mllForge5OWcDydLlI0yp8s@ifi.uio.no>
2007-06-24 19:37     ` Robert Hancock
2007-06-24 18:35 Ash Willis
2007-06-24 19:01 ` Tomasz Kłoczko
2007-06-24 17:51 Tomasz Kłoczko
2007-06-24 19:08 ` Alan Cox
2007-06-24 19:24   ` Tomasz Kłoczko
2007-06-24 19:27     ` Jan Engelhardt
2007-06-24 21:43       ` Rene Herman
2007-06-25 10:06       ` Tomasz Kłoczko
2007-06-25 10:46         ` Jan Engelhardt
2007-06-25 20:32         ` Hannu Savolainen
2007-06-24 20:57     ` Alan Cox
2007-06-24 22:43       ` Olivier Galibert
2007-06-24 22:44       ` Carlo Wood
2007-06-24 22:48         ` Jesper Juhl
2007-06-24 23:13           ` Carlo Wood
2007-06-25  3:41         ` Nobin Mathew
2007-06-25  9:06           ` Alan Cox
2007-06-25 10:41             ` Takashi Iwai
2007-06-25  9:51       ` Tomasz Kłoczko
2007-06-25 10:58         ` Takashi Iwai
2007-06-25 11:36           ` Tomasz Kłoczko
2007-06-25 12:31             ` Takashi Iwai
2007-06-25 12:40               ` Jan Engelhardt
2007-06-25 12:47                 ` Olivier Galibert
2007-06-25 12:50                   ` Takashi Iwai
2007-06-25 12:44               ` Olivier Galibert
2007-06-25 12:58                 ` Takashi Iwai
2007-06-25 13:20                   ` Olivier Galibert
2007-06-25 13:21                 ` Adrian Bunk
2007-06-28 18:30                   ` Nix
2007-06-28 20:02                     ` Rene Herman
2007-06-28 20:20                       ` Lee Revell
2007-06-28 20:43                         ` Adrian Bunk
2007-06-28 20:22                       ` Jeff Garzik
2007-06-28 21:06                     ` Adrian Bunk
2007-06-28 21:37                       ` Rene Herman
2007-06-28 22:24                       ` Nix
2007-06-29 11:52                       ` Florian Schmidt
2007-06-29 14:56                         ` Miklos Szeredi
2007-06-29 15:49                           ` Alan Cox
2007-06-29 15:55                             ` Miklos Szeredi
2007-06-29 16:14                               ` Miklos Szeredi
2007-07-01 11:46                                 ` Florian Schmidt
2007-07-01 12:17                                   ` Miklos Szeredi
2007-06-29 18:39                   ` Pavel Machek
2007-06-25 17:00               ` Tomasz Kłoczko
2007-06-25 22:49                 ` Rene Herman
2007-06-25 13:01             ` Gabor Gombas
2007-06-25 13:41               ` Tomasz Kłoczko
2007-06-25 14:05                 ` Gabor Gombas
2007-06-25 13:21             ` Renato S. Yamane
2007-06-25 14:02               ` Tomasz Kłoczko
2007-06-25 13:46             ` Rene Herman
2007-06-25  6:24     ` Carlo Florendo
2007-06-25  6:22 ` Carlo Florendo
2007-06-25 10:53 ` Takashi Iwai
2007-06-25 11:50   ` Tomasz Kłoczko
2007-06-25 13:04     ` Bartlomiej Zolnierkiewicz
2007-06-25 21:18   ` Hannu Savolainen
2007-06-25 23:17     ` Adrian Bunk
2007-06-26 16:25       ` Wakko Warner
2007-06-26 16:52         ` Takashi Iwai
2007-06-27 11:11           ` Wakko Warner
2007-06-26  9:35     ` Takashi Iwai
2007-06-26 11:48     ` Jeff Garzik
2007-06-25 14:44 ` Lennart Sorensen
2007-06-25 15:48   ` Tomasz Kłoczko
2007-06-25 17:13     ` Lennart Sorensen
2007-07-04  6:35 ` Darren
2007-07-04 17:32   ` Adrian Bunk
2007-07-05 12:59     ` Tomasz Kłoczko

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 NNTP newsgroup(s).