« Back to channel list

#ruby - 12 April 2018

« Back 1 day Forward 1 day »
[00:04:01] superscott: has joined #ruby
[00:08:12] erlend: has joined #ruby
[00:09:41] superscott: has joined #ruby
[00:14:19] roshanavand: has joined #ruby
[00:15:55] harryv: has joined #ruby
[00:16:31] baweaver: chrisseaton: Can't say I know, but someone like eam / havenwood / apeiros might.
[00:17:14] jenrzzz_: has joined #ruby
[00:17:53] harryv: has joined #ruby
[00:19:15] yxhuvud: has joined #ruby
[00:19:45] roshanavand: has joined #ruby
[00:19:53] harryv: has joined #ruby
[00:20:48] Emmanuel_Chanel: has joined #ruby
[00:21:55] harryv: has joined #ruby
[00:26:10] Azure: has joined #ruby
[00:28:13] yxhuvud: has joined #ruby
[00:33:23] yxhuvud: has joined #ruby
[00:35:24] ramfjord: has joined #ruby
[00:36:23] duderonomy: has joined #ruby
[00:39:19] havenwood: chrisseaton: "Ruby 1.9 calls setlocale() but only for LC_CTYPE. LC_ALL can cause various problems, so that Ruby will not set LC_ALL implicitly." ~Matz
[00:40:35] havenwood: There's some discussion of it here: https://www.ruby-forum.com/topic/138092
[00:44:53] cthu|: has joined #ruby
[00:45:07] cthulchu: has joined #ruby
[00:46:45] thinkpad: has joined #ruby
[00:50:57] cagomez: has joined #ruby
[00:55:04] yxhuvud: has joined #ruby
[00:55:42] karapetyan: has joined #ruby
[00:57:29] chrisseaton: mroutis: I want to let the user configure date formats using standard environment variables, but Ruby seems to ignore them.
[00:57:38] chrisseaton: Perhaps deliberately, based on these discussions.
[00:57:53] mroutis: has joined #ruby
[00:58:42] konsolebox: has joined #ruby
[01:01:53] alfiemax: has joined #ruby
[01:05:08] netherwolfe: has joined #ruby
[01:10:42] burgestrand: has joined #ruby
[01:12:31] mroutis: has joined #ruby
[01:16:15] Emmanuel_Chanel: has joined #ruby
[01:17:30] arand: has joined #ruby
[01:19:29] twshelton: has joined #ruby
[01:19:43] b10s_: has left #ruby: ("Leaving")
[01:24:36] devyn: has joined #ruby
[01:25:45] gizmore|2: has joined #ruby
[01:26:02] duderonomy: has joined #ruby
[01:27:17] guacamole: has joined #ruby
[01:27:17] mroutis: has joined #ruby
[01:28:53] cluelessnewbie: has joined #ruby
[01:29:32] cluelessnewbie: My god, I hate to be here as a clueless newbie, but here it is.
[01:29:48] cluelessnewbie: would appreciate a quick point in the right direction
[01:30:17] guacamole: has joined #ruby
[01:30:18] guacamole: has joined #ruby
[01:32:13] yxhuvud: has joined #ruby
[01:33:36] havenwood: cluelessnewbie: What can we help with?
[01:35:09] Tempesta: has joined #ruby
[01:36:24] cluelessnewbie: haven, I'm trying to just get started with ruby on rails.
[01:36:30] cluelessnewbie: doing my own sits.
[01:36:38] cluelessnewbie: some programming experience.
[01:36:45] cluelessnewbie: but unsure where to start.
[01:37:05] cluelessnewbie: better to use a service where you only need a browser or set up on your computer?
[01:37:12] cluelessnewbie: using windows 10, by the way.
[01:37:15] mroutis: cluelessnewbie: there's a #rubyonrails IRC, and the guides are a pretty cool / beginner friendly place: guides.rubyonrails.org/
[01:37:31] cluelessnewbie: thanks to all who reply.
[01:37:57] mroutis: cluelessnewbie: there's a getting started section: http://guides.rubyonrails.org/getting_started.html
[01:38:48] jordanm: has joined #ruby
[01:39:57] alfiemax: has joined #ruby
[01:42:13] mikhael_k33hl: has joined #ruby
[01:46:24] yxhuvud: has joined #ruby
[01:46:25] mikhael_k33hl: I have a script that uses concurrent-ruby, however, all threads exit even when it hasn't finished what it is doing yet. How do I make my script wait for all threads to finish before exiting?
[01:46:27] havenwood: cluelessnewbie: You might want to consider using the Windows Subsystem for Linux: https://docs.microsoft.com/en-us/windows/wsl/install-win10
[01:47:14] havenwood: mikhael_k33hl: Normally you #join the threads, but I'm not sure how you'd do it for the concurrent ruby primitives you're using.
[01:48:22] havenwood: mikhael_k33hl: Have a link to your code?
[01:49:08] mikhael_k33hl: havenwood: https://gist.github.com/marzdgzmn/00c308f2e9cc964f7ff5d8c80e9ed21b
[01:49:47] banisterfiend: has joined #ruby
[01:50:27] havenwood: mikhael_k33hl: It looks like the auto_terminate option for FixedThreadPool is true by default.
[01:51:28] memo1: has joined #ruby
[01:51:46] havenwood: mikhael_k33hl: Have you tried?: auto_terminate: false
[01:52:04] havenwood: Or can you not set that for other reasons?
[01:53:04] mikhael_k33hl: havenwood: tried adding that, let me look closely, something isn't right though
[01:53:41] amar: has joined #ruby
[01:53:58] zautomata1: has joined #ruby
[01:55:17] mikhael_k33hl: havenwood: Oh yeah, tried adding that, still exits though
[01:56:07] mikhael_k33hl: havenwood: can you suggest any other gem where I can create threads and run jobs asynchronously and then collect the results of those jobs afterwards?
[01:56:10] havenwood: mikhael_k33hl: https://github.com/ruby-concurrency/concurrent-ruby/blob/dcff3c1969113270ba1659d7fa5fcd7bba588273/lib/concurrent/executor/ruby_executor_service.rb#L27-L46
[01:56:25] karapetyan: has joined #ruby
[01:58:33] mikhael_k33hl: havenwood: hmmm, that methods seem to be invoked when the appp exits
[01:58:44] yxhuvud: has joined #ruby
[01:58:46] dinfuehr: has joined #ruby
[01:58:53] havenwood: mikhael_k33hl: shutdown should be what you want, right? but not kill.
[01:59:29] cluelessnewbie: Any downside to using a service like PiazaCloud, or is there a better one? I used the Railsinstaller, but it has Ruby 2.33 and Rails 5.1. My goal here is to create teaching websits with an interactive test engine that tracks and adjusts material to what the person in learning.
[02:00:05] mikhael_k33hl: havenwood: yup, but what I need is for my app to not exit before all threads finish their job
[02:00:53] cagomez: has joined #ruby
[02:04:21] havenwood: mikhael_k33hl: do you need a reaper to remove dead threads? or are you sure you're threads will stay alive?
[02:06:01] anisha: has joined #ruby
[02:07:54] mikhael_k33hl: havenwood: Okay so basically, what my script/app needs is to run rsync to different upstreams, there will be a `n` number of rsync so I want to run the processes concurrently in a maximum of 10 threads
[02:08:06] ramfjord: has joined #ruby
[02:08:32] mikhael_k33hl: havenwood: So I got a pool of threads(10), with queue size of 20. I want my app to exit and generate a report about the rsync processes when they are all done.
[02:08:55] tolerablyjake: has joined #ruby
[02:09:15] mikhael_k33hl: havenwood: to answer the question, I need the threads to stay alive. When no more jobs are in queue, and all jobs are done, then the script can exit. :)
[02:11:58] mikhael_k33hl: havenwood: maybe I should just use sleep and read scheduled_task_count on the pool and wait till it gets 0 before exiting. hmmm
[02:16:21] erlend: has joined #ruby
[02:17:12] n0m4d1c_: has joined #ruby
[02:24:38] alfiemax: has joined #ruby
[02:27:45] mikhael_k33hl: Oh, I don't think i'tll work though hehe
[02:32:02] havenwood: mikhael_k33hl: Here's a custom thread pool for ya: https://gist.github.com/havenwood/93df890b1991aedb3164885e1b767429
[02:32:24] cats: has joined #ruby
[02:32:25] Miron: has joined #ruby
[02:33:35] havenwood: mikhael_k33hl: You might look at the Puma thread pool for ideas: https://github.com/puma/puma/blob/master/lib/puma/thread_pool.rb
[02:33:38] mikhael_k33hl: havenwood: thanks mate, I'll look into it, not that familiar with threads and how to work with them in ruby . . .
[02:34:23] havenwood: mikhael_k33hl: Try that example gist ^ I wrote.
[02:35:11] mikhael_k33hl: havenwood: Yeah, I will. Can you direct me to any article/blogs/reference abou threads in general or ruby thread handling?
[02:35:14] havenwood: mikhael_k33hl: Its just an Array of ten Threads that are looping to call the next lambda in a Queue.
[02:35:52] havenwood: mikhael_k33hl: I like the JRuby threading advice: https://github.com/jruby/jruby/wiki/Concurrency-in-jruby#concurrency_basics
[02:36:10] havenwood: mikhael_k33hl: Jesse Storimer has a short, very digestible book on Threads that I'd recommend.
[02:36:16] mikhael_k33hl: havenwood: I all boils down to java hehe
[02:36:34] havenwood: mikhael_k33hl: Well, the JRuby rules are the same for every platform.
[02:36:38] havenwood: 1. Don't do it.
[02:36:48] havenwood: 2. If you must use threads, don't share data.
[02:37:18] cagomez: has joined #ruby
[02:37:21] mikhael_k33hl: havenwood: I'd like to pick your brain on this. If it is advised not to use threads, what are the alternatives?
[02:37:44] mikhael_k33hl: havenwood: Like when running a number of rsync processes
[02:37:50] havenwood: mikhael_k33hl: Here's the storimer book: https://www.jstorimer.com/products/working-with-ruby-threads
[02:38:11] havenwood: mikhael_k33hl: speaking of which, here's the storimer book on processes as well: https://www.jstorimer.com/products/working-with-unix-processes
[02:38:45] havenwood: mikhael_k33hl: In your case, where you're not sharing data, threads don't seem so bad to me.
[02:38:58] havenwood: mikhael_k33hl: I am curious why you want the limitation of 10 rsync processes at once?
[02:39:40] mikhael_k33hl: havenwood: I'm starting off with 10, but I'll increae it depending on how much the system can handle I/O operations
[02:40:07] havenwood: mikhael_k33hl: This is an aside to your Ruby question, but you might consider using parallel with rsync.
[02:40:28] mikhael_k33hl: havenwood: parallel with rsync?
[02:41:28] havenwood: mikhael_k33hl: Are you familiar with the `parallel` command? It can be handy.
[02:41:52] havenwood: mikhael_k33hl: Here's one writeup on parallel: https://www.usenix.org/system/files/login/articles/105438-Tange.pdf
[02:42:08] havenwood: I wonder if there's a parsync equivalent in ruby?
[02:42:24] mikhael_k33hl: havenwood: Not really, I'll take a look at that too. Gee, this project just got exciting haha
[02:43:08] Asher: has joined #ruby
[02:43:15] havenwood: mikhael_k33hl: https://github.com/hjmangalam/parsyncfp
[02:43:55] havenwood: mikhael_k33hl: Running to dinner, but if you want to talk options later it's interesting to me.
[02:44:24] mikhael_k33hl: havenwood: I would love to
[02:44:38] mikhael_k33hl: havenwood: okay man, thanks, see you later, enjoy your dinner
[02:54:39] hfp_work: has joined #ruby
[03:00:13] cadillac_: has joined #ruby
[03:14:06] ramfjord: has joined #ruby
[03:15:53] orbyt_: has joined #ruby
[03:17:49] jamesaxl: has joined #ruby
[03:22:08] memo1: has joined #ruby
[03:24:26] cluelessnewbie: has left #ruby: ()
[03:28:35] alfiemax: has joined #ruby
[03:32:26] anisha: has joined #ruby
[03:39:02] kapil___: has joined #ruby
[03:39:06] kapil___: I want to search content between:
[03:39:53] kapil___: i wrote : `s = datastream.scan(/(\# Part3A(.|\n)*\# Part3A)/).last` but it includes extra space in result
[03:41:11] kapil___: if second # Part3A has prefix spaces
[03:43:50] arescorpio: has joined #ruby
[03:57:13] jenrzzz: has joined #ruby
[03:58:17] jnollette: has joined #ruby
[04:02:28] zautomata2: has joined #ruby
[04:03:25] cbyrda: has joined #ruby
[04:03:29] alfiemax: has joined #ruby
[04:14:53] johnny56: has joined #ruby
[04:25:02] erlend: has joined #ruby
[04:26:21] guacamole: has joined #ruby
[04:26:21] guacamole: has joined #ruby
[04:31:22] Asher: has joined #ruby
[04:34:49] halt: has joined #ruby
[04:37:52] nickjj_: has joined #ruby
[04:43:15] guacamole: has joined #ruby
[04:43:15] guacamole: has joined #ruby
[04:45:02] Hobbyboy: has joined #ruby
[04:46:21] karapetyan: has joined #ruby
[04:47:01] minimalism: has joined #ruby
[04:48:32] alfiemax: has joined #ruby
[04:55:05] phaul: has joined #ruby
[04:59:15] ur5us: has joined #ruby
[04:59:50] hkais: has joined #ruby
[05:03:13] reber: has joined #ruby
[05:10:51] sauvin: has joined #ruby
[05:25:12] alfiemax: has joined #ruby
[05:37:56] psychicist__: has joined #ruby
[05:37:56] KeyJoo: has joined #ruby
[05:38:37] sidx64: has joined #ruby
[05:38:49] n008f4g_: has joined #ruby
[05:39:06] KeyJoo: has joined #ruby
[05:50:37] guacamole: has joined #ruby
[05:51:31] Xiti: has joined #ruby
[05:56:22] aufi: has joined #ruby
[05:59:10] ragingmonkey: has joined #ruby
[06:11:49] phaul: has joined #ruby
[06:12:50] mtkd: has joined #ruby
[06:20:58] DoubleMalt: has joined #ruby
[06:25:19] phaul: has joined #ruby
[06:30:23] anisha: has joined #ruby
[06:33:20] govg: has joined #ruby
[06:35:47] devyn: has joined #ruby
[06:41:15] andikr: has joined #ruby
[06:43:00] Deesl: has joined #ruby
[06:48:02] venmx: has joined #ruby
[06:56:40] minimalism: has joined #ruby
[07:04:37] hkais: has joined #ruby
[07:04:52] m4rCsi_: has joined #ruby
[07:05:30] modin: has joined #ruby
[07:05:33] jinie: has joined #ruby
[07:05:39] drale2k: has joined #ruby
[07:07:06] mlehrer: has joined #ruby
[07:13:00] clemens3: has joined #ruby
[07:14:06] phaul: has joined #ruby
[07:15:10] alfiemax: has joined #ruby
[07:15:45] sidx64: has joined #ruby
[07:17:34] tAn: has joined #ruby
[07:19:12] venmx: has joined #ruby
[07:21:19] TomyWork: has joined #ruby
[07:26:03] alfiemax: has joined #ruby
[07:28:27] jenrzzz: has joined #ruby
[07:28:27] jenrzzz: has joined #ruby
[07:28:36] schneider: has joined #ruby
[07:35:16] karapetyan: has joined #ruby
[07:35:21] moei: has joined #ruby
[07:35:31] dionysus69: has joined #ruby
[07:39:06] qba73: has joined #ruby
[07:40:30] qba73: has joined #ruby
[07:43:03] claudiuinberlin: has joined #ruby
[07:46:39] yohji: has joined #ruby
[07:49:07] the_drow: has joined #ruby
[07:53:51] rabajaj: has joined #ruby
[07:58:54] TheBrayn: has joined #ruby
[08:00:34] the_drow_: has joined #ruby
[08:01:00] mikecmpbll: has joined #ruby
[08:11:49] omps: has joined #ruby
[08:12:24] KeyJoo: has joined #ruby
[08:14:31] zapata: has joined #ruby
[08:14:55] tvw: has joined #ruby
[08:19:36] KeyJoo: has joined #ruby
[08:21:25] drale2k_: has joined #ruby
[08:23:40] venmx: has joined #ruby
[08:23:43] Azure: has joined #ruby
[08:24:21] marr: has joined #ruby
[08:25:01] guille-moe: has joined #ruby
[08:27:50] the_drow_: has joined #ruby
[08:30:20] nadir: has joined #ruby
[08:31:31] jenrzzz: has joined #ruby
[08:31:31] jenrzzz: has joined #ruby
[08:33:19] aupadhye: has joined #ruby
[08:34:03] erlend: has joined #ruby
[08:41:44] RougeR: has joined #ruby
[08:41:44] RougeR: has joined #ruby
[08:47:05] Beams: has joined #ruby
[08:47:16] ur5us: has joined #ruby
[08:50:26] rabajaj: has joined #ruby
[08:55:53] amar: has joined #ruby
[08:57:01] roshanavand: has joined #ruby
[09:04:10] morfin60: has joined #ruby
[09:05:46] claudiuinberlin: has joined #ruby
[09:07:38] tomphp: has joined #ruby
[09:14:26] face: has joined #ruby
[09:16:22] ianfleeton: has joined #ruby
[09:17:32] z3uS: has joined #ruby
[09:22:46] dr3wo: has joined #ruby
[09:22:52] z3uS: has joined #ruby
[09:22:54] rabajaj: has joined #ruby
[09:24:53] rahul_bajaj: has joined #ruby
[09:35:34] z3uS: has joined #ruby
[09:38:39] vondruch: has joined #ruby
[09:39:10] vondruch: has joined #ruby
[09:39:31] z3uS: has joined #ruby
[09:47:05] hkais: has joined #ruby
[09:48:07] alfiemax: has joined #ruby
[09:52:06] kapil___: has joined #ruby
[09:54:56] tomphp: has joined #ruby
[09:58:54] z3uS: has joined #ruby
[10:00:12] ur5us: has joined #ruby
[10:07:39] mostlybadfly: has joined #ruby
[10:09:09] karapetyan: has joined #ruby
[10:09:52] ellcs: has joined #ruby
[10:16:23] lele: has joined #ruby
[10:17:48] rahul_bajaj: has joined #ruby
[10:17:56] John_Ivan: has joined #ruby
[10:17:56] John_Ivan: has joined #ruby
[10:19:34] Koopz: has joined #ruby
[10:20:08] Koopz: howdy, got a generic question regarding some experiences with ruby based applications (GitLab, Redmine)
[10:20:44] Koopz: do webservers like Puma have some kind of "hibernation" mode builtin?
[10:21:19] dminuoso: Koopz: what do you mean by "hibernation"
[10:21:35] Koopz: 'cause when we don't use one of those applications for let's say a few hours and request a page, it takes quite a lot of time for a response
[10:22:07] dtzuzu: has joined #ruby
[10:22:22] Koopz: after a few requests the response time is 'normal'
[10:24:08] dminuoso: Koopz: One big factor might be OS level caching/paging.
[10:24:28] dminuoso: If the application is not used, then the entire process memory will graduallly be paged out. Furthermore things like assets will not be cached.
[10:24:39] marr: has joined #ruby
[10:25:17] Koopz: would that lead to 45 seconds of page loading time?
[10:25:32] dminuoso: Koopz: You'll have to run a profiler.
[10:25:52] deathwishdave: has joined #ruby
[10:26:00] dminuoso: Koopz: puma does reduce the number of threads during inactivity, but that should not be observable in normal cases.
[10:26:00] tbuehlmann: Koopz: you're not on heroku then, aren't you?
[10:26:34] dminuoso: Koopz: But there's a whole stack of caches working in the end.
[10:27:04] rabajaj: has joined #ruby
[10:27:15] dminuoso: Koopz: Between DNS caches, caches for assets, your database having everything in memory, disk caches being filled, paged memory being paged in
[10:27:46] dminuoso: Disks spinning up
[10:28:03] dminuoso: That alone can take a good 5-10 seconds. =)
[10:28:35] Koopz: heh HDD disks spinning up will probably not be the problem in our server rack :P
[10:28:59] dminuoso: Koopz: I can only speculate unless you give more details. :p
[10:30:30] schneider: has joined #ruby
[10:33:58] tomphp: has joined #ruby
[10:34:29] Asher: has joined #ruby
[10:40:22] ferr1: has joined #ruby
[10:40:30] ferr1: has left #ruby: ()
[10:42:42] erlend: has joined #ruby
[10:48:11] CrazyEddy: has joined #ruby
[10:49:25] qba73: has joined #ruby
[10:50:17] ciscam: has joined #ruby
[10:52:37] cadillac_: has joined #ruby
[10:58:45] Ryzokuken: has joined #ruby
[10:59:07] apparition: has joined #ruby
[11:00:00] mtkd: has joined #ruby
[11:00:41] Cthulu201: has joined #ruby
[11:03:32] ramfjord: has joined #ruby
[11:07:14] adlerdias: has joined #ruby
[11:11:28] workmad3_: has joined #ruby
[11:14:40] rorymckinley: has joined #ruby
[11:14:49] z3uS: has joined #ruby
[11:15:36] rorymckinley: Can anybody think of a way to do this that does not involve the use of inject: Company.select(:id, :name).inject({}) { |memo, company| memo.merge(company.id => company) }
[11:15:46] rorymckinley: Where Company is an AR model.
[11:16:12] rorymckinley: I like #inject, but I find that it tends to scare people off
[11:16:38] rorymckinley: And a read through Enumerable, Hash and Array apis does nto present me with a cleaner
[11:16:46] rorymckinley: (a quick read at least)
[11:19:41] ellcs: i didnt test it, but it should work like this:
[11:19:41] ellcs: memo = {}
[11:19:41] ellcs: Company.select(:id, :name).each { |company| memo.merge(company.id => company)}; memo
[11:20:09] kurko_: has joined #ruby
[11:22:25] rorymckinley: ellcs, I am going to sound like I am being argumentative (but really I just framed my question poorly - apologies) - can you do it without defining an accumulator var?
[11:22:27] dminuoso: ellcs: Use reduce/inject.
[11:22:56] rorymckinley: I.e. if #map is a higher form of an #inject that transforms
[11:23:05] ellcs: his question was to avoid reduce/inject if i got it right
[11:23:44] rorymckinley: ellcs: yes, i want to avoid inject but I would prefer to not explicitly create memo with each
[11:23:58] rorymckinley: So, something between that and inject - if such a beast exists
[11:24:25] rorymckinley: and by between, I mean ito ability of inexperienced devs to grok the solution
[11:24:28] ellcs: while true; break if foo?; end
[11:30:11] ellcs: i though about it and got no good solution, sorry mate.
[11:30:12] ellcs: if i can make another suggestion: you shouldn't change this line but put it into a seperate method.
[11:30:46] dr3wo: has joined #ruby
[11:33:58] rorymckinley: ellcs: Thanks - good suggestion - allows me to wrap a readable description around it. I am also sure now that if I do love inject too much (is that even possible?) at least I am not alone :P
[11:34:21] dminuoso: rorymckinley: Here's my piece of advice:
[11:34:30] dminuoso: Use inject/reduce, but dont name the memo "memo"
[11:35:13] dminuoso: rorymckinley: how about:
[11:35:23] dminuoso: Company.pluck(:id, :name).to_h
[11:35:58] ellcs: dminuoso: hoolymolly
[11:36:02] ellcs: nice move
[11:36:29] KeyJoo: has joined #ruby
[11:38:08] Cavallari: has joined #ruby
[11:38:21] Bish: somebody explain to me, the following
[11:38:30] Bish: >> puts {}.to_json
[11:38:35] ruby[bot]: Bish: I'm terribly sorry, I could not evaluate your code because of an error: NoMethodError:undefined method `[]' for nil:NilClass
[11:38:40] Bish: >> require 'json';puts {}.to_json
[11:38:46] ruby[bot]: Bish: I'm terribly sorry, I could not evaluate your code because of an error: NoMethodError:undefined method `[]' for nil:NilClass
[11:38:54] Bish: uhm, okay
[11:38:57] suukim: has joined #ruby
[11:39:41] Bish: puts {}.to_json
[11:39:50] Bish: yields "null" for me, and that doesn't make sense for me
[11:40:03] dr3wo: has joined #ruby
[11:40:35] Bish: puts ({}.to_json) does it differently
[11:42:31] Mike11: has joined #ruby
[11:42:42] rorymckinley: dminuoso: Nice! Except that produces `{154=>"Block Inc"}` whereas I need to produce `{154=>#<Company id: 154, name: "Block Inc">}`. If I had a choice, your solution would have been the winner!
[11:45:06] atmosx: has joined #ruby
[11:46:07] ldnunes: has joined #ruby
[11:54:21] AJA4350: has joined #ruby
[11:59:19] mikecmpbll: Bish : ruby thinks you're passing puts a block, unless you use method parentheses
[11:59:40] mikecmpbll: so in that case you're calling .to_json on the return of puts{ };
[11:59:50] mikecmpbll: which is nil, so "null"..
[12:00:35] mikecmpbll: which is nil, so "null"..
[12:01:12] mikecmpbll: oeps, if you pass a hash literal to a method as first arg you must always use parens.
[12:05:25] synthroid: has joined #ruby
[12:08:58] dminuoso: rorymckinley: What do you need that for?
[12:10:39] sepp2k: has joined #ruby
[12:14:04] duderonomy: has joined #ruby
[12:16:32] GodFather: has joined #ruby
[12:17:22] rorymckinley: dminuoso: I am wrapping legacy code in tests in prep for refactoring - so I am bound by the legacy code.... for now.
[12:18:37] rorymckinley: dminuoso, ellcs: Got this from @djellemah - `Company.select(:id, :name).map{|c| [c.id,c]}.to_h`
[12:19:06] dminuoso: rorymckinley: Stick to the fold I say.
[12:20:01] dminuoso: rorymckinley: .inject({}) { |h, r| h[r.id] = r; h}
[12:21:41] rorymckinley: dminuoso: Yeah, i find it easier to read myself (did I mention how much I like #inject?) but my experience (FWIW) has been that less experienced devs seem to be more comfortable with magic such as #to_h than #inject
[12:25:31] amar: has joined #ruby
[12:26:48] GodFather: has joined #ruby
[12:29:20] jamesaxl: has joined #ruby
[12:34:45] zautomata2: has joined #ruby
[12:39:15] jeffreylevesque: has joined #ruby
[12:41:36] shinnya: has joined #ruby
[12:43:49] nichol: has joined #ruby
[12:44:17] alfiemax: has joined #ruby
[12:47:46] mostlybadfly: has joined #ruby
[12:48:42] konsolebox: has joined #ruby
[12:51:27] erlend: has joined #ruby
[12:56:52] Psybur: has joined #ruby
[12:56:56] AJA4351: has joined #ruby
[12:57:59] Dimik---: has joined #ruby
[12:58:21] mtkd: has joined #ruby
[12:58:53] jcalla: has joined #ruby
[12:59:35] ellcs: has joined #ruby
[13:02:54] rorymckinley: has joined #ruby
[13:03:38] ramfjord: has joined #ruby
[13:07:04] inerthia: has joined #ruby
[13:12:41] tAn: has joined #ruby
[13:15:19] nowhereman_: has joined #ruby
[13:16:15] rwb: has joined #ruby
[13:16:34] amelliaa: has joined #ruby
[13:18:17] gigetoo: has joined #ruby
[13:23:32] ianfleeton: has joined #ruby
[13:25:34] Koopz: has left #ruby: ("The Lounge - https://thelounge.github.io")
[13:27:17] tomphp: has joined #ruby
[13:30:48] bmurt: has joined #ruby
[13:44:41] tomphp: has joined #ruby
[13:44:52] grilix_: has joined #ruby
[13:47:06] memo1: has joined #ruby
[13:48:13] oleo: has joined #ruby
[13:52:28] tomphp: has joined #ruby
[13:53:21] pastorinni: has joined #ruby
[14:00:22] Asher: has joined #ruby
[14:02:27] inerthia: has joined #ruby
[14:02:29] mikecmpb_: has joined #ruby
[14:04:48] s2013: has joined #ruby
[14:05:01] ellcs: has joined #ruby
[14:05:08] grilix_: has joined #ruby
[14:11:13] sunrunner20: has joined #ruby
[14:11:44] qba73: has joined #ruby
[14:18:36] synthroid: has joined #ruby
[14:20:47] Rapture: has joined #ruby
[14:21:27] inerthia: has joined #ruby
[14:23:49] Dimik_djan: has joined #ruby
[14:24:46] cadillac_: has joined #ruby
[14:25:08] fyrril2: has joined #ruby
[14:31:39] nichol: has joined #ruby
[14:34:21] sanscoeur: has joined #ruby
[14:34:38] KeyJoo: has joined #ruby
[14:35:03] venmx: has joined #ruby
[14:38:26] Deesl: has joined #ruby
[14:38:51] Kake_: has joined #ruby
[14:39:30] netherwolfe: has joined #ruby
[14:39:54] Kake_: Okay, so I installed MSYS2 and ruby seperately. I did not use the devkit installation. So what can I do now to let them cooperate when doing bundle install?
[14:40:44] chouhoulis: has joined #ruby
[14:45:22] bmurt: has joined #ruby
[14:46:59] vovs03: has joined #ruby
[14:47:35] havenwood: Kake_: Is `bundle` failing? What's the error message?
[14:48:16] Kake_: Error in installing http_parser.rb, but I think it's basically that it can't find the program "make"
[14:48:55] havenwood: Kake_: Mmm, yeah, you'll need make to build C extensions, etc. I'd suggest the WSL, if you're on a modern Windows.
[14:49:07] havenwood: Kake_: https://docs.microsoft.com/en-us/windows/wsl/install-win10
[14:49:44] Kake_: Oh, didn't know about that feature. Thanks for the suggestion :)
[14:50:38] grilix_: has joined #ruby
[14:54:11] KeyJoo: has joined #ruby
[14:54:21] kapil___: has joined #ruby
[14:57:39] troulouliou_div2: has joined #ruby
[14:58:13] cam27: has joined #ruby
[14:58:58] SeepingN: has joined #ruby
[14:59:07] zleap: has joined #ruby
[15:00:13] erlend: has joined #ruby
[15:03:49] ramfjord: has joined #ruby
[15:03:54] mtkd: has joined #ruby
[15:04:07] Zaab1t: has joined #ruby
[15:08:11] bmurt: has joined #ruby
[15:08:50] Antiarc: has joined #ruby
[15:09:03] cyberg: has joined #ruby
[15:11:46] nichol: has joined #ruby
[15:11:58] ltt: has joined #ruby
[15:16:07] dr3wo: has joined #ruby
[15:16:54] rabajaj: has joined #ruby
[15:20:20] ramfjord: has joined #ruby
[15:22:33] unreal_: has joined #ruby
[15:22:47] hays_: has joined #ruby
[15:22:47] hays_: has joined #ruby
[15:23:17] amar: has joined #ruby
[15:23:44] amar: has joined #ruby
[15:25:39] orbyt_: has joined #ruby
[15:28:09] John_Ivan: has joined #ruby
[15:28:10] John_Ivan: has joined #ruby
[15:28:19] alfiemax: has joined #ruby
[15:28:29] hays_: has joined #ruby
[15:28:30] hays_: has joined #ruby
[15:31:22] alfiemax_: has joined #ruby
[15:32:49] RougeR: has joined #ruby
[15:32:49] RougeR: has joined #ruby
[15:35:32] lelliott: has joined #ruby
[15:40:03] SteenJobs: has joined #ruby
[15:44:00] ltt: has joined #ruby
[15:44:18] raynold: has joined #ruby
[15:48:05] [Butch]: has joined #ruby
[15:51:23] mtkd: has joined #ruby
[15:51:54] dviola: has joined #ruby
[15:52:42] jcarl43: has joined #ruby
[15:55:46] lelliott: has joined #ruby
[15:58:51] Asher: has joined #ruby
[16:00:54] Dimik---: has joined #ruby
[16:04:10] karapetyan: has joined #ruby
[16:04:14] nichol: has joined #ruby
[16:04:23] rabajaj: has joined #ruby
[16:07:54] cagomez: has joined #ruby
[16:08:55] rahul_bajaj: has joined #ruby
[16:09:02] inerthia: has joined #ruby
[16:10:22] cthulchu: has joined #ruby
[16:11:00] venmx: has joined #ruby
[16:11:20] Lyubo1: has joined #ruby
[16:11:43] ltt: has joined #ruby
[16:11:59] bmurt: has joined #ruby
[16:13:13] amar: has joined #ruby
[16:13:27] stormpack: has joined #ruby
[16:15:13] amar: has joined #ruby
[16:17:00] amar: has joined #ruby
[16:20:26] h00d: has joined #ruby
[16:23:15] burgestrand: has joined #ruby
[16:32:36] Deesl: has joined #ruby
[16:33:23] troys: has joined #ruby
[16:34:16] orbyt_: has joined #ruby
[16:37:33] eckhardt: has joined #ruby
[16:37:49] memo1: has joined #ruby
[16:38:46] Dimik---: has joined #ruby
[16:41:36] fyrril: has joined #ruby
[16:43:02] stormpack_: has joined #ruby
[16:43:50] mtkd: has joined #ruby
[16:44:47] drona6: has joined #ruby
[16:44:56] Eiam: has joined #ruby
[16:50:16] \void: has joined #ruby
[16:51:14] Mia: has joined #ruby
[16:51:14] Mia: has joined #ruby
[16:52:16] cschneid_: has joined #ruby
[16:53:01] dionysus69: has joined #ruby
[16:54:36] pilne: has joined #ruby
[16:56:04] govg: has joined #ruby
[16:57:18] orbyt_: I have a json file that is structured like the following: https://pastebin.com/H5V9fU74
[16:57:19] ruby[bot]: orbyt_: we in #ruby do not like pastebin.com, it loads slowly for most, has ads which are distracting and has terrible formatting. Please use https://gist.github.com
[16:58:00] orbyt_: I only care about the "question" items and their corresponding answers
[16:58:19] orbyt_: everything else can be ignored. What's the best way to extract that data?
[16:58:50] SeepingN: has joined #ruby
[17:02:16] Mia: has joined #ruby
[17:02:16] Mia: has joined #ruby
[17:03:58] cadillac_: has joined #ruby
[17:05:20] karapetyan: has joined #ruby
[17:06:00] Cavallari: has joined #ruby
[17:08:52] erlend: has joined #ruby
[17:10:06] c0ncealed1: has joined #ruby
[17:11:01] harrycs: has joined #ruby
[17:14:31] kurko_: has joined #ruby
[17:18:37] jamesaxl: has joined #ruby
[17:19:47] alfiemax: has joined #ruby
[17:20:58] n0m4d1c: has joined #ruby
[17:21:00] jenrzzz: has joined #ruby
[17:21:15] tAn: has joined #ruby
[17:21:17] mroutis: has joined #ruby
[17:24:08] cagomez: has joined #ruby
[17:27:12] nichol: has joined #ruby
[17:30:22] Mia: has joined #ruby
[17:30:22] Mia: has joined #ruby
[17:31:39] n0m4d1c: has joined #ruby
[17:34:53] SteenJobs: has joined #ruby
[17:39:05] imode: has joined #ruby
[17:39:57] alfiemax: has joined #ruby
[17:42:35] mtkd: has joined #ruby
[17:44:51] harrycs: I attended a talk about how to prepare for senior eng jobs. My favorite piece of advice: "Having a strong technical opinion of a technology is important. If you haven't worked with something the company uses, search for that tech on HN during your interview prep, find the top post, and sort comments by controversial. Act like the most controversial comment is your opinion."
[17:45:17] amar: has joined #ruby
[17:50:30] Dimik---: has joined #ruby
[17:53:07] dr3wo: has joined #ruby
[17:56:48] jenrzzz: has joined #ruby
[17:56:48] jenrzzz: has joined #ruby
[17:57:37] n0m4d1c_: has joined #ruby
[17:59:39] n0m4d1c: has joined #ruby
[18:01:03] alex``: has joined #ruby
[18:03:22] shwouchk: has joined #ruby
[18:04:26] mojca: has joined #ruby
[18:05:11] mojca: can someone please explain me how to install a non-packaged software with gem? https://github.com/asciidoctor/docbookrx#installing-the-development-version
[18:05:37] mojca: I only get it installed in current directory, but I would like to install it to wherever other gems are ("system-wide")
[18:05:45] dr3wo: has joined #ruby
[18:06:27] mojca: gem install docbookrx doesn't work because it's not in repository
[18:07:36] sameerynho: has joined #ruby
[18:08:19] Mia: has joined #ruby
[18:10:19] sidx64: has joined #ruby
[18:10:37] baweaver: harrycs: that's kinda horrible advice
[18:10:59] xt233: has joined #ruby
[18:11:27] baweaver: Strong opinions loosely founded are terrible ideas
[18:12:25] baweaver: That's how we get things like "Dynamic typing is the root of all evil", "Everything needs to run on Docker", "Javascript is a toy language", and other such things
[18:12:45] inerthia: has joined #ruby
[18:13:01] baweaver: No one can enumerate _why_ exactly, but they're bent on sounding intelligent and regurgitating whatever the community byline is to do so
[18:13:37] sidx64_: has joined #ruby
[18:13:57] mroutis: > "Everything needs to run on Docker" (huge mistake)
[18:16:52] alfiemax: has joined #ruby
[18:17:01] eam: I'm about to tell everyone they have to run everything on docker today
[18:17:10] eam: it's probably fine
[18:19:51] Eiam: I'm literally installing stuff into docker containers right now
[18:20:07] Eiam: I tried to use them years ago and itw as so much pain I stopped. Giving it another whirl
[18:21:04] Eiam: baweaver: all fair except that bit about javascript. it is a dumb language. ;)
[18:21:32] mroutis: eam: I was a strong advocate of the "use Docker everywhere" mantra, but it is not that simple
[18:21:48] Eiam: but thats from years of experience writing it daily! grounding in frustration of "I wish I was just using Ruby"
[18:22:06] Quentinius: has joined #ruby
[18:22:10] baweaver: To be fair we have reasons for it (docker)
[18:22:17] bmurt: has joined #ruby
[18:22:27] baweaver: ACTION actually likes Javascript
[18:24:06] mroutis: baweaver: can you draft your reasons quickly? I'm about to deprecate Docker where I work, in favour of a better understanding of a Ruby / Rails userland
[18:24:23] eam: in my case I'm talking about lifting an existing deployment system into it so the encapsulation of all the deployed apps is desirable (and a step towards kubernetes)
[18:25:18] baweaver: eam could enumerate it far better considering he's the one doing it here
[18:25:33] mroutis: have you thought on the naunces of dealing with several instances of an application?
[18:25:34] baweaver: we also have a multi-lang env
[18:25:41] BTRE: has joined #ruby
[18:25:58] baweaver: At $PREVIOUS_WORK, yes.
[18:26:07] baweaver: Now I'm a FE engineer :D
[18:26:07] pastorinni: has joined #ruby
[18:27:13] Eiam: mroutis: I do it because the OS I'm running changes daily so stability in my dev environment and the ability to move it across configs rapidly is important
[18:27:56] mr-robert: baweaver: you use javascript now?
[18:27:57] Quentinius: has joined #ruby
[18:28:07] baweaver: Javascript and Ruby primarily.
[18:28:22] mikecmpbll: has joined #ruby
[18:28:25] Eiam: mroutis: plus if I'm writing code meant to deploy on say Heroku but I'm running it on macOS, I'm not even building it on what would be production. Also if I'm working on 3 projects at once and each needs postgresql, setting up a single instance inside macOS wouldn't be wise, as they'd all be the same configuration but not each app would be the same. Slapping them in a container allows them to be isolated
[18:28:53] jamesaxl: has joined #ruby
[18:28:54] harrycs: baweaver: oh I know it's silly advice. I thought it was interesting though! Honestly it seems like a decent way to enter into the shit flinging wars of any new tech you come across, if nothing else.
[18:29:10] baweaver: Most of my thing is think of why you have opinions, not necessarily that it's wrong
[18:29:21] baweaver: I tend to call it Google Culting
[18:29:33] Eiam: baweaver: if you can keep js purely functional and contained, yeah... I've found that to be incredibly difficult when you step into web space
[18:29:42] harrycs: Meaning... seeing what sort of things people invested in an unfamiliar tech meme and shitpost about can give you valuable cues on what sort of things to start diving into to understand that tech.
[18:29:53] harrycs: I just really hate JS. I have no logical reason.
[18:29:57] Eiam: baweaver: some friends have suggestd I treat javascript like we treat asm, a compile to target, and that I instead look at typescript or elm and totally ignore js
[18:29:57] baweaver: Eh, I just have to keep it mostly functional
[18:30:12] baweaver: ES6 is a lot better honestly
[18:30:25] baweaver: Typescript feels like it's not completely necessary for most apps.
[18:30:42] baweaver: I've rarely had legit type issues that weren't self-inflicted from lack of testing or docs
[18:30:54] havenwood: What is it this year, ES9?
[18:31:19] baweaver: they started using yearly
[18:31:22] havenwood: ah, right - they switched to the year - that's nicer
[18:31:40] mroutis: Eiam: that's quite a good excuse, but for me and my team it brought a lot of a hassle...
[18:31:43] ramfjord: has joined #ruby
[18:32:02] harrycs: baweaver: the thing about type issues and JS to me is basically... like, you're forced into it. For example, you can make a choice to develop in something besides Ruby is typing is a concern you see beforehand. However, there's no real alternative to JS, so you're kind of screwed if the project would be easier in a strongly typed system
[18:32:24] mr-robert: no alternative to JS?
[18:32:28] mr-robert: there's tons
[18:32:31] mroutis: eam: I don't understand what's the benefit of isolating a database in development
[18:32:32] karapetyan: has joined #ruby
[18:32:44] havenwood: raw webassembly! it kinda looks like a lisp
[18:32:48] harrycs: Well yeah I mean there's typescript, elm, etc
[18:32:51] Eiam: mroutis: more than one app needs the same database.. why wouldn't you want to isolate that?
[18:33:00] harrycs: havenwood: that is definitely a reason i'm excited to see how webasm develops!
[18:33:03] baweaver: In all the years I've used JS I've never had an issue that was purely type inflicted
[18:33:12] baweaver: Same with Ruby.
[18:33:54] havenwood: Trivia question - anyone recognize where this is from?
[18:33:56] havenwood: "If you want a language for easy object-oriented programming, or you don't like the Perl ugliness, or you do like the concept of LISP, but don't like too many parentheses, Ruby might be your language of choice."
[18:33:58] harrycs: I've had situations that weak typing gave me a headache with Ruby. Nothing that testing couldn't handle, but that's extra code vs strongly typed
[18:34:14] havenwood: harrycs: Ruby isn't weakly typed though. ¯\_(ツ)_/¯
[18:34:20] havenwood: harrycs: Ruby is strongly typed.
[18:35:25] baweaver: I don't mind static typing like Scala, where a lot of it can be implied
[18:35:44] harrycs: ducktyping**
[18:35:49] havenwood: harrycs: You mean dynamic versus static type?
[18:35:58] baweaver: Java it just gets tedious
[18:36:10] eam: mroutis: the benefit is providing a structured way to deploy units of code
[18:36:10] harrycs: Yes, I'm being a headass havenwood
[18:36:27] mr-robert: Crystal is too like rubinius. not ready for production yet imo.
[18:36:38] havenwood: Trivia answer: man ruby
[18:36:47] eam: how do you deploy X? How do you update X? ideally, you're using the same artifacts
[18:37:28] eam: the two primary features that are important is the filesystem isolation, which lets you add and remove a service without worrying about mutable state left scattered around the system
[18:37:29] claudiuinberlin: has joined #ruby
[18:37:50] eam: and network isolation, which lets you have multiple things listen on the same port if you wish, or do smart things with routing access to them
[18:38:13] baweaver: Yep, which is definitely a concern when you have multiple apps
[18:38:14] mroutis: Eiam: I'm containing myself of creating a wall of text drafting my experience with Docker; it is a cool technology, however, I will advice to learn a lot about what you are putting in a container before containerizing it
[18:38:21] baweaver: but when you have one? Might not quite be a great idea
[18:39:08] eam: the best way to view containers is an outgrowth of packaging systems
[18:39:15] havenwood: FreeBSD jails!
[18:39:23] cliluw: has joined #ruby
[18:40:07] eam: chroot() has been a thing since the 1970s, linux namespaces are simply a more well-reasoned solution which covers other kernel subsystems
[18:40:08] havenwood: i've never actually used a solaris zone
[18:40:23] eam: the classic bind(0) problem
[18:40:35] chongtxtx: has joined #ruby
[18:40:45] eam: I have very basic solaris experience
[18:42:07] Janky: has joined #ruby
[18:43:10] mroutis: eam: the ones developing the application should have some knowledge of those key points
[18:43:20] chongtxtx: ahh good ole Solaris haven't used it since Solaris 10 2007ish
[18:44:00] mroutis: I've been in situations where devs take wrong assumptions or simply ignore the production environment
[18:45:11] mroutis: containers won't fix broken developers, I was hopping for that
[18:46:58] tAn: has joined #ruby
[18:50:37] mtkd: has joined #ruby
[18:50:47] Eiam: mroutis: I'm not sure what you are counseling exactly. The containers are there to mirror the production environment. My app is not run on macOS 10.13.4, its run on Ubuntu LTS. Making my container reflect that reality is important for development.
[18:50:49] cajone: has joined #ruby
[18:51:31] redlegion: has joined #ruby
[18:52:50] mroutis: what are the main differences you are worried about between macOS and Ubuntu LTS?
[18:52:55] rabajaj: has joined #ruby
[18:53:09] Eiam: uhm, the threading model is totally different
[18:53:12] Eiam: kerberos is different
[18:54:09] MrPunkin: has joined #ruby
[18:54:35] sent-hil: has joined #ruby
[18:54:48] MrPunkin: So I know we can use str % arg for string interpolation, but is there a way with the same format string to pull the data back out into a hash?
[18:55:41] MrPunkin: so say I do “foo = %{foo}” % {:foo => ‘bar’} … any way to then get {:foo => ‘bar’} back from “foo = foo” using the same format template?
[18:57:05] mroutis: Eiam: like, significantly different? have you encountered issues that are related specifically to the operative system in use?
[18:57:24] Eiam: mroutis: libpthreads and libdispatch are significantly different
[18:57:34] Eiam: hell dates are different between macos & linux
[18:57:46] Eiam: mroutis: of course...
[18:58:10] eam: mroutis: containers can provide fences around developer misbehavior
[18:58:30] kurko_: has joined #ruby
[19:00:26] eam: I was gonna say osx doesn't have clock_gettime but I think they recently added it
[19:00:44] eam: like in the last year or so
[19:01:18] eam: that one always particularly annoyed me, as there was no way to get high resolution time from any standard interface
[19:02:17] jenrzzz: has joined #ruby
[19:02:17] jenrzzz: has joined #ruby
[19:03:00] mroutis: well, I guess it's true eam, Eiam, there are a couple of difference, however, I'm biased with working only with web development, using Ruby on Rails, where abstractions are so high that the developers just doesn't care about dealing with those kind of things
[19:03:56] mroutis: if I'm doing system calls or relying on specific libraries as the ones you said, I'd probably want that level of consistancy
[19:04:35] eam: your modules always are depending on those things. It's a numbers game whether you encounter issues with them or not
[19:04:54] eam: the larger your dev team and codebase the more likely you will
[19:05:21] eam: probably the #1 thing a high level developer will notice is how incredibly slow `grep` is on osx :D
[19:07:29] mroutis: that's right, eam, a different implementation of sed instead of the common gnu one,
[19:07:37] tvw: has joined #ruby
[19:10:17] Eiam: super old bash too
[19:10:35] Eiam: mroutis: even in the web stack, having your backend treat dates differently can bite you (its done so for me)
[19:10:57] mroutis: yeah, I guess it was just my frustration with taking the bullet in those situations when no one cared about the production environment... I thought Docker is favouring/nurishing that kind of approach (where you just don't care)
[19:11:25] Eiam: I see docker as being about favoring the production environment
[19:11:25] mroutis: I don't know if it was because of me, trying to babysit my coworkers
[19:11:40] harrycs: There's really no gem for easily faking user agent in an open-uri request...? weird!
[19:12:04] Eiam: harrycs: because you can add it yourself?
[19:12:21] harrycs: well, yes, it's really easy. Which makes it more surprisingly that there's not a gem for it. Idk.
[19:12:23] Eiam: {"User-Agent"=>"Blah"}
[19:12:41] Eiam: why would you need a gem for whats literally supported in the header parameter already?
[19:12:56] cagomez: has joined #ruby
[19:13:05] harrycs: Well, I'm surprised there's not a gem for easily building the useragent. Like, {'User-Agent' => HeaderGem.for :chrome} or something
[19:14:31] Eiam: harrycs: https://github.com/gshutler/useragent ?
[19:15:13] karapetyan: has joined #ruby
[19:15:18] Eiam: here are the structs -- https://github.com/tj/user-agent/blob/master/lib/user-agent/agent.rb
[19:16:09] harrycs: Eiam: i was thinking basically the opposite, creating the string through passing arguments rather than parsing an existing string. I'll check it out though.
[19:16:30] Eiam: just enumerate every case to build the strings
[19:16:37] Eiam: then slap those strings into your object =)
[19:16:52] Eiam: or just parse this -- http://www.useragentstring.com/pages/useragentstring.php?name=All
[19:17:31] harrycs: Thanks, I'll check those out!
[19:17:32] Eiam: some simple javascript on the page will pull out the header and child string that you can dump to json then marshal in to an object in short order
[19:17:35] erlend: has joined #ruby
[19:17:45] lelliott: has joined #ruby
[19:18:32] havenwood: https://raw.githubusercontent.com/nlf/browser-agents/master/browsers.json
[19:18:49] Eiam: oo there ya go. knew it felt like a solved problem
[19:19:51] harrycs: Eiam havenwood: thanks for the resource
[19:20:43] cyberg: has joined #ruby
[19:23:25] jenrzzz: has joined #ruby
[19:23:25] jenrzzz: has joined #ruby
[19:24:01] Mikasi: has joined #ruby
[19:24:13] jamesaxl: has joined #ruby
[19:28:25] duderonomy: has joined #ruby
[19:28:54] karapetyan: has joined #ruby
[19:30:30] kurko__: has joined #ruby
[19:31:09] chouhoul_: has joined #ruby
[19:32:21] synthroid: has joined #ruby
[19:35:21] cagomez: has joined #ruby
[19:35:27] alfiemax: has joined #ruby
[19:40:03] memo1: has joined #ruby
[19:40:14] tdy: has joined #ruby
[19:45:14] eckhardt: has joined #ruby
[19:45:56] atchoum: has joined #ruby
[19:50:30] Miron: has joined #ruby
[19:51:09] cagomez: has joined #ruby
[19:58:30] n008f4g_: has joined #ruby
[20:00:32] tAn: has joined #ruby
[20:02:18] k0mpa: has joined #ruby
[20:04:09] chouhoulis: has joined #ruby
[20:07:09] quobo: has joined #ruby
[20:07:51] pastorinni: has joined #ruby
[20:08:57] Bonjourm8: has joined #ruby
[20:10:50] inerthia: has joined #ruby
[20:13:50] clemens3: has joined #ruby
[20:14:23] cagomez: has joined #ruby
[20:15:32] kapil___: has joined #ruby
[20:15:49] dr3wo: has joined #ruby
[20:16:06] Bonjourm8: has joined #ruby
[20:18:29] howdybud54: has joined #ruby
[20:19:28] mluts: has joined #ruby
[20:19:45] Bonjourm8: has joined #ruby
[20:21:31] karapetyan: has joined #ruby
[20:22:28] eckhardt: has joined #ruby
[20:24:02] workmad3: has joined #ruby
[20:34:46] memo1: has joined #ruby
[20:36:40] SteenJobs: has joined #ruby
[20:41:17] dr3w__: has joined #ruby
[20:41:41] SteenJobs: has joined #ruby
[20:42:55] bmurt: has joined #ruby
[20:44:55] mojca: has joined #ruby
[20:44:55] mojca: has joined #ruby
[20:45:38] tomphp: has joined #ruby
[20:46:17] wnd: has joined #ruby
[20:46:28] pastorinni: has joined #ruby
[20:50:03] amar: has joined #ruby
[20:51:44] pastorinni: has joined #ruby
[20:54:13] Dimik---: has joined #ruby
[20:55:49] SteenJobs: has joined #ruby
[20:57:09] jenrzzz: has joined #ruby
[21:00:59] John_Ivan: has joined #ruby
[21:01:00] John_Ivan: has joined #ruby
[21:03:10] mtkd: has joined #ruby
[21:03:18] SteenJobs: has joined #ruby
[21:05:46] guacamole: has joined #ruby
[21:05:46] guacamole: has joined #ruby
[21:09:47] ramfjord: has joined #ruby
[21:10:03] mroutis: has joined #ruby
[21:11:08] tdy: has joined #ruby
[21:13:30] tAn: has joined #ruby
[21:13:48] bmurt: has joined #ruby
[21:14:57] rwb: has joined #ruby
[21:20:17] n0m4d1c: has joined #ruby
[21:22:36] John_Ivan: has joined #ruby
[21:22:36] John_Ivan: has joined #ruby
[21:25:29] eckhardt: has joined #ruby
[21:28:03] Dimik---: has joined #ruby
[21:28:07] harrycs: has joined #ruby
[21:29:32] n0m4d1c: has joined #ruby
[21:32:05] mroutis: has joined #ruby
[21:35:26] tAn: has joined #ruby
[21:36:24] alfiemax: has joined #ruby
[21:37:30] tAn: has joined #ruby
[21:41:20] cats: has joined #ruby
[21:41:45] amar: has joined #ruby
[21:45:10] mkaito: has joined #ruby
[21:45:10] mkaito: has joined #ruby
[21:52:46] rwb: has joined #ruby
[21:53:42] venmx: has joined #ruby
[21:59:09] eckhardt: has joined #ruby
[22:03:23] unreal: has joined #ruby
[22:08:37] chouhoul_: has joined #ruby
[22:09:06] ramfjord: has joined #ruby
[22:09:42] ur5us: has joined #ruby
[22:11:14] mostly-harmless: has joined #ruby
[22:13:29] memo1: has joined #ruby
[22:19:13] EagleEye: has joined #ruby
[22:23:19] workmad3: has joined #ruby
[22:29:36] dr3wo: has joined #ruby
[22:30:53] ciscam: has joined #ruby
[22:31:14] guacamole: has joined #ruby
[22:31:14] guacamole: has joined #ruby
[22:37:49] jeffreylevesque: has joined #ruby
[22:49:17] dr3wo: has joined #ruby
[22:49:29] guacamole: has joined #ruby
[22:49:30] guacamole: has joined #ruby
[22:57:29] guacamole: has joined #ruby
[22:57:29] guacamole: has joined #ruby
[22:57:52] dr3wo: has joined #ruby
[23:02:20] jenrzzz: has joined #ruby
[23:02:20] jenrzzz: has joined #ruby
[23:13:35] cagomez: has joined #ruby
[23:16:03] ledestin: has joined #ruby
[23:18:45] skweek: has joined #ruby
[23:22:19] cagomez: has joined #ruby
[23:23:25] Kake_Fisk: has joined #ruby
[23:27:51] haylon: has joined #ruby
[23:32:25] EagleEye: has left #ruby: ()
[23:34:28] erlend: has joined #ruby
[23:37:00] AndBobsYourUncle: has joined #ruby
[23:42:50] zapata_: has joined #ruby
[23:42:50] RougeR: has joined #ruby
[23:43:23] duderonomy: has joined #ruby
[23:53:25] n0m4d1c: has joined #ruby
[23:53:37] mroutis: has joined #ruby
[23:54:48] n0m4d1c: has joined #ruby
[23:59:25] ramfjord: has joined #ruby