« Back to channel list

#ruby - 21 March 2017

« Back 1 day Forward 1 day »
[00:00:26] prometheanfire: guess I could pass it in
[00:05:26] matthewd: Alternatively: if it needs instance state, maybe it should be an instance method
[00:07:04] centrx: has joined #ruby
[00:07:24] mula: has joined #ruby
[00:08:15] daxroc: has joined #ruby
[00:09:18] SeepingN_: has joined #ruby
[00:09:55] chouhoulis: has joined #ruby
[00:12:10] bkxd: has joined #ruby
[00:13:40] prometheanfire: so, the problem I'm having is that I only want this method to run once, and store it's output in a variable instead of running it a the dozen or so times it's used in the class
[00:14:49] centrx: prometheanfire: Use a technique called "memoization"
[00:15:03] centrx: def my_method
[00:15:28] centrx: @my_method ||= one_line
[00:15:36] enterprisey: has joined #ruby
[00:15:42] centrx: @my_method ||= begin...end (for multi-line
[00:15:55] prometheanfire: not familiar with ||=
[00:16:06] centrx: sets equal to unless already set
[00:16:28] centrx: only caveat is if nil or false is an expected result
[00:16:31] centrx: then it's a little less clean
[00:16:44] centrx: or it will re-run when the result is nil/false
[00:16:44] prometheanfire: it's not, so that's helpful
[00:17:01] edliss: has joined #ruby
[00:17:14] prometheanfire: the slowness might not even be there too lol
[00:17:37] snockerton: has joined #ruby
[00:17:45] prometheanfire: ya, didn't help
[00:17:50] prometheanfire: the code in question is https://github.com/puppetlabs/puppet/pull/5498/files#diff-4d92551908286aedf25406b7addef8daR107
[00:18:18] JeanCarloMachado: has joined #ruby
[00:18:33] prometheanfire: added @qatom || = begin to that method
[00:19:02] tvw: has joined #ruby
[00:19:11] centrx: is that extra space a typo
[00:19:34] centrx: what does it look like now?
[00:19:45] prometheanfire: it was only wrong in irc
[00:20:21] prometheanfire: only change the begin line to be '@qatom ||= begin'
[00:22:23] Nicmavr: has joined #ruby
[00:27:45] CloCkWeRX: has joined #ruby
[00:28:06] prometheanfire: ya, it's not the qatom calls
[00:28:34] prometheanfire: it'd add one sec at most
[00:29:02] prometheanfire: run 329 times at about 0.003 secs each (at the high end)
[00:31:02] millerti: has joined #ruby
[00:31:16] prometheanfire: I wonder if it's the eix_limit
[00:37:39] hvn0413: has joined #ruby
[00:38:32] tolerablyjake: has joined #ruby
[00:38:49] CloCkWeRX1: has joined #ruby
[00:39:05] centrx: prometheanfire: well if you change the begin line, there are three lines before that, so those could calling something that's slow
[00:40:18] charliesome: has joined #ruby
[00:40:49] matthewd: Protip: measure before you optimize
[00:41:38] prometheanfire: matthewd: doing that now :D
[00:41:43] FooMunki: has joined #ruby
[00:42:54] prometheanfire: emerge --list-sets at the least
[00:44:32] brent__: has joined #ruby
[00:49:37] hutch34: has joined #ruby
[00:57:30] xen0fon: has joined #ruby
[01:01:55] bmurt: has joined #ruby
[01:09:57] nachoman: has joined #ruby
[01:10:32] t-recx: has joined #ruby
[01:11:52] prometheanfire: how can I get this to equal the output and not the function?
[01:14:01] allisio: prometheanfire: Like that?
[01:14:29] prometheanfire: I thought so, but it's still running the function
[01:14:48] allisio: The one you memoized?
[01:15:49] Rodya_: has joined #ruby
[01:16:08] allisio: It works like this: https://eval.in/758018
[01:18:33] elomatreb: Instead of that heavily indented begin block you could also use an early return guard (https://eval.in/758019)
[01:21:45] prometheanfire: that's how I'm testing it more or less
[01:22:43] elomatreb: It's effectively the same thing, just avoids some indentation if you have a complicated method body
[01:22:50] prometheanfire: https://eval.in/758020
[01:24:16] jenrzzz: has joined #ruby
[01:25:29] arescorpio: has joined #ruby
[01:25:30] prometheanfire: so I feel it should be doing it
[01:26:05] jane_booty_doe: has joined #ruby
[01:32:28] JeanCarloMachado: has joined #ruby
[01:34:51] shinnya: has joined #ruby
[01:37:54] daed: has joined #ruby
[01:38:19] xzhao_: has joined #ruby
[01:41:05] agent_white: has joined #ruby
[01:41:06] __Yiota: has joined #ruby
[01:49:12] Pumukel: has joined #ruby
[01:53:33] hutch34: has joined #ruby
[02:01:31] edliss: has joined #ruby
[02:01:49] tubuliferous: has joined #ruby
[02:05:39] mula: has joined #ruby
[02:06:05] nobitanobi: has joined #ruby
[02:06:20] burgestrand: has joined #ruby
[02:08:01] astrobunny: has joined #ruby
[02:08:38] nachoman: has joined #ruby
[02:12:48] __Yiota: has joined #ruby
[02:12:50] bkxd: has joined #ruby
[02:13:09] Rodya_: has joined #ruby
[02:18:46] d^sh: has joined #ruby
[02:25:18] duderonomy: has joined #ruby
[02:25:55] sneakerhax: has joined #ruby
[02:27:13] Rodya_: has joined #ruby
[02:32:29] __Yiota: has joined #ruby
[02:33:54] JoshS: has joined #ruby
[02:34:39] FooMunki: has joined #ruby
[02:38:45] Rodya_: has joined #ruby
[02:40:14] jenrzzz: has joined #ruby
[02:40:31] govg: has joined #ruby
[02:48:01] ecksit: has joined #ruby
[02:49:15] SeepingN: has joined #ruby
[02:50:28] Jameser: has joined #ruby
[02:54:02] __Yiota: has joined #ruby
[02:54:30] gusrub: has joined #ruby
[02:57:42] sleetdrop: has joined #ruby
[03:05:03] libastral: has joined #ruby
[03:17:53] chagel: has joined #ruby
[03:20:26] genpaku: has joined #ruby
[03:26:00] chrickso: has joined #ruby
[03:28:37] bkxd: has joined #ruby
[03:37:36] Pumukel: has joined #ruby
[03:41:26] brent__: has joined #ruby
[03:42:39] ledestin: has joined #ruby
[03:45:23] __Yiota: has joined #ruby
[03:45:56] AnoHito: has joined #ruby
[03:50:18] astrobunny: has joined #ruby
[03:50:42] astrobun_: has joined #ruby
[03:51:08] Rodya_: has joined #ruby
[03:51:46] charliesome: has joined #ruby
[03:51:52] jenrzzz: has joined #ruby
[03:51:52] jenrzzz: has joined #ruby
[03:54:42] matcouto: has joined #ruby
[03:55:21] milardovich: has joined #ruby
[03:59:57] grant: has joined #ruby
[04:03:29] ramfjord: has joined #ruby
[04:06:36] vcavallo: has joined #ruby
[04:09:27] hutch34: has joined #ruby
[04:10:03] Pumukel: has joined #ruby
[04:13:48] djbkd: has joined #ruby
[04:15:33] bocaneri: has joined #ruby
[04:17:40] spyder55: has joined #ruby
[04:19:40] Pumukel: has joined #ruby
[04:23:43] gix: has joined #ruby
[04:24:46] ramfjord: has joined #ruby
[04:25:06] gusrub: has joined #ruby
[04:28:12] Pumukel: has joined #ruby
[04:28:38] mtg: has joined #ruby
[04:30:14] dionysus69: has joined #ruby
[04:33:02] patarr: has joined #ruby
[04:40:20] duderonomy: has joined #ruby
[04:44:03] milardovich: has joined #ruby
[04:47:24] Ericx2x: has joined #ruby
[04:47:28] cfec0b8d: has joined #ruby
[04:50:16] bungoman_: has joined #ruby
[04:52:25] rippa: has joined #ruby
[04:53:26] matcouto_: has joined #ruby
[04:54:23] Pumukel: has left #ruby: ()
[04:55:07] jdm: has joined #ruby
[04:57:17] roflmyeggo: has joined #ruby
[04:58:15] haraoka: has joined #ruby
[04:58:53] Joufflu: has joined #ruby
[05:05:59] ayonkhan: has joined #ruby
[05:11:10] Tharbakim: has joined #ruby
[05:14:24] bkxd: has joined #ruby
[05:14:26] nofxx: has joined #ruby
[05:15:33] milardovich: has joined #ruby
[05:17:35] BTRE: has joined #ruby
[05:19:44] catenthusiast: has joined #ruby
[05:25:05] jane_booty_doe: has joined #ruby
[05:28:05] dionysus69: has joined #ruby
[05:35:34] lightheaded: has joined #ruby
[05:36:47] rhyselsmore: has joined #ruby
[05:38:30] Pumukel: has joined #ruby
[05:40:34] marsjaninzmarsa: has joined #ruby
[05:41:06] tolerablyjake: has joined #ruby
[05:41:16] renchan: has joined #ruby
[05:43:09] anisha: has joined #ruby
[05:44:11] mula: has joined #ruby
[05:48:03] zenguy_pc: has joined #ruby
[05:49:12] electrostat: has joined #ruby
[05:50:28] pombreda: has joined #ruby
[05:50:30] pombreda: has left #ruby: ("Leaving")
[05:52:39] doublemalt__: has joined #ruby
[05:55:08] cibs: has joined #ruby
[05:58:17] enterprisey: has joined #ruby
[06:09:51] dminuoso: has joined #ruby
[06:09:54] certainty: has joined #ruby
[06:10:09] hutch34: has joined #ruby
[06:15:11] bkxd: has joined #ruby
[06:23:00] Cohedrin: has joined #ruby
[06:26:31] ziggysak: has joined #ruby
[06:26:40] lightheaded: has joined #ruby
[06:26:56] ziggysak: anyone here
[06:30:05] c-c: hi anyone
[06:30:27] charliesome: has joined #ruby
[06:32:38] AnoHito: has joined #ruby
[06:33:38] patarr: has joined #ruby
[06:39:29] mooser: has joined #ruby
[06:41:35] Pumukel: has joined #ruby
[06:47:13] helpa: has joined #ruby
[07:03:17] mooser: has joined #ruby
[07:10:17] sarbs: has joined #ruby
[07:12:51] edliss: has joined #ruby
[07:14:01] milardovich: has joined #ruby
[07:15:23] Mortomes|Work: has joined #ruby
[07:15:55] bkxd: has joined #ruby
[07:21:48] lhambley: has joined #ruby
[07:23:19] AnomalousBit: has joined #ruby
[07:23:37] mooser: has joined #ruby
[07:25:27] edliss: has joined #ruby
[07:29:11] bastrud: has joined #ruby
[07:32:06] kristofferR: has joined #ruby
[07:34:35] last_staff: has joined #ruby
[07:35:56] conta: has joined #ruby
[07:41:41] dhollinger: has joined #ruby
[07:42:55] mooser: has joined #ruby
[07:46:07] mooser: has joined #ruby
[07:47:36] mooser: has joined #ruby
[07:48:20] unknown1: has joined #ruby
[07:48:56] nadir: has joined #ruby
[07:50:18] stanc: has joined #ruby
[07:51:07] muelleme: has joined #ruby
[07:53:12] xen0fon: has joined #ruby
[07:54:31] milardovich: has joined #ruby
[07:57:55] tAn: has joined #ruby
[08:00:25] bastrud: has joined #ruby
[08:01:11] lightheaded: has joined #ruby
[08:01:27] aganov: has joined #ruby
[08:03:20] esObe_: has joined #ruby
[08:04:47] xsrpmx: has joined #ruby
[08:06:42] unknown1: has joined #ruby
[08:09:51] andikr: has joined #ruby
[08:11:27] aufi: has joined #ruby
[08:12:31] spicerack: has joined #ruby
[08:12:58] Pumukel: has joined #ruby
[08:13:48] hvn0413: has joined #ruby
[08:22:59] unknown1: has joined #ruby
[08:23:02] mooser: has joined #ruby
[08:23:31] mark_66: has joined #ruby
[08:24:11] aupadhye: has joined #ruby
[08:25:51] unknown1: has joined #ruby
[08:29:46] jamesaxl: has joined #ruby
[08:31:26] Joufflu_: has joined #ruby
[08:32:29] jaequery: has joined #ruby
[08:33:25] vali: has joined #ruby
[08:33:43] jenrzzz: has joined #ruby
[08:34:27] patarr: has joined #ruby
[08:34:56] antgel: has joined #ruby
[08:35:54] nobitanobi: has joined #ruby
[08:41:25] vuoto: has joined #ruby
[08:43:43] tvw: has joined #ruby
[08:44:28] milardovich: has joined #ruby
[08:44:59] zacts: has joined #ruby
[08:46:12] Mortomes|Work_: has joined #ruby
[08:52:19] tubuliferous: has joined #ruby
[08:56:01] maloik: has joined #ruby
[08:57:16] dionysus69: has joined #ruby
[09:01:08] nowhereman: has joined #ruby
[09:02:39] snowy: has joined #ruby
[09:04:58] Joufflu_: why am I as unregistered
[09:05:02] Joufflu_: that's weird
[09:11:00] jgnagy: has joined #ruby
[09:16:36] bkxd: has joined #ruby
[09:17:55] snowy: has joined #ruby
[09:20:50] xenops: has joined #ruby
[09:21:57] marr: has joined #ruby
[09:24:32] flying: has joined #ruby
[09:26:38] tomphp: has joined #ruby
[09:32:26] mim1k: has joined #ruby
[09:33:23] neuraload: has joined #ruby
[09:33:53] mooser: has joined #ruby
[09:33:59] catenthusiast: has joined #ruby
[09:35:51] Beams: has joined #ruby
[09:36:57] toretore: has joined #ruby
[09:37:09] snowy: has joined #ruby
[09:37:27] rhyselsmore: has joined #ruby
[09:41:16] znz_jp: has joined #ruby
[09:42:43] brent__: has joined #ruby
[09:43:16] mikecmpbll: has joined #ruby
[09:44:33] unshadow: has joined #ruby
[09:44:58] unshadow_: has joined #ruby
[09:50:33] nowhereman: has joined #ruby
[09:52:02] lxsameer: has joined #ruby
[09:54:04] naftilos76: has joined #ruby
[10:00:50] CloCkWeRX: has joined #ruby
[10:05:13] ferr1: has joined #ruby
[10:05:53] xenops: has joined #ruby
[10:08:19] ddffg: has joined #ruby
[10:11:43] alibby: has joined #ruby
[10:13:17] vuoto: has joined #ruby
[10:16:19] Silthias: has joined #ruby
[10:17:24] bkxd: has joined #ruby
[10:19:05] kalyan57: has joined #ruby
[10:23:23] andikr: has joined #ruby
[10:24:33] doublemalt__: has joined #ruby
[10:29:22] kristofferR: has joined #ruby
[10:29:51] pandaant: has joined #ruby
[10:32:34] bigkevmcd: has joined #ruby
[10:33:31] tvw: has joined #ruby
[10:34:20] Stan: has joined #ruby
[10:36:15] workmad3: has joined #ruby
[10:36:42] FooMunki: has joined #ruby
[10:37:05] patarr: has joined #ruby
[10:38:26] romain_t: has joined #ruby
[10:40:35] bkxd: has joined #ruby
[10:41:53] centrx: has joined #ruby
[10:43:31] rgr: has joined #ruby
[10:46:22] itarato: has joined #ruby
[10:46:36] teddysmoker: has joined #ruby
[10:47:20] bkxd: has joined #ruby
[10:47:40] JaReAx: has joined #ruby
[10:52:44] nowhere_man: has joined #ruby
[10:55:44] Bish: how do i do the following in good style
[10:56:48] Bish: check if s[0] == '-' ? Sequel.desc(s[1..-1].to_sym) : Sequel.asc(s[1..-1].to_sym)
[10:56:55] Bish: AND s can be nil
[10:57:07] Bish: feels like if i write that very often, it's bad style
[10:57:26] Bish: inb4 don't write it very often
[10:58:16] Zequal: has joined #ruby
[10:58:21] aufi: has joined #ruby
[11:00:25] Sembei: has joined #ruby
[11:02:39] mooser: has joined #ruby
[11:03:53] burgestrand: has joined #ruby
[11:09:58] kristofferR: has joined #ruby
[11:14:31] jenrzzz: has joined #ruby
[11:14:32] jenrzzz: has joined #ruby
[11:17:09] Fernando-Basso: has joined #ruby
[11:20:55] millerti: has joined #ruby
[11:27:55] hvn0413: has joined #ruby
[11:28:18] centrx: Bish: if you're writing something very often, make a method for it
[11:28:35] Bish: yeah i figured.
[11:29:48] centrx: one alternative: t = s[1..-1].to_sym if s.start_with?('-')
[11:30:31] Bish: which is the same thing
[11:30:33] Bish: without null check
[11:31:46] jaruga: has joined #ruby
[11:33:23] jaruga: has joined #ruby
[11:33:34] patarr: has joined #ruby
[11:34:37] JeanCarloMachado: has joined #ruby
[11:39:56] ldnunes: has joined #ruby
[11:42:02] ElDoggo: has joined #ruby
[11:42:24] sarbs: has joined #ruby
[11:43:47] ishe: has joined #ruby
[11:44:53] BSab: has joined #ruby
[11:48:55] JeanCarloMachado: has joined #ruby
[11:51:54] milardovich: has joined #ruby
[11:52:18] _n3xus__: has joined #ruby
[11:52:24] xenops: has joined #ruby
[11:52:56] veloutin: has joined #ruby
[11:55:25] epmvuj: has joined #ruby
[11:58:48] synthroid: has joined #ruby
[11:59:56] aryaching: has joined #ruby
[12:03:08] Jameser: has joined #ruby
[12:03:28] CloCkWeRX: has joined #ruby
[12:03:37] milardovich: has joined #ruby
[12:03:41] HoierM: has joined #ruby
[12:07:59] FooMunki: has joined #ruby
[12:11:39] edliss: has joined #ruby
[12:12:26] rotty_: has joined #ruby
[12:17:00] jenrzzz: has joined #ruby
[12:22:04] EugenMayer: has joined #ruby
[12:22:42] EugenMayer: anybody in here, using intellij ( ultimate or rubymine ) and using/trying to use remote SDKs for development ( docker e.g. )
[12:23:03] EugenMayer: i go an issue with the newest release of intellij http://stackoverflow.com/questions/42908082/ruby-remote-sdk-configuration-with-intellij-broken-workarround
[12:28:00] certainty: has joined #ruby
[12:29:46] milardovich: has joined #ruby
[12:32:23] hurricanehrndz: has joined #ruby
[12:38:59] Lord_of_Life: has joined #ruby
[12:39:51] Verity: has joined #ruby
[12:40:02] Verity: top 3 reasons to switch from python to ruby before I go too deep?
[12:40:16] EugenMayer: not a single one.
[12:40:52] Verity: I couldnt decide between the two
[12:41:00] Verity: but I do more scientific than web
[12:41:03] Verity: so I chose python
[12:41:07] Verity: but ruby--- it has a better icon
[12:41:14] Verity: it sounds absurd, I know.
[12:41:17] EugenMayer: i couldnt make a up a single point were ruby is superior to python.
[12:41:27] Verity: and the syntax looks equally clear, so I wonder why choose one over the other
[12:41:55] EugenMayer: you can argue with "frameworks" available like rails - but python has such too. Lanuguage wise python is superior in every single point
[12:42:22] brent__: has joined #ruby
[12:43:38] centrx: Python is hacky
[12:43:41] centrx: not bad though
[12:43:50] centrx: Verity: Model of Ruby is designed for programmer hapiness
[12:44:02] Qchmqs: has joined #ruby
[12:44:15] centrx: You can tell eugenmayer is lying/idiot because he acknowledges nothing good about Ruby
[12:44:29] centrx: Python is a solid language, definitely better for e.g. scientific computing
[12:45:06] centrx: Ruby as a language, syntax, semantics, etc. is better than every other language I've used (which is many)
[12:45:26] centrx: Verity: Ruby is much cleaner from an object-oriented perspective
[12:45:44] centrx: Verity: Python is, in an obscure technical sense, not an object-oriented language
[12:45:46] warrshrike: has joined #ruby
[12:45:49] centrx: Verity: Question is, what are your goals?
[12:46:03] warrshrike: has anyone managed to run rubymine with remote debugger?
[12:46:50] Beams_: has joined #ruby
[12:47:50] Verity: centrx, I feel behind starting school for coding late. I'm trying to "learn it all" I get obsessed just in general with trying to "master" something or understand it all
[12:47:51] Bish: > language wise python is superior in every single point
[12:47:54] Verity: but now with coding... thats not working
[12:48:01] Verity: I feel like I have to learn every language
[12:48:05] Verity: or pick the ones it makes sense to
[12:48:07] suttonwilliamd: has joined #ruby
[12:48:08] Verity: and I dont know how deep to go
[12:48:08] centrx: Verity: Ruby is definitely a good language to learn to take the next step
[12:48:09] jud^: has joined #ruby
[12:48:12] Verity: its overwhelming
[12:48:13] centrx: Verity: It has a lot of aspects of functional programming
[12:48:21] centrx: Verity: It's pure object-oriented
[12:49:11] centrx: Verity: Take it easy
[12:49:22] centrx: You've got low-level languages like Assembler, C
[12:49:25] cyphase: has joined #ruby
[12:49:38] centrx: C++ is a little goofy add-on to C (jk)
[12:50:00] centrx: Ruby follows the object-oriented model of an old disused language called Smalltalk
[12:50:12] Fernando-Basso: has joined #ruby
[12:50:42] centrx: Java causes brain damage, but Java and C# are another kind of language, heads above C++
[12:50:42] Bish: centrx: i really doubt your unordered random facts will contribute anything to a newby
[12:50:50] Bish: and opinion
[12:51:01] centrx: How dare you insult my random unordered facts!
[12:51:15] Bish: i didn't, i just called them as what they are
[12:51:21] centrx: Like scattering gems along the sea shore, something will get through
[12:51:27] centrx: I don't know how nooby he is anyway
[12:51:29] Verity: I have some C++ background, im studying C on my own now. In classes we use C# and asm. I'm learning RE on my own. Now I'm trying to expand my abilities and I'm working with python because I wanted to try one of these very high level languages
[12:51:32] Verity: ands so I came to consider ruby
[12:51:38] Verity: I noticed its used for msf
[12:52:26] Verity: there is a lot to consider, it would seem
[12:52:32] centrx: Ruby is great for DSLs (domain-specific languages) (I think that's what you mean by msf - Metasploit)?
[12:52:42] dminuoso: 13:45 < centrx> Verity: Ruby is much cleaner from an object-oriented perspective
[12:52:43] edliss: has joined #ruby
[12:52:57] centrx: Verity: Python is definitely a more common language
[12:53:02] Verity: centrx, yes
[12:53:07] centrx: dminuoso: In Ruby, everything is an object. In Python, technically, nothing is an object
[12:53:18] Bish: when it comes to me, ruby is the highest language there is, things you write in it ( if done well ) nearly read as you told the computer what to do in normal grammar
[12:53:32] dminuoso: centrx: In Ruby everything is not an object either.
[12:53:34] Bish: ruby is terribly slow, threading is a bitch, but developement speed is highest
[12:53:37] EugenMayer: centrx: you are in the "ruby" channel right? you call other languages
[12:53:47] dminuoso: centrx: But that's not what OOP entails -> there is no need for everything to be an object in order to qualify as OOP.
[12:53:57] EugenMayer: hacky? Are you serious? sounds like religion. Keep on
[12:54:03] burgestrand: Verity flip a coin, they're similar enough for the decision not to make much difference to you.
[12:54:14] centrx: eugenmayer: You're the one who said Ruby is worse than Python in every single respect
[12:54:14] Verity: what about employability
[12:54:17] Verity: will one be better for that
[12:54:26] dminuoso: Verity: Depends. Do you want to work for google?
[12:54:27] centrx: Verity: Python is more common, so there will be more jobs for it
[12:54:30] EugenMayer: Bish: development speed is solid yes, if its a oneshot. Never come back fro maintainance or ever change the team to maintain.
[12:54:31] dminuoso: If so you better have python skills.
[12:54:35] dminuoso: Or Java or C++.
[12:54:42] centrx: Verity: On the other hand, Ruby is less common, so there are fewer programmers for it, less supply of labor
[12:55:00] Bish: eugenmayer: and how is that different in python
[12:55:03] Verity: which book do you recommend?
[12:55:04] Bish: or any other language.
[12:55:08] EugenMayer: centrx: yes and i mean it by that - without having any buy in in python, nor using pythong broadly. I use ruby broadly, so thats quiet enough.
[12:55:09] Verity: I like to buy physical actual books
[12:55:10] Verity: to learn from
[12:55:14] dminuoso: centrx: All that OOP means, is that the language has the facility to do the horrible things that OOP advertises, not that it enforces it on every part of the language.
[12:55:15] centrx: Bish: Ruby MRI speed much better now, old stories of slowness not really founded now. Also JRuby
[12:55:37] Bish: trust me, i've put alot of work into this, and it sucks
[12:55:38] dminuoso: centrx: And as a random example: variables, methods, blocks or source code itself are not objects in Ruby.
[12:55:40] Bish: it always sucks
[12:55:48] EugenMayer: Bish: i would say, the archticture of gems and requires, but esp the horrible support of YARD in general kills anything bigger then a thor script.
[12:55:48] Bish: jruby doesn't let you have the gems you want like.. always
[12:55:58] Verity: .give verity books
[12:56:02] mwlang: centrx: where are the latest Ruby benchmarks comparing against other languages? I haven’t looked at these in a while.
[12:56:03] ruby[bot]: You can find a list of recommended books at http://ruby-community.com/pages/links
[12:56:08] centrx: dminuoso: of course, but most of that is true of every language, so there is no such thing as total OOP, fine
[12:56:16] dminuoso: centrx: There is.
[12:56:17] dminuoso: centrx: LISP.
[12:56:22] centrx: LISP uses letters
[12:56:27] Verity: they are fakebooks
[12:56:29] centrx: source code in words, not objects
[12:56:34] dminuoso: centrx: Lisp is homoiconic.
[12:56:36] Verity: can someone recommend a printed book for a ruby beginner
[12:56:39] dminuoso: centrx: So source code ARE objects.
[12:56:40] mwlang: Verity: for books, look on pragmatic programmer’s bookshelf. Several high quality Ruby books there.
[12:56:48] dminuoso: centrx: You are just proving that you have never even studied lisp in the slightest.
[12:56:49] EugenMayer: Bish: we are using jruby, its ok. You are limited on native compiled gems as you mentioned, but mostly there are good replacements ( mostly ) development is not as easy, but it has other advantages i guess - just a tradeoff
[12:56:55] centrx: dminuoso: If I print it out on a piece of paper, the paper is an object sure
[12:56:55] Bish: Verity: they are too busy fighting, imho just do it
[12:56:59] burgestrand: Verity most of the books at the bottom are dead-tree versions
[12:57:05] centrx: dminuoso: In any event, the comparison was to Python, not LISP
[12:57:38] Bish: eugenmayer: no shit
[12:57:46] dminuoso: centrx: You just kept making up arguments.
[12:57:57] centrx: Isn't that an argument you just made up?
[12:58:08] dminuoso: centrx: Which one? The fact that LISP is the ultimate homoiconic language?
[12:58:18] centrx: The fact that I am making up arguments
[12:58:22] centrx: that's an argument you just made up
[12:58:31] centrx: check-mate
[12:58:35] centrx: 4D chess victory, gotta go
[12:58:44] dminuoso: centrx: The fact that you claimed OOP required everything to be an object, the fact that homoiconic languages did not exist
[12:58:55] dminuoso: *the fact that you claimed that homoiconic...
[12:59:06] dminuoso: Yeah, sure. Thats made up. :o)
[12:59:12] centrx: dminuoso: What I said was Ruby is much more object-oriented than Python. You seemed to challenge that.
[12:59:21] sepp2k: has joined #ruby
[12:59:25] dminuoso: centrx: You said that Python was not object oriented on a technical level.
[12:59:29] dminuoso: Which is just nonsense.
[12:59:34] matthewd: centrx: dminuoso: .
[12:59:36] nobitanobi: has joined #ruby
[12:59:40] dminuoso: ACTION hugs matthewd 
[12:59:57] Bish: and why the fuck should 4d chess be a metaphor for a discussion, and why the fuck would chess skilly be a metaphor for intellect
[13:00:00] centrx: dminuoso: Python does not support encapsulation, I think that's pretty important
[13:00:15] Verity: ruby has associative container?
[13:00:30] centrx: dminuoso: it also does this nonsense where fundamental things like map, are first-level functions that you call like a C utility function
[13:00:43] matthewd: Verity: Hash
[13:01:16] dminuoso: centrx: So what? That has nothing to do whether it's object oriented. The syntax on where the receiver of a method is placed has no impact on what the code means.
[13:01:26] dminuoso: Whether you say method(receiver, args) or receiver.method(args) is of little relevance.
[13:01:35] Bish: >> ruby = {associative_container:'yo'}; ruby.has_key? :associative_container
[13:01:36] dminuoso: Besides, map is a horrible example because it's actually a purely functional concept.
[13:01:36] ruby[bot]: Bish: # => true (https://eval.in/758316)
[13:01:38] Verity: first level functions?
[13:01:45] howdoi: has joined #ruby
[13:02:16] ramortegui: has joined #ruby
[13:02:48] centrx: Verity: I mean function at the top level, e.g. print, you just type plain print
[13:02:55] dminuoso: centrx: Also data encapsulation is possible just fine in Python through name mangling.
[13:02:57] centrx: Verity: Ruby has that too, but it's really a method of Kernel
[13:03:48] dminuoso: centrx: Besides the argument whether Python is or is not object-oriented has nothing to do whether it's "nonsense" -> I admit it's certainly an annoyance.
[13:03:55] matthewd: Verity: Yes (though some syntax isn't as short as python/JS)
[13:04:13] Bish: >> ->(x) { p x.call }.call(->(){ return 'first level functions?' })
[13:04:14] ruby[bot]: Bish: # => "first level functions?" ...check link for more (https://eval.in/758318)
[13:04:35] dminuoso: And in the end it really depends on notion of "object oriented programming" you are talking about. If you ask alan kay he will tell you that messages is one of the most important concepts.
[13:04:41] Bish: matthewd: well certainly you can hide that fact
[13:04:41] EugenMayer: considering ruby to be "OOP" is at least a bad joke.
[13:04:44] dminuoso: Stroustrup will have a completely different notion.
[13:04:52] Verity: ruby + c++ arent OOP?
[13:04:54] lightheaded: has joined #ruby
[13:04:55] Verity: do you not make classes
[13:04:58] Verity: create object of class
[13:04:59] Verity: use method
[13:05:02] lightheaded: has joined #ruby
[13:05:02] dminuoso: eugenmayer: In the sense of Alan Kay it actually comes with full flegded smalltalk-kind of object orientation.
[13:05:03] Verity: have member vars
[13:05:06] Verity: declare private or public?
[13:05:09] Verity: will this all be different
[13:05:14] Bish: has it all.
[13:05:15] Verity: sorry, not C++
[13:05:21] Verity: + ruby, have no oop?
[13:05:36] dminuoso: eugenmayer: It's just not immediately access, but through method_missing but that's actually just a cosmetic decision.
[13:05:40] dminuoso: *accessible
[13:06:01] EugenMayer: dminuoso: you even have hard times implementing the general patterns in ruby which you use in OOP. If we are talking about OOP being a "class is collection of methods with the same context and shared state", ok, ruby is OOP. The OOP we talked about 1995.
[13:06:12] dminuoso: (In the smalltalk sense OOP just means an object holds internal state and can receive/send messagess)
[13:06:42] dminuoso: eugenmayer: What do you mean? You have pseudo-multiple inheritance, data hiding..
[13:06:57] dminuoso: You can do pretty much any standard OOP pattern in Ruby if you want.
[13:07:02] mula: has joined #ruby
[13:07:13] dminuoso: The thing is just that Ruby advertises things like duck-typing, so people dont do it too much.
[13:07:32] Verity: I wish I understood more of this
[13:07:35] Verity: when will that happen
[13:07:41] EugenMayer: dminuoso: you can implement them a nonsense way. Ruby, cannot, by any means, be implemented in any way that classes actually have contracts / offer ones
[13:07:56] dminuoso: eugenmayer: Sure you can.
[13:08:01] dminuoso: eugenmayer: Its just that nobody does it out of convention.
[13:08:07] dminuoso: Or few people do it.
[13:08:11] EugenMayer: a class in ruby is just a collection of methods, pray you have a consistent behavior, pray you find the method you actually look for
[13:08:16] Pumukel: has joined #ruby
[13:08:24] Bish: #ruby-flamewars
[13:08:27] dminuoso: eugenmayer: What particular functionality are you missing?
[13:08:34] Verity: a class in ruby cant have properties?
[13:08:34] herwin: Verity: short summary to understand it: people have different definitions of OOP, and advertise their meaning as facts
[13:08:41] Bish: #my-language-brings-all-the-girls-to-the-yard
[13:08:50] matthewd: Verity: It's people arguing over definitions, so it's questionable whether anyone truly understands
[13:08:56] Bish: #itsbetterthanyours
[13:09:04] dminuoso: herwin: thanks, you couldnt have phrased it better :)
[13:09:17] EugenMayer: dminuoso: i would love to have 'include' being removed from ruby entirely.
[13:09:42] dminuoso: eugenmayer: So you think multiple inheritance/composition is a bad thing?
[13:10:04] Bish: Verity: properties will be methods, ruby has helper for that to creat them
[13:10:25] Bish: Verity: basic ruby strucutre is super simple, everything is a object, objects have methods and instance_variables
[13:10:30] EugenMayer: herwin: there is a truth in that, but i guess, there is at least a "general sense" in what OOP is used in software-engineering. But i would argue taht ruby is meant to be used in the context of software-engineering so you might be right, that using OOP a different way could make sense
[13:10:50] Bish: classes are just modules with a constructor ( the new keyword, kinda like the c++ one )
[13:11:12] Bish: Verity: looking at an object from the outside, you only see it's methods
[13:11:27] Pumukel: has joined #ruby
[13:11:56] Verity: so an object cant have public properties
[13:11:58] Verity: only methods
[13:12:11] dminuoso: eugenmayer: In the end Ruby is a real multi-paradigm langauge in the end that can be used for purely FP concepts within some limits or for pure OOP concepts.
[13:12:12] Bish: Verity: well, i wouldn't say can't have.. because it really doesn't matter
[13:12:22] Bish: you simple create methods, that act like public agttributes
[13:12:29] dminuoso: Verity: Correct.
[13:12:37] jgnagy: has joined #ruby
[13:12:46] EugenMayer: dminuoso: no, rather the complete uncontrolled as include does. PHP traits are better, but still lack of really using them widely without concerns. I get that including behaviors makes sense at some point, esp since inheritence is a complicated topic to that. but including bahaviors widely, monkey patch methods, and mix that over levels is waht makes ruby completely useless long-term IMHO
[13:12:46] dminuoso: Verity: This is basically the small talk sense of it even. You can only interact with an object through messages.
[13:12:51] Bish: you can write "attr_accessor :some_word", what will give you obj.some_word = 'hello'; after what obj_some_word will be 'hello'
[13:13:04] Bish: in a class, that is
[13:13:30] Bish: while .some_word= is a method, and .some_word also
[13:13:42] Bish: .some_word just wants the value of the "public attribute"
[13:13:52] Bish: .some_word=*
[13:14:14] senayar: has joined #ruby
[13:14:31] Bish: php and better in one short sentence
[13:14:42] EugenMayer: dminuoso: i love ruby in the automation world with thor, but anything bigger i have seen, done, maintained has gone out of control if you maintain code you have not written, written a long time ago or the person has written it is not available to answer question. Using any IDE, code navigation is PITA, no matter you use YARD or not
[13:14:42] Bish: the end is near~
[13:15:00] c137: has joined #ruby
[13:15:10] EugenMayer: Bish: i am not fighting on the PHP front, but PHP7.x is by any means better then ruby.
[13:15:18] centrx: eugenmayer: That could be a function of developer ability
[13:15:19] Bish: the eeeeeeend
[13:15:31] Bish: eugenmayer: everything is better than ruby as it seems
[13:15:48] centrx: eugenmayer: When a project does Ruby right, it's more maintainable and concise than anything
[13:15:52] Bish: while there is no "better"
[13:16:12] EugenMayer: centrx: yes, you can put it that way. Thats why ruby is getting so much popularity recently right - because its just "to hard to understand" .. make your point, its yours.
[13:16:20] dminuoso: eugenmayer: Agreed, Im slowly stepping away from Ruby for exactly that reason.
[13:16:36] Bish: dminuoso: to where?
[13:16:37] dminuoso: eugenmayer: JavaScript seems to be a slightly more elegant solution, it feels more robust in many ways.
[13:16:38] centrx: eugenmayer: I don't think it's hard, but I've seen a lot of bad code
[13:16:45] Bish: dminuoso: fo real?
[13:16:55] Jameser: has joined #ruby
[13:16:58] Bish: how is that? doing es6 all the time
[13:17:03] Bish: it's hell
[13:17:07] dminuoso: What do you mean?
[13:17:09] Bish: it's the best you get in the browser, but it's hell.
[13:17:27] dminuoso: Bish: Well I should definitely try some of the more hipster FP languages like Elixir and Haskell
[13:17:27] EugenMayer: i am neither religious about ruby, php, python nor C# , C++ or Java - we do them all here. Javascript being the pure madness ( thank you typescript for fixing that ) ruby has the 2nd place in "horrible design language"
[13:17:40] Bish: dminuoso: are you making a parody now :D?
[13:17:44] dminuoso: Bish: But doing close to pure FP is pretty easy in JavaScript and it leads to really amazing code.
[13:17:48] dminuoso: Im quite honest.
[13:18:11] EugenMayer: of course, anything has its sweet spot, as ruby has. But IMHO, ruby is the wrong choice fro software / bigger web-apps which you do not dsign as one-shots / fire and forgety
[13:18:12] Bish: dminuoso: i agree, but i'd rather compile to javascript, than write it
[13:18:35] centrx: eugenmayer: So what's 1st place for the best?
[13:18:52] Bish: dminuoso: i was at a conference where 2 dudes built a webframework in haskell, top to bottom
[13:18:53] dminuoso: Bish: Well that simple fact that you can treat any function as a first-class citizen by simply not () calling it.. that alone is so amazing..
[13:19:04] EugenMayer: C# for now - by far. Currently though we do Java and PHP most out of legacy reasons and also platform deps / cross platform specfics
[13:19:07] dminuoso: Bish: That must look and feel particularly strange.
[13:19:07] Bish: that was impressive, but it feels like to much of a hazzle
[13:19:19] Bish: no, actually it was straight forward
[13:19:25] Bish: they had js bindings for react
[13:19:42] Bish: i really liked it, i was about to write something similiar in ruby
[13:19:44] dminuoso: React is what basically brought me to JS :)
[13:19:45] Bish: i even started doing it already
[13:20:22] Bish: dminuoso: i was stupid enough to get fooled by google ( angular )
[13:20:37] dminuoso: Heh, well angular I looked at very thoroughly. Im not entirely convinced yet.
[13:20:46] centrx: eugenmayer: yeah C# is solid
[13:20:51] Verity: if re.search(r"\b(?:word1|word2|word3|word4)\b", msg) or re.search(r"\b(?:word1|word2|word3|word4)\b", description):
[13:20:53] dminuoso: Bish: I think Vue is the best approach since it gives you the best of both.
[13:20:54] centrx: eugenmayer: too much like Java for me though, very long naming, lots of boilerplate
[13:20:55] EugenMayer: centrx: java 9 has made some progress, but still now way near to the way you can use generics in C#, the plain syntactical sugar, the lamda functions and the way you can really use them, is really solid in C#. But in the end, C# / Java, Cpp are all rock solid ( actually considering PHP7 to be joining those ) and choosing one of those will depend on you dest platform, you arch and you team in the end
[13:20:57] Verity: sorry wrong window <_>
[13:20:59] dminuoso: But it's not really adopted yet.
[13:21:01] Bish: angular is like rails for ruby
[13:21:04] Bish: i never liked rails either
[13:21:07] Verity: but mayeb that would be cleaner in ruby
[13:21:09] Bish: but angular i liked, but it's too much shit
[13:21:26] Bish: dminuoso: ruby-hyperloop, they try to create react-bindings in ruby
[13:21:26] dminuoso: Well angular feels just awkward but I havent used it much so I cant judge it.
[13:21:28] EugenMayer: Bish: please what, ng2 is like rails for ruby? please srsly stop it.
[13:21:46] Bish: eugenmayer: no, you stop with your annoying "x is better than y" shit
[13:21:48] EugenMayer: ng2 / ng / ember / react are complete different patterns in every single point, goodness
[13:21:57] centrx: PHP7 is like Microsoft. It's had 20 years to get it right, why bother?
[13:22:10] Bish: i was just referencing the fukin framework-style, in the sense that it tells you how to do it
[13:22:28] EugenMayer: centrx: well, i guess, i cant argue it has take a lot of time. But in the end i could not care less when considering what a solid
[13:23:02] dminuoso: Bish: Absolutely yeah. ReactJS is a much more sensible approach because all you have is raw JS code that you can either opt-in to use or not.
[13:23:08] dminuoso: You can even debug ReactJS if you wanted to.
[13:23:08] Bish: dminuoso: it looks actually very mature ( ruby-hyperloop ), have tried it, but .js files will get really big.
[13:23:15] dminuoso: Good luck debugging Angular apps .. :-)
[13:23:30] Bish: reactjs is basicially a dom-cache.. and let's you implement your own logic
[13:23:32] EugenMayer: centrx: it stuck for waaay to long time in 5.1 due to yahoos blockers, but finally, after 5.4 - 7, things had a lot of drive. right now PHP seems to be serious about pushing itself back into the game
[13:23:39] Bish: angular will lead to 10000 mio files, which all look the same
[13:23:44] dminuoso: Bish: Ive seen it but it felt completely silly for many reasons. I just write native JS code.
[13:23:46] Bish: and weird attributes that will fuck yo up
[13:23:54] dminuoso: But I think in the end thats just a preference thing.
[13:23:57] EugenMayer: dminuoso: well with ng2 its easy. But yes, you need tool support (including browser plugins ). Zone.js here to help you
[13:24:41] Bish: tired ng2, it's even worse there, and that is fukin opinion whats so hard to understand about that
[13:25:01] EugenMayer: reactjs is domcache, dud are you on drugs? Yo are taking the one framework which has no single attachment to DOM and putting it as dom cache :)
[13:25:15] Bish: metaphor, and i didn't ask you for you opinion
[13:25:23] EugenMayer: Nonsense to even argue.
[13:25:24] nadir: has joined #ruby
[13:25:39] Bish: what is wrong with you, jesus
[13:26:13] centrx: Obligatory http://imgur.com/pG3q7
[13:26:59] Bish: eugenmayer: how on earth is rendering to dom, not a attachment to dom
[13:27:13] EugenMayer: React has nothing to do with DOM. Nothing.
[13:27:38] Bish: ... yeah it has a virtual-dom.. and needs to react-dom to synchronize those two
[13:27:41] millerti: has joined #ruby
[13:27:44] EugenMayer: as ng2 is. ng is using DOM events and DOM storage, so its more or less a dom wrapper
[13:27:49] Bish: now everyone knows how clever you are, congratulations
[13:27:50] EugenMayer: its not virtual DOM, no dom at all.
[13:28:00] Bish: so.. what doe react do?
[13:28:17] Bish: enlighten people that are less omnipotent as you
[13:29:40] Derperperd: has joined #ruby
[13:29:41] Bish: dminuoso: might be, i gotta try reactjs, i have a feeling that this will not make me sad... but that's what i thought when started using angular
[13:29:47] Bish: and i hate it, even though it's not really bad.
[13:30:00] EugenMayer: React does not require any DOM to run or offer any functionality. It has an own even-queue ( as ng2 has ) has a dom-dettached rendering pipeline ( html/DOM is just a template enging ). Thats why react is used so widely for node-based backends, or stuff like https://facebook.github.io/react-native/ or even electron with cocoa. The interesting point on react is that it does not need DOM.
[13:30:11] Bish: eugenmayer: wow that is really intresting random information
[13:30:18] Bish: which nobody asked for
[13:30:47] Bish: ruby does not need openssl either.. did you know?
[13:31:31] dminuoso: Bish: React just enforces a couple of rules on you, beyond that you can step outside the framework as much as you want.
[13:31:47] Bish: dminuoso: yeah, that's exactly what i want, but i didn't know that yet :(
[13:31:58] DLSteve: has joined #ruby
[13:32:11] Bish: s/yet/back then/
[13:32:13] burgestrand: React certainly gives you more room to dictate your own architecture, and thus screw it up too.
[13:32:30] EugenMayer: Burgestrand: fully second this.
[13:32:42] baked__beans: has joined #ruby
[13:32:43] dminuoso: I like having a shotgun to shoot my own foot with.,
[13:33:06] EugenMayer: Burgestrand: also harder to maintain long term, since you have to keep the router, template engine/DAL choices upgrades consistent yourself on the long run, upgrading the right way, right timing
[13:33:48] burgestrand: eugenmayer Using react successfully requires you to dictate your own architecture and stick to it, if you're a lone developer you can go cowboy/girl but if there's more than one it can cause headaches if you're not careful.
[13:33:52] EugenMayer: But its initial boostrap-time is impressive, even with ng2 on AOT
[13:33:59] agent_white: has joined #ruby
[13:34:30] EugenMayer: Burgestrand: yeah. React is about really being a veteran, but then, you do build impressive stuff.
[13:35:18] EugenMayer: Burgestrand: we have chosen ng2 since finding ressources is a bit easier, since the matrix of routers / engines is limited, thus people know the stack a lot faster, while with react it slike "what react stacks do yo know"
[13:35:21] BSAlb: has joined #ruby
[13:35:42] EugenMayer: Burgestrand: but react is a hack of attractive. Still looking envy on it :)
[13:35:45] burgestrand: eugenmayer How does ng2 compare to ng1 when one considers ng1 a framework and react a library?
[13:36:03] EugenMayer: ng2 does in first temrs not compare to ng1 at all.
[13:36:21] burgestrand: eugenmayer Would you say it provides architecture?
[13:36:34] EugenMayer: If you got that, you can compare ng2 to react freely. React is more a lib/core "small core", like a microkernel
[13:36:37] prometheanfire: has left #ruby: ()
[13:37:05] ^jud: has joined #ruby
[13:38:11] EugenMayer: ng2 is more a prepicked-framework with consistent integration. i think react will spread a lot more, since its microkernel DNA will ensure it is used as part o other frameworks, a bit like symfony is used in a lot of other (also legacy) PHP frameworks nowdays
[13:38:27] EugenMayer: Burgestrand: so yo do not have the same "
[13:38:30] roflmyeggo: has joined #ruby
[13:38:40] BSaboia: has joined #ruby
[13:38:44] velocity64: has joined #ruby
[13:38:46] EugenMayer: "freedome" in choice in ng2 - thats a pro and con at the same time i would guess
[13:38:49] bmurt: has joined #ruby
[13:38:54] burgestrand: eugenmayer alright, so ng2 does dictate some more what and where you should put your code/
[13:39:11] burgestrand: eugenmayer less than ng1, but more than react
[13:39:32] duckpuppy: has joined #ruby
[13:39:46] burgestrand: I've actively avoided ng2 partly because it's new, and partly because ng1 was such a screwup.
[13:39:50] EugenMayer: Burgestrand: more the components are dictated, but yes, its opinianated ( but a really really good way ). Components in ng2 are the most superior component encapsulation i have ever seen ( any language/framework_)
[13:40:32] EugenMayer: Burgestrand: ng1 was plain PITA - but do not do not make the mistake to compare both. ng1 does not share a single line of code with ng2. Migrating from ng1 to ng2 means complete rewrite.
[13:40:51] burgestrand: eugenmayer Sounds good.
[13:42:34] EugenMayer: Burgestrand: still, if you are used to reactjs, i would say, stick with it. Its harder to learn, harder to get used to but for sure far more flexible in its scenarios. You can use it on mobiles, on backends, on client-side apps or as a non-single-page backend2frontend bridge. ng2 is not as flexible ( its more heavy duty )
[13:43:17] EugenMayer: Burgestrand: one of the biggest pros on ng2 is its 100% pure consistent typescript implementation. It really gives you a lot.
[13:43:56] hutch34: has joined #ruby
[13:44:11] burgestrand: eugenmayer I'm not a mono-framework person, frankly not too happy about react either, but it's the correct poison in some situations.
[13:45:23] EugenMayer: Burgestrand: same here. Neither a mono-framework nor a mono-language person :) Picking the best weapon…and due to docker microservices got so much effordable that using "the perfect weapon for aspect A, different for aspect B" becomes a really interesting strategy
[13:45:25] burgestrand: Been peeking a bit at vue lately, but in the end they're all the same anyway!
[13:45:45] DLSteve: has joined #ruby
[13:45:49] burgestrand: We're all still stuck in the 1980's, might as well have some fun.
[13:46:02] lightheaded: has joined #ruby
[13:46:56] agent_white: Mornin' folks
[13:47:31] burgestrand: agent_white Do you shift colors during the day?
[13:47:55] agent_white: Depends how much caffeine I've taken in.
[13:48:30] EugenMayer: agent_white: so its basically a transition from white to brown? :)
[13:49:07] agent_white: I haven't seen Agent Brown in years... not since the incident in Indonesia.
[13:49:23] lightheaded: has joined #ruby
[13:49:24] agent_white: ACTION shudders
[13:50:30] jaruga: has joined #ruby
[13:54:22] skweek: has joined #ruby
[13:54:42] Verity: what is the ruby equivalent of pythonic
[13:55:33] Jameser: has joined #ruby
[13:57:16] igniting: has joined #ruby
[13:58:22] lightheaded: has joined #ruby
[13:58:42] snowy: has joined #ruby
[14:00:26] burgestrand: Verity I just say "idiomatic ruby", but it's easy to accidentally misuse that term for personal preferences too, so I try to avoid it.
[14:00:33] arooni: has joined #ruby
[14:00:46] raul782: has joined #ruby
[14:01:17] __Yiota: has joined #ruby
[14:01:59] Lord_of_Life: has joined #ruby
[14:02:41] herwin: "the way rubocop stops complaining"
[14:02:46] burgestrand: Verity when comparing the two I believe you'll find that ruby is generally more loose in what is considered the right way, which leads to "idiomatic code" being not so important.
[14:03:24] burgestrand: Verity that said, there are certainly things that are more in line with The Ruby Way than others.
[14:03:59] millerti: has joined #ruby
[14:04:04] burgestrand: I don't see many FactoryFactoryBean.
[14:04:29] jsrn_: has joined #ruby
[14:04:59] neuraload: has joined #ruby
[14:06:59] sonOfRa: has joined #ruby
[14:07:38] harfangk: has joined #ruby
[14:07:53] kobain: has joined #ruby
[14:09:50] bkxd: has joined #ruby
[14:10:01] Miron: has joined #ruby
[14:11:35] cdg: has joined #ruby
[14:12:21] Jameser: has joined #ruby
[14:15:12] vuoto: has joined #ruby
[14:17:53] lacrymology: has joined #ruby
[14:18:14] jenrzzz: has joined #ruby
[14:19:16] Fin1te: has joined #ruby
[14:23:19] lightheaded: has joined #ruby
[14:24:37] vuoto: has joined #ruby
[14:26:24] lightheaded: has joined #ruby
[14:26:32] ledestin: has joined #ruby
[14:27:35] t-recx: has joined #ruby
[14:29:28] cdg: has joined #ruby
[14:30:42] dminuoso: 189 files changed, 9901 insertions(+), 690 deletions(-)
[14:30:50] dminuoso: ACTION sighs
[14:32:28] JDeen: has joined #ruby
[14:33:03] Bish: git commit -am "i do not care anymore"
[14:33:39] JDeen: Hello channel... I am interested in advice for debugging Ruby apps in VIM. I see this is old and there is an issue saying it doesn't work for 2+ https://github.com/astashov/vim-ruby-debugger - any other suggestions?
[14:34:04] vuoto: has joined #ruby
[14:34:23] synthroid: has joined #ruby
[14:34:33] Bish: get an editor </startsFlamewar>
[14:35:38] Bish: no, i actually like vim, i say this because i have this question: is hours of confugurating vim worth it?
[14:37:38] c137: has joined #ruby
[14:38:00] Verity: ruby has libs?
[14:38:06] Verity: support fb graph api?
[14:38:16] EugenMayer: rubygems.org
[14:38:21] JDeen: Bish: I have used RubyMine, but now moved away. Currently considering VSCode and Atom.
[14:39:15] JDeen: Bish: to answer your question, i think yes, for some wired reason i love how vim feels..s
[14:39:21] JDeen: eugenmayer: nack, Ubuntu
[14:39:55] workmad3: has joined #ruby
[14:40:10] EugenMayer: jdeen: well, install the vim plugin for rubymine and have the same feeling, but also the integrations to not have any questions on how to configure the debugger :)
[14:40:38] EugenMayer: jdeen: i you use vim as an editor for this purpose, there should be one rule: you do not have any questions :)
[14:41:23] polishdub: has joined #ruby
[14:42:19] shinnya: has joined #ruby
[14:42:54] JDeen: eugenmayer: I was using it... i am not religious about vim, but the vim way is efficient... I moved away from RubyMine because I work on a non ssd machine and it loads really slow... on my personal laptop with SSD the project opens well within 2 mins and in my office laptop it takes 15 mins to load. I go make a coffee, have a standup and come some times it is still loading -_- :D
[14:44:24] EugenMayer: Solve your hardware problem then :) Or activate the "powersave mode" in rubymine
[14:45:05] EugenMayer: disable some inspections and things like that. But yes, the amount of symbol/class/file lookups and the speed rubymine offers that needs indexing and that needs initial time, so thats what you refer to
[14:45:31] sagax: has joined #ruby
[14:46:14] EugenMayer: jdeen: but your question was about vim - not need to answer this with "use a proper IDE". I cannot help you with vim, so i shut up :)
[14:46:18] Derperperd: has joined #ruby
[14:46:29] roamingdog: has joined #ruby
[14:47:08] JDeen: eugenmayer: your ideas are highly appreciated... i also had that feeling today... (day is over in Sri Lanka)...
[14:47:51] JDeen: i am going to try not run the indexes, asked for an ssd upgrade, the meintanane guys are sleeping... thanks anyways
[14:48:32] EugenMayer: SSD is not your issue, CPU is (indexing) and later RAM is ( it it needs a lot of time accessing symbols, since it is paging out the index )
[14:48:45] Stan: has joined #ruby
[14:49:08] EugenMayer: I mean, beside that, SSD is a must, right? Period :)
[14:49:55] Bish: jdeen: yeah im not monk-ish enough to learn every shortcut there is, i switched to atom with vim-mode
[14:50:10] Bish: i guess basicially features like debuggers would make sense there, too
[14:50:31] EugenMayer: Stuff like remote SDK support is simpley inreplaceable nowdays, i would say
[14:51:14] EugenMayer: remote SDK implies proper remote debugging support and a far better path mapping support and also, shareability of the IDE settings
[14:53:46] meowzus: has joined #ruby
[14:54:03] meowzus: hi, does anyone know how to print CDATA stuff inside a node using nokogiri?
[14:54:26] meowzus: it just shows up as blank for me but in the raw xml i can see its !CDATA[]
[14:54:57] edliss: has joined #ruby
[14:55:17] lmc: has joined #ruby
[14:56:44] antoniobeyah: has joined #ruby
[14:57:15] nikivi: has joined #ruby
[14:59:53] duckpupp1: has joined #ruby
[15:01:19] meowzus: fixed it, was using the html parser instead of the xml parser
[15:01:21] meowzus: has left #ruby: ("Textual IRC Client: www.textualapp.com")
[15:03:18] EugenMayer: HTML parser for XML - have fun :)
[15:03:35] Fin1te: has joined #ruby
[15:04:25] choke: has joined #ruby
[15:04:40] lightheaded: has joined #ruby
[15:07:09] jaruga: has joined #ruby
[15:08:26] Silthias: has joined #ruby
[15:09:20] tAn: has joined #ruby
[15:09:20] jgnagy: has joined #ruby
[15:10:47] elaptics: has joined #ruby
[15:11:16] skweek: has joined #ruby
[15:11:54] Silthias1: has joined #ruby
[15:12:17] synthroid: has joined #ruby
[15:14:08] bkxd: has joined #ruby
[15:14:41] cdg_: has joined #ruby
[15:15:26] mim1k: has joined #ruby
[15:17:30] tubuliferous: has joined #ruby
[15:20:34] JohnBat26: has joined #ruby
[15:23:44] tubuliferous: has joined #ruby
[15:23:52] dionysus69: has joined #ruby
[15:27:41] psychicist__: has joined #ruby
[15:29:00] minimalism: has joined #ruby
[15:33:38] cs_0x6373: has joined #ruby
[15:33:42] certainty: has joined #ruby
[15:33:52] JDeen: eugenmayer: SSD, yah it is a must IMO, but we still get old fashioned mechanical disks...
[15:34:03] JDeen: eugenmayer: SSD, yah it is a must IMO, but we still get old fashioned mechanical disks...
[15:34:12] brent__: has joined #ruby
[15:34:50] JDeen: eugenmayer: btw, remote debugging - you mean some thing like a production app?
[15:35:34] jdm: has joined #ruby
[15:35:42] cs_0x6373: @jhass: not sure if you remember me, i asked some month ago regarding ruby on AIX with some weird problem opening files in /dev
[15:35:55] EugenMayer: jdeen: depends on your workflow, we use docker to use production stack in development and reduce the OS-level deps on development. thus we need remote debuggin even in development - but its then the same for both cases
[15:36:29] brent__: has joined #ruby
[15:36:55] cs_0x6373: @jhass: i finally found the issue and opened bug #13349. Spent the last 3 working days hunting this down...
[15:37:03] JDeen: Bish: yah, I was checking out Atom y'day and it is great. But later I checked out Visual Studio Code which is free and on Electron... i like it becuase I felt its VIM plugin works better than the one for Atom...
[15:37:18] milardovich: has joined #ruby
[15:38:09] JDeen: eugenmayer: ah yah... good point... thanks...
[15:39:08] JDeen: Bish: but I had issues with RVM, i had to do `code .` in the project directory to get a rails app in debugging as it uses the default ruby version and default gemset and not the ones specified in the .ruby-version and .ruby-gemset
[15:39:22] ozcanesen: has joined #ruby
[15:39:22] JDeen: but i noticed an atom plugin for just that...
[15:40:11] havenwood: jdeen: Another trick is to open `atom` from the command line so it has access to your ENV vars.
[15:40:52] havenwood: jdeen: That way it plays nice with RVM/chruby/whatever else relies on properly set environment variables to select your Ruby.
[15:42:02] milardovich: has joined #ruby
[15:42:27] Pumukel: has joined #ruby
[15:42:55] EugenMayer: what do you guys actually suppose to be used, rvm, rbenv or chruby? Seems like a neverending nonsense battle, partially supported here by tools there. Anything really "the defacto standard" right now?
[15:43:24] havenwood: eugenmayer: chruby
[15:43:54] EugenMayer: most tools yet do not support it, we still stuck with rbenv ( not that we really like it .. )
[15:44:10] havenwood: eugenmayer: What doesn't support chruby?
[15:44:14] EugenMayer: tools like boxen, intellij, CI tools seem to not adapt chruby ;/
[15:44:15] patarr: has joined #ruby
[15:44:39] eam: remember the good old days where you'd just put the interpreter you wanted in your PATH?
[15:44:44] EugenMayer: (we went to chruby once with boxen and gone back since it was simply nightmare ;/ )
[15:44:59] EugenMayer: eam: works when you consider having one ruby
[15:45:00] havenwood: eugenmayer: Inteillij should have chruby support: https://youtrack.jetbrains.com/issue/RUBY-14086
[15:45:28] EugenMayer: eam: stops working when you have different ruby verssions for the projects in projects/A projects/B .. or for CI tools not yet on docker
[15:45:31] havenwood: eugenmayer: With CI tools it's easy enough to replace RVM if you care to.
[15:45:41] eam: eugenmayer: not really, just adjust path accordingly
[15:46:01] EugenMayer: havenwood: so you would suggest chruby (now/ in the future?)
[15:46:02] roamingdog: has joined #ruby
[15:46:09] havenwood: eugenmayer: I've not used boxen, dunno.
[15:46:19] [Butch]: has joined #ruby
[15:46:28] havenwood: eugenmayer: I'd suggest it now. It's only a hundred lines of code and is the simplest thing that can possibly work.
[15:46:32] EugenMayer: eam: i have no clue how you plan to do this. Entering projectB needs ruby 2.1, entering projectC needs ruby3…how you want to do this with $PATH - no clue.
[15:46:48] eam: eugenmayer: set path when you enter each project
[15:46:51] roamingdog: has joined #ruby
[15:47:02] ElDoggo: has joined #ruby
[15:47:09] EugenMayer: eam: great, than simplifies a lot.
[15:47:14] havenwood: eugenmayer: I've not seen and IDE that takes much to configure. Though like I said I've not experienced boxen.
[15:47:36] roamingdog: has joined #ruby
[15:47:41] EugenMayer: havenwood: the problem with IDEs are more when they try to be clever on remote SDK support sucking gems "locally"
[15:47:56] Bish: eugenmayer: thats why you choose python, they just made 2 entirely different programming languges
[15:47:59] Bish: ACTION ducks
[15:48:05] EugenMayer: havenwood: thanks anyway, i trigger that, so we rethink chruby / retry it
[15:48:07] eam: ultimately that's how all these multi-ruby tools work anyway, but because they implement their own way of doing things tools need integration
[15:48:12] eam: instead of just "use this interpreter"
[15:48:21] EugenMayer: eam: simply not. think about shims.
[15:48:26] roamingdog: has joined #ruby
[15:48:35] EugenMayer: wont be even close to as easy when you think about thor bin stubs.
[15:49:07] eam: yeah uh, when I say I miss the good old days I'm talking about before rubygems and other components that break this simple model
[15:49:12] roamingdog: has joined #ruby
[15:49:16] eam: I know it won't work well with today's ruby environment
[15:49:22] havenwood: eugenmayer: I'd use RVM to install old Rubies that need patches. I'd use rbenv with a non-posixy shell. Otherwise chruby is quite simple and just works.
[15:49:23] Jameser: has joined #ruby
[15:49:46] havenwood: eugenmayer: And if I don't need to switch Rubies (like on a server) I don't use a Ruby version switcher.
[15:50:02] roamingdog: has joined #ruby
[15:50:09] eam: I am also similarly cranky about the gem model vs just LOAD_PATH
[15:50:37] amclain: has joined #ruby
[15:50:57] EugenMayer: yeah sure in production we hardly use it anymore havenwood, since the apps are packaged in docker containers and thats basically "that one ruby". But on the other side, e.g. you need ruby for tiller, but we need jruby for "the app" - so again, you sometimes need RVM*
[15:51:30] eam: in production we bundle a ruby with each application and don't use any of these tools
[15:51:48] eam: tends to be you want to roll out your ruby interpreter changes in conjunction with your ruby source deployments anyway
[15:51:50] EugenMayer: eam: software become too complex - we better start acknowledge that but creating tools to help us humans to abstract and still cope with it /me my 5 cents
[15:52:15] eam: eugenmayer: no beef with abstrations, just a beef with poor ones :)
[15:52:32] EugenMayer: eam: yeah, got you on this, Sure.
[15:52:41] havenwood: eugenmayer: RVM is tens of thousands of lines. Rbenv replaces shell bulitins with C-extensions. It's madness out there!
[15:53:26] matthewd: > Rbenv replaces shell bulitins with C-extensions
[15:54:08] havenwood: matthewd: realpath was too slow so...: https://github.com/rbenv/rbenv/tree/master/src
[15:54:45] havenwood: matthewd: But it ends up that chruby is less code than just rbenv's shell replacements.
[15:54:53] juggler: has joined #ruby
[15:55:16] havenwood: matthewd: That doesn't bother me as much as ruby-build shipping it's own OpenSSL though.
[15:55:22] matthewd: Oh, I don't use bash
[15:55:27] havenwood: I've seen multiple people get burned by that one.
[15:56:02] EugenMayer: wat? there are other shells?
[15:56:13] havenwood: ACTION eyes Fish
[15:56:13] username1: has joined #ruby
[15:56:16] username2: has joined #ruby
[15:56:17] username3: has joined #ruby
[15:56:33] cfec0b8d: has joined #ruby
[15:56:46] matthewd: tbh I adopted rbenv before chruby was a thing, mangled it to make it do what I want, then just haven't had sufficient cause to revisit
[15:56:56] havenwood: I'm glad there's an rbenv though. Great for non-posix shells.
[15:57:03] EugenMayer: havenwood: sometimes zsh can be pitty two, e.g. rake options PITA. But yeah, lovely little livesafer
[15:58:27] matthewd: Story of my life, I guess... I believe modern bash covers many of the things I once switched to zsh for, too
[15:58:56] EugenMayer: has joined #ruby
[15:59:29] havenwood: I wish Bash 3 would just go away already. It's a shame macOS, etc, won't switch to Bash 4 because of licensing.
[15:59:35] mim1k: has joined #ruby
[16:00:24] havenwood: Because of Bash 3 we can't have nice associative arrays in tools like Ruby-version-switchers.
[16:00:47] havenwood: Portable shell... ¯\_(ツ)_/¯
[16:01:27] raspado: has joined #ruby
[16:02:11] herwin: anybody else who uses the badum shell?
[16:02:15] herwin: *badump-sh*
[16:02:33] baweaver: I like this person
[16:02:45] havenwood: https://www.youtube.com/watch?v=6zXDo4dL7SU
[16:02:50] baweaver: shelling out the puns early in the morning
[16:03:04] baweaver: you sed it havenwood
[16:03:54] baweaver: well that was awkward
[16:04:06] hxegon: hmm... it's on the facts list: https://ruby-community.com/ruboto/facts
[16:04:08] havenwood: baweaver: ack, just like you sed
[16:04:11] hxegon: promise I'm not crazy
[16:04:38] marxarelli: has joined #ruby
[16:04:38] eam: zsh you guys
[16:04:44] baweaver: https://beyondgrep.com/
[16:04:55] baweaver: havenwood: ack ^
[16:05:16] baweaver: (ag is faster, and there was another tool in Rust recently that beat ag as well)
[16:05:18] havenwood: ag-greed: https://github.com/ggreer/the_silver_searcher
[16:05:24] username1: has joined #ruby
[16:06:15] mcantor: has joined #ruby
[16:06:22] mcantor: Where is Psych::Parser#parse defined?
[16:06:50] montanonic: has joined #ruby
[16:07:10] baked__beans: has joined #ruby
[16:07:33] baweaver: https://github.com/BurntSushi/ripgrep - there it is
[16:08:50] matthewd: mcantor: https://github.com/ruby/psych/blob/master/ext/psych/psych_parser.c#L244.. but that sounds like a bit of a "why do you ask?" question
[16:09:28] SeepingN: has joined #ruby
[16:09:40] baweaver: they're just trying to psych you out matthewd
[16:10:46] mcantor: ahh of course. forgot that it's partially defined in C
[16:11:59] mcantor: matthewd: I'm trying to build my own <Handler/Parser/ToRubyVisitor>, and I'm just getting a sense of the library so I can decide which of those things are the correct thing for me to build
[16:12:49] ResidentBiscuit: has joined #ruby
[16:13:05] mcantor: matthewd: https://gist.github.com/mcantor/197ef3c4c69983dcaa27e9dc39ccdc9b <-- that's the basic kind of functionality I'm looking for
[16:13:31] mcantor: I very much doubt I'll need to write any C for a while, but I was curious
[16:14:26] AnomalousBit: has joined #ruby
[16:15:00] raul782: has joined #ruby
[16:16:00] matthewd: mcantor: Umm... you know you're reproducing a built-in yaml feature, right?
[16:18:46] matthewd: >> require 'yaml'; YAML.load("First Name: &x Max\nLast Name: Cantor\nDisplay Name: *x")
[16:18:51] ruby[bot]: matthewd: I'm terribly sorry, I could not evaluate your code because of an error: NoMethodError:undefined method `[]' for nil:NilClass
[16:19:30] jdm: has joined #ruby
[16:20:49] certainty: has joined #ruby
[16:21:07] mcantor: matthewd: Yes indeed! Anchors & Aliases are an excellent feature, and I want to expand on it
[16:21:56] FooMunki: has joined #ruby
[16:22:14] rahul_bajaj: has joined #ruby
[16:22:31] mcantor: For example, I want to be able to do "Formatted: !template [!bind Last Name, ', ', !bind First Name]"
[16:22:47] mcantor: which will result in { "Formatted" => "Cantor, Max" }
[16:23:07] baked__beans: has joined #ruby
[16:23:57] matthewd: Seems a bit outside of the YAML parser's remit IMO.. simpler to implement as a hash transform afterwards
[16:24:26] Suslov: has joined #ruby
[16:24:48] duckpuppy: has joined #ruby
[16:25:12] mcantor: matthewd: I disagree! I think it's simpler if I can just read a YAML file and have everything already set up. But you're correct in that the default YAML parser doesn't do what I'm looking for
[16:25:16] mcantor: That's why I'm writing my own!
[16:28:13] matthewd: I meant simpler to implement; that the caller treats it as a single LoadMagicYamlPlus() call makes it simple for them, but that doesn't affect whether the load is a one- or two-step process internally.
[16:28:25] matthewd: You're the one implementing it though, so it doesn't really matter what I think :)
[16:29:28] Xiti: has joined #ruby
[16:30:14] mcantor: Oh, you're absolutely right about it being simpler to implement. I'm pathologically incapable of doing things the easy way, though ;-)
[16:32:32] lmc: has joined #ruby
[16:33:00] Bish: mcantor: you're wrong in #ruby
[16:33:43] Beams: has joined #ruby
[16:33:53] hutch34: has joined #ruby
[16:33:56] Bish: you could do write some haskell, would make use of yor pathological condiiton :D
[16:34:18] Stan: has joined #ruby
[16:34:59] hxegon: I would think writing a parser in haskell would be easier, if you separate the difficulty of learning the language...
[16:35:31] Bish: i said some haskell, not "do that thing" in haskell
[16:35:53] Bish: which would be "doing it the hard way", but would forcefully be correct due to the pure functional nature of haskell
[16:36:32] mcantor: Bish: I've dipped my toes in functional languages several times, but never managed to get past inertia
[16:36:43] certainty: has joined #ruby
[16:36:52] Guest94: has joined #ruby
[16:37:05] Bish: i would love to be "able" to do that, since it seems the right way to do
[16:37:26] mcantor: it does. the more ruby I write, the more I yearn for functional fluency in my tools
[16:37:52] Bish: but i have a feeling thats again not the holy grail
[16:37:58] mcantor: haha, what is the holy grail?
[16:38:16] Bish: i don't know, when i read myself into haskell, i felt like it is
[16:38:27] Bish: ruby is like the other extreme, having state everywhere
[16:38:52] baweaver: ACTION gets out his bingo board and a bag of popcorn
[16:39:06] Bish: baweaver: you're too late for flamewars
[16:39:30] hxegon: One can never be too late for flame wars. Flame war, flame war never changes...
[16:39:39] baweaver: the fallout is real
[16:39:42] Bish: they're both great languages, i won't flame either of them D: except for it's syntax
[16:39:46] Bish: is syntax on your board?
[16:40:03] Bish: haskelldesigners smoked crack when they designed that
[16:40:08] baweaver: monad monoid endofunctor functor khleesi bind etc etc etc
[16:40:28] Bish: khleesi is that the walking eyebrow from game of thrones?
[16:40:43] Papierkorb: baweaver: muh curryin'
[16:40:59] Bish: baweaver: im not haskelteer enough to talk about these smart things
[16:41:01] hxegon: "*Proper* static typing"
[16:41:09] Bish: s/talk/flame
[16:42:03] baweaver: that's what it was
[16:42:24] hxegon: Bish: Did you just refer to me as a noun, shitlord? /s
[16:42:46] Bish: herwin: i did what?
[16:43:01] Bish: hxegon: *
[16:43:08] Bish: herwin: sorry!
[16:44:17] hxegon: Bish: joke about refering to functional programmers as nouns, see: http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html
[16:44:46] baweaver: Anyways, #ruby-offtopic if we want to delve this one
[16:44:53] Bish: justDoIt
[16:45:08] Bish: i chuckled
[16:46:49] jaequery: has joined #ruby
[16:51:22] roamingdog: has joined #ruby
[16:51:32] Derperperd: has joined #ruby
[16:53:16] sneakerhax: has joined #ruby
[16:54:07] nobitanobi: has joined #ruby
[16:56:06] rgr: has joined #ruby
[16:59:05] Stan: has joined #ruby
[16:59:50] gusrub: has joined #ruby
[16:59:50] crst_: has joined #ruby
[17:00:35] crst_: Hi, I forked a gem and modified some code and would like to use that gem on my local machine... how can I do that?
[17:01:16] hxegon: crst_: you can add a github repo in your gemfile, but there are other ways too
[17:01:53] crst_: headius: can I just check if it's any good locally?
[17:02:04] aufi: has joined #ruby
[17:02:15] rahul_bajaj: has joined #ruby
[17:03:47] crst_: hxegon: ^ sorry
[17:04:25] spicerack: has joined #ruby
[17:06:07] hxegon: crst_: what do you mean by "check if it's any good"?
[17:07:08] Disavowed: crst_: Sure! I'm by no means an expert, but I think what you want it gem build <gemname>.gemspec and then gem install gemname-version
[17:07:14] lightheaded: has joined #ruby
[17:07:20] crst_: hxegon: like just quickly testing what I have done, if it's working etc. without comitting pushing etc?
[17:07:36] hxegon: crst_: what Disavowed said
[17:08:14] baweaver: http://stackoverflow.com/a/14636783/2872906
[17:08:18] baweaver: better answer ^
[17:08:21] jenrzzz: has joined #ruby
[17:08:30] baweaver: gem 'gemname', path: path/to/local/gem
[17:09:15] baweaver: you can also point it at Git with git: repo-link iirc
[17:09:40] baweaver: I use it if a certain gem is screwy and I want to make sure that's what broke it
[17:09:49] baweaver: instead of hot-patching the game
[17:10:12] hxegon: damn it baweaver, I haven't lost the game in like, 2 years
[17:10:27] gusrub: has joined #ruby
[17:10:38] baweaver: ACTION puts down banhammer slowly
[17:10:50] baweaver: ACTION breathes
[17:11:59] crst_: baweaver: phantastic, thanks!
[17:13:05] montanonic: has joined #ruby
[17:13:54] skweek: has joined #ruby
[17:14:39] bkxd: has joined #ruby
[17:17:27] mzo: has joined #ruby
[17:19:17] mitt3ns: has joined #ruby
[17:20:16] cagomez: has joined #ruby
[17:24:46] hahuang62: has joined #ruby
[17:27:05] lmc: has joined #ruby
[17:28:00] avrelaun: has joined #ruby
[17:29:15] mzo: has joined #ruby
[17:30:23] patarr1: has joined #ruby
[17:33:03] millerti: has joined #ruby
[17:35:10] gusrub: has joined #ruby
[17:37:21] certainty: has joined #ruby
[17:38:35] chouhoulis: has joined #ruby
[17:41:59] gusrub: has joined #ruby
[17:42:32] djbkd: has joined #ruby
[17:44:42] synthroid: has joined #ruby
[17:53:10] gusrub: has joined #ruby
[17:56:21] TomyLobo2: has joined #ruby
[18:02:37] __Yiota: has joined #ruby
[18:09:03] enterprisey: has joined #ruby
[18:09:36] jenrzzz: has joined #ruby
[18:10:50] crst: has joined #ruby
[18:12:08] naprimer: has joined #ruby
[18:13:13] newdan: has joined #ruby
[18:14:56] Fin1te: has joined #ruby
[18:16:25] newdan: Does anyone know the Ruby equivalent to `def something(*args, **kwargs):` in Python?
[18:16:47] hahuang62: has joined #ruby
[18:17:09] mim1k: has joined #ruby
[18:17:10] newdan: I think I can use the same *args syntax to get varargs, but what's the equivalent for Ruby's keyword arguments?
[18:17:27] hobodave: has joined #ruby
[18:18:16] ramfjord: has joined #ruby
[18:19:19] newdan: ...ah nevermind it is apparently the exact same syntax, cool
[18:19:22] tenderlove: has joined #ruby
[18:20:34] tvon: has joined #ruby
[18:21:29] bastrud: has joined #ruby
[18:22:27] gusrub: has joined #ruby
[18:28:10] psychicist__: has joined #ruby
[18:29:04] gypsydave5: has joined #ruby
[18:34:18] senayar: has joined #ruby
[18:34:18] senayar: has joined #ruby
[18:36:16] jonjitsu: has joined #ruby
[18:39:57] chopin: has joined #ruby
[18:40:55] ramfjord: has joined #ruby
[18:47:04] iceden: has joined #ruby
[18:48:15] renchan: has joined #ruby
[18:48:38] t-recx: has joined #ruby
[18:48:54] jamesaxl: has joined #ruby
[18:52:28] roamingdog: has joined #ruby
[18:53:06] nowhere_man: has joined #ruby
[18:54:03] nowhereman: has joined #ruby
[18:54:50] jenrzzz: has joined #ruby
[18:54:50] jenrzzz: has joined #ruby
[18:57:20] tvw: has joined #ruby
[18:58:40] Disavowed: How do people unit test gems written for Rails?
[19:00:27] edliss: has joined #ruby
[19:03:13] havenwood: Disavowed: Often with the suite of unit testing facilities that ships with Ruby called Minitest.
[19:04:34] d5sx43: has joined #ruby
[19:07:28] anisha: has joined #ruby
[19:09:43] bmurt: has joined #ruby
[19:10:34] milardovich: has joined #ruby
[19:11:02] dtzuzu: has joined #ruby
[19:15:20] bkxd: has joined #ruby
[19:15:27] muelleme: has joined #ruby
[19:16:32] Disavowed: havenwood: Thanks for the pointer - treading new territory. I'll be fine with rspec (theoretically) though right?
[19:17:05] Disavowed: Is there something I have to do to set up Rails correctly in my tests? https://bpaste.net/show/b0917f12da58
[19:20:00] Disavowed: Oh, ignore all that. I just discovered: http://guides.rubyonrails.org/plugins.html - Serves me right for using DDG instead of Google! Thanks for the help though havenwood.
[19:21:52] HoierM: has joined #ruby
[19:21:57] mrmortondk: has joined #ruby
[19:23:54] duderonomy: has joined #ruby
[19:24:28] jaequery: has joined #ruby
[19:26:28] RenatoSilva: has joined #ruby
[19:26:34] Renich: has joined #ruby
[19:27:36] pytuger: has joined #ruby
[19:27:54] pytuger: has joined #ruby
[19:31:08] djbkd: has joined #ruby
[19:33:33] kitikonti: has joined #ruby
[19:34:20] mcantor: x86_64-darwin15/readline.bundle
[19:34:41] mcantor: "library not loaded", "image not found"
[19:35:52] jdm: has joined #ruby
[19:36:29] newdan: has left #ruby: ("ERC (IRC client for Emacs 25.1.1)")
[19:38:04] lmc: has joined #ruby
[19:40:20] djbkd: has joined #ruby
[19:40:29] yehowyada: has joined #ruby
[19:41:18] olivier__: has joined #ruby
[19:43:48] mcantor: aarghghghgh
[19:43:52] mcantor: why can't I run pry anymore?!
[19:44:24] Derperperd: has joined #ruby
[19:44:25] dionysus69: has joined #ruby
[19:44:30] kirun: has joined #ruby
[19:47:18] mwlang: Disavowed: DDG is a nice idea, but definitely leaves me wanting for something more every time I try the service out.
[19:47:23] roamingdog: has joined #ruby
[19:48:30] lxsameer: has joined #ruby
[19:49:07] DLSteve: has joined #ruby
[19:49:22] Disavowed: mwlang: I've had more success since I discovered you can prefix searches with g!, m! and i! which will anonymously search Google, Google Maps and Google Images directly - I wish I'd known that starting out!
[19:50:52] mcantor: whoa, that's rad
[19:52:32] Disavowed: Happy to help :)
[19:53:14] dminuoso: Disavowed: If only ddg was as quick and nimble as google.
[19:54:13] dminuoso: Disavowed: It's quite amazing that it's super frustrating to have to wait more than 100ms until the page is rendered to the point where elements don't keep rearranging.
[19:56:45] MarioEIU: has joined #ruby
[19:58:39] Disavowed: dminuoso: I couldn't agree more. I've been making a bit more of an effort to extricate myself from google, and I don't think things like DDG, Firefox for Android or Safari on OS X are as good as their Google counterparts. OsmAnd pisses on Google maps though!
[19:58:42] Renich__: has joined #ruby
[19:58:55] JeanCarloMachado: has joined #ruby
[19:59:26] username: has joined #ruby
[20:01:00] djbkd: has joined #ruby
[20:01:02] lmc: has joined #ruby
[20:01:05] chopin_: has joined #ruby
[20:03:45] hahuang65: has joined #ruby
[20:04:54] Derperperd: has joined #ruby
[20:05:20] hobodave: has joined #ruby
[20:05:56] jamesaxl: has joined #ruby
[20:06:52] djbkd: has joined #ruby
[20:06:56] milardovich: has joined #ruby
[20:07:22] hahuang65: has joined #ruby
[20:07:50] certainty: has joined #ruby
[20:08:23] jenrzzz: has joined #ruby
[20:09:01] SilentNinja1: has joined #ruby
[20:09:31] mwlang: Disavowed: oh, nice! I didn’t know about that feature.
[20:09:56] SilentNinja1: HI, Can anyone help? When I run bundle exec --verbose rake db:migrate --trace, I get stuck on Execute environment
[20:10:10] SilentNinja1: even with verbose and --trace I get not errors
[20:10:41] SilentNinja1: my MYSQL environment variables are all set correctly in database.yml
[20:10:43] ozcanesen: has joined #ruby
[20:10:49] SilentNinja1: any help would be appreciated. thanks
[20:11:04] lmc: has joined #ruby
[20:11:27] mwlang: SilentNinja1: what does “I get stuck on Execute environment” mean? a little vague…perhaps a gist of the error?
[20:11:44] SilentNinja1: it stays there
[20:11:45] SeepingN: has joined #ruby
[20:11:47] SilentNinja1: ** Invoke db:migrate (first_time)
[20:11:47] SilentNinja1: ** Invoke environment (first_time)
[20:11:48] SilentNinja1: ** Execute environment
[20:12:18] SilentNinja1: doesn't event connect to database
[20:12:35] mwlang: Ah…so it’s timing out on connecting to the database?
[20:13:03] SilentNinja1: if it timesout it should exit, correct?
[20:13:06] bastrud: has joined #ruby
[20:13:14] baweaver: Is the database even running?
[20:13:14] SilentNinja1: bundle -v Bundler version 1.14.6
[20:13:42] baweaver: local environment?
[20:13:45] mwlang: well, actually, if you have timeout 0 and you’re doing a migration that just plain takes a while, you’ll sit watching until it completes.
[20:14:07] srl295: has joined #ruby
[20:14:10] baweaver: `ps aux | grep mysql` if you're looking to find if it is running
[20:14:54] mwlang: I’ve had some migrations take 20 ~ 30 minutes to run, but I can’t really say if that’s your issue or not. If you’re not making a connection at all, the connect/open attempt usually times out in 30 to 45 seconds.
[20:15:43] SilentNinja1: the local DB is running,I'm on it using SequelPro and don't see the other connection or any process runing
[20:15:46] SilentNinja1: with show processlist
[20:16:08] baweaver: You tried restarting yet?
[20:16:24] SilentNinja1: OK, I'l try to restart the DB
[20:16:33] SilentNinja1: mariadb shouldn't matter, correct?
[20:16:55] baweaver: not that I know of
[20:16:59] baweaver: failing that restart the computer.
[20:17:14] hahuang65: has joined #ruby
[20:19:11] Disavowed: mwlang: an argument could be made for it being the best feature of DDG :P
[20:20:06] dminuoso: Guys. Is there a RubyVM precompiler around?
[20:20:14] dminuoso: Im dead sick of rails taking like 20s to boot every time.
[20:20:32] dminuoso: Im willing to bet a good portion of that is just spend on IO, parsing and compiling.
[20:21:15] Papierkorb: dminuoso: haven't used Rails in ages, but Ruby 2.4 improved loading times for libs like ActiveSupport for me
[20:21:24] amargherio: has joined #ruby
[20:21:25] dminuoso: Papierkorb: How significantly?
[20:21:29] SilentNinja1: still no luck after restart MariaDB
[20:21:38] Papierkorb: dminuoso: In a stupid test, 40-50% faster
[20:21:45] mwlang: dminuoso: no precompiler that I’m aware of, but spring and zeus oughta make warmups a good deal faster for you.
[20:23:17] havenwood: dminuoso: Yup, precompile your Ruby (.rb) to YARV bytecode (.yarb): https://github.com/ko1/yomikomu#readme
[20:23:38] dminuoso: havenwood: That's beautiful, the gem looks exactly what I was looking for.
[20:23:48] havenwood: About a 30% speedup it looks like.
[20:24:10] havenwood: dminuoso: It's pretty nifty. We'll see if it makes it into Ruby 3.
[20:24:26] dminuoso: Oh that's from from Koichi :)
[20:24:31] havenwood: dminuoso: yup!
[20:25:16] havenwood: dminuoso: They discussed yomikomu a bit in this interview: https://blog.heroku.com/ruby-3-by-3
[20:25:21] montanonic: has joined #ruby
[20:25:40] havenwood: "It’s only a small improvement, I think, maybe 30%."
[20:26:07] Toledo: has joined #ruby
[20:26:13] dminuoso: Well, considering their goal of 300% it's certainly not a major part.
[20:26:14] havenwood: "30% is huge." ~Matz
[20:26:43] dminuoso: havenwood: Incidentally it implies that 30% of the time must be spent in the lexer/parser/compiler
[20:26:47] dminuoso: Which is crazy.
[20:27:06] havenwood: dminuoso: Indeeeed!
[20:28:02] burgestrand: has joined #ruby
[20:29:21] duckpuppy: has joined #ruby
[20:29:43] dminuoso: havenwood: There seems to be a quite awkward mistranslation in there.
[20:30:09] dminuoso: havenwood: Either the word "guild" is grossly mistranslated, or they coined a new term there.
[20:30:12] dminuoso: It's really hard to say.
[20:31:00] zeroDi: has joined #ruby
[20:31:57] matthewd: I can't speak to the term's origins, but guilds is indeed the name of the planned concurrency system
[20:34:20] Bish: dminuoso: do you live here, whenever i come here you're there aswell
[20:34:38] Joufflu_: ^means you live here too
[20:34:50] olivier__: has joined #ruby
[20:35:29] rgr: has joined #ruby
[20:35:41] Bish: that one didn't really focus in 1 semstre cs
[20:36:13] Bish: i could come here once a year, and that statement would still be true
[20:36:18] baweaver: ACTION lives in a tent in the back
[20:37:20] Bish: as long as it has irc
[20:40:51] ramfjord: has joined #ruby
[20:43:19] brent__: has joined #ruby
[20:43:26] dminuoso: Bish: Without knowing where there is, I cannot answer that question with anything other than "I do not know"
[20:44:10] cagomez: is there a difference between foo | bar and foo || bar?
[20:44:16] dminuoso: cagomez: Yes.
[20:44:48] vali: has joined #ruby
[20:45:26] rhyselsmore: has joined #ruby
[20:45:58] cagomez: dminuoso: can you explain?
[20:46:11] bkxd: has joined #ruby
[20:46:14] dminuoso: asm>> 1 | 2
[20:46:20] ruby[bot]: dminuoso: I'm terribly sorry, I could not evaluate your code because of an error: NoMethodError:undefined method `[]' for nil:NilClass
[20:46:30] dminuoso: asm>> 1 | 2
[20:46:36] ruby[bot]: dminuoso: I'm terribly sorry, I could not evaluate your code because of an error: NoMethodError:undefined method `[]' for nil:NilClass
[20:46:49] Xaitec: has joined #ruby
[20:46:52] tAn: has joined #ruby
[20:47:03] dminuoso: cagomez: One is a method and the other one is the boolean or operator.
[20:47:13] havenwood: #=> [[:binary, [:@int, "1", [1, 0]], :|, [:@int, "2", [1, 4]]]]
[20:47:30] dminuoso: havenwood: Close.
[20:47:50] dminuoso: havenwood: I asked for asm not ast :P
[20:47:56] hobodave_: has joined #ruby
[20:48:02] havenwood: ahh, right, hah
[20:49:11] dminuoso: >> class Foo; define_method(:|) { |other| puts "#{self} called with #{other}" }; end; Foo.new | 1
[20:49:16] dminuoso: ACTION kicks ruby[bot] 
[20:49:17] ruby[bot]: dminuoso: I'm terribly sorry, I could not evaluate your code because of an error: NoMethodError:undefined method `[]' for nil:NilClass
[20:49:44] havenwood: #=> #<Foo:...> called with 1
[20:49:59] havenwood: I'm a bad REPL. I need to work on consistency.
[20:50:00] dminuoso: cagomez: ^-
[20:50:58] dminuoso: cagomez: The only special thing about | is that you can't define it with "def" directly I think, otherwise it's kinda like #+ or #* - it means whatever you define it to be.
[20:51:12] lmc: has joined #ruby
[20:52:45] elomatreb: dminuoso: You can: https://github.com/ruby/ruby/blob/trunk/lib/set.rb#L424
[20:53:44] dminuoso: elomatreb: Mm yeah. Dunno why pry was hating me a moment ago.
[20:54:19] dminuoso: cagomez: Conventionally this method is used for union semantics though.
[20:54:20] matcouto: has joined #ruby
[20:54:30] dminuoso: >> [1,2,3] | [4,5]
[20:54:31] ruby[bot]: dminuoso: # => [1, 2, 3, 4, 5] (https://eval.in/758566)
[20:54:53] elomatreb: >> 2 | 1 # Or bitwise-or
[20:54:58] ruby[bot]: elomatreb: I'm terribly sorry, I could not evaluate your code because of an error: NoMethodError:undefined method `[]' for nil:NilClass
[20:55:08] elomatreb: ... it would return 3
[20:55:36] dminuoso: elomatreb: Interesting, I just realized that even for bitwise-or it's still union semantics on a bit level.
[20:59:05] electrostat: has joined #ruby
[21:01:16] gnufied: has joined #ruby
[21:11:20] hobodave: has joined #ruby
[21:12:30] Bish: dminuoso: this channel ofc, don't act like that
[21:13:48] djbkd: has joined #ruby
[21:14:47] deviation: has joined #ruby
[21:15:16] Deviated: I think I accidentally uninstalled a gem the wrong way, is there some standard way to clean it up?
[21:15:26] Deviated: # vagrant /usr/lib/ruby/2.3.0/rubygems.rb:241:in `bin_path': can't find gem vagrant (>= 0.a) (Gem::GemNotFoundException) from /usr/local/bin/vagrant:22:in `<main>'
[21:15:41] Deviated: That gem shouldn't be present
[21:16:12] Deviated: I tried 'gem uninstall <gem>', but it doesn't print any output
[21:16:29] jenrzzz: has joined #ruby
[21:16:29] jenrzzz: has joined #ruby
[21:16:47] username1: has joined #ruby
[21:24:25] gnufied: has joined #ruby
[21:24:52] hxegon: Deviated: Hmm... Try gem uninstall <gem> --debug
[21:26:13] Deviated: Thanks hxegon
[21:26:30] Deviated: I think I found my problem, on jenkins I had an environment variable set to point to another gem location
[21:26:51] Deviated: rvm + jenkins is messing me up.. there are jobs that use 2 different ruby versions
[21:27:02] Deviated: separate jobs, i mean
[21:31:06] jenrzzz: has joined #ruby
[21:31:06] jenrzzz: has joined #ruby
[21:33:52] millerti: has joined #ruby
[21:35:56] bronson: has joined #ruby
[21:36:30] Synthead: has joined #ruby
[21:37:18] aryaching: has joined #ruby
[21:38:50] hobodave: has joined #ruby
[21:39:38] tubuliferous: has joined #ruby
[21:46:54] bkxd: has joined #ruby
[21:47:37] milardovich: has joined #ruby
[21:47:57] ddv: has joined #ruby
[21:48:09] ddv: has left #ruby: ("Leaving")
[21:48:18] agent_white: has joined #ruby
[21:54:54] davic: has joined #ruby
[21:54:57] hxegon: Bish: Reading that flame war from earlier, do you know if there's a video about that haskell talk you were referencing?
[21:55:07] hxegon: s/about/of
[21:56:04] bastrud: has joined #ruby
[21:56:55] charliesome: has joined #ruby
[21:56:59] Lord_of_Life: has joined #ruby
[22:00:15] milardovich: has joined #ruby
[22:00:17] JeanCarloMachado: has joined #ruby
[22:01:13] Bish: hxegon: no, but i know their project, they wrote it for
[22:01:22] Bish: and there is no video as far as i know
[22:01:23] hinbody: has joined #ruby
[22:01:40] raspado: has joined #ruby
[22:02:12] Bish: https://www.herculus.io/ they put all this weird effort into their framework to built a fancy version of exce
[22:02:40] nobitanobi: has joined #ruby
[22:02:41] Bish: at the conference, i asked them if i could see their framework, and they were like "well, we talked about it, doing something on your own would be very easy"
[22:03:27] Bish: they wrote their own webserver backend with haskell, have models in there, which code gets reused on client-side
[22:03:32] Bish: which is very impressive
[22:03:47] Bish: they use ghcjs and it's ffi to create reactjs bindings
[22:03:52] Bish: that's all there is according to them
[22:04:42] Bish: im building something like that myself in ruby, but there is always that thing that demotivates me.. compiled code size, and startup time
[22:05:06] Bish: maybe now where webassembly is a thing, i might be able to create something usable
[22:05:14] Bish: as soon as opal / something else compiles to wasm
[22:07:10] hxegon: Crazy, didn't know Haskell had a JS transpiler, but hey, what doesn't these days.
[22:07:29] Bish: it's not transpiled, i think it's compiled
[22:07:30] Bish: not sure.
[22:11:18] charliesome: has joined #ruby
[22:11:30] Bish: hxegon: opal is more impressive if you ask me
[22:11:42] Bish: pretty flawless ruby mapping
[22:11:50] Bish: except for mutability of strings
[22:21:08] raspado: has joined #ruby
[22:21:25] gusrub: has joined #ruby
[22:27:43] gusrub_: has joined #ruby
[22:27:44] tomphp: has joined #ruby
[22:29:33] hahuang65: has joined #ruby
[22:31:42] chopin: has joined #ruby
[22:32:00] LuckyABA: has joined #ruby
[22:33:07] djbkd: has joined #ruby
[22:33:57] Disavowed: Opal is one of the most impressive libraries I've used in Ruby. I notice a lot of Haskell talk in this channel - is Ruby to Haskell a particularly well trodden path? I ask because I'm getting my feet wet with Haskell at present and am finding it more than a little challenging.
[22:33:59] mim1k: has joined #ruby
[22:35:35] Azure: has joined #ruby
[22:35:38] marxarelli: has joined #ruby
[22:35:42] LuckyABA: has joined #ruby
[22:36:20] hxegon: Disavowed: Well, I can't speak for everyone else, but it's a path I've been dipping my toes in for a long time. The biggest obstacle for me personally isn't the shift from OO -> FP, but from dynamic to static typing, and interpreted to compiled. One of the biggest reasons I'm looking into elixir now.
[22:37:34] Papierkorb: Disavowed: That interest in functional programming isn't special to Rubyists, but a trend in general for the last two years
[22:37:36] havenwood: Disavowed: Maybe give Elm a look.
[22:38:20] certainty: has joined #ruby
[22:38:42] Papierkorb: Disavowed: Many think of it as the holy grail, which is questionable. But looking into them is a good idea, there are some things common in Ruby that stem from there from a high-level perspective, like map'ing stuff could be attributed to that
[22:39:23] Papierkorb: Disavowed: In the end, if you end up liking it you have another valuable tool in your box, and if you don't like it, you know what you don't want to pursue, which is also fine
[22:39:58] elomatreb: E.g. you're already using some "functional" concepts if you're using map/select/inject in Ruby
[22:40:41] Disavowed: Papierkorb: Nothing raised my programming game more than learning Clojure - it was so alien to me from a Python/Ruby background. I'm a big fan of FP (particularly when compared with OO!)
[22:41:09] Disavowed: I hear great things about Elm. It's one of those things that seems so well designed but seems to lack the uptake. Like Nim I guess.
[22:41:42] hxegon: Clojure felt like a very natural language coming from ruby. Out of all the languages I've dabbled in, I felt the most at home with Clojure.
[22:41:58] Disavowed: I really want to like Elixir too. I'm yet to have that 'Aha' moment that everyone at Ruby meetups seems to have had almost immediately
[22:42:22] Disavowed: hxegon: I think I made learning it more difficult than it needed to be!
[22:43:22] Papierkorb: I've been using Crystal now for some months and really like it. Sadly, no big corporate backing, so it's moving slower and has a few bugs. Still impressive considering that it's working fine
[22:44:19] araujo: has joined #ruby
[22:44:19] araujo: has joined #ruby
[22:44:26] Papierkorb: Feels like a natural progression, taking the good parts and improving on the bad
[22:46:55] hxegon: Crystal looks great, but since they are so close to 1.0 (from what I've heard), I figure I'll just wait a minute and try then.
[22:47:15] Disavowed: Papierkorb: I've never heard of Crystal before. It looks interesting. What does it do differently to Ruby? I notice the syntax is pretty similar!
[22:47:27] hxegon: Disavowed: for one it's statically typed
[22:47:59] Papierkorb: hxegon: Don't hold your breath if you can't for about 10 months at least :) Just give it a try now, you can still decide to back off and try again in six months or so
[22:48:27] Disavowed: hxegon: Just read that the moment you wrote it!
[22:48:34] hxegon: Disavowed: but it has type inference so it doesn't look too different in that respect
[22:48:39] Disavowed: Oooh macros
[22:48:39] Papierkorb: Disavowed: TL;DR is: Ruby (syntax, ideas, ...) with static typing (and type deduction), go-style concurrency and of course, compiled language
[22:48:42] CloCkWeRX: has joined #ruby
[22:48:47] charliesome: has joined #ruby
[22:49:07] Disavowed: Concurrency is a big one. Nice.
[22:49:10] Papierkorb: Disavowed: tbh, it's way too fast for what it is. I was constantly impressed before getting used to it ;)
[22:49:33] Papierkorb: Oh and yeah, macros are fantastic. I abuse them here and there hehe
[22:50:01] Papierkorb: We're active in #crystal-lang too, so if you have questions or whatever, please join
[22:51:22] Disavowed: Papierkorb: That's always the temptation with macros. You know, I might give it a look later this week. Thank you for putting me onto it - I'd never have known otherwise.
[22:52:51] Papierkorb: Disavowed: Of course, macros should be avoided. But I don't like damning a technology, I want to teach them so people know their bounds and make effective use of them instead. They have many insanely powerful capabilities
[22:52:53] bastrud: has joined #ruby
[22:53:12] Papierkorb: You can literally walk the AST if you need (I haven't yet)
[22:54:33] Disavowed: That's insanely cool! I'm disliking Python more each day!
[22:54:57] havenwood: Question at RubyConf: Will Ruby ever get macros?
[22:55:00] havenwood: Matz: Short answer, "No." Long answer, "No way!"
[22:55:10] Papierkorb: Why would Ruby need macros?
[22:55:25] havenwood: Papierkorb: There is more than one way to do it? :-P
[22:55:51] Papierkorb: havenwood: `alias macro instance_exec`
[22:56:00] Papierkorb: “Close Enough”
[22:56:06] JeanCarloMachado: has joined #ruby
[22:56:27] havenwood: I'm not advocating for macros.
[22:56:28] havenwood: ACTION shivers
[22:56:32] baweaver: https://leanpub.com/combinators
[22:56:36] baweaver: Use these then :D
[22:57:01] Bish: Disavowed: didn't read the discussion after that but your question
[22:57:15] Bish: imho, ruby and haskell are two extremes, which should be, which is impossible
[22:57:21] Bish: like.. that is how the universe works
[22:57:30] Bish: which should be one
[22:57:43] dviola: has joined #ruby
[22:57:54] Bish: there is complexity, there is entropy, there is state, there is no state, there is ruby, there is haskell
[22:58:01] baweaver: Ruby is super hybrid
[22:58:13] Bish: im making it a bit philosophical and mystical, but i think that's what a programmer has to master
[22:58:28] Bish: the sweespot between state and not state, in order to write good code
[22:58:45] Bish: i guess thats why people talk about functional programming languages in here
[22:59:03] Bish: they come to ruby, because it's awesome, and then notice that being at that end of the extreme sucks, too
[22:59:03] hxegon: *A* sweetspot certainly, I feel.
[22:59:20] Bish: you can never have what you want
[22:59:26] Bish: baweaver: that's just bullshit
[22:59:54] xzhao_: has joined #ruby
[22:59:56] Bish: the functional capabilities of ruby are not usuable to large degree
[23:00:01] baweaver: ACTION wants whatever bish is smoking
[23:00:16] Bish: the most awesome implications of having a pure functional languages are not usuble in ruby
[23:00:26] Bish: just because you have map you don't have a functional language nor a hybrid
[23:00:30] ruby[bot]: has joined #ruby
[23:00:30] ChanServ: +o ruby[bot]
[23:01:08] baweaver: To say that Ruby is the opposite extreme of Haskell though is pretty far fetched
[23:01:09] djbkd: has joined #ruby
[23:01:22] Bish: baweaver: well, what does an object have, if it's not state
[23:01:26] baweaver: Java, maybe, but even that's a stretch
[23:01:33] Disavowed: Bish: This is a really interesting take
[23:01:43] nofxx: Bish, bullshit what y'r saying... you can write both extremes in ruby, dunno another lang soh flexible
[23:02:00] Bish: nofxx: you just have no clue
[23:02:20] Bish: and even if you could, which you can't, the coolest features of being "pure"-functional will not apply in ruby
[23:02:24] Bish: like transactional memory
[23:02:26] baweaver: Bish: stop being condescending
[23:02:54] Bish: wait, let me google that work
[23:03:12] aaooki: has joined #ruby
[23:04:17] mzo: has joined #ruby
[23:05:00] nofxx: manual memory management is the coolest feat in a lang? But anyways, which lang is more flexible Bish?
[23:05:29] Bish: what language are you talking about, and i never said ruby wasn'T flexible
[23:05:42] Bish: whatever flexible means in this context
[23:06:20] nofxx: and again, not that it's a feat... actually is funny, you look at some ruby codes and say .. hm, this guy is PHP... but 90% will be java
[23:06:26] kristofferR: has joined #ruby
[23:06:34] Bish: sorry, i have no clue what you are even talking about
[23:07:04] nofxx: OO <> functional, kinda parachuted in the subject .... wasn't the argue? heh
[23:07:27] elomatreb: Aren't there actually object-oriented Haskell variants?
[23:07:59] Bish: aren't typeclasses in haskell kinda like objects? that's not what i mean
[23:08:08] burgestrand: has joined #ruby
[23:08:29] Bish: nofxx: and what has java and php to do with it, i really can't follow you, im sorry
[23:08:39] elomatreb: I'm only halfway through my Haskell tutorial, but from what I understand typeclasses are more like interfaces?
[23:09:45] kristofferR: has joined #ruby
[23:10:15] Bish: afaik you can say, what a certain can do, which feels a bit like methods
[23:10:37] Bish: but as soon as you have state, you're not function.. objects or not, basicially i mean the state
[23:10:45] Bish: objects are pretty pointless without state imho
[23:11:12] Bish: but i am writing mad, since im overtired
[23:11:22] Bish: so alot that i write doesn't make sense :D
[23:11:28] rhyselsmore: has joined #ruby
[23:11:40] nofxx: Bish, just a practical point of ruby flexibility, you can write in so many ways... that the programmer's mindflow keeps the same
[23:11:44] Bish: even oo-haskell won't be buckets sending messages to each other
[23:12:05] nofxx: kinda like, ok I'll adapt to you (the tool, ruby), not the other way around
[23:12:08] Bish: nofxx: i love ruby, this is not a flamewar, imho it's the best language, besides being slow and not good for threading
[23:12:17] Snowy2525: has joined #ruby
[23:12:18] nofxx: kinda why I like emacs for vim too
[23:12:21] Bish: i was denying the fact that ruby is a "hybrid"
[23:12:23] nofxx: over vim*
[23:12:46] Snowy2525: what's a "hybrid" ??
[23:12:53] Bish: Snowy2525: lol i dunno
[23:13:09] nofxx: that's the argue ...
[23:13:20] Snowy2525: @Bish IRC is kinda dead these days ...
[23:13:22] Bish: no, it's an assumption
[23:13:40] nofxx: Bish, yup, wrong assumption
[23:13:42] Bish: are you a) the worst bot in history b) the worst troll in history
[23:14:14] Bish: do you a) trying to pass the turing test b) got really nothing better to do
[23:14:30] Bish: poor you, i hope your day gets better
[23:14:43] elomatreb: What do you think of functional programming though
[23:14:51] Snowy2525: @all good chan
[23:15:40] Bish: im heading to bed, sorry for mad talk
[23:15:56] Snowy2525: @Bish then go sleep now bitch ;-)
[23:16:03] hxegon: g'night Bish
[23:16:47] Disavowed: elomatreb: Which tutorial are you using?
[23:17:10] Snowy2525: @Disavowed what is a tutorial??
[23:17:16] Bish: hxegon,all: gn!
[23:17:25] elomatreb: Disavowed: learnyouahaskell.com, someone in here recommended it iirc
[23:17:44] Bish: Snowy2525: https://www.youtube.com/watch?v=MwFlN6q2uMA
[23:18:02] Snowy2525: @Biah I ain't got no YT connection
[23:18:14] Snowy2525: mistype :-/
[23:18:24] Snowy2525: @Bish I ain't got no YT connection
[23:18:52] Disavowed: elomatreb: Ah I know the one.
[23:19:21] Snowy2525: @Disavowed from where??
[23:19:34] elomatreb: I'll have to learn Haskell for university next semester anyway, so I figured I'd just go ahead and do it on my own
[23:19:42] bastrud: has joined #ruby
[23:21:19] bungoman: has joined #ruby
[23:23:42] LuckyABA: has joined #ruby
[23:23:55] Disavowed: Snowy2525: here: http://learnyouahaskell.com
[23:24:03] Disavowed: elomatreb: I've heard worse reasons!
[23:25:03] lacrymology: has joined #ruby
[23:25:11] hxegon: elomatreb: I'd start now for sure. Maybe you'll have better luck than I have, but I keep bouncing off of it.
[23:25:41] Disavowed: hxegon: Same. I'm not sure why.
[23:25:57] Disavowed: I've never met a bad programmer who knew Haskell.
[23:26:05] elomatreb: Actually programming in it is probably a different thing, but I like the concepts so far
[23:27:02] RX14: has joined #ruby
[23:27:35] hxegon: I get most of the concepts, but there's something I'm missing. My current theory is that I'm used to a more "spike/refactor" style, where I'm not exactly sure what I need, but if I get started i'll figure it out as I'll go along, and I don't think that works quite as well in haskell, at least not for a semi-beginner.
[23:29:31] fnux: has joined #ruby
[23:30:30] raspado: has joined #ruby
[23:31:11] nofxx: oh, now I rememberWhatIDidntLikeInHaskell
[23:31:16] cibs: has joined #ruby
[23:32:05] RX14: has left #ruby: ("Leaving")
[23:33:54] Aeyris: Camel case?
[23:33:57] hahuang65: has joined #ruby
[23:33:57] gusrub: has joined #ruby
[23:35:27] nofxx: Aeyris, and all this functional thing that is just -> arrow magic... but that's me, think my brain don't like to work functionally
[23:35:32] rgr: has joined #ruby
[23:38:08] bastrud: has joined #ruby
[23:38:13] hxegon: nofxx: you mean type signatures? like sum :: Num a => [a] -> a
[23:39:59] elomatreb: Defining a multi-parameter function like `=> a -> a -> a` seems really weird at first but suddenly makes a lot of sense once you get to currying
[23:40:01] nofxx: mother of all those is lisp, all the other feel like was a spin off from a guy who's church doesn't permit parenthesis =P
[23:41:18] nofxx: hxegon, just glanced, no idea
[23:44:53] Disavowed: elomatreb: I'm just at the currying part. I understand it conceptually, but I don't understand why it is a good approach. I suspect my Lambda Calculus knowledge (or lack thereof) is what is holding me back there.
[23:44:57] montanonic: has joined #ruby
[23:45:45] hxegon: Disavowed: You should check out the haskell book ( which I'll link in a second )
[23:46:02] hxegon: Disavowed: http://haskellbook.com/
[23:46:10] elomatreb: Disavowed: I'm not a math person either, but the reason (from what I understand) currying is useful is e.g. because you can use any function for things like map, without needing a construct like Ruby blocks
[23:46:37] hxegon: First bit is about lambda calculus.
[23:46:43] roamingdog: has joined #ruby
[23:46:56] hxegon: It's a super thorough book, about ~2000ish pages
[23:47:25] hxegon: another example
[23:47:38] hahuang65: has joined #ruby
[23:47:40] bkxd: has joined #ruby
[23:48:03] hxegon: reduce takes 3 arguments, the function, the collection, and an initial value
[23:48:26] icarus: has joined #ruby
[23:48:43] hxegon: in ruby you can define sum like this:
[23:50:48] hxegon: >> def sum(list); list.reduce(0, &:+); end; sum [1, 2, 3]
[23:50:49] ruby[bot]: hxegon: # => 6 (https://eval.in/758666)
[23:51:33] hxegon: with currying, you could just say def sum; reduce 0 &:+; end
[23:51:44] JeanCarloMachado: has joined #ruby
[23:51:45] Disavowed: hxegon: This is the exact text I'm working through currently! I've never read anything that can make me feel so dim!
[23:51:51] Disavowed: hxegon: Oh I see. That's pretty neat
[23:52:14] hxegon: It's point free syntax, but currying helps with a lot of other stuff.
[23:52:28] hxegon: for example: def increment; + 1; end
[23:52:51] hxegon: It's much simpler (IMO) once you get past the initial wierdness
[23:53:06] hxegon: s/wierd/weird
[23:53:06] Disavowed: Yeah I can see that. Nice.
[23:53:25] FooMunki: has joined #ruby
[23:54:54] Trynemjoel: has joined #ruby
[23:57:35] roamingdog: has joined #ruby
[23:58:25] roamingdog: has joined #ruby
[23:59:10] roamingdog: has joined #ruby