GBRAND(1)
πΈ GBRAND β like, the manual page, but make it make sense π
ok bestie, sit down, hydrate, because we're about to talk about gbrand, a real one from the User Commands section. This is gbrand(1) and she is serving random numbers. π²β¨
β¨ NAME β¨
gbrand β sampling from random distributions. that's it. that's the whole vibe. π¦
π SYNOPSIS π
gbrand [options] NAME PARAMETERS...
π DESCRIPTION π
So what does she do, you ask? She generates a grid of i.i.d. samples from a distribution. Iconic behavior, honestly. π₯
The name of the distribution and its parameters? You just say them right there on the command line. No config file, no ceremony, no "have you tried reading the docs" energy. Just vibes and parameters. π
Also, the page says this, and I'm quoting it exactly because I refuse to gatekeep information:
the column index. Indeces start from 1.
(not me wondering which column π but okay bestie, it's in there, it's canon, we move on. Also yes, it's spelled "Indeces" in the original and I am not fixing it, that's not my job, my job is vibes.)
And if you pass more than one function? they get printed one after the other. No drama, no merge, just a little parade of numbers. π
Now, the type of random number generator and the default seed can be set with the environment variables GSL_RNG_TYPE and GSL_RNG_SEED, respectively β as documented in the GSL manual. π (iykyk)
β¨ OPTIONS β¨
short flags, big energy:
-rβ specify number of rows (default1) π-cβ specify number of columns (default1) π-Rβ set the seed (default1) π²-vβ verbose mode (she talks more, we love that) π£οΈ-hβ this help. the classic. the goat. π
π List of valid distributions (with parameters): π
ok this is the main character section, the whole reason we're here, and I am listing every single one because skipping options is not the move. no cap. π
betaβa,b= shape parametersbinomialβp= probability,N= number of trialsbivariate-gaussianβsigmax= x std.dev.,sigmay= y std.dev.,rho= correlationcauchyβa= scale parameterchisqβnu= degrees of freedomdir-2dβ nonedir-3dβ nonedir-ndβn1= number of dimensions of hypersphereerlangβa= scale parameter,b= orderexponentialβmu= mean valueexppowβa= scale parameter,b= power (1=exponential,2=gaussian)aexppowβm= mode,al= left scale,ar= right scale,bl= left shape,br= right shapefdistβnu1,nu2= degrees of freedom parametersflatβa= lower limit,b= upper limitgammaβa= order,b= scalegaussian-tailβa= lower limit,sigma= standard deviationgaussianβsigma= standard deviationgeometricβp= bernoulli trial probability of successgumbel1βa= order,b= scale parametergumbel2βa= order,b= scale parameterhypergeometricβn1= # tagged,n2= # untagged,t= number of trialslaplaceβa= scale parameterlandauβ nonelevyβc= scale,a= power (1=cauchy,2=gaussian)levy-skewβc= scale,a= power (1=cauchy,2=gaussian),b= skewlogarithmicβp= probabilitylogisticβa= scale parameterlognormalβzeta= location parameter,sigma= scale parameternegative-binomialβp= probability,a= orderparetoβa= power,b= scale parameterpascalβp= probability,n= order (integer)poissonβmu= scale parameterrayleigh-tailβa= lower limit,sigma= scale parameterrayleighβsigma= scale parametertdistβnu= degrees of freedomugaussian-tailβa= lower limitugaussianβ noneweibullβa= scale parameter,b= exponentpareto3βa= power,b= exponential parameter,s= scale parameter
forty-ish distributions and every single one got her moment. ate. π
π₯ EXAMPLES π₯
bestie, examples are where it clicks. watch:
gbrand -c 2 -r 100 gaussian 2.5
generate two columns of 100 rows each sampling from a Gaussian distribution with mean 0 and standard deviation 2.5. so 2 columns, 100 rows, gaussian, sigma of 2.5. slay. β¨
gbrand -R 145 -r 1000 exponential 1
one hundredth exponantial variates with parameters 1, the the seed of the RNG is set to 145. π² (and yes, "exponantial" and "the the" are literally what the page says, I'm not touching them, they're part of the lore now π)
gbrand -r 10 flat 3 4
ten realizations of the r.v. uniformly distributed in [3,4]. cute, tidy, flat. π
π«Ά AUTHOR π«Ά
Written by Giulio Bottazzi. thank you king. π
π REPORTING BUGS π
Found a bug? Don't suffer in silence, bestie, that's not the vibe.
Report bugs to <gbutils@googlegroups.com> π¬
Package home page: <http://cafim.sssup.it/~giulio/software/gbutils/index.html> π
β COPYRIGHT β
Copyright Β© 2001-2018 Giulio Bottazzi
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (version 2) as published by the Free Software Foundation. π
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. β οΈ
(no warranty bestie, she's free and she's honest about it π )
π¦ SEE ALSO π¦
hmm, the original doesn't list any SEE ALSO references. so there's nothing to cross-reference here, and I'm not about to invent one β that would be lying and lying is not the vibe. π
ok that's the whole page, you made it, I'm so proud of you. π go forth and sample some distributions, you absolute icon. π§
this was gbrand 6.2, and the page is dated June 2021 π
π¦ where this page comes from
- debian bookworm: gbutils 6.3-1 Β· GPL-2.0-or-later
- debian trixie: gbutils 6.3-1+b1 Β· GPL-2.0-or-later
- ubuntu noble: gbutils 6.3-1 Β· GPL-2.0-or-later
- ubuntu questing: gbutils 6.3-1build1
- ubuntu resolute: gbutils 6.3-1build2 Β· GPL-2.0-or-later
- ubuntu stonking: gbutils 6.3-1build2 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms