« Back to channel list

#ruby - 29 August 2015

« Back 1 day Forward 1 day »
[00:02:06] mistermocha: has joined #ruby
[00:05:47] jxpx777: has joined #ruby
[00:06:48] chrishough: has joined #ruby
[00:07:41] wildlander: has joined #ruby
[00:09:31] hays_: has joined #ruby
[00:12:49] chipotle: has joined #ruby
[00:14:50] workmad3: has joined #ruby
[00:15:19] bast: has joined #ruby
[00:15:54] shevy: appending a frozen string to a non-frozen string won't make the latter frozen right?
[00:17:10] toretore: >> f="world".freeze; ("hello " << f).frozen?
[00:17:11] ruboto: toretore # => false (https://eval.in/424491)
[00:17:56] donske: has joined #ruby
[00:17:57] ddrmanxbxfr: centrx: I found my bug ! It wasn't related to ruby runtime itself but was around pipes
[00:18:11] ddrmanxbxfr: centrx: basically http://blog.bigbinary.com/2009/07/04/stdout-sync-true-to-flush-output-immediately.html sums it up
[00:18:21] rideh^: has joined #ruby
[00:21:31] rehat: has joined #ruby
[00:22:16] kies: has joined #ruby
[00:25:02] rideh^: has joined #ruby
[00:28:11] yfeldblum: has joined #ruby
[00:28:19] Ox0dea: shevy: How would that even?
[00:28:46] shevy: it was already answered
[00:30:20] nertzy: has joined #ruby
[00:31:41] bruno-: has joined #ruby
[00:33:04] atomical: has joined #ruby
[00:37:38] lagweezle: ... and now, thanks to Ox0dea, I know that there are 3.5 rundlets to a hogshead ...in English wine cask units.
[00:38:32] christiandsg: has joined #ruby
[00:39:47] joneshf-laptop: has joined #ruby
[00:40:19] Ox0dea: Which is smaller, a Muckenseckel or an RCH?
[00:41:01] livathinos: has joined #ruby
[00:43:17] Mia: has joined #ruby
[00:43:48] mistermocha: has joined #ruby
[00:46:35] Rubie: has joined #ruby
[00:48:23] tkuchiki: has joined #ruby
[00:48:25] rideh: has joined #ruby
[00:49:39] freerobby: has joined #ruby
[00:50:50] mistermocha: has joined #ruby
[00:54:32] mistermo_: has joined #ruby
[00:54:59] bkxd: has joined #ruby
[00:58:43] allcentury: has joined #ruby
[00:58:49] astrobun_: has joined #ruby
[00:59:53] Vile`: has joined #ruby
[01:00:48] RobertBirnie: has joined #ruby
[01:01:31] grenierm: has joined #ruby
[01:03:19] lukebyrne: has joined #ruby
[01:04:11] Swappticon: has joined #ruby
[01:04:53] RobertBirnie: has joined #ruby
[01:06:32] jxpx777: has joined #ruby
[01:06:54] Vile`: has joined #ruby
[01:07:38] dgutierrez1287: has joined #ruby
[01:09:55] bkxd: has joined #ruby
[01:11:03] Musashi007: has joined #ruby
[01:11:18] chipotle: has joined #ruby
[01:11:42] Limix: has joined #ruby
[01:12:36] yfeldblum: has joined #ruby
[01:15:56] RobertBirnie: has joined #ruby
[01:18:29] lavros: has joined #ruby
[01:20:44] TheWhiteOx: has joined #ruby
[01:21:45] saddad: has joined #ruby
[01:22:39] fast_scooter: has joined #ruby
[01:25:06] devoldmx: has joined #ruby
[01:26:25] nzst: has joined #ruby
[01:27:57] Limix: has joined #ruby
[01:29:29] lipoqil: has joined #ruby
[01:31:01] charliesome: has joined #ruby
[01:31:07] linuxboytoo: has joined #ruby
[01:33:24] bootstrappm: has left #ruby: ()
[01:33:28] Vile`: has joined #ruby
[01:34:34] Limix: has joined #ruby
[01:36:40] woodruffw: has joined #ruby
[01:38:16] Azure: has joined #ruby
[01:46:01] helpa: has joined #ruby
[01:46:16] luckyme: has joined #ruby
[01:46:57] Azure: has joined #ruby
[01:49:41] roxtrongo: has joined #ruby
[01:49:56] jxpx777: has joined #ruby
[01:50:43] paulcsmith: has joined #ruby
[01:52:15] jtdoncas: has joined #ruby
[01:52:54] Limix: has joined #ruby
[01:54:16] nux443: has joined #ruby
[01:55:31] Vile`: has joined #ruby
[01:56:45] donske: has joined #ruby
[01:58:59] UtkarshRay: has joined #ruby
[02:02:21] Limix: has joined #ruby
[04:33:38] helpa: has joined #ruby
[04:34:01] Pupeno: has joined #ruby
[04:34:03] Radar: pontiki: thanks for reminding me that chruby isn't scary
[04:34:22] pontiki: oh sure... :)
[04:35:21] juanpablo_: has joined #ruby
[04:36:14] psy: has joined #ruby
[04:36:43] Radar: https://gist.github.com/radar/c7393bef51b79906630d#file-gistfile1-txt-L4 the magic line
[04:37:00] Radar: helpa now no longer runs inside a screen session
[04:39:12] Salehi: has joined #ruby
[04:39:13] rushed: has joined #ruby
[04:41:36] devoldmx: has joined #ruby
[04:41:49] lemur: has joined #ruby
[04:43:32] christiandsg: has joined #ruby
[04:43:39] jerin: has joined #ruby
[04:44:02] jerin: has left #ruby: ()
[04:49:41] bkxd: has joined #ruby
[04:50:55] RobertBirnie: has joined #ruby
[04:52:17] Maletor: has joined #ruby
[04:52:24] wldcordeiro__: has joined #ruby
[04:55:53] craysiii: has joined #ruby
[04:57:36] theery: has joined #ruby
[04:57:37] leafybasil: has joined #ruby
[04:59:20] Ox0dea: helpa: !home
[05:01:43] m3ow1504_x: has joined #ruby
[05:04:53] lipoqil: has joined #ruby
[05:05:35] riotjones: has joined #ruby
[05:05:39] shevy: helpa versus ruboto - the ultimate showdown
[05:06:51] opensource_ninja: has joined #ruby
[05:09:52] PaulCape_: has joined #ruby
[05:09:54] ohaibbq: has joined #ruby
[05:10:23] Vile`: has joined #ruby
[05:10:45] shevy: ewwww... /usr/bin/makeinfo is a perl script
[05:11:58] tmtwd: has joined #ruby
[05:12:24] shevy: quite a lot of legacy scripts out there necessary for compilation, if only they would have used ruby
[05:13:11] PaulCapestany: has joined #ruby
[05:14:26] Ox0dea: ~ $ file -L /bin/* | grep -ci perl
[05:14:37] dagda1: has joined #ruby
[05:14:51] Ox0dea: Only 10 for Ruby. :(
[05:15:00] yashinbasement: has joined #ruby
[05:17:38] Vile`: has joined #ruby
[05:18:27] lavros: has joined #ruby
[05:18:33] Rubie: has joined #ruby
[05:20:13] Salehi: has joined #ruby
[05:20:52] shevy: old sysadmins are so lazy
[05:20:57] nahtnam: Is there a way to say "or nil"?
[05:21:01] nahtnam: Like `deaths = stats["total_deaths"]`
[05:21:10] nahtnam: sometimes total_deaths doesnt exist
[05:21:17] nahtnam: so I want to set deaths to nil
[05:21:21] jxpx777: has joined #ruby
[05:23:47] Ox0dea: nahtnam: That's exactly what that line does?
[05:23:47] ohaibbq_: has joined #ruby
[05:24:01] nahtnam: Ox0dea: It throws an error if it doesnt exist
[05:24:12] nahtnam: NoMethodError: undefined method `/' for nil:NilClass
[05:24:24] Ox0dea: Then you don't actually want to set `deaths` to nil.
[05:24:43] nahtnam: For something like this: `time_played = stats["total_time_played"] / 3600 || nil`
[05:25:00] nahtnam: (remove the || nil, was just trying it out)
[05:25:14] nahtnam: it throws a no method error because im dividing
[05:25:21] nahtnam: I dont want it to thrown an error
[05:25:27] nahtnam: just set itself to nil
[05:25:55] nahtnam: so the json can render after that without the app throwing a 500
[05:25:59] Ox0dea: nahtnam: Convention favors using #try from ActiveSupport.
[05:26:16] jpfuentes2: has joined #ruby
[05:26:28] nahtnam: So I need to make a try for every single variable? I have like 30
[05:26:38] Ox0dea: Abstraction time!
[05:26:53] Fezzler: has joined #ruby
[05:27:03] Ox0dea: Then again, #try really is the right abstraction already.
[05:27:39] nahtnam: Hm, ok. Thanks for your help
[05:28:31] nzst: has joined #ruby
[05:29:18] Ox0dea: nahtnam: Sure thing. `time_played = stats["total_time_played"].try(:/, 3600)` really isn't that bad, but if you're "massaging" ~30 variables, there are things you could do from space.
[05:29:43] banjara: has joined #ruby
[05:29:50] nahtnam: > there are things you could do from space.
[05:29:56] shevy: nahtnam in this case perhaps you don't need to set a variable
[05:30:10] shevy: I assume that stats is the hash that already has the information
[05:30:14] nahtnam: Hm, so let me give some background on my app
[05:30:21] nahtnam: The Steam api is *horrible*
[05:30:27] nahtnam: and ember is very sensitive
[05:30:35] nahtnam: so I have to convert the horrible api to a nice one that ember can use
[05:30:51] Ox0dea: nahtnam: An "architecture astronaut" is said of somebody who over-abstracts things.
[05:30:58] nahtnam: and the worst part is that steam returns an array, and each array is different for each user
[05:31:08] hyy1: has joined #ruby
[05:31:13] Ox0dea: I was suggesting you might do something like creating a massaging lambda for each of the keys.
[05:31:56] Ox0dea: Then your transformation code could just be `var_hash.map { |v| massagers[v][v] }` or some such.
[05:32:03] nahtnam: Not sure how to do that, and also for each weapon, I need to add a custom name manually
[05:32:13] shevy: nahtnam just make it readable whatever they return
[05:32:22] nahtnam: Here is what my controller looks like: https://gist.github.com/nahtnam/a5637141bd35a288ec5f
[05:32:40] nahtnam: https://gist.github.com/nahtnam/a5637141bd35a288ec5f#file-messy_controller-rb-L97-L129
[05:32:52] nahtnam: Thats the part where I manually define each weapon name
[05:33:08] shevy: so you return the results as json?
[05:33:32] Ox0dea: Why do you suppose you need all these local variables?
[05:34:10] nahtnam: shevy: Yep
[05:34:13] nahtnam: Ox0dea: Keep things clean
[05:34:26] nahtnam: and readable. Does it slow things down?
[05:35:27] Ox0dea: You're just shoving them into an Array and sorting, so I don't understand why they need identifiers, especially given that their names are right their in the Hash.
[05:36:13] Radar: "right their in the Hash."
[05:36:29] nahtnam: Ox0dea: Because "elite" is not a gun, "taser" is not a weapon "hkp2000" is not a gun
[05:36:37] Ox0dea: Radar: Savor this moment. :P
[05:36:50] Ox0dea: nahtnam: I'm not sure I follow.
[05:36:56] sevenseacat: has joined #ruby
[05:37:03] baweaver: Ox0dea: QFT + Linked in my quotes log
[05:37:06] nahtnam: You said the names are given in the hash, but some of the gun names are wrong
[05:37:26] jpfuentes2: has joined #ruby
[05:37:50] shevy: baweaver lol
[05:38:00] Ox0dea: nahtnam: I'm talking about the local variables in #total_kills.
[05:38:03] shevy: just one tiny typo and it will haunt him for the rest of his life
[05:38:17] bluOxigen: has joined #ruby
[05:38:34] nahtnam: Oh, you're right.
[05:38:56] chinmay_dd: has joined #ruby
[05:38:59] keen___________6: has joined #ruby
[05:39:31] nahtnam: but still very messy, and could fail at any point if the info is missing from the array
[05:40:02] shevy: well the problem is that you must build up that json datastructure
[05:40:27] nahtnam: I was looking at this code: https://github.com/koraktor/steam-condenser-ruby/blob/9861ec9a9b27304b33f8e6a26e482548266d33f0/lib/steam-condenser/community/game_stats.rb#L62-L74 and it looks pretty neat but I dont understand how it works (it makes the same api call I am)
[05:40:56] shevy: so it will remain messy because irrelevant over whether you store it in local variable, or try to access it directly, you need to obtain the information; you can try to find some way that gives you the proper weapon types though, based on analyzing your calls to:
[05:40:59] shevy: nova = {:name => "Nova", :kills => stats["total_kills_nova"]}
[05:41:02] workmad3: has joined #ruby
[05:41:23] shevy: so at least the last part always is 'total_kills_'+downcased_name
[05:41:30] shevy: and all ' ' become '_' I guess
[05:41:58] nahtnam: shevy: dual_berettas = {:name => "Dual Berettas", :kills => stats["total_kills_elite"]}
[05:42:04] nahtnam: There is no such thing as "elite"
[05:42:05] shevy: well he calls methods on class GameStatsSchema
[05:42:17] shevy: what kind of logic is there
[05:42:34] shevy: does the elite use a beretta? :D
[05:42:49] nahtnam: Lol. I have no idea
[05:42:56] nahtnam: just steams stupid things...
[05:43:14] shevy: oh you also use inconsistent names
[05:43:23] shevy: ak47 = {:name => "AK47", :kills => stats["total_kills_ak47"]}
[05:43:26] shevy: ctpistol = {:name => "P2000 & USPS", :kills => stats["total_kills_hkp2000"]}
[05:43:26] charliesome: has joined #ruby
[05:43:30] shevy: oops trailing newline
[05:43:44] nahtnam: Yeah, cuz p2k and usps are both ctpistols
[05:44:05] Ox0dea: nahtnam: But do you see how it's pointless to make that distinction and then throw it away immediately?
[05:44:09] nahtnam: (their stats are combined)
[05:44:27] nahtnam: Yeah, but how else do I store the info?
[05:46:24] shevy: I notice a silence :)
[05:46:47] nahtnam: So the best solution I can think of is just to have a large switch statement and create a rails model for the stats. Then let each element of the array go through the switch statement and insert itself appropriately. https://gist.github.com/nahtnam/55084d0a31e27ab03120
[05:46:52] Ox0dea: I'm trying to see if there's some clever way to dynamically generate these names.
[05:47:09] nahtnam: Ox0dea: Is there a way to make a "map" or something?
[05:47:20] Ox0dea: nahtnam: That's... what Hash does?
[05:47:38] baweaver: what madness is this?
[05:47:49] baweaver: shevy: wood you care to explain?
[05:47:52] freezevee: has joined #ruby
[05:47:58] charliesome: has joined #ruby
[05:48:01] shevy: nahtnam you could generate the regular names, and then add exceptions for the non-regular ones; and perhaps just put it into a class too
[05:48:14] shevy: baweaver I think it is some steam game or something and he is fetching some headshot stats or so
[05:48:18] nahtnam: baweaver: https://gist.githubusercontent.com/nahtnam/a5637141bd35a288ec5f/raw/bedd9cadfb62fb1f6c6ed2719a71232370d8c5ba/request.json
[05:48:22] shevy: with strangely given names to weapons
[05:48:35] nahtnam: Its an array...
[05:48:38] shevy: taser = {:name => "Zeus X27", :kills => stats["total_kills_taser"]}
[05:48:56] nahtnam: The real name is zuesx27
[05:49:03] nahtnam: but thats too hard to type, so i set the var to taser
[05:49:16] shevy: at least ruby is used in a game!
[05:49:28] shevy: the real name is zuesx27?
[05:49:38] Ox0dea: nahtnam: https://gist.github.com/0x0dea/b8d60977076214c52bb6
[05:49:39] shevy: boggles the mind...
[05:49:40] nahtnam: https://www.google.com/search?site=&tbm=isch&source=hp&biw=1855&bih=969&q=zues+x27&oq=zues+x27&gs_l=img.3..0i10i24.219.1798.0.2080.8.8.0.0.0.0.87.606.8.8.0....0...1ac.1.64.img..0.8.603.DD7D1-ouBiY
[05:49:54] baweaver: so you want to extract all the weapon names?
[05:50:29] shevy: I think Ox0dea wanted to get rid of the local variables :)
[05:50:39] shevy: with a vengeance
[05:51:02] nahtnam: Ox0dea: Lol, that shortens the code considerable but it brings up a problem
[05:51:12] nahtnam: Lemme double check
[05:51:16] baweaver: don't really need local vars for this
[05:51:50] baweaver: so you want to get all total_kills_* and translate that to \1 => kill count
[05:51:53] baweaver: and sort it
[05:52:47] Ox0dea: shevy: They're unnecessary and naming things is hard; we should avoid having to do so at all costs.
[05:53:18] Rinzlit: has joined #ruby
[05:54:06] nahtnam: Ox0dea: http://i.imgur.com/6yFWIkj.png
[05:54:10] nahtnam: Thats another users stats
[05:54:19] nahtnam: its missing molotov
[05:54:23] tvw: has joined #ruby
[05:54:51] nahtnam: I get an error when sorting it
[05:55:03] nahtnam: and there is a high likely that some other things will be missing
[05:56:37] code1o6: has joined #ruby
[05:56:41] Musashi007: has joined #ruby
[05:57:28] nux443: has joined #ruby
[05:58:57] Ox0dea: >> {a: 1, b: nil, c: 3}.reject { _, v| v.nil? } # nahtnam
[05:58:58] ruboto: Ox0dea # => /tmp/execpad-cf9c9f537a68/source-cf9c9f537a68:2: syntax error, unexpected '|', expecting '=' ...check link for more (https://eval.in/424526)
[05:59:49] Ox0dea: >> {a: 1, b: nil, c: 3}.reject { |_, v| v.nil? }
[05:59:49] ruboto: Ox0dea # => {:a=>1, :c=>3} (https://eval.in/424528)
[06:00:02] baweaver: data['playerstats']['stats'].reduce([]) { |a,h| k,v = h.values; d = /total_kills_(?<w>.+)/.match(k); d ? a.<<([d[:w],v]) : a }.sort_by(&:last)
[06:00:03] stardiviner: has joined #ruby
[06:00:08] Ox0dea: nahtnam: Just kick the ones that don't have values out of the Hash before sorting it.
[06:00:43] Ox0dea: Alternatively, use baweaver's magic.
[06:01:10] baweaver: I made my own Enumerable method called select_map which cleans it a bit
[06:01:24] Ox0dea: baweaver: How come `.<<()` over `(<<)`?
[06:01:44] baweaver: ternary can be touchy, didn't want to retype
[06:01:54] baweaver: mainly lazy
[06:02:07] nahtnam: Hm, thats weird
[06:02:13] nahtnam: When I throw the `.reject { |_, v| v.nil? }` onto the code
[06:02:17] nahtnam: it returns nothing
[06:02:38] nahtnam: *it returns []
[06:03:06] Ox0dea: nahtnam: Erm, where did you put it?
[06:03:19] baweaver: cleaning it up anyways
[06:03:50] nahtnam: Onto the cleaned up version of the method you have me
[06:04:03] bsdbofh: has joined #ruby
[06:04:10] Ox0dea: It should go right after the closing square bracket.
[06:04:40] Ox0dea: Oh, sorry. That should be `{ |_, v| v[:kills].nil? }`.
[06:04:44] nux443: has joined #ruby
[06:04:59] Ox0dea: Or even `select { |_, v| v[:kills] }`.
[06:05:30] Ox0dea: Or, if you make them OpenStructs, `select(&:kills)`, but don't do that.
[06:06:08] baweaver: https://gist.github.com/baweaver/aaa8a02020d956e55e8e
[06:06:09] Liam`: has joined #ruby
[06:06:09] nahtnam: `].reject{ |_, v| v[:kills].nil? }.sort { |a, b| b[:kills] - a[:kills] }`
[06:06:12] nahtnam: it should work
[06:06:18] Ox0dea: Yes, it should.
[06:06:23] baweaver: sort_by is faster :D
[06:06:44] nahtnam: undefined method `[]' for nil:NilClass
[06:06:49] shevy: this dam better work right!
[06:07:05] baweaver: shevy: you're all bark and no bite
[06:07:27] shevy: that's almost monty python worthy, the insults by the black knight... if only he would have been a beaver
[06:07:47] Ox0dea: "All bark and no bite" is Shakespeare.
[06:07:48] baweaver: as I approach midnight my dad pun power grows stronger
[06:07:51] howdoi: has joined #ruby
[06:08:29] shevy: the only shakespeare I know of is from the simpsons halloween
[06:08:38] Ox0dea: That's a tragedy.
[06:09:10] m3ow1504_x: has joined #ruby
[06:09:12] nahtnam: baweaver: Wow, im surprised your code even works... :D `knife_fight` `headshot` and a few others
[06:09:13] Ox0dea: </pun>, to clarify.
[06:09:14] nahtnam: are all extra
[06:09:15] chipotle: has joined #ruby
[06:09:27] nahtnam: as in, they are not weapons
[06:09:30] baweaver: ACTION shrugs
[06:09:37] baweaver: add a reject list to it.
[06:09:47] baweaver: regex can do it
[06:09:57] baweaver: can you handle the regex?
[06:10:04] nahtnam: Kk, but im not sure if I should use your or Ox0dea 's
[06:10:05] baweaver: REGEXAMANIA BROTHER
[06:10:23] baweaver: Ox0dea: even or odd?
[06:10:24] nahtnam: cuz yours is shorter but more complex? (I dont understand much of your code), also doesnt allow custom names
[06:10:28] nahtnam: Ox0dea: Doesnt work
[06:10:35] nahtnam: It is supposed to
[06:10:40] nahtnam: the syntax looks fine
[06:10:43] Ox0dea: >> %w[even odd].sample
[06:10:44] ruboto: Ox0dea # => "odd" (https://eval.in/424531)
[06:10:54] baweaver: Ox0dea's then
[06:11:07] baweaver: Ox0dea: like a true rubyist
[06:11:15] shevy: nahtnam you could also go back to your local variables variant :)
[06:12:12] leat1: has joined #ruby
[06:12:38] nahtnam: >> [{:name => "Knife", :kills => 100, {:name => "Grenade", :kills => nil}].reject{ |_, v| v[:kills].nil? }
[06:12:39] ruboto: nahtnam # => /tmp/execpad-31cd99942058/source-31cd99942058:2: syntax error, unexpected ']', expecting => ...check link for more (https://eval.in/424532)
[06:12:53] nahtnam: >> [{:name => "Knife", :kills => 100}, {:name => "Grenade", :kills => nil}].reject{ |_, v| v[:kills].nil? }
[06:12:54] ruboto: nahtnam # => undefined method `[]' for nil:NilClass (NoMethodError) ...check link for more (https://eval.in/424533)
[06:13:20] arup_r: has joined #ruby
[06:13:47] baweaver: |k,v| won't work there
[06:13:54] baweaver: I wonder why
[06:13:58] Ox0dea: Oh, right. I forgot it was an Array. :/
[06:14:15] baweaver: 2 for 2 Ox0dea :D
[06:14:23] Ox0dea: nahtnam: Nah, just nix the `_, `.
[06:15:16] shevy: not his day
[06:15:26] Ox0dea: Valuable commentary is valid.
[06:15:50] nux443: has joined #ruby
[06:15:52] baweaver: Sorry, just being snarky over here :D
[06:16:16] Ox0dea: I still think Hash's yield semantics are wonky.
[06:16:25] nahtnam: Awesome, finally works. Now what about the other stuff? Is there a smart way to thow away the nils? One problem I keep having is when running `wlr = (wins.to_f / losses.to_f).round(2)` and (wins.to_f/losses.to_f) returns nil, it throws an error
[06:16:50] Ox0dea: You really do want #try, mate.
[06:17:08] Ox0dea: It's that or conditional chains.
[06:17:17] sevenseacat: you want to think about your problems before you ask how to solve them
[06:17:33] jeadre: has joined #ruby
[06:17:43] baweaver: I wonder what || does
[06:18:00] Ox0dea: It certainly doesn't save one from NoMethodErrors.
[06:18:31] helpa: has joined #ruby
[06:18:46] Ox0dea: Nor does it seem to be the case that nahtnam wants to shove zeroes in to keep his data uniform.
[06:18:49] dagda1_: has joined #ruby
[06:19:20] nahtnam: Its highly unlikely that any of these are nil, but I have seen it happen with total_kills, so I just wanna be safe...
[06:19:56] sevenseacat: "highly unlikely" == "its still gonna happen sometimes so your code better account for it"
[06:20:16] charliesome: has joined #ruby
[06:20:26] baweaver: Murphy smiles upon your optimism
[06:20:34] yeticry: has joined #ruby
[06:21:03] shevy: snarky beaver and snarky cat!
[06:21:32] jxpx777: has joined #ruby
[06:21:52] baweaver: >> [nil, 1].all?
[06:21:53] dgutierrez1287: has joined #ruby
[06:21:53] ruboto: baweaver # => false (https://eval.in/424534)
[06:21:55] Ox0dea: > The bug went unnoticed for 710 days and the code was probably executed 100 trillion (10^14) times before it crashed.
[06:21:58] Ox0dea: https://labs.spotify.com/2015/08/27/underflow-bug/
[06:22:32] shevy: if only it could auto-correct such bugs
[06:22:37] gibre: has joined #ruby
[06:23:04] Ox0dea: Do you want the technological singularity? Because that's how you get it.
[06:24:06] juanpablo_: has joined #ruby
[06:24:24] tknz: has joined #ruby
[06:24:28] baweaver: You pretend Google hasn't already done it.
[06:27:06] johnflux: has joined #ruby
[06:27:06] johnflux: has joined #ruby
[06:27:32] lxsameer: has joined #ruby
[06:29:10] Mendenhall: has joined #ruby
[06:29:58] hollywood: has joined #ruby
[06:31:20] lkba_: has joined #ruby
[06:33:57] bruno-: has joined #ruby
[06:34:35] ecnalyr: has joined #ruby
[06:34:48] leat1: has joined #ruby
[06:37:45] GnuYawk: has joined #ruby
[06:38:29] bronson: has joined #ruby
[06:40:25] houhoulis: has joined #ruby
[06:40:50] robbyoconnor: has joined #ruby
[06:42:20] devoldmx: has joined #ruby
[06:43:42] Ox0dea: has joined #ruby
[06:47:14] lukebyrne: has joined #ruby
[06:47:30] Ropeney: has joined #ruby
[06:49:36] m3ow1504_x: has joined #ruby
[06:50:20] iamninja: has joined #ruby
[06:50:42] lipoqil: has joined #ruby
[06:54:19] sarlalian: has joined #ruby
[06:55:06] leat1: has joined #ruby
[06:57:05] faces: has joined #ruby
[06:57:19] Musashi007: has joined #ruby
[06:57:34] KINGSABRI: G.day guys, I'm trying to write a script to do multilple HTTP actions "after authentication", fro example
[06:57:34] KINGSABRI: - I want to login to the following page: POST
[06:57:34] KINGSABRI: http://test2.richardhealey.com/
[06:57:34] KINGSABRI: - Then access the following page (with same authenticated session): GET
[06:57:34] KINGSABRI: http://test2.richardhealey.com/test_main.asp
[06:57:35] KINGSABRI: - Then press "Start" button on the this page (with same authenticated session): POST
[06:57:37] KINGSABRI: http://test2.richardhealey.com/opn.asp?test=Sample%20Test
[06:57:44] ruboto: fflush, apeiros, banisterfiend, seanstickle, Mon_Ouie, zzak, Radar, Havenn, jhass, sevenseacat, workmad3, Coraline, miah, drbrain, zenspider, slyphon, rubyhacker1, Aria, ljarvis, baweaver
[06:57:51] Radar: !mute KINGSABRI
[06:57:53] baweaver: !mute KINGSABRI
[06:57:54] ruboto: +q KINGSABRI!*@*
[06:57:54] ruboto: -o ruboto
[06:57:56] ruboto: -o ruboto
[06:58:07] sevenseacat: what was the problem with...?
[06:58:07] Radar: !unmute KINGSABRI
[06:58:09] ruboto: -q KINGSABRI!*@*
[06:58:09] ruboto: -o ruboto
[06:58:15] Radar: KINGSABRI: Please don't spam the channel.
[06:58:37] KINGSABRI: no I'm not spam man
[06:58:45] KINGSABRI: why did you said that?
[06:59:21] Radar: Because you sent > 5 messages in < 1 second.
[06:59:33] Radar: If you've got something that fits on more than 1 line, Gist it.
[06:59:36] Radar: https://gist.github.com
[06:59:53] Radar: KINGSABRI: Look at using the mechanize gem to accomplish what you want.
[07:00:10] KINGSABRI: sorry for that, I dont come here usually so I didn't know that , Radar
[07:00:44] baweaver: we've also had a bit of a spam issue as well, making ops a tinge jumpy when flagged
[07:00:50] codecop: has joined #ruby
[07:01:36] KINGSABRI: sorry guys, baweaver Radar
[07:01:58] Liam`: has joined #ruby
[07:02:02] baweaver: Not a problem, bit jumpy on my part at least.
[07:02:46] arup_r: KINGSABRI: Mechanize you tried ?
[07:03:42] KINGSABRI: arup_r: the main issue it's a very small and limited script and I don't want to use extra gems for it
[07:05:03] KINGSABRI: the core issue in that script is how to hold auth. session info with multiple request
[07:05:15] Radar: KINGSABRI: Mechanize will do that stuff for you!
[07:05:31] Radar: I don't get why people are so against adding new gems that CLEARLY solve their problems! Huge case of Not Invented Here.
[07:07:09] leat1: has joined #ruby
[07:07:18] KINGSABRI: sometime we're working on line 20 lines script to do very specific task that why we trying to avoide external gems
[07:07:43] wasamasa: I wish you tons of fun emulating that with net/http :P
[07:07:47] sevenseacat: how is that even related?
[07:07:57] Radar: gem install mechanise
[07:08:01] Radar: require 'mechanize'
[07:08:06] Radar: Whoops, I spelled it wrong the first time
[07:08:14] Radar: And then mechanize handles all the session handling
[07:08:33] Radar: Well, I've said my piece. Now KINGSABRI can choose to ignore my advice (which I've gained over 10+ years of doing Ruby) or follow it.
[07:09:40] KINGSABRI: I respect your advice man for sure, Radar
[07:10:06] Ox0dea: KINGSABRI: Are you using Net::HTTP, then?
[07:10:19] KINGSABRI: yes, Ox0dea
[07:10:38] Ox0dea: KINGSABRI: Responses can be converted to Hashes of their headers quite easily.
[07:10:51] Ox0dea: Combine that with Hash#merge and some override logic and you might be good to go.
[07:11:44] dogweather: has joined #ruby
[07:12:13] KINGSABRI: Ox0dea: I didnt get it clearly, would you explain more plz ?
[07:12:32] Ox0dea: KINGSABRI: Net::HTTP.new('www.google.com').get('/').each.to_h
[07:12:35] Ox0dea: Observe that output.
[07:12:55] jenrzzz: has joined #ruby
[07:12:57] Ox0dea: I trust you know that you can pass along a Hash to use as the request's headers?
[07:13:56] KINGSABRI: yes I can pass it manually, like request["Connection"] = "keep-alive"
[07:14:13] Ox0dea: Right, but you can also provide it in calls to #get, #post, &c.
[07:14:36] nux443: has joined #ruby
[07:14:36] KINGSABRI: but to do login then take the session to put it in another request , no
[07:15:08] Ox0dea: In that case, you're really only interested in the "Set-Cookie" response header(s) and the "Cookie" request header.
[07:15:29] leat1: has joined #ruby
[07:16:04] Ox0dea: KINGSABRI: And yes, you can pluck the session cookie from the response and use it in a subsequent request; that's... what a session is.
[07:17:12] towski_: has joined #ruby
[07:17:46] KINGSABRI: Ox0dea: I'll try it on http://test2.richardhealey.com/ then send the snappit it's ok
[07:18:46] yfeldblum: has joined #ruby
[07:19:16] tknz: has joined #ruby
[07:19:30] rippa: has joined #ruby
[07:20:04] nux443: has joined #ruby
[07:20:53] bluish: has joined #ruby
[07:21:01] yfeldblum: has joined #ruby
[07:21:14] jimms: has joined #ruby
[07:21:58] hyy1: has joined #ruby
[07:22:56] krz: has joined #ruby
[07:23:30] jenrzzz: has joined #ruby
[07:23:32] sdfgsdfg: has joined #ruby
[07:25:42] nux443: has joined #ruby
[07:28:44] aidanharris1: has joined #ruby
[07:29:07] nzst: has joined #ruby
[07:29:55] workmad3: has joined #ruby
[07:33:19] slackbotgz: has joined #ruby
[07:34:02] pawnbox: has joined #ruby
[07:35:57] Jackneill: has joined #ruby
[07:36:05] yfeldblum: has joined #ruby
[07:40:35] KINGSABRI: Ox0dea: do all application cookies are in "set-cookie" whatever it was?
[07:40:52] Ox0dea: KINGSABRI: For all intensive porpoises, yes.
[07:41:00] psye: has joined #ruby
[07:41:17] KINGSABRI: because some application has like ton of cookies especially .Net :(
[07:41:42] tkuchiki: has joined #ruby
[07:42:07] Ox0dea: Does that matter?
[07:42:49] KINGSABRI: It depends on the application and what it dose use these cookies for interm of session managment
[07:43:15] Ox0dea: You're free to experiment to determine which cookies are necessary for maintaining your session, but why bother?
[07:44:52] Rinzlit: has joined #ruby
[07:45:44] jgt: has joined #ruby
[07:45:46] KINGSABRI: Ox0dea: well I'm doing some custom scripts for security testing (PT)
[07:46:30] Ox0dea: KINGSABRI: https://github.com/minimaxir/big-list-of-naughty-strings
[07:46:31] KINGSABRI: so sometime I need to have more control in my scripts and I'm facing a lot of application with different mind sets
[07:46:47] Ox0dea: Do be sure to try some of those strings as cookie values. :P
[07:48:13] jxpx777: has joined #ruby
[07:49:07] KINGSABRI: LOL, like it ,, fork for sure :D
[07:49:40] bruno-: has joined #ruby
[07:50:26] KINGSABRI: Ox0dea: I'm writing a small reference (not a real book) for ruby that helps pentesters for the main tasks we uses to need.
[07:50:50] KINGSABRI: Ox0dea: it's hosted on gitbook (http://ruby.net)
[07:51:26] KINGSABRI: you may get what I mean,, in pentest sometime we need quick dirty solutions usually not clearly explianed
[07:52:00] acke: has joined #ruby
[07:52:26] Ox0dea: KINGSABRI: So you intend to spread your misguided embrace of Not Invented Here to unsuspecting victims? That's not very nice.
[07:52:35] Ox0dea: Teach newcomers to use The Right Tool for the Job.
[07:52:43] acke: has joined #ruby
[07:53:18] KINGSABRI: Ox0dea: I'm teaching ruby
[07:53:35] KINGSABRI: that reference is not to teach ruby ,, just a quick reference
[07:54:13] KINGSABRI: and I'm not the bad guy in this story
[07:54:13] wasamasa: ruby.net is blank for me
[07:54:23] wasamasa: inb4 it's all ads
[07:54:36] wasamasa: yay for domain parking
[07:54:41] KINGSABRI: http://rubyfu.net/
[07:55:00] KINGSABRI: sorry not ruby.net , it's rubyfu.net
[07:55:44] wasamasa: this thing is riddled with typos
[07:56:15] KINGSABRI: Ox0dea: doing PT is not an evil think, I'm doing it professionally not as black hat guy
[07:56:43] KINGSABRI: wasamasa: yes ,, it needs lots of review
[07:56:45] quazimodo: has joined #ruby
[07:56:59] wasamasa: KINGSABRI: if ESR is to be trusted, Real Hackers??? will find that impolite
[07:59:15] KINGSABRI: wasamasa: how is that? and what do you mean by Real Hackers?
[07:59:15] wasamasa: the reasoning being that if you cannot even get your orthography right, you aren't worth bothering their time with
[07:59:46] wasamasa: I'm being ironic of course as it's clear that what ESR holds in high regard is a rosy depiction of himself
[08:00:52] KINGSABRI: wasamasa: they care about getting the job done, disbite of typo
[08:01:22] wasamasa: KINGSABRI: in case you don't have any clue what I'm talking about, http://www.catb.org/~esr/faqs/hacker-howto.html
[08:01:59] weemsledeux: has joined #ruby
[08:02:24] dionysus69: has joined #ruby
[08:02:59] wasamasa: KINGSABRI: this is not about people themselves, this is about communication with whatever you call "hackers"
[08:03:39] KINGSABRI: it's premative page,, communication between hackers is about ideas
[08:04:08] wasamasa: good luck with that if you can't even get english right :P
[08:04:44] KINGSABRI: I've met a lot of ppl this year in blackhat and defcon ,, many of them not English native and they have english worst than mine, but they are great
[08:04:47] Gnomethrower: has joined #ruby
[08:05:12] bruno-: has joined #ruby
[08:05:19] KINGSABRI: wasamasa: tell russians and chines that ;)
[08:05:32] wasamasa: KINGSABRI: I am from the ukraine, thank you
[08:05:55] Gnomethrower: has joined #ruby
[08:05:58] bougyman: ok, so how do you explain http://rubyfu.net/content/module_0x3__network_kungfu/packet_manipulation.html ?
[08:06:09] bougyman: Manibulating?
[08:06:14] bougyman: you spell it right in the title.
[08:06:31] KINGSABRI: manipulating ?
[08:06:45] bougyman: Manibulating UDP protocol
[08:06:46] bougyman: Manibulating ICMP protocl
[08:07:00] KINGSABRI: ah ,, typo ,, typo
[08:07:00] nux443: has joined #ruby
[08:07:08] bougyman: that's not bad english skills, rather lack of proofreading/laziness.
[08:07:26] KINGSABRI: I'll fix that for sure , bougyman
[08:09:26] KINGSABRI: and thanks for you quick observation guys
[08:11:11] jgt1: has joined #ruby
[08:12:50] juanpablo_: has joined #ruby
[08:16:06] tkuchiki: has joined #ruby
[08:16:49] timonv: has joined #ruby
[08:23:53] arooni-mobile: has joined #ruby
[08:24:59] roxtrongo: has joined #ruby
[08:25:25] lipoqil: has joined #ruby
[08:25:30] leat1: has joined #ruby
[08:26:33] DrIranian: has joined #ruby
[08:26:48] fantazo: has joined #ruby
[08:27:44] sp3: has joined #ruby
[08:30:11] yfeldblum: has joined #ruby
[08:31:41] mrtg9970: has joined #ruby
[08:32:05] DrIranian: has left #ruby: ()
[08:32:10] [k-: has joined #ruby
[08:36:31] mrtg9970: has joined #ruby
[08:41:16] jpfuentes2: has joined #ruby
[08:41:55] siaW: has joined #ruby
[08:43:06] devoldmx: has joined #ruby
[08:45:50] ghr: has joined #ruby
[08:46:19] DoubleMalt: has joined #ruby
[08:46:30] jaequery: has joined #ruby
[08:48:53] dgutierrez1287: has joined #ruby
[08:50:00] m3ow1504_x: has joined #ruby
[08:50:18] Ox0dea: For real, though, interpreters are enumerable: https://eval.in/424584
[08:51:13] Ox0dea: What's with `.` being executed 10 times, though?
[08:51:20] Ox0dea: Should be 8?
[08:53:25] face: has joined #ruby
[08:56:57] faces: has joined #ruby
[08:58:02] lipoqil: has joined #ruby
[08:58:24] stamina: has joined #ruby
[09:02:34] Pupeno: has joined #ruby
[09:04:47] yfeldblum: has joined #ruby
[09:06:14] m3ow1504_x: has joined #ruby
[09:06:24] leat1: has joined #ruby
[09:07:58] jimms: has joined #ruby
[09:07:59] voker57: has joined #ruby
[09:12:45] pandaant: has joined #ruby
[09:14:40] grenierm: has joined #ruby
[09:17:24] rushed: has joined #ruby
[09:17:44] jimms_: has joined #ruby
[09:18:04] KINGSABRI: has joined #ruby
[09:18:48] workmad3: has joined #ruby
[09:20:48] michael_mbp: has joined #ruby
[09:21:37] yfeldblum: has joined #ruby
[09:25:53] catoblepa: has joined #ruby
[09:30:17] nzst: has joined #ruby
[09:30:34] tsujp: has joined #ruby
[09:32:49] bkxd: has joined #ruby
[09:34:06] drunkdad: has joined #ruby
[09:35:44] bladiebla: has joined #ruby
[09:36:06] bladiebla: has left #ruby: ()
[09:36:23] jxpx777: has joined #ruby
[09:39:58] DLSteve: has joined #ruby
[09:40:28] bronson: has joined #ruby
[09:43:51] devoldmx: has joined #ruby
[09:44:44] ghr: has joined #ruby
[09:46:51] krz: has joined #ruby
[09:49:44] startupality: has joined #ruby
[09:50:28] PaulCape_: has joined #ruby
[09:56:14] leat1: has joined #ruby
[10:01:35] juanpablo_: has joined #ruby
[10:01:45] Alina-malina: has joined #ruby
[10:11:13] ecnalyr: has joined #ruby
[10:12:20] Musashi007: has joined #ruby
[10:16:16] leat1: has joined #ruby
[10:19:19] workmad3: has joined #ruby
[10:19:53] BackEndCoder: has joined #ruby
[10:20:29] codenapper: has joined #ruby
[10:26:22] apeiros: chanserv! that sneaky bastard!
[10:26:27] apeiros: steals jhass' wizard hat!
[10:26:54] adaedra: apeiros used substitute
[10:28:06] Ox0dea: I like shorts.
[10:29:26] PaulCapestany: has joined #ruby
[10:29:57] m3ow1504_x: has joined #ruby
[10:29:57] keen___________7: has joined #ruby
[10:31:06] siaW: hello Rubyists, this piece works in ruby ???Array.new(3) { rand(100) }???
[10:31:24] siaW: now, what can i do to make sure an object accepts a block in Ruby?
[10:31:47] jhass: an object doesn't, a method does
[10:31:48] adaedra: methods accept blocks
[10:31:49] siaW: how can i ask Array, hey Array, do you accept blocks? is this possible?
[10:32:06] jhass: for .new you should look at the corresponding #initilize's docs
[10:32:10] siaW: ok. so how do i ask a method if it accept blocks?
[10:32:20] jhass: it's usually documented
[10:32:35] jhass: for core and stdlib methods at least
[10:32:46] siaW: jhass: how do i find that?
[10:32:51] jhass: look at the docs
[10:33:01] jhass: ruby-doc.org
[10:33:29] jhass: ri, your local rdocs, devdocs.io, rubydoc.info, whatever you're fancy
[10:33:32] apeiros: somebody up for some community work for #ruby?
[10:34:05] apeiros: we need a section in ruby-community.com which is behind a login using github accounts
[10:34:05] jhass: (you should mention what it'd be)
[10:34:17] apeiros: jhass: fo reel?
[10:34:18] adaedra: apeiros: devise!
[10:34:29] apeiros: adaedra: I hear you volunteer? :D
[10:34:30] jhass: yah, u slow typer
[10:34:40] siaW: jhass: thank you
[10:34:49] apeiros: jhass: I just got up!
[10:35:04] adaedra: apeiros: #ruby-community
[10:36:35] Kallis: has joined #ruby
[10:36:54] pawnbox: apeiros: sure i got some time.
[10:37:23] jhass: pawnbox: please join #ruby-community too ;)
[10:42:51] apeiros: oh dear???
[10:42:57] apeiros: updating everything to ruby 2.2.3 :D
[10:45:38] m3ow1504_x: has joined #ruby
[10:45:44] codenapper: has joined #ruby
[10:48:22] charliesome: has joined #ruby
[10:50:35] yfeldblum: has joined #ruby
[10:51:46] nux443: has joined #ruby
[10:51:58] tkuchiki: has joined #ruby
[10:52:26] tkuchiki: has joined #ruby
[10:57:01] bkxd: has joined #ruby
[10:59:33] al2o3-cr: Is #!/usr/bin/env ruby -rjson -rnokogiri legit?
[11:00:29] jhass: kinda, though I'd prefer require "json"; require "nokogiri" below
[11:00:30] adaedra: I think some system don't support shebangs with more than one argument
[11:00:46] jhass: can we call that hashbang please btw?
[11:01:10] al2o3-cr: So explicitly calling require better
[11:01:53] al2o3-cr: adaedra: ok cheers
[11:02:04] yfeldblum: has joined #ruby
[11:02:42] ramfjord: has joined #ruby
[11:03:29] allcentury: has joined #ruby
[11:06:21] riotjones: has joined #ruby
[11:10:35] al2o3-cr: Can someone explain to me how this works ~/$/
[11:11:49] al2o3-cr: Is it a shorcut for $_.size?
[11:12:22] AccordLTN: has joined #ruby
[11:12:29] Ox0dea: Indeed it is.
[11:12:33] UtkarshRay: has joined #ruby
[11:12:56] Ox0dea: ~ with no LHS matches against $_ and returns the index at which it matched, and /$/ just matches the end of the string.
[11:12:57] al2o3-cr: Ox0dea: but the former doesn't count \n right?
[11:13:04] Ox0dea: That's true.
[11:13:17] sdothum: has joined #ruby
[11:13:23] al2o3-cr: Ok, thanks Ox0dea
[11:13:26] Ox0dea: Sure thing.
[11:13:47] Ox0dea: al2o3-cr: Did you encounter that in the wild?
[11:14:03] al2o3-cr: Yeah, looking at some code golf :)
[11:15:53] dgutierrez1287: has joined #ruby
[11:17:47] Ox0dea: I should perhaps clarify that it wasn't quite correct to refer to an LHS at all; it's just an invocation of Regexp#~, which has a rather special default definition.
[11:18:24] devsh: has joined #ruby
[11:18:32] Ox0dea: jhass: "Shebang" is off-limits now?
[11:18:49] jhass: I'm just asking
[11:18:58] Ox0dea: But why even bother?
[11:19:09] wasamasa: I dunno, but hashbang made more sense to me
[11:19:34] jhass: hashbang just makes so much more sense to me and the reasons for using/coming up for shebang I can come up with are not pretty...
[11:19:59] Papierkorb: has nothing to do with 'she' and 'bang'
[11:20:00] Ox0dea: jhass: There is a trove of historical precedent on this matter.
[11:20:12] wasamasa: it's an abbreviation for shell?
[11:20:18] Papierkorb: shebang is perfectly fine, if you're offended, you chose to be so yourself
[11:20:36] gizmore: has joined #ruby
[11:20:55] Cust0sLim3n: has joined #ruby
[11:20:59] wasamasa: is pound-bang even more offensive?
[11:21:01] Ox0dea: jhass: Why are you fine with preserving the "bang" bit? Doesn't that have the potential to offend the asexual?
[11:21:30] jhass: gosh, it was a question, no need to troll me
[11:21:39] Ox0dea: I think you were trolling in asking it.
[11:22:31] al2o3-cr: Ox0dea: ah, ok
[11:22:41] Papierkorb: "SJWs" already made the world a worse place. They don't want to discuss, only disrupt. By bowing down these trolls get what they wanted. And what did the Internet teach us? "Don't feed the trolls."
[11:22:59] bnagy: oh fuck off
[11:23:32] CloCkWeRX: has joined #ruby
[11:23:37] bnagy: I am not an SJW but the only time I ever hear the term is white male assholes trolling on social media
[11:23:59] wasamasa: so, SJW means "person I'm not agreeing with"?
[11:24:12] ruboto: this seems to be off-topic. Please move your discussion to #ruby-offtopic, to keep this channel free for Ruby related problems. Thanks!
[11:24:17] bnagy: the world doesn't owe you a right to be an offensive asshole when you know it offends people
[11:24:19] al2o3-cr: I wanted to that :)
[11:24:42] Papierkorb: bnagy: Now you're assuming everyone is white and male. That's unfair.
[11:24:48] bnagy: wrt shebang, that's the term I learnt like 25 years ago, but whatever, things change
[11:25:57] jhass: Papierkorb: bnagy didn't mean to spawn that level of discussion here, please move it to -offtopic or your query
[11:26:03] wasamasa: http://www.catb.org/jargon/html/S/shebang.html
[11:27:35] al2o3-cr: Right, ok, who was the instigator lol :)
[11:28:33] platzhirsch: has joined #ruby
[11:31:09] nzst: has joined #ruby
[11:33:58] sevenseacat: has joined #ruby
[11:36:18] einarj: has joined #ruby
[11:36:39] ndrei: has joined #ruby
[11:37:13] dorei: has joined #ruby
[11:37:30] NeverDie: has joined #ruby
[11:38:38] arup_r1: has joined #ruby
[11:44:25] arup_r1: has joined #ruby
[11:45:19] ghr: has joined #ruby
[11:49:54] tknz: has joined #ruby
[11:50:20] juanpablo_: has joined #ruby
[11:54:38] krz: has joined #ruby
[11:55:50] m8: has joined #ruby
[11:56:10] lkba: has joined #ruby
[11:57:07] leat1: has joined #ruby
[11:57:12] howdoi: has joined #ruby
[11:57:24] tsujp: has joined #ruby
[11:59:38] Papierkorb: http://pastie.org/private/iuqcyxshcrfujrtku4vha is there something more idiomatic than line 2? I want it to turn a Symbol into a String, but leave anything else like it is
[12:00:12] siaW: has joined #ruby
[12:00:20] wasamasa: ternary operator?
[12:00:39] al2o3-cr: ^ yeah use a ternary
[12:10:28] skade: has joined #ruby
[12:12:16] workmad3: has joined #ruby
[12:14:34] CloCkWeRX: has joined #ruby
[12:16:28] fantazo: has joined #ruby
[12:18:47] nanoz: has joined #ruby
[12:18:59] arup_r: has joined #ruby
[12:24:18] mprelude: has joined #ruby
[12:24:58] jimms: has joined #ruby
[12:26:04] unrar: has joined #ruby
[12:26:08] unrar: Hello there
[12:26:34] siaW: has joined #ruby
[12:26:50] solocshaw: has joined #ruby
[12:27:02] unrar: So I am working on this project that I just came up with, it probably already exists but yolo I think it's a relatively good idea
[12:27:13] allcentury: has joined #ruby
[12:27:43] devoldmx: has joined #ruby
[12:27:54] unrar: The main idea is that it's a ruby sorta middleware for databases, you can write a JSON file which would be like a scheme of an API and then this middleware turns it into a real API
[12:27:59] unrar: RESTful I guess,
[12:28:11] unrar: Am I reinventing the wheel?
[12:28:35] tkuchiki: has joined #ruby
[12:28:43] jhass: I think I've seen that before, yeah
[12:30:25] wasamasa: I thought REST was for resources, not data
[12:30:41] unrar: Actually I hate REST
[12:30:43] fast_scooter: has joined #ruby
[12:30:51] wasamasa: which would inevitably lead to impedance mismatches once you go beyond basic CRUD
[12:31:03] unrar: Well then I'm going to reinvent the wheel but nevermind because my wheel is going to be better
[12:31:32] wasamasa: but if you're using your database just for CRUD instead of making the most of relations...
[12:31:38] wasamasa: I could see this work out
[12:31:52] devoldmx_: has joined #ruby
[12:32:06] jhass: https://github.com/begriffs/postgrest was probably what I was thinking off
[12:34:09] mprelude: has joined #ruby
[12:34:50] unrar: i do not use Rails tho
[12:34:59] unrar: i mean i actually hate rails that's why I wrote RMVC
[12:35:10] wasamasa: I begin to see a pattern
[12:35:47] unrar: there ya go this is my wheel https://github.com/unrar/midb
[12:36:20] unrar: it's more like a draft but i'm bad at finding ideas so i'm kinda working on it for the sake of doing something useful
[12:36:21] jhass: does it doe jsonapi.org?
[12:36:40] wasamasa: so, postgrest does actually reuse as much as possible from postgres by going for views and transforming these from and to json
[12:36:41] wasamasa: interesting
[12:36:45] unrar: probably not
[12:37:01] wasamasa: probably the only way of not mutilating the capabilities of the API :P
[12:37:20] Papierkorb: jsonapi.org reads like HAL http://stateless.co/hal_specification.html
[12:37:46] unrar: I've never done much Javascript or JSON so my JSON sucks tremendously but I guess it works
[12:38:28] mprelude: I don't like rails much either.
[12:40:22] unrar: The thing with Rails is that I get frustrated because I want to know exactly everything that's going on
[12:40:29] unrar: That's why the (very few) web apps I do, I do in PHP lmao
[12:40:32] roxtrongo: has joined #ruby
[12:40:47] fast_scooter: has joined #ruby
[12:41:02] Zarthus: php might not be the best language if you want to know what's going on ;)
[12:41:44] eightfold: has joined #ruby
[12:42:17] unrar: but i also know what's not going on
[12:42:38] unrar: i barely do web dev anyway
[12:43:15] freezevee: has joined #ruby
[12:43:41] dgutierrez1287: has joined #ruby
[12:46:05] ghr: has joined #ruby
[12:46:13] centrx: has joined #ruby
[12:46:41] Guest81018: has joined #ruby
[12:46:49] stamina: has joined #ruby
[12:47:32] sameerynho: has joined #ruby
[12:48:53] sankaber: has joined #ruby
[12:52:01] arup_r: what is RMVC ?
[12:52:25] unrar: some lame framework i started developing like two years ago
[12:52:54] arup_r: R stands for ?
[12:52:57] The_Phoenix: has joined #ruby
[12:53:03] unrar: the idea is to use the MVC architecture and some of the benefits of Rails like generators and migrations and stuff, but without a preference for web apps
[12:53:10] unrar: ruby lmao
[12:53:47] unrar: And the thing is that I tried to keep it simple so it's much more simple than Rails but it's still helpeful, that JSON API thing I'm doing with RMVC
[12:53:51] unrar: see the repo https://github.com/unrar/rmvc
[12:55:15] unrar: i really have to change the models and views and controllers defaults and make them real objects rather than static classes because it looks so lame but meh it works
[12:55:26] sevenseacat: "hate" is a very strong word. I think it implies misunderstanding.
[12:57:20] al2o3-cr: has joined #ruby
[12:58:39] Papierkorb: unrar: "require `./app/controllers/sudokusolver_controller`" were you looking for require_relative?
[12:59:10] solocshaw: has joined #ruby
[12:59:11] unrar: not really
[12:59:36] unrar: well i don't think so, using the ./ thing it becomes a path relative to the main file which is what i want
[12:59:42] unrar: does require_relative do the same without the ./?
[12:59:53] unrar: oh great, thanks
[13:00:05] catoblepa: has joined #ruby
[13:00:16] unrar: this kind of stupidities are common in RMVC because most of the thing was coded 2 years ago, I was so dumb lol
[13:01:34] fast_scooter: has joined #ruby
[13:01:39] siaW: has joined #ruby
[13:04:42] kirun: has joined #ruby
[13:05:25] skade: has joined #ruby
[13:06:37] iamninja: has joined #ruby
[13:07:41] leat1: has joined #ruby
[13:08:25] meatherly: has joined #ruby
[13:11:36] hackeron: has joined #ruby
[13:11:47] enebo: has joined #ruby
[13:14:28] skade: has joined #ruby
[13:17:05] skade: has joined #ruby
[13:17:36] cntrx: has joined #ruby
[13:17:36] leat1: has joined #ruby
[13:17:48] dionysus69: has joined #ruby
[13:18:39] atomical: has joined #ruby
[13:23:59] kent\n: has joined #ruby
[13:24:01] modern: has joined #ruby
[13:24:03] Nirgali42: has joined #ruby
[13:24:07] Biohazard: has joined #ruby
[13:24:09] crankharder: has joined #ruby
[13:24:13] raypulver: has joined #ruby
[13:24:14] jud: has joined #ruby
[13:24:14] jud: has joined #ruby
[13:24:16] sanguisdex: has joined #ruby
[13:24:16] cajone: has joined #ruby
[13:24:19] lokulin: has joined #ruby
[13:24:21] jso: has joined #ruby
[13:24:24] Dopagod: has joined #ruby
[13:24:26] ebbflowgo: has joined #ruby
[13:24:29] Azure: has joined #ruby
[13:24:50] araujo: has joined #ruby
[13:25:04] wmoxam: has joined #ruby
[13:25:11] eam: has joined #ruby
[13:25:11] soloone: has joined #ruby
[13:25:12] rideh: has joined #ruby
[13:25:12] rideh: has joined #ruby
[13:25:13] lea: has joined #ruby
[13:25:16] nw: has joined #ruby
[13:25:17] ebarrett: has joined #ruby
[13:25:17] yeticry: has joined #ruby
[13:25:17] iamninja: has joined #ruby
[13:25:18] _aeris_: has joined #ruby
[13:25:19] Olipro: has joined #ruby
[13:25:20] dwithers: has joined #ruby
[13:25:21] hyy1: has joined #ruby
[13:25:23] sross07: has joined #ruby
[13:25:26] kirun: has joined #ruby
[13:25:26] Thr3d: has joined #ruby
[13:25:31] sparr: has joined #ruby
[13:25:33] bast: has joined #ruby
[13:25:36] hahuang61: has joined #ruby
[13:25:40] chrishough: has joined #ruby
[13:25:43] jeadre: has joined #ruby
[13:25:48] millerti: has joined #ruby
[13:25:48] verto: has joined #ruby
[13:25:51] retornam: has joined #ruby
[13:25:58] coffeejunk: has joined #ruby
[13:26:29] borkdude: has joined #ruby
[13:26:36] nisstyre: has joined #ruby
[13:26:46] chris2: has joined #ruby
[13:26:49] _joes__: has joined #ruby
[13:27:13] raypulver: has joined #ruby
[13:27:34] RTG`: has joined #ruby
[13:27:35] araujo: has joined #ruby
[13:28:31] djbender: has joined #ruby
[13:28:37] alxndr: has joined #ruby
[13:28:52] zipkid: has joined #ruby
[13:29:20] nahtnam: has joined #ruby
[13:30:15] mist: has joined #ruby
[13:30:18] pizzaops: has joined #ruby
[13:31:59] bttf: has joined #ruby
[13:32:29] hellschreiber: has joined #ruby
[13:34:08] kies^: has joined #ruby
[13:34:14] catoblepa: has joined #ruby
[13:34:16] ndrei: has joined #ruby
[13:34:45] nux443: has joined #ruby
[13:35:06] server2client: has joined #ruby
[13:35:48] preyalone: has joined #ruby
[13:35:56] [k-: Work it Harder, Make it Better, Do it Faster, Makes Us Stronger
[13:36:04] juanpablo_: has joined #ruby
[13:36:07] Meow-J: has joined #ruby
[13:36:10] [k-: go everyone!!!
[13:36:50] [k-: apeiros ^ shevy
[13:37:32] server2client: i want to doucumnetation work for tuby as open-source beginner need roadmap..
[13:38:01] pawnbox: has joined #ruby
[13:39:25] sever2client: has joined #ruby
[13:40:36] sever2client: i want to doucumnetation work for tuby as open-source beginner need roadmap..
[13:40:53] sever2client: i want to doucumnetation work for tuby as open-source beginner need roadmap..
[13:41:34] [k-: calm down
[13:41:42] [k-: Work it Harder, Make it Better, Do it Faster, Makes Us Stronger
[13:41:48] meatherly: has joined #ruby
[13:42:57] rbennacer: has joined #ruby
[13:43:17] dimasg: has joined #ruby
[13:43:53] devoldmx: has joined #ruby
[13:45:10] sever2client: any tutorial?
[13:45:14] [k-: Yard is a nice tool for documenting ruby
[13:45:31] freezevee: has joined #ruby
[13:45:32] [k-: they have tutorials on the site itself
[13:45:35] sever2client: do i have to do it by git?
[13:46:05] sever2client: main aim is to built portfolio by doing open-source work in ruby...
[13:46:10] sevenseacat: is this a joke? :/
[13:46:15] sever2client: do i get any recognition?
[13:46:59] ghr: has joined #ruby
[13:47:01] nux443: has joined #ruby
[13:47:20] fast_scooter: has joined #ruby
[13:47:52] sevenseacat: sever2client: you want us to find you a tutorial, then you want to get lots of recognition for following it?
[13:48:06] apeiros: sever2client: doing documentation work can get you as far as a ruby-hero award
[13:48:19] gibre: has joined #ruby
[13:48:35] apeiros: but the person who received one for doc work did *a lot* of doc work
[13:48:44] [k-: apeiros! work it faster make us stronger!
[13:48:45] sever2client: it is not done by git, then how do i show to people about my work?
[13:49:16] [k-: wait, what are you asking?
[13:49:22] anandubajith: has joined #ruby
[13:49:38] [k-: are you asking how to document, ways to document or how to contribute
[13:49:52] sevenseacat: [k-: it helps if you read the question.
[13:50:02] sever2client: how do people know that i have done some work for ruby
[13:50:20] sever2client: until it is not comit in git
[13:51:47] [k-: sevenseacat: it helps when the problem isnt stated in many lines :s
[13:53:04] sever2client: [k-: ok! tell me the process of documenting ruby first?
[13:53:19] [k-: sever2client: so you want to contribute to Ruby
[13:53:37] [k-: read this: documenting-ruby.org
[13:54:19] sever2client: also how do people know that this is my work?
[13:55:31] rbennacer: has joined #ruby
[13:55:33] [k-: it will be in the changelog
[13:55:42] [k-: everyone checks the changelog
[13:55:53] sever2client: m seeing thanks
[13:56:39] wasamasa: don't worry, nobody ever cares about the developer
[13:57:01] wasamasa: if you want to be a rockstar, better learn to play the guitar
[13:57:05] nux443: has joined #ruby
[13:57:45] flughafen: has joined #ruby
[13:57:55] [k-: https://github.com/ruby/ruby/blob/trunk/ChangeLog
[13:58:06] [k-: ctrl+f [DOC]
[13:58:13] sever2client: hey!! i seeing the documnetation page there it says ruby 1.9.3 why not 2.2 http://blog.steveklabnik.com/posts/2011-05-10-contributing-to-ruby-s-documentation
[13:58:22] _aeris_: has joined #ruby
[13:58:27] sevenseacat: because 2.2 didnt exist then.
[13:59:16] sever2client: why not they have edited till now?
[14:01:06] [k-: that post is from 2011.
[14:01:37] sever2client: but it can be changed too
[14:02:18] [k-: how old are you sever2client?
[14:02:19] dimasg: has joined #ruby
[14:03:44] victortyau: has joined #ruby
[14:03:44] [k-: no one has time for these things
[14:03:44] sevenseacat: sever2client: is everything you've ever written on the internet completely up to date?
[14:04:40] [k-: if everyone had to make sure everything they write is up to date, they wouldn't write things at all
[14:04:57] apeiros: sure they would
[14:04:58] [k-: kudos to you for wanting to keep documentation up to date
[14:05:01] apeiros: lots of updates :D
[14:05:57] sever2client: those were the major changes needed to be done i think
[14:06:00] [k-: apeiros: do it faster! make it better!
[14:06:11] apeiros: [k-: can you stop that?
[14:06:16] sever2client: m agree with ur point too
[14:06:28] [k-: okay...
[14:06:50] davedev24: has joined #ruby
[14:09:40] jimms: has joined #ruby
[14:09:56] rfmind_: has joined #ruby
[14:10:29] meatherly: has joined #ruby
[14:10:58] DCameronMauch: has joined #ruby
[14:11:13] havenwood: has joined #ruby
[14:11:19] DCameronMauch: has left #ruby: ()
[14:11:25] ndrei: has joined #ruby
[14:14:23] skade: has joined #ruby
[14:15:58] platzhirsch: has joined #ruby
[14:21:02] freerobby: has joined #ruby
[14:21:40] nullundefine: has joined #ruby
[14:21:51] nullundefine: has left #ruby: ()
[14:22:15] skade: has joined #ruby
[14:23:00] Jackneill: has joined #ruby
[14:24:54] nofxx: has joined #ruby
[14:26:44] rbennacer: has joined #ruby
[14:29:25] atzorvas: has joined #ruby
[14:30:57] rbennacer: has joined #ruby
[14:32:21] nux443: has joined #ruby
[14:34:53] Azure: has joined #ruby
[14:35:28] theery: has joined #ruby
[14:36:44] sever2client: there on documentation page it has been given only 75% are documneted, but how do i know which portion are not doucumneted
[14:36:59] sever2client: how to figure out not documented part?
[14:37:11] wasamasa: a programmer figures out such things on their own
[14:38:17] wasamasa: be it using git, actually understanding code to write documentation for it, finding out what parts are yet undocumented, etc.
[14:38:33] bruno-: has joined #ruby
[14:38:48] wasamasa: it's why they're programmers, because they have more to show than just a vague desire to improve things
[14:39:46] sever2client: then how one can assess only 75% are documented
[14:40:00] Papierkorb: also, regexes to find undocumented parts.
[14:40:08] havenwood: sever2client: Read all the documentation and then what you don't know are the undocumented parts
[14:40:52] tsujp: has joined #ruby
[14:42:03] arup_r: wasamasa: documentation indeed needed. It helps community, not all programmer started programming at the age of 12 or so...
[14:42:45] spider-mario: has joined #ruby
[14:42:52] tkuchiki: has joined #ruby
[14:43:14] sever2client: sahi baat arup
[14:43:15] arup_r: for example, Python documentation and then Java documentation made by Oracle etc
[14:43:18] nux443: has joined #ruby
[14:43:23] arup_r: sevenseacat: hanji...
[14:44:00] Rinzlit: has joined #ruby
[14:44:04] arup_r: sevenseacat: regional language..
[14:44:53] sever2client: can i say documentation include writting things
[14:45:00] sever2client: how ruby works
[14:48:41] nux443: has joined #ruby
[14:48:50] adaedra: sevenseacat: I'd say tab fail
[14:49:46] havenwood: starts with "s" and ends with "t" with stuff in-between, checks out
[14:50:27] wasamasa: sever2client: in case you actually figure out how to do all of that, please learn english first
[14:50:38] wasamasa: sever2client: documentation in engrish won't help any of us
[14:51:03] sever2client: there it needed to be well , short coded form, isn't?
[14:51:30] [k-: it needs to be in clear accurate English
[14:52:17] Dzejmskrokan: has joined #ruby
[14:52:24] [k-: if your documentation is unclear, you will be told/taught how to improve it
[14:53:58] rbennacer: has joined #ruby
[14:54:02] nux443: has joined #ruby
[14:55:26] krz: has joined #ruby
[14:55:46] arup_r: sever2client: you are from ?
[14:56:07] sever2client: living in orissa
[14:56:45] [k-: when you state where you are from, it would be nice to give the country as well
[14:56:50] arup_r: Bangalore
[14:56:55] sever2client: final year undergrad of enginnering
[14:57:01] jimms: has joined #ruby
[14:57:14] arup_r: but I am from Kolkata :) your neighbor
[14:57:51] sever2client: u r a profrssional or student?
[14:58:10] moss: has joined #ruby
[14:58:10] [k-: professional student
[14:58:21] sever2client: m bit dissappointed there no ruby camp here..
[14:59:22] sever2client: i think even banglore also lacks these things
[14:59:31] timonv: has joined #ruby
[14:59:58] sever2client: ruby is more popular in bay area(silicon valy)
[15:01:02] Pupeno: has joined #ruby
[15:01:38] adaedra: [k-: What about world? What if there are aliens in this channel?
[15:02:28] rbennacer: has joined #ruby
[15:02:38] sever2client: adaedra: surely they are the guest of elon musk
[15:02:57] [k-: im sure the country would somehow identify the world
[15:03:30] theery: has joined #ruby
[15:05:01] northfurr: has joined #ruby
[15:07:44] symm-: has joined #ruby
[15:08:36] leat1: has joined #ruby
[15:10:33] thebastl: has joined #ruby
[15:10:55] bruno-: has joined #ruby
[15:11:05] jalljo: has joined #ruby
[15:11:42] catoblepa: has joined #ruby
[15:13:58] tsujp: has joined #ruby
[15:14:58] Yzguy: has joined #ruby
[15:16:37] enebo: has joined #ruby
[15:16:52] tkuchiki: has joined #ruby
[15:17:14] lkba: has joined #ruby
[15:21:22] freerobby: has joined #ruby
[15:22:31] bluish: has joined #ruby
[15:23:54] s00pcan: has joined #ruby
[15:24:50] juanpablo_: has joined #ruby
[15:28:04] bubbys: has joined #ruby
[15:28:09] ChanServ: -bb rooby!*@* *!*@gateway/web/freenode/ip.31.3.244.61
[15:30:27] banjara: has joined #ruby
[15:31:45] ChanServ: -b g0ram!*@*
[15:32:15] bazbing80: has joined #ruby
[15:32:18] northfurr_: has joined #ruby
[15:33:53] kdman: has joined #ruby
[15:35:34] ecnalyr: has joined #ruby
[15:36:38] Pupeno_: has joined #ruby
[15:37:16] aibo: has joined #ruby
[15:39:01] alejo_: has joined #ruby
[15:39:27] RobertBirnie: has joined #ruby
[15:43:51] ChanServ: -bb canttouchthis!*@* *!*@gateway/web/freenode/ip.37.59.26.225
[15:44:55] exadeci: has joined #ruby
[15:45:19] JBrickley: has joined #ruby
[15:46:40] gener1c: has joined #ruby
[15:47:58] ghr: has joined #ruby
[15:48:53] gener1c: how are you pontiki :D
[15:49:08] gener1c: good to hear , good to hear
[15:49:40] Pupeno: has joined #ruby
[15:50:20] sumark: has joined #ruby
[15:50:49] s00pcan: has joined #ruby
[15:54:55] mistermocha: has joined #ruby
[15:56:35] jmdade: has joined #ruby
[15:57:23] JBrickley: has joined #ruby
[15:58:06] p8952: has joined #ruby
[15:58:51] meatherly: has joined #ruby
[15:59:00] leat1: has joined #ruby
[16:00:29] p8952: has joined #ruby
[16:00:58] p8952: has joined #ruby
[16:02:17] p8952: has joined #ruby
[16:02:31] kirun_: has joined #ruby
[16:03:46] p8952: has joined #ruby
[16:04:38] thebastl: has joined #ruby
[16:05:07] p8952: has joined #ruby
[16:05:32] nahtnam: How do I do #try with division? I tried: `time_played = stats["total_time_played"].try(:/ 3600)` but it doesnt work
[16:05:47] arup_r: you missed the `,`
[16:06:00] arup_r: .try(:/, 3600)
[16:07:08] mistermo_: has joined #ruby
[16:08:34] rippa: has joined #ruby
[16:08:37] rehat: has joined #ruby
[16:09:31] JBrickley: has joined #ruby
[16:13:54] nahtnam: Is there a better way to do this? `adr = damage.try(:/, rounds)` it returns an exception instead of nil, if rounds is nil
[16:15:42] stamina: has joined #ruby
[16:15:48] apeiros: nahtnam: what do you expect if rounds is nil?
[16:16:09] nahtnam: I want the variable to be nil, if either damage or rounds is nil
[16:16:15] nahtnam: and if not, divide them
[16:16:27] apeiros: adr = damage && rounds && damage/rounds
[16:16:35] apeiros: also note that Integer#/ is integer division
[16:16:39] ruboto: apeiros # => 1 (https://eval.in/424630)
[16:16:50] nahtnam: Its a large number, doesnt need decimals
[16:16:58] [k-: the right way???
[16:17:53] pyon: has joined #ruby
[16:17:53] dgutierrez1287: has joined #ruby
[16:17:54] nahtnam: win_chance = (wins.try(:to_f) / rounds.try(:to_f)).try(:*, 100).try(:round, 2)
[16:18:07] nahtnam: That returns an exception when wins is nil
[16:18:15] nahtnam: it says cant divide a nil
[16:18:34] nahtnam: I thought the point of .try() was to stop exceptions
[16:19:06] [k-: that looks horrible
[16:19:13] [k-: option types ftw!
[16:19:19] nahtnam: Yeah, but I dont want any exceptions
[16:19:39] [k-: maybe try validating your input first
[16:19:47] [k-: method calls are expensive
[16:19:57] nahtnam: I have like 30 different statements that do the same thing
[16:20:01] Hanmac: has joined #ruby
[16:20:02] nahtnam: and all of this is from an api
[16:20:17] [k-: if you are safe guarding every single method, you're doing it wrong
[16:20:46] chihhsin: has joined #ruby
[16:20:49] nahtnam: Well, the problem is that if any of these are missing, my controller throws an exception and stops
[16:20:54] Pupeno: has joined #ruby
[16:20:56] nahtnam: I want it to set the variable to nil and move on
[16:21:03] nahtnam: instead of throwing an exception
[16:21:18] yqt: has joined #ruby
[16:21:22] platzhirsch: has left #ruby: ()
[16:21:29] [k-: if you know that win is a float and round is a float, surely * would work
[16:21:35] mistermocha: has joined #ruby
[16:21:39] [k-: and rounding would work too
[16:22:11] nahtnam: I didnt realize it did this
[16:22:12] nahtnam: >> win = nil;round = 1; win.to_f / round.to_f
[16:22:13] ruboto: nahtnam # => 0.0 (https://eval.in/424631)
[16:22:43] [k-: that's horrible, in my opinion
[16:23:01] nahtnam: Then what should I do?
[16:23:35] [k-: if win.nil? # abort
[16:23:39] apeiros: you should think whether nil is a sensible value at any time
[16:23:42] _mak: has joined #ruby
[16:23:47] apeiros: or whether there's a more sensible initial value
[16:23:49] _mak: hi there
[16:23:53] gamename: has joined #ruby
[16:24:01] [k-: will Ruby 3 have option types?
[16:24:19] havenwood: [k-: Use falseyness rather than explicit `nil` check.
[16:24:27] soahccc: I just did something stupid but it raised a question. When I obj.extend(SomeModule) can SomeModule overwrite existing methods on obj?
[16:24:41] _mak: what could I use with ruby to login to my bank account and grab my balance? I was looking into capybara but it seems that it was meant to work with Rails only
[16:24:49] apeiros: soahccc: extend is an operation on the ancestry of obj
[16:25:16] havenwood: _mak: Considered mechanize?
[16:25:18] apeiros: soahccc: so while it does not *overwrite* an existing method, it can put methods which are higher up in the inheritance chain and "shadow" existing methods
[16:25:32] ngscheurich: has joined #ruby
[16:25:35] apeiros: soahccc: same as with class A < B, class A can shadow methods defined in B
[16:25:46] _mak: havenwood: cool, I'll check it, thanks
[16:25:58] soahccc: apeiros: hmm okay. I extended MonitorMixin onto a queue and new_cond is giving me a mutex one :D
[16:26:23] weemsledeux: has joined #ruby
[16:27:05] mistermocha: has joined #ruby
[16:28:14] pranny: has joined #ruby
[16:28:31] rehat: anyone know of a ruby gem that will move files from on directory to another and maintains the folder structure? So folder A has the same files as folder B but those files are in a different folder than they are in folder A
[16:29:08] sever2client: has joined #ruby
[16:29:13] havenwood: rehat: How is that different from just moving files?
[16:29:24] leat1: has joined #ruby
[16:29:31] sever2client: has joined #ruby
[16:30:09] havenwood: rehat: Have a little example?
[16:30:20] [k-: you might be overthinking with a tired mind
[16:31:28] pyon: has joined #ruby
[16:31:57] clarkenciel: has joined #ruby
[16:31:58] rehat: folder A -> Folder -> file A and I want to move do a move on folder A to folder B where folder B - Folder (differnt from folder A) -> file A
[16:33:02] dzejrou: has joined #ruby
[16:33:09] tmtwd: has joined #ruby
[16:34:05] centrx: has joined #ruby
[16:34:08] rehat: I guess I would need to make a script that would take a file from Folder A and then find that same file in Folder B and replace it
[16:34:30] jaequery: has joined #ruby
[16:34:51] [k-: oh, you just want a symlink then?
[16:35:12] chry: has joined #ruby
[16:36:02] rehat: nah no symlink from cp and replace
[16:36:12] [k-: it would be expensive to find the file with the same name and then replace it
[16:36:24] [k-: keeping an index of the file is better
[16:36:38] [k-: and you can replace it using that indeed
[16:37:16] rehat: what do you mean by index?
[16:37:37] [k-: a cache
[16:37:52] [k-: or* maybe that isnt the right term
[16:39:30] Sembei: has joined #ruby
[16:39:43] northfurr: has joined #ruby
[16:42:11] jamesaxl: has joined #ruby
[16:42:29] leafybasil: has joined #ruby
[16:42:30] devdazed: has joined #ruby
[16:42:41] rdark: has joined #ruby
[16:42:53] iateadonut: has joined #ruby
[16:43:38] joneshf-laptop: has joined #ruby
[16:44:20] JBrickley: has joined #ruby
[16:46:04] christiandsg: has joined #ruby
[16:47:31] shevy: [k- learn english!
[16:47:39] UtkarshRay: has joined #ruby
[16:47:49] [k-: (hint: you should have asked your question along these lines to help people understand you: i want to keep a file (the copy) in sync with another "master" file using Ruby. they are in different folders with the same filename. how would i go about doing that?)
[16:48:10] [k-: shevy: my English > your english
[16:48:33] [k-: i respected pronouns, case closed
[16:49:06] ghr: has joined #ruby
[16:49:26] [k-: i bet you didnt expect that!
[16:49:40] leat1: has joined #ruby
[16:50:00] houhoulis: has joined #ruby
[16:55:35] juanpablo_: has joined #ruby
[16:56:33] Dzejmskrokan: has joined #ruby
[16:58:59] [k-: shevy never responds :(
[16:59:17] mistermocha: has joined #ruby
[16:59:20] bigmac_: has joined #ruby
[17:02:07] jhass: maybe you don't make interesting enough questions
[17:02:29] shevy: [k- ah my thoughts are occupied with other things... like what to eat first...
[17:02:34] apeiros: [k-: topic suggestions: biology, dna, utf-8, unicode
[17:03:11] [k-: shevy: suddenly i want to choose to be offended
[17:03:14] apeiros: gah, can't get pry to open a separate session on two IO.pipe's :(
[17:03:29] apeiros: nor on a Socket :<
[17:03:42] [k-: what to eat first shouldn't be the first example you name :(
[17:04:32] [k-: jhass, that was actually a comment, a rhetorical question maybe
[17:04:42] [k-: but a rhetorical question demands no response
[17:04:54] apeiros: where's banister when you need him!
[17:04:56] jhass: hence you should always answer
[17:05:47] autrilla: has joined #ruby
[17:06:21] Swappticon: has joined #ruby
[17:07:33] shevy: it's more fun to answer rhetorical questions [k-
[17:07:56] [k-: but you don't answer!
[17:08:26] adaedra: apeiros [k-: topic suggestions: biology, dna, utf-8, unicode ??? Geography, too
[17:08:44] pranny: has joined #ruby
[17:09:43] ghr: has joined #ruby
[17:09:53] [k-: I advise you to stop appending geog to everything
[17:11:15] mblagden: has joined #ruby
[17:12:22] dseitz: has joined #ruby
[17:13:14] jamesaxl|2: has joined #ruby
[17:16:15] shevy: append ruby!
[17:16:50] baweaver: has joined #ruby
[17:19:02] Exuma: has joined #ruby
[17:20:52] Exuma: has joined #ruby
[17:21:07] rbennacer: has joined #ruby
[17:21:12] dionysus69: has joined #ruby
[17:23:15] meatherly: has joined #ruby
[17:24:11] Exuma: has joined #ruby
[17:24:21] blue_deref: has joined #ruby
[17:24:24] meatherly: has joined #ruby
[17:25:18] DoubleMalt: has joined #ruby
[17:28:35] towski_: has joined #ruby
[17:29:18] blueOxigen: has joined #ruby
[17:29:38] Exuma: has joined #ruby
[17:31:31] MyMind: has joined #ruby
[17:32:04] Exuma: has joined #ruby
[17:32:21] dzejrou_: has joined #ruby
[17:32:49] Exuma: has joined #ruby
[17:35:13] jzigmund_: has joined #ruby
[17:35:14] gagrio__: has joined #ruby
[17:35:30] blokc: has joined #ruby
[17:35:51] thebastl: has joined #ruby
[17:36:42] blokc: Hi. I had this wild idea of using the termit gem (google translate api) to translate a yaml file.
[17:37:06] gagrio: has joined #ruby
[17:37:17] blokc: When I load the YAML it's a nested hash. I'm struggling with walking the nested hash and keeping the structure as I translate any strings.
[17:38:52] [k-_: has joined #ruby
[17:41:27] jzigmund: has joined #ruby
[17:42:02] apeiros: blokc: I assume you want to ask a question?
[17:42:06] [k-_: blokc: exactly how are you struggling?
[17:42:18] jhass: do a recursive method that map's over it
[17:44:30] mistermocha: has joined #ruby
[17:44:31] rbennacer: has joined #ruby
[17:44:33] sarkyniin: has joined #ruby
[17:45:17] DLSteve: has joined #ruby
[17:45:51] nkts: has joined #ruby
[17:46:51] fantazo: has joined #ruby
[17:48:26] Guest54998: has joined #ruby
[17:49:10] Maletor: has joined #ruby
[17:50:52] otherj: has joined #ruby
[17:52:12] [k-_: im probably going to write a ruby script to automate scraping
[17:52:16] mistermocha: has joined #ruby
[17:52:32] [k-_: time for research!
[17:52:42] gagrio__: has joined #ruby
[17:52:51] leat1: has joined #ruby
[17:53:02] Musashi007: has joined #ruby
[17:53:16] AlexAltea: has joined #ruby
[17:53:48] [k-_: or maybe i should do it in haskell, for practice
[17:58:50] Guest54998: has joined #ruby
[17:59:12] nofxx: [k-_, doing something like it. Actually planning. Thinking of using just excon and nokogiri
[17:59:26] nofxx: do some xpath + logic with it, and clock in sidekiq
[17:59:59] [k-_: ACTION nods, thanks, now i dont have to think about how to go about doing it
[18:00:08] [k-_: ACTION installs nokogiri first
[18:01:56] Motoservo: has joined #ruby
[18:03:21] Guest54998: has joined #ruby
[18:05:57] nofxx: [k-_, if you want to DSL it, https://github.com/felipecsl/wombat
[18:06:22] nofxx: just scraping, for crawling: https://github.com/joenorton/rubyretriever
[18:06:57] [k-_: :( i dont have iconv.h
[18:07:05] _marone: has joined #ruby
[18:07:19] _marone: has left #ruby: ("WeeChat 1.2")
[18:07:26] nofxx: nokogiri? which OS/
[18:07:51] Dzejmskrokan: has joined #ruby
[18:07:56] [k-_: mac. gem already recommended i reinstall xcode cli
[18:08:08] dionysus69: has joined #ruby
[18:10:34] ghr: has joined #ruby
[18:10:50] shevy: come to linux man
[18:11:19] ChanServ: -b nigg!*@*
[18:13:23] codecop: has joined #ruby
[18:16:04] shevy: lol... what a weird error page https://rubygems.org/gems/dont_exist
[18:18:35] zack6849: has joined #ruby
[18:19:07] theery: has joined #ruby
[18:19:21] zack6849: has joined #ruby
[18:20:42] nanoz: has joined #ruby
[18:20:46] [k-_: nice drawing
[18:21:03] hotpancakes: has joined #ruby
[18:21:30] shevy: hmm what did I do
[18:21:32] shevy: Encoding.class # => Class
[18:21:38] shevy: Encoding.new NoMethodError: undefined method `new' for Encoding:Class
[18:21:57] shevy: oh http://ruby-doc.org/core-2.2.0/Encoding.html
[18:22:01] [k-_: you cant create a new encoding!
[18:22:28] Scripore: has joined #ruby
[18:22:40] jhass: >> Encoding::UTF_8
[18:22:41] ruboto: jhass # => #<Encoding:UTF-8> (https://eval.in/424669)
[18:22:43] jhass: all you need
[18:24:43] chipotle: has joined #ruby
[18:25:30] quazimodo: has joined #ruby
[18:27:35] shevy: weird that this is all we need but Encoding got lots of other encodings defined
[18:27:52] theery_: has joined #ruby
[18:29:07] jhass: yeah I don't understand it too
[18:30:45] nofxx: has joined #ruby
[18:30:45] nofxx: has joined #ruby
[18:31:30] RedDwarf: has joined #ruby
[18:33:04] petricore: has joined #ruby
[18:33:20] thebastl: has joined #ruby
[18:35:16] banister: has joined #ruby
[18:41:11] devdazed: has joined #ruby
[18:41:20] juanpablo_: has joined #ruby
[18:41:34] fedexo: has joined #ruby
[18:42:25] hashrocket: has joined #ruby
[18:45:21] Swappticon: has joined #ruby
[18:46:21] ddrmanxbxfr_pc: has joined #ruby
[18:51:27] Trieste: has joined #ruby
[18:51:56] \x1p2: has joined #ruby
[18:52:36] Narzew: has joined #ruby
[18:54:03] weemsledeux: has joined #ruby
[18:54:23] Narzew: has joined #ruby
[18:54:59] leat1: has joined #ruby
[18:56:03] [k-_: yea im done with the report
[18:56:14] [k-_: oops. that was meant for ot
[18:57:26] pyon: has joined #ruby
[18:57:50] rbennacer: has joined #ruby
[18:58:06] Vile`: has joined #ruby
[19:00:34] Zackio: has joined #ruby
[19:01:40] rbennacer: has joined #ruby
[19:02:33] Maletor: has joined #ruby
[19:03:01] Yzguy: has joined #ruby
[19:05:36] Vile`: has joined #ruby
[19:06:03] leat1: has joined #ruby
[19:06:26] pawnbox: has joined #ruby
[19:07:03] zeroDivisible: has joined #ruby
[19:07:25] freerobby: has joined #ruby
[19:07:45] pyon: has joined #ruby
[19:10:06] blokc: @apeiros I couldn't find a way to procedurally call nested hash key references. I see that to call a nested key I call myhash[k1][k2], so how can I build that reference if in my recursive method I don't know the keys.
[19:10:20] blokc: @[k-_ same question
[19:11:03] apeiros: keys.inject(my_hash) { |hash, key| hash[key] }
[19:11:04] blokc: My code in-progress https://github.com/wurde/script/blob/master/comm/translate_yaml.rb
[19:11:10] havenn: has joined #ruby
[19:11:19] apeiros: though, iirc you walk the tree
[19:11:24] apeiros: then that shouldn't be necessary anyway
[19:12:04] apeiros: uuuuh, `[[key, Hash.new]].to_h` --> `{key => {}}`
[19:12:10] blokc: Ahh, inject method from Array class. I see how that works.
[19:12:10] apeiros: not sure whether your code even raises
[19:12:24] ecnalyr: has joined #ruby
[19:12:37] apeiros: also @translation.merge(hash) # @translation is NOT modified, you need merge! or update there
[19:12:40] christiandsg: has joined #ruby
[19:13:02] apeiros: sorry, bit busy atm, somebody else will have to look over your code to answer your actual question
[19:13:04] pmarreck: What's the name of the API or interface design principle that says "be broad in what data you accept and specific in what data you send"?
[19:13:13] [k-_: liberal?
[19:13:17] blokc: @apeiros great help thanks.
[19:14:00] havenn: blokc: translator.translate(*ARGV)
[19:14:03] Papierkorb: Is it possible to have differing routes for sub-domains? I want to use my.domain/ for user access, and api.my.domain/ for the JSON API
[19:14:10] Papierkorb: Ah sorry wrong channel
[19:14:10] stamina: has joined #ruby
[19:16:48] havenn: blokc: You can splat (*) an Array into multiple arguments. Familiar with that?
[19:17:24] havenn: blokc: `"#{ @translation.inspect }"` is the same thing as just `@translation.inspect`.
[19:17:44] blokc: havenn: I'm familiar with splat. In this case I'm limiting command-line input to 3 arguments because of termit gem interface.
[19:17:49] apeiros: pmarreck: postel's law ("Be conservative in what you do, be liberal in what you accept from others")
[19:17:58] apeiros: pmarreck: be aware though that it's *widely* misunderstood
[19:18:09] havenn: blokc: If there are three arguments (the case you're in) then there are just three.
[19:18:12] apeiros: it's not meant as "accept every crap and try to make sense of it" as many interpret it.
[19:18:37] havenn: blokc: if ARGV.count == 3
[19:18:42] havenn: blokc: So you can just splat.
[19:19:21] blokc: @havenn I see that, thanks.
[19:19:32] havenn: blokc: I'd suggest just `exit` and `abort`.
[19:19:35] chipotle: has joined #ruby
[19:19:56] havenn: blokc: Instead of `exit 0` and `exit 1`. Exit will exit 0 and abort will exit 1.
[19:20:15] blokc: not familiar with abort call.
[19:20:18] michael_mbp: has joined #ruby
[19:20:25] havenn: blokc: http://ruby-doc.org/core/Kernel.html#method-i-abort
[19:21:48] blokc: Can't tell what the exit code for abort is.
[19:22:26] havenn: blokc: The same as `exit false`, which is 1.
[19:22:56] havenn: blokc: In irb try `abort` and check the exit status: echo $?
[19:23:49] havenn: Oops, I mean same as `exit true`!
[19:24:02] cookiez: has joined #ruby
[19:24:11] bluish: has joined #ruby
[19:24:13] ddv: has joined #ruby
[19:24:42] A124: has joined #ruby
[19:25:05] havenn: Confusing. Just `exit` and `abort` are nice. ;)
[19:25:13] blokc: Rather funny experience. Jumped into IRB to run abort and it closed the IRB session, before $? was printed.
[19:25:19] ddv: has joined #ruby
[19:25:23] Zackio: has joined #ruby
[19:25:31] havenn: blokc: Ah, that's what I meant. Then in your shell type: echo $?
[19:25:32] blokc: havenn: good stuff, should clean up my other scripts with that
[19:25:55] blokc: got it ran.
[19:26:13] havenn: blokc: You can also give it the warning to print to STDERR: abort 'Eeeek!'
[19:26:50] havenn: >> warn 'Eeeek!'
[19:26:51] ruboto: havenn # => Eeeek! ...check link for more (https://eval.in/424680)
[19:27:04] vF3hNGxc47h8: has joined #ruby
[19:28:00] timonv: has joined #ruby
[19:28:33] mistermocha: has joined #ruby
[19:29:33] havenn: blokc: Just a style thing but I'd probably: File.join(dir_path, to, '.yml')
[19:30:01] blokc: that adds a dash between the file name and extension
[19:30:09] havenn: blokc: oh, goodness, right
[19:30:13] havenn: blokc: nevermind me
[19:30:46] havenn: blokc: What were you actually asking about originally?
[19:31:32] blokc: havenn: right, it was my meta programming struggle of translating strings in a deeply nested hash using the termit gem and keeping the structure.
[19:31:43] havenn: blokc: ahh
[19:31:57] havenn: ACTION goes in search of coffee
[19:32:34] blokc: the application is to take a rails translation yaml file and convert it into whatever language codes I pass in.
[19:32:56] arup_r: Can I pass operators using a variable like below ?
[19:33:11] blokc: so en.yml would be es.yml if i ran `translate_yaml en es en.yml`.
[19:33:13] arup_r: >> puts !2 # is ok and I want
[19:33:14] ruboto: arup_r # => false ...check link for more (https://eval.in/424681)
[19:33:50] arup_r: >> x = '!' ; puts "#{x} 2" # to give the same output like above ?
[19:33:51] ruboto: arup_r # => ! 2 ...check link for more (https://eval.in/424682)
[19:34:02] arup_r: Am I clear ?
[19:34:37] Papierkorb: arup_r: you want to invoke ! on 2. 2 is an object, and objects can receive stuff
[19:34:45] Papierkorb: >> x = '!'; puts 2.send x
[19:34:46] ruboto: Papierkorb # => false ...check link for more (https://eval.in/424683)
[19:35:33] arup_r: Does Ruby overloads all operators as method ? :)
[19:35:35] Papierkorb: arup_r: disclaimer: Use public_send instead of send if possible. /disclaimer
[19:35:54] Papierkorb: >> puts (2.send :+, 3)
[19:35:55] ruboto: Papierkorb # => 5 ...check link for more (https://eval.in/424684)
[19:36:00] leat1: has joined #ruby
[19:36:05] bruno-: has joined #ruby
[19:37:28] arup_r: >> x = '!!'; puts 2.send x
[19:37:29] ruboto: arup_r # => undefined method `!!' for 2:Fixnum (NoMethodError) ...check link for more (https://eval.in/424685)
[19:37:42] arup_r: one more send it needs..
[19:37:56] Papierkorb: of course, !! is not a method
[19:38:16] havenn: >> class Fixnum; def !@; "I don't understand the question." end end; !2
[19:38:17] ruboto: havenn # => "I don't understand the question." (https://eval.in/424686)
[19:38:20] havenn: arup_r: ^
[19:38:21] arup_r: yes, that is why syntactic sugar was best if we can use it
[19:39:42] havenn: arup_r: You know about Ruby's keywords?
[19:39:43] rodfersou: has joined #ruby
[19:40:18] havenn: arup_r: They're the special case.
[19:40:31] arup_r: >> x = '!!'; puts eval("#{x}2") # freaking ugly but it understands my heart
[19:40:32] ruboto: arup_r # => true ...check link for more (https://eval.in/424687)
[19:40:42] arup_r: havenn: I know Ruby's keyword
[19:41:14] arup_r: havenn: a + b is a syntactic sugar of a.+(b)
[19:41:52] havenn: arup_r: Yeah, no macros in Ruby to create your own sugar in that fashion particularly.
[19:42:20] Papierkorb: arup_r: try to avoid eval()
[19:43:06] arup_r: but it sometimes ..... wins .. I used it to here to show you people what I had in my mind
[19:43:53] havenn: arup_r: Matz had a short and a long answer to whether Ruby 3 will get macros. The short answer was, "No" and the long answer was "Absolutely no."
[19:43:57] yfeldblum: has joined #ruby
[19:44:08] hotpancakes: has joined #ruby
[19:44:12] arup_r: haha.. Why he is against of it?
[19:44:32] Papierkorb: because macros are a bad idea whenever the language offers better alternatives
[19:44:33] christiandsg: has joined #ruby
[19:44:48] fedexo: has joined #ruby
[19:44:58] Papierkorb: Which ruby already does
[19:45:23] Papierkorb: I mean you can fake it with eval. Which you should not, I mean, there's Object#send_public and friends
[19:45:30] Xiti: has joined #ruby
[19:46:05] Papierkorb: Choose the most non-ugly solution to a problem ;) #send is uglier than #public_send is uglied than just calling the method
[19:46:09] havenn: arup_r: If you'd like to see what macros might look like in a language quite similar to Ruby see Crystal-lang.
[19:46:33] havenn: arup_r: http://crystal-lang.org/docs/syntax_and_semantics/macros.html
[19:46:42] arup_r: why they introduced if it is bad ?
[19:47:03] havenn: arup_r: Ask in #crystal-lang for a good answer. ;)
[19:47:09] havenn: There are reasons.
[19:47:24] havenn: Dynamic versus statically compiled language, etc.
[19:47:37] arup_r: nah!... I have lot to learn now Ruby/Rails.. mainly (CSS :() ... so no more language now
[19:47:56] [k-_: i give up doing it all automatically
[19:48:15] arup_r: "doing it" -< what?
[19:48:17] [k-_: i'll just have ruby automate text replacement
[19:50:10] arup_r: I will go straight to the Ext.js( or something like that) from here.. no right and left, really..
[19:50:36] mistermocha: has joined #ruby
[19:51:05] arup_r: havenn: I saw the link you gave.. What are those ugly `{{}}` .. omg! another syntax..
[19:51:14] Pupeno: has joined #ruby
[19:51:19] havenn: arup_r: Here: http://elixir-lang.org/getting-started/meta/macros.html
[19:51:28] uris: has joined #ruby
[19:51:36] radgeRayden: has joined #ruby
[19:54:27] migimunz: has joined #ruby
[19:54:35] migimunz: Hi, does anyone have any experience with ruby_parser?
[19:55:07] shevy: all I know is that it is complicated
[19:55:13] migimunz: I'm wondering if someone has a list of all (or at least most) possible AST node names
[19:55:24] mistermo_: has joined #ruby
[19:55:27] migimunz: and if somebody could decipher what an :iter node is
[19:55:34] migimunz: shevy, and undocumented :(
[19:55:53] Papierkorb: show-code to the rescue >_>
[19:56:00] shevy: migimunz documentation has never been ruby's strength :\
[19:56:00] Caius: has joined #ruby
[19:56:27] shevy: :iter sounds like an enumeration
[19:56:37] bluish: has joined #ruby
[19:56:43] shevy: in ruby-gtk iters are used to hold content of a tree view / tree view column
[19:57:35] migimunz: shevy, it does sound like it, but it's not what it is I believe, for example "->{}" translates into [:iter, s(:call, nil, :lambda), 0, ...]
[19:59:25] migimunz: oh nevermind ruby_parser, this looks much more documented: https://github.com/whitequark/parser
[19:59:30] PaulCape_: has joined #ruby
[19:59:42] toretore: has joined #ruby
[20:02:08] tonios57: has joined #ruby
[20:02:15] marr: has joined #ruby
[20:03:41] ramfjord: has joined #ruby
[20:04:39] skade: has joined #ruby
[20:06:48] mistermocha: has joined #ruby
[20:08:53] Waldo123: has joined #ruby
[20:11:35] ghr: has joined #ruby
[20:12:34] podman: has joined #ruby
[20:12:59] mistermocha: has joined #ruby
[20:14:31] sarkyniin: has joined #ruby
[20:14:40] d2dchat: has joined #ruby
[20:17:14] Ox0dea: That big-ass image on rubygems.org's 404 page is data-encoded...
[20:17:18] Pupeno: has joined #ruby
[20:17:18] Pupeno: has joined #ruby
[20:18:18] Papierkorb: 224.5KiB well spent
[20:18:54] dionysus69: has joined #ruby
[20:21:48] shevy: you two are nerds
[20:22:18] Ox0dea: It gets cached with the rest of the page's content, so it's not "bad" or anything; it's just weird they're not using a CDN. In any case, it's the largest data-encoded image I've ever run into in the wild.
[20:22:47] dgutierrez1287: has joined #ruby
[20:23:04] Ox0dea: migimunz: You're in good hands: http://whitequark.org/blog/2013/04/01/ruby-hacking-guide-ch-11-finite-state-lexer/
[20:23:32] freerobby: has joined #ruby
[20:24:33] Papierkorb: Ox0dea: actually, the only good part about that is saving a TCP ACK at best! The Base64 increases the file size to no avail
[20:24:45] devdazed: has joined #ruby
[20:24:45] bronson: has joined #ruby
[20:24:59] Ox0dea: Well, a SYN, a SYNACK, and an ACK, but yeah.
[20:25:31] Ox0dea: It's certainly unorthodox, but caching still manages to save the day.
[20:27:13] migimunz: Ox0dea, thanks much!
[20:27:35] Ox0dea: migimunz: Sure thing. I linked that mostly to illustrate that whitequark really knows this parsing shit. :P
[20:28:05] Ox0dea: He's probably *the* person who best understands parse.y, excepting perhaps ko1 and nobu.
[20:28:48] [k-_: hmmm /(?:(\(\W+\))[, ]{0,})+(?: ::.*)?/
[20:28:58] mistermocha: has joined #ruby
[20:28:59] shevy: what are you trying to break now
[20:28:59] migimunz: good to have a source, parsing and transforming ruby is tricky business
[20:29:07] migimunz: Ox0dea, great fun though
[20:29:39] Ox0dea: migimunz: Indeed it is. What're you up to, if you don't mind saying?
[20:30:05] juanpablo_: has joined #ruby
[20:30:35] jeadre: has joined #ruby
[20:30:46] migimunz: Ox0dea, not at all, I want to add pattern matching (ML style) to ruby. It'd still be valid ruby code, but I want it to "compile" to efficient ruby in the background.
[20:31:17] mrtomme: has joined #ruby
[20:31:35] Ox0dea: The lack of quotes around "efficient" is conspicuous.
[20:31:45] Ox0dea: I take your meaning, of course. :P
[20:32:43] Ox0dea: You've reminded me to look into whether or not stateless gensyms are feasible.
[20:32:49] migimunz: but yeah, pattern matching can easily be translated into a bunch of assignments and conditionals, and will make code that deals with things like parsing or AST matching much easier to write
[20:33:47] migimunz: Ox0dea, stateless as in completely pure?
[20:33:57] Ox0dea: As I'm sure you're aware, several attempts have been made to bolt something akin to pattern matching onto Ruby, but optimizing the thing seems novel.
[20:34:24] rbennacer: has joined #ruby
[20:34:37] Ox0dea: migimunz: Well, anything that would avoid having to ensure the symbol you've just generated is unique, I guess.
[20:35:16] migimunz: Ox0dea, well, two major hurdles with implementing pattern matching: good error reporting and performance.
[20:35:52] migimunz: oh, that sounds interesting, but seems like you'd either have to pass a generator that keeps the state or rely on an external state of some sort, at least if it's based on some pseudo-random generator
[20:36:01] migimunz: which is I'm assuming exactly what you want to avoid
[20:36:34] Ox0dea: Precisely. Atomic incrementation is pretty standard, and it works, but it's boring. :P
[20:36:39] Ox0dea: migimunz: https://gist.github.com/0x0dea/ff92b5bc4887d1d04f3a#file-test-rb-L4
[20:36:49] Ox0dea: There's something I slapped together a while back.
[20:37:10] Ox0dea: It "works" by looking into VM bytecode instructions, but it's probably fragile as hell.
[20:37:22] migimunz: oh awesome, let me check it out
[20:38:03] Ox0dea: It's method overloading much more than it is pattern matching, but there's a certain overlap between the two.
[20:39:28] migimunz: oh wow, this is pretty cool
[20:39:39] ramfjord: has joined #ruby
[20:40:03] tmtwd: has joined #ruby
[20:40:47] ebbflowgo: has joined #ruby
[20:41:28] mistermo_: has joined #ruby
[20:41:41] Ox0dea: I do like the visual cleanliness of hijacking default arguments, but... y'know, it's hijacking default arguments.
[20:41:59] bruno-: has joined #ruby
[20:43:01] migimunz: that's true, but if you're doing pattern matching, then you don't really need default arguments for those methods
[20:43:24] bluish: has joined #ruby
[20:43:37] mistermocha: has joined #ruby
[20:44:19] clarkenciel: has joined #ruby
[20:45:32] hotpancakes: has joined #ruby
[20:50:33] PaulCapestany: has joined #ruby
[20:50:58] skyjumper: has joined #ruby
[20:51:06] cantaberry: has joined #ruby
[20:53:39] fantazo: has joined #ruby
[20:53:50] PaulCapestany: has joined #ruby
[20:54:13] atomical: has joined #ruby
[20:54:23] cantaberry: has joined #ruby
[20:54:41] Speed: has joined #ruby
[20:56:57] bronson: has joined #ruby
[20:57:24] skyjumper: has left #ruby: ()
[21:00:02] icedragon: Gentlemen, and ladies, I require your assistance in parsing an AJAX response in ruby: sample %Q([,,"en",,,,0.16169573,,[["en"],,[0.16169573]]])
[21:00:15] icedragon: So far I've tried gsub-ing the commas to add nulls, to no avail
[21:00:55] icedragon: Won't parse correctly because of the multiple commas
[21:01:01] icedragon: YAML won't parse it either
[21:01:36] icedragon: correction: won't parse at all.
[21:01:50] Speed: we tried gsubbing those consecutive commas to add 'null's, but it's hard to get it right
[21:01:54] jhass: what is it supposed to be?
[21:02:23] DLSteve: has joined #ruby
[21:02:25] Papierkorb: Why is the response so broken?
[21:02:27] icedragon: jhass: a response from google's translation api
[21:02:33] Speed: it's an AJAX response that's returned from a web service
[21:02:49] Speed: it's javascript, and the webpage simply eval()'s it
[21:02:55] jhass: (AJAX response doesn't define the content type these days)
[21:03:14] Speed: ([1,,,,] is completely valid JS)
[21:03:29] icedragon: jhass: sadly its valid JS, but invalid <insert every sane format here>
[21:03:34] Speed: we'd like to fix it up into valid JSON and parse it
[21:03:56] jhass: doesn't sound like it's supposed to consumed as API though
[21:04:59] Ox0dea: Are you going to phone the authorities?
[21:05:04] icedragon: jhass: hmm, if you would recommend us a nicer freeeee translation service, we'd be more than happy :3
[21:05:27] Speed: we're not really using it commercially (or much at all), it's meant as a simple irc bot command
[21:05:38] yeticry: has joined #ruby
[21:05:47] icedragon: 0x0dea: oh no, not the po-po D;
[21:06:06] Speed: (given that most people do the same thing https://github.com/hubot-scripts/hubot-google-translate/blob/master/src/google-translate.coffee#L112)
[21:06:30] craysiii: google translate is really bad for some languages
[21:06:36] craysiii: bing is better in that regard
[21:06:50] Ox0dea: IceDragon, Speed: I trust you don't want to shell out, so you're gonna need embedded JS: https://github.com/cowboyd/therubyracer
[21:06:53] Papierkorb: I'm waiting for the day a webservice abuses that many do eval and put some ad on the users screen with it.
[21:07:16] Ox0dea: Because arbitrary eval() == ads.
[21:07:26] icedragon: 0x0dea: There is no way in hell I'm loading an entire js vm into ruby just to parse this D8<
[21:07:34] Ox0dea: IceDragon: Yes, I was being facetious. :P
[21:07:42] Papierkorb: Ox0dea: gets you more money than selling random session cookies I'd say
[21:07:50] Ox0dea: You'd be surprised.
[21:07:51] icedragon: I say that, but I did it before with a different project
[21:07:55] icedragon: >.> because reasons
[21:07:57] Ox0dea: Papierkorb: Some sessions can be of immense value.
[21:08:03] ChanServ: -b RossBuchenwald!*@*
[21:08:22] jhass: IceDragon: Speed what data do you need from it?
[21:09:18] icedragon: jhass: first we're trying to get it in a usable format so we can pick data from it, that particular response yielded nothing
[21:09:25] icedragon: lemme try to get a valid looking one
[21:09:26] Speed: hmm, not sure if I have a complete example output
[21:09:52] jhass: I'd try to just .match out the data I want
[21:10:14] willharrison: has joined #ruby
[21:10:19] Papierkorb: IceDragon: the_broken_json.gsub(/,+/, ',').gsub(/(\[,|,\])/){|a| a.gsub ',', ''}
[21:10:35] Ox0dea: Papierkorb: Where are the `null`s?
[21:10:38] jhass: Papierkorb: assuming there are no , in the strings for example
[21:10:44] Speed: we tried replacing ',,' -> ',null,' and '[,' -> '[null,' and ',]' --> ',null]'
[21:10:53] Papierkorb: jhass: read again, it only replaces multiple , with a single ,
[21:11:01] icedragon: jhass: good point, I overlooked commas in strings
[21:11:04] Speed: that still leaves us with 'null,,null'
[21:11:04] ruurd: has joined #ruby
[21:11:06] shinnya: has joined #ruby
[21:11:26] Ox0dea: IceDragon, Speed: foo.sub(',,', ',null,') while foo[',,']
[21:11:28] Speed: Papierkorb: problem is that some of those places might not always be null
[21:11:31] jhass: I see no real point in trying to get it parsable IMO
[21:11:31] Ox0dea: Regular expressions are hard; let's go looping!
[21:11:48] Ox0dea: sub!, obviously.
[21:12:08] icedragon: jhass: I restored to writing a parser, but we hoped for a shorter more elegant way...
[21:12:09] Speed: Papierkorb: so you're not getting a consistent response
[21:12:20] hck89: has joined #ruby
[21:12:31] icedragon: jhass: https://github.com/archSeer/Scarlet/blob/56daad1a53e19d94ef46f1664ea3b18b2f939d59/lib/scarlet/js_object_parser.rb
[21:12:38] icedragon: you mean poke your eyes out afterwards
[21:12:42] Papierkorb: Speed: that thing is broken as hell, and you're claiming consistency issues?
[21:12:49] ghr: has joined #ruby
[21:14:54] unholycrab: can i change which ruby is my system ruby?
[21:15:07] unholycrab: for example, use an rvm installed ruby as the system ruby?
[21:15:09] Papierkorb: unholycrab: see tools like rvm or rbenv
[21:15:26] unholycrab: Papierkorb: rvm allows me to set the default ruby for use with an interactive shell as a certain user, as far as i understand
[21:15:34] Papierkorb: unholycrab: I'm not sure if that is a good idea. What's wrong with a user-local installation?
[21:15:34] Speed: Papierkorb: I'm just saying that if the response is [origin_text, translated_text, language], sometimes translated_text would be nil, thus parsing the array would return us an array with two items. Considering I probably have origin, translation, language = [ary...], this would set translation = 'en'
[21:15:53] icedragon: unholycrab: you could try chruby as well?
[21:16:42] unholycrab: Papierkorb: there are a lot of unknowns, and overwriting the system ruby would solve all of them
[21:17:14] sargas: has joined #ruby
[21:17:15] unholycrab: im not sure if its a good idea, why its a bad idea, etc
[21:17:31] Papierkorb: unholycrab: I'd argue that it would add another layer of hack onto the layers uncertainties, and a user-local one is a somewhat guaranteed non-hacky way of being certain of the ruby version
[21:17:54] Maletor: has joined #ruby
[21:18:01] unholycrab: its a virtual instance that will serve a rails application
[21:18:04] unholycrab: and nothing else
[21:18:10] unholycrab: it needs only one ruby
[21:18:15] unholycrab: and it needs a specific version
[21:18:15] Papierkorb: unholycrab: excellent use-case for a user-local installation
[21:18:23] toretore: unholycrab: if it's a vm then just instll ruby globally without a version manager
[21:18:27] Papierkorb: unholycrab: else, a system update may override your installation
[21:18:35] unholycrab: toretore: can i specify a version for that
[21:18:39] unholycrab: i see, Papierkorb
[21:19:10] toretore: you can install whichever version you want wherever you want
[21:19:19] unholycrab: then i just need to figure out what user will run the web server, and user-install it there
[21:20:15] Papierkorb: unholycrab: in fact, I'd completely remove the systems ruby installation if you don't need it elsewhere. Else, your server may not fail fast but fail later, making for fun debugging sessions
[21:20:19] robbyoconnor: has joined #ruby
[21:21:49] ndrei: has joined #ruby
[21:22:17] kaps: has joined #ruby
[21:22:35] unholycrab: thank you Papierkorb, toretore
[21:22:56] mbff: has joined #ruby
[21:23:48] mbff: Hello! I am trying to get back info from the newly created row. How can I do this? test = @db.execute( "insert into rappers (name,studioAlbums) values ('Kanye West', '8')")
[21:23:57] icedragon: yay + IceDragon :D
[21:24:01] mbff: test returns empty brackets.
[21:24:17] mbff: I am using SQLite3
[21:24:34] icedragon: mbff: re-read the row
[21:24:54] icedragon: or in this case: read the row
[21:25:21] mbff: ok, but I am don't know which row the data was created to.
[21:26:21] Speed: mbff: insert into ... values ... returning id
[21:26:39] Speed: then you can read the row with the same id
[21:27:04] roxtrongo: has joined #ruby
[21:27:18] mbff: Speed, I am new to SQL, care to expand on that?
[21:28:27] Speed: ah sorry, I think RETURNING is a postgres thing
[21:28:30] Speed: mbff: http://stackoverflow.com/questions/7917695/sql-server-return-value-after-insert
[21:29:32] sarkyniin: has joined #ruby
[21:30:28] hostess: has joined #ruby
[21:30:52] juanpablo_: has joined #ruby
[21:31:42] rbennacer: has joined #ruby
[21:32:14] Speed: has left #ruby: ("WeeChat 1.2")
[21:33:08] rbennacer: has joined #ruby
[21:33:35] nofxx: mbff, why write sql? use sequel or ar
[21:33:38] radgeRayden: has joined #ruby
[21:34:02] solocshaw: has joined #ruby
[21:34:18] Mendenhall: has joined #ruby
[21:34:41] rodfersou: has joined #ruby
[21:34:52] mbff: nofxx, just practice. What is AR?
[21:35:22] blokc: active record
[21:35:23] asi_: has joined #ruby
[21:35:43] mbff: Oh right. I am taking a SQL/database class
[21:35:51] mbff: My college is out of date.
[21:35:57] northfurr: has joined #ruby
[21:36:21] voltalio: has joined #ruby
[21:36:31] AustinMatherne: has joined #ruby
[21:36:45] voltalio: has joined #ruby
[21:36:55] mbff: the following is still not returning anything... any ideas before I head over to #SQL ? test = @db.execute( "insert into rappers (name,studioAlbums) values ('Kanye West', '8'); SCOPE_IDENTITY()")
[21:36:57] Papierkorb: mbff: nothing wrong with learning SQL
[21:37:24] cornerma1: has joined #ruby
[21:37:30] torpig: has joined #ruby
[21:37:49] ndrei: has joined #ruby
[21:38:22] ruurd: HAhahaha. The nicest thing about SQL standards is that there are so many of them :-) :-)
[21:38:36] ged: has joined #ruby
[21:38:48] mahlon: has joined #ruby
[21:38:51] rideh: has joined #ruby
[21:38:53] mbff: that is what i am quickly discovering.... first week of class, but I want to get ahead.
[21:40:14] nofxx: mbff, that's how I've discovered that I want to be a programmer hehe. Teacher gave us book 1-4 for the whole semester on tuesday. By friday I printed in finished 9
[21:40:18] nofxx: pascal haha
[21:40:45] cashnguns: has joined #ruby
[21:40:56] jalljo: has joined #ruby
[21:41:00] jatb: has joined #ruby
[21:41:01] mbff: nofxx, haha
[21:42:00] mrtg9970: has joined #ruby
[21:42:19] nofxx: fun fact about pascal, only lang I know that '=' means '=' (comparator). Assignment is x := 1 . Is there any other(s)?
[21:43:25] Musashi007: has joined #ruby
[21:43:37] ruurd: Prolog uses :- for assign
[21:44:45] ruurd: Yes a lot of languages are using 'is' for 'assign'... :-)
[21:45:11] chris2: same for all wirth languages
[21:45:27] chris2: also algol
[21:45:49] nofxx: is? x is 2; if x = 2 ?
[21:46:10] nofxx: 'is' reads better as '==' imo
[21:46:10] Billias: has joined #ruby
[21:46:20] nofxx: x = 2 ; if x is 2 {}
[21:46:32] chris2: valid python no? :P
[21:50:40] PaulCape_: has joined #ruby
[21:51:34] ndrei: has joined #ruby
[21:52:01] roxtrongo: has joined #ruby
[21:55:32] northfurr: has joined #ruby
[21:55:51] weemsledeux: has joined #ruby
[21:55:58] ebbflowgo: has joined #ruby
[21:56:48] mistermocha: has joined #ruby
[21:57:01] shevy: IceDragon are you still working on your game?
[21:57:20] icedragon: shevy: on and off
[21:57:39] icedragon: utterly wrecked the map editor after changing the rendering process
[21:58:32] zenguy_pc: has joined #ruby
[21:58:34] Fezzler: has joined #ruby
[21:59:01] theery: has joined #ruby
[22:00:00] icedragon: shevy: the woes of first time game programming
[22:02:48] ebbflowgo: has joined #ruby
[22:05:10] mistermocha: has joined #ruby
[22:06:02] Musashi007: has joined #ruby
[22:07:56] agent_white: has joined #ruby
[22:08:29] sargas: has joined #ruby
[22:09:22] mbff: Can I call a static method inside a static method of the same class?
[22:09:27] Azure: has joined #ruby
[22:09:32] theery: has joined #ruby
[22:09:44] jhass: there are no static methods, so yes
[22:09:50] mbff: self.methodName ?
[22:09:58] jhass: just defined in another class ;)
[22:10:31] mistermocha: has joined #ruby
[22:10:32] northfurr: has joined #ruby
[22:11:03] jhass: also I hope you don't really use camelCase for method names
[22:12:45] noethics: has joined #ruby
[22:13:41] ruurd: mbff why not?
[22:14:16] ruurd: I think he means class methods
[22:14:41] jhass: which still are just normal methods, defined in a classes singleton class
[22:15:11] ruurd: same difference.
[22:15:21] lapide_viridi: has joined #ruby
[22:15:45] ruurd: if you flatten it hard enough everything is a jump.
[22:16:13] pontiki: back to assembler for you!
[22:18:14] rbennacer: has joined #ruby
[22:20:00] mistermocha: has joined #ruby
[22:20:49] northfurr: has joined #ruby
[22:23:23] Azure|dc: has joined #ruby
[22:24:01] theery: has joined #ruby
[22:25:24] Mia: has joined #ruby
[22:25:50] rickmasta: has joined #ruby
[22:26:12] workmad3: has joined #ruby
[22:27:14] doublemalt_: has joined #ruby
[22:27:32] kaps: has left #ruby: ()
[22:28:51] theery: has joined #ruby
[22:29:17] bb010g: has joined #ruby
[22:31:53] NeverDie: has joined #ruby
[22:32:12] zenspider: has joined #ruby
[22:33:11] mistermocha: has joined #ruby
[22:36:47] Musashi007: has joined #ruby
[22:37:06] mistermocha: has joined #ruby
[22:37:21] lkba: has joined #ruby
[22:38:47] hotpancakes: has joined #ruby
[22:40:58] shevy: hmm what happens if you have several .rb file in a project, with different '# Encoding: ' statements?
[22:42:33] shevy: everything works!
[22:42:52] toretore: http://graysoftinc.com/character-encodings/ruby-19s-three-default-encodings explains it well
[22:43:02] toretore: that whole series of articles is very good
[22:43:41] Ox0dea: It's a science comment!
[22:44:21] theery: has joined #ruby
[22:44:21] shevy: with flash to show the code \o/
[22:45:19] pontiki: well, it's not science yet :) needs to be duplicated, tried across several experiments, and it's paper written and peer reviewed :)
[22:46:23] Ox0dea: Ruby's wide adoption ticks the first two, and RubySpec handles the others?
[22:46:48] ruurd: use utf-8. don't fuck with encodings.
[22:47:35] toretore: case question; when /encoding/ then 'UTF-8'; ...; end
[22:47:47] crdpink: has joined #ruby
[22:48:45] ecnalyr: has joined #ruby
[22:49:10] Ox0dea: ruurd: Questions can only ever be about encodings?
[22:49:37] SCHAAP137: has joined #ruby
[22:49:38] SCHAAP137: has joined #ruby
[22:51:17] shevy: anyone has some fancy ascii dance in ruby?
[22:51:18] astrobun_: has joined #ruby
[22:51:39] jpfuentes2: has joined #ruby
[22:52:54] mistermocha: has joined #ruby
[22:55:42] lightfoot: has joined #ruby
[22:56:18] lightfoot: Please help:: what does this mean --- new(string, [options [, lang]]) ??? regexp
[22:57:05] shevy: lightfoot you can construct them via Regexp.new
[22:57:20] Kwhy_Not: has joined #ruby
[22:57:21] shevy: here are some examples http://ruby-doc.org/core-1.9.3/Regexp.html#method-c-new
[22:57:26] lightfoot: specifically this part -> [options [, lang]]
[22:57:28] shevy: the [] in there mean that this is optional, you can omit it
[22:57:56] shevy: example four shows that invocation: r4 = Regexp.new(r2)
[22:58:12] shevy: where variable r2 itself is constructed via a Regexp.new call: r2 = Regexp.new('cat', true)
[22:58:31] Kwhy_Not: has left #ruby: ()
[22:58:33] lightfoot: does this mean [, lang], lang must be last?
[22:59:06] shevy: yeah, if you supplied 2 arguments before
[22:59:28] shevy: weird that the example on the page does not show 3 arguments
[22:59:34] ght: I have a question. When using the mysql2 gem, you have to set cast_booleans to true when executing a MySQL query to utilize stored boolean values.
[22:59:50] ght: Otherwise, the stored boolean values will appear as what they literally are, tinyint values of 1 or 0.
[22:59:52] shevy: "If options is a Fixnum, it should be one or more of the constants Regexp::EXTENDED, Regexp::IGNORECASE, and Regexp::MULTILINE, or-ed together."
[22:59:57] siemprefresco: has joined #ruby
[23:00:14] ght: My question is, why on God's green earth is it not a default to cast_booleans as true, and one would have to specify cast_booleans to false to override?
[23:00:30] ght: When the hell would anyone ever really want to store and utilize tinyint values for anything other than boolean?
[23:00:46] shevy: oh sorry lightfoot
[23:00:51] shevy: lightfoot use this docu, it is updated: http://ruby-doc.org/core-2.2.3/Regexp.html#method-c-new
[23:00:54] Ox0dea: ght: Earth is mostly blue.
[23:01:06] ght: Why on God's mostly blue earth then.
[23:01:11] ght: I'm just curious, the logic defies me.
[23:01:18] ght: What a random ass thing for me to have to research.
[23:01:25] Ox0dea: It's inconvenient, to be sure.
[23:01:26] lightfoot: shevy, thank you
[23:01:36] Ox0dea: >> Regexp.new('foo', 'i') == /foo/i # Wat.
[23:01:37] ruboto: Ox0dea # => true (https://eval.in/424702)
[23:01:55] Ox0dea: What's going on there?
[23:02:23] shevy: ght haha I often feel that way as well :-)
[23:02:29] Ox0dea: Oh. Any truthy value denotes case-insensitivity.
[23:03:15] atomical: has joined #ruby
[23:06:29] iamninja: has joined #ruby
[23:06:40] abara: has joined #ruby
[23:07:55] abara: hey folks! o/ anyone know why osx comes with ruby already? i've search but it seems no one know what depends on it :(
[23:09:23] kdman: has joined #ruby
[23:10:16] shevy: probably BSD-originated philosophy
[23:10:47] Ox0dea: shevy: t = Net::Telnet.new('Host' => 'nyancat.dakko.us'); loop { t.cmd('') { |o| print o } }
[23:10:58] Ox0dea: It's an ANSI rather than ASCII dance, but it should do.
[23:11:06] theery: has joined #ruby
[23:11:44] abara: has left #ruby: ("Be back later ...")
[23:11:56] ngscheurich: has joined #ruby
[23:13:50] ghr: has joined #ruby
[23:14:53] havenwood: has joined #ruby
[23:16:55] mistermocha: has joined #ruby
[23:18:40] yqt: has joined #ruby
[23:19:18] duoi: has joined #ruby
[23:19:36] juanpablo_: has joined #ruby
[23:19:42] Kallis: has joined #ruby
[23:22:42] postmodern: has joined #ruby
[23:27:04] ledestin: has joined #ruby
[23:27:16] mistermocha: has joined #ruby
[23:29:16] rakm: has joined #ruby
[23:29:56] charliesome: has joined #ruby
[23:31:32] christiandsg: has joined #ruby
[23:32:43] quazimodo: has joined #ruby
[23:33:48] theery: has joined #ruby
[23:35:03] Centrixx: has joined #ruby
[23:39:15] theery: has joined #ruby
[23:40:37] minimuffins: has joined #ruby
[23:41:53] christiandsg: has joined #ruby
[23:42:37] theery: has joined #ruby
[23:44:33] tjohnson: has joined #ruby
[23:45:30] voltalio: has joined #ruby
[23:47:31] wldcordeiro__: has joined #ruby
[23:49:00] michaeldeol: has joined #ruby
[23:49:44] whiteline: has joined #ruby
[23:50:27] Cork: has joined #ruby
[23:51:58] weemsledeux: has joined #ruby
[23:52:15] agent_white: has joined #ruby
[23:52:44] deol: has joined #ruby
[23:54:52] atomical: has joined #ruby
[23:55:11] cmckee: has joined #ruby
[23:55:25] charliesome: has joined #ruby
[23:57:19] Musashi007: has joined #ruby