From: Clinton Bunch <cdb_zsh@zentaur.org>
To: zsh-workers@zsh.org
Subject: Re: preliminary patch for zsh/random module
Date: Mon, 24 Oct 2022 08:20:15 -0500 [thread overview]
Message-ID: <08cb4c65-acd4-ba91-d82d-b8f3943aed8b@zentaur.org> (raw)
In-Reply-To: <CAH+w=7Y5Dn00M6Q=nfFcPQ13xq8p9kPNv9fyofKdz68yuQUNjQ@mail.gmail.com>
On 10/23/2022 11:47 PM, Bart Schaefer wrote:
> On Sun, Oct 23, 2022 at 7:57 PM Clinton Bunch <cdb_zsh@zentaur.org> wrote:
>> On 10/23/2022 9:01 PM, Bart Schaefer wrote:
>>> * Typo in the introductory comment.
>> I'm pretty sure I've since found and changed all the instances of
>> Zoltan's name.
> I was referring to the spelling of "randome".
>
>>> Actual question: What's the use case for returning or printing a
>>> block of random bytes? Why does this need to be a builtin?
>> Mostly because I see constructs like read -k6 -u3 3</dev/urandom
> ... because?
I did it to seed rand48. Roman did it to generate a 32-bit random
integer. Both of which are obsoleted by other parts of this module.
I'm sure there are other reasons someone might want to read more or less
than 4 bytes of random data. One that comes to mind is generating a
password in a platform-independent way without assuming perl or python.
>
>> it would be nice to initialize an array with random numbers without
>> having to use a loop to access SRANDOM n times.
> But you're not filling an array with random numbers, you're filling a
> string (scalar) with random bytes.
Actually, it does both.
>
>>> Suggestion: Treat SRANDOM like SECONDS, in that you can change the
>>> type from integer to floating-point. Then maybe the zrandom() math
>>> function isn't needed?
>> That would seem confusing to me, and too easy to forget which state you
>> left it in.
> You make it local so you're not leaving it.
>
> () {
> print $SECONDS;
> () {
> local -F SECONDS
> print $SECONDS
> }
> print $SECONDS
> }
> 56
> 0.0000050000
> 56
Still seems like something you do because you can rather than because
it's intuitive to the user. Also, your example assumes you'd only want
to do this in a function (or wrap it in an anonymous function just for
this purpose)
>
>> zrandom was meant to be a replacement for rand48
> OK.
>
next prev parent reply other threads:[~2022-10-24 13:21 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-23 3:43 Clinton Bunch
2022-10-24 2:01 ` Bart Schaefer
2022-10-24 2:56 ` Clinton Bunch
2022-10-24 4:47 ` Bart Schaefer
2022-10-24 13:20 ` Clinton Bunch [this message]
2022-10-24 21:15 ` Clinton Bunch
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=08cb4c65-acd4-ba91-d82d-b8f3943aed8b@zentaur.org \
--to=cdb_zsh@zentaur.org \
--cc=zsh-workers@zsh.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 public inbox
https://git.vuxu.org/mirror/zsh/
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).