havenwood has quit [Remote host closed the connection]
jonahR has quit [Client Quit]
Mon_Ouie has quit [Ping timeout: 264 seconds]
Banistergalaxy has quit [Quit: Bye]
toertore has quit [Quit: Leaving]
Banistergalaxy has joined #ruby-lang
<duckinator>
is there by a way to either undefine $< entirely, or make it not read-only? i can't find one
<postmodern>
duckinator, you could try ARGF.freeze ?
hakunin has quit [Remote host closed the connection]
hakunin has joined #ruby-lang
srbaker has joined #ruby-lang
hakunin has quit [Read error: Connection reset by peer]
hakunin has joined #ruby-lang
segy has joined #ruby-lang
Rarrikins has joined #ruby-lang
Rarrikins_s has quit [Ping timeout: 245 seconds]
brianpWins has joined #ruby-lang
marr has quit [Ping timeout: 276 seconds]
jonahR has joined #ruby-lang
sandbags has quit [Remote host closed the connection]
bzalasky has joined #ruby-lang
banisterfiend has quit [Read error: Connection reset by peer]
<rking>
Is there a decent Ruby memory profiler around?
<rking>
I just need to get a ballpark of what's hogging all the RAMs.
<whitequark>
perftools.rb has one iirc
<rking>
whitequark: Aha, with a Rack thing. Cool + thanks.
<duckinator>
postmodern: i probably should've mentioned that i'm working on a sandbox and someone found that $< allows access to the File class (...among other things...). i'll see if freezing ARGF before removing it does the trick, though!
<duckinator>
i think it'll fix at least one of the issues that $< caused :P
tonni has quit [Read error: Connection reset by peer]
kurko_ has quit [Ping timeout: 260 seconds]
tonni has joined #ruby-lang
kurko_ has joined #ruby-lang
bzalasky has quit [Remote host closed the connection]
srbaker has quit [Quit: Computer has gone to sleep.]
Domon has joined #ruby-lang
cored has quit [Read error: Operation timed out]
<postmodern>
duckinator, so like ARGF.reopen() ?
<postmodern>
duckinator, the best kind of sandbox is a syscall jail one
<whitequark>
duckinator: generally, blacklisting doesn't work
<whitequark>
if you don't want anything to access the File class in Ruby, remove it from the sources. there is a thousand ways of obtaining it from within the VM.
<duckinator>
whitequark: i learned that over a year ago, before i switched to a whitelist ;)
cored has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
<duckinator>
the issue boils down to read-only global variables. namely $< and $*.
<whitequark>
duckinator: it seems to me that you are still using a blacklist
<postmodern>
duckinator, also you could use $SAFE = 4, but even then you're not 100% safe
<duckinator>
postmodern, whitequark: it's a pure-ruby sandbox. it spawns a separate process which removes constants and methods that are not whitelisted, then runs the code. but, again, read-only globals. there's no way to remove them from inside the VM.
<duckinator>
aside from that, all the security-related bugs have been me doing silly things. like whitelisting ARGV.
<whitequark>
duckinator: you can use DL to call ruby's C API method to remove the global
<whitequark>
also how do these processes communicate?
ivanoats has joined #ruby-lang
ivanoats has quit [Changing host]
ivanoats has joined #ruby-lang
<duckinator>
the code is fed via STDIN (there's no later access to STDIN), and the child process outputs JSON before terminating (so you can capture stdout, stderr, exceptions, and the return value)
<duckinator>
the parent process gets a hash from the JSON data and works from there
<postmodern>
duckinator, sounds like what you really want is a syscall jail
<whitequark>
duckinator: could you please execute `$stdout.class.read('/etc/passwd')' ?
cored has quit [Read error: Connection reset by peer]
<postmodern>
duckinator, it's essentially the same idea, only allow a child process read/write access
<duckinator>
whitequark: it's a StringIO, so i can guarantee you it'll fail ;) but i'll run it anyway
<duckinator>
whitequark: ^lines 276-310 are responsible for printing the JSON
<whitequark>
hmmmm
<whitequark>
duckinator: I think I know a way
<duckinator>
oh?
io_syl has quit [Read error: Operation timed out]
r0bby has joined #ruby-lang
srbaker has joined #ruby-lang
robbyoconnor has quit [Ping timeout: 256 seconds]
bzalasky has joined #ruby-lang
cstrahan has joined #ruby-lang
bzalasky has quit [Remote host closed the connection]
<duckinator>
whitequark: i found a way, too, but it's rather nasty. it pretty much boils down to eval('... (global_variables - $TRUSTED_GLOBALS).each{|x| eval(x.to_s).freeze } ...') ^^ (with the outer eval() being the existing one that's part of the sandbox)
<duckinator>
postmodern: it's an OpenShift instance, so i won't be affected personally, but...yea, it might be a good idea. :P
<duckinator>
whitequark: so how is the old $stdout define there? O.o
lsegal has joined #ruby-lang
<duckinator>
that's what i don't get about that
<whitequark>
duckinator: you call #inspect on the result outside of sandbox.
<duckinator>
lmao
<duckinator>
clever
<whitequark>
what would also work: def JSON.generate
<postmodern>
duckinator, IO is surprisingly powerful
brianpWins has quit [Quit: brianpWins]
<whitequark>
def $stdout.string.to_s, etc, etc
tcopp has joined #ruby-lang
<duckinator>
postmodern: indeed it is. :P
<whitequark>
ooooh I just thought about something else
<whitequark>
that would pwn you completely
<duckinator>
dare i ask? :D
<postmodern>
also Socket
<whitequark>
well I'm too lazy to make PoC
<postmodern>
whitequark, use DL to access eval()
<whitequark>
with something more or less malicious
<whitequark>
postmodern: there is no DL
<postmodern>
whitequark, so you can eval() in your eval(), while the code evals
<whitequark>
thought of that already
<postmodern>
Fiddle?
<whitequark>
same
<whitequark>
postmodern: better :D
<postmodern>
whitequark, oh, you could use $stdout to write a .so file to /tmp
<whitequark>
hrm, no Kernel#syscall
<postmodern>
whitequark, then require it
<whitequark>
postmodern: no require
<whitequark>
as far as I see
bantic has quit [Quit: bantic]
bluepojo_ has joined #ruby-lang
chimkan has quit [Quit: chimkan]
wmoxam has joined #ruby-lang
<whitequark>
duckinator: some more ways I could do that: set_trace_func
<whitequark>
gem_original_require
<zzak>
drbrain: lol i think i got it
<duckinator>
whitequark: but can it actually require anything?
<whitequark>
> gem_original_require '/tmp/foo.rb'
<whitequark>
stdout: "heya gondor\n"
<whitequark>
yes.
bluepojo has quit [Ping timeout: 258 seconds]
kurko_ has joined #ruby-lang
bluepojo_ has quit [Ping timeout: 252 seconds]
<duckinator>
whitequark: that worked inside Sicuro?
<postmodern>
whitequark, ah clever
<drbrain>
zzak: :D
<whitequark>
duckinator: yea
<whitequark>
I've created /tmp/foo.rb beforehand but it won't be hard to find the .so's in the ruby stdlib
<duckinator>
hmm, okay
<duckinator>
that is an easy fix
<duckinator>
or should be
<whitequark>
#RubyVM? LOL trusted constant
<whitequark>
at the moment ruby gets bytecode loading...
<zzak>
drbrain: its like the worlds smallest gem
<drbrain>
heh
<eam>
duckinator: do you allow IO.select?
<duckinator>
eam: you shouldn't be able to get access to IO. but i've been proven wrong about that about 4 times, now. :P
<whitequark>
duckinator: I'm fairly sure there is no way for you to defend from various forms of hijacking
bzalasky has joined #ruby-lang
<eam>
IO.select will smash the stack if given >1024 fds.
<whitequark>
wow
<eam>
choose the args carefully and arbitrary code execution
cored has joined #ruby-lang
<zzak>
oh, i forgot the language hook
<zzak>
hmm
<duckinator>
and it's days like today i'm REALLY glad i intentionally run sicuro.duckinator.net on OpenShift because it offers a second (proven) sandbox :P
cored has quit [Read error: Connection reset by peer]
<whitequark>
duckinator: in particular, if you can do something after my code is executed, I can do that either.
<whitequark>
it *might* be possible to chop off various parts of IO to make it less dangerous
<whitequark>
I won't count on that though
<duckinator>
that's a good (and, in hindsight, rather obvious) point
<duckinator>
and i think i know how to fix it, but it's going to involve rewriting about half of Sicuro. (which is fine, i made it mostly for the sake of learning more about ruby)
whitequark is now known as breakingsandboxe
* breakingsandboxe
would have something else to break.
breakingsandboxe is now known as whitequark
<whitequark>
damnit nick truncation :/
Raynes has joined #ruby-lang
pepper_chico has joined #ruby-lang
joevandyk_ has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
cored has quit [Read error: Connection reset by peer]
<zzak>
i subclassed..
vlad_starkov has joined #ruby-lang
brianpWins has joined #ruby-lang
mbull9 has joined #ruby-lang
vlad_starkov has quit [Ping timeout: 258 seconds]
tomzx_mac has quit [Read error: Operation timed out]
bpot has quit [Ping timeout: 240 seconds]
DEac- has quit [Ping timeout: 240 seconds]
DEac- has joined #ruby-lang
<zzak>
my humble little gem supports jruby now :)
huydx has joined #ruby-lang
<headius>
yay
<whitequark>
jruby *ducks*
<imperator>
is there a way to see all open issues on all my github repos in a single page?
<rking>
imperator: I'd just 'gem install ghi && ghi l'
rsl has quit [Quit: Computer has gone to sleep.]
<imperator>
rking, thanks, i'll try it out
<rking>
ghi is my pal.
torrieri has joined #ruby-lang
<imperator>
it's flashing stuff at me
<headius>
whitequark: :P
cored has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
cored has quit [Read error: Connection reset by peer]
vbatts has quit [Ping timeout: 260 seconds]
pepper_chico has quit [Quit: Computer has gone to sleep.]
macmartine has joined #ruby-lang
<zzak>
headius: lol
<zzak>
tests pass on jruby19mode and jruby-head
<imperator>
what made it not work before? C code?
<TheNotary>
is it cool to publish a gem called foobarbaz but have it's bin be /bin/foo?
<whitequark>
TheNotary: no, not really
<ryanf>
it may or may not be cool, but it's not uncommon
ivanoats has quit [Remote host closed the connection]
<TheNotary>
great I'm torn on what to do and I get a vote on each side, lol
<ryanf>
that wasn't really a vote
<ryanf>
so you might as well go with whitequark
<TheNotary>
true, thanks guys
<imperator>
/bin/whitequark
<whitequark>
Segmentation fault
<duckinator>
whitequark: your line about "if you can do something after my code is executed, I can do it too" is making its way around the internet because it summarizes the issues with sicuro (and most other sandboxes) so well :P
<whitequark>
heh
mjio has quit [Read error: Connection reset by peer]
<drbrain>
zzak: cool
hasimo-t has quit [Remote host closed the connection]
mjio has joined #ruby-lang
xxaM has joined #ruby-lang
muttonlambaus has joined #ruby-lang
muttonlambaus has quit [Client Quit]
cstrahan has quit [Ping timeout: 264 seconds]
kgrz has joined #ruby-lang
hasimo-t has joined #ruby-lang
kgrz has quit [Quit: Computer has gone to sleep.]
muttonlambaus has joined #ruby-lang
kgrz has joined #ruby-lang
vbatts has joined #ruby-lang
davidbalber|away is now known as davidbalbert
breakingthings has quit []
cored has joined #ruby-lang
kgrz has quit [Client Quit]
cored has quit [Read error: Connection reset by peer]
hasimo-t has quit [Remote host closed the connection]
soahccc has quit [Ping timeout: 240 seconds]
singpolyma has quit [Ping timeout: 240 seconds]
dostoyevsky has quit [Ping timeout: 240 seconds]
dostoyevsky has joined #ruby-lang
aedorn has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
singpolyma has joined #ruby-lang
xalei has joined #ruby-lang
macmartine has quit [Quit: Computer has gone to sleep.]
ssSS has joined #ruby-lang
kurko_ has quit [Ping timeout: 252 seconds]
xalei has quit [Remote host closed the connection]
hasimo-t has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
kurko_ has joined #ruby-lang
imperator has left #ruby-lang ["Leaving"]
hasimo-t has quit [Remote host closed the connection]
xalei has joined #ruby-lang
tonni_ has joined #ruby-lang
tonni has quit [Read error: Connection reset by peer]
tonni_ has quit [Read error: Connection reset by peer]
tonni has joined #ruby-lang
cored has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
sustainableweb has joined #ruby-lang
torrieri has quit [Quit: Leaving...]
Domon has quit [Remote host closed the connection]
xalei has quit [Ping timeout: 256 seconds]
<TheNotary>
I finally published a beta of my GnuPG commandline encryption gem!
<TheNotary>
now it's time for the realization that I will only need to use this once or twice in the future...
<whitequark>
TheNotary: isn't there a gpgme gem?
<whitequark>
which is essentially the same
<TheNotary>
I think that was mostly just a library
<TheNotary>
I don't think it exposed the right command line stuff to quickly do a manual encryption/decryption
cored has quit [Read error: Connection reset by peer]
mistym_ has quit [Remote host closed the connection]
ssSS has quit [Quit: ssSS]
hasimo-t has joined #ruby-lang
<TheNotary>
I looked at gnupg and I don't think it had a function to just specify a key and a message directly on the cmd line
<whitequark>
gpg -se -r Bob <(echo "message here")
ryanf has quit [Ping timeout: 245 seconds]
<TheNotary>
but where does Bob come from exactly? It doesn't let you specify a -i for an identity type file
<TheNotary>
I went through this a bunch a couple days ago and turned up dry at least
rippa has joined #ruby-lang
ssSS has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
srbaker has quit [Quit: Computer has gone to sleep.]
ssSS has quit [Client Quit]
torrieri has joined #ruby-lang
hasimo-t has quit [Ping timeout: 258 seconds]
hagzag has quit [Ping timeout: 252 seconds]
ruby-lang725 has quit [Ping timeout: 245 seconds]
hasimo-t has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
mjio has quit [Read error: Connection reset by peer]
TheNotary has quit [Quit: Leaving]
jerrytgarcia has joined #ruby-lang
jerrytgarcia has quit [Client Quit]
r0bby has quit [Read error: Connection reset by peer]
r0bby has joined #ruby-lang
cored has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
mjio has joined #ruby-lang
bpot has joined #ruby-lang
torrieri has quit [Ping timeout: 256 seconds]
torrieri has joined #ruby-lang
thufir_ has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
wmoxam has quit [Ping timeout: 252 seconds]
sustainableweb has quit [Remote host closed the connection]
kurko_ has quit [Quit: Computer has gone to sleep.]
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
vlad_starkov has joined #ruby-lang
Domon has joined #ruby-lang
muttonlambaus has quit [Quit: muttonlambaus]
srbaker has joined #ruby-lang
joevandyk_ has quit [Quit: joevandyk_]
muttonlambaus has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
ryanf has joined #ruby-lang
srbaker has quit [Quit: Computer has gone to sleep.]
ryanf has left #ruby-lang [#ruby-lang]
cored has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
kogent has joined #ruby-lang
io_syl has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
srbaker has joined #ruby-lang
Banistergalaxy has quit [Ping timeout: 258 seconds]
srbaker has quit [Client Quit]
kogent has quit [Read error: Connection reset by peer]
kogent has joined #ruby-lang
Banistergalaxy has joined #ruby-lang
wallerdev_ has joined #ruby-lang
wallerdev has quit [Ping timeout: 264 seconds]
wallerdev_ is now known as wallerdev
cored has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
cored has quit [Read error: Connection reset by peer]
kgrz has joined #ruby-lang
gregmoreno has quit [Remote host closed the connection]
joevandyk_ has joined #ruby-lang
muttonlambaus has quit [Quit: muttonlambaus]
headius has quit [Quit: headius]
huydx has quit [Quit: huydx]
wallerdev_ has joined #ruby-lang
wallerdev has quit [Ping timeout: 258 seconds]
wallerdev_ is now known as wallerdev
tcopp has quit [Ping timeout: 256 seconds]
wallerdev has quit [Ping timeout: 264 seconds]
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
bzalasky has quit [Remote host closed the connection]
kogent has quit [Quit: kogent]
<bnagy>
uh..
<bnagy>
wait, you're encrypting arbitrary data with no padding?
kurko_ has joined #ruby-lang
kurko_ has quit [Max SendQ exceeded]
kurko_ has joined #ruby-lang
<bnagy>
with RSA.. directly... sweet baby jesus
kurko_ has quit [Client Quit]
thufir_ has quit [Quit: Leaving.]
mjio has quit []
brianpWins has quit [Quit: brianpWins]
fsvehla has joined #ruby-lang
security has joined #ruby-lang
megha has quit [Ping timeout: 276 seconds]
nXqd has joined #ruby-lang
Mon_Ouie has joined #ruby-lang
davidbalbert is now known as davidbalber|away
mbull9 has quit [Remote host closed the connection]
headius has joined #ruby-lang
|Vargas| has joined #ruby-lang
|Vargas| has quit [Changing host]
|Vargas| has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
workmad3 has joined #ruby-lang
apeiros_ has quit [Remote host closed the connection]
symm- has joined #ruby-lang
jg has joined #ruby-lang
<whitequark>
bnagy: I don't think GPG/OpenPGP standard are that stupid
<bnagy>
yeah but it's not using one of those standards
<bnagy>
GPG is definitely not that stupid
nXqd has quit [Ping timeout: 245 seconds]
cored has quit [Read error: Connection reset by peer]
gregmoreno has joined #ruby-lang
rue has quit [Remote host closed the connection]
nXqd has joined #ruby-lang
gregmoreno has quit [Ping timeout: 245 seconds]
woollyams has quit [Quit: Computer has gone to sleep.]
concernedcitizen has joined #ruby-lang
Mon_Ouie has quit [Ping timeout: 252 seconds]
davidbalber|away is now known as davidbalbert
tonni has quit [Remote host closed the connection]
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
symm- has quit [Ping timeout: 276 seconds]
cored has quit [Read error: Connection reset by peer]
workmad3 has quit [Ping timeout: 255 seconds]
<concernedcitizen>
Hi guys, I'm experiencing this weird bug in which Enumerator skips the middle element object. Been wrecking my brain on this. http://pastie.org/6636093
<concernedcitizen>
Was hoping someone could help point me in the right direction
muttonlambaus has joined #ruby-lang
davidbalbert is now known as davidbalber|away
headius has quit [Quit: headius]
kuja has quit [Ping timeout: 248 seconds]
kuja has joined #ruby-lang
apeiros_ has joined #ruby-lang
torrieri has quit [Quit: Leaving...]
muttonlambaus has quit [Quit: muttonlambaus]
<bnagy>
concernedcitizen: don't modify things while you're enumerating over them
nXqd has quit [Remote host closed the connection]
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
spong107 has quit [Quit: Leaving]
<concernedcitizen>
bnagy: I'm not modifying the original array?
tonni has joined #ruby-lang
<bnagy>
wanna bet?
kgrz has quit [Quit: Computer has gone to sleep.]
<bnagy>
change line 4 to [1,2,3].each ... and see if the problem goes away
<concernedcitizen>
isn't dj_ids supposed to be a copy of @job.data['dj_ids']
zprnorgan has quit [Ping timeout: 260 seconds]
<bnagy>
no, if you want to do that you need to do it explicitly, it's just a 'pointer'
cored has joined #ruby-lang
<concernedcitizen>
hmm.
<concernedcitizen>
bnagy: how do you reckon I modify the script?
zmack has joined #ruby-lang
benlovell has joined #ruby-lang
JohnBat26 has joined #ruby-lang
aedorn has quit [Remote host closed the connection]
<bnagy>
there are about a jillion ways, but if you're treating your array as a queue there then maybe a construct like while (id=jobs.pop); # do stuff
r0bby_ has joined #ruby-lang
rwk1 has joined #ruby-lang
<bnagy>
or until @jobs.empty?; id=@jobs.pop; # do stuff
dr_bob has joined #ruby-lang
r0bby has quit [Ping timeout: 260 seconds]
<concernedcitizen>
thanks bnagy. I'm quite new to all this, so I beg your pardon for the ignorance, but how is a while loop any different from enumerating?
solars has joined #ruby-lang
<bnagy>
because I'm not enumerating over a reference to the thing I'm changing
<bnagy>
I'm testing, again and again, if the array is empty yet
cored has quit [Read error: Connection reset by peer]
GrayVoice has joined #ruby-lang
<GrayVoice>
Is there a way to get the current offset while inside a string.gsub block?
sandbags has joined #ruby-lang
stef_204 has joined #ruby-lang
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
<concernedcitizen>
bnagy: I get it now! thanks!
<concernedcitizen>
appreciate it.
<bnagy>
np
francisfish has joined #ruby-lang
dragonkh has quit [Quit: Bye!]
swav has quit [Remote host closed the connection]
cored has joined #ruby-lang
cored has quit [Changing host]
cored has joined #ruby-lang
dhruvasagar has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
charliesome has joined #ruby-lang
cored has joined #ruby-lang
gnufied has joined #ruby-lang
cored has quit [Read error: Connection reset by peer]
fjfish has joined #ruby-lang
Domon has quit [Read error: Operation timed out]
rue has joined #ruby-lang
nXqd has joined #ruby-lang
rue has quit [Read error: Connection reset by peer]
<andrewvos>
On my mac I can't see it, and on ubuntu I can't see it either
<zzak>
maybe an outdated version of ruby-build?
Banistergalaxy has quit [Ping timeout: 240 seconds]
Banistergalaxy has joined #ruby-lang
mike` has joined #ruby-lang
<andrewvos>
zzak: Updated both
<andrewvos>
ERgh who cares I give up
sush24 has quit [Quit: This computer has gone to sleep]
gustavnils has joined #ruby-lang
<zzak>
:(
kogent has joined #ruby-lang
hasimo-t has quit [Remote host closed the connection]
beiter has quit [Ping timeout: 272 seconds]
<andrewvos>
heh
<andrewvos>
sorry zzak :(
realDAB has joined #ruby-lang
tomzx_mac has joined #ruby-lang
beiter has joined #ruby-lang
<injekt>
need to create some unique 128bit hashes, any advice? is Time.now.to_f sent to MD5 enough?
kevinfagan is now known as 17SACLXC8
kgrz has quit [Ping timeout: 256 seconds]
realDAB has quit [Client Quit]
<GarethAdams>
define 'unique'
<eam>
md5(Time.now.to_f) is no more unique than just Time.now.to_f
cupakromer has left #ruby-lang [#ruby-lang]
<GarethAdams>
less unique, even
<eam>
yeah
<GarethAdams>
but not 128-bit
<injekt>
128-bit..
<eam>
pad with zero :p
<lianj>
SecureRandom.hex(16) ?
<zzak>
andrewvos: what was the problem?
<injekt>
lianj: how are they created?
kgrz has joined #ruby-lang
<andrewvos>
zzak: Well ruby-build doesn't have the dfinition for 394 *sometimes*.
<lianj>
if openssl is there, then via openssl's random_bytes
<injekt>
my thoughts on using Time.now.to_f is because I need less than 1 second precision
<andrewvos>
zzak: So I wanted to updte chruby install instrutions to reflect this
<whitequark>
injekt: cryptographic PRNG?
<andrewvos>
zzak: And then I stopped caring because I couldnt' work out how to phrase the pull request.
<injekt>
whitequark: i dont know a thing about this kind of stuff so no idea
<zzak>
what cases would ruby-build not have that definition?
<zzak>
andrewvos: ^
<zzak>
could be a bug?
<eam>
injekt: if you just want random numbers, use a rng. low odds of non-uniqueness. But if you need a guarantee of unique, for a single sequence, then time will do (without any hashing)
<crankharder>
this is a stretch... is there some stdlib method that returns overlapping subsets of an array? [1,2,3,4,5].foo(3) => [[1,2,3], [2,3,4], [3,4,5]]
srbaker has quit [Quit: Computer has gone to sleep.]
<zzak>
short answer: unreleased versions are unsupported
<zzak>
you can use hoe-gemspec to generate your own
francisfish has quit [Ping timeout: 252 seconds]
<injekt>
eh, why stop users from shotting themselves in the foot? people should NEVER point to a git remote without knowing what they're doing
Somasonic has quit [Client Quit]
<injekt>
adding to this, bundler can point to a commit, who's to say that isn't stable
<yxhuvud>
that doesn't make sense. packaging is code too and should also be in version control. I can see no reason to not have that in the same repo as everything else.
Somasonic has joined #ruby-lang
<injekt>
I can see why it's discouraged, but for it not to be possible? that's silly