apeiros changed the topic of #ruby-lang to: RIP Jim || Ruby 2.1.1; 2.0.0-p451; 1.9.3-p545: http://ruby-lang.org || Paste >3 lines of text on http://gist.github.com
marr has quit [Ping timeout: 240 seconds]
skade has quit [Ping timeout: 250 seconds]
ur5us_ has quit [Remote host closed the connection]
kitak has quit [Remote host closed the connection]
ur5us has joined #ruby-lang
kitak has joined #ruby-lang
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
charliesome has joined #ruby-lang
RobertBirnie has quit [Ping timeout: 245 seconds]
charliesome has quit [Ping timeout: 245 seconds]
UnclueFungus has joined #ruby-lang
bin8me has quit [Remote host closed the connection]
mykoweb has quit [Remote host closed the connection]
sdouglas has joined #ruby-lang
itsmynick has joined #ruby-lang
vlad_starkov has joined #ruby-lang
kitak has quit [Ping timeout: 240 seconds]
dm78 has left #ruby-lang [#ruby-lang]
hahuang65 has quit [Ping timeout: 265 seconds]
vlad_starkov has quit [Ping timeout: 245 seconds]
lolmaus has quit [Ping timeout: 252 seconds]
sdouglas has quit [Remote host closed the connection]
sdouglas has joined #ruby-lang
chouhoulis has quit [Remote host closed the connection]
momomomomo has joined #ruby-lang
omosoj has quit [Ping timeout: 245 seconds]
sdouglas has quit [Ping timeout: 250 seconds]
dik_dak has quit [Quit: Leaving]
nathanstitt has quit [Quit: I growing sleepy]
|jemc| has joined #ruby-lang
sdouglas has joined #ruby-lang
btiefert has quit [Read error: Connection reset by peer]
chouhoulis has joined #ruby-lang
pixelhandler has quit [Quit: pixelhandler]
pixelhandler has joined #ruby-lang
bahar has quit [Ping timeout: 240 seconds]
sepp2k has quit [Quit: Leaving.]
ur5us_ has joined #ruby-lang
ur5us_ has quit [Remote host closed the connection]
Lewix has joined #ruby-lang
ur5us_ has joined #ruby-lang
mistym has quit [Quit: Leaving]
nathanstitt has joined #ruby-lang
ur5us has quit [Ping timeout: 258 seconds]
lsegal has joined #ruby-lang
emaxi_ has quit [Remote host closed the connection]
emaxi has joined #ruby-lang
lolmaus has joined #ruby-lang
dorei has quit []
fuhgeddaboudit has joined #ruby-lang
nathanstitt has quit [Quit: I growing sleepy]
emaxi has quit [Ping timeout: 240 seconds]
sdouglas has quit [Remote host closed the connection]
toastynerd has quit [Remote host closed the connection]
skade has joined #ruby-lang
iTrojan has quit [Quit: Leaving.]
amsi has quit [Quit: Leaving]
ur5us has joined #ruby-lang
elliotec has quit [Remote host closed the connection]
kalehv has joined #ruby-lang
mistym has joined #ruby-lang
skade has quit [Ping timeout: 250 seconds]
elliotec has joined #ruby-lang
bawigga has joined #ruby-lang
nisstyre has joined #ruby-lang
pixelhandler has quit [Quit: pixelhandler]
ur5us_ has quit [Ping timeout: 276 seconds]
omosoj has joined #ruby-lang
elliotec has quit [Remote host closed the connection]
elliotec has joined #ruby-lang
amclain has joined #ruby-lang
toastynerd has joined #ruby-lang
polyidus has quit [Quit: EOF]
ur5us has quit [Ping timeout: 276 seconds]
dm78 has joined #ruby-lang
ur5us has joined #ruby-lang
elliotec has quit [Remote host closed the connection]
tkuchiki has joined #ruby-lang
arBmind1 has joined #ruby-lang
arBmind has quit [Ping timeout: 252 seconds]
cnivolle has quit []
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
toastynerd has quit [Remote host closed the connection]
tyrbo has quit [Read error: Connection reset by peer]
elliotec has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
jason_ has joined #ruby-lang
eval-in_ has joined #ruby-lang
tyrbo has joined #ruby-lang
DefV_ has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
eam_ has joined #ruby-lang
davispuhh has joined #ruby-lang
vlad_starkov has joined #ruby-lang
ericwood_ has joined #ruby-lang
tyrbo has joined #ruby-lang
snk_ has joined #ruby-lang
eval-in has quit [Ping timeout: 240 seconds]
eam has quit [Ping timeout: 240 seconds]
ericwood has quit [Ping timeout: 240 seconds]
snk has quit [Ping timeout: 240 seconds]
DefV has quit [Ping timeout: 240 seconds]
davispuh has quit [Ping timeout: 240 seconds]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
elliotec has quit [Remote host closed the connection]
UnclueFungus has quit [Ping timeout: 252 seconds]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
vlad_starkov has quit [Ping timeout: 245 seconds]
tyrbo_ has joined #ruby-lang
tyrbo__ has joined #ruby-lang
tyrbo has quit [Ping timeout: 276 seconds]
tyrbo__ has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
saarinen has quit [Quit: saarinen]
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo_ has quit [Ping timeout: 276 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
existensil has quit [Quit: WeeChat 0.4.1]
tyrbo has joined #ruby-lang
charliesome has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
willmarshall has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
iTrojan has joined #ruby-lang
tyrbo has joined #ruby-lang
emaxi has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
bougyman has joined #ruby-lang
bougyman has quit [Changing host]
bougyman has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
fuhgeddaboudit has quit [Ping timeout: 265 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
emaxi has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
robbyoconnor has quit [Quit: Konversation terminated!]
robbyoconnor has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
davispuhh is now known as davispuh
tyrbo_ has joined #ruby-lang
emaxi has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
twright has joined #ruby-lang
tyrbo_ has joined #ruby-lang
polyidus has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
wallerdev has quit [Quit: wallerdev]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
skade has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
lolmaus has quit [Quit: No Ping reply in 180 seconds.]
lolmaus has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
jason___ has joined #ruby-lang
skade has quit [Ping timeout: 258 seconds]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
konr_ has quit [Ping timeout: 252 seconds]
melter has quit [Ping timeout: 252 seconds]
tyrbo_ has joined #ruby-lang
jason_ has quit [Ping timeout: 252 seconds]
jds has quit [Ping timeout: 252 seconds]
emaxi has quit [Remote host closed the connection]
tyrbo__ has joined #ruby-lang
ggherdov has quit [Ping timeout: 252 seconds]
tyrbo__ has quit [Remote host closed the connection]
kalehv has quit [Read error: Connection reset by peer]
robbyoconnor has quit [Ping timeout: 252 seconds]
emaxi has joined #ruby-lang
kalehv has joined #ruby-lang
mbj has joined #ruby-lang
konr_ has joined #ruby-lang
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Remote host closed the connection]
tyrbo__ has joined #ruby-lang
skade has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
jds has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
esmet_ has joined #ruby-lang
tyrbo_ has quit [Ping timeout: 276 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
MindfulMonk has quit [Ping timeout: 276 seconds]
khaase__ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
emaxi has quit [Ping timeout: 276 seconds]
tyrbo has quit [Remote host closed the connection]
Speed has quit [Quit: When two people dream the same dream, it ceases to be an illusion.]
ggherdov has joined #ruby-lang
twright has quit [Ping timeout: 264 seconds]
tyrbo__ has quit [Ping timeout: 276 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
skade has quit [Ping timeout: 252 seconds]
nathanstitt has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
melter has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
omosoj has quit [Ping timeout: 252 seconds]
tyrbo has joined #ruby-lang
omosoj has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
MindfulMonk has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
saarinen has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
eugmill has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
mehlah has quit [Quit: Leaving...]
tyrbo has joined #ruby-lang
elliotec has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
toastynerd has joined #ruby-lang
knu has quit [Ping timeout: 245 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
elliotec has quit [Ping timeout: 258 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
fuhgeddaboudit has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
melter has quit [Ping timeout: 252 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
khaase has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
wallerdev has joined #ruby-lang
tyrbo_ has quit [Ping timeout: 276 seconds]
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
mbj has quit [Ping timeout: 258 seconds]
tyrbo_ has quit [Read error: Connection reset by peer]
melter has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
khaase has quit [Ping timeout: 265 seconds]
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
jason___ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
eugmill has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
brianpWins has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
elliotec has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo has quit [Ping timeout: 276 seconds]
skade has joined #ruby-lang
kitak_ has quit [Remote host closed the connection]
kitak has joined #ruby-lang
mykoweb has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
TheMoonMaster has quit [Excess Flood]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
TheMoonMaster has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
skade has quit [Ping timeout: 258 seconds]
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
davispuh has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
bawigga has quit []
tyrbo_ has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
x0f has joined #ruby-lang
bawigga has joined #ruby-lang
tyrbo has joined #ruby-lang
x0f_ has quit [Ping timeout: 252 seconds]
tyrbo__ has joined #ruby-lang
hgl has joined #ruby-lang
tyrbo__ has quit [Read error: Connection reset by peer]
hgl has quit [Max SendQ exceeded]
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Read error: Connection reset by peer]
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Remote host closed the connection]
tyrbo_ has quit [Ping timeout: 276 seconds]
tyrbo__ has joined #ruby-lang
simpleirc1 has joined #ruby-lang
tyrbo__ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo__ has joined #ruby-lang
tyrbo has quit [Ping timeout: 276 seconds]
tyrbo__ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
mykoweb has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
elliotec has quit [Read error: Connection reset by peer]
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
elliotec has joined #ruby-lang
tyrbo_ has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
Lewix has quit [Remote host closed the connection]
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
simpleirc1 has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
fuhgeddaboudit has quit [Ping timeout: 276 seconds]
tyrbo_ has joined #ruby-lang
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Remote host closed the connection]
yfeldblum has quit [Remote host closed the connection]
vlad_starkov has joined #ruby-lang
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Read error: Connection reset by peer]
tyrbo__ has joined #ruby-lang
tyrbo has quit [Ping timeout: 276 seconds]
tyrbo___ has joined #ruby-lang
tyrbo___ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo_ has quit [Ping timeout: 276 seconds]
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo__ has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
mistym has quit [Remote host closed the connection]
vlad_starkov has quit [Ping timeout: 276 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
kalehv has quit [Remote host closed the connection]
tyrbo_ has quit [Read error: Connection reset by peer]
kalehv has joined #ruby-lang
tyrbo has joined #ruby-lang
lolmaus has quit [Read error: Connection reset by peer]
mykoweb has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
Lewix has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
amerine has quit [Quit: Computer has gone to sleep.]
tyrbo_ has joined #ruby-lang
nathanstitt has quit [Quit: I growing sleepy]
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
hgl has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
kalehv has quit [Ping timeout: 250 seconds]
toastynerd has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo_ has quit [Read error: Connection reset by peer]
lolmaus has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
elliotec has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
hgl has quit [Quit: Lingo - http://www.lingoirc.com]
hgl has joined #ruby-lang
yfeldblum has joined #ruby-lang
tyrbo__ has joined #ruby-lang
elliotec has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo__ has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
kalehv has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo_ has quit [Ping timeout: 276 seconds]
tyrbo has joined #ruby-lang
khaase has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
khaase has quit [Ping timeout: 265 seconds]
tyrbo_ has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
nisstyre has quit [Quit: WeeChat 0.4.3]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
CaptainJet has quit []
hgl has quit [Quit: Computer has gone to sleep.]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
twright has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
karamazov has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
skade has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
robbyoconnor has joined #ruby-lang
robbyoconnor has quit [Client Quit]
skade has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tectonic has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
elliotec has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo__ has joined #ruby-lang
hgl has joined #ruby-lang
hgl has quit [Remote host closed the connection]
hgl has joined #ruby-lang
hgl has quit [Remote host closed the connection]
hgl has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
elliotec has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo has quit [Ping timeout: 276 seconds]
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
amerine has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
dm78 has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
michaeldeol has joined #ruby-lang
tyrbo__ has quit [Ping timeout: 276 seconds]
tyrbo has quit [Read error: Connection reset by peer]
momomomomo has quit [Quit: momomomomo]
centrx has quit [Quit: All this computer hacking is making me thirsty]
tyrbo has joined #ruby-lang
aemeredith has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo__ has joined #ruby-lang
amerine has quit [Ping timeout: 240 seconds]
tyrbo__ has quit [Read error: Connection reset by peer]
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Read error: Connection reset by peer]
tyrbo__ has joined #ruby-lang
jsutt has quit [Quit: Textual IRC Client: www.textualapp.com]
tyrbo__ has quit [Remote host closed the connection]
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Remote host closed the connection]
tyrbo has quit [Ping timeout: 276 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo__ has joined #ruby-lang
tyrbo_ has quit [Ping timeout: 276 seconds]
tyrbo__ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
iTrojan has quit [Quit: Leaving.]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
knu has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
mykoweb has quit [Ping timeout: 258 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
mykoweb has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
aemeredith has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
hahuang65 has joined #ruby-lang
tyrbo has joined #ruby-lang
yatish27 has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
esmet_ has quit [Quit: Connection closed for inactivity]
tyrbo has joined #ruby-lang
saarinen has quit [Quit: saarinen]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
phansch has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
vlad_starkov has joined #ruby-lang
fuhgeddaboudit has joined #ruby-lang
hahuang65 has quit [Ping timeout: 250 seconds]
tyrbo_ has joined #ruby-lang
chouhoulis has quit [Remote host closed the connection]
tyrbo_ has quit [Read error: Connection reset by peer]
chouhoulis has joined #ruby-lang
tyrbo_ has joined #ruby-lang
brianpWins has quit [Quit: brianpWins]
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
Barrin6 has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
bzalasky has joined #ruby-lang
Lewix has quit [Remote host closed the connection]
hahuang65 has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
khaase has joined #ruby-lang
tyrbo has joined #ruby-lang
vlad_starkov has quit [Ping timeout: 245 seconds]
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
Lewix has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
ledestin has quit [Ping timeout: 240 seconds]
tyrbo has quit [Remote host closed the connection]
rahul_j has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
khaase has quit [Ping timeout: 265 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
bzalasky has quit [Read error: Connection reset by peer]
bzalasky has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
mistym has joined #ruby-lang
aemeredith has joined #ruby-lang
hgl_ has joined #ruby-lang
tyrbo has joined #ruby-lang
ledestin has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
RobertBirnie has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
hgl has quit [Ping timeout: 265 seconds]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Read error: Connection reset by peer]
rahul_j has quit [Quit: rahul_j]
digs has joined #ruby-lang
skade has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
digs is now known as Guest1613
c0d3_k1ra has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
jsullivandigs has quit [Ping timeout: 245 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
vsorlov has joined #ruby-lang
c0d3_k1ra has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
skade has quit [Ping timeout: 252 seconds]
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
rahul_j has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
kalehv has quit [Read error: Connection reset by peer]
tyrbo has quit [Read error: Connection reset by peer]
kalehv has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
sdouglas has joined #ruby-lang
kitak_ has joined #ruby-lang
tyrbo has joined #ruby-lang
kitak_ has quit [Remote host closed the connection]
tyrbo has quit [Remote host closed the connection]
amerine has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
vsorlov has quit [Ping timeout: 240 seconds]
tyrbo has quit [Remote host closed the connection]
bzalasky has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
kitak has quit [Ping timeout: 240 seconds]
tyrbo has quit [Read error: Connection reset by peer]
Lewix has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
dsaint-pierre has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
knu has quit [Ping timeout: 250 seconds]
tyrbo_ has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo__ has joined #ruby-lang
hahuang65 has quit [Ping timeout: 240 seconds]
tyrbo__ has quit [Read error: Connection reset by peer]
mechan1c_ has joined #ruby-lang
lolmaus_ has joined #ruby-lang
lolmaus has quit [Ping timeout: 240 seconds]
tyrbo__ has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo__ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
kitak has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo_ has quit [Ping timeout: 240 seconds]
tyrbo has quit [Remote host closed the connection]
mechan1c has quit [Ping timeout: 276 seconds]
yfeldblum has quit [Ping timeout: 258 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
dm78 has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
Fretta has quit [Quit: Fretta]
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
dm78 has quit [Ping timeout: 252 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tkuchiki_ has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
kalehv has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tkuchiki has quit [Ping timeout: 245 seconds]
_ht has joined #ruby-lang
tyrbo has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
amclain has quit [Quit: Leaving]
tyrbo has joined #ruby-lang
ur5us has quit [Remote host closed the connection]
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
tyrbo has joined #ruby-lang
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
polyidus has quit [Quit: EOF]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
tyrbo_ has joined #ruby-lang
tyrbo_ has quit [Remote host closed the connection]
khaase has joined #ruby-lang
tyrbo has quit [Ping timeout: 240 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
michaeldeol has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tyrbo has joined #ruby-lang
khaase_ has joined #ruby-lang
tyrbo has quit [Read error: Connection reset by peer]
tyrbo has joined #ruby-lang
willmarshall has quit [Ping timeout: 276 seconds]
tyrbo_ has joined #ruby-lang
c0d3_k1ra has joined #ruby-lang
twright has quit [Ping timeout: 264 seconds]
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Remote host closed the connection]
khaase has quit [Ping timeout: 265 seconds]
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Remote host closed the connection]
tyrbo__ has joined #ruby-lang
tyrbo__ has quit [Remote host closed the connection]
tyrbo has quit [Ping timeout: 240 seconds]
khaase_ has quit [Ping timeout: 265 seconds]
tyrbo has joined #ruby-lang
tyrbo has quit [Remote host closed the connection]
Barrin6 has quit [Quit: Leaving]
<c0d3_k1ra> hello, If anyone can help.. I would want to know how can i define a Two dimensional array in Ruby?
tyrbo has joined #ruby-lang
tyrbo_ has quit [Ping timeout: 240 seconds]
tyrbo has quit [Remote host closed the connection]
<apeiros_> dang :)
willmarshall has joined #ruby-lang
apeiros_ is now known as apeiros
<apeiros> c0d3_k1ra: ary_of_arys = [[1,2,3], [4,5,6]]
skade has joined #ruby-lang
arBmind has joined #ruby-lang
arBmind2 has joined #ruby-lang
JohnBat26 has joined #ruby-lang
arBmind1 has quit [Ping timeout: 265 seconds]
kitak has quit [Remote host closed the connection]
arBmind has quit [Ping timeout: 252 seconds]
fuhgeddaboudit has quit [Ping timeout: 240 seconds]
<c0d3_k1ra> thanks apeiros... :) but i initially want my array empty... should i declare
<c0d3_k1ra> arr=[[]] ??
<apeiros> that depends on how you fill it. [[]] is not an empty array, though.
<apeiros> got to go offline. commuting. laters!
<c0d3_k1ra> okayss m trying
<c0d3_k1ra> thanks thoudh
<c0d3_k1ra> though*
apeiros has quit [Remote host closed the connection]
apeiros has joined #ruby-lang
sdouglas has quit [Remote host closed the connection]
[spoiler] has joined #ruby-lang
brianpWins has joined #ruby-lang
kitak has joined #ruby-lang
apeiros has quit [Ping timeout: 240 seconds]
tectonic has quit []
sferik has joined #ruby-lang
skade has quit [Read error: Connection reset by peer]
skade has joined #ruby-lang
yfeldblum has joined #ruby-lang
nhmood has quit [Quit: Connection closed for inactivity]
mechan1c has joined #ruby-lang
mechan1c_ has quit [Ping timeout: 240 seconds]
hahuang65 has joined #ruby-lang
afreidah4 has quit [Ping timeout: 240 seconds]
marcofernandez has quit [Ping timeout: 245 seconds]
marcofernandez has joined #ruby-lang
solars has joined #ruby-lang
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #ruby-lang
RobertBirnie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<c0d3_k1ra> Quit: gotta go
c0d3_k1ra has left #ruby-lang [#ruby-lang]
DEac- has quit [Read error: Connection reset by peer]
DEac- has joined #ruby-lang
Cakey has joined #ruby-lang
mistym_ has joined #ruby-lang
marcofernandez has quit [Ping timeout: 240 seconds]
mistym has quit [Ping timeout: 258 seconds]
ikrima has quit [Ping timeout: 258 seconds]
marcofernandez has joined #ruby-lang
stardiviner has joined #ruby-lang
tkuchiki_ has quit [Remote host closed the connection]
tkuchiki has joined #ruby-lang
lsegal has quit [Quit: Quit: Quit: Quit: Stack Overflow.]
elliotec has quit [Remote host closed the connection]
apeiros has joined #ruby-lang
Cakey has quit [Ping timeout: 250 seconds]
elliotec has joined #ruby-lang
rahul_j has quit [Quit: rahul_j]
khaase has joined #ruby-lang
dsaint-pierre has joined #ruby-lang
ozzloy has quit [Ping timeout: 245 seconds]
ur5us has joined #ruby-lang
caral has joined #ruby-lang
ozzloy has joined #ruby-lang
ozzloy has quit [Changing host]
ozzloy has joined #ruby-lang
dsaint-pierre has quit [Ping timeout: 245 seconds]
skade has quit [Ping timeout: 258 seconds]
khaase has quit [Ping timeout: 265 seconds]
vlad_starkov has joined #ruby-lang
mykoweb has quit [Remote host closed the connection]
ur5us has quit [Ping timeout: 250 seconds]
arBmind2 has quit [Quit: Leaving.]
whitecrow1 has joined #ruby-lang
whitecrow1 has quit [Changing host]
whitecrow1 has joined #ruby-lang
madb055 has quit [Ping timeout: 265 seconds]
tkuchiki has quit [Quit: Leaving...]
JohnBat26 has quit [Ping timeout: 245 seconds]
kyb3r_ has quit [Ping timeout: 252 seconds]
aemeredith has quit [Remote host closed the connection]
Mon_Ouie has quit [Quit: WeeChat 0.4.3]
dagobah has joined #ruby-lang
tkuchiki has joined #ruby-lang
elia has joined #ruby-lang
karamazov has quit [Remote host closed the connection]
ironsand has quit [Ping timeout: 240 seconds]
mistym_ has quit [Remote host closed the connection]
marcofernandez has quit [Ping timeout: 252 seconds]
scmx has joined #ruby-lang
elia has quit [Ping timeout: 240 seconds]
|jemc| has quit [Ping timeout: 245 seconds]
elliotec has quit [Remote host closed the connection]
rahul_j has joined #ruby-lang
imperator has quit [Quit: Valete!]
elliotec has joined #ruby-lang
tbuehlmann has joined #ruby-lang
knu has joined #ruby-lang
yugui_zzz has quit [Ping timeout: 240 seconds]
arBmind has joined #ruby-lang
yugui_zzz has joined #ruby-lang
ddfreyne has quit [Ping timeout: 252 seconds]
ddfreyne has joined #ruby-lang
brownies has joined #ruby-lang
brownies has quit [Changing host]
brownies has joined #ruby-lang
tkuchiki has quit [Quit: Leaving...]
relix has joined #ruby-lang
herpless has joined #ruby-lang
futilegames has joined #ruby-lang
retro|sk has joined #ruby-lang
tkuchiki has joined #ruby-lang
lolmaus_ has quit [Quit: No Ping reply in 180 seconds.]
yatish27 has quit [Remote host closed the connection]
yatish27 has joined #ruby-lang
lolmaus has joined #ruby-lang
vlad_starkov has quit [Remote host closed the connection]
kitak has quit [Remote host closed the connection]
kitak has joined #ruby-lang
retro|cz has joined #ruby-lang
elliotec has quit [Remote host closed the connection]
willmarshall has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Mon_Ouie has joined #ruby-lang
Mon_Ouie has quit [Changing host]
Mon_Ouie has joined #ruby-lang
marr has joined #ruby-lang
karamazov has joined #ruby-lang
khaase has joined #ruby-lang
khaase has quit [Changing host]
khaase has joined #ruby-lang
c0d3_k1ra has joined #ruby-lang
vlad_starkov has joined #ruby-lang
mikecmpbll has joined #ruby-lang
rahul_j has quit [Quit: rahul_j]
mikecmpbll has quit [Client Quit]
skade has joined #ruby-lang
Voker57 has quit [Ping timeout: 258 seconds]
khaase has quit [Ping timeout: 265 seconds]
chouhoulis has quit [Remote host closed the connection]
benlovell has joined #ruby-lang
khaase has joined #ruby-lang
khaase has quit [Changing host]
khaase has joined #ruby-lang
mikecmpbll has joined #ruby-lang
Voker57 has joined #ruby-lang
yatish27 has quit [Remote host closed the connection]
yfeldblu_ has joined #ruby-lang
Pupeno has joined #ruby-lang
yatish27 has joined #ruby-lang
afreidah4 has joined #ruby-lang
heftig has joined #ruby-lang
kyb3r_ has joined #ruby-lang
yfeldblum has quit [Ping timeout: 240 seconds]
elia has joined #ruby-lang
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
yatish27 has quit [Read error: Connection reset by peer]
yatish27 has joined #ruby-lang
<yorickpeterse> morning
<ledestin> evening
<yorickpeterse> whitequark: so that buffer thing I hacked together last night is pretty efficient memory wise, but about 2x slower CPU time wise
<yorickpeterse> because herp derp String#unpack is super slow
<zenspider> compared to?
<yorickpeterse> Well, so running String#unpack('U*') on an 100 MB string as a whole + iterating over that takes around 8 seconds
Voker57 has quit [Ping timeout: 245 seconds]
<yorickpeterse> Running it in chunks of 512 characters (so unpack is called for every 512 characters) takes around 16 seconds
<yorickpeterse> Right now my bench is super basic so take the above with a grain of salt
yfeldblum has joined #ruby-lang
elia has quit [Ping timeout: 265 seconds]
yfeldblum has quit [Remote host closed the connection]
yatish27 has quit [Remote host closed the connection]
yatish27 has joined #ruby-lang
<yorickpeterse> zenspider: in case you're interested, it's for https://github.com/YorickPeterse/oga/issues/8
yfeldblu_ has quit [Read error: Connection reset by peer]
afreidah4 has quit [Ping timeout: 252 seconds]
yfeldblum has joined #ruby-lang
sferik has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
benlovell has quit [Ping timeout: 252 seconds]
<whitequark> yorickpeterse: have you read my comments?
ikrima has joined #ruby-lang
<yorickpeterse> whitequark: Yes, StringIO won't help
<yorickpeterse> It will only help if the input is handed to you as an actual stream
<yorickpeterse> e.g. local files, chunked HTTP responses
<yorickpeterse> If you get the input as a single, 10 MB blob then StringIO won't help
<whitequark> it will allow you to distribute parser slowness through the entire input document
elia has joined #ruby-lang
<whitequark> unpack included.
<yorickpeterse> Yes, that's part of what the buffer I'm hacking does too
<yorickpeterse> If that doesn't work I might still use StringIO internally
<whitequark> but if you use stringio, *if* you get passed a stream, you also consume it incrementally
<whitequark> and your buffer is dumb as a brick
<whitequark> it always eats it entirely
yatish27 has quit [Ping timeout: 276 seconds]
_elia has joined #ruby-lang
<yorickpeterse> The point is not to not consume the entire input, but to consume it in steps of a managable size
rahul_j has joined #ruby-lang
<whitequark> yeah
<yorickpeterse> My current theory is that there's a certain startup overhead to String#unpack. If that's the case then actually doing things incrementally will be a lot slower
<whitequark> ... theory? seriously?
michd is now known as MichD
elia has quit [Ping timeout: 265 seconds]
c0d3_k1ra has quit []
<yorickpeterse> Yes, because I haven't actually proven it?
<yorickpeterse> I'm not going around saying "LOL STRING#UNPACK HAS A SLOW BOOTUP" until I can actually show that
<yorickpeterse> Even though I'm fairly sure that's the case
<whitequark> have you looked at its source?
<yorickpeterse> You mean that streaming pile of crap C? Yeah, looking at it atm
<yorickpeterse> at least it uses goto, has to be webscale
t4nk891 has joined #ruby-lang
<yorickpeterse> This would be so much easier if Strings were not mutable in Ruby
<yorickpeterse> ugh
Voker57 has joined #ruby-lang
<whitequark> so you like StringBuilders?
<yorickpeterse> No, just unmutable strings in general. It would allow you to re-use the same blob of data when calling String#[]
<yorickpeterse> Which sadly creates a new copy on every call, even for the same index
<whitequark> the thought that String#unpack would have some kind of "bootup" is, frankly, absurd
<whitequark> yorickpeterse: that creates as much problems as it solves
rahul_j has quit [Quit: rahul_j]
<whitequark> because at some point you're holding one character window into a 100MB string and GC can't collect it
<whitequark> hell, Ruby actually shares buffers (in some cases at least)
<whitequark> or used to
elliotec has joined #ruby-lang
benlovell has joined #ruby-lang
omosoj has quit [Ping timeout: 250 seconds]
robbyoconnor has joined #ruby-lang
t4nk891 has quit [Ping timeout: 240 seconds]
yatish27 has joined #ruby-lang
karamazov has quit [Remote host closed the connection]
wallerdev has quit [Quit: wallerdev]
<yorickpeterse> Also, said buffer might be dumb as brick but it does at least save around 800 MB of RAM
jsrn has joined #ruby-lang
elliotec has quit [Ping timeout: 250 seconds]
banister has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
workmad3 has joined #ruby-lang
alex-quiterio has joined #ruby-lang
banister has joined #ruby-lang
alex-quiterio has left #ruby-lang [#ruby-lang]
rahul_j has joined #ruby-lang
cbreeze has joined #ruby-lang
retro|cz has quit [Ping timeout: 258 seconds]
kitak has quit [Remote host closed the connection]
sferik has joined #ruby-lang
rahul_j has quit [Quit: rahul_j]
kitak has joined #ruby-lang
robmiller has joined #ruby-lang
banister has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
banister has joined #ruby-lang
banister is now known as banisterfiend
emaxi has joined #ruby-lang
ur5us has joined #ruby-lang
emaxi has quit [Ping timeout: 252 seconds]
canton7-mac has joined #ruby-lang
elliotec has joined #ruby-lang
benlovell has quit [Ping timeout: 240 seconds]
elliotec has quit [Ping timeout: 258 seconds]
robmiller has left #ruby-lang [#ruby-lang]
robmiller has joined #ruby-lang
Voker57 has quit [Ping timeout: 250 seconds]
Guest1613 has quit [Remote host closed the connection]
lolmaus_ has joined #ruby-lang
caral has quit [Quit: caral]
lolmaus has quit [Ping timeout: 250 seconds]
Voker57 has joined #ruby-lang
banisterfiend has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
beardedninja has joined #ruby-lang
robbyoconnor has quit [Excess Flood]
Voker57 has quit [Ping timeout: 265 seconds]
dsaint-pierre has joined #ruby-lang
robbyoconnor has joined #ruby-lang
karamazov has joined #ruby-lang
benlovell has joined #ruby-lang
dsaint-pierre has quit [Ping timeout: 276 seconds]
sferik has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
banister has joined #ruby-lang
stamina has joined #ruby-lang
canton7 has joined #ruby-lang
sferik has joined #ruby-lang
emaxi has joined #ruby-lang
mbj has joined #ruby-lang
lolmaus_ has quit [Quit: No Ping reply in 180 seconds.]
lolmaus has joined #ruby-lang
emaxi has quit [Ping timeout: 245 seconds]
bawigga has quit []
mechanicles has joined #ruby-lang
rahul_j has joined #ruby-lang
yatish27 has quit [Remote host closed the connection]
yatish27 has joined #ruby-lang
<yorickpeterse> Ok so random results of hacking around with this: regular String#unpack('U*') on a 100MB XML file requires 890 MB of RAM
<yorickpeterse> using a sliding window of 512 bytes this needs around 30 MB
<yorickpeterse> but it takes 21 seconds instead of 8 to unpack things and iterate over the entire result
<yorickpeterse> Reducing the window size from 512 to 22 requires only around 800 KB
<yorickpeterse> and the execution time is around 20 seconds
retro|sk has quit [Ping timeout: 252 seconds]
<yorickpeterse> 23 works fine too. Reason for those numbers is http://patshaughnessy.net/2012/1/4/never-create-ruby-strings-longer-than-23-characters
<yorickpeterse> so that covers memory usage, now to not make it dog slow
<yorickpeterse> (StringIO makes things even more slow)
<yorickpeterse> Iterating over the entire input using a sliding window and StringIO takes ...
<yorickpeterse> 28 seconds
sferik has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sferik has joined #ruby-lang
sferik has quit [Client Quit]
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
banister has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<apeiros> yorickpeterse: if it's so important - why don't you write a C extension?
<apeiros> doesn't sound too difficult to reimplement unpack
vlad_starkov has quit [Remote host closed the connection]
<apeiros> and afaik you're using ragel, which outputs to C too
mehlah has joined #ruby-lang
postmodern has quit [Quit: Leaving]
skade has quit [Ping timeout: 245 seconds]
banister has joined #ruby-lang
stamina has quit [Quit: WeeChat 0.4.3]
_elia has quit [Quit: Computer has gone to sleep.]
dsaint-pierre has joined #ruby-lang
dsaint-pierre has quit [Ping timeout: 240 seconds]
faces has joined #ruby-lang
yfeldblum has quit [Ping timeout: 276 seconds]
face has quit [Ping timeout: 240 seconds]
emaxi has joined #ruby-lang
karamazov has quit []
<yorickpeterse> apeiros: 1) because C 2) I suck at C 3) I hate C
<yorickpeterse> also I want to push Ruby as close to the metal as possible
<yorickpeterse> I mean, I managed to reduce usage from almost 900 MB to 800 KB
<yorickpeterse> now I "just" need to fix the CPU time
sandbags has quit [Remote host closed the connection]
sandbags has joined #ruby-lang
Speed has joined #ruby-lang
iTrojan has joined #ruby-lang
emaxi has quit [Ping timeout: 258 seconds]
yatish27 has quit [Remote host closed the connection]
<workmad3> yorickpeterse: have you profiled to see where its spending time? I'd suspect it's spending a lot of time inside core ruby stuff
<yorickpeterse> Yes
<yorickpeterse> It spends most time in String#[] and String#unpack because surprise, that's what it does :P
<yorickpeterse> apparently multiple calls to that combination on smaller inputs is slower than a single, larger input
<yorickpeterse> But uses far less memory
<yorickpeterse> so it's a balance between "Does the kernel like this" and "Does the user like this"
<workmad3> yorickpeterse: not that surprising... it would be creating multiple new objects
robbyoconnor has quit [Ping timeout: 245 seconds]
<yorickpeterse> Correct, hence I'm trying to see if I can somehow optimize that
<yorickpeterse> but sadly my laptop froze in the process (yay benchmarks) so I lost my prototype
* yorickpeterse should stop saving prototypes in /tmp
sandbags has quit [Ping timeout: 245 seconds]
<workmad3> yorickpeterse: rewriting String#unpack so that you can pass it an already created, correctly sized string buffer to write into? :)
retro|sk has joined #ruby-lang
<yorickpeterse> Not sure if I follow
matp has quit [Ping timeout: 252 seconds]
<yorickpeterse> One big bottleneck is String#[]
<yorickpeterse> something I can't work around I think
<yorickpeterse> e.g. MRI doesn't have a concept of byte buffers or w/e
<yorickpeterse> If Strings were stored as codepoints already that would solve my problems
<yorickpeterse> since I could just access said codepoints directly
skade has joined #ruby-lang
<yorickpeterse> these are the fun things to debug though
rofel has joined #ruby-lang
khaase has quit [Quit: Leaving...]
benlovell has quit [Ping timeout: 276 seconds]
skade has quit [Ping timeout: 252 seconds]
cnivolle has joined #ruby-lang
sferik has joined #ruby-lang
ikrima has quit [Ping timeout: 245 seconds]
bin7me has joined #ruby-lang
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
ur5us has quit [Remote host closed the connection]
vondruch has quit [Quit: Ex-Chat]
vondruch has joined #ruby-lang
skade has joined #ruby-lang
elia has joined #ruby-lang
ylluminate has quit [Ping timeout: 252 seconds]
benlovell has joined #ruby-lang
workmad3 is now known as wm3|lunch
banister has quit [Ping timeout: 240 seconds]
<apeiros> wm3|lunch: that'd mean C, and yorickpeterse just said he hates & sucks at C
matp has joined #ruby-lang
<whitequark> yorickpeterse: .encode(UTF_32LE)
<whitequark> gives you constant time #[]
<apeiros> but takes ~400MB instead of the 100MB :)
<apeiros> hm, actually <=400MB
<whitequark> apeiros: it would take less memory than an array of fixnums though
<apeiros> true
<apeiros> would still be nice if ruby had a typed array class
<yorickpeterse> whitequark: that's even slower
banister has joined #ruby-lang
banister has quit [Max SendQ exceeded]
<apeiros> not meaningful for everyday usage, but for a couple of cases it'd be nice
banister has joined #ruby-lang
skade has quit [Ping timeout: 258 seconds]
jcs222 has quit [Ping timeout: 245 seconds]
<yorickpeterse> plus the total RAM is then around 500 MB instead of 120
<whitequark> yorickpeterse: have you tested it?
<apeiros> I actually wrote a SortedInt4Array class for a statistics engine, with ultra fast intersection & union
<yorickpeterse> yes
banister has quit [Client Quit]
<whitequark> hm
<yorickpeterse> 28 seconds for UTF32 LE vs 20 for UTF8
<whitequark> so transcoding is slow
<whitequark> possible
simono has joined #ruby-lang
<yorickpeterse> Basically what I'd want for this is being able to get a codepoint of index N without having to use String#[]
<yorickpeterse> so something like 'foobar'.codepoint_at(1)
<whitequark> it's called #[].
jcs222 has joined #ruby-lang
<whitequark> it's slow with UTF-8 because you have to traverse the entire string
<whitequark> no matter what
<yorickpeterse> It's slow because it has to fucking copy a string to just get the codepoint out
<whitequark> for long strings, UTF-8 traversing dominates
<yorickpeterse> Not here
<yorickpeterse> Encoding the input to ASCII for example doesn't change the runtime at all
<whitequark> have you profiled the C code?
skade has joined #ruby-lang
<yorickpeterse> No, I'm profiling the bigger picture atm
chouhoulis has joined #ruby-lang
<whitequark> well, it's not certain at all that it spends all that time in the allocator
yfeldblum has joined #ruby-lang
tkuchiki has quit [Ping timeout: 252 seconds]
emaxi has joined #ruby-lang
stardiviner has quit [Ping timeout: 240 seconds]
<yorickpeterse> As an example, if I take out String#codepoints / unpack and just use String#[] the runtime is about the same
<yorickpeterse> so indeed it seems String#[] is slower than a snail
<yorickpeterse> which is not surprising, but extremely annoying
stardiviner has joined #ruby-lang
sferik has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
chouhoulis has quit [Ping timeout: 240 seconds]
Squarepy has joined #ruby-lang
rahul_j has quit [Quit: rahul_j]
banister has joined #ruby-lang
mechanicles has quit [Read error: Connection reset by peer]
banister is now known as banisterfiend
mechanicles has joined #ruby-lang
yfeldblum has quit [Ping timeout: 265 seconds]
rahul_j has joined #ruby-lang
sferik has joined #ruby-lang
emaxi has quit [Ping timeout: 276 seconds]
lolmaus has quit [Read error: Connection reset by peer]
cbreeze has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
qba73 has joined #ruby-lang
phansch has quit [Quit: WeeChat 0.4.2]
iTrojan1 has joined #ruby-lang
<apeiros> whitequark: does perf work on OSX 10.9 too?
<apeiros> oh, linux kernel profiling… I guess not
afreidah4 has joined #ruby-lang
lolmaus has joined #ruby-lang
iTrojan has quit [Ping timeout: 252 seconds]
<ledestin> yorickpeterse: hi. care to tell your mongodb story?
vondruch has quit [Ping timeout: 276 seconds]
<yorickpeterse> ledestin: are you interested in me blasting for 6 hours about vague issues we've had in the past?
<yorickpeterse> also which of the 20 stories?
<ledestin> yorickpeterse: no, not for 6 hours.
<ledestin> yorickpeterse: ok. let me rephrase it. do you think mongo is ever useful?
<yorickpeterse> Yes
alexju has quit [Remote host closed the connection]
<yorickpeterse> It's useful in the early stages when prototyping
<yorickpeterse> or when storing stuff like logs or w/e
<yorickpeterse> Basically data you can afford to lose and can't normalize
<yorickpeterse> Also data you don't need to access often
<ledestin> what’s the problem with accessing often?
<yorickpeterse> it's slow
<yorickpeterse> That is, it works fine on small sets of data
<yorickpeterse> But good luck getting the first 100 documents in a collection of 45 million
<ledestin> yorickpeterse: ok, thanks!
yfeldblum has joined #ruby-lang
<yorickpeterse> Honestly if you want NoSQL I'd try PostgreSQL with the JSON storage extension enabled
<whitequark> ^
<yorickpeterse> Not sure about the performance of it but at least Pg is stable
<chris2> nosql with sql ;)
Cakey has joined #ruby-lang
<yorickpeterse> Our problems so far have mostly been Mongo becoming super slow out of the blue with no proper indication as to what's going on
<apeiros> yorickpeterse: re PG for NoSQLy stuff - I thought there was some key/value optimized setting for Pg, but last time I searched, I didn't find it anymore. do you happen to know something in that regards?
<yorickpeterse> No matter how many profilers we'd throw at it, the end "fix" was always to either increase the cluster size or to reboot it
<ledestin> I’m just researching whether I should apply for a job that uses mongo
<yorickpeterse> ha
<yorickpeterse> apeiros: I don't know the name since I don't use Pg that heavily but yes, it has some key/value store thing built-in
<whitequark> hstore
<apeiros> whitequark: that's for a single value afaik
<apeiros> as in: serialize something like a hash into a single value
<yorickpeterse> ledestin: ask them about the total size of their DB, if it's less than 100GB you'll probably be fine
<whitequark> apeiros: you can index keys inside hstore for example
<whitequark> and use them in queries
<apeiros> I thought there was something akin to having a key and a value row with unique keys. but maybe I'm just dreaming stuff up :)
<ledestin> yorickpeterse: ok, thanks
<apeiros> (or maybe the way is to indeed just use two columns, have a unique constraint on the key column and use hstore for the value column)
momomomomo has joined #ruby-lang
yfeldblum has quit [Ping timeout: 276 seconds]
<yorickpeterse> My biggest issue with Mongo has always been that I can't gather any solid facts as to why it's not working for us.
<yorickpeterse> That is, it acts up but I can't accurately show what is the problem
<apeiros> whitequark: awesome about pg in devel are the new json functions
momomomomo has quit [Client Quit]
afreidah4 has quit [Ping timeout: 245 seconds]
emaxi has joined #ruby-lang
<apeiros> where you can aggregate a select into a single json array of objects
dsaint-pierre has joined #ruby-lang
rahul_j has quit [Quit: rahul_j]
<apeiros> some of the nice stuff has already landed in 9.3 too
<apeiros> still need to bench it, but from preliminary test, I'd expect it to be magnitudes faster than going via AR + Oj
vpretzel_ is now known as vpretzel
momomomomo has joined #ruby-lang
momomomomo has quit [Client Quit]
elliotec has joined #ruby-lang
<yorickpeterse> we still need to plan when we move away from El Mongo to either MySQL or Pg
<yorickpeterse> soon ™
sandbags has quit [Remote host closed the connection]
<apeiros> do. not. use. mysql.
<apeiros> at the very least, use maria.
<yorickpeterse> RDS bra
<yorickpeterse> no Maria there
<apeiros> mysql belongs to oracle and hence has fallen to the dark domain.
<yorickpeterse> says the one using Oracle :)
<apeiros> FOCEDLY!
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
<apeiros> I mourn about it everyday.
<apeiros> *FORCEDLY even
<yorickpeterse> come work here, I promise you we don't use Oracle
<yorickpeterse> But yeah, we'll be looking at Pg as well
<yorickpeterse> There's a bit of FUD around it though
elliotec has quit [Ping timeout: 240 seconds]
<ledestin> Pg has nice features
<yorickpeterse> e.g. my CTO made the remark that there was a lot more to find on MySQL
vondruch has joined #ruby-lang
nhmood has joined #ruby-lang
<ledestin> yorickpeterse: I just read that mysql still doesn’t have check constraints
<yorickpeterse> I don't know that much about Pg (I use it at tiny-scale only), I do know that it's more correct and has more features
<yorickpeterse> e.g. being able to insert NULL into a datetime in MySQL pisses me off
<yorickpeterse> errrr ''
<yorickpeterse> Not NULL, that makes some sense at least
<yorickpeterse> <mysql> k I'll turn that into 0000-00-00 00:00:00
rahul_j has joined #ruby-lang
<ledestin> yorickpeterse: horrible stories you tell
nathanstitt has joined #ruby-lang
sandbags has quit [Ping timeout: 245 seconds]
charliesome has joined #ruby-lang
<apeiros> yorickpeterse: mysql is owned by oracle. so using mysql means using an oracle product :)
momomomomo has joined #ruby-lang
<apeiros> also, mysql - the db without a query planner…
<yorickpeterse> apeiros: although I fully agree with veto-ing Oracle that's a bit more difficult to use as an argument for moving an entire infrastructure over from MyFirstSQL to Pg
<darix> apeiros: that is FUD too
<yorickpeterse> (on company level that is)
<apeiros> darix: default db engine in mysql has no planner. no FUD, fact.
<apeiros> at least 2y ago. but do tell if it changed since.
<apeiros> i.e., the only "speed up" you'd get from a prepared statement in mysql was that the SQL would not need parsing.
<apeiros> of course, you'd still use it, because you want bind variables.
Cumol has joined #ruby-lang
<apeiros> there were other issues with the default db engine in mysql, but I don't remember :-/
marcofernandez has joined #ruby-lang
kyb3r_ has quit [Quit: Leaving]
<yorickpeterse> lol MyISAM
<apeiros> see, I even forgot that name. I only remembered InnoDB (that's the saner db engine in mysql, right?)
<apeiros> ah, lol, right, myisam = no transactions
<apeiros> and table level locking
afreidah4 has joined #ruby-lang
Cumol has quit [Ping timeout: 250 seconds]
marcofernandez has quit [Ping timeout: 240 seconds]
<yorickpeterse> Transactions are overrated anyway
<DefV_> hmz
<yorickpeterse> It's business logic, it belongs on application level
<yorickpeterse> just like foreign keys
<apeiros> yorickpeterse: BS
marcofernandez has joined #ruby-lang
<DefV_> how would I compare [{:a => 43}] and [{"a" => 43}]
<apeiros> yes, business logic belongs into application level. that doesn't mean you should not use transactions.
<apeiros> it's outstandingly foolish not to use transactions for anything non-trivial.
rahul_j has quit [Quit: rahul_j]
<yorickpeterse> But the Rails gods say that it belongs on application level
<yorickpeterse> (also how is the joke not obvious)
<apeiros> yorickpeterse: because there are sadly so many people who truly believe what you said
matp has quit [Remote host closed the connection]
<yorickpeterse> I was hoping I was annoying this channel long enough for people to realize that 9 out of 8 times I'm not entirely serious
<yorickpeterse> But yeah, those people make me sad
<apeiros> but yeah, I didn't figure you were kidding
<DefV_> How would you guys do name matching?
<DefV_> I have a database with full names, and I want to see if someone is in it
<yorickpeterse> DefV_: are your names normalized?
<DefV_> example: "Jan De Poorter" should match "De Poorter Jan" or "Jan d Poorter"
<DefV_> nope
<yorickpeterse> The most naive form is substring matching, but it's pretty difficult to do accurately
<ledestin> DefV_: normalize it first, then proceed as usual
<yorickpeterse> e.g. for input name "Jan De Poorter" you'd check for the 3 words in every existing name
<yorickpeterse> which is going to be super duper slow
<DefV_> ledestin: how would you normalize it then :-)
<apeiros> n-gram matching with pg
<yorickpeterse> apeiros: hey don't get all academic on us
<apeiros> /stop markov
mnngfltg has joined #ruby-lang
<ledestin> DefV_: code the rules you can, the rest is manual
<yorickpeterse> DefV_: there literally are dozens of ways to match names, addresses, etc
<DefV_> (the hard part is that "Jan De Poortere" != "Jan De Poorter")
<yorickpeterse> Your first step is to make your data set sane
<yorickpeterse> e.g. use a uniform order for names where possible
<DefV_> I can't make the data set sane
<DefV_> I get my input from 3 files
<DefV_> 1 CSV, 1 XLS, 1 XML
<apeiros> we should replace people names with check-digited numbers
<yorickpeterse> You can pre-process the data
<DefV_> all with about the same people
<DefV_> but noted in a different, non-uniform way
<apeiros> hey there, 123-982-281-542
<yorickpeterse> apeiros: dibs on 666-666-666-666
<cout> yorickpeterse: I prefer to use a unicorn order
<ledestin> apeiros: nazis did it btw
<yorickpeterse> I didn't want to make that joke
<yorickpeterse> since apeiros is German
chouhoulis has joined #ruby-lang
<apeiros> yorickpeterse: you'll have to set up the checksum digit algorithm for that number to work out :)
<apeiros> ledestin: congrats to godwinning this channel the first time in the 10y I'm here
<ledestin> apeiros: I just thought you didn’t know that
marcofernandez has quit [Ping timeout: 240 seconds]
miqui has joined #ruby-lang
<apeiros> ledestin: SSN and similar exist in every country
<apeiros> ok, most
<ledestin> apeiros: true
sferik has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Cakey has quit [Ping timeout: 265 seconds]
<ledestin> but. there’s big difference
<ledestin> still
<yorickpeterse> as long as we don't end up with QR codes on the back of our heads
<ledestin> a novel idea
malconis has joined #ruby-lang
<wm3|lunch> yorickpeterse: I'm putting together a proposal that we should have QR codes painted onto our skulls with lead-based paint, so that they can be read with high-powered xray beams fired at people's heads
<wm3|lunch> yorickpeterse: that sounds reasonable, yeah?
wm3|lunch is now known as workmad3
<yorickpeterse> make sure you also include a bit.ly URL in case people don't have a QR scanner
sferik has joined #ruby-lang
<yorickpeterse> responsive QR codes
<workmad3> yorickpeterse: oh sure, that can just be tattooed onto the lips...
<gnufied> apeiros: not really every country, India tried one - but i think it is abandoned now.
<yorickpeterse> Pretty sure there's at least one nerd on this planet with a QR code on the back of their head
<gnufied> unless you mean from first world perspective
<workmad3> well, there are people who have implanted RFID chips into themselves
<yorickpeterse> I never got that too
Varun_krishna has joined #ruby-lang
<yorickpeterse> wait there's a perfect xkcd for that
<workmad3> a QR tattoo would be somewhat less than that
sandbags has joined #ruby-lang
alexju_ has joined #ruby-lang
<Varun_krishna> Hi all, I am new to ruby and ror, I wish to learn it quickly, what are the resources that helps me to learn it quickly ?
<yorickpeterse> http://xkcd.com/644/ this one
elia has quit [Quit: Computer has gone to sleep.]
<surrounder> lol
<workmad3> :)
<yorickpeterse> Varun_krishna: https://rubymonk.com/ is a decent start for Ruby newbies
elia has joined #ruby-lang
<yorickpeterse> writing lots of code also helps
marcofernandez has joined #ruby-lang
<ledestin> Varun_krishna: I guess it’s out of date now, but still
sandbags has quit [Ping timeout: 276 seconds]
afreidah4 has quit [Ping timeout: 246 seconds]
<gnufied> the best is obviously to ask questions here for ruby. yorick is always glad to be of help.
<yorickpeterse> actually that is pretty true
ironsand has joined #ruby-lang
Hytosys has quit [Quit: Hytosys]
Squarepy has quit [Ping timeout: 276 seconds]
<yorickpeterse> I'm not going to blast newbies for asking questions
<Varun_krishna> @yorick So sorry.
<yorickpeterse> Varun_krishna: eh?
<yorickpeterse> For what?
Cakey has joined #ruby-lang
<Varun_krishna> You said that you are going to blast the newbies for asking questions.
<yorickpeterse> No, I said *not*
<apeiros> gnufied: I corrected myself to "ok, most"
<yorickpeterse> "yorickpeterse | I'm not going to blast newbies for asking questions" <- note the "I'm *not* going ..."
<Varun_krishna> Oops sorry I didn't notice that "not" . :P
fbernier has joined #ruby-lang
enebo has joined #ruby-lang
jgpawletko has joined #ruby-lang
<Varun_krishna> So how is ruby different from java?
rahul_j has joined #ruby-lang
<yorickpeterse> Java is a more-or-less compiled language, Ruby is interpreted (as a start)
<ledestin> Java is full of boilerplate
<yorickpeterse> Java is also statically typed, Ruby is dynamic/duck typed
<yorickpeterse> it means that instead of having to do
<yorickpeterse> name: String = "foo"
<yorickpeterse> you do
<yorickpeterse> name = "foo"
<Varun_krishna> Oh
<apeiros> yorickpeterse: meh, compiled/interpreted/bytecodeVM is not a language propert
<apeiros> *property
<apeiros> you can have a C interpreter ffs
<yorickpeterse> No, but it's a pretty big difference in the usage of the language
<apeiros> not really
<apeiros> macruby can compile your ruby code. you don't write it any differently.
mechanicles has quit []
c_s_g has joined #ruby-lang
<Varun_krishna> What is macruby? is it different from ruby?
Squarepy has joined #ruby-lang
eugmill has joined #ruby-lang
futilegames has quit [Ping timeout: 265 seconds]
<yorickpeterse> it's basically a Ruby flavour for iOS
<yorickpeterse> errrrr
<yorickpeterse> wait
<yorickpeterse> wait
<yorickpeterse> that's Rubymotion
<apeiros> that's rubymotion
<yorickpeterse> derp
<apeiros> yes
<apeiros> macruby was a 1.9 fork using llvm
<apeiros> and the base for rubymotion
<apeiros> but rubymotion compiles your code too
<apeiros> but rubymotion is arguably quite a bit different from vanilla ruby
<yorickpeterse> I'd say it's not Ruby
<yorickpeterse> it just looks like it
saarinen has joined #ruby-lang
Cakey has quit [Ping timeout: 258 seconds]
rofel has quit [Remote host closed the connection]
tbuehlmann has quit [Ping timeout: 252 seconds]
scmx has quit [Ping timeout: 250 seconds]
futilegames has joined #ruby-lang
rahul_j has quit [Quit: rahul_j]
achal has joined #ruby-lang
user22345345 has joined #ruby-lang
marcofernandez has quit [Ping timeout: 265 seconds]
rofel has joined #ruby-lang
<user22345345> Hello. Question about ruby constants. I would like to define a constant array of other constants and found a way that eliminates duplication of definitions, but want some feedback. Here it is: CONST_ARRAY = [ CONST_A = 1, CONST_B = 2 ]
saarinen has quit [Quit: saarinen]
scmx has joined #ruby-lang
<apeiros> user22345345: fugly
<user22345345> Don't worry about that.
<apeiros> CONST_A = 1; CONST_B = 2; CONST_ARY = [CONST_A, CONST_B]
<apeiros> user22345345: you asked. you get feedback.
<apeiros> inline assignment is ugly beyond reason.
<user22345345> apeiros: You're right. I meant: I don't worry about that.
<apeiros> then why do you even ask?
eugmill has quit [Ping timeout: 276 seconds]
<user22345345> apeiros: in case there are non-asthetic reasons why this should be avoided
<user22345345> apeiros: can you think of any?
<apeiros> no
<user22345345> Thanks
eugmill has joined #ruby-lang
<cout> how do I force ruby to use the minitest gem and not the builtin one? I put gem 'minitest' at the top of my script per the minitest docs, but it still seems to be using the wrong minitest.
tbuehlmann has joined #ruby-lang
user22345345 has quit [Quit: Page closed]
kitak_ has joined #ruby-lang
kitak_ has quit [Remote host closed the connection]
codemonk has joined #ruby-lang
yalue has joined #ruby-lang
<codemonk> yo
kitak has quit [Ping timeout: 240 seconds]
<gnufied> cout: you can specify a different version via gem method
<gnufied> have you tried it?
<cout> gnufied: I haven't tried that yet
ericwood_ is now known as ericwood
sferik_ has joined #ruby-lang
<gnufied> yeah as long as gem version is different than builtin one, you should be able to use it
chouhoulis has quit [Remote host closed the connection]
<cout> didn't work
<cout> oh wait, hmm
davispuh has joined #ruby-lang
AncientAmateur has joined #ruby-lang
<cout> afaict the version of minitest that comes with ruby 1.9.3p0 (don't ask) is 2.5.1
<cout> but if I request >= 4.7.5, it still uses that one
<cout> if I say = 4.7.5, it gets the gem
sferik has quit [Ping timeout: 252 seconds]
marcofernandez has joined #ruby-lang
Cakey has joined #ruby-lang
afreidah4 has joined #ruby-lang
marcofernandez has quit [Ping timeout: 258 seconds]
nathanstitt has quit [Quit: I growing sleepy]
ledestin has quit [Quit: ledestin]
<yorickpeterse> headius: ping
<headius> yorickpeterse: sup
karamazov has joined #ruby-lang
ledestin has joined #ruby-lang
afreidah4 has quit [Ping timeout: 265 seconds]
<yorickpeterse> headius: in JRuby, are String instances stored as a form of byte buffers? To be more specific, does it have a way to get the ordinal/codepoint of an index of a String without having to copy it?
dik_dak has joined #ruby-lang
<yorickpeterse> Basically I'm looking for a way to do something like `'fooo'.codepoint_at(1)` vs `'foo'[1].ord`
<yorickpeterse> I can probably hack this in C but then I'd need a JRuby compatible equivalent
<headius> they're stored as bytes, yes...so codepoint_at(n) will be O(n)ish
<yorickpeterse> nice
<headius> everything in JRuby is accessible from Ruby...we just don't publish the secret sauce anywhere
<yorickpeterse> Does JRuby actually expose the underlying buffer to Ruby?
<yorickpeterse> (in a way that doesn't require instance_variable_get and friends)
<headius> there's no standard Ruby way to get it, but there's JRuby-specific methods
<yorickpeterse> hm
<yorickpeterse> Context: given a 10MB String (any size really) I want to get the codepoints in blocks, *without* having to create new String instances for every character
<yorickpeterse> For MRI this seems to require C hacking
<headius> hmm
<headius> like codepoint-at-a-time?
<yorickpeterse> Rbx has a buffer that I could pull in, but I'd end up having to do 3 different things for MRI, JRuby and Rbx
<yorickpeterse> yes
<yorickpeterse> String#codepoint_at basically
marcofernandez has joined #ruby-lang
<headius> what's wrong with String#each_codepoint
<headius> or String#[]
<yorickpeterse> basically that reads a large String as a window of codepoints instead of a whole
<yorickpeterse> saving around 900 MB of RAM
[spoiler] has quit [Quit: Leaving]
<yorickpeterse> The problem is that constantly calling String#[] is slow as hell
<headius> slow everywhere or just in rbx?
<yorickpeterse> And it's only used to get codepoints out, so it's a total waste
<yorickpeterse> MRI
<headius> well, it's O(n) again
<yorickpeterse> I gave Rbx a quick try but it's also slow
<yorickpeterse> For now I'm focusing on MRI first
<yorickpeterse> Basically what that does is String#[X...(X + 23)].codepoints
<headius> I wouldn't expect rbx to have a faster String#[] anyway...both have to scan non-7bit to find char n
mykoweb has joined #ruby-lang
<yorickpeterse> The codepoints bit is not the most expensive by the looks of it, it's the string slicing
<yorickpeterse> Given I could access the underlying bytes directly, somehow, I could circumvent that
eugmill has quit [Remote host closed the connection]
<headius> I guess I'm still not certain why each_codepoint doesn't do what you want
<yorickpeterse> I still need to slice the string for that. If I do it on the whole input it blows up Ruby
eugmill has joined #ruby-lang
<yorickpeterse> 'a 100 MB string here'.codepoints # uses around 900 MB of RAM
<yorickpeterse> taking around 8 seconds to run
<yorickpeterse> That little hack I linked uses 800 KB but takes around 20 seconds
apeiros has quit [Remote host closed the connection]
<yorickpeterse> (give or take 1-2 MB probably)
<yorickpeterse> But either way it's a much smaller amount
phansch has joined #ruby-lang
apeiros has joined #ruby-lang
<headius> perhaps codepoints should have returned an enumerator
<headius> anyway
<headius> so you basically want faster random access to codepoints in a string
<headius> that's not really possible with variable-width encodings
afreidah4 has joined #ruby-lang
<yorickpeterse> Yes, without having to create a new String just to get the codepoint out
<headius> sequential access, via each_codepoint, is possible, but straight-up random access will be O(n) for any non-7bit encodings
<yorickpeterse> Well, it wouldn't strictly be random
<yorickpeterse> That is, in my use case the access would only move forward
<headius> so I'm back to each_codepoint again
miqui has quit [Ping timeout: 240 seconds]
<headius> '100MB string'.each_codepoint {|cp| ...} should use very little extra
apeiros has quit [Ping timeout: 250 seconds]
c_s_g has quit [Quit: Textual IRC Client: www.textualapp.com]
<yorickpeterse> Hm, not sure how I'd use that in my case though since codepoints are accessed from the "outside"
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
SilkFox has joined #ruby-lang
<yorickpeterse> as in, that would work if you'd feed the codepoints to, in my case, the lexer
<headius> well I'd say you could use it as an Enumerator, but that's fairly heavy (fiber or thread to drive it)
<yorickpeterse> While it's the other way around: the lexer takes them from an input
kitak_ has joined #ruby-lang
<headius> I guess you're basically looking for a faster way to tokenize, eh?
rofel has quit [Read error: Connection reset by peer]
<yorickpeterse> Yes
rofel has joined #ruby-lang
<yorickpeterse> And most of the time consumed is spent in getting codepoints out and iterating over them
<yorickpeterse> both CPU time and memory usage wise
<yorickpeterse> Memory usage I can fix, but the CPU time will suffer as a result
<headius> make your lexer unicode-aware and just feed it bytes
kitak__ has joined #ruby-lang
<yorickpeterse> already does
<yorickpeterse> sec
afreidah4 has quit [Ping timeout: 250 seconds]
<headius> lexer seems like a better place to negotiate codepoints anyway, since it's just pulling bytes off the wire
<yorickpeterse> https://github.com/YorickPeterse/oga/blob/master/lib/oga/xml/lexer.rl#L74 this is its input, it takes a String and slaps that into codepoints
<yorickpeterse> That however gets the codepoints as a whole, which is not efficient at all
<headius> cough
<headius> yes
<yorickpeterse> So hence I hacked a little buffer which gets them out in chunks instead
<headius> is this a limitation of ragel that it can't work with the bytes directly?
<headius> pondering...
<yorickpeterse> it can, but I need to get those bytes from somewhere
<yorickpeterse> Ignore Ragel, it can do bytes so that part is fine
<headius> String#getbyte
<yorickpeterse> tl;dr of this issue: if Strings were to always use byte arrays I could access those bytes directly and this would be a non issue
<headius> stream them out of that
<headius> the interesting tokens are going to be either 7-bit ascii or text anyway
<yorickpeterse> hmmm...I wonder how getbyte performs
<headius> I'm just saying make the parser work with bytes and figure out codepoints as needed, rather than trying to feed it codepoints
vpretzel is now known as vpretzel|1297
<headius> getbyte should be very fast...only the cost of a couple memory accesses and a Fixnum
<headius> and even on JRuby, we cache a full -256..255 range of Fixnums, so it should be little more than the memory accesses
phansch has quit [Quit: WeeChat 0.4.2]
eugmill has quit [Remote host closed the connection]
eugmill has joined #ruby-lang
miqui has joined #ruby-lang
eugmill has quit [Remote host closed the connection]
<yorickpeterse> Hm interesting, that uses both more memory and time
loincloth has joined #ruby-lang
rahul_j has joined #ruby-lang
<yorickpeterse> oh and it seems I bork the buffer too
<yorickpeterse> heh
shinnya has joined #ruby-lang
meizaps has quit [Ping timeout: 264 seconds]
mnngfltg has quit [Remote host closed the connection]
Varun_krishna has left #ruby-lang [#ruby-lang]
kitak_ has quit [Remote host closed the connection]
apeiros has joined #ruby-lang
momomomomo has quit [Quit: momomomomo]
vpretzel|1297 has quit [Remote host closed the connection]
vpretzel|1297 has joined #ruby-lang
<darix> yorickpeterse: so the idea of having it pure ruby is dropped already?
<yorickpeterse> hell no
<yorickpeterse> interesting enough filling up an array with #getbyte actually uses more memory and is slower
nathanstitt has joined #ruby-lang
codemonk has quit [Quit: Leaving]
eugmill has joined #ruby-lang
<yorickpeterse> though I suspect I'm overlooking something
eugmill has quit [Remote host closed the connection]
eugmill has joined #ruby-lang
<yorickpeterse> also getbyte messes up with Unicode, hrmpf
eugmill_ has joined #ruby-lang
mistym has joined #ruby-lang
<apeiros> with getbyte, you need to take care of MB sequences yourself
eugmill has quit [Remote host closed the connection]
<apeiros> i.e., getbyte(N) obviously doesn't get you char at position N, additionally, it might be a byte from within a multibyte sequence.
<yorickpeterse> yeah, so that's not really an option because I'd rather not deal with that
bawigga has joined #ruby-lang
chouhoulis has joined #ruby-lang
chouhoulis has quit [Remote host closed the connection]
<apeiros> but iirc, all multibyte sequences have the highest bit set
<yorickpeterse> so codepoints it is
<yorickpeterse> but then I need to hack codepoint_at in somehow
<apeiros> i.e., 0b1xxxxxxx is always part of a sequence
chouhoulis has joined #ruby-lang
<apeiros> you might not have to
<apeiros> as headius said, in html/xml, all interesting chars are 7bit
bawigga_ has joined #ruby-lang
<apeiros> so you can just map any non-7bit char to e.g. a null-byte or anything else your parser doesn't care about
<apeiros> s/non-7bit char/non-7bit byte/
<yorickpeterse> eh, I don't see that helping here
marcofernandez has quit [Ping timeout: 240 seconds]
<apeiros> you parse <foo>hägar</foo> - what do you care about hägar? not at all. that it's 6bytes doesn't matter. it's just "6x some byte I don't care about"
mistym has quit [Remote host closed the connection]
<apeiros> so you can pass it to your parser as <foo>......</foo>
<yorickpeterse> That will only help if further down the line that value is not used
dm78 has joined #ruby-lang
<apeiros> o0
eugmill_ has quit [Remote host closed the connection]
<yorickpeterse> unless I'm not understanding it
bawigga_ has quit [Client Quit]
<yorickpeterse> considering I'm doing like 10 things atm that could be the case
bawigga has quit [Ping timeout: 240 seconds]
rahul_j has quit [Quit: rahul_j]
<headius> yorickpeterse: none of the 7-bit tokens you're interested will appear within an MBC
<headius> e.g. space, <>"=
<headius> &
<headius> there aren't many
<headius> raw text between those tokens can be whatever encoding, you shouldn't really care
<headius> and all identifiers will be bounded by those tokens too
Cakey has quit [Ping timeout: 276 seconds]
mykoweb has quit [Remote host closed the connection]
<headius> once you need to pull off an identifier or string, use byteslice
<apeiros> basically you treat your string as binary. tell your ragel machine that [0x80-0xff] is "other char/don't care"
<headius> it doesn't have the O(n) characteristics of a normal slice
<headius> right, like apeiros said
symm- has joined #ruby-lang
sandbags has quit [Remote host closed the connection]
<yorickpeterse> I fail to see how that would help though, my little script already shows that using #getbyte is slower that #codepoints
<apeiros> and "treating as binary" == .force_encoding (if necessary at all), which only sets an attribute and doesn't actually do any conversion
futilegames_ has joined #ruby-lang
<yorickpeterse> It also uses more memory and brings the pain of having to stich back together MBs at some point
<apeiros> o0
<yorickpeterse> * stitch
eugmill has joined #ruby-lang
<apeiros> yer doin it wrong!
<yorickpeterse> yeah totally
<apeiros> codepoints returns an array, so how can you even compare the two?
<yorickpeterse> "interesting enough filling up an array with #getbyte actually uses more memory and is slower"
<apeiros> also you don't have to stitch together nothing. since you don't take it apart.
<yorickpeterse> note the part where I said filling an array with it
<apeiros> yeah, *DONT* fill up an array.
<apeiros> if you do that, you reimplement unpack("C*"), and poorly
karamazov has quit []
<apeiros> you use getbyte as your - what's it in ragel? getc?
futilegames has quit [Ping timeout: 250 seconds]
futilegames_ is now known as futilegames
<yorickpeterse> Hm, let me check if it can even handle its input in that case
<yorickpeterse> or whether it completely fucks up
<yorickpeterse> hm the lexer actually very much has to stitch the bytes back together
Fretta has joined #ruby-lang
momomomomo has joined #ruby-lang
<yorickpeterse> That is, when a T_TEXT token is emitted it has to have the correct string value
<headius> yorickpeterse: don't buffer the bytes into an array
<headius> using getbyte you can always have current byte plus a byte offset to slice against to get real strings out
<yorickpeterse> As an example, assume the input <foo>神</foo>
dstynchula has joined #ruby-lang
<headius> but you won't create strings for logical tokens
<yorickpeterse> "神" is not a single byte, as such you somehow have to stich the separate bytes back together
momomomomo has quit [Client Quit]
<yorickpeterse> ffs, * stitch
marcofernandez has joined #ruby-lang
<headius> yorickpeterse: but all bytes contained within that char are >127
<headius> and none of them are XML tokens
<headius> so...you just getbyte from token to token an then byteslices off chunks
<apeiros> yorickpeterse: why do you think you'd have to stitch? you don't break them apart.
wallerdev has joined #ruby-lang
<yorickpeterse> I feel I'm not following so sec
<apeiros> your parser gets 231, 165, 158 - all 0x80-xff, doesn't care about them and they're still in one piece
iTrojan has joined #ruby-lang
<headius> all the lexer needs to do is scan for single-byte XML tokens, track the ranges od non-token bytes between them, and turn those ranges into appropriate identifiers and strings
<yorickpeterse> Assuming I'd make @data a String and #getbyte from it, I'd need to call String#[] there
<yorickpeterse> and I doubt that would bring much of a benefit
<headius> no
<headius> you'd call String#byteslice
<apeiros> String#[] is char based. not compatible.
<apeiros> ^
<yorickpeterse> Hm, TIL about #byteslice
iTrojan1 has quit [Ping timeout: 240 seconds]
<headius> $ jruby -e "p '<foo>神</foo>'.byteslice(5, 3)"
<headius> "神"
mykoweb has joined #ruby-lang
<headius> byteslice will be O(1) always because it doesn't have to walk MBC
<yorickpeterse> Oh hm, second arg is the length
<yorickpeterse> blegh
bawigga has joined #ruby-lang
<headius> and since your lexer doesn't need to walk MBC either, you just peel off XML tokens or arbitrary ranges of bytes
<yorickpeterse> ok so now it's making some sense. I was confused by the use of #getbyte if you'd still had to use String#{]
<yorickpeterse> * #[]
<apeiros> you can do byteslice(offset..offset) too
<headius> apeiros: yes, but creates a range object every time
<yorickpeterse> byteslice(start, stop - start) works for me
dstynchula has quit [Remote host closed the connection]
mistym has joined #ruby-lang
<yorickpeterse> tests at least pass, lets see how the memory is in this case
<apeiros> headius: yes. but it seemed he was worried about it and currently seems to use off..off2
AncientAmateur has quit [Remote host closed the connection]
<headius> yorickpeterse: just have to make sure you're dealing with byte offsets now, not char offsets
mikecmpbll has quit [Quit: i've nodded off.]
<headius> apeiros: sure...I know too much
<apeiros> I almost always prefer slice(offset, length), except for offset..-1
sferik has joined #ruby-lang
<yorickpeterse> Hm, memory seems stable
danijoo has quit [Quit: Leaving...]
heftig has quit [Quit: Quitting]
<headius> yorickpeterse: getbyte is basically the raw byte access you wanted
<headius> and byteslice is the efficient way to create views on the underlying bytes
sferik_ has quit [Ping timeout: 252 seconds]
<apeiros> headius: do you know, does MRI create COW buffers for that too?
jsullivandigs has joined #ruby-lang
<apeiros> iirc it does for Array#[]
<headius> yes
<apeiros> nice
|jemc| has joined #ruby-lang
<headius> it should only be the cost of a String object to wrap the byte[] + offset + length
bzalasky has joined #ruby-lang
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
<headius> yorickpeterse: how's the perf
<yorickpeterse> Hm, performance is not too bad
<headius> cool
<yorickpeterse> 11 minutes or so to lex 100 MB
<yorickpeterse> memory sits around 120MB in total
<headius> that's with the 100MB already in memory I assume
<yorickpeterse> yes
<yorickpeterse> So the overhead of lexing itself is pretty much none memory wise
<yorickpeterse> plus it already streams tokens
<yorickpeterse> So the parser doesn't have to wait for the entire output
<headius> sounds right
<yorickpeterse> little under 3000 lines/sec
<yorickpeterse> much better than the one hour @ 600 lines/sec I measured yesterday
<headius> got JRuby handy to try it?
<yorickpeterse> Yeah I have it here, sec
<yorickpeterse> 1.7.9 that is
<yorickpeterse> oh derp
<yorickpeterse> still fails a bundle because I have racc as a gem dep
<headius> bleh
<headius> did you get a JRuby racc gem from me?
<yorickpeterse> Not that I know of
yfeldblum has joined #ruby-lang
<yorickpeterse> stdlib Racc is fine for now, it's not used in this test
dstynchula has joined #ruby-lang
<yorickpeterse> jruby starts out at around 900 lines/sec
<yorickpeterse> seems to slowly increase
rahul_j has joined #ruby-lang
<yorickpeterse> sits around 1010 atm
<headius> hmm, I'd have expected it to be a lot faster
<yorickpeterse> at least it's burning down my CPU
<headius> racc is not the most efficient thing in the world though
<yorickpeterse> Racc is not used here
AncientAmateur has joined #ruby-lang
<yorickpeterse> I'm just testing the lexer
<headius> oh, then something's wrong
vpretzel|1297 is now known as vpretzel|1292
<yorickpeterse> lets see what Rbx does
<headius> any time we're that much slower than MRI, something's broken :-)
Cakey has joined #ruby-lang
<yorickpeterse> I'd hope so
yfeldblum has quit [Ping timeout: 240 seconds]
<headius> got your bench + data somewhere I could grab them?
<headius> I suppose I could locate a big XML file on my own if you show me how to run the bench
<yorickpeterse> I have a 100 MB XML file downloaded from...
kitak has joined #ruby-lang
<headius> ok
yfeldblum has joined #ruby-lang
<yorickpeterse> zzzzz chuck needs to hurry up with his IO patches for rbx
<yorickpeterse> just reading the file takes forever
Johz has joined #ruby-lang
<yorickpeterse> oh heh, it's String#count actually
<yorickpeterse> heh, 300 lines/sec, mind you this is a debug build
<yorickpeterse> so it's super slow already
<yorickpeterse> I have a stable build at home that I'll try when I get back
kitak__ has quit [Remote host closed the connection]
<yorickpeterse> if I try to compile Rbx on this laptop I have to put it on a block of ice
Cakey has quit [Ping timeout: 265 seconds]
elliotec has joined #ruby-lang
rippa has joined #ruby-lang
mikecmpbll has joined #ruby-lang
enebo_ has joined #ruby-lang
<headius> yorickpeterse: can you push?
marcofernandez has quit [Ping timeout: 245 seconds]
sferik has quit [Read error: Connection reset by peer]
enebo has quit [Ping timeout: 245 seconds]
enebo_ is now known as enebo
sferik has joined #ruby-lang
marcofernandez has joined #ruby-lang
elliotec has quit [Ping timeout: 245 seconds]
Squarepy has quit [Quit: Leaving]
retro|sk has quit [Ping timeout: 250 seconds]
<yorickpeterse> yeah just a minute
sferik has quit [Client Quit]
<yorickpeterse> setting up a test for multibytes to make sure it does what I want it to do
dwknoxy has joined #ruby-lang
omosoj has joined #ruby-lang
toastynerd has joined #ruby-lang
<yorickpeterse> welp, fails on multibytes
vpretzel_ has joined #ruby-lang
tbuehlmann has quit [Quit: Leaving]
<yorickpeterse> argh, bitten by the infamous String#length on a multibyte string
vpretzel|1292 has quit [Ping timeout: 245 seconds]
vpretzel_ is now known as vpretzel|1292
<yorickpeterse> headius: ok
<yorickpeterse> so
mbj_ has joined #ruby-lang
shinnya has quit [Ping timeout: 240 seconds]
<yorickpeterse> best benchmark ever
<headius> yorickpeterse: ok
mbj has quit [Ping timeout: 245 seconds]
<yorickpeterse> Annoying trivia: the MRI profiler gives back false positives for the lexer from what I can gather
<yorickpeterse> It states a certain method is the most expensive. Said method doesn't even exist
dagobah has quit [Quit: Leaving...]
<yorickpeterse> aha
<yorickpeterse> it's the assignment of a local variable
<yorickpeterse> which apparently shows up as a method call
twright has joined #ruby-lang
dm78 has quit [Remote host closed the connection]
<headius> weird
dm78 has joined #ruby-lang
jsrn has quit [Quit: Leaving]
sandbags has quit [Remote host closed the connection]
imperator has joined #ruby-lang
<headius> ragel must use non-local flow control a lot
sandbags has joined #ruby-lang
elia has quit [Ping timeout: 276 seconds]
<headius> shows up in VM profile
polyidus has joined #ruby-lang
__butch__ has joined #ruby-lang
sferik has joined #ruby-lang
<yorickpeterse> euh yeah, it slaps a bunch of things in instance variables
<yorickpeterse> but I doubt that's the overhead since most of those are Fixnums
<headius> yorickpeterse: does this use a lot of define_method bodies?
<yorickpeterse> https://github.com/YorickPeterse/oga/blob/master/lib/oga/xml/lexer.rl#L52-L58 this is the only part where define_method is used
<yorickpeterse> But those methods point to static values on class level
sandbags has quit [Ping timeout: 276 seconds]
<headius> define_method methods are many times slower than regular ones
<headius> on all impls
<yorickpeterse> hmm
vsorlov has joined #ruby-lang
<yorickpeterse> I'll take a look at that on the train, bbl
<yorickpeterse> thanks for the help :)
<yorickpeterse> same goes to apeiros
dm78 has quit [Remote host closed the connection]
mistym has quit [Remote host closed the connection]
dm78_ has joined #ruby-lang
<apeiros> yw
<headius> yorickpeterse: with def instead of define_method there, JRuby goes from 1000/s to 6000/s
<headius> JRuby wins...flawless victory
<headius> actually not flawless..obviously our define_method is too slow
dm78_ is now known as dm78
<apeiros> headius: btw., how's duby coming along?
<imperator> pyhrric victory?
mikecmpbll has quit [Quit: i've nodded off.]
<headius> imperator: I suppose so
<imperator> Mirah
<headius> apeiros: Mirah is still going under the care of others
<apeiros> oh, duby got renamed to Mirah?
<imperator> long ago
<apeiros> :)
<apeiros> yeeees, I'm out of touch. got it :-p
<imperator> looks like it hasn't seen an update in 2 years
<headius> work continues though
<headius> they've done releases more recently than that
<headius> some in the past few months
* imperator downloads
<headius> site is just old I think
<imperator> oh, maybe i'm just looking in the wrong place
eugmill has quit [Remote host closed the connection]
<imperator> https://github.com/mirah/mirah/downloads says 2 years ago
<havenwood> headius: are Truffle/Graal still in the running for being a possible JRuby 9k default? seems pretty exciting.
meizaps has joined #ruby-lang
<headius> havenwood: it will ship but won't be default since it's specific to Graal OpenJDK
<havenwood> headius: ah, nice
<headius> out of the box you'll have the JVM-agnostic runtime and the truffle runtime
SilkFox has quit [Ping timeout: 250 seconds]
<imperator> ah, forgot it could be installed as a gem, cool
AncientAmateur has quit [Remote host closed the connection]
eugmill has joined #ruby-lang
scmx has quit [Ping timeout: 250 seconds]
RobertBirnie has joined #ruby-lang
marcofernandez has quit [Ping timeout: 258 seconds]
<apeiros> hrmpf, `using` invokes no callback. no way to make `using "X"` automatically also do `using "Y"` and `using "Z"`
<apeiros> so I guess the only way to share refinements is to store the refine block
<apeiros> and replay Y and Z's refine block in X, so X contains all refinements of Y and Z
SilkFox has joined #ruby-lang
mikecmpbll has joined #ruby-lang
marcofernandez has joined #ruby-lang
yfeldblum has quit [Remote host closed the connection]
bawigga has quit []
<imperator> i really need to update my pickaxe
* imperator hasn't looked at refinements
<|jemc|> if you ignore them long enough maybe they'll go away
<apeiros> lol
<imperator> or, at least, whatever they eventually settled on
cnivolle_ has joined #ruby-lang
<apeiros> it's annoying that toplevel refinements went away
bawigga has joined #ruby-lang
tbuehlmann has joined #ruby-lang
<havenwood> apeiros: agreed!
<havenwood> apeiros: very hard to give nice overly-simplistic examples or prototyping
polyidus has quit [Ping timeout: 245 seconds]
<apeiros> havenwood: was there any rationale given on it?
cnivolle has quit [Ping timeout: 246 seconds]
alexju_ has quit [Ping timeout: 252 seconds]
marcofernandez has quit [Ping timeout: 240 seconds]
<havenwood> apeiros: maybe the explanation is in the Japanese i can't read >.> https://bugs.ruby-lang.org/issues/8722
<headius> havenwood: IRB code runs within an eval context
<apeiros> ah, that issue exhibits another issue - you can't easily just extend/include a refinement if you want it to be global
<havenwood> headius: ah
yfeldblum has joined #ruby-lang
skade has quit [Ping timeout: 265 seconds]
<havenwood> any thoughts on the proposed?: using Foo, global: true
<apeiros> belly feel: don't like it
<apeiros> haven't thought about it, though
mikecmpbll has quit [Quit: i've nodded off.]
<apeiros> *sob*, one downside of easter: shops close. gotta go shopping :-S
<headius> havenwood: anything that makes a refinement be used globally will severely impact performance
<apeiros> headius: couldn't it be implemented via include/extend?
<headius> whether refinements is a good feature or not, it's a terrible feature to optimize
<apeiros> heh, I can imagine
<headius> no, because using doesn't modify hierarchy
<headius> refinements is a dynamic method-lookup scope that has to be checked for every call
<apeiros> headius: ruby already has hidden hierarchy (singleton_class)
<headius> yes, but you wouldn't be able to have two different usings
<headius> it has to be local to the code, not the type
<headius> that's why I argued for it to be made lexical
<apeiros> huh? maybe I misunderstand the global: true bit
<havenwood> using Foo, slow_as_hell_global_prototyping: true
marcofernandez has joined #ruby-lang
charlies_ has joined #ruby-lang
vsorlov has quit [Read error: Connection reset by peer]
<headius> global: true would make every call site in the system check for a refinement every time you call
vsorlov has joined #ruby-lang
<apeiros> *sob*
<headius> havenwood: I don't like adding features that are horribly slow but useful, because people invariably use them and then complain about them being horribly slow
<apeiros> I want infinite time, damit
<apeiros> then I could build my toy language
<apeiros> which is the bestestest language evarrr!
madb055 has joined #ruby-lang
charliesome has quit [Ping timeout: 240 seconds]
alexju has joined #ruby-lang
arBmind has quit [Read error: Connection reset by peer]
benlovell has quit [Ping timeout: 252 seconds]
michaeldeol has joined #ruby-lang
arBmind has joined #ruby-lang
yfeldblum has quit [Ping timeout: 250 seconds]
pixelhandler has joined #ruby-lang
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
brianpWins has quit [Quit: brianpWins]
wallerdev has quit [Quit: wallerdev]
mykoweb has quit [Remote host closed the connection]
hahuang65 has quit [Ping timeout: 265 seconds]
charlies_ has quit [Quit: Textual IRC Client: www.textualapp.com]
charliesome has joined #ruby-lang
yatish27 has joined #ruby-lang
symm- has quit [Ping timeout: 245 seconds]
rippa has quit [Ping timeout: 240 seconds]
SilkFox has quit [Ping timeout: 265 seconds]
centrx has joined #ruby-lang
canton7-mac has quit [Remote host closed the connection]
symm- has joined #ruby-lang
SilkFox has joined #ruby-lang
CaptainJet has joined #ruby-lang
dsaint-pierre has quit [Ping timeout: 276 seconds]
kitak has quit [Remote host closed the connection]
loincloth has quit [Remote host closed the connection]
michaeldeol has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
kitak has joined #ruby-lang
amsi has joined #ruby-lang
mikecmpbll has joined #ruby-lang
sferik has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
michaeldeol has joined #ruby-lang
SilkFox has quit [Ping timeout: 250 seconds]
sferik has joined #ruby-lang
wallerdev has joined #ruby-lang
sandbags has quit []
AncientAmateur has joined #ruby-lang
mistym has joined #ruby-lang
kalehv has joined #ruby-lang
thisirs has joined #ruby-lang
kalehv has quit [Remote host closed the connection]
whitecrow1 has quit [Quit: Leaving]
mechan1c has quit [Ping timeout: 245 seconds]
diegoviola has joined #ruby-lang
SilkFox has joined #ruby-lang
loincloth has joined #ruby-lang
jason__ has joined #ruby-lang
ratmav has joined #ruby-lang
scmx has joined #ruby-lang
SilkFox has quit [Ping timeout: 258 seconds]
nisstyre has joined #ruby-lang
<headius> apeiros: yeah I know what you mean :-)
<headius> yorickpeterse: final results on JRuby with my fix: [02:56] [00:19] [ 10387.91/s]Usage: 166.86 MB
jason__ has quit [Read error: Connection reset by peer]
hahuang65 has joined #ruby-lang
<headius> MRI 2.1 maxes out around 3600/s
<headius> Rubinius hovers around 1700/s after warmup
<headius> that's 2.1.1 though...I haven't been able to build rbx for a few months
<centrx> rbx unbuildable!
<yorickpeterse> headius: heh, same here
<yorickpeterse> errr wait
<yorickpeterse> MRI has 10k lines/sec for me after...
<cout> headius: what are you measuring?
<yorickpeterse> ^ lines/sec go up from ~3500-4000 to 10 000
<headius> yorickpeterse: I just changed that to do an eval'ed def...will try removing altogether
<yorickpeterse> I'm using locals
<yorickpeterse> can't get faster than that :)
<headius> this is jruby master on Java 8 too
<centrx> I thought that definitively proved define_method was not more than 2% sloewr?
<headius> cout: yorick's XML parser
yfeldblum has joined #ruby-lang
<cout> ooh, ragel
elliotec has joined #ruby-lang
<yorickpeterse> Have to set some proper benchmarks up for measuring lines/sec though
vsorlov has quit [Ping timeout: 240 seconds]
yatish27 has quit [Remote host closed the connection]
yatish27 has joined #ruby-lang
elliotec has quit [Ping timeout: 258 seconds]
ssb123 has joined #ruby-lang
ratmav has quit [Quit: Leaving]
iTrojan has quit [Remote host closed the connection]
diegoviola has quit [Quit: WeeChat 0.4.3]
scmx has quit [Ping timeout: 258 seconds]
yatish27 has quit [Ping timeout: 240 seconds]
brianpWins has joined #ruby-lang
diegoviola has joined #ruby-lang
kalehv has joined #ruby-lang
<headius> yorickpeterse: with your patch, MRI is around 8200/s and JRuby is at 20k and still climbing
<headius> Rubinius settles in around 2500
symm- has quit [Ping timeout: 240 seconds]
GaelanAintAround has quit [Ping timeout: 245 seconds]
zz_dlu has quit [Ping timeout: 240 seconds]
<headius> JRuby is fastest with some warmup...in this case JRuby doesn't beat MRI until about 7s in
<headius> well, obviously jruby is fastest
scmx has joined #ruby-lang
SilkFox has joined #ruby-lang
iTrojan has joined #ruby-lang
<cout> headius: well we didn't try ludicrous ;)
<cout> (though I doubt it even compiles anymore with 1.9.3)
sepp2k has joined #ruby-lang
<yorickpeterse> headius: Hm, interesting how Rbx settles at 2500
<yorickpeterse> it does have serious issues with IO performance but that shouldn't affect this
<imperator> ludicrous?
agarie has joined #ruby-lang
<headius> yorickpeterse: rbx doesn't perform well when large parts of the Ruby kernel are involved
<yorickpeterse> are you using rbx stable or a Git build?
<cout> imperator: experimental jit I was working on back in 2007
<imperator> ok, thanks
<cout> btw hi dan :)
<imperator> hello :)
robbyoconnor has joined #ruby-lang
<cout> imperator: haven't seen you since I started car racing
<cout> still trying to figure out how to combine that with ruby
MichD is now known as michd
<imperator> it probably involves lego mindstorms or something ;)
<imperator> or an arduino interface
thisirs has quit [Ping timeout: 250 seconds]
DEac-_ has joined #ruby-lang
<imperator> car racing as in...cars you drive? or rc cars?
DEac- has quit [Read error: Connection reset by peer]
<cout> imperator: at one point I was going to do datalogging with ruby, but then racecapture came out
<yorickpeterse> headius: hm, quick benchmark I whipped together yields around 55 000 lines/sec
<cout> imperator: 24 hours of lemons
<yorickpeterse> on MRI
<apeiros> yorickpeterse: still a lot of work for your target of 1 000 000 lines/sec!
<imperator> cout, oh, actual cars, sorry
<yorickpeterse> apeiros: heh
<yorickpeterse> well it's already over 9000
<apeiros> yorickpeterse: tweet that
<apeiros> and enjoy the bot response :D
<yorickpeterse> eh?
<apeiros> tweet something like "my xml parser is at over 9000 lines per second!", and see what happens ;-)
<yorickpeterse> pfff
<apeiros> wait, do I follow you?
ssb123 has quit [Remote host closed the connection]
<apeiros> =( seems not
<apeiros> what's your handle?
<headius> yorickpeterse: would love to see that bench
mehlah has quit [Quit: Leaving...]
<headius> is this including Racc now?
<apeiros> (in case somebody wants to know what happens on "over 9000" tweets - nappa happens: https://twitter.com/DBZNappa )
<yorickpeterse> headius: no, still just ragel
<headius> yorickpeterse: was that with MRI?
<yorickpeterse> Yes
<yorickpeterse> I'm adjusting the benchmark to use some better input atm
bzalasky has quit [Remote host closed the connection]
kalehv has quit [Remote host closed the connection]
kalehv has joined #ruby-lang
matp has joined #ruby-lang
LMity has joined #ruby-lang
jgpawletko has quit [Quit: jgpawletko]
<apeiros> upside of easter: 4 days to finally get some progress happening on my CSV replacement
benlovell has joined #ruby-lang
<apeiros> still need to find some C guru to review my code after, though :-(
kalehv has quit [Ping timeout: 258 seconds]
robmiller has quit [Quit: Leaving.]
mbj_ is now known as mbj
cnivolle_ has quit [Remote host closed the connection]
sarkyniin has joined #ruby-lang
LMity has quit [Ping timeout: 245 seconds]
<yorickpeterse> headius: pull from master, then run `rake generate` followed by `ruby benchmark/lexer/bench_line_rate.rb`
<yorickpeterse> on MRI 2.1 I get 19784.004 lines/second
mykoweb has joined #ruby-lang
<yorickpeterse> testing Jruby 1.7.10 in a minute or so
marcofernandez has quit [Ping timeout: 258 seconds]
elliotec has joined #ruby-lang
<imperator> another csv replacement?
<headius> ok
<apeiros> imperator: another?
<imperator> csv, fastercsv
<apeiros> no
<apeiros> not a csv *parser* replacement. a *csv* replacement.
<yorickpeterse> You mean like xlsx? :>
* yorickpeterse runs
<apeiros> imperator: https://github.com/apeiros/ept
rofel has quit [Remote host closed the connection]
sferik has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<wallerdev> if only people could come to a consensus on csv haha
<imperator> oic
<wallerdev> its all just random rules
<apeiros> wallerdev: yes. that's one of its biggest flaws.
<wallerdev> yeah
<yorickpeterse> headius: seems jruby is much, much slower
<yorickpeterse> still going
<apeiros> at work we have a heuristic detection for file uploads. it detects xls, xlsx, csv in macroman/windows-1252/utf-8 using , or ; as colsep and \r\n or \n as rowsep
<wallerdev> i had to port a csv parser from another language for my previous job since it was the only one that worked with the csv files we had haha
<yorickpeterse> 5686.94 lines/second apparently
<yorickpeterse> taking around 180 seconds in total
<apeiros> simply because the kind of users we have couldn't be taught which is what and why the f* they should care (and IMO correctly so)
<wallerdev> haha yeah
eugmill has quit [Remote host closed the connection]
rahul_j has quit [Quit: rahul_j]
achal has quit [Quit: Connection closed for inactivity]
marcofernandez has joined #ruby-lang
<apeiros> I intend on finishing the C implementation of a stream and a file parser (though, I'll kick the fileparser if it isn't at least 20% faster than the streamparser).
<headius> yorickpeterse: in order to kick the jit up a notch I set threshold to zero, which improved perf a good bit
<apeiros> once that's done I'll try to get it a bit known
<headius> so for this bench, there's methods getting hit too few times to JIT that slow it down
<apeiros> and then start native implementations in various languages. should help me to finally get around learning other languages.
<headius> like a big top-level method or something
workmad3 has quit [Ping timeout: 245 seconds]
cnivolle has joined #ruby-lang
cnivolle has quit [Remote host closed the connection]
<wallerdev> cool
cnivolle has joined #ruby-lang
<wallerdev> you should see if you can get it funded with VC, thats the way to get things known these days, could probably raise at least $5 mil for a csv parser
<apeiros> the stream parser will be a cool bit of tech. it can be stopped at any position in the stream. that way it's trivial to implement any kind of non-blocking or partial parsers on top
<apeiros> wallerdev: you're kidding me?
<wallerdev> yes haha
<apeiros> good.
<yorickpeterse> headius: what option and how do I set it?
<apeiros> sarcasm detector not completely broken.
<yorickpeterse> hm, rbx has 5604 lines/sec
<headius> yorickpeterse: -Xjit.threshold=0
<headius> and I'm running on Java 8, so invokedynamic is active
<yorickpeterse> Ah, I have 1.7
robbyoconnor has quit [Excess Flood]
<wallerdev> although...
<apeiros> wallerdev: I'll get back at you in 2y
<apeiros> wallerdev: when I've successfully raise 10mio $
<headius> yorickpeterse: quick bench put jruby at 20k lines/s, total of 49s
robbyoconnor has joined #ruby-lang
<apeiros> ;o)
<wallerdev> you could probably have a service that takes various formats like xls, xlsx,csv, and returns a correctly formatted version
<wallerdev> charge some monthly fee for access
<wallerdev> lol
<apeiros> well, the ruby version of it will actually read/write xlsx,xls,csv and ept and can convert between them
DEac-_ has quit [Read error: Connection reset by peer]
<wallerdev> cool :)
<apeiros> most of that work is already done
<wallerdev> didnt realize you could parse xls
<wallerdev> isnt it binary or something
<apeiros> it is. thankfully somebody waded through that mess and wrote a parser in ruby
DEac- has joined #ruby-lang
elliotec has quit [Remote host closed the connection]
<wallerdev> haha nice
<apeiros> also it's intentionally messed up to throw off competitors (not kidding)
<wallerdev> lol
<headius> yorickpeterse: MRI 2.1 gets about 15k
<yorickpeterse> huh
elliotec has joined #ruby-lang
dwknoxy is now known as dknox-lunch
<yorickpeterse> how on earth do I get such a massive difference then
<yorickpeterse> I do have an SSD but it shouldn't matter in this case since it's all in memory already
<headius> beats me...this is just a plain rvm build of MRI 2.1.1
<cout> I get 17K on 1.9
<headius> I'm trying to run rbx but it may take longer than I have patience for
<yorickpeterse> btw with that -X option it seems jruby is taking longer than without
<headius> yorickpeterse: it will be slower to get going since more code compiles, but it should run faster
<imperator> spreadsheet::excel, ah, i remember it well
<cout> excel?
<cout> is that like quattro pro?
<imperator> talking about xls files
<yorickpeterse> headius: 3249.379 lines/second, total of 313 seconds
<yorickpeterse> so it seems JIT overhead outweights the benefits
jds has quit [Quit: Connection closed for inactivity]
<imperator> i wrote the first excel writer i think, ported from perl, long long ago
<imperator> (in a galaxy far far away)
<headius> yorickpeterse: Java version? Indy?
sandbags has joined #ruby-lang
<headius> again, I'm running off master
<headius> rbx appears to be many times slower than MRI here
<headius> 212s versus 67s
<yorickpeterse> headius: sec
<yorickpeterse> headius: http://hastebin.com/vedeqinodu.txt
<headius> I'll try 1.7.11
<headius> ok, Java 7, no indy
<cout> can someone please explain to me why I am crazy? https://gist.github.com/anonymous/11003152
Pupeno has quit [Ping timeout: 240 seconds]
kalehv has joined #ruby-lang
<yorickpeterse> cout: 1) you're a programmer
<cout> hah
mbj has quit [Quit: leaving]
bzalasky has joined #ruby-lang
robbyoconnor has quit [Excess Flood]
ssb123 has joined #ruby-lang
<yorickpeterse> other than that, no idea
robbyoconnor has joined #ruby-lang
<cout> yorickpeterse: so the behavior is just as confusing to you as to me?
kalehv has quit [Read error: Connection reset by peer]
<cout> oh wait
<cout> oh I'm an idiot
kalehv has joined #ruby-lang
<cout> ok
<cout> can't have two keys with the same value
<yorickpeterse> depr
<yorickpeterse> * derp
<yorickpeterse> DAMN IT
<cout> yeah
<yorickpeterse> My typing sucks today
sandbags has quit [Read error: Connection reset by peer]
<imperator> you derped when you should have herped
benlovell has quit [Ping timeout: 265 seconds]
<imperator> i should work on my ole lib replacement, but i'm not motivated
saarinen has joined #ruby-lang
loincloth has quit [Remote host closed the connection]
dknox-lunch is now known as dknox
loincloth has joined #ruby-lang
ssb123 has quit [Ping timeout: 250 seconds]
kalehv has quit [Ping timeout: 252 seconds]
robbyoconnor has quit [Ping timeout: 258 seconds]
robmiller has joined #ruby-lang
Anon__ has joined #ruby-lang
jcs222 has quit [Quit: leaving]
<headius> yorickpeterse: non-indy 1.7.11 performs like your numbers
Anon_ has joined #ruby-lang
<headius> so either indy is doing something great, or the non-indy logic has a bottleneck
<headius> I'd be inclined to the latter
Anon__ has quit [Client Quit]
<headius> yorickpeterse: is Rubinius still going? I just checked out github pulse page
<wallerdev> headius: are you related to jruby
<yorickpeterse> headius: eh yes?
banisterfiend has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<yorickpeterse> brixen is on holidays, dbussink is super busy with GH
<headius> yorickpeterse: the pace seems to be almost zero
<headius> ahh...well that explains some then
<headius> 2 commits in the past week, 92 for the month
<whitequark> "are you related to jruby" heh
<yorickpeterse> I'm swamped with Oga, there's a lot of stuff happening on the issue tracker though
<headius> wallerdev: you could say that
<yorickpeterse> and e.g. cremes is working on some massive IO improvements
<headius> yeah, what's the status of his FFI-based IO stuff?
<wallerdev> yeah names familiar haha, didnt remember if you created jruby or what
<headius> frankly I have no idea why FFI would be better than primitives
<headius> wallerdev: I'm one of the leads, yes
<yorickpeterse> headius: I think he needed some feedback from brixen or something
<wallerdev> cool stuff
<yorickpeterse> I'd have to ask him again when he's around
<headius> yorickpeterse: what I saw of his FFI stuff was way off from being fully compat
<yorickpeterse> oh yeah, he started with some specific bits
<headius> no thread safety, missing lots of encoding stuff
<yorickpeterse> mostly to get an idea if it was worth the effort at all
<headius> yeah
rofel has joined #ruby-lang
<headius> logically FFI should never end up faster than a primitive, but perhaps the value will be in having less C++ rather than perf
<headius> other than second-system effect from the FFI rewrite
eugmill has joined #ruby-lang
<headius> yorickpeterse: mm yeah, I guess there's some issue activity
robmiller has quit [Quit: Leaving.]
<whitequark> I wonder if you can use JIT together with FFI descriptions
<whitequark> I mean, not go through libffi each time
zergut has left #ruby-lang [#ruby-lang]
rofel has quit [Ping timeout: 276 seconds]
sepp2k1 has joined #ruby-lang
sepp2k has quit [Ping timeout: 252 seconds]
<headius> JRuby's FFI does that
<headius> I'm not sure if Rubinius's does
<headius> the FFI we're going to add to OpenJDK will do it too
<yorickpeterse> headius: e.g. for me literally the only thing that prevents me from using Rbx, and thus tweaking it more, is Nokogiri
<yorickpeterse> as such I'm spending as much time as I can on getting rid of that pile of crap
<yorickpeterse> But that will take at least another 2-3 months
<yorickpeterse> so I at least spend more time triaging issues, chasing people down, etc
<yorickpeterse> But make no mistake, it's far from dead
<headius> well, that's good to hear
<|jemc|> yorickpeterse: do you know when brixen is back from holiday?
fbernier has quit [Read error: Connection reset by peer]
<headius> yorickpeterse: anyway, back to the matter at hand... JRuby is comfortably above 20k with invokedynamic and around 3k without, where MRI does around 8k
<xybre> yorickpeterse: Isn't Nokogiri a C extension?
Johz has quit [Ping timeout: 245 seconds]
fragamus has joined #ruby-lang
<yorickpeterse> |jemc|: some time next week I believe
<yorickpeterse> xybre: yes
<yorickpeterse> headius: interesitng to see how there's such a huge difference on MRI
<xybre> The C compatibility layer doesn't support enough of the API?
<yorickpeterse> it causes Rbx crashes about every 5 minutes
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
<headius> yorickpeterse: yeah not sure why that is
mbj has joined #ruby-lang
michaeldeol has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<xybre> yorickpeterse: So you wrote a racc parser instead. Not a bad plan.
<yorickpeterse> famous last words
<yorickpeterse> still a long way to go though, right now it's not more than a lexer, parser and a half-assed DOM tree
<headius> non-indy execution seems to spend all its time in advance, based on a sampled profile anyway
<headius> 86.3% 17642 + 0 rubyjit.Oga::XML::Lexer$$advance_35b7ed73ccb72b9053afb2ddc7b9125ecf373bc51740760624.chained_1_rescue_1$RUBY$SYNTHETIC__file__
<yorickpeterse> well, #advance is where the lexing happens
<headius> might be something to improve there
elliotec has quit [Remote host closed the connection]
elliotec has joined #ruby-lang
<headius> I'll get around to it some day
<headius> the old non-indy AST runtime is going away for 9k though
<xybre> yorickpeterse: I said it's not a bad plan, not that I'd do it myself ;)
<headius> new runtime will have different perf characteristics
sandbags has quit [Remote host closed the connection]
sandbags has joined #ruby-lang
saarinen has quit [Quit: saarinen]
axv has joined #ruby-lang
Pupeno has joined #ruby-lang
nisstyre has quit [Quit: WeeChat 0.4.3]
arBmind has quit [Quit: Leaving.]
<imperator> well, that nokogiri issue is somewhat disheartening
<yorickpeterse> headius: thanks for rubber ducking along, I'll probably do some digging into the Rbx perf this weekend
<yorickpeterse> imperator: regardless of who's to blame (noko or rbx), it's a disaster
<yorickpeterse> brixen also spent a few days debugging it and couldn't find what on earth was going on
<yorickpeterse> I think I spent a total of two weeks on it
banister has joined #ruby-lang
bin7me has quit [Quit: Leaving]
eugmill has quit [Remote host closed the connection]
sandbags has quit [Read error: Connection reset by peer]
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
<apeiros> I'm still a bit sad that there's no literal for sets in ruby :(
robmiller has joined #ruby-lang
eam_ is now known as eam
<apeiros> also that it isn't a first class citizen
sandbags has quit [Client Quit]
<yorickpeterse> Ruby also doesn't have lists
<yorickpeterse> (queue that bugs.ruby-lang.org issue)
omosoj has quit [Ping timeout: 245 seconds]
eugmill has joined #ruby-lang
<apeiros> yorickpeterse: lists as in linked lists?
<xybre> It's typically faster to reallocate or grow arrays than handle lists on modern architectures, so I can see why they did it that way.
<headius> apeiros: I've debated turning Set into a native impl a few times, so I can efficiently make it thread-safe and clean up some perf issues
<apeiros> headius: pondering Array#&, | etc. vs. real Set is just sad
<xybre> Real Sets would be nice.
<apeiros> headius: also Set.new([a, b, c]) is just sad too… "hurray, lets create an array to create a hash to create a set!"
<xybre> Yeah. I actually just found out that Sets were implemented using Hash. I don't know how I missed that before, but what a mess.
<headius> yeah, having Set wrap an Array makes it both thread-unsafe and not particularly efficient
<headius> er yeah Hash
<apeiros> yorickpeterse: april fools ticket…
<yorickpeterse> apeiros: yup
<headius> using a Hash for a Set isn't really unusual
<apeiros> headius: I can understand the choice
<apeiros> headius: but I think it wouldn't have been a huge effort to just use the C impl of hash to have a native Set
<apeiros> not sure about the thread-safety issue, though
<apeiros> ah, forgot that rubys Set is mutable
<yorickpeterse> clearly Ruby should be immutable and statically typed
<apeiros> that anyway
<apeiros> also weakly typed
Pupeno has quit [Remote host closed the connection]
caral has joined #ruby-lang
ssb123 has joined #ruby-lang
kalehv has joined #ruby-lang
<imperator> xybre, so, create your own set lib
<xybre> imperator: Sure, I'll put it in a gem.
robmiller has quit [Quit: Leaving.]
diegoviola has quit [Ping timeout: 240 seconds]
jsutt has joined #ruby-lang
kalehv has quit [Ping timeout: 240 seconds]
Pupeno has joined #ruby-lang
eugmill has quit [Quit: Leaving...]
yalue has quit [Quit: Leaving]
LMity has joined #ruby-lang
ikrima has joined #ruby-lang
<gnufied> it does not have Set though.
wallerdev has quit [Quit: wallerdev]
axv has quit []
<apeiros> well, Set is a DS, not an algo :)
rofel has joined #ruby-lang
* apeiros puts on smug-hat
LMity has quit [Ping timeout: 250 seconds]
rofel has quit [Ping timeout: 265 seconds]
hahuang65 has quit [Ping timeout: 252 seconds]
omosoj has joined #ruby-lang
loincloth has quit []
ikrima has quit [Ping timeout: 258 seconds]
simono has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
simono has joined #ruby-lang
hahuang65 has joined #ruby-lang
benlovell has joined #ruby-lang
bzalasky has quit [Remote host closed the connection]
robmiller has joined #ruby-lang
yfeldblu_ has joined #ruby-lang
mbj has quit [Quit: leaving]
yfeldblum has quit [Ping timeout: 258 seconds]
saarinen has joined #ruby-lang
mistym has quit [Remote host closed the connection]
dm78 has quit [Remote host closed the connection]
michaeldeol has joined #ruby-lang
symm- has joined #ruby-lang
vpretzel|1292 is now known as vpretzel|964
kalehv has joined #ruby-lang
amsi has quit [Ping timeout: 264 seconds]
heftig has joined #ruby-lang
alexju has quit [Remote host closed the connection]
cnivolle has quit [Ping timeout: 246 seconds]
achal has joined #ruby-lang
agarie has quit [Read error: Connection reset by peer]
<xybre> Is there a data_structures gem?
agarie has joined #ruby-lang
kalehv has quit [Ping timeout: 240 seconds]
imperator has quit [Quit: Valete!]
wallerdev has joined #ruby-lang
_ht has quit [Remote host closed the connection]
saarinen has quit [Quit: saarinen]
nisstyre has joined #ruby-lang
arBmind has joined #ruby-lang
futilegames has quit [Quit: futilegames]
cnivolle has joined #ruby-lang
fragamus has quit [Quit: Computer has gone to sleep.]
Anon_ has quit [Quit: Leaving]
rofel has joined #ruby-lang
elliotec has quit [Remote host closed the connection]
elliotec has joined #ruby-lang
rofel has quit [Ping timeout: 265 seconds]
melter has quit [Quit: Client exiting]
miqui has quit [Remote host closed the connection]
elliotec has quit [Ping timeout: 258 seconds]
ur5us has joined #ruby-lang
<|jemc|> so, if I'm using ragel to tokenize/lex the source string for a language parser, is there any reason I can't or shouldn't use ragel again as the parser for those tokens?
<|jemc|> I'm thinking something like converting each token to a byte value that ragel can recognize
<|jemc|> is there a reason to use racc or some other more traditional tool here instead of just using two layers of ragel?
<whitequark> ragel recognizes regular languages, racc is LALR(1)
<whitequark> you can use ragel for languages with zero lookahead, I think. but those are scarce
<|jemc|> whitequark: I'm still processing these concepts, so forgive me if I sound ignorant, but doesn't ragel handle non-regular languages if you call/goto between machine instantiations?
ylluminate has joined #ruby-lang
<whitequark> well, yes, but it's a lot of pointless work
<whitequark> you're doing racc's job by hand
<|jemc|> yeah, it was starting to seem like I was doing more than I should be in that regard - I just thought I wasn't quite using ragel correctly
<|jemc|> the parsing I'm trying to do is pretty far from context-free
<|jemc|> in fact, the end goal is to host nested contexts in entirely different and runtime-configurable grammars through heredoc-style delimiting and multiple passes with different parsers
<headius> I hate parsing
<|jemc|> but the runtime-configurable grammars will probably all be PEG to keep it simple
ikrima has joined #ruby-lang
<whitequark> |jemc|: well, if you like the code you have with ragel, by all means go for it.
<whitequark> but racc can often make it ridiculously simpler
mistym has joined #ruby-lang
mattsp1290 has joined #ruby-lang
<|jemc|> whitequark: I don't
<|jemc|> but should I still be tokenizing with ragel if I use racc to parse the tokens?
ur5us has quit [Remote host closed the connection]
<|jemc|> I suppose I should look into rex as well
cnivolle has quit [Remote host closed the connection]
benlovell has quit [Ping timeout: 240 seconds]
alexju has joined #ruby-lang
<whitequark> |jemc|: yes, you should
<whitequark> er, should be tokenizing.
<whitequark> see, the reason you need a separate lexing step is that racc recognizes LALR(*1*) grammars
<whitequark> it can only see a single token of lookahead. so you can't use characters as tokens (for practically all interesting languages)
<whitequark> if it was LALR(n), you could directly feed characters to racc. but this is not how it works, for some obscure reasons
<whitequark> |jemc|: take a look at https://github.com/evilmartians/liquor
<whitequark> it has a simple ragel lexer / racc parser for a simple language
alexju has quit [Read error: No route to host]
alexju has joined #ruby-lang
<|jemc|> whitequark: I will, thanks.
yfeldblu_ has quit [Remote host closed the connection]
<|jemc|> whitequark: Is there a convenient pattern for marking specific parts of a sub-machine inside of a machine instantiation so that my final action can know the positions of various parts of the match of the sub-machine?
yfeldblum has joined #ruby-lang
<|jemc|> (in ragel)
<|jemc|> for example.
agarie has quit [Remote host closed the connection]
<|jemc|> main := |* (constant c_space identifier) => { do something treating the three strings separately } *|;
elliotec has joined #ruby-lang
<|jemc|> I'll take a look at those, thanks
<whitequark> basically do "constant %{ t1=p } c_space %{ t2=p } identifier"
<whitequark> and then you'll have indexes in t1,t2
<|jemc|> not knowing how to do that is part of the reason I've had machine-instantiation sprawl
<|jemc|> yeah, part of what was hanging me up about that technique (using machine definition actions) was that I didn't necessarily want that action to happen every time I ran across a constant, for example
<|jemc|> but the realization I just had was:
<|jemc|> I could easily have two distinct machine definitions that define a constant in the same way, but with different actions, and I use them in different parts of the machine instantiations
jacky has quit [Excess Flood]
<|jemc|> so that I use the machine that invokes the action I want for that combination of machines in that context
rofel has joined #ruby-lang
cnivolle has joined #ruby-lang
Guest6575 has joined #ruby-lang
<whitequark> yep
Guest6575 has quit [Excess Flood]
amsi has joined #ruby-lang
michaeldeol has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
michaeldeol has joined #ruby-lang
Guest86890 has joined #ruby-lang
mehlah has joined #ruby-lang
elia has joined #ruby-lang
Guest86890 is now known as jackyalcine
jackyalcine has quit [Changing host]
jackyalcine has joined #ruby-lang
jackyalcine is now known as jacky
robmiller has quit [Quit: Leaving.]
dik_dak has quit [Quit: Leaving]
solars has quit [Ping timeout: 265 seconds]
elia has quit [Client Quit]
michaeldeol has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
LMity has joined #ruby-lang
bzalasky has joined #ruby-lang
elliotec has quit [Read error: Connection reset by peer]
malconis has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
elliotec has joined #ruby-lang
SilkFox has quit [Ping timeout: 276 seconds]
nisstyre has quit [Quit: WeeChat 0.4.3]
caral has quit [Quit: caral]
emaxi has quit [Remote host closed the connection]
emaxi has joined #ruby-lang
bawigga has quit []
AncientAmateur has quit [Remote host closed the connection]
__butch__ has quit [Quit: Leaving.]
bawigga has joined #ruby-lang
elia has joined #ruby-lang
sarkyniin has quit [Quit: Quitte]
emaxi has quit [Ping timeout: 276 seconds]
ssb123 has quit [Remote host closed the connection]
LMity has quit [Ping timeout: 240 seconds]
yfeldblu_ has joined #ruby-lang
zz_dlu has joined #ruby-lang
GaelanAintAround has joined #ruby-lang
ikrima has quit [Ping timeout: 265 seconds]
yfeldblum has quit [Ping timeout: 245 seconds]
saarinen has joined #ruby-lang
jason__ has joined #ruby-lang
<zenspider> rawr
<zenspider> This is a lot of fun, albeit javascript: http://alexnisnevich.github.io/untrusted/
jason__ has quit [Remote host closed the connection]
bjh13 has quit [Quit: leaving]
<wallerdev> zenspider: this is awesome haha
postmodern has joined #ruby-lang
|jemc| has quit [Quit: WeeChat 0.4.1]
yfeldblu_ has quit [Remote host closed the connection]
relix has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
enebo has quit [Quit: enebo]
ikrima has joined #ruby-lang
hgl_ has quit [Quit: Computer has gone to sleep.]
omosoj has quit [Ping timeout: 252 seconds]
emaxi has joined #ruby-lang
jason__ has joined #ruby-lang
SilkFox has joined #ruby-lang
|jemc| has joined #ruby-lang
jason__ has quit [Remote host closed the connection]
hgl_ has joined #ruby-lang
hgl_ has quit [Client Quit]
elliotec has quit [Remote host closed the connection]
jason__ has joined #ruby-lang
rofel has quit [Remote host closed the connection]
yfeldblum has joined #ruby-lang
achal has quit [Quit: Connection closed for inactivity]
ssb123 has joined #ruby-lang
<zenspider> wallerdev: a bit addictive. :D
<wallerdev> haha yeah had to email the link to myself, cant play it all day at work unfortunately -_-
jason__ has quit [Remote host closed the connection]
dstynchu_ has joined #ruby-lang
dstynchu_ has quit [Read error: Connection reset by peer]
dstynchu_ has joined #ruby-lang
dstynchula has quit [Read error: Connection reset by peer]
dstynchu_ has quit [Read error: Connection reset by peer]
<zenspider> I can! unfortunately
bzalasky has quit [Remote host closed the connection]
arBmind has quit [Quit: Leaving.]
tbuehlmann has quit [Remote host closed the connection]
ssb123 has quit [Ping timeout: 276 seconds]
elliotec has joined #ruby-lang
<xybre> Took me a while to figure out how to beat level 2 with only 4 characters, I'm not a JS guy, so when I realized it, I was like "doh"
herpless has quit [Quit: Connection closed for inactivity]
bzalasky has joined #ruby-lang
dstynchula has joined #ruby-lang
ylluminate` has joined #ruby-lang
ikrima has quit [Ping timeout: 252 seconds]
<zenspider> xybre: I didn't bother to figure it out. don't remember what I did tho
ylluminate_ has joined #ruby-lang
symm- has quit [Read error: Connection reset by peer]
<xybre> zenspider: I started with if(false) and realized JS has block comments.
ylluminate has quit [Ping timeout: 250 seconds]
kitak has quit [Remote host closed the connection]
ylluminate` has quit [Ping timeout: 255 seconds]
kitak has joined #ruby-lang
symm- has joined #ruby-lang
<zenspider> oh. hah
<zenspider> derp
<wallerdev> spoilers :p
nathanstitt has quit [Quit: I growing sleepy]
<xybre> Oops
elliotec has quit [Remote host closed the connection]
AncientAmateur has joined #ruby-lang
symm- has quit [Read error: Connection reset by peer]
<yorickpeterse> |jemc|: re ragel before I head off, Ragel can't build trees
<yorickpeterse> at least not easily
<yorickpeterse> |jemc|: you use Ragel (or similar) to produce a single level, stream of tokens. Racc and others can then be used to turn that into a tree
ikrima has joined #ruby-lang
bawigga has quit []
symm- has joined #ruby-lang
mehlah has quit [Quit: Leaving...]
<|jemc|> thanks, yorickpeterse; I think I'm grasping the typical flow and usage of tools a bit better now
btiefert has joined #ruby-lang
shinnya has joined #ruby-lang
<yorickpeterse> it's pretty painful to get into the whole parsing scene
hahuang65 has quit [Ping timeout: 265 seconds]
<|jemc|> I do enjoy a good mental reshaping every now and then though
* |jemc| mumbles something about personal betterment
dknox has quit [Quit: Textual IRC Client: www.textualapp.com]
<yorickpeterse> right I'm off, toodles
<|jemc|> taddles
omosoj has joined #ruby-lang
t4nk337 has joined #ruby-lang
bawigga has joined #ruby-lang
<t4nk337> so when i attempt to install a gem, i'm getting the following error: ERROR: While executing gem ... (Errno::EEXIST)
<t4nk337> File exists @ dir_s_mkdir - /usr/local/Cellar/ruby/2.1.1_1/lib/ruby/gems
<zenspider> what version of rubygems? (`gem -v`)
mykoweb has quit [Remote host closed the connection]
mykoweb has joined #ruby-lang
<t4nk337> 2.2.2
<t4nk337> ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]
<t4nk337> this was installed using brew on osx 10.9.2
ikrima has quit [Ping timeout: 240 seconds]
<zenspider> t4nk337: `ls -ld /usr/local/Cellar/ruby/2.1.1_1/lib/ruby/gems`
<zenspider> what are the perms on the dir?
ikrima has joined #ruby-lang
mykoweb has quit [Ping timeout: 240 seconds]
|jemc| has quit [Quit: WeeChat 0.4.1]
<t4nk337> zenspider: lrwxr-xr-x
<eam> that's a symlink, look at the file it links to
<zenspider> why is that a symlink? that's quite possibly the problem
<zenspider> test to make sure that's a dir, it isn't, try te make the dir, it pukes
<t4nk337> i dunno.. that's how brew installed it
<zenspider> te -> to
<zenspider> I highly doubt that
<t4nk337> well, that's how i got ruby on here
<zenspider> what does it point to?
<t4nk337> ../../../../../lib/ruby/gems
<wallerdev> lol
<zenspider> which is prolly a symlink back
jsutt has quit [Remote host closed the connection]
<zenspider> nope. apparently not
jsutt has joined #ruby-lang
<zenspider> (lib/'ruby').install_symlink ruby_lib/'site_ruby', ruby_lib/'vendor_ruby', ruby_lib/'gems'
<zenspider> and
<zenspider> (ruby_lib/'gems').mkpath
<t4nk337> well, i cd'ed into the /usr/local/Cellar/ruby/2.1.1_1/lib/ruby directory, then did an 'ls ../../../../../lib/ruby/gems'
<t4nk337> no such file or dir
bawigga has quit []
<zenspider> that should just be /usr/local/lib/ruby/gems
<zenspider> that doesn't exist? maybe you blatted it at some point accidentally?
<t4nk337> nah, haven't mucked with anything.. pretty clean install
<zenspider> try `ls -d /Volumes/MobileBackups/Backups.backupdb/*/*/*/usr/local/lib/ruby/gems`
<t4nk337> no file/dir
<t4nk337> maybe i should just uninstall it, then use rvm to install...
emaxi has quit [Remote host closed the connection]
<zenspider> huh. that's sorta f'd up. well... simple fix is `mkdir -p /usr/local/lib/ruby/{site_ruby,vendor_ruby,gems}`
AncientAmateur has quit [Remote host closed the connection]
iTrojan has quit [Quit: Leaving.]
<zenspider> so, the recipe very clearly creates those dirs, _something_ deleted them
<zenspider> or your install didn't actually finish installing?
twright has quit [Ping timeout: 264 seconds]
<zenspider> it does seem like a bug that rubygems doesn't deal well with a symlink as the origin of GEM_HOME. it'd help if you filed a bug
<zenspider> stupid simple repro too: `brew install ruby; rm -rf /usr/local/lib/ruby/gems; gem install minitest`
diegoviola has joined #ruby-lang
symm- has quit [Read error: Connection reset by peer]
<t4nk337> zenspider: ran the gem install with "--debug".. maybe this helps explain something else? http://pastebin.com/SE8jRtbN
elliotec has joined #ruby-lang
symm- has joined #ruby-lang
yfeldblum has quit [Quit: Leaving...]
bzalasky has quit [Remote host closed the connection]
Pupeno has quit [Remote host closed the connection]
<zenspider> t4nk337: pretty much what I'd expect to see. please do file that bug
<zenspider> installer.rb:619 FileUtils.mkdir_p gem_home
<t4nk337> so i just did 'brew uninstall ruby', then reinstalled it
<t4nk337> same problem when installing a gem
yfeldblum has joined #ruby-lang
<zenspider> huh.
<t4nk337> so whats the difference in using brew to install ruby vs rvm?
<zenspider> the code in question for creating the symlinks hasn't been changed since 2012-05
elliotec has quit [Ping timeout: 258 seconds]
<zenspider> personally I'm not a fan of rvm because it is a big complicated mess
<zenspider> I use rbenv sometimes, mostly I just use my own stuff
<zenspider> I should say, rbenv + ruby_build
<t4nk337> i don't think i've ever done a ruby install without issues
<postmodern> t4nk337, brew install installs into /usr/local which should already be in $PATH
<zenspider> in this case, the symlink shit is a bit ... clever. They're doing it to externalize the gems from the Cellar install
<zenspider> but it isn't new at all, so I'm guessing the problem is over on the rubygems side
<t4nk337> what's weird is i've installed ruby before using homebrew and it worked
<postmodern> t4nk337, rvm/rbenv have their own build scripts for installing rubies into $HOME, and will manipulate $PATH to select the right one. rbenv also uses binstubs
<t4nk337> only this time i updated my os recently
<zenspider> t4nk337: right, but maybe not with that version of rubygems
agarie has joined #ruby-lang
<zenspider> hah. _I_ wrote the line in question on the rubygems side, and it hasn't changed since 2011
<zenspider> so... wtf
bzalasky has joined #ruby-lang
<t4nk337> lol
<t4nk337> should i downgrade ruby gems?
<zenspider> t4nk337: I don't know what to suggest. this combo should be working fine or we'd have a shit tonne of bug reports
<zenspider> `env | grep GEM` & `which ruby` & `which gem`