ChanServ changed the topic of #ruby-lang to: Ruby 1.9.3-p125: http://ruby-lang.org | Paste >3 lines of text on http://pastie.org or use a gist
Pikkachu has joined #ruby-lang
Clordio has joined #ruby-lang
jimmyy111 has joined #ruby-lang
Torrieri has joined #ruby-lang
Austin__ has joined #ruby-lang
lsegal has joined #ruby-lang
wmoxam has joined #ruby-lang
fgomez has joined #ruby-lang
ttilley has joined #ruby-lang
nazty has joined #ruby-lang
rdavila has joined #ruby-lang
divoxx has joined #ruby-lang
shevy has joined #ruby-lang
florentg2 has joined #ruby-lang
seanstickle has joined #ruby-lang
Austin__ has joined #ruby-lang
Nisstyre has joined #ruby-lang
chimkan has joined #ruby-lang
wmoxam has joined #ruby-lang
Xzyx987X has joined #ruby-lang
Aaaarg has joined #ruby-lang
jimmy has joined #ruby-lang
shevy has joined #ruby-lang
Aaaarg has joined #ruby-lang
gryfft3 has joined #ruby-lang
<gryfft3> So, I've got this text-based adventure game I've been working on to help me learn Ruby.
rohit has joined #ruby-lang
<gryfft3> It's probably really, really bad.
<gryfft3> Unspeakably so.
<gryfft3> But it works.
dv310p3r has joined #ruby-lang
<gryfft3> I was wondering if anyone wanted to make fun of it and tell me what kind of stuff I should really obviously not be doing
<gryfft3> Not do the code for me, just tell me what was stupid about it
<gryfft3> It's here. http://pastebin.com/NhyJn4kM
RORgasm has joined #ruby-lang
Sailias has joined #ruby-lang
gregmoreno has joined #ruby-lang
neoesque has joined #ruby-lang
hagabaka has joined #ruby-lang
hagabaka has joined #ruby-lang
Kyril has joined #ruby-lang
<hagabaka> is there a library that provides signals and slots for ruby?
kvirani has joined #ruby-lang
<RickHull> heads up http://rubygems.org/gems/pg code being output
<RickHull> oh, just markup being exposed. the code is example code
shtirlic_ has joined #ruby-lang
wyhaines has joined #ruby-lang
S2kx has joined #ruby-lang
m3nd3s has joined #ruby-lang
S1kx has joined #ruby-lang
bglusman has joined #ruby-lang
imperator has joined #ruby-lang
zmack has joined #ruby-lang
gregmoreno has joined #ruby-lang
<RickHull> trying rbenv install 1.9.3-p125 on a shared host. getting virtual memory exhausted: Not enough space http://pastie.org/3681999
<RickHull> am I SOL?
<postmodern> is Hash#rehash expected to re-order the keys under 1.8.7?
jkyle has joined #ruby-lang
gregf has joined #ruby-lang
pygmael has joined #ruby-lang
woollyams has joined #ruby-lang
<drbrain> postmodern: possibly
<drbrain> postmodern: keys have no order in 1.8.7
<postmodern> drbrain, order seems to change after calling #rehash sometimes
<drbrain> RickHull: you might try reducing the optimization level
<drbrain> 1.8 gives no order for keys
<RickHull> hm, bypass ruby-build then?
<RickHull> i'm looking around in ruby-build.rb for an edit
Luxx_ has joined #ruby-lang
reeze_xia has joined #ruby-lang
<RickHull> i found the ./configure/make/make install, with $CONFIGURE_OPTS
<drbrain> RickHull: the CFLAGS set for ./configure
<drbrain> RickHull: easier way would be to set up a VM with the same OS locally, compile and ship a tarball over to the shared host
<RickHull> got a reference / tut i can review? never really messed with this
<RickHull> OS is solaris :/
<drbrain> ah, that's harder
<drbrain> I always build ruby by hand
<drbrain> so, unpack, CFLAGS=-O1 ./configure; make; make install
qpingu has joined #ruby-lang
matti has joined #ruby-lang
matti has joined #ruby-lang
<drbrain> that will install to /usr/local/bin/ruby
Pikkachu has joined #ruby-lang
<drbrain> CFLAGS=-O1 ./configure --prefix=/home/RickHull/ruby; make; make install
<drbrain> ^^ will install to ~/ruby/bin/ruby
Pikkachu has joined #ruby-lang
Pikkachu has joined #ruby-lang
<RickHull> in the ruby-build shell script (not .rb) { ./configure --prefix="$PREFIX_PATH" $CONFIGURE_OPTS
<drbrain> I'm not sure how to set CFLAGS through $CONFIGURE_OPTS
<drbrain> maybe --cflags or just CFLAGS=
<RickHull> ok, i'll give it a whirl manually, seems straightforward
Aaaarg_ has joined #ruby-lang
<drbrain> well… `CFLAGS=-O1 ruby-build ...` might do it
<drbrain> since it's an environment variable
<RickHull> ok, right
<RickHull> i wonder if there iss a way to confirm
<RickHull> maybe a verbose flag
<RickHull> ok, build failed
<RickHull> there is a build log
<RickHull> might it reflect the CFLAGS ?
<RickHull> same failure
matti has joined #ruby-lang
matti has joined #ruby-lang
<RickHull> ok, I show CFLAGS = -O1 in the build log
<zenspider> make; make install... laaaame... just make install
<RickHull> so, is that the best i can do in terms of optimization flags?
<RickHull> zenspider: I know, I know
<zenspider> -01 isn't bad... I thought that 02 was possible and 03 caused problems... but I thought that was gcc specific
slyphon has joined #ruby-lang
<RickHull> my shared host is runs out of virtual memory vov
<RickHull> er, v0v
<RickHull> compiling /enc/trans/big5.c
<RickHull> the host has 1.9.2p180
<RickHull> support said i could vendor my gems to get newer ones
jkyle_ has joined #ruby-lang
<RickHull> i imagine that means i can tell gem to install to my homedir and then tell ruby to use those
<RickHull> anyone got a reference for that? google is failing me on these terms
Zolrath has joined #ruby-lang
Clordio has joined #ruby-lang
PatrixCR has joined #ruby-lang
PatrixCR has quit [#ruby-lang]
takaokouji has joined #ruby-lang
<RickHull> don't rush to help guys, it's ok, i found some docs :P
<RickHull> i tried --user-install, got a warning about no ~/.gem/ruby/1.8/bin in my PATH
<RickHull> ri threw some warnings: http://pastie.org/3682185 (ged?)
<drbrain> RickHull: rdoc isn't smart enough to figure out externs across C files ☹
<RickHull> now that i've got the latest pg gem installed (presumably), I need to tell rubygems to use it and not the old system one, right?
<drbrain> RickHull: what does `gem list pg` say?
<RickHull> shows both :)
<drbrain> if it lists your new version, you need not do anything
<RickHull> it went better than I expected
<RickHull> hmm...
<RickHull> <internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- pg (LoadError)
<drbrain> it should show both, RubyGems will automatically pick the highest version unless a dependency forces it lower
jmontross has quit [#ruby-lang]
<drbrain> that is interesting!
<drbrain> you did `gem install --user-install pg`?
<drbrain> … yes
<drbrain> I have found the problem
<RickHull> the last two args reversed, y
<drbrain> `gem` is for ruby 1.8
<RickHull> ah
<drbrain> `ruby` is ruby 1.9
<RickHull> i use ruby19 for 1.9
<RickHull> ruby goes to 1.8
<drbrain> "You don't have /users/home/RickHull/.gem/ruby/1.8/bin"
<drbrain> so, you probably need to gem19 install pg --user-install
<RickHull> indeed :)
<RickHull> so, that warning
<RickHull> about gem executables
<RickHull> do i care?
<RickHull> also, no warnings on ri and rdoc
<drbrain> if you did `gem19 install rake --user-install`, you would
dr0id has joined #ruby-lang
<drbrain> RickHull: ah, then you must have been using super old rdoc 1.0.1
<drbrain> which is the default that ships with ruby 1.8
<RickHull> i'd just as soon have as much up to date as is feasible
<RickHull> so i would want the rake gem
<drbrain> you just have to add it to your $PATH
<RickHull> to replace the system rake?
<drbrain> it was just an example, for when a new rake comes out, or other gem that has executables
<RickHull> oh, duh, i get it
<RickHull> so, what do you think of: alias gem='gem19 --user-install' ?
<drbrain> I have a better idea
igotnolegs has joined #ruby-lang
<drbrain> add "gem: --user-install" to ~/.gemrc
ramonmaruko has joined #ruby-lang
<RickHull> it works! i still may alias gem and ruby
<RickHull> i have to use zile instead of emacs :/
RORgasm has joined #ruby-lang
JohnBat26 has joined #ruby-lang
Karmaon has joined #ruby-lang
Sailias has joined #ruby-lang
<RickHull> thanks drbrain!
<RickHull> ged: around? I'm curious about the prepared statements
<RickHull> is it necessary to name them via string in the first parameter? why not assign the statment to variable and pass that to exec?
<RickHull> or call exec on it or w/e
Karmaon has joined #ruby-lang
<RickHull> maybe i'm reading it incorrectly, but it sounds like you create the prepared statement and name it with a string. that string is like the name of a pseudovariable behind the scenes
<RickHull> and then you reference that name with exec_prepared ?
<RickHull> why not just make it a ruby variable?
mikeric has joined #ruby-lang
* RickHull whips up a paste
<RickHull> ok, i see
<RickHull> it's in the PGResult
<RickHull> still strikes me as funky but maybe i just need to get comfortable
<zenspider> ZOMG BRILLIANT IDEAS ARE COMING OUT OF SEATTLE.RB NERD PARTY!!!
fayimora has joined #ruby-lang
moops has joined #ruby-lang
fgomez has joined #ruby-lang
<RickHull> if pg is just a wrapper of the C interface, then I can see why not
<RickHull> i can write the ruby-style interface on top
<moops> Is there a standard way to verify that method arguments are the type that you are expecting?
<drbrain> moops: we usually use duck typing
<drbrain> (we rubyists)
<moops> im forced on a homework assignment to use Ruby where i'd really rather have a static type system =P
<moops> a type-checker for another language
<drbrain> I see
<drbrain> in that case, let me introduce you to #===
<drbrain> so, if you need to be sure your item is a number, you can do something like:
<drbrain> raise ArgumentError, "expected Numeric for arg, got #{arg}" unless Numeric === arg
<drbrain> #=== is not commutative, so 5 === Numeric will not do what you want
srbaker has joined #ruby-lang
<drbrain> (you can also use is_a? or kind_of?, but I don't like those)
<moops> oo unless didnt know about that either
<moops> thanks!
<RickHull> drbrain: why not?
<drbrain> a second option is to cast, so Integer("5") # => 5 vs Integer("5 cats") # => TypeError
<drbrain> RickHull: I think it's the punctuation
<drbrain> but not every class has a top-level casting method like Integer or Float or Array
<RickHull> one might be tempted to write def check(type, arg)
<RickHull> with the method body nearly what you wrote, drbrain
<RickHull> 2 reasons not to, I see
<RickHull> 1. you can't get the name of the arg without a 3rd parameter
<moops> oh?
<RickHull> 2. stack trace
<moops> in C it could just be a macro
<drbrain> 3. it wouldn't make you a very good rubyist (but for homework, the rules can be bent)
<moops> and would solve both of those
<moops> but using macros introduces a new problem =P
<RickHull> moops: it might be worthwhile to try not writing C in ruby
<RickHull> ;)
ilyam has joined #ruby-lang
<RickHull> that said, if it's just this one assignment...
<RickHull> I'll understand
<moops> the place i'm tripping up the most is that i have an Identifier class which holds the line number and name of the identifier
<drbrain> moops: in ruby we don't generally equate type to class
<moops> sometimes i'm accidentally passing strings where Identifiers are expected and vice versa
<RickHull> ah, i can sympathize
<RickHull> i made a BenString class once
<RickHull> and I still use it
srbaker has joined #ruby-lang
<RickHull> it is called BinStr, no joke
<RickHull> to represent strings of binary data, with awesome methods on it for binary manipulation
<RickHull> but i also just used ruby strings to pass arond binary data
<RickHull> and i had to be very careful in my code to know which i was working on
<moops> even the strictest type systems don't help you much when you're mucking around with binary data
<RickHull> i'm nearly convinced that BinStr was the wrong approach, but I'm honestly not sure what is better
<RickHull> ruby 1.8 strings are totally fine for binary data, but there is additional functionality you might want
<RickHull> these days, i'd probably pass a ruby string to a helper method instead, not sure
<RickHull> rather than make a class. I dunno. it's nice when the object knows how to yield the right data
<drbrain> I'd use composition if I needed > 2 or so helper methods
<RickHull> does BenString inherit from String, as the story goes?
<RickHull> my BinStr has a String
<drbrain> RickHull: absolutely
<RickHull> ok, so not a true BenString
<RickHull> i still had the issue of passing Strings in some places and BinStrs in others
<RickHull> duck typing would take care of it
<RickHull> as BinStr did not respond to most String methods
<RickHull> but, a runtime thing
<drbrain> you'd have a legitimate reason to implement #to_str
<drbrain> I love the extra newlines at the bottom and the trailing whitespace
krz has joined #ruby-lang
chimkan has joined #ruby-lang
<RickHull> moops: BenString is a heartfelt parody of "bad" class modeling
<RickHull> more or less?
<drbrain> yes
<moops> looks beautiful to me
krz has joined #ruby-lang
krz has joined #ruby-lang
krz has joined #ruby-lang
krz has joined #ruby-lang
krz has joined #ruby-lang
krz has joined #ruby-lang
krz has joined #ruby-lang
Banistergalaxy has joined #ruby-lang
imperator has joined #ruby-lang
matti has joined #ruby-lang
matti has joined #ruby-lang
takaokouji has joined #ruby-lang
<RickHull> moops: here is a relatively short, fun example of relatively idiomatic ruby: https://github.com/rickhull/markov-text-destroyer/blob/master/destroyer.rb you should be able to paste it into a file, execute with ruby 1.9, and marvel at the wisdom revealed
<moops> i started this assignment too late so gotta focus, i'll definitely bookmark it though
<RickHull> how much ruby are you doing for the entire class?
<moops> just spent 20 minutes trying to figure out why ruby was exiting saying 'Invalid case""'
<moops> it was actually in my bash script
<moops> we have 5 assignments, we need to use ruby, python, ocaml at least once
<moops> i used ocaml for the first three
<moops> now ruby for #4
knightMBP has joined #ruby-lang
rippa has joined #ruby-lang
takaokouji has joined #ruby-lang
d1zzYLuLz has joined #ruby-lang
imperator has quit ["Leaving"]
WillMarshall has joined #ruby-lang
looopy_ has joined #ruby-lang
Wrecktum has joined #ruby-lang
srbaker has joined #ruby-lang
Recktum has joined #ruby-lang
<moops> whoa
<moops> how does abort make the message appear on top
RapeCoreyTonight has joined #ruby-lang
<RickHull> ?
<moops> my program writes to stdout with puts
<moops> if i exit abnormally with "abort" the abort message appears above the other output
<moops> as if it happened first
<moops> ohh i bet its just flushing stdout
<RapeCoreyTonight> Are you all sick of niggers?
<RapeCoreyTonight> I am!
<RickHull> probably stderr
<RapeCoreyTonight> That is why I joined
<RapeCoreyTonight> chimpout
<RapeCoreyTonight> .com
<RapeCoreyTonight> /forum
<RapeCoreyTonight> At Chimpout WE ARE NOT WHITE SUPREMACISTS!
<RickHull> zenspider, drbrain
rushed has joined #ruby-lang
<RapeCoreyTonight> I myself am a Mexican!
<moops> it might also bee from tee actually
<moops> be*
<RapeCoreyTonight> Basically, if you are not a NIGGER and you hate NIGGERS, we welcome you with open arms!
<RapeCoreyTonight> Join
<RapeCoreyTonight> Chimpout
<RapeCoreyTonight> .com
<RickHull> but yes, try $stdout.sync
<RapeCoreyTonight> /forum
<RickHull> and $stderr.sync = true
<RickHull> sorry, both = true
<RapeCoreyTonight> Rickhull te gustar
<RapeCoreyTonight> a mi me gustar
<RapeCoreyTonight> y que me dieras tu culito precioso
<RapeCoreyTonight> jeje
<RapeCoreyTonight> :D
rushed has joined #ruby-lang
gix has joined #ruby-lang
rushed has joined #ruby-lang
<RapeCoreyTonight> I am going to fuck you in the ass drbrain
banisterpig has joined #ruby-lang
<drbrain> OH REALLY‽‽
<banisterpig> drbrain: YARLY
CoreyRape has joined #ruby-lang
RapeCoreyTonight was kicked from #ruby-lang by drbrain [RapeCoreyTonight]
frangiz has joined #ruby-lang
<RickHull> moops: try with $stdout.sync = true; $stderr.sync = true
<CoreyRape> Are you sick of those niggers?
<CoreyRape> I am!
<CoreyRape> That is why I joined Chimpout
<CoreyRape> .com
<CoreyRape> /forum
<CoreyRape> At Chimpout WE ARE NOT WHTIE SUPREMACISTS!
brianpWins has joined #ruby-lang
<CoreyRape> I myself am a mexican!
<CoreyRape> Basically, if you are not a NIGGER and you hate NIGGERS, we welcome you with open arms!
<CoreyRape> Join
<CoreyRape> chimpout
<CoreyRape> .com
<CoreyRape> /forum
Banistergalaxy has joined #ruby-lang
phlipper has joined #ruby-lang
<drbrain> dang
casaram has joined #ruby-lang
CoreyRape was kicked from #ruby-lang by drbrain [thanks for confirming I need to block your entire ISP!]
<drbrain> that should stem the tide of hate for a few minutes, at last
<drbrain> least
<moops> trying to get the error to show up again so i can test it
<moops> yep that fixed it!
<banisterpig> drbrain: what's up
<drbrain> banisterpig: nothing really, just someone spamming
<drbrain> it's near bed time for me
<banisterpig> drbrain: what's the time in seattle, and is seattle west or east coast
reeze_xia has joined #ruby-lang
yumike has joined #ruby-lang
looopy_ has joined #ruby-lang
<shevy> banister needs love again :(
Banistergalaxy has joined #ruby-lang
rohit has joined #ruby-lang
gregmoreno has joined #ruby-lang
RORgasm has joined #ruby-lang
<zenspider> rawr
morozovm has joined #ruby-lang
srbaker has joined #ruby-lang
yxhuvud has joined #ruby-lang
jkyle has joined #ruby-lang
rushed has joined #ruby-lang
rushed has joined #ruby-lang
Defusal has joined #ruby-lang
rushed has joined #ruby-lang
matti has joined #ruby-lang
matti has joined #ruby-lang
ryanf has joined #ruby-lang
heftig has joined #ruby-lang
RickHull has quit [#ruby-lang]
fgomez has joined #ruby-lang
wmoxam has joined #ruby-lang
kitallis has joined #ruby-lang
Banistergalaxy has joined #ruby-lang
|Vargas| has joined #ruby-lang
|Vargas| has joined #ruby-lang
sora_h has joined #ruby-lang
savage- has joined #ruby-lang
mytrile has joined #ruby-lang
x0F_ has joined #ruby-lang
josephholsten has joined #ruby-lang
scientes has joined #ruby-lang
sora_h has joined #ruby-lang
dc5ala has joined #ruby-lang
mdel has joined #ruby-lang
Aaaarg has joined #ruby-lang
thrcka has joined #ruby-lang
Aaaarg has joined #ruby-lang
gregmoreno has joined #ruby-lang
rohit has joined #ruby-lang
WillMarshall has joined #ruby-lang
zmack has joined #ruby-lang
fgomez has joined #ruby-lang
tonesfrommars has joined #ruby-lang
robbyoconnor has joined #ruby-lang
Doobie has joined #ruby-lang
<Doobie> hi everyone
<Doobie> is there a gem for child process management?
<Doobie> i want my spawned child process to die even if i kill -9 the parent, but every technique i have tried fails to do this
solars has joined #ruby-lang
tjadc has joined #ruby-lang
knightMBP has joined #ruby-lang
<rohit> I thought this IRC channel is for discussing Ruby internals. Why does everybody use it for #ruby like discussions? :)
josephholsten has joined #ruby-lang
<Doobie> rohit: this channel is the official ruby channel, it is not related to the internals
<erikh> sometimes we discuss internals
<erikh> it's ok
<Doobie> sure, but thats not what this channel is specifically for as far as i know
<rohit> I'm just curious, I'm not saying it SHOULD be only lang discussion btw
<erikh> yeah, there's not much specific to it other than "ruby"
RORgasm has joined #ruby-lang
shtirlic has joined #ruby-lang
<Doobie> rohit: #ruby split the freenode ruby community by making their own channel because they were not happy with the official channel, #ruby-lang
<rohit> Doobie: Ah! That explains it :)
<rohit> Thanks :)
<Doobie> am i supposed to be able to use IO.select with STDIN?
<rippa> select([STDIN])[0][0].gets
josephholsten has joined #ruby-lang
<Doobie> rippa: IO.select([STDIN], nil, nil, 0.5) and IO.select(nil, nil, [STDIN], 0.5) always return nil
shtirlic has joined #ruby-lang
<Doobie> even though i am writing to stdin from the parent process
<rippa> Doobie: works in repl
<Doobie> and even after the parent is killed, still no error or anything else
gasbakid has joined #ruby-lang
<erikh> Doobie: is stdin closed?
<erikh> did you daemonize it with Process.detach or something?
<Doobie> erikh: it shouldnt be. i can STDIN.read and that blocks until the parent process is killed
<erikh> you're forking?
<Doobie> i am spawning a process
<erikh> what's your spawn command?
<Doobie> erikh: EM.popen
<zenspider> rohit: you might be looking for #ruby-core
<erikh> zenspider: is that channel really active?
<erikh> it wasn't before.
<erikh> Doobie: hrm, I don't have the EM docs handy. what does it say about inheriting descriptors?
<Doobie> erikh: nothing. but it allows you to send_data to the stdin and has a receive_data callback
<Doobie> but i dont understand why $stdin.read_nonblock behaves as expected, but select is incorrect
<Doobie> select shows $stdin as always readable and no error no matter what
<zenspider> does it need to be really active?
<Doobie> really active?
<erikh> zenspider: no, it was just a curiosity
<Doobie> i just need select to detect when stdin is closed
<Doobie> but it doesnt look like it can
<erikh> ok, one last q
<erikh> what does $stdin.fileno output?
<erikh> after this I'm mostly out of ideas :)
<erikh> EM does a lot of funky stuff to file descriptors, it might be doing that to the standard $std* vars
<Doobie> 0
<erikh> nevermind :P phooey.
<Doobie> but there is no EM in the child process
<Doobie> which is why i am trying to use select()
<erikh> hrm. either way, I guess I'm stumped.
<Doobie> reading from stdin, even read_nonblock seems to block other threads in the process
<Doobie> so i was hoping select() would work
<erikh> I'd try picking it apart with lsof and see if you can see anything that ruby isn't telling you.
<Doobie> but now im out of ideas
<erikh> or strace/dtruss
<Doobie> heh
<erikh> you would be surprised how frequently it exposes... interesting things
<Doobie> i wouldnt even know how to
<erikh> lsof -p <pid>
<erikh> strace -f -p <pid>
<erikh> sudo dtruss -f -p <pid>
<erikh> -f means "over a fork", and -p should be obvious
<Doobie> ok. but i doubt ill be able to find anything
<erikh> well lsof would be what I'd check first. if fd 0 is set in any weird way it should show up.
<erikh> anyhow, they're good tools to know either way, especially if you're messing with i/o
sandbags has joined #ruby-lang
morozovm has joined #ruby-lang
<Doobie> oh well
<Doobie> the only other thing i can think of is having the child process poll its parents pid
<Doobie> pity pipes dont work
<erikh> try using a named pipe or similar device like a unix socket.
<Doobie> and i couldnt find any answers with google
<erikh> ISTR EM has pretty good support for unix sockets.
<Doobie> that really shouldnt be needed
<Doobie> stdin works since #read and #read_no_block work
<erikh> yeah, dunno what to tell you; either you can debug the problem or work around it.
<Doobie> there must be no way to use stdin at the same time as the rest of the process
<Doobie> which would explain why select() does not work with it, for the same reason any kind of read blocks all threads
<erikh> ah
<erikh> it's timing out.
<erikh> derrrrrp
<Doobie> of course it is, but it does that even when the parent process has been killed
<Doobie> even for checking for errors
<Doobie> which doesnt make sense
<erikh> what should it be attached to?
<Doobie> and if #read and #read_no_block raise EOF when the parent dies, select() should not still think it is readable
<Doobie> the parent
<erikh> they don't raise EOF though, stdin is still legally open
<Doobie> no it does
<erikh> it's closed and... what?
<erikh> I get an IOError here if I try to read from a closed $stdin.
<erikh> 1.8.7
<Doobie> [stdin] reading...
<Doobie> [stdin] EAGAIN
<Doobie> [stdin] reading...
<Doobie> [stdin] EOFError: end of file reached
<Doobie> that is if i kill -9 the parent
<Doobie> 1.9.3 here
d3vic3 has joined #ruby-lang
<zenspider> I'd release minitest 3.1.0, but I'm not allowed to do releases this late
<zenspider> tho... I can't really fuck up a release anymore...
<zenspider> hrm
<erikh> I get an IOError if I try to do anything with $stdin after it's been closed
<erikh> zenspider: heh, it'll be there in the AM
vmoravec has joined #ruby-lang
<Doobie> erikh: even a select?
<erikh> yep.
<erikh> % ruby -e 'p $stdin.close; IO.select([$stdin], nil, nil, 1)';
gnufied has joined #ruby-lang
<Doobie> ok well that must be different
<Doobie> since you are closing it locally
<erikh> I'm still not convinced someone hasn't done something to your file descriptor
<erikh> anyhow, work time, later.
<zenspider> Doobie: what are you trying to do?
<Doobie> zenspider: end child processes if the parent dies. eg: kill -9
<zenspider> Doobie: why?
<Doobie> zenspider: so that there are no zombie processes?
<zenspider> what's your current process architecture? what are they doing? why?
<Doobie> zenspider: spawning worker processes that are used via DRB
<Doobie> they use other cores
<zenspider> and a heartbeat is out of the question?
<Doobie> it is not ideal. but it doesnt seem like there is any other option
<Doobie> i was almost sure stdin would work
sora_h has joined #ruby-lang
<zenspider> why isn't it ideal?
workmad3 has joined #ruby-lang
<Doobie> well, not all child processes use DRB
<zenspider> aaaaaand the teeth pulling begins
<Doobie> it seems unnecessary to implement DRB for a job that std streams should technically be able to do
<Doobie> but it looks like i have no choice
<Doobie> std steams are useless
<Doobie> i just wish i understood why this does not work
francisfish has joined #ruby-lang
<shevy> today I shall code something cool
rolfb has joined #ruby-lang
futurechimp has joined #ruby-lang
<injekt> shevy: lies
<shevy> hehe
<Defusal> Doobie: i am using a text file to store child pids so that they can be killed on next start, i have tested countless methods of doing this in the past and was not able to get any solution using pipes to work :(
<Doobie> Defusal: yes, this is one of the only things ive ever noticed that ruby is missing
apeiros_ has joined #ruby-lang
ruskie has joined #ruby-lang
heftig has joined #ruby-lang
fayimora has joined #ruby-lang
tekin has joined #ruby-lang
necromancer has joined #ruby-lang
ioga_wrk has joined #ruby-lang
havenn has joined #ruby-lang
Banistergalaxy has joined #ruby-lang
<andrewvos> Defusal: Just kill them at_exit
<Defusal> andrewvos, there is no at_exit if you kill -9 a process
<Defusal> it just dies immediately
<shevy> cool
<andrewvos> CSB
<injekt> andrewvos: grats on mobile launch :)
<erikh> oh you're at the BBC?
<andrewvos> injekt: Thanks :)
<andrewvos> erikh: Yeah
<erikh> neato
<erikh> you work on the perl team?
<erikh> I know they had a lot of perl hackers there at one point
<andrewvos> erikh: Nope.
<injekt> I doubt that
<injekt> :D
<andrewvos> erikh: although I think I can see the perl team from here. Just a guess though
<andrewvos> (they have beards)
<erikh> lord.
<injekt> that's them
<andrewvos> hah
<injekt> although I never had a beard when I wrote perl
<injekt> then again I was 14
<andrewvos> hehe
<injekt> I still <3 perl
<erikh> hah
<injekt> except I wont touch perl 6 :/
<shevy> hahaha
<injekt> erikh: when you find a minute, any chance you could visit the launched startup and pick the shit out of it from a UI/UX standpoint? I'd appreciate your feedback
<erikh> UI?
<erikh> man
<erikh> I made twitter bootstrap look bad
<erikh> I am the last person you want to ask
<injekt> you still have an opinion :D
<andrewvos> hahaha
<injekt> more UX, most people seem pleased with the UI
<erikh> yeah but it's all like "I DID THIS ON GEOCITIES YEARS AGO AND IT WORKS FOR ME"
<injekt> haha
<erikh> "WHERE ARE THE ANIMATED FLAMES"
<injekt> I should add animated flames
<erikh> be sure to use a java applet
<injekt> pretty sure our designer would stab me
<erikh> oh and comic sans
<erikh> all sites get better with comic sans
<injekt> comic sans everywhere
<injekt> andrewvos: you too if you have time? :) http://www.allur.com/
<andrewvos> injekt: Wow that looks fucking cool
<injekt> thanks, our designer is a bawse
RORgasm has joined #ruby-lang
<andrewvos> injekt: Is that test data in there?
<erikh> injekt: images are really slow
<injekt> andrewvos: no
<erikh> dunno if that's the size of them or my connection to the servers or w/e
<injekt> erikh: s3, probably the size, developers are uploading some intensely large photos
<andrewvos> injekt: When I click the blue dots on the map I see some weird text
<injekt> working on that, though. It IS a problem
<injekt> andrewvos: oh?
rking has joined #ruby-lang
<injekt> which browser?
<erikh> it's really pretty
<erikh> chrome
<injekt> :)
<injekt> I like discover/map which when zoomed in on an area, isotopes away any development which isn't in that area
<injekt> erikh: do you see that?
<erikh> sec
<erikh> no
<erikh> I see what you see injekt
<erikh> maybe a locale issue?
<injekt> andrewvos: someone is in your tubes
<andrewvos> injekt: If I copy the text and paste it I see SOPA SQUARE :)
<injekt> yeah possible
<injekt> hah
<injekt> strange
<erikh> well, both of you are en_GB right?
* erikh is en_US
<erikh> obviously
<injekt> mine is probably ca
<andrewvos> Yeah
<erikh> ah, hrm
<injekt> this mbp is hooked up to canada like syrup
<injekt> nope, works ok from another box
<injekt> odd
amerine has joined #ruby-lang
<injekt> also dont let designers re-arrange your office http://alr.gr/dg605A
<erikh> yeah, I just tried on chrome with different lang settings
<erikh> no diff
<injekt> cool, so the gremlins got andrewvos
<injekt> I cant wait to break this app into some open source gems
pygmael has joined #ruby-lang
Aaaarg has joined #ruby-lang
<andrewvos> injekt: sorry stupidly long standup
<andrewvos> almost fell asleep standing up
<andrewvos> injekt: Umm, 80% CPU? lolwhut
<injekt> for which page?
<andrewvos> injekt: Got back and my MBA was almost on fire
<andrewvos> injekt: Oh and now I see SOPA SQUARE :/
<injekt> your cpu was translating your gremlin speak
<andrewvos> injekt: Might need to update chrom or something. It's been buggy as fuck lately
<andrewvos> chrome*
<andrewvos> injekt: "Every day we shuffling" hahahah
<andrewvos> Might need to change that
<injekt> psh
<andrewvos> Sounds like you don't have a proper grasp of the English language
<injekt> haha
<injekt> yeah
Natch| has joined #ruby-lang
<injekt> alright shower time, thanks for the thoughts erikh and andrewvos, if you have any more please do drop them to me on here or to lee@allur.com
<erikh> it's business time
<erikh> I've had that stupid song stuck in my head for like a week now
<injekt> when everyting is just right
<injekt> there's nothing good on tv
<injekt> you havent had your after work sport team practive, so you are not too tired
<injekt> oh boy, it's all love
<injekt> /leaves
tbuehlmann has joined #ruby-lang
heftig_ has joined #ruby-lang
Giddeon has joined #ruby-lang
Mchl has joined #ruby-lang
rue has joined #ruby-lang
rue has joined #ruby-lang
Aaaarg has joined #ruby-lang
horusTa has joined #ruby-lang
<horusTa> Buongiorno a tutti from ITALy
<tobiasvl> vittoria agli assassini
<andrewvos> hah
horusTa|2 has joined #ruby-lang
<tobiasvl> all the italian i know i learned from assassin's creed...
<horusTa|2> c
<injekt> what oauth gems do people use? I had no idea there were so many
<andrewvos> The fuck? private method `chomp' called for ["&for_nation=gb"]:Array
<andrewvos> Could anyone venture a guess as towhat is happening?
<andrewvos> It's actually a string
<andrewvos> I'm doing this @response.body.should include "&for_nation=gb"
<andrewvos> @response.body.class is String
<tobiasvl> "The fuck? private method" <- hmm, i hadn't heard of that private predicate :)
<andrewvos> tobiasvl: smart ass :)
<horusTa|2> Hi to all
horusTa|2 has quit ["Once you know what it is you want to be true, instinct is a very useful device for enabling you to know that it is"]
headius has joined #ruby-lang
reeze_xia has joined #ruby-lang
brushbox has joined #ruby-lang
lsegal has joined #ruby-lang
rohit has joined #ruby-lang
<rue> andrewvos: Clearly it's not a string
<andrewvos> rue: It is
<andrewvos> Solved the problem though I think
<andrewvos> Kind of
<andrewvos> Not really
<apeiros_> @response.body may well be a string, whatever you or a method you called invoked chomp on is clearly not
<apeiros_> Array inherits chomp from Kernel
<andrewvos> I am so lost
<apeiros_> and Kernel#chomp operates on $_, that's why it's private. it's not supposed to be used with a receiver. it's a pseudo-function.
<andrewvos> Can you explain it to me in layman terms?
<apeiros_> Array < Kernel # => true
<andrewvos> Ahh
<apeiros_> Kernel.method_defined?(:chomp) # => true
<apeiros_> dunno how much more layman I can go :)
<andrewvos> But chomp is private
<andrewvos> Ok
<apeiros_> yes, of course it is
<andrewvos> Fair enough
<apeiros_> again, Kernel#chomp is *not meant to be called with a receiver*, it makes no sense to use it with a receiver
bryanl has joined #ruby-lang
<apeiros_> essentially, it is: module Kernel; def chomp; $_.chomp; end; end
* andrewvos looks up Kernel#chomp
<apeiros_> it doesn't make any use of self -> pseudo-function, not a method.
<apeiros_> all Kernel methods are that way
<andrewvos> What is it mean to do?
<andrewvos> Kernel#chomp
<apeiros_> as said, return a chomped $_
gianlucadv has joined #ruby-lang
<tobiasvl> and in case you don't know what $_ is, andrewvos
<tobiasvl> # The last line read by <tt>Kernel.gets</tt> or
<tobiasvl> # <tt>Kernel.readline</tt>. Many string-related functions in the
<tobiasvl> # +Kernel+ module operate on <tt>$_</tt> by default. The variable is
<tobiasvl> # local to the current scope. Thread local.
<tobiasvl> alias $LAST_READ_LINE $_
<tobiasvl> oops, sorry, a bit too many lines there
<tobiasvl> but anyway
<andrewvos> tobiasvl: I was just trying to find out more on $_ :)
<apeiros_> you don't want to use any Kernel instance methods in general (except for puts/printf maybe - but not even gets, as it operates on ARGF, not on $stdin as many think…)
<tobiasvl> as it operates on the last read line, it doesn't make sense to call it with a receiver
<apeiros_> oh, and require/load of course.
<apeiros_> almost all other methods are mostly for short scripts, like ruby -pe '…some script…'
<andrewvos> Ahhh ok interesting
<apeiros_> iow, Array#chomp does not exist. period.
<apeiros_> and bottom line is that ruby tells you that you try to call chomp on an array (directly or indirectly). if @response.body is not an array, then probably you (again, directly or indirectly) don't call chomp on that.
<apeiros_> but hey, you've got the backtrace. it's *easy* to figure out.
Radium has joined #ruby-lang
<andrewvos> apeiros_: Apparently it's the diff tool in rspec-expectations that is crashing :(
<andrewvos> uninstalling the beast
RORgasm has joined #ruby-lang
judofyr has joined #ruby-lang
m3nd3s has joined #ruby-lang
<dominikh> <shameless plug>http://dominik.honnef.co/posts/2012/03/breaking_backwards_compatibility_in_good_conscience/</shameless plug> – actually I'd appreciate input and opinions
armanlearntochat has joined #ruby-lang
<armanlearntochat> hi
armanlearntochat has quit [#ruby-lang]
Radium has joined #ruby-lang
<apeiros_> dominikh: cost/benefit
<dominikh> apeiros_: I try to avoid business terms ;)
<apeiros_> if it costs too much to maintain and gives not enough benefit in return - drop it. it's sometimes hard to estimate the cost and/or the benefit.
<apeiros_> that's not just business. it costs you time and happiness to maintain stuff
<apeiros_> (happiness mostly if the stuff you maintain is considered to be broken)
<dominikh> I know, but when you refer to costs, many will not make that apparent connection to time/happiness.
<dominikh> but of course you're right
<apeiros_> back to the topic, now that this is established…
<judofyr> BREAK ALL THE APIs!
<apeiros_> given that this is free software, the only benefit that matters is *your* benefit. if your users are unhappy with it - they can fork the old code.
<dominikh> oy, don't make me write the "forking is bad" article I had planned for some time :)
<apeiros_> iow, if *you* don't have a direct benefit of maintaining the old API, kill it. with fire.
<apeiros_> forking for personal use is great
<apeiros_> forking for public use has issues… (mainly fragmentation)
<apeiros_> also forking and pull-requesting is great
<judofyr> forking + public use isn't that common though
<judofyr> even in the GitHub-world we live in
<apeiros_> it's very common for unmaintained software
<dominikh> forking and pull-requesting isn't really what the definition of forking means
<dominikh> that's just github's weird nomen clature..
<apeiros_> dominikh: I'm more referring to the workflow, not githubs specific implementation. dvcs's enabled that kind of contribution. and IMO it made contribution easier, better, more widespread
<dominikh> apeiros_: it's still not forking. that's called submitting patches :)
<dominikh> forking with the intention of getting everything back upstream isn't forking, it's plain contributing
<dominikh> if your changes get rejected and you continue to maintain them, then you've got yourself a fork.
<apeiros_> dominikh: it's still a fork, even if temporarily. but anyway, since you just said "forking" and didn't specify it, is why we got here…
<dominikh> it's not a fork
<apeiros_> I think we both agree, that this kind of forking is not what you consider as bad forking (since you don't consider it to be forking)
<dominikh> right
Radium has joined #ruby-lang
<apeiros_> leaves the former two
<judofyr> forking privately doesn't harm anything, it just means that little gets back to the community (e.g. GitHub's fork of Rails)
kvirani has joined #ruby-lang
Natch| has joined #ruby-lang
tekin has joined #ruby-lang
mark_locklear has joined #ruby-lang
dr0id has joined #ruby-lang
lele|w has joined #ruby-lang
Sulfur has joined #ruby-lang
rohit_ has joined #ruby-lang
rohit has joined #ruby-lang
Radium has joined #ruby-lang
slyphon has joined #ruby-lang
looopy has joined #ruby-lang
chimkan has joined #ruby-lang
vereteran has joined #ruby-lang
mytrile has joined #ruby-lang
tommyvyo has joined #ruby-lang
jmeeuwen_ has joined #ruby-lang
codewrangler has joined #ruby-lang
KillerFox has joined #ruby-lang
cyril_ has joined #ruby-lang
enebo has joined #ruby-lang
fayimora has joined #ruby-lang
cyri_ has joined #ruby-lang
dv310p3r has joined #ruby-lang
divoxx has joined #ruby-lang
dous has joined #ruby-lang
RORgasm has joined #ruby-lang
fayimora_ has joined #ruby-lang
tekin has joined #ruby-lang
mikeric has joined #ruby-lang
Radium has joined #ruby-lang
jxie has joined #ruby-lang
dv310p3r has joined #ruby-lang
dfr|mac has joined #ruby-lang
udzinari has joined #ruby-lang
JEG2 has joined #ruby-lang
jkprg has joined #ruby-lang
chimkan_ has joined #ruby-lang
Sailias has joined #ruby-lang
Radium has joined #ruby-lang
casaram has joined #ruby-lang
<Defusal> hmm
outoftime has joined #ruby-lang
uberjar has joined #ruby-lang
<Defusal> can be tricky balancing reading large amounts of data from a processes stdout without locking up all IO of the app
<Defusal> and without slowing it down too much
<judofyr> Defusal: read it in chunks
<uberjar> hi. if I have a method inside a timer like so: Timeout::timeout(31337) { some_method() } <--- will the timer become skewed if I catch an exception and use retry inside some_method ?
crudson has joined #ruby-lang
<Defusal> judofyr, i just started doing so, but its still tricky to find the right balance
dhruvasagar has joined #ruby-lang
divoxx has joined #ruby-lang
<Defusal> does anyone know what the minimum amount of time sleep() works for?
<judofyr> uberjar: it shouldn't
<uberjar> judofyr: it seems to in jruby land at least
<uberjar> judofyr: but thanks for letting me know it shouldn't I'll make a writeup that demonstrates it if I can.. maybe it's a jruby only problem or maybe I'm just doing something wrong
mssola has joined #ruby-lang
mistym has joined #ruby-lang
<Defusal> ok well reading 250 lines every 0.025 seconds seems ok
<headius> uberjar: should have no impact in jruby...if it does that's some kind of bug
<Defusal> will have to make sure that isnt too much IO load later
<Defusal> but so far so good
<judofyr> Defusal: what? why are you sleeping? just use blocking I/O?
<uberjar> ok I'll make a proof of concept code that tries to prove it's a bug then go from there. thanks
<headius> in JRuby timeout spins up a separate thread that just waits for the time out to expire before raising in the main thread
<Defusal> judofyr, the point is to give other threads time to IO
<headius> regardless of what the main thread does, timeout length should be unaffected
<uberjar> good to know
<judofyr> Defusal: blocking I/O on one thread doesn't block I/O on other threads
<Defusal> judofyr, if this thread uses read_lines, it goes quickly but other threads, including my EventMachine reactor locks up
<Defusal> readlines*
<Defusal> judofyr, it is a huge amount of data
<Defusal> it took me a while to figure out this what was what causing the lockups
<Defusal> but sleeping 0.025 every 250 lines seems fine now
<judofyr> ah
<Defusal> i could probably up it more
<Defusal> but im not even sure how to monitor the apps IO
<Defusal> or how to tell what the limit is
<Defusal> actually, 500 lines every 0.025 seconds is fine :)
<Defusal> and a lot quicker
<Defusal> takes 5 - 6 seconds to read 2289649 bytes
<Defusal> but since the output is from filesystem operations, it takes a few seconds anyway
kvirani has joined #ruby-lang
<Defusal> it copies 5GB in those 6 seconds, so thats not bad
wmoxam has joined #ruby-lang
wyhaines has joined #ruby-lang
chimkan has joined #ruby-lang
Hakon|mbp has joined #ruby-lang
Sailias_ has joined #ruby-lang
imajes has joined #ruby-lang
dv310p3r has joined #ruby-lang
bglusman has joined #ruby-lang
bglusman has joined #ruby-lang
morozovm has quit [#ruby-lang]
morozovm has joined #ruby-lang
sodani has joined #ruby-lang
rippa has joined #ruby-lang
<sodani> i'm getting the message /usr/bin/env: ruby: No such file or directory in my cron log. my cronjob looks like cd ~/rails_app && /path/to/rake rake_task. can someone tell me what's causing the error?
havenn has joined #ruby-lang
<rue> Assuming that /usr/bin/env ruby works otherwise, bad shebang line?
<sodani> rue: actually I have ruby in ~/.rvm
<sodani> so I guess it's looking for ruby in the wrong place, but I'm not sure how to fix the cronjob
gsav has joined #ruby-lang
<rue> You could try adding it to the path
<sodani> oh that makes sense
<sodani> thanks
<rue> Cron jobs don't share your env, so you may need to add various things
joast has joined #ruby-lang
chimkan has joined #ruby-lang
casaram has joined #ruby-lang
<sodani> rue: I see. I wish they shared my env
chimkan has joined #ruby-lang
chimkan_ has joined #ruby-lang
<rue> Does Whenever (and similar) offer anything to help with basically keeping the env intact?
tekin has joined #ruby-lang
moogs has joined #ruby-lang
dejongge has joined #ruby-lang
RORgasm has joined #ruby-lang
<sodani> not sure what 'Whenever' is. but I tried adding the rvm ruby bin to the path at the beginning of my cron file, so hopefully that'll work.
robotmay has joined #ruby-lang
Kichael has joined #ruby-lang
francisfish has joined #ruby-lang
jkyle has joined #ruby-lang
brianpWins has joined #ruby-lang
Indian has joined #ruby-lang
<sodani> oh Whenever is cron for ruby. will check it out
Skif has joined #ruby-lang
chris2 has joined #ruby-lang
chimkan_ has joined #ruby-lang
jkprg has joined #ruby-lang
dv310p3r has joined #ruby-lang
m3nd3s has joined #ruby-lang
chimkan_ has joined #ruby-lang
sine has joined #ruby-lang
sine has quit [#ruby-lang]
morozovm has joined #ruby-lang
chimkan_ has joined #ruby-lang
chimkan_ has joined #ruby-lang
rubyplusplus has joined #ruby-lang
rubyplusplus has joined #ruby-lang
chimkan__ has joined #ruby-lang
<Asher> anyone been contacted by githire.com?
francisfish has joined #ruby-lang
SuperTaz_work has joined #ruby-lang
ddfreyne has joined #ruby-lang
Oloryn_lt2 has joined #ruby-lang
<shevy> not me
m3nd3s has joined #ruby-lang
H2H has joined #ruby-lang
heftig has joined #ruby-lang
hagabaka has joined #ruby-lang
hagabaka has joined #ruby-lang
apeiros_ has joined #ruby-lang
davpoind has joined #ruby-lang
butchanton has joined #ruby-lang
rubyplusplus has joined #ruby-lang
<erikh> pretty much explains it
<Asher> solid performance record
divoxx has joined #ruby-lang
<erikh> well at least it's consistent
tekin has joined #ruby-lang
dreieins has joined #ruby-lang
tekin has joined #ruby-lang
divoxx has joined #ruby-lang
apeiros_ has joined #ruby-lang
<any-key> apeiros_: were you the guy who was doing mechanize?
io_syl has joined #ruby-lang
<Mon_Ouie> It's drbrain
<any-key> ohyeah!
deception_ has joined #ruby-lang
<deception_> Anyone here have experience with web scraping via Mechanize or something similar?
<apeiros_> any-key: I'm sorry, I only do girls, errr, women…
<any-key> deception_: drbrain is the guy you want to talk to
<deception_> I have used Mechanize but now the site has JS and Mechanize can't handle it properly.
<deception_> Ty
olesu has joined #ruby-lang
chimkan has joined #ruby-lang
<rue> Isn't there that headless full browser thingy?
<any-key> Watir/Selenium
<any-key> that's overkill
<any-key> well, yes and no
<any-key> if it's a single site he's scraping he can reverse engineer the JS to grab the URL it's using to fetch JSON or whatever
<deception_> drbrain: When you have a free second to offer advice and are willing: What could one use to scrape a website that uses JS to open a UPS address validation form.
<any-key> if it's a general scrap then he may want to use Watir, although that'll slow things down considerably
<deception_> It's a single site
yango has joined #ruby-lang
<deception_> Speed isn't much of an issue
fayimora has joined #ruby-lang
<any-key> deception_: pop open the JS, see where it's pulling the data from
<uniqanomaly_> phantomjs.org
<deception_> k
<deception_> Ty
<any-key> you should be able to use that URL...which in theory could make scraping somewhat unneccessary
<any-key> seeing as you could get the raw data
havenn has joined #ruby-lang
tekin has joined #ruby-lang
<deception_> Well the site polls UPS for address validation
<deception_> I'm using a script to submit orders instead of typing them in by hand.
<deception_> So all I really need to do is hit the submit button on the form but Mechanize doesn't see that form in the html
<any-key> do they use a JS event handler to submit the form after validation?
<any-key> you don't even need to "click" the button, unless there's session information
<any-key> just do a POST with your data to whatever address it submits to
<deception_> That makes sense
<any-key> I'm assuming this doesn't require being logged in?
<deception_> Correct
<any-key> awesome, you're set then
<deception_> It's a small site if you want to see the source. I don't know too much JS
<any-key> what browser do you use?
<deception_> But ty for the pointers
<any-key> you don't even need JS
<deception_> Chrome or firefox
<any-key> fire up chrome, then pull up the web inspector and click the "Network" tab
<deception_> Ahh so that's where that info is!
<any-key> then enter the data on the web page and click the submit button, take a look at the POST request it sends
<deception_> KK hold on
<any-key> now you can use net/http or any other thingamajig to POST that data yourself
<any-key> and tada, your life is much simpler, no need to use external libraries
darkf has joined #ruby-lang
<deception_> any-key: Thanks. I'm at work now and don't have time to deal with it but you sound right. I'll give it a shot tonight Thanks!
<any-key> No problem, hope it works
<deception_> Me too lol
<any-key> I kind of miss doing gratuitous amounts of scraping...my first internship had me violating the TOS for all the major newspapers in the US :)
<deception_> Ahaha got to love when jobs make you do shady stuff
<deception_> Just reversed our accounting software to increase the allowed amount of active users ;P
chimkan has joined #ruby-lang
<shevy> :P
casaram has joined #ruby-lang
<hagabaka> wouldn't it be trouble for your company if it was found out?
<any-key> damn, doing print "hello"; sleep 1; printf "\033[K" doesn't seem to clear the line
<freedrull> wtf my sinatra app is like 20 processes
<deception_> The software is EOL and they don't provide support or means to increase users
<deception_> Sooo not much else to do. They dont car.
<deception_> care*
Stalkr_ has joined #ruby-lang
gregmoreno has joined #ruby-lang
<shevy> car car car
sepp2k has joined #ruby-lang
gregmoreno has joined #ruby-lang
bglusman has joined #ruby-lang
Swimming_Bird has joined #ruby-lang
robgleeson|mba has joined #ruby-lang
<robgleeson|mba> injekt: ping
mrsolo has joined #ruby-lang
yango has joined #ruby-lang
achiu has joined #ruby-lang
retro|cz has joined #ruby-lang
jkyle has joined #ruby-lang
dominikh has joined #ruby-lang
RORgasm has joined #ruby-lang
casaram has joined #ruby-lang
ascarter has joined #ruby-lang
gianlucadv has joined #ruby-lang
gregmore_ has joined #ruby-lang
deception_ has quit [#ruby-lang]
malev has joined #ruby-lang
RickHull has joined #ruby-lang
rushed has joined #ruby-lang
arkonova has joined #ruby-lang
ThatDudeGuy_ has joined #ruby-lang
havenn has joined #ruby-lang
arkonova has joined #ruby-lang
kitallis has joined #ruby-lang
Radium has joined #ruby-lang
bish0p has joined #ruby-lang
<bish0p> not a real problem, but wondering if anybody can explain why the extra 000004 shows up here: 27766.73 + 10481.46 + 11024.40 => 49272.590000000004
<bish0p> using: ruby-1.9.2-p290
chimkan has joined #ruby-lang
Cherrum has joined #ruby-lang
<rking> bish0p: I'm not (yet) an expert, but that looks like classic floating point error.
workmad3 has joined #ruby-lang
retro|cz has joined #ruby-lang
<rking> bish0p: The basic idea is that computers get loosey-goosey with the decimal places for floating-point numbers in the interests of speed, so stuff like that happens. What I'd try is multiplying it by 100 then using it as an int.
<apeiros_> rking: the basic idea is that not all numbers can be represented precisely. you can't represent 1/3 in decimal either e.g.
francisfish has joined #ruby-lang
<rking> apeiros_: Ahh, good, yep. So the FP error stuff is not about speed, only the rational representation?
<apeiros_> given that floats are in base 2, even numbers that are real and finite in base 10 can't be represented by floats
<bish0p> ok, i'm parsing how that could happen now
yxhuvud has joined #ruby-lang
casaram has joined #ruby-lang
<rking> apeiros_: I wouldn't say they "can't" be -- a 32-bit word could have 16 bits for the numerator and 16 for the denominator, and it would work though its range would be more limited.
<apeiros_> rking: you get it wrong
<apeiros_> you could represent 1/3 in a finite number in base 3
<apeiros_> you can't in base 10
<rking> apeiros_: That's assuming you don't have a numerator and a denominator.
JEG2 has joined #ruby-lang
casaram has joined #ruby-lang
Oloryn_lt2 has joined #ruby-lang
olesu has joined #ruby-lang
rdavila has joined #ruby-lang
amerine has joined #ruby-lang
nguerin has joined #ruby-lang
SuperTaz_work has joined #ruby-lang
moogs_ has joined #ruby-lang
enebo has joined #ruby-lang
cyril_ has joined #ruby-lang
cyri_ has joined #ruby-lang
Asher has joined #ruby-lang
curtism has joined #ruby-lang
curtism has joined #ruby-lang
SuperTa__ has joined #ruby-lang
Skif has joined #ruby-lang
m3nd3s_ has joined #ruby-lang
<TTilus> rking: 0.1 in base 3
erics has joined #ruby-lang
<TTilus> or with rational independent of base
<rking> TTilus: Hrm?
<TTilus> 1 * 3^-1
<TTilus> digit * base^place + ...
workmad3 has joined #ruby-lang
Hakon|mbp has joined #ruby-lang
casaram has joined #ruby-lang
srbaker has joined #ruby-lang
kyrylo has joined #ruby-lang
kyrylo has joined #ruby-lang
senj has joined #ruby-lang
lsegal has joined #ruby-lang
olesu has joined #ruby-lang
mikkelb has joined #ruby-lang
<mikkelb> What do you guys think of https://github.com/spree/spree/blob/master/core/app/models/spree/order.rb - is it "good Ruby code"?
<mikkelb> Stuff like BETWEEN ? AND , IS NOT NULL as well as stuff like def completed?; !! completed_at; end, def payment_required?; total.to_f > 0.0; end etc.?
RORgasm has joined #ruby-lang
Boohbah has joined #ruby-lang
<yxhuvud> mikkelb: seems mostly fine. all code bases that size have issues that should be improved.
<yxhuvud> The biggest problem is that the model is waaaaay too fat
Torrieri has joined #ruby-lang
<mikkelb> yxhuvud: cool
Asher has joined #ruby-lang
sandbags has joined #ruby-lang
tekin has joined #ruby-lang
jbwiv has joined #ruby-lang
kvirani has joined #ruby-lang
olesu has joined #ruby-lang
phaedrix has joined #ruby-lang
justinmcp has joined #ruby-lang
virunga has joined #ruby-lang
m3nd3s has joined #ruby-lang
publicvoid has joined #ruby-lang
havenn_ has joined #ruby-lang
postmodern has joined #ruby-lang
dcorbin has joined #ruby-lang
<RickHull> i've got a table of the form (pid, id, name) where pid is parent_id, and parent_id == NULL indicates root node
<RickHull> this describes a tree, if you will. with NULL as the root
<RickHull> to be consistent, i should say that parent_id == NULL indicates the initial trunks
<RickHull> i am trying to generate a "temporary" table of the form (tid, id, name) where tid is the trunk_id
<RickHull> basically collapsing all leaves and interim branches to the trunk
<RickHull> that is, for every (id,name) i simply want to have a temp table noting its trunk id
<RickHull> this is so I don't have to walk the tree, given an id, to find its trunk id
<RickHull> as it happens, the initial table is in a database, and my temp lookup table will be in a database as well
<RickHull> my goal in creating the temporary table is to incur the tree-walking cost once, though perhaps this is premature
<RickHull> it seems to me that to determine the trunk_id for a given id using only the first table would require several queries. unless there is a tricky way to do it with joins or something
<RickHull> my tree depth may go as high as 20
<RickHull> and there are on the order of a million ids
<RickHull> so you can see why my temp table may be helpful
<RickHull> my initial approach is to grab the trunk ids, then for each of those, find their children and insert them into the temp table. so and and so forth for the children
<neilc> zenspider: around?
<yxhuvud> RickHull: seems like you might want a better data structure than a single pointer to the parent
sdeobald has joined #ruby-lang
<RickHull> yxhuvud: i don't disagree. i am given the intitial table though
<RickHull> i can't change what I am given. i can create something new from it
<RickHull> part of my pain is that i'm doing this sort of mechanistically, layer by layer, with no real stopping condition
<RickHull> i know there is a way to express this as a loop, stopping when I hit a leaf node (no children)
<RickHull> and it's a real pain coding around the db interface
<RickHull> nested queries and whatnot
<yxhuvud> what db?
<RickHull> postgres
<RickHull> using pg gem and small wrapper i made
<RickHull> another approach i was imagining is to just slurp out all the tuples from the initial table and try to figure out the tree strictly from that, and somehow bulk insert into the temp table
<yxhuvud> Hmm. Then you should be able to write recursive queries in sql.
<RickHull> i don't doubt it. this would be a totally new area for me
<jkyle> where can I find documentation on a built in ruby debugger? I'm searching ruby-doc.org
<jkyle> no hits
<yxhuvud> could be a start
<RickHull> ha
<RickHull> looks great at a glance, thx
workmad3 has joined #ruby-lang
<RickHull> almost word for word, at a glance
qpingu has joined #ruby-lang
qpingu has quit [#ruby-lang]
<RickHull> i'm almost tempted to slurp the table into hash keyed by id. i should be able to walk the hash pretty quickly
<Boohbah> stackoverflow knows everything
<RickHull> maybe do it chunks not to blow out my RAM
<RickHull> hm, chunks probably won't work, broken branches
sodani has quit [#ruby-lang]
Cherrum has joined #ruby-lang
ftravers has joined #ruby-lang
Lee_A has joined #ruby-lang
casaram has joined #ruby-lang
Hakon|mbp has joined #ruby-lang
scampbell has joined #ruby-lang
H2H has joined #ruby-lang
RickHull has quit [#ruby-lang]
srbaker has joined #ruby-lang
scientes has joined #ruby-lang
Hakon|mbp has joined #ruby-lang
RickHull1 has joined #ruby-lang
wmoxam has joined #ruby-lang
Hakon|mbp has joined #ruby-lang
Cherrum has joined #ruby-lang
zombiesandbags has joined #ruby-lang
malev_ has joined #ruby-lang
Lee_A has joined #ruby-lang
thone has joined #ruby-lang
sandbags has joined #ruby-lang
francisfish has joined #ruby-lang
Lee_A has joined #ruby-lang
Muz has joined #ruby-lang
Radium has joined #ruby-lang
optikalmouse has joined #ruby-lang
<optikalmouse> how do I check the syntax of my ruby files?
<drbrain> ruby -c
<optikalmouse> I dont even understand wtf happened but I keep getting a syntaxerror
<drbrain> or just run them
<optikalmouse> run what
<optikalmouse> the file? to check the syntax?
<optikalmouse> -_-'
<drbrain> the ruby file
<optikalmouse> yeah no, it's part of a rails project.
<drbrain> ruby -c path/to/the/file.rb is the fast way
ascarter has joined #ruby-lang
<drbrain> … if you have lots of other files to load before getting to the syntax error
<lianj> cool. never knew :)
<Asher> what is a good control structure for this pattern: match path parts (/some/path/parts), 1 part to 1 object that determines match (ie some compared to 'some'), except that one type of match test requires testing the next part
Lee_A has joined #ruby-lang
<Asher> ie part 1 matches only if part 2 matches
<Asher> so individual part matchers are objects, and they are collected together, but i want the match comparison to remain in the object context (so different types can be determined)
lordzero has joined #ruby-lang
chimkan has joined #ruby-lang
chimkan has joined #ruby-lang
<lordzero> stupid question probably, but what is the best way to loops something like TweetStream::Client.new.track(queryFormat(tResults)) do |status| so I can change the results value?
<lordzero> so the tResults changes occassionaly, i need to modifying what I'm searching for
<drbrain> lordzero: that's a pretty crazy amount of stuff to have on one line
<lordzero> it is?
<drbrain> client = TweetStream::Client.new; query = queryFormat tResults; client.track query do |status| … end
<lordzero> its actually @client.new etc
<lordzero> i mean @client.track
<lordzero> i just combinded it for the channel
<lordzero> but yes, you are right
<drbrain> ok
<lordzero> cant wrap my head around how to loop this
<lordzero> so i pickup or remove new valies
<lordzero> values
<drbrain> so your user says "I want to track dogs on twitter" then "I want to track cats on twitter"?
<lordzero> pretty much
<lordzero> or they want to track dogs and cats
<lordzero> novel idea right
<drbrain> loop do query = queryFormat tResults; client.track query do |status| next unless current_query == query; … end
<drbrain> oops, I missed an end
francisfish has joined #ruby-lang
<drbrain> I assume that client.track never returns?
<lordzero> nope
<drbrain> actually, the next should be braek
<drbrain> in that case, take out the next expression and you should be fine
RORgasm has joined #ruby-lang
<lordzero> you mind reposting that, apparently my xterm bugged out and i cant scroll up
<lordzero> running it in unity mode in vmware
optikalmouse has quit ["ERC Version 5.3 (IRC client for Emacs)"]
<drbrain> loop do query = queryFormat tResults; client.track query do |status| … end end
<drbrain> I took out the `next unless`
<lordzero> thank you
<lordzero> :)
<Boohbah> unless4lyfe!
RickHull has joined #ruby-lang
Nss has joined #ruby-lang
<slyphon> i will *always* somewhat resent matz for making me spell 'initialize' accurately
<slyphon> that has got to be the most annoying self-inflicted wound
<slyphon> it's like the paper cut of ruby programming
<RickHull> you'd think his nick would be mats
<slyphon> nah
<slyphon> matz is way cooler
<RickHull> hence, initialize
<lordzero> hah
<drbrain> slyphon: in the very beginning you needed to resque exceptions
<slyphon> drbrain: are you kidding?
<slyphon> it's not the spelling
<drbrain> slyphon: no, it was a typo
<slyphon> it's initialize comes out iniitalize or such every once in a while
<slyphon> hahahahahhaha
<drbrain> I think only in ruby 1.0
<slyphon> that's too funny
<slyphon> i still think it's awesome they have a module 'rinda'
<slyphon> *that* shows a good sense of humor
<drbrain> yes
casaram has joined #ruby-lang
Lee_A has joined #ruby-lang
kitallis has joined #ruby-lang
<Boohbah> at least he didn't choose the English spelling 'initialise' :)
* slyphon tries to figure out the behavior of Object#==
<slyphon> well, guess, really
<RickHull> Boohbah: that's what i thought slyphon's complaint was
<drbrain> slyphon: this should be enough: ruby -e 'o = Object.new; p o == o, o == o.dup'
<slyphon> RickHull: oh no, i'm a 'murican
<RickHull> hence, initialize is spelt correctly ;)
<slyphon> drbrain: does it compare instance variables of two objects of the same class?
<slyphon> i'm just trying to figure out if i need to override it here
<drbrain> slyphon: nope
<slyphon> balls!
<slyphon> ok
<slyphon> thanks
<drbrain> Object#== is Object#eql? is Object#equal?
<slyphon> !
<slyphon> that's not confusing
<drbrain> it only checks if they're the same object, nothing else
* slyphon nods
nguerin has joined #ruby-lang
<slyphon> drbrain: oh, so that's a quick short circuit
<slyphon> before comparing ivars
* slyphon hadn't thought of that
<drbrain> there is no comparing of ivars
<slyphon> no no
<slyphon> i'm gonna write taht
<slyphon> well, using attr_reader, y'know, i'm not a heathen
<drbrain> oh, yeah, you can super
<slyphon> i can super like you can't believe
<Boohbah> RickHull: spelt is not a word in American :)
<drbrain> but I generally write def == other; self.class === other and @foo == other.foo and … end
<rue> Boohbah: It is, actually
<Boohbah> RickHull: well it is, but it's a type of grain
<rue> It's a grain
<slyphon> past tense of spell
<Boohbah> rue: yes
<slyphon> ?
<slyphon> spelled?
<RickHull> Boohbah: yeah, that was part of my joke
<Boohbah> RickHull: i like that :)
<drbrain> it might be a tad faster to super or (my stuff)
<RickHull> don't encourage me
<drbrain> depending on how ofter you compared identical items
<Boohbah> rubbish!
<drbrain> objects
<slyphon> duck typing is bollocks
<slyphon> there
<slyphon> i said it
<slyphon> :w
<slyphon> laksjdfljak
havenn has joined #ruby-lang
<whitequark> hm
<drbrain> your admission seems to have caused a muscle spasm
<slyphon> drbrain: it's the first step in the healing process
<whitequark> do you possibly know a way (including insane ones) to hook into rubygems from an external gem?
<slyphon> i know what all those words mean, individually
<drbrain> whitequark: "hook into rubygems" to do what?
<whitequark> drbrain: I'm sick of writing "bundle exec shit" each time
<drbrain> whitequark: https://rubygems.org/gems/noexec ?
kenips has joined #ruby-lang
<RickHull> there was a reddit post today about that
<whitequark> hivemind
<kenips> hello, is there a method that picks out all the substrings in a string that matches a regex pattern? sort of like the inverse of .split(pattern)?
<rue> kenips: There is indeed, did you check the String doc?
<whitequark> drbrain: you are awesome
<rue> Two, actually
<drbrain> kenips: scan
<slyphon> bah
<kenips> rue: okay... let me look then again :)
<slyphon> alias be='bundle exec'
<slyphon> there, fixed that for you
<kenips> drbrain: thanks!
<drbrain> if you can't solve it with split, scan is your friend
<slyphon> alias bers='bundle exec rspec spec'
<rue> kenips: Your penance is to read the docs anyway :)
<slyphon> even awesomer!
<RickHull> can we make it beers somehow?
<slyphon> RickHull: chars are free
<slyphon> 8 bits each, actually
<RickHull> not semantically
<slyphon> but they're so cheap these days
looopy has joined #ruby-lang
<slyphon> then again, if a shave and a haircut is two bits, that's like US$17 these days
<RickHull> six bits, i thought
<slyphon> only on IBM System/370
<RickHull> heh
<slyphon> :)
<kenips> rue: I agree... did a quick scan, but I guess too quick :)
<RickHull> you gotta String#scan the String doc
<RickHull> it's a bit of a catch 22
* slyphon throw(22)
<slyphon> nope, that's a TypeError
<slyphon> damn you ruby!!!
* slyphon shakes fist
prsimp has joined #ruby-lang
<drbrain> slyphon: ?? works fine for me
<slyphon> oh hah
<slyphon> i actually didn't check
<slyphon> i thought throw only took a symbol
<drbrain> (actually, it fails on ruby 1.8, but not 1.9+
<slyphon> ahhh
<slyphon> ok, that's what i was remembering
<drbrain> I just wanted to be a smartass
<RickHull> dumb question (pure semantic OCD): would you call the item(s) with parent_id = NULL a trunk or a root node? in my particular case, i have several
<slyphon> drbrain: hah! nah, that's good to know
<drbrain> RickHull: roots
<RickHull> roots, sounds reasonable. it will make for some ugly table names and variables i think
<drbrain> I think symbols and integers were interchangeable once upon a time
<RickHull> i was imagining id=NULL = THE ROOT, so they could be "trunks"
<drbrain> which is probably why 1.8 complains
<RickHull> though I guess i could just consider N distinct trees
tjadc has joined #ruby-lang
<RickHull> trunk isn't really a CS tree term, I don't think :(
casaram has joined #ruby-lang
dejongge has joined #ruby-lang
shyouhei_ has joined #ruby-lang
<slyphon> so
<slyphon> in the past with #<Foo:29039840>
<slyphon> the integer was not the object_id
prsimp has joined #ruby-lang
<slyphon> what the heck is it?
<RickHull> the # for tech support
* slyphon lulz
<slyphon> woah, wtf
<slyphon> overriding #to_s changes #inspect ?
WillMarshall has joined #ruby-lang
* slyphon is confusored
* slyphon smells activesupport
<RickHull> i wouldn't think so, unless #inspect calls it
<RickHull> which seems reasonably plausible for some cases
<rue> Default
<rue> Dunno if it'd make more sense for the default #to_s to be #inspect, but it's the other way
<slyphon> really?!
<slyphon> how have i never run into this before..
<slyphon> .
countskm has joined #ruby-lang
<drbrain> slyphon: I think the behavior changed in 1.9
<slyphon> ahh
<slyphon> man
<RickHull> i still can't use 1.9 at work, but i just started this side/home project so I'm finally diving in
<slyphon> i'm still in this middle ground, all our software is 1.9, but chef is running under 1.8
<slyphon> so i'm always just being conservative
<RickHull> is manipulating $RUBYLIB still a good way to have clean requires? i.e. instead of require './foo.rb'
* slyphon skeeves
<slyphon> well, i modify $LOAD_PATH
<slyphon> so i shouldn't be one to talk
<drbrain> I use ruby -I
<RickHull> don't let me imply it was ever a good way
<slyphon> RickHull: i think the official answer is ^^
<drbrain> ruby -I.
<RickHull> it has worked fine for me, but i don't really distribute
<drbrain> I think RUBYLIB is ok
<drbrain> so long as you keep it on your system and your code can work without it when packaged and released
<RickHull> i've never packaged or released ;)
<RickHull> it's something i'd like to do, but there's no need/budget for it at work
jayne has joined #ruby-lang
<RickHull> and my side stuff has been withering
<RickHull> but not for long!
tenderlove has joined #ruby-lang
kenips has joined #ruby-lang
<denysonique> Can you make Ruby << operator accept blocks?
<drbrain> denysonique: if you call it like obj.<<, yes
<RickHull> that takes the fun away
<drbrain> obj << x do end is a syntax error
<denysonique> hmm
<denysonique> this is a bug then
<denysonique> it restricts me from defining cool syntax
<denysonique> this is against the spirit of Ruby
<drbrain> it's not a bug
<RickHull> pitchforks!
<drbrain> it is not against the spirit of ruby
<denysonique> ok, so tell me Distributed Ruby Brain, why Ruby doesn't allow for this?
<denysonique> (;
<denysonique> or actually
<denysonique> Distributed Ruby Rain
<denysonique> ;>
<drbrain> denysonique: none of the operator syntax allows blocks because it is hard to read and understand
<drbrain> would it be `obj << (x do … end)` or `obj.<<(x) do end`
<denysonique> drbrain: I think this is very readable: https://gist.github.com/2231247
<drbrain> denysonique: what about menu << quit do $app.quit end
<Boohbah> drbrain: where do you get that ellipsis … character from?
<slyphon> soooo
<Boohbah> i mean, is it easy for you to type?
<slyphon> Boohbah: his client probalby does that by default
<drbrain> Boohbah: I have an OS X text replacement that changes three periods to the elipsis
<slyphon> Adium does that, annoyingly
<denysonique> drbrain: 'quit' is a varius string
<denysonique> various*
<denysonique> a GUI menu item
<Boohbah> drbrain: ahh, interesting
<drbrain> slyphon: right-click the text input bar, Substitutions, uncheck Text Replacements
<slyphon> drbrain: way ahead of ya
<drbrain> denysonique: what if I don't want to use a string?
<slyphon> drbrain: do you know, offhand, with Hash, if you want to prevent a key from being set more than once, is there *one* method you can override to do that?
<denysonique> and the block defines what happens when the user cicks the menu item
<drbrain> slyphon: in MRI, no
<slyphon> balls
<denysonique> drbrain: hmm, then this method should be only implemented for string scenarios (;
nguerin has joined #ruby-lang
<denysonique> the << 'string' &blk method
<drbrain> ruby calls rb_hash_aset(), but it should be possible for rubinius
<slyphon> that's annoying
<drbrain> denysonique: then the same syntax has different effects, not a good design choice
<slyphon> oh well, it doesn't have to be perfect...
<denysonique> ok
<denysonique> but why does it work with the . then
<denysonique> .<<
<slyphon> drbrain: oh, so it's just Hash#[]= and Hash#store
<slyphon> ...it looks like
<denysonique> drbrain: in the API I am creating strings would be used %99 of the time
<denysonique> for nonstrings there will be an alternative method
<drbrain> denysonique: it's using regular method call syntax there, which allows a block to follow
<drbrain> denysonique: but that's just you
<drbrain> everybody will be able to use this syntax, and won't immediately know the difference
<denysonique> ok
<denysonique> thanks for the time and explaining
<denysonique> I will still think about it (;
<drbrain> denysonique: I think menu.item 'Quit' do $app.quit end is just as good
<denysonique> drbrain: yep, thats exactly what I am considering as an alternative, you read my mind
* slyphon creates ParanoidHash
<slyphon> best thing with SociopathicEggs
havenn has joined #ruby-lang
<RickHull> I tried to make a hash-like wrapper for redis
<RickHull> i guess i succeeded. i use it
<RickHull> but one thing i recall, i needed more than just the methods i wanted to respond to
<RickHull> almost as if the private designation had some use
<RickHull> and i needed to have the private methods implemented
looopy has joined #ruby-lang
<RickHull> i probably tried to inherit from Hash, not sure. i should check. this is likely apocrypha v0v
Skif has joined #ruby-lang
<rue> slyphon: That was a little runny :) You need to hang out here more, tighten up your game
<slyphon> hahah
<slyphon> PsychoticCoffee?
<RickHull> I started walking down the path and I couldn't turn around :/
S1kx has joined #ruby-lang
robotmay has joined #ruby-lang
scampbell has joined #ruby-lang
Joeysomo has joined #ruby-lang
Sailias has joined #ruby-lang
<Boohbah> rue: the yolk is the sauce
dasibre has joined #ruby-lang
Joeysomo has joined #ruby-lang
takaokouji has joined #ruby-lang
looopy has joined #ruby-lang
Natch| has joined #ruby-lang
retro|cz has joined #ruby-lang
tomzx has joined #ruby-lang
RORgasm has joined #ruby-lang
Torrieri has joined #ruby-lang
s0ber_ has joined #ruby-lang
y3llow_ has joined #ruby-lang
Clordio_ has joined #ruby-lang
tenderlove has joined #ruby-lang