[Debtags-devel] Debconf5 Debtags paper

Thaddeus H. Black t@b-tk.org
Tue, 31 May 2005 18:27:00 +0000


--XvKFcGCOAo53UbWW
Content-Type: multipart/mixed; boundary="3siQDZowHQqNOShm"
Content-Disposition: inline


--3siQDZowHQqNOShm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Enrico:

One thing about reviewing papers: generally, the better
a paper is, the easier it is for the reviewer (me) to
make lots and lots of little remarks.  A reviewer cannot
do much with a basically poor paper, after all.  Your
paper is good, so even in the limited time available I
have been able to make a fair number of remarks.

The patch attached offers several different kinds of
remarks.  Some parts of the patch are actual
corrections, but a few are additions and several
(especially in the abstract) are merely alternatives.
Use the parts you like.  Parts you do not like, please
disregard.

The one area in which the paper invites improvement is in its focus on
the problem Debtags is trying to solve.  Begin by bringing the *problem*
into sharp focus.  Then the audience will be in a mood to hear the
solution.

The strongest point of your paper is in its rhetorical
flow.  Cicero would approve, I think.  The next
strongest point is in how it gives Debian Developers
specific, concrete, limited, manageable things they can
actually do to help the Debtags effort right now.  The
paper's overall tone is just right, I think, and the
timing of the paper's humor is impeccable.

I regret that I will not be in Helsinki to hear your
talk in person.  Hopefully the talk will catalyze the
widespread interest we have seen toward Debtags into
widespread action.  I suspect that it might succeed in
this.  Good luck.

--=20
Thaddeus H. Black
508 Nellie's Cave Road
Blacksburg, Virginia 24060, USA
+1 540 961 0920, t@b-tk.org

--3siQDZowHQqNOShm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="paper-debtags.rst-0.9.1.1.diff"
Content-Transfer-Encoding: quoted-printable

--- paper-debtags.rst-0.9.1	Mon May 30 19:55:38 2005
+++ paper-debtags.rst-0.9.1.1	Tue May 31 17:54:59 2005
@@ -1,54 +1,54 @@
-=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
- A cute introduction to Debtags
-=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+ An informal technical introduction to Debtags
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 :Author: Enrico Zini
 :Contact: enrico@debian.org
-:Revision: $Revision: 0.9.1 $
-:Date: $Date: 2005/05/27 17:07:07 $
+:Revision: $Revision: 0.9.1.1 $
+:Date: $Date: 2005/05/31 17:00:00 $
 :Copyright: GNU GPL v2 or later.
 :Abstract:
-  Debtags is a package categorization system that is being developed to
-  supersede the current package sections, which are no longer sufficient t=
o be
-  a good aid when searching due to the the large and always increasing siz=
e and
-  complexity of the Debian archive.
-
-  The core idea of Debtags is to use Faceted Categorization for our packag=
es.
-  Faceted Categorization is a 70-years-old library science technique which=
 is
-  being rediscovered by Information Architecture with very good results.
-
-  The Debtags effort is developing a powerful and flexible system to attach
-  "tags" to packages, creating a new set of useful structured metadata tha=
t can
-  be used to implement more advanced ways of presenting, searching, mainta=
ining
-  and navigating the package archive.
+  A muscular horde of software packages has overrun the Debian archive.
+  The archive's existing section system, designed to categorize a small
+  fraction of the huge number of packages Debian enjoys today, is no
+  match for such an invasion.  To civilize the invading horde, Debtags
+  is introduced, bringing to the Debian Project a new paradigm for
+  package categorization.
+
+  Adapting a technique long proven in library science, Debtags
+  categorizes Debian packages by Facets.  It attaches "tags" to
+  packages, creating a new set of useful structured metadata that can be
+  used to implement more advanced ways of presenting, searching,
+  maintaining and navigating the package archive.
=20
-  Example uses of Debtags are searching packages, browsing the archive,
-  filtering out unwanted groups of packages.
+  Uses of Debtags include searching for software, browsing the archive,
+  and filtering out unwanted groups of packages.
=20
   The Debtags effort needs to face three major problems:
  =20
-  1. Creating a suitable vocabulary of categories
-  2. Categorizing the vast amount of packages
-  3. Have applications make use of `Debtags`_ informations
+  1. Creating a suitable vocabulary of categories.
+  2. Categorizing the vast array of packages.
+  3. Having applications make use of `Debtags`_ data.
  =20
   All three issues are being actively addressed with good results:
  =20
-  - there is already a vast set of tags built over time, even if it is in
+  - Debtags has already acquired a large set of tags, even if the set is in
     continuous need of refining;
   - a large part of our package archive has been at least partially catego=
rised,
     and there is a tool called `debtags-edit`_ that every developer and us=
er can
     use to categorise the packages they know best;
   - a new library called `libapt-front`_ is being developed as a smart fro=
nt-end
     to ``libapt`` which can also access other data sources, such as `Debta=
gs`_,
-    popularity contest (popcon) results and more.
+    popularity contest (popcon) results, debram metadata and more.
  =20
-  This paper will give a broad overview of the Debtags_ project, its theor=
ical
-  foundations and the tools available now, as well as many practical tutor=
ials
-  on how to do all sort of nice tricks with it.
+  This paper gives a broad technical overview of the Debtags_ project,
+  its theoretical foundations, and the tools available for it now.  The
+  paper also offers some practical tutorials on how to do all sort of
+  nice Debtags tricks.
  =20
 ..
-  This is the outline of the presentation:
-  - What is Debtags and how it helps to find packages.
-  - The current state of the project.
+  The presentation is outlined as follows.
+  - What Debtags is and how it helps to find packages.
+  - The current state of the Debtags project.
   - How to tag your packages.
   - How to support Debtags in your application.
   - Sample faceted-classification search interfaces.
@@ -74,11 +74,11 @@
 Lots and lots of packages
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
-As of May 24, 2005, my Debian unstable system counts 16769 different packa=
ges,
-and I feel very powerful.
+As of May 24, 2005, my Debian unstable system counts 16769 different
+binary packages, and I feel very powerful.
=20
 I can access at least three complete office suites, various painting progr=
ams
-(of which at least one designed for kids and one for world-famous digital
+(of which at least one is designed for kids and one for world-famous digit=
al
 effect movie studios), software for massively parallel quantum chemistry, =
GIS
 geographical tools, dental office management software, and, my favourite, a
 tool to have a cute cow read my presentations::
@@ -116,11 +116,11 @@
 * apt-cache search text editor: 170 results.
 * apt-cache search image editor: 22 results, but Gimp is NOT among them.
=20
-Now, I profundly believe that having choice is really good: what we need i=
s not
+Now, I profoundly believe that having choice is really good: what we need =
is not
 to reduce the size of the archive, but to create some way to make it easie=
r for
 people to find what they need.
=20
-What does it means "make it easier"?  Here is a nice measure: "in front of=
 a
+What does it mean, "make it easier"?  Here is a nice measure: "in front of=
 a
 list with more than about 7 plus or minus 2 items, our brain goes banana"
 [ZEN]_ [MILLER]_.
=20
@@ -128,15 +128,22 @@
 Archive sections
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
-The way we are currently organizing packages is by grouping them in sectio=
ns:
-Debian main has about 16197 packages divided in 33 different sections.
-However, that means an average of 490 packages per section, which is too m=
uch.
+The way we are currently organizing packages is by grouping them in
+sections: Debian main has about 16197 binary packages divided in 33
+different sections.  However, this means an average of 490 packages per
+section, which is too many.  In fact the problem is even worse than
+this, because some sections are more lightly subscribed than others.
+After all, the more packages a section has, the more likely that the one
+package you want is found therein.  By this metric, the Debtags team
+calculates that the typical Debian package is found in a section of 785
+binaries.  Such a number approaches the size *the entire archive* was
+when section system was first introduced.
=20
 Increasing the number of sections would not help too much: to have an aver=
age
 of 20 packages per section we would need 800 different sections: but then,=
 how
-does one choose among 400 sections?
+does one choose among 800 sections?
=20
-Besides numbers, current software is getting more and more complex: for
+Besides the numbers, current software is getting more and more complex: for
 example, which section should a full-featured web browser such as Mozilla =
be
 put in? ``net``? ``web``? ``mail``?
=20
@@ -149,27 +156,28 @@
=20
=20
 -----------------------------
-Debtags theorical foundations
+Debtags theoretical foundations
 -----------------------------
=20
-The original idea of `Debtags`_' was just to allow more than one section p=
er
-package.  That would have allowed to categorize Mozilla under ``net``, ``w=
eb``
-and ``mail`` and be able to find it whatever the user has in mind.
+The original idea of `Debtags`_' was just to allow more than one section
+per package.  That would have allowed us to categorize Mozilla under
+``net``, ``web`` and ``mail`` simultaneously, allowing the user to find
+it under whichever classification he had in mind.
=20
 That is how we started, and that is how we got stuck.  What do we mean with
 ``net``?  Some possibilities are:
=20
-* The package has a program that can use informations not stored in the lo=
cal
+* The package has a program that can use information not stored in the loc=
al
   computer;
 * The package has code which invokes the socket() system call;
-* The package analises firewall logs;
+* The package analyses firewall logs;
 * The package is useful to configure and maintain a network;
 * All of the above.
=20
 All of these are probably valid interpretations.  And then, why shouldn't =
all
 of Gnome belonging to ``net``, since the 'N' in GNOME means 'Network'?
=20
-Classifying packages is a bigger problem that is seems at first side.  Luc=
kily
+Classifying packages is a bigger problem than it seems at first sight.  Lu=
ckily
 I suspected that someone has been thinking about it already, and I did some
 research__.
=20
@@ -188,7 +196,7 @@
=20
 .. figure:: ranganathan.png
=20
-Once upon a time in India, a matematician and librarian called Shiyali
+Once upon a time in India, a mathematician and librarian called Shiyali
 Ramamrita `Ranganathan`_ started a secret project to innovate software
 categorization for Debian.  It was about 1931, and he did not want to use =
the
 words "Debian" and "software" just yet, so he disguised all of his work un=
der
@@ -240,7 +248,7 @@
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
 Ranganathan_ has been working all his life to solve the problem of classif=
ying
-books in big libraries.  To do so, he desninged a system that he called
+books in big libraries.  To do so, he designed a system that he called
 *Faceted Classification* or *Colon Classification*:
=20
   A faceted classification [is a way of classification that] uses clearly
@@ -262,13 +270,13 @@
      what the object is primarily *about*.  This is considered the "main
      facet."
   Matter
-     the *material* of the object
+     the *material* of the object.
   Energy
-     the *processes* or *activities* that take place in relation to the ob=
ject
+     the *processes* or *activities* that take place in relation to the ob=
ject.
   Space
-     *where* the object happens or exists
+     *where* the object happens or exists.
   Time
-     *when* the object occurrs.
+     *when* the object occurs.
=20
 If at first sight this seems unrelated to software, remember that
 `Ranganathan`_ was talking about books, and we need to do some mapping.  F=
or
@@ -289,33 +297,33 @@
   Personality
     What the package is primarily *about*.  Answers the question *what is =
it?*
   Matter
-    The "material" that constitues the package.  Answers the question *wha=
t is
+    The "material" that constitutes the package.  Answers the question *wh=
at is
     it made of?*
   Energy
     The processes or activities that take place in relation to the object.
-    Answers the question: *what do I do with it?*
+    Answers the question *what do I do with it?*
   Space
-    Where the object happens or exists.  Answers the question: *where do I=
 use
+    Where the object happens or exists.  Answers the question *where do I =
use
     this?*
   Time
-    When the object occurrs.  I still haven't found a suitable mapping for
+    When the object occurs.  I still haven't found a suitable mapping for
     this: it might just be that Debian packages exist a bit outside of tim=
e,
     and that would explain how come Sarge took so much to release.
=20
 __ http://lists.alioth.debian.org/pipermail/debtags-devel/2005-April/00034=
7.html
=20
-In `Debtags theorical foundations`_ I gave an example of many different wa=
ys to
+In `Debtags theoretical foundations`_ I gave an example of many different =
ways to
 interpret the section ``net``.  We can try to look at some of them again u=
sing
 the PMEST:
=20
-* "The package has a program that can use informations not stored in the l=
ocal
-  computer".  Is storing such informations the main purpose of the program?
+* "The package has a program that can use information not stored in the lo=
cal
+  computer".  Is storing such information the main purpose of the program?
   Then the program's *personality* would need to be categorised as related=
 to
   the network.  Else, the program's *energy* would be categorised as
   network-related instead.
 * The package has code which invokes the socket() system call.  This is ab=
out
   the *matter* of the package: the technology it uses, the functions it in=
vokes.
-* The package analises firewall logs.  This would means that the
+* The package analyses firewall logs.  This would mean that the
   *personality*, or the *energy* of the program is related to the network,=
 but
   *not its matter*: if we look at how the package is made, we mainly see a=
 text
   parser.
@@ -333,7 +341,7 @@
   CDs, which integrates nicely with his or her Gnome desktop;
 * Developer B wants to write a software to manage a collection of audio CD=
s,
   and is looking for code and examples in existing applications and librar=
ies;
-* System administrator C works for a public radio and wants to setup a mail
+* System administrator C works for a radio broadcaster and wants to set up=
 a mail
   interface that allows people to search the radio collection of audio CDs=
; he
   or she is looking for the right existing tools to get it done.
=20
@@ -342,20 +350,20 @@
 * User A is interested in integration with Gnome, not implementation detai=
ls.
 * Developer B mainly cares about implementation details, to find good exam=
ples
   to build from.
-* System administrator C is only interested in commandline applications, no
-  matter how they are implemented, or alternatively perl libraries.
+* System administrator C is only interested in commandline applications (no
+  matter how they are implemented) or alternatively perl libraries.
=20
-User A will probably start searching for among Gnome software.  User B will
+User A will probably start searching through Gnome software.  User B will
 probably start searching among software implemented in C.  User C will pro=
bably
 start searching for commandline tools.  And they will probably all look for
 software to manage an audio CD collection.
=20
 These three people are looking at the package archive from different angle=
s.
=20
-Luckily, Faceted Classification does just that: categorize the items from
+Luckily, Faceted Classification does just that: it categorizes the items f=
rom
 different aspects.  If we do things right, there will be something like a
-'Desktop' facet, an 'Implemented-In' facet, a 'Kind-of-interface' facet an=
d a
-'Purpose' facet, all of these facets categorised with their sets of tags, =
and
+'Desktop' facet, an 'Implemented-in' facet, a 'Kind-of-interface' facet an=
d a
+'Purpose' facet, each of these facets categorised with their sets of tags;=
 and
 everyone will be able to find what they are looking for.
=20
=20
@@ -363,13 +371,13 @@
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
 The key concepts of Debtags are *Facets*, *Tags*, the *Vocabulary* and the=
 *Tag
-Database*.  Let's see them one by one.
+Database*.  Let's consider them one by one.
=20
=20
 Facets
 ------
=20
-Facets are the aspects of our packages that we choose to gategorise.  Exam=
ple
+Facets are the aspects of our packages that we choose to categorise.  Exam=
ple
 of facets in Debtags_ are ``implemented-in``, ``culture``, ``interface``,
 ``media``.
=20
@@ -377,7 +385,7 @@
 set of categories that we use to describe what we see when we look at that
 aspect of a package.
=20
-Faceted categorization is like saying "If I look at what is the use of this
+Faceted categorization is like saying, "If I look at what is the use of th=
is
 package, I see *editing*".  "If I look at what is its user interface, I see
 *a text-mode user interface*".
=20
@@ -390,42 +398,39 @@
 Tags
 ----
=20
-Tags are categories.  For brevity, and for lack of a better name at the
-beginning of the project, categories are referred as *tags*.
-
-We say that Debtags_ has different sets of *tags* for different facets of
-software instead of saying that that Debtags_ has different sets of catego=
ries
-for different facets of software.
-
-The meaning is the same, but it's shorter, and we talk about tags a lot :)
-
-In Debtags, we represent tags with a short english name, prefixed by the n=
ame
-of the facets.  For example, when we look at what media types a package can
-work with and we categorise "The Gimp", we use the tag ``media::rasterimag=
e``.
+The *tag* is a Debtags category.  Debtags_ has different sets of tags
+for different facets of software.  ``Tag`` means ``category``, but
+Debtags defines the shorter word ``tag`` precisely as a Debtags
+technical term.  In Debtags, we talk about tags a lot.
+
+In Debtags, we represent tags with a short English name, prefixed by the n=
ame
+of the governing facet.  For example, when we look at what media types a
+package can work with and we categorise "The Gimp", we use the tag
+``media::rasterimage``.
=20
=20
 The Vocabulary
 --------------
=20
-The Vocabulary is the place where we store the list of facets and tags tha=
t we
+The Vocabulary is where we store the list of facets and tags that we
 use for Debian packages.
=20
 Having a common vocabulary is important so that we all refer to the same
-property with the same name.  It is also useful to present selections of f=
acets
-and tags in a user interface, to store meta-information about them, such a=
s a
-short and long description, possibly in many languages, and to validate
-classification informations.
-
-The `Debtags`_ vocabulary is the file that describes what are the facets a=
nd
-tags that can be used to categorize Debian packages.
-
-The file contains whatever needs to be stored about facets and tags. At the
+property with the same name.  Other benefits of the common vocabulary
+include the abilities to present selections of facets
+and tags in a user interface, to store meta-information about them (such a=
s a
+short and long description, possibly in many languages), and to validate
+classification information.
+
+The `Debtags`_ vocabulary is the file that delineates the facets and
+lists the respective tags that can be used to categorize Debian packages.
+The vocabulary file contains whatever needs to be stored about facets and =
tags. At the
 moment this means:
=20
-* a list of facets and their tags
-* description of facets and tags
-* editorial informations
-* comments
+* a list of facets and their tags;
+* description of facets and tags;
+* editorial information;
+* comments.
=20
 This information is stored in a format similar to the usual Debian package
 records.  For example::
@@ -461,19 +466,19 @@
 The tag database
 ----------------
=20
-A tag is assigned to a package by entering this information in the Tag Dat=
abase.
+A tag is assigned to a package by entering the appropriate information in =
the Tag Database.
=20
 Designing this database is one of the most tricky and important implementa=
tion
 details of Debtags, as it is the way to share the tags and make them usefu=
l.
=20
 An obvious place for storing the tags is in the control file of the packag=
es,
-together with the other package metadata.  This possibility has however be=
en
-discarded, for a couple of good reasons:
+together with the other package metadata.  This possibility has been
+discarded, however, for a couple of good reasons:
=20
 * The aggregated package database is already big enough, and there are no =
clear
   short term ways of addressing this problem
 * "Debian is a living organism": tags can change fairly often,
-  because the classification is refined, a new is introduced or a whole new
+  because the classification is refined, a new tag is introduced or a whol=
e new
   facet of packages is classified, and we cannot afford a new package uplo=
ad or
   ftpmaster intervention every time such a change happens.
=20
@@ -486,7 +491,7 @@
 causing an added burden to the Debian infrastructure.  It also allows to h=
ave
 different *tag sources* merged together.  Check this out because it's cool!
=20
-Let's make an example with a fictious Debian-Circus `CDD`_ (`Custom Debian
+Let's make an example with a fictitious Debian-Circus `CDD`_ (`Custom Debi=
an
 Distribution`__) that chooses to categorise packages also from the aspect
 ("facet") of their possible use in a circus.  To do so, they want to have =
in
 Debtags a ``circus`` facet, categorised with tags such as ``travel-info``,
@@ -498,7 +503,7 @@
 is able to download data from various tag sources (listed in
 ``/etc/apt/sources.list``) and merge them together.
=20
-Different tags sources can be merged easily when facets are different, and=
 they
+Different tag sources can be merged easily when facets differ, and they
 complete each other's view of packages by shedding light on more aspects of
 them.
=20
@@ -518,21 +523,23 @@
 is merged with other tag sources and stored locally in
 ``/var/lib/debtags/package-tags``.
=20
-The database is stored locally in an easily parseable format that can also=
 be
+The database is stored locally in an easily parsable format that can also =
be
 understood by tools such as ``tagcoll`` and ``tagcolledit``.  It is also
-indexed by ``debtags update`` to allow applications to quickly lookup entr=
ies
-in it.
+indexed by ``debtags update`` to allow applications to look entries up
+quickly in it.
=20
-It is also possible for users to make local modifications, which are store=
d as
-*tag patches* in ``~/.debtags/patch``.  A tag patch is a special patch for=
mat
+The individual user can also modify the Debtags database locally.  Such lo=
cal
+modifications are stored as
+*tag patches* in the file ``~/.debtags/patch`` in the user's home
+directory.  A tag patch is a special patch format
 that can represent a change to a tag database, and can also be applied to
-future versions of the database, so that your changes are preserved accross
+future versions of the database, so that your changes are preserved across
 ``debtags update`` invocations.
=20
-Another useful feature of the tag patches, is that you can send them to the
-central database and they will be integrated in it.  You can do it by using
-`debtags-edit`_ (it has a "*File/Mail changes to central database*" featur=
e) or
-by using the command ``debtags send``.
+Another useful feature of the tag patches is that the user can send them to
+the central database, which will integrate the patches centrally.  You
+can do this by using `debtags-edit`_ (it has a "*File/Mail changes to
+central database*" feature) or by using the command ``debtags send``.
=20
=20
 -------------
@@ -540,7 +547,7 @@
 -------------
=20
 Debtags is not only categorization data, but also a suite of tools that al=
low
-to work with it:
+to work with the data:
=20
 `debtags`_
     Commandline interface to libdebtags functions and `Debtags`_ administr=
ation
@@ -575,7 +582,7 @@
 These are some example uses of ``debtags``:
=20
 ``debtags update``
-  Updates the local `Debtags`_ informations.
+  Updates the local `Debtags`_ information.
=20
 ``debtags stats``
   Prints some statistics about `Debtags`_.
@@ -590,12 +597,12 @@
   interface::text-mode)``.
  =20
   An interesting one is this: ``!culture::* || culture::italian``: it show=
s all
-  packages that are either not locale-specific or that are spefific to my
+  packages that are either not locale-specific or that are specific to my
   locale.  This can be used in package managers to filter out packages for
   locales not used by the system.
=20
 ``debtags tagshow use::editing``
-  Shows the vocabulary informations about the tag ``use::editing``.
+  Shows the vocabulary information about the tag ``use::editing``.
=20
 ``debtags tagsearch edit``
   Shows all the tags whose information (such as the name or the descriptio=
n)
@@ -634,10 +641,10 @@
 Searching packages
 ------------------
=20
-On the left-hand side of the application window there is a *Filter* area, =
that
+On the left-hand side of the application window there is a *Filter* area w=
hich
 allows you to look for packages: you play with the controls, and a list of
 matching packages appears in the bottom left part of the screen.  A notable
-part of the filter area is the *Tags* area, which allows to add tags to the
+part of the filter area is the *Tags* area, which lets you add tags to the
 filter.
=20
 Try pushing the *Add* button of the tags area and add something like
@@ -749,6 +756,19 @@
 __ http://www.mozilla.org/support/firefox/keyboard
=20
=20
+debram
+=3D=3D=3D=3D=3D=3D
+
+In the words of its developer Thaddeus H. Black, Debram was ``a
+primitive attempt to treat the same Debian package problem Debram more
+properly solves.``  Today, Thaddeus has enthusiastically joined Debtags
+development and is now in the process of merging the large body of
+Debram data into Debtags.  Unable to attend Debconf5, Thaddeus has asked
+me to recommend to Debram users that they migrate directly to Debtags at
+their convenience.  Post-sarge, Debian Maintainers need not tag their
+packages in Debram at all; standard Debtags tagging suffices.
+
+
 ---------------------
 Where to go from here
 ---------------------
@@ -760,10 +780,10 @@
 Using debtags-edit
 ------------------
=20
-These are some examples on how to use `debtags-edit`_ to do some more seri=
ous
-work on categorization.  Most of them are ways of finding out packages that
-need some work: you can then click on packages from the search results and=
 work
-on them
+These are some examples on how to use `debtags-edit`_ to do some more
+serious categorization work.  Most of them are ways of searching for
+and identifying packages that need some work.  From such Debtags search
+results, you can click on packages and work on tagging them.
=20
 1. Fire up `debtags-edit`_ and set the filter to display all installed
    packages with the tag ``special::not-yet-tagged``.  Now look at the res=
ults,
@@ -776,8 +796,9 @@
        lists all packages with no tags at all.  Those are usually not repo=
rted,
        because the central repository should automatically add
        ``special::not-yet-tagged`` tags to them; however this is sometimes=
 not
-       the case, especially for local packages or packages that have been
-       recently added in the archive, so this option is available to spot =
them.
+       the case, especially for local packages or packages that have recen=
tly
+       been added in the archive, so this option is available to spot such
+       packages.
      Uitoolkit and not interface
        lists all packages which have ``uitoolkit`` tags but not ``interfac=
e``
        tags.  This might be a normal situation, especially for software
@@ -815,10 +836,9 @@
    are facets with numbers that are definitely smaller than the others.  T=
hose
    facets are very likely to have something in common with the current fac=
et in
    the "Has" column, since a lot of packages have tags from both facets.
-
-   This happens, at the time of writing, when selecting the "Game" facet o=
n the
-   left side: the corresponding "Use" facet has a number which is one orde=
r of
-   magnitude less than the others.  That is because of the existance of
+   For instance, it happens at the time of writing that, when selecting th=
e "Game" facet on the
+   left side, you find corresponding "Use" facet to report a count an orde=
r of
+   magnitude less than the others.  This is because of the existence of
    ``use::gaming``, which is normally found in most, if not all, ``game::*=
``
    packages.
=20
@@ -882,7 +902,7 @@
 with scripted or automated tagging ideas:
=20
 ``debtags tagsearch`` and ``debtags tagshow``:
-  They allow you to search the tag vocabulary and show informations about a
+  They allow you to search the tag vocabulary and show information about a
   tag.
=20
 ``debtags tag ls``, ``debtags tag add`` and ``debtags tag rm``:
@@ -930,9 +950,9 @@
 You can do many other tricks with ``tagcolledit``: merge or intersect tag =
sets,
 add a tag to a group of items or even to all of them (right click on the t=
ag in
 the filter: you will see the "*Add to all*" and "*Remove from all*" functi=
ons).
-However, it is easy to get carried over and make mistakes, such as add the
+(However, it is easy to get carried away and make mistakes, such as adding=
 the
 ``use::gaming`` tag to all the ``games::toys``, to find out later that pac=
kages such as=20
-`fortune`__ of `cowsay`__ cannot really be used to play games.
+`fortune`__ or `cowsay`__ cannot really be used to play games.)
=20
 __ http://www.redellipse.net/code/fortune
 __ http://www.nog.net/~tony/warez/cowsay.shtml
@@ -974,7 +994,7 @@
 `autodebtag`_ has also some experimental code to try and bring categorizat=
ion
 data from the `debram`_ database into the `Debtags`_ world.
=20
-Benjamin Mesing is also experimenting with setting up a smart bayesian eng=
ine
+Benjamin Mesing is also experimenting with setting up a smart Bayesian eng=
ine
 to infer new tags based on what tags are there now.  This is has very prom=
ising
 and exciting possibilities: there is a prototype available in the `autodeb=
tag`_
 subversion repository, and it needs more people to play with it.
@@ -1002,7 +1022,7 @@
 __ http://caml.inria.fr/ocaml/
 __ http://caml.inria.fr/ocaml/
=20
-To adopt a tag, just send an e-mail to the `debtags-devel`_ list, introduct
+To adopt a tag, just send an e-mail to the `debtags-devel`_ list, introduce
 yourself and tell what you want to adopt.  If it's already taken, you can =
team
 up with the others and share the brainwork.
=20
@@ -1017,7 +1037,7 @@
 interests:
=20
 1. Wait until I learn about everything in Debian, reach enlightenment and =
open
-   a Debian monastry in the Alps, or
+   a Debian monastery in the Alps, or
 2. Create a group of people with knowledge on different fields to work on =
the
    vocabulary together.
=20
@@ -1087,11 +1107,13 @@
=20
 The documentation still has missing parts.  If you have questions, no matt=
er
 how silly they could seem, please ask them freely in `debtags-devel`_ list=
: I
-promised to myself that I will turn every answer that I give into more
+have promised to myself that I will turn every answer I give into more
 documentation of ``libdebtags1-dev``.
=20
-If you instead like Perl or Python, you can install either ``libdebtags-pe=
rl``
-or  ``python-debtags``: they are `swig`_-generated bindings to ``libdebtag=
s1``.
+For example, if you like coding in Perl or Python rather the
+aforementioned C++, you can install either ``libdebtags-perl`` or
+``python-debtags``: they are `swig`_-generated bindings to
+``libdebtags1``.
=20
 Again, for whatever documentation or examples that are missing, ask in
 `debtags-devel`_, and every answer will also contribute to improve the
@@ -1105,7 +1127,7 @@
   # Instantiate the simple Debtags class
   dt =3D Debtags.DebtagsSimple(0)
=20
-  # Get some informations from the vocabulary
+  # Get some information from the vocabulary
   voc =3D dt.vocabulary()
   print "Facets:"
   for a in voc.getFacets().getIterable():
@@ -1197,7 +1219,7 @@
 Do you know of any existing and very good interfaces to navigate such a la=
rge
 archive using faceted categorization?  I don't.  I know of `very good exam=
ples
 on a much smaller scale`__, but we seem to have a much more large, complex=
 and
-eterogeneous dataset.
+heterogeneous dataset.
=20
 We need mockups and prototypes of interfaces offering an intuitive and
 efficient way of navigating through tags, keeping in mind those 7+/-2 and =
EVN
@@ -1251,7 +1273,7 @@
 -----------
=20
 This paper is the first single comprehensive source of information about t=
he
-Debtags project.  It has covered the theorical foundations, the tools exis=
ting
+Debtags project.  It has covered the theoretical foundations, the tools ex=
isting
 at the moment, how to take advantage of `Debtags`_ and various ways of get=
ting
 involved.
=20
@@ -1280,7 +1302,7 @@
 .. [ZEN] Enrico Zini, *"Zen and the art of Free Software: know your user, =
know
    yourself"*, 2004, http://people.debian.org/~enrico/talks/2004linuxtag/
 .. [MILLER] George A. Miller, *"The magical number seven, plus or minus tw=
o:
-   Some limits on our capacity for processing information"*, 1956, Psycolo=
gical
+   Some limits on our capacity for processing information"*, 1956, Psychol=
ogical
    Review n.63 pp. 81-91, http://www.well.com/user/smalin/miller.html
 .. [FURNAS] George W. Furnas, *"Effective View Navigation"*, 1997, Proceed=
ings of
    CHI'97 pp. 367--374, ACM Conference on Human Factors in Computing Syste=
ms,

--3siQDZowHQqNOShm--

--XvKFcGCOAo53UbWW
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAkKcrHQACgkQh3E0gzgBXn4xygCg4uy+VJm9GVHlX235HVCTUz0C
IkIAnjT95NH2UagM+eTwaeTvTxCQLML6
=LFra
-----END PGP SIGNATURE-----

--XvKFcGCOAo53UbWW--