all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Stromeko@nexgo.de, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: random doesn't feel very random
Date: Fri, 31 Aug 2012 11:06:45 -0400	[thread overview]
Message-ID: <jwvfw733y8y.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <83k3wfqtyx.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 31 Aug 2012 12:41:26 +0300")

>> > It is a feature that, if you don't call (random t), `random' returns
>> > a predictable sequence.  That is good for debugging.
>> I wonder how often this has been useful.
> ??? A pseudo-random sequence is always deterministic, that's what the
> "pseudo" part is about.  I'm sure you already know that.

Yes, obviously I know that.  So you've misunderstood what I said.
I'm saying that I highly doubt that the fact that `random' always
returns the exact same stream unless you explicitly call (random t)
has been often useful (and used) for debugging in practice.

>> many packages call (random t) at various times
> Those packages have a bug that needs to be fixed.

My point was that those bugs make the above "feature" more difficult to
use, making it that much more doubtful that it has ever been useful.

As for whether they're bugs or not: I tend to agree that they're bugs,
but since currently our PRNG is not automatically seeded, those packages
that need their `random' to vary (IOW basically every package that
uses random) have no other choice but to call (random t) explicitly at
various times.
So to fix those bugs, we have to:
- change Emacs's initialization so that it seeds its PRNG.
- eliminate most/all calls to (random t), which is best done by changing
  `random' to do nothing when called with argument t (after all,
  re-seeding wouldn't make it less predictable anyway).


        Stefan



  reply	other threads:[~2012-08-31 15:06 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-24  5:47 random doesn't feel very random Ivan Kanis
2012-08-24  6:22 ` Tassilo Horn
2012-08-24 17:19   ` random doesn't feel very random, random doesn't feel very random, " Ivan Kanis
2012-08-24 18:50     ` Stephen J. Turnbull
2012-08-25  7:46       ` Ivan Kanis
2012-08-24  6:30 ` Leo
2012-08-24 22:48   ` Richard Stallman
2012-08-24 22:57     ` Andreas Schwab
2012-08-25 20:55       ` Richard Stallman
2012-08-25 23:25         ` Leo
2012-08-26 13:12           ` Richard Stallman
2012-08-26 14:24             ` Achim Gratz
2012-08-26 23:22               ` Leo
2012-08-27  0:50               ` Stefan Monnier
2012-08-27  6:31                 ` Simon Leinen
2012-08-27  3:41               ` Richard Stallman
2012-08-27  4:48                 ` Stefan Monnier
2012-08-31  9:41                   ` Eli Zaretskii
2012-08-31 15:06                     ` Stefan Monnier [this message]
2012-08-31 15:23                       ` chad
2012-08-31 17:50                       ` Eli Zaretskii
2012-08-31 19:43                         ` Stefan Monnier
2012-09-01  1:18                           ` Paul Eggert
2012-09-01  7:19                             ` Achim Gratz
2012-09-01 13:19                               ` Paul Eggert
2012-09-04 19:19                                 ` Nix
2012-09-04 20:07                                   ` Paul Eggert
2012-09-04 20:11                                     ` Nix
2012-09-02 12:27                               ` Jason Rumney
2012-09-02 13:08                                 ` Stefan Monnier
2012-09-01  7:22                             ` Ivan Kanis
2012-09-01 11:13                             ` joakim
2012-08-31 23:04                       ` Leo
2012-08-27  5:17                 ` Achim Gratz
2012-08-31  9:42                   ` Eli Zaretskii
2012-08-31 15:07                     ` Stefan Monnier
2012-08-31 17:50                       ` Eli Zaretskii
2012-08-26  9:06         ` Ivan Kanis
2012-08-24  7:03 ` Stephen J. Turnbull
2012-08-24  9:10   ` Paul Eggert
2012-08-24 17:45     ` Stephen J. Turnbull
2012-08-24 12:45 ` OT: appropriateness of "random" for playlist generation (was: random doesn't feel very random) Jeremiah Dodds
2012-08-24 14:37 ` random doesn't feel very random Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvfw733y8y.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=Stromeko@nexgo.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.