GNU bug report logs - #35525
guix-manual proposals

Previous Next

Package: guix;

Reported by: znavko <at> disroot.org

Date: Wed, 1 May 2019 16:00:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 35525 in the body.
You can then email your comments to 35525 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#35525; Package guix. (Wed, 01 May 2019 16:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to znavko <at> disroot.org:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 01 May 2019 16:00:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: znavko <at> disroot.org
To: "bug-guix" <bug-guix <at> gnu.org>
Subject: guix-manual proposals
Date: Wed, 01 May 2019 15:58:52 +0000
[Message part 1 (text/plain, inline)]
Hello! Here it is 'many types of fs', but only one mentioned as example:

#. type: Plain text
#: doc/guix.texi:2268
msgid ""
"Alternatively, you may use a swap file. For example, assuming that in the "
"new system you want to use the file @file{/swapfile} as a swap file, you "
"would run <at> footnote{This example will work for many types of file systems (e."
"g., ext4). However, for copy-on-write file systems (e.g., btrfs), the "
"required steps may be different. For details, see the manual pages for "
"@command{mkswap} and @command{swapon}.}:"
Also, writing configuration step is not so easy when using manual installation. I think, there also should be a message with link to 'Graphical Installation', that you can use graphical installation that will generate configuration you need automatically.

#. type: Plain text
#: doc/guix.texi:2315
msgid ""
"@xref{Using the Configuration System}, for an overview of the configuration "
"file. The example configurations discussed in that section are available "
"under @file{/etc/configuration} in the installation image. Thus, to get "
"started with a system configuration providing a graphical display server (a "
"``desktop'' system), you can run something along these lines:"

And also if another language is ready to use (Spanish), need to say it on:

#. type: Plain text
#: doc/guix.texi:117
msgid ""
"This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de "
"référence de GNU Guix}) and German (@pxref{Top,,, guix.de, Referenzhandbuch "
"zu GNU Guix}). If you would like to translate it in your native language, "
"consider joining the @uref{https://translationproject.org/domain/guix-manual."
"html, Translation Project}."
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#35525; Package guix. (Wed, 01 May 2019 18:04:01 GMT) Full text and rfc822 format available.

Message #8 received at 35525 <at> debbugs.gnu.org (full text, mbox):

From: znavko <at> disroot.org
To: 35525 <at> debbugs.gnu.org
Subject: Re: bug#35525: guix-manual proposals
Date: Wed, 01 May 2019 18:03:10 +0000
[Message part 1 (text/plain, inline)]
Also here GuixSD rests instead of Guix System:

#. type: Plain text
#: doc/guix.texi:2650
msgid ""
"If you are not using the Guix System Distribution, consider adding the "
"following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, "
"bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all "
"the right environment variable definitions:"
And this text is English-specific, lacks its features in another language, words 'force a local build' and 'challenge providers' in Russian has no direct translations:

#. type: Plain text
#: doc/guix.texi:2589 doc/guix.texi:2582
msgid ""
"This foundation allows Guix to support @dfn{transparent binary/source "
"deployment}. When a pre-built binary for a @file{/gnu/store} item is "
"available from an external source---a @dfn{substitute}, Guix just downloads "
"it and unpacks it; otherwise, it builds the package from source, locally "
"(@pxref{Substitutes}). Because build results are usually bit-for-bit "
"reproducible, users do not have to trust servers that provide substitutes: "
"they can force a local build and @emph{challenge} providers (@pxref{Invoking "
"guix challenge})."
msgstr "Эта концепция позволяет Guix поддерживать @dfn{прозрачное внедрение бинарников/исходников}. Когда доступен элемент @file{/gnu/store}, собранный заранее на внешнем источнике, то есть готова @dfn{подстановка}, Guix просто скачивает и распаковывает его. В противном случае он собирает пакет из исходников на локальной машине (@pxref{Substitutes}). Так как результаты сборки обычно воспроизводимы бит-к-биту, пользователи не должны доверять серверам, которые поставляют подстановки --- они могут целенаправленно запросить локальную сборку и @emph{не пользоваться} серверами подстановки (@pxref{Invoking guix challenge})."

force a local build  - Russian equivalent can be only 'purposely ask local build'
challenge providers - in Russian we do not have such idea (as some others equivalents of words too), so I've translated exactly 'do not use substitute servers'

I think this text may be simplified and extended a bit.
May 1, 2019 4:00 PM, znavko <at> disroot.org (mailto:znavko <at> disroot.org) wrote:
Hello! Here it is 'many types of fs', but only one mentioned as example:

#. type: Plain text
#: doc/guix.texi:2268
msgid ""
"Alternatively, you may use a swap file. For example, assuming that in the "
"new system you want to use the file @file{/swapfile} as a swap file, you "
"would run <at> footnote{This example will work for many types of file systems (e."
"g., ext4). However, for copy-on-write file systems (e.g., btrfs), the "
"required steps may be different. For details, see the manual pages for "
"@command{mkswap} and @command{swapon}.}:"
Also, writing configuration step is not so easy when using manual installation. I think, there also should be a message with link to 'Graphical Installation', that you can use graphical installation that will generate configuration you need automatically.

#. type: Plain text
#: doc/guix.texi:2315
msgid ""
"@xref{Using the Configuration System}, for an overview of the configuration "
"file. The example configurations discussed in that section are available "
"under @file{/etc/configuration} in the installation image. Thus, to get "
"started with a system configuration providing a graphical display server (a "
"``desktop'' system), you can run something along these lines:"

And also if another language is ready to use (Spanish), need to say it on:

#. type: Plain text
#: doc/guix.texi:117
msgid ""
"This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de "
"référence de GNU Guix}) and German (@pxref{Top,,, guix.de, Referenzhandbuch "
"zu GNU Guix}). If you would like to translate it in your native language, "
"consider joining the @uref{https://translationproject.org/domain/guix-manual (https://translationproject.org/domain/guix-manual)."
"html, Translation Project}."
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#35525; Package guix. (Thu, 02 May 2019 08:39:02 GMT) Full text and rfc822 format available.

Message #11 received at 35525 <at> debbugs.gnu.org (full text, mbox):

From: znavko <at> disroot.org
To: 35525 <at> debbugs.gnu.org
Subject: Re: bug#35525: guix-manual proposals
Date: Thu, 02 May 2019 08:38:21 +0000
[Message part 1 (text/plain, inline)]
I think here the word 'installed' is wrong:

#. type: itemx
#: doc/guix.texi:3011 doc/guix.texi:3024
#, no-wrap
msgid "-A [@var{regexp}]"

#. type: table
#: doc/guix.texi:3015 doc/guix.texi:3028
msgid ""
"List packages currently available in the distribution for this system "
"(@pxref{GNU Distribution}). When @var{regexp} is specified, list only "
"installed packages whose name matches @var{regexp}."

In my own as I see, it does not list installed but all available packages.
May 1, 2019 6:04 PM, znavko <at> disroot.org (mailto:znavko <at> disroot.org) wrote:
Also here GuixSD rests instead of Guix System:

#. type: Plain text
#: doc/guix.texi:2650
msgid ""
"If you are not using the Guix System Distribution, consider adding the "
"following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, "
"bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all "
"the right environment variable definitions:"
And this text is English-specific, lacks its features in another language, words 'force a local build' and 'challenge providers' in Russian has no direct translations:

#. type: Plain text
#: doc/guix.texi:2589 doc/guix.texi:2582
msgid ""
"This foundation allows Guix to support @dfn{transparent binary/source "
"deployment}. When a pre-built binary for a @file{/gnu/store} item is "
"available from an external source---a @dfn{substitute}, Guix just downloads "
"it and unpacks it; otherwise, it builds the package from source, locally "
"(@pxref{Substitutes}). Because build results are usually bit-for-bit "
"reproducible, users do not have to trust servers that provide substitutes: "
"they can force a local build and @emph{challenge} providers (@pxref{Invoking "
"guix challenge})."
msgstr "Эта концепция позволяет Guix поддерживать @dfn{прозрачное внедрение бинарников/исходников}. Когда доступен элемент @file{/gnu/store}, собранный заранее на внешнем источнике, то есть готова @dfn{подстановка}, Guix просто скачивает и распаковывает его. В противном случае он собирает пакет из исходников на локальной машине (@pxref{Substitutes}). Так как результаты сборки обычно воспроизводимы бит-к-биту, пользователи не должны доверять серверам, которые поставляют подстановки --- они могут целенаправленно запросить локальную сборку и @emph{не пользоваться} серверами подстановки (@pxref{Invoking guix challenge})."

force a local build  - Russian equivalent can be only 'purposely ask local build'
challenge providers - in Russian we do not have such idea (as some others equivalents of words too), so I've translated exactly 'do not use substitute servers'

I think this text may be simplified and extended a bit.
May 1, 2019 4:00 PM, znavko <at> disroot.org (mailto:znavko <at> disroot.org) wrote:
Hello! Here it is 'many types of fs', but only one mentioned as example:

#. type: Plain text
#: doc/guix.texi:2268
msgid ""
"Alternatively, you may use a swap file. For example, assuming that in the "
"new system you want to use the file @file{/swapfile} as a swap file, you "
"would run <at> footnote{This example will work for many types of file systems (e."
"g., ext4). However, for copy-on-write file systems (e.g., btrfs), the "
"required steps may be different. For details, see the manual pages for "
"@command{mkswap} and @command{swapon}.}:"
Also, writing configuration step is not so easy when using manual installation. I think, there also should be a message with link to 'Graphical Installation', that you can use graphical installation that will generate configuration you need automatically.

#. type: Plain text
#: doc/guix.texi:2315
msgid ""
"@xref{Using the Configuration System}, for an overview of the configuration "
"file. The example configurations discussed in that section are available "
"under @file{/etc/configuration} in the installation image. Thus, to get "
"started with a system configuration providing a graphical display server (a "
"``desktop'' system), you can run something along these lines:"

And also if another language is ready to use (Spanish), need to say it on:

#. type: Plain text
#: doc/guix.texi:117
msgid ""
"This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de "
"référence de GNU Guix}) and German (@pxref{Top,,, guix.de, Referenzhandbuch "
"zu GNU Guix}). If you would like to translate it in your native language, "
"consider joining the @uref{https://translationproject.org/domain/guix-manual (https://translationproject.org/domain/guix-manual)."
"html, Translation Project}."
[Message part 2 (text/html, inline)]

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Thu, 02 May 2019 15:23:02 GMT) Full text and rfc822 format available.

Notification sent to znavko <at> disroot.org:
bug acknowledged by developer. (Thu, 02 May 2019 15:23:02 GMT) Full text and rfc822 format available.

Message #16 received at 35525-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: znavko <at> disroot.org
Cc: 35525-done <at> debbugs.gnu.org
Subject: Re: bug#35525: guix-manual proposals
Date: Thu, 02 May 2019 17:22:40 +0200
Hi znavko,

We do not handle translations here.  Please contact directly the
relevant team at the Translation Project:

  https://translationproject.org/domain/guix-manual.html

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#35525; Package guix. (Thu, 02 May 2019 15:38:02 GMT) Full text and rfc822 format available.

Message #19 received at 35525-done <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 35525-done <at> debbugs.gnu.org, znavko <at> disroot.org
Subject: Re: bug#35525: guix-manual proposals
Date: Thu, 2 May 2019 17:37:14 +0200
[Message part 1 (text/plain, inline)]
Hi Ludo,

as far as I can see, it's also wrong in the original in the manual.

doc/guix.texi:

@item --list-available[=@var{regexp}]
@itemx -A [@var{regexp}]
List packages currently available in the distribution for this system
(@pxref{GNU Distribution}).  When @var{regexp} is specified, list only
installed packages whose name matches @var{regexp}.
^^^^^^^^^ ??
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#35525; Package guix. (Thu, 02 May 2019 21:44:02 GMT) Full text and rfc822 format available.

Message #22 received at 35525-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 35525-done <at> debbugs.gnu.org, znavko <at> disroot.org
Subject: Re: bug#35525: guix-manual proposals
Date: Thu, 02 May 2019 23:43:09 +0200
Danny Milosavljevic <dannym <at> scratchpost.org> skribis:

> as far as I can see, it's also wrong in the original in the manual.
>
> doc/guix.texi:
>
> @item --list-available[=@var{regexp}]
> @itemx -A [@var{regexp}]
> List packages currently available in the distribution for this system
> (@pxref{GNU Distribution}).  When @var{regexp} is specified, list only
> installed packages whose name matches @var{regexp}.
> ^^^^^^^^^ ??

Oops indeed!  I guess you can push a fix.  :-)

Ludo'.




Information forwarded to bug-guix <at> gnu.org:
bug#35525; Package guix. (Fri, 03 May 2019 04:52:02 GMT) Full text and rfc822 format available.

Message #25 received at 35525-done <at> debbugs.gnu.org (full text, mbox):

From: znavko <at> disroot.org
To: "Ludovic Courtès" <ludo <at> gnu.org>, "Danny
 Milosavljevic" <dannym <at> scratchpost.org>
Cc: 35525-done <at> debbugs.gnu.org
Subject: Re: bug#35525: guix-manual proposals
Date: Fri, 03 May 2019 04:51:37 +0000
[Message part 1 (text/plain, inline)]
These are my current suggestions:
Here GuixSD rests instead of Guix System:

#. type: Plain text
#: doc/guix.texi:2650
msgid ""
"If you are not using the Guix System Distribution, consider adding the "
"following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, "
"bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all "
"the right environment variable definitions:"
#. type: Plain text
#: doc/guix.texi:3140
msgid ""
"Substitutes from the official build farm are enabled by default when using "
"the Guix System Distribution (@pxref{GNU Distribution}). However, they are "
"disabled by default when using Guix on a foreign distribution, unless you "
"have explicitly enabled them via one of the recommended installation steps "
"(@pxref{Installation}). The following paragraphs describe how to enable or "
"disable substitutes for the official build farm; the same procedure can also "
"be used to enable substitutes for any other substitute server."
The word 'installed' is wrong:

#. type: itemx
#: doc/guix.texi:3011 doc/guix.texi:3024
#, no-wrap
msgid "-A [@var{regexp}]"

#. type: table
#: doc/guix.texi:3015 doc/guix.texi:3028
msgid ""
"List packages currently available in the distribution for this system "
"(@pxref{GNU Distribution}). When @var{regexp} is specified, list only "
"installed packages whose name matches @var{regexp}."

In my own as I see, it does not list installed but all available packages.
Here it is 'many types of fs', but only one mentioned as example:

#. type: Plain text
#: doc/guix.texi:2268
msgid ""
"Alternatively, you may use a swap file. For example, assuming that in the "
"new system you want to use the file @file{/swapfile} as a swap file, you "
"would run <at> footnote{This example will work for many types of file systems (e."
"g., ext4). However, for copy-on-write file systems (e.g., btrfs), the "
"required steps may be different. For details, see the manual pages for "
"@command{mkswap} and @command{swapon}.}:"
And also if another language is ready to use (Spanish), need to say it on:

#. type: Plain text
#: doc/guix.texi:117
msgid ""
"This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de "
"référence de GNU Guix}) and German (@pxref{Top,,, guix.de, Referenzhandbuch "
"zu GNU Guix}). If you would like to translate it in your native language, "
"consider joining the @uref{https://translationproject.org/domain/guix-manual."
"html, Translation Project}."
May 2, 2019 9:43 PM, "Ludovic Courtès" <ludo <at> gnu.org (mailto:ludo <at> gnu.org)> wrote:
 Danny Milosavljevic <dannym <at> scratchpost.org (mailto:dannym <at> scratchpost.org)> skribis:
 as far as I can see, it's also wrong in the original in the manual.

doc/guix.texi:

@item --list-available[=@var{regexp}]
@itemx -A [@var{regexp}]
List packages currently available in the distribution for this system
(@pxref{GNU Distribution}). When @var{regexp} is specified, list only
installed packages whose name matches @var{regexp}.
^^^^^^^^^ ?? 

Oops indeed! I guess you can push a fix. :-)

Ludo'.
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#35525; Package guix. (Thu, 09 May 2019 19:13:03 GMT) Full text and rfc822 format available.

Message #28 received at 35525-done <at> debbugs.gnu.org (full text, mbox):

From: znavko <at> disroot.org
To: "Ludovic Courtès" <ludo <at> gnu.org>, "Danny
 Milosavljevic" <dannym <at> scratchpost.org>
Cc: 35525-done <at> debbugs.gnu.org
Subject: Re: bug#35525: guix-manual proposals
Date: Thu, 09 May 2019 19:12:31 +0000
[Message part 1 (text/plain, inline)]
Hello! Thank you for your corrections. I've discovered new mistakes in the Guix Manual:

;;09-05-2019
;; what is API@ ? is @ symbol necessary there?

#. type: Plain text
#: doc/guix.texi:3987
msgid "When combined with channels (@pxref{Channels}), inferiors provide a simple way to interact with a separate revision of Guix. For example, let's assume you want to install in your profile the current @code{guile} package, along with the @code{guile-json} as it existed in an older revision of Guix---perhaps because the newer @code{guile-json} has an incompatible API and you want to run your code against the old API@. To do that, you could write a manifest for use by @code{guix package --manifest} (@pxref{Invoking guix package}); in that manifest, you would create an inferior for that old Guix revision you care about, and you would look up the @code{guile-json} package in the inferior:"
;;09-05-2019
;; why '(as always!)@:'? is @ symbol necessary there?

#. type: Plain text
#: doc/guix.texi:3850
msgid "Note that the snippet above is (as always!)@: Scheme code; we use @code{cons} to add a channel the list of channels that the variable @code{%default-channels} is bound to (@pxref{Pairs, @code{cons} and lists,, guile, GNU Guile Reference Manual}). With this file in place, @command{guix pull} builds not only Guix but also the package modules from your own repository. The result in @file{~/.config/guix/current} is the union of Guix with your own package modules:"
;;09-05-2019
;; 'to' is missed here: 'to add a channel .. the list'
#. type: Plain text
#: doc/guix.texi:3850
msgid "Note that the snippet above is (as always!)@: Scheme code; we use @code{cons} to add a channel the list of channels that the variable @code{%default-channels} is bound to (@pxref{Pairs, @code{cons} and lists,, guile, GNU Guile Reference Manual}). With this file in place, @command{guix pull} builds not only Guix but also the package modules from your own repository. The result in @file{~/.config/guix/current} is the union of Guix with your own package modules:"
The word 'installed' is wrong:

#. type: itemx
#: doc/guix.texi:3011 doc/guix.texi:3024
#, no-wrap
msgid "-A [@var{regexp}]"

#. type: table
#: doc/guix.texi:3015 doc/guix.texi:3028
msgid ""
"List packages currently available in the distribution for this system "
"(@pxref{GNU Distribution}). When @var{regexp} is specified, list only "
"installed packages whose name matches @var{regexp}."

In my own as I see, it does not list installed but all available packages.
Please, inform me if these mistakes are not mistakes or when they will be corrected for I to be patient.
May 3, 2019 4:52 AM, znavko <at> disroot.org (mailto:znavko <at> disroot.org) wrote:
These are my current suggestions:
Here GuixSD rests instead of Guix System:

#. type: Plain text
#: doc/guix.texi:2650
msgid ""
"If you are not using the Guix System Distribution, consider adding the "
"following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, "
"bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all "
"the right environment variable definitions:"
#. type: Plain text
#: doc/guix.texi:3140
msgid ""
"Substitutes from the official build farm are enabled by default when using "
"the Guix System Distribution (@pxref{GNU Distribution}). However, they are "
"disabled by default when using Guix on a foreign distribution, unless you "
"have explicitly enabled them via one of the recommended installation steps "
"(@pxref{Installation}). The following paragraphs describe how to enable or "
"disable substitutes for the official build farm; the same procedure can also "
"be used to enable substitutes for any other substitute server."
The word 'installed' is wrong:

#. type: itemx
#: doc/guix.texi:3011 doc/guix.texi:3024
#, no-wrap
msgid "-A [@var{regexp}]"

#. type: table
#: doc/guix.texi:3015 doc/guix.texi:3028
msgid ""
"List packages currently available in the distribution for this system "
"(@pxref{GNU Distribution}). When @var{regexp} is specified, list only "
"installed packages whose name matches @var{regexp}."

In my own as I see, it does not list installed but all available packages.
Here it is 'many types of fs', but only one mentioned as example:

#. type: Plain text
#: doc/guix.texi:2268
msgid ""
"Alternatively, you may use a swap file. For example, assuming that in the "
"new system you want to use the file @file{/swapfile} as a swap file, you "
"would run <at> footnote{This example will work for many types of file systems (e."
"g., ext4). However, for copy-on-write file systems (e.g., btrfs), the "
"required steps may be different. For details, see the manual pages for "
"@command{mkswap} and @command{swapon}.}:"
And also if another language is ready to use (Spanish), need to say it on:

#. type: Plain text
#: doc/guix.texi:117
msgid ""
"This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de "
"référence de GNU Guix}) and German (@pxref{Top,,, guix.de, Referenzhandbuch "
"zu GNU Guix}). If you would like to translate it in your native language, "
"consider joining the @uref{https://translationproject.org/domain/guix-manual (https://translationproject.org/domain/guix-manual)."
"html, Translation Project}."
May 2, 2019 9:43 PM, "Ludovic Courtès" <ludo <at> gnu.org (mailto:ludo <at> gnu.org)> wrote:

 Danny Milosavljevic <dannym <at> scratchpost.org (mailto:dannym <at> scratchpost.org)> skribis:as far as I can see, it's also wrong in the original in the manual.

doc/guix.texi:

@item --list-available[=@var{regexp}]
@itemx -A [@var{regexp}]
List packages currently available in the distribution for this system
(@pxref{GNU Distribution}). When @var{regexp} is specified, list only
installed packages whose name matches @var{regexp}.
^^^^^^^^^ ?? 

Oops indeed! I guess you can push a fix. :-)

Ludo'.
[Message part 2 (text/html, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 07 Jun 2019 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 11 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.