« Back to channel list

#ruby - 15 April 2017

« Back 1 day Forward 1 day »
[00:03:42] Mint_: has joined #ruby
[00:05:58] esObe: has joined #ruby
[00:09:20] patarr: has joined #ruby
[00:11:04] jdawgaz: has joined #ruby
[00:11:49] jdawgaz: has joined #ruby
[00:12:39] jdawgaz: has joined #ruby
[00:13:24] jdawgaz: has joined #ruby
[00:14:14] jdawgaz: has joined #ruby
[00:15:44] Cohedrin_: has joined #ruby
[00:17:54] nofxx: has joined #ruby
[00:18:49] agent_white: has joined #ruby
[00:19:47] chouhoulis: has joined #ruby
[00:20:59] hinbody: has joined #ruby
[00:22:00] Cohedrin: has joined #ruby
[00:22:50] chouhoulis: has joined #ruby
[00:25:37] latemus: has joined #ruby
[00:25:52] latemus: does ruby have virtual_env equiv
[00:26:51] lupine: chruby, bundler, etc
[00:27:14] latemus: lupine: thanks bro
[00:27:33] lupine: ACTION feels the broforce
[00:27:36] lupine: nooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
[00:29:14] latemus: ACTION wears dark hood
[00:29:42] latemus: lupine, i am ur father
[00:29:54] latemus: s/father/brahther/
[00:30:30] lupine: something about higher ground. I don't know, star wars isn't my thing
[00:30:42] latemus: mine either lol
[00:33:44] hutch34_: has joined #ruby
[00:41:57] charliesome: has joined #ruby
[00:45:44] latemus: patriarchical lore pffffsh
[00:46:04] Cohedrin: has joined #ruby
[00:50:02] rakm: has joined #ruby
[01:05:22] Channel6: has joined #ruby
[01:06:48] esObe: has joined #ruby
[01:08:54] raul782: has joined #ruby
[01:10:15] yokel: has joined #ruby
[01:13:39] ericmathison: has joined #ruby
[01:17:25] Trynemjoel: has joined #ruby
[01:19:22] elsevero: has joined #ruby
[01:21:48] duderonomy: has joined #ruby
[01:27:03] Trynemjoel: has joined #ruby
[01:28:25] Pumukel: has joined #ruby
[01:31:03] rakm_: has joined #ruby
[01:36:25] yokel: has joined #ruby
[01:38:49] elsevero_: has joined #ruby
[01:41:08] mrconfused: has joined #ruby
[01:44:53] Robtop__: has joined #ruby
[01:46:33] minimalism: has joined #ruby
[01:46:51] cerulean: hey o////////
[01:46:54] cerulean: i love ruby
[01:47:00] cerulean: i've been coding it since 2010
[01:47:25] cerulean: i JUST discovered event machine. i see people hating on it but i like it more than node. yeah its counter-intuitive, but it works like really well
[01:47:40] cerulean: if you don't understand what deferring a block is, i feel sorry for your mother
[01:47:43] Radar: 3 months later: "callbacks are literally the worst"
[01:47:48] cerulean: i love callbacks lmao
[01:47:51] cerulean: why would you say that
[01:47:58] Radar: Because I know better ;)
[01:48:03] cerulean: give me a real reason
[01:48:07] Radar: But hey whatever works for you.
[01:48:18] cerulean: what's your answer to ruby concurrency? don't say use rbx lol please
[01:48:23] Radar: Because callbacks are spooky magic and it can be hard to debug a callback chain where the calls are implicit and not explicit.
[01:48:42] cerulean: sometimes there's no other way
[01:49:09] cerulean: i was able to get a pretty good design with my bot, using cinch, event machine, em-twitter, thin and sinatra... tons of asynchronous stuff running in harmony. i guess just don't code it wrong?
[01:49:18] cerulean: go higher in the stack trace to somewhere it makes sense i guess
[01:49:52] cerulean: i like pretty error messages too, but none of us would be here today if "undefined method [] on nil class" or something stopped us dead in our tracks
[01:50:15] Radar: no implicit conversion of string to integer
[01:50:54] cerulean: looks like "nehow nihongo konichiwa" written in kanji to a normal user
[01:51:04] havenwood: cerulean: https://github.com/ruby-concurrency/concurrent-ruby
[01:51:07] cerulean: and sounds like some rude comment to a programmer
[01:51:08] havenwood: cerulean: https://github.com/socketry/nio4r
[01:51:53] cerulean: woa, im impressed by concurrent-ruby
[01:51:56] cerulean: thanks havenwood !
[01:59:35] Trynemjoel: has joined #ruby
[02:01:12] Cohedrin: has joined #ruby
[02:05:02] libastral: has joined #ruby
[02:07:54] mim1k: has joined #ruby
[02:08:02] harfangk: has joined #ruby
[02:08:07] esObe: has joined #ruby
[02:13:24] bkxd: has joined #ruby
[02:14:03] duderonomy: has joined #ruby
[02:16:44] maxirater: has joined #ruby
[02:17:59] pickle_: has joined #ruby
[02:19:08] HippoDippo: has joined #ruby
[02:20:45] HippoDippo: When you create a temporary variable to hold the original variable's value, how do you protect the value of the temp variable from being changed when you change the original variable?
[02:21:22] pickle_: what type of variable is it?
[02:21:40] HippoDippo: Just a string.
[02:22:13] cahoots: has joined #ruby
[02:22:49] HippoDippo: when i run a reverse method on the original, it also reverses the temp
[02:22:52] cahoots: hi, how can i tell if a gem was installed by default and without me having to call "gem install ..."? i'm curious about nokogiri
[02:23:33] cahoots: i want to have some remote machines use nokogiri, but installing gems has turned out to be a real pain
[02:23:45] pickle_: sounds like you want the .dup method hippo
[02:23:48] pickle_: http://stackoverflow.com/questions/1465569/ruby-how-can-i-copy-a-variable-without-pointing-to-the-same-object
[02:23:57] pickle_: i didn't even know ruby behaved like this with strings
[02:24:30] HippoDippo: yeahh i havent had that in Js
[02:36:14] hutch34_: has joined #ruby
[02:36:38] jdawgaz: has joined #ruby
[02:36:44] cahoots: any ideas?
[02:37:37] Mint_: has joined #ruby
[02:44:25] mrconfused: has joined #ruby
[02:46:24] pickle_: it's true though
[02:46:33] pickle_: i'm just a rails beginner
[02:47:10] Radar: cahoots: "but installing gems has turned out to be a real pain" <- how so?
[02:48:43] cahoots: Radar, os x madness
[02:48:59] cahoots: basically i need sudo to install
[02:49:19] Radar: I guess that's because you didn't follow http://ryanbigg.com/2015/06/mac-os-x-ruby-ruby-install-chruby-and-you
[02:51:29] raul782: has joined #ruby
[02:55:12] cahoots: Radar, this is going to be rolled out to a bunch of developers machines, i don't want to make all of these modifications
[02:55:14] Trynemjoel: has joined #ruby
[03:01:27] aglorei: has joined #ruby
[03:04:45] gravyflex: has joined #ruby
[03:06:48] herbmillerjr: has joined #ruby
[03:09:22] Jameser: has joined #ruby
[03:14:06] bronson: has joined #ruby
[03:17:36] agent_white: has joined #ruby
[03:18:13] herbmillerjr: has joined #ruby
[03:21:02] cfec0b8d: has joined #ruby
[03:21:41] nathan420: has joined #ruby
[03:21:50] nathan420: what is your favorite keyboard?
[03:29:00] elifoster: has joined #ruby
[03:44:48] nathan420: has joined #ruby
[03:48:34] xall: has joined #ruby
[03:51:44] Trynemjoel: has joined #ruby
[03:58:20] shinnya: has joined #ruby
[03:59:23] cerulean: nathan420: the macbook pro keyboard
[03:59:39] cerulean: so Radar, is it blasphemous if i like Dart-Lang or atleast am impressed by it
[03:59:51] cerulean: why don't we have a JS compiler and AOT compilation again
[04:03:21] raul782: has joined #ruby
[04:03:34] gix: has joined #ruby
[04:05:19] mooser: has joined #ruby
[04:05:40] jdm: has joined #ruby
[04:09:21] esObe: has joined #ruby
[04:11:38] babykosh: has joined #ruby
[04:14:47] enterprisey: has joined #ruby
[04:28:22] jinie: has joined #ruby
[04:36:14] _whitelogger: has joined #ruby
[04:37:24] hutch34_: has joined #ruby
[04:41:04] charliesome: has joined #ruby
[04:47:34] al2o3-cr: has joined #ruby
[04:49:18] cerulean: should i switch to jruby on production?
[04:49:22] cerulean: it's OVER 9000 !!!!!!!!!
[04:49:32] cerulean: !!!!!!!!!!!!!!!!!
[04:55:22] vuoto: has joined #ruby
[04:58:53] atmosx: I have a "das keyboard" and I'm fairly happy with it.
[05:08:51] xall: has joined #ruby
[05:10:40] esObe: has joined #ruby
[05:10:56] beermouse: has joined #ruby
[05:12:29] cerulean: does it come with das techno
[05:12:34] cerulean: untz untz untz untz
[05:12:42] ben_h: has joined #ruby
[05:13:01] cerulean: woohoo guys, come to the rubymotion community. huge party, under new leadership
[05:13:42] cerulean: maybe girls idk
[05:13:58] cerulean: isn't there girls everywhere? so probably there as well
[05:14:14] cerulean: bring some girls
[05:14:41] randomness_: has joined #ruby
[05:14:48] cerulean: i'd be in trouble for this post if i had a job
[05:15:14] randomness_: Is this IRC ruby on rails related?
[05:15:55] randomness_: .join RubyOnRails
[05:17:39] cerulean: this is ruby-in-general
[05:18:26] havenwood: ?rails randomness_
[05:18:26] ruby[bot]: randomness_: Please join #RubyOnRails for Rails questions. You need to be identified with NickServ, see /msg NickServ HELP
[05:18:49] randomness_: @cerulean ok :)
[05:19:40] havenwood: cerulean: please stop with the "girls" stuff, it's not appropriate for this forum
[05:19:47] havenwood: cerulean: we try really hard to be welcoming to all
[05:21:04] cahoots: if you're going to talk about girls, make sure to also express interest in guys
[05:22:02] cerulean: yeah sorry havenwood it slipped off of my finger tips due to the excitement about the motion management change
[05:22:14] cerulean: the project got really stale, lrz never talked to any of us... idk
[05:22:15] cahoots: was rubymotion ever good
[05:22:32] randomness_: What do you guys think of rubymotion?
[05:22:38] randomness_: Is it as good as Ionic?
[05:22:39] cerulean: it's always been good and the latest versions have been very good but at the final version laurent failed to support an xcode upgrade for over 2 weeks, then sold company
[05:22:56] cerulean: Ionic is simply an upgraded phonegap right? they aren't that similar as you think
[05:23:03] cerulean: for very webpage like apps, I recommend Ionic
[05:23:05] wlanboy_: has joined #ruby
[05:23:10] cerulean: for Native type apps, I recommend rubymotion or xcode
[05:23:10] cahoots: but like, did anyone use it at scale and find that it worked well in the long haul
[05:23:12] mooser: has joined #ruby
[05:23:19] cerulean: well the new owner did
[05:23:24] cerulean: the author of the ios game A Dark Room
[05:23:29] cerulean: and he has a book
[05:23:31] cerulean: he said share it
[05:23:32] cerulean: so here you go
[05:23:38] cerulean: https://leanpub.com/survivingtheappstore/c/free
[05:23:40] randomness_: I havn't seen any popular app made with rubymotion
[05:23:50] cerulean: you wouldn't really know
[05:23:56] cerulean: they run exactly the same as a native app would
[05:24:14] cahoots: i'd imagine though that using ruby's core library is very slow
[05:24:23] randomness_: That's true, but normally people brag when their hybrid is that good
[05:24:25] cerulean: it doesn't have corelib actually
[05:24:32] cerulean: it's only ruby + APIs + AOT
[05:24:59] cahoots: so it's sort of a translator from ruby syntax into objc syntax, then that gets compiled like a normal app
[05:25:19] cerulean: the bad parts were slow development cycle, lack of enthusiasm from lrz
[05:25:25] cahoots: is "3 + 3" as fast in rubymotion as objc/c?
[05:25:31] cerulean: ruby -> LLVM IR -> OPCODES
[05:25:44] havenwood: cahoots: your String is really an NSString, etc
[05:25:46] cerulean: it uses clang, same thing xcode uses
[05:26:01] cahoots: makes sense, no more "@"s all over the place
[05:26:01] cerulean: it's a good tool but it had a few problems
[05:26:04] cerulean: lack of adoption
[05:26:13] cerulean: slow dev cycle
[05:26:21] cerulean: not open source
[05:26:33] cerulean: everything else is a 9/10 on that
[05:26:37] cerulean: yes and paid
[05:26:42] cahoots: without ruby's core library, i don't see that big of a benefit to it. it just sounds like a syntax upgrade from objc, and not that much better than swift
[05:26:53] cahoots: but with ruby's core lib in use, it'd be slow
[05:26:56] cerulean: there's tons of rubymotion libraries, now, i'm the author of one of them
[05:27:02] cerulean: it has it's own gem ecosystem
[05:27:05] havenwood: cahoots: Apple was considering it as an alternative future path to Swift at one point.
[05:27:22] havenwood: cahoots: It was grown in-house.
[05:27:27] cerulean: i consider it to be a lot better than swift... i promote ruby-everywhere
[05:27:39] cahoots: better why
[05:27:49] cerulean: it's not slow. ruby's core lib isn't needed. iOS and OS X APIs are used and wrapped by the gems i talked about
[05:27:56] cerulean: #BetterBecauseRuby
[05:27:58] randomness_: I also promote ruby everywhere but unfortunately, it's popularity is fading
[05:28:06] cerulean: who cares, stick with what you like
[05:28:08] cerulean: i like ruby
[05:28:14] cerulean: i like early 90s techno nobody else likes too
[05:28:20] cerulean: people like to go outside
[05:28:24] cerulean: i like ruby and basement
[05:29:26] cerulean: swift is whatevs. i really just wish apple picked up rubymotion instead
[05:29:48] cerulean: ive seen a lot of cool swift projects, and the deal is this, you can even use them from within ruby code with RM
[05:30:05] havenwood: randomness_: That's not true. Even the bizarre TIOBE ranking has Ruby on the rise.
[05:30:11] cerulean: if you felt like it, you can mix rubymotion, objective-c and swift code in the same project with native speed
[05:30:11] havenwood: randomness_: http://redmonk.com/sogrady/2017/03/17/language-rankings-1-17/
[05:30:14] Tharbakim: has joined #ruby
[05:30:14] Tharbakim: has joined #ruby
[05:30:48] cerulean: swift and objective-c benefitted from cocoapods anyways no matter what
[05:30:56] havenwood: randomness_: If by popularity you mean mentions on Hacker News rather than use, fine.
[05:31:08] randomness_: I last I checked TIOBE, ruby's ranked decreased by two
[05:31:12] cerulean: haha true havenwood
[05:32:02] randomness_: It's relieving that ruby is still in motion
[05:32:29] havenwood: Ruby 3 is planned for 2020.
[05:32:56] havenwood: Less than three years away. 2020 seems like it should be farther.
[05:33:18] randomness_: Any promising features to look up-to in ruby 3?
[05:34:31] havenwood: True multi-threaded parallelism with "guilds." Three times faster than Ruby 2.
[05:34:56] havenwood: Here's one interesting discussion on the progress: https://blog.heroku.com/ruby-3-by-3
[05:34:56] cerulean: ruby 2.4 is the best ruby ever imo
[05:35:26] cerulean: everyone make sure we all don't get killed and blown up so we can fucking release this shit
[05:35:34] cerulean: no chicago no iraq
[05:36:04] cerulean: we must secure the remaining ruby developers
[05:36:23] Tharbakim: has joined #ruby
[05:36:23] Tharbakim: has joined #ruby
[05:36:57] randomness_: I am teaching ruby to a class, creating a new breed, serving the cause :D
[05:38:53] Nilium: has joined #ruby
[05:40:22] cerulean: wooo hooo !!!! good deal. where at ?!
[05:40:59] randomness_: In a university
[05:41:11] cerulean: im suprised any university teaches ruby, that's cool
[05:41:33] randomness_: That wanted me to teach php, I told them it sucks and I am not going to do that :D
[05:42:18] Nilium_: has joined #ruby
[05:42:34] Silthias1: has joined #ruby
[05:45:20] cerulean: you did you duty as a netizen at a SCHOOL
[05:45:33] cerulean: i'm a mere open source programmer
[05:45:42] cerulean: you're pushing REAL FREE THOUGHT in REALITY. big up man
[05:46:04] cerulean: i just don't believe in paamayim nekudotaayims
[05:46:21] cerulean: i like how in ruby, the japanese stays japanese. etc
[05:48:15] Tharbakim: has joined #ruby
[05:48:16] Tharbakim: has joined #ruby
[05:49:16] claw: has joined #ruby
[05:49:27] Nilium: has joined #ruby
[05:52:08] Silthias1: has left #ruby: ()
[05:52:22] Cohedrin: has joined #ruby
[05:55:12] Tharbakim: has joined #ruby
[05:55:12] Tharbakim: has joined #ruby
[05:56:15] Nilium: has joined #ruby
[06:00:57] pickle_: has joined #ruby
[06:01:02] stee_3: has joined #ruby
[06:10:22] djbkd_: has joined #ruby
[06:11:57] stee_3: has joined #ruby
[06:12:04] esObe: has joined #ruby
[06:13:24] charliesome: has joined #ruby
[06:13:37] ElDoggo: has joined #ruby
[06:18:41] raul782: has joined #ruby
[06:20:27] r3m: has joined #ruby
[06:20:53] tmtwd: has joined #ruby
[06:22:45] bkxd: has joined #ruby
[06:29:37] r3m: has joined #ruby
[06:33:07] claw: has joined #ruby
[06:33:17] ramfjord: has joined #ruby
[06:35:57] Guest96: has joined #ruby
[06:38:33] hutch34_: has joined #ruby
[06:39:22] jgnagy: has joined #ruby
[06:42:36] tolerablyjake: has joined #ruby
[06:42:57] govg: has joined #ruby
[06:43:57] samuel02: has joined #ruby
[06:46:59] StoneCypher: has joined #ruby
[06:47:11] samuel02: hi I have a question about how ENV is handled when calling a ruby method defined by a native extension
[06:47:27] samuel02: I'm using the ruby-odbc gem which implements all its methods in C
[06:48:06] samuel02: one of the methods rely implicitly on the LD_LIBRARY_PATH being set correctly
[06:49:00] ElDoggo: has joined #ruby
[06:49:06] samuel02: if I set the variable when starting the process, i.e. `$ LD_LIBRARY_PATH=foo ruby script.rb` it works
[06:49:58] samuel02: but when I set the ENV variable within the script, i.e. ENV['LD_LIBRARY_PATH'] = foo, and $ ruby script.rb it doesn't work
[06:50:08] samuel02: what am I missing?
[06:51:44] taharushain: has joined #ruby
[06:54:40] dionysus69: has joined #ruby
[06:58:51] Guest96: has joined #ruby
[07:00:31] raul782: has joined #ruby
[07:00:32] bkxd: has joined #ruby
[07:00:39] rippa: has joined #ruby
[07:03:18] Guest96: has joined #ruby
[07:07:18] ledestin: has joined #ruby
[07:08:15] claw: has joined #ruby
[07:12:12] _whitelogger: has joined #ruby
[07:13:30] taharushain: has left #ruby: ()
[07:17:26] cerulean: samuel02: use export
[07:18:32] cerulean: ENV is a constant, read-only
[07:18:35] cerulean: you can't modify it
[07:19:20] Mon_Ouie: The fact ENV is a constant does not mean you can't change environment variables through it.
[07:19:49] Mon_Ouie: It just means you can't assign another object to 'ENV' without a warning
[07:20:58] samuel02: well I still don't understand why it works this way
[07:21:44] samuel02: no matter which strategy I use, right before the method (ODBC.connect, which calls native code) I can check ENV and in both cases it is set to the same thing
[07:22:04] samuel02: but like I said if I set the ENV variable within the script it doesn't work
[07:22:17] samuel02: because the "native code" doesn't seem to get that environment
[07:22:46] Mon_Ouie: Wait, you are setting LD_LIBRARY_PATH after requiring ruby-odbc?
[07:23:43] samuel02: or at least I don't think so :)
[07:23:52] samuel02: I'm gonna double-check that :)
[07:24:00] jamesaxl: has joined #ruby
[07:27:18] samuel02: yes, can confirm it is set before requiring
[07:27:53] samuel02: I assumed that the environment would just be passed along to the native extension
[07:28:04] samuel02: but that seems to be a wrong assumption
[07:28:12] samuel02: but I still don't understand :/
[07:32:02] Mon_Ouie: Environment variables are a property of each process. Whether you are in a C extension or Ruby code, you see the same environment variables in the same process.
[07:32:34] Mon_Ouie: However, the documentation for dlopen says "If, at the time that the program was started, the environment variable LD_LIBRARY_PATH was defined (...)"
[07:33:16] Mon_Ouie: Which suggests to me that changing it during the execution does not have the desired effect
[07:33:48] jgt: has joined #ruby
[07:34:48] claw: has joined #ruby
[07:35:48] samuel02: ah, interesting
[07:36:24] samuel02: so since dlopen is run in this process the process itself is not allowed to set that ENV var?
[07:37:10] samuel02: and thus no matter what I need to set this "at the time that the program" starts
[07:37:22] Mon_Ouie: It can set it, but as I understand it, the value relevant for dlopen is the one when the program was started, not the one set during the execution.
[07:37:29] nofxxx: has joined #ruby
[07:38:04] Mon_Ouie: But if say you called system("some_other_process"), that process should be able to load the libraries in LD_LIBRARY_PATH.
[07:38:18] samuel02: yeah, makes sense
[07:38:54] samuel02: so that means I have to set the variable before starting the process every time
[07:39:09] samuel02: then comes my next problem
[07:39:27] samuel02: which is that if I want to set this permanently I should use ldconfig
[07:39:44] samuel02: but ldconfig only picks up files with names starting with lib*
[07:40:16] samuel02: but the driver that needs to be on the path is called ivoa25.so
[07:40:28] Mon_Ouie: You should be able to e.g. have 'export LD_LIBRARY_PATH=foo' in your .bashrc
[07:40:51] samuel02: and that works for most cases
[07:40:53] jamesaxl: has joined #ruby
[07:41:31] samuel02: except when doing this in a background job, where the worker is controlled by god (http://godrb.com/) which is run as root
[07:42:06] samuel02: then it doesn't pick that variable up
[07:43:19] samuel02: I assume because LD_LIBRARY_PATH cannot be set explicitly for non-interactive shells (https://help.ubuntu.com/community/EnvironmentVariables)
[07:43:34] samuel02: "Note: You can only set this environment variable inside an interactive shell"
[07:43:42] samuel02: regarding LD_LIBRARY_PATH
[07:44:03] Mon_Ouie: Another approach is to have a wrapper shell script or ruby script that just calls your real script with the environment set up properly
[07:45:08] jamesaxl: has joined #ruby
[07:45:21] samuel02: yeah, I know
[07:45:45] samuel02: but then it's getting more complicated
[07:45:59] samuel02: I said earlier this is a script just to simplify my issue
[07:46:15] samuel02: but in reality this is a Rails application + Resque workers
[07:47:56] samuel02: and my dream is to just be able to set it in a .env
[07:48:04] samuel02: and be done with it :)
[07:48:18] samuel02: but it seems like it's impossible to keep it that simple
[07:50:25] samuel02: do you know if Rake::Task['foo'].invoke spawns a new process?
[07:50:44] claw: has joined #ruby
[07:50:46] samuel02: I'm thinking about wrapping Resque's rake task that starts up a worker
[07:51:01] Mon_Ouie: The block 'task 'foo' do … end' is executed in the same ruby process
[07:51:11] Mon_Ouie: The task itself might spawn a new process
[07:51:37] armyriad: has joined #ruby
[07:54:59] esObe: has joined #ruby
[07:59:04] __Yiota: has joined #ruby
[07:59:43] bkxd: has joined #ruby
[08:04:13] nebiros: has joined #ruby
[08:04:14] nebiros: has joined #ruby
[08:11:49] zacts: has joined #ruby
[08:18:10] _whitelogger: has joined #ruby
[08:21:14] ericmathison: has joined #ruby
[08:21:28] A124: has joined #ruby
[08:22:45] j2k: has joined #ruby
[08:26:23] claw: has joined #ruby
[08:29:44] Guest96: has joined #ruby
[08:32:40] papillom: has joined #ruby
[08:36:01] Qchmqs: has joined #ruby
[08:39:27] hutch34_: has joined #ruby
[08:40:37] claw: has joined #ruby
[08:41:41] Guest96: has joined #ruby
[08:42:02] babykosh: has joined #ruby
[08:47:30] StoneCypher: has joined #ruby
[08:51:12] bkxd: has joined #ruby
[08:55:52] papillom: has joined #ruby
[08:57:17] Mon_Ouie: has joined #ruby
[08:57:39] claw: has joined #ruby
[09:01:26] papillom: has joined #ruby
[09:03:42] raul782: has joined #ruby
[09:05:56] shinnya: has joined #ruby
[09:07:47] claw: has joined #ruby
[09:09:18] lxsameer: has joined #ruby
[09:14:54] marr: has joined #ruby
[09:16:05] xall: has joined #ruby
[09:17:31] bkxd: has joined #ruby
[09:26:05] bkxd: has joined #ruby
[09:29:03] jamesaxl: has joined #ruby
[09:38:05] claw: has joined #ruby
[09:40:32] libastral: has joined #ruby
[09:41:36] grh: has joined #ruby
[09:54:19] mooser: has joined #ruby
[10:01:00] chichou: has joined #ruby
[10:01:54] bkxd: has joined #ruby
[10:13:20] beermouse: has joined #ruby
[10:15:10] beermouse: has joined #ruby
[10:15:44] sepp2k: has joined #ruby
[10:18:09] jdm: has joined #ruby
[10:24:39] Pumukel: has joined #ruby
[10:26:26] pickle_: has joined #ruby
[10:27:55] BaroMeter: has joined #ruby
[10:28:10] burgestrand: has joined #ruby
[10:32:05] hutch34_: has joined #ruby
[10:35:50] elsevero: has joined #ruby
[10:43:00] dionysus69: has joined #ruby
[10:44:12] pickle_: has joined #ruby
[10:46:08] claw: has joined #ruby
[10:46:47] kies: has joined #ruby
[10:46:50] elsevero_: has joined #ruby
[10:47:55] StoneCypher: has joined #ruby
[10:49:05] jamesaxl: has joined #ruby
[10:49:38] binaryplease: has joined #ruby
[10:52:11] shwouchk: has joined #ruby
[11:01:34] papillom: has joined #ruby
[11:05:16] ElDoggo: has joined #ruby
[11:07:41] davic: has joined #ruby
[11:08:15] claw: has joined #ruby
[11:31:19] jakkn: has joined #ruby
[11:32:39] bsartek: has joined #ruby
[11:37:13] Ziarkaen: has joined #ruby
[11:39:38] Sweetlie_: has joined #ruby
[11:43:30] jakkn: I am using FakeFS to test a script that touches the filesystem. It works, but I'm running into trouble when the script does system calls to use libraries and run Rake tasks. Is it possible to have the fake filesystem persist for these system calls or am I taking a wrong approach?
[11:47:04] StoneCypher: has joined #ruby
[11:48:42] dagelf: has left #ruby: ("http://quassel-irc.org - Backlogs! Always! Yay!")
[11:57:36] nofxxx: has joined #ruby
[12:00:18] jdawgaz: has joined #ruby
[12:01:26] ineb: jakkn: maybe working with /tmp would suffice?
[12:02:33] manjaro-kde5: has joined #ruby
[12:05:48] ineb: jakkn: what system calls are causing trouble? if you wrap the script around FakeFS, FileUtils and co should work accordingly
[12:06:00] esObe: has joined #ruby
[12:07:09] ineb: oh i see, FakeFS only replaces File and FileUtils. Stuff like system("mkdir") is circumventing it
[12:07:45] synthroid: has joined #ruby
[12:07:48] jhack: has joined #ruby
[12:09:30] ineb: Dir#chroot might be an option
[12:10:14] qsx: has joined #ruby
[12:10:44] qsx: i’m beginning to learn ruby and i’m a bit confused about naming modules and classes
[12:11:20] qsx: do i get this right that file path and module name are only the same by convention, and lib/foo/bar.rb can just as well Baz::Qux?
[12:13:17] ineb: qsx: that is correct. those two do not correlate like its the case with java
[12:14:47] ineb: but when you use require_relative to include a file from somewhere else, the path must be correct ofc
[12:15:47] qsx: and with a simple require 'foo/bar', the first <libdir>/foo/bar.rb is taken (for all directories of the search path)?
[12:16:39] synthroid: has joined #ruby
[12:17:37] ineb: yes, you can show the search paths with ruby -e 'puts $:'
[12:18:09] qsx: i see, thanks
[12:18:41] ineb: however, i do not what happens when there are multiple foo/bar.rb in the search path
[12:18:46] bkxd: has joined #ruby
[12:25:08] jakkn: ineb: well the issues occur on lines that go like 'system "somelibrary --somearguments"'
[12:25:11] Pumukel: has joined #ruby
[12:26:41] hutch34_: has joined #ruby
[12:26:42] jakkn: ineb: where the file aruments do not exist. So I'm assuming the system calls are not within the scope of FakeFS
[12:27:10] ineb: jakkn: yes, because FakeFS only replaces File and FileUtils
[12:27:42] jakkn: yes exactly
[12:27:53] jakkn: so you think chroot might work?
[12:28:01] ineb: i dont know your exact scenario
[12:28:34] ineb: i guessed you wanted to test a script if it creates a correct file structure
[12:28:39] ineb: and you cannot modify that script
[12:28:46] jakkn: yes that's it
[12:29:31] ineb: so you could create a chroot environment and run the script inside it.
[12:30:24] ineb: however you might get issues with missing libraries inside the chroot and so on. i have not done it before
[12:31:25] ineb: if you want to test your script only for correct system calls without actually creating the files, you could also mock your way around
[12:31:31] jakkn: I guess I would need to install all deps first
[12:32:44] raul782: has joined #ruby
[12:33:16] jakkn: Mocks could work, I'll look more into that too
[12:34:21] claw: has joined #ruby
[12:35:11] ineb: yes and if its super sophisticated, you could spawn a container (docker,lxc), run the script, make the tests, dispose container.
[12:35:28] ineb: but i guess thats overengineering
[12:42:50] ski7777: has joined #ruby
[12:44:43] Pumukel: has joined #ruby
[12:44:43] Xiti: has joined #ruby
[12:48:45] papillom1: has joined #ruby
[12:54:07] claw: has joined #ruby
[12:54:39] nadir: has joined #ruby
[13:05:18] Guest96: has joined #ruby
[13:05:56] dionysus69: has joined #ruby
[13:06:17] jrafanie: has joined #ruby
[13:06:23] elsevero: has joined #ruby
[13:07:31] esObe: has joined #ruby
[13:14:15] ElDoggo: has joined #ruby
[13:23:45] Arpanet69: has joined #ruby
[13:24:06] sepp2k1: has joined #ruby
[13:34:10] ncthom91: has joined #ruby
[13:34:35] yeticry_: has joined #ruby
[13:44:08] Guest96: has joined #ruby
[13:46:32] Guest96: has joined #ruby
[13:49:20] chrisseaton: has joined #ruby
[14:01:12] mooser: has joined #ruby
[14:04:50] papillom1: has left #ruby: ()
[14:07:22] hutch34_: has joined #ruby
[14:10:55] Jameser: has joined #ruby
[14:13:47] electrostat: has joined #ruby
[14:14:31] ElDoggo: has joined #ruby
[14:15:20] synthroid: has joined #ruby
[14:15:31] govg: has joined #ruby
[14:17:08] harfangk: has joined #ruby
[14:17:36] armin: has joined #ruby
[14:19:34] dyyylan: is there a styleguide somewhere for when to use parentheses around function arguments? it seems pretty arbitrary
[14:20:18] Jameser: has joined #ruby
[14:21:26] greengriminal: has joined #ruby
[14:23:21] mrconfused: has joined #ruby
[14:24:33] greengriminal: Hi All, just switched over from 2.3 -> 2.4 and noticed that the rounding has changed, and now supplies a series of options such as :up, :down. I have a situation where in Ruby 2.3 I had: `1.015.round(2)` which would return `1.01` and now in Ruby 2.4 I get 1.02. This is simply because Ruby 2.4 #round rounds to the nearest even number. My question simply is how can I get `1.015.round(2)` to return 1.01 in Ruby 2.4
[14:24:41] esObe: has joined #ruby
[14:25:42] elomatreb: >> 1.015.round(2, half: :down)
[14:25:46] ruby[bot]: elomatreb: # => wrong number of arguments (given 2, expected 0..1) (ArgumentError) ...check link for more (https://eval.in/776833)
[14:26:23] greengriminal: ah see, i did not know that `#round` took a 2nd arg that was a hash.
[14:26:28] Guest96: has joined #ruby
[14:26:36] elomatreb: It doesn't, as demonstrated by the eval error
[14:26:57] ineb: dyyylan: there are multiple guidelines suggesting different things. pick one style and stick with it. and if you want, choose this one: https://paste.xinu.at/jQhe/rb
[14:27:11] elomatreb: I misread the docs, the half: thing is for deciding what to do with the precise middle
[14:27:14] ineb: from https://github.com/bbatsov/ruby-style-guide
[14:27:21] Guest96: has joined #ruby
[14:28:22] greengriminal: elomatreb, you sure it doesn't work ;/ - https://gist.github.com/davidpatters0n/a9e2b6c90756ecd16ca08fe0b5680bf9
[14:28:26] beermouse: has joined #ruby
[14:28:37] elomatreb: >> RUBY_VERSION
[14:28:39] ruby[bot]: elomatreb: # => "2.3.0" (https://eval.in/776834)
[14:28:45] dyyylan: perfect thanks ineb
[14:29:15] Guest96: has joined #ruby
[14:29:36] greengriminal: elomatreb, - Strange that the ruby docs for 2.4 here - https://ruby-doc.org/core-2.4.0/Float.html#method-i-round suggest that #round only takes 1 arg.
[14:30:11] elomatreb: In the docs for 2.4.1 it is mentioned
[14:30:12] ben_h: has joined #ruby
[14:30:25] Guest96: has joined #ruby
[14:31:12] greengriminal: Ahh thanks, was slightly mislead then.
[14:31:47] elomatreb: The feature is in 2.4.0 though, idk why it isn't documented
[14:32:36] dyyylan: ineb: how does the ruby community feel about trailing commas in arrays and hashes?
[14:33:08] elomatreb: dyyylan: In many cases you can use % array literals to avoid the need for them
[14:34:15] ResidentBiscuit: has joined #ruby
[14:34:36] Guest96: has joined #ruby
[14:34:51] dyyylan: what about when you don't
[14:35:45] elomatreb: The probably most popular styleguide recommends you avoid them (https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas), but that's your choice
[14:37:42] dyyylan: aha I guess I should have tried ctrl+F first. thanks :)
[14:44:44] mzo: has joined #ruby
[14:49:39] xall: has joined #ruby
[14:49:45] cerulean: dyyylan: use () on arguments only when it isn't obvious it's an argument, or you need it because of operator precendence order or to call chained functions
[14:50:10] cerulean: dyyylan: NEVER used trailing commas on arrays and hash. it's there in case you mess up
[14:50:13] elomatreb: That is one option, some people prefer them even when they're optional to be more explicit
[14:51:14] dyyylan: yeah i noticed in some places its foo(x) and in rails you have f.ex: validates :foo, :bar => { :baz }
[14:51:26] cerulean: yes, but according to my non existant styleguide, that sucks and is non-rubonic
[14:51:38] dyyylan: but i see people are calling some rails things "DSL"
[14:51:44] cerulean: it's others
[14:51:49] cerulean: lack of parentheses doesn't make it DSL
[14:52:03] elomatreb: cerulean: Good thing there isn't the One True Way to write Ruby then :P
[14:52:09] cerulean: the validates :keyname, :value => { :blah } is DSL
[14:52:25] cerulean: you'll find my method is best. parentheses to make it obvious makes sense
[14:52:35] cerulean: parentheses just because, makes no sense. why not program in C# or javascript then
[14:52:36] mzo: hi cerulean
[14:52:40] elomatreb: DSL (Domain Specific Language) is basically a set of methods/an interface designed to solve a specific problem
[14:52:55] cerulean: that's correct elomatreb
[14:52:55] mzo: not much cerulean. how are you?
[14:53:09] cerulean: but that DSLs can be called with () or without
[14:53:13] cerulean: good good :)
[14:53:19] noobineer: has joined #ruby
[14:54:02] cerulean: here's a quick question see if i'm wrong elomatreb and dyyylan
[14:54:04] cerulean: do you prefer
[14:54:09] cerulean: or puts("hi")
[14:54:39] elomatreb: Counterquestion: do you prefer ` a(b(c(d)))` or `a b c d`?
[14:54:57] cerulean: a(b(cd()))) is what im saying to use
[14:55:02] mzo: i'm ok thanks cerulean
[14:55:03] cerulean: i'm saying about a b c d
[14:55:13] cerulean: parens there make obviousness good
[14:55:34] cerulean: a b d c d wont even compile, ruby will get confused if operator load order is wrong
[14:55:45] cerulean: good good mzo
[14:56:45] allisio: cerulean: Huh?
[14:56:46] cerulean: parentheses on a chained call is what i'm saying is good to do. or if you do some evaluation in the arguments such as math or magic string interpolation
[14:57:07] mzo: ACTION waves to allisio
[14:57:11] cerulean: parentheses for no reason because you're from javascript and C# or C++ and just because it "feels good" is wrong
[14:57:29] allisio: There's an obvious argument to be made for consistency.
[14:57:40] cerulean: you can code ruby with parentheses and semicolon on every function call and statement ... but do people do it? no.
[14:58:11] cerulean: be consistent with the rest of the ruby language, and not the language you came from
[14:58:21] cerulean: () and ; are optional for a reason
[14:58:23] impermanence: has joined #ruby
[14:58:25] mzo: i write method arguemnts haskell-style
[14:58:30] allisio: Parentheses are not always optional.
[14:58:31] mzo: arguments too
[14:58:49] cerulean: i'm saying WHEN it's optional, don't force the usage. this makes for bad rooby
[14:58:52] elomatreb: There are other approaches, bbatsovs guide recommends a semantic distinction between calling with and without parentheses
[14:59:13] cerulean: the distinction is what i told you. it forces operator order
[14:59:41] cerulean: if it can't be called without parentheses, use parentheses. if it looks wrong without parentheses, use parentheses. otherwise don't
[14:59:46] ericmathison: has joined #ruby
[14:59:47] elomatreb: "semantic" as in call public (external interface) methods with parentheses, internal without
[14:59:53] impermanence: I know this is probably a silly question, but: how does variable assignment work in Ruby given that it's purely OOP: in other words: if I assigned something to a variable: is that variable a pointer to that something or is the thing I assigned now stored with that variable object as part of its object storage or...?
[15:00:06] elomatreb: What does "look wrong" mean *PRECISELY*?
[15:00:07] cerulean: elomatreb: i don't think that's correct
[15:00:15] jgnagy: has joined #ruby
[15:00:20] cerulean: looks wrong means it looks bad to you
[15:00:31] elomatreb: How do I teach my linter that?
[15:00:49] cerulean: ok forget the "looks wrong" i basically never run into that
[15:00:54] cerulean: just worry about the first and last rules
[15:01:11] cerulean: it's not a linter issue
[15:01:16] elomatreb: Yes, as I said, that's the popular choice. But the alternative isn't less valid
[15:01:18] cerulean: it's a programmer happiness code readability issue
[15:01:26] mzo: >How do I teach my linter that?
[15:01:29] mzo: that's your problem
[15:01:31] cerulean: it's not less VALID but it's worse to read
[15:01:32] mzo: figure it out
[15:01:45] cerulean: teach your linter this: no parentheses unless i need it
[15:01:48] cerulean: solved, case closed
[15:02:08] elomatreb: "worse to read" is entirely subjective
[15:02:17] cerulean: impermanence: don't worry about where or how a variable is storage. read up on ruby variable scope
[15:02:43] cerulean: ok, add more characters to every call for no reason, have fun. when other rubyists laugh at you for doing what i said not to do, don't cry to me
[15:02:55] elomatreb: Anyway, arguing about codestyle is the most pointless thing next to arguing about editors
[15:03:02] allisio: impermanence: Some values are "reference types", to use the standard nomenclature.
[15:03:07] cerulean: yes, extra () in every line is going to annoy me when i read your code, ruby isn't python
[15:03:59] cerulean: do whatever you want
[15:04:01] cerulean: that's why it's ruby!
[15:04:02] elomatreb: But please don't tell people they're writing "bad Ruby" if they're using parentheses, there is no official style
[15:04:14] allisio: >> a = [1,2,3]; b = a; b.clear; a # impermanence
[15:04:15] ruby[bot]: allisio: # => [] (https://eval.in/776859)
[15:04:15] cerulean: i'm not saying it's bad ruby.
[15:04:40] cerulean: you can do either, so just do what feels right. certainly it doesn't make sense to do it all one way or the other. i don't
[15:04:45] elomatreb: "cerulean> i'm saying WHEN it's optional, don't force the usage. this makes for bad rooby" well
[15:04:57] allisio: Y'all sure the bikeshed needs a seventh coat of paint?
[15:05:08] elomatreb: But what about the color though
[15:05:10] cerulean: i'm saying use it whenever you want, but don't use it for 100% of method calls everywhere i guess
[15:05:26] impermanence: allision: k. yeah, I was asking about the reference type topic. So a variable is a reference type in ruby...
[15:05:43] DLSteve: has joined #ruby
[15:05:49] cerulean: i looked at my code and i use () more often that not and only omit it sometimes
[15:05:55] cerulean: so.. just do whatever feels good
[15:06:05] allisio: impermanence: No, some *values* are references. Variable assignment just creates a binding; it gives you a name by which to refer to the value.
[15:06:10] cerulean: There's More Than One Way To Do It
[15:06:25] impermanence: allisio: k. I'll read up on it.
[15:07:03] cerulean: here's my new updated style good: do whatever works that you like
[15:07:12] kent\n: has joined #ruby
[15:07:16] elomatreb: impermanence: See also: https://eval.in/776862
[15:07:44] cerulean: you're not gonna call every method like
[15:07:46] cerulean: method args,args
[15:07:53] cerulean: neither am i
[15:07:58] allisio: cerulean: You took great pains to get to that anticlimactic punchline.
[15:08:11] synthroid: has joined #ruby
[15:08:24] cerulean: allisio: yeah, true. well i still believe my original point, no () unless necessary, but i dont even seem to follow my own rule so fuk it
[15:09:17] cerulean: the best thing about ruby is the lack of rules like that
[15:09:36] cerulean: if we in python, there'd be no argument since the guy arguing against () would have a broken program
[15:09:56] toretore: what a wonderful world
[15:10:01] elomatreb: Python also has an official styleguide, Ruby does not
[15:10:03] toretore: it would be
[15:10:41] mzo: because ruby doesn't need one
[15:10:47] mzo: the right style is obvious
[15:10:58] cerulean: i like python. but... ruby is better at too much stuff
[15:11:21] cerulean: yeah mzo i agree
[15:11:30] elomatreb: ACTION does not care about Ruby vs X
[15:11:32] cerulean: 90% of rubyists ive worked with code similarily
[15:12:31] cerulean: ruby is good because it's forgiving and permissive. python just breaks
[15:12:40] cerulean: i'm saying it's good we can even have this fight
[15:12:47] cerulean: or discussion
[15:13:04] cerulean: There Is Only One Way To Do It sucks
[15:13:23] kobain: has joined #ruby
[15:13:48] elomatreb: "There are infinitely many ways to do it slightly wrong" isn't exactly ideal either
[15:14:28] cerulean: what language or thing are you referring to
[15:14:40] cerulean: perl - "There are a lot of bad ways to do it"
[15:15:10] elomatreb: I'm not having a language vs X discussion, sorry
[15:15:13] cerulean: C - "there's lots of ways to do it, and you will probably fuck up"
[15:15:33] cerulean: im curious what language has infinite ways to do stuff slightly wrong
[15:15:41] cerulean: no idea what you're referring to in that case
[15:17:22] cerulean: just do it the way you like and makes sense to you in your own code
[15:17:28] cerulean: And Nothing Else Matters \m/
[15:17:57] cerulean: use python if you'd like guido to decide for you how to code
[15:18:08] elomatreb: What style you choose is irrelevant in the end, as long as you're consistent
[15:18:28] cerulean: yes pretty much
[15:18:32] cerulean: i laugh at style guides
[15:18:44] cerulean: i use the same style as the other 90% of ruby coders
[15:19:02] cerulean: indent 2 spaces and use ruby features when possible
[15:19:24] elomatreb: Style guides become almost necessary when you work with a team, if your team is 10 programmers you likely already have one that does not code like the 90% of Ruby coders
[15:19:25] LastWhisper____: has joined #ruby
[15:19:39] mzo: i indent 8 spaces
[15:19:45] mzo: wait no
[15:19:50] mzo: i use tab characters
[15:20:01] elomatreb: ^ case in point
[15:20:32] elomatreb: And if you mix two indentation styles you get unusably large git commits, for example
[15:21:03] cerulean: here's my company. i'm the boss. you don't code like a regular rubyist? *hands u a pink slip* bye
[15:21:18] cerulean: you mix indent? *shows u the door*
[15:21:49] cerulean: i've been on teams near that size and nobody ever coded ruby strangely
[15:21:52] cerulean: i can't relate
[15:22:38] mzo: would you hand me a pink slip for using tabs?
[15:22:39] cerulean: if u need a style guide, u no can have job at my company. lol
[15:23:03] ruby[bot]: mzo: Ruby community standards recommend using 2 spaces as indentation (see https://github.com/bbatsov/ruby-style-guide#spaces-indentation and https://ukupat.github.io/tabs-or-spaces/).
[15:23:15] mzo: hi havenwood
[15:23:23] mzo: how are you?
[15:23:47] havenwood: Just two-space, soft-tabbing my Saturday away!
[15:24:19] ruby-lang315: has joined #ruby
[15:24:21] havenwood: ?styleguides
[15:24:21] ruby[bot]: here are three popular styleguides, you should read and follow at least one: https://github.com/styleguide/ruby https://github.com/bbatsov/ruby-style-guide https://github.com/thoughtbot/guides/tree/master/style/ruby
[15:24:23] cerulean: good shit havenwood
[15:24:53] cerulean: >> cerulean_style_guides = []; puts cerulean_style_guides
[15:24:55] cerulean: here's some more
[15:25:14] elomatreb: You need to be authed to use the bot
[15:25:23] cerulean: to services?
[15:25:28] ruby-lang600: has joined #ruby
[15:25:36] elomatreb: freenode's NickServ
[15:25:58] esObe: has joined #ruby
[15:26:13] ruby-lang600: how to solve paperclip no file chosen?
[15:26:15] cerulean: just found out someone else owns the name who never comes on
[15:27:04] cerulean: not related to your question
[15:27:14] cerulean: havenwood: help
[15:27:19] elomatreb: That's the same bot
[15:27:19] havenwood: ?rails cerulean
[15:27:20] ruby[bot]: cerulean: Please join #RubyOnRails for Rails questions. You need to be identified with NickServ, see /msg NickServ HELP
[15:27:32] cerulean: ruby-lang600: ^
[15:27:41] ruby-lang600: the link is not working
[15:27:49] cerulean: do /join #RubyOnRails
[15:28:11] ruby-lang600: ya the link is not working, when i lick
[15:28:14] cerulean: for paperclip, you need to specify the file you're uploading in a file upload form
[15:28:20] elomatreb: cerulean: If the person who registered that name hasn't been online in a long time you may take over the account, IDK what the specific freenode rules are
[15:28:28] cerulean: there's no link. it's a chat room. do /join #RubyOnRails <enter>
[15:28:44] cerulean: nice elomatreb
[15:28:47] cerulean: i'm in #help asking
[15:29:05] mzo: it's complicated iirc
[15:29:15] mzo: the older the nick, the more time you have to wait before you can take it
[15:29:36] jamesaxl: has joined #ruby
[15:29:53] cerulean: interesting
[15:29:54] mzo: it's like X weeks + Y weeks per year the nick has been registered
[15:29:58] ruby-lang332: has joined #ruby
[15:30:25] ruby-lang332: how to join rails chat room?
[15:30:44] mzo: /j #rubyonrails
[15:31:54] havenwood: /msg NickServ HELP
[15:31:57] mooser: has joined #ruby
[15:32:03] Pumukel: has joined #ruby
[15:32:47] ruby-lang641: has joined #ruby
[15:32:51] impermanence: This is not a criticism of anyone in here: but when first learning Ruby did any ever feel like the core documentation really sucks? It's not even that its written poorly grammatically (it is): it's like it doesn't map any of the related concepts well. Like just trying to understand the relationships between open, read and write seems so poorly la
[15:33:06] ruby-lang641: i can't enter the rails chat room?
[15:33:06] houhoulis: has joined #ruby
[15:33:14] ruby-lang641: any idea why?
[15:33:25] havenwood: ruby-lang641: You'll need to register a nick. See: /msg NickServ HELP
[15:33:28] cerulean: impermanence: use it as a reference. find better english documentation for what you want
[15:33:32] ResidentBiscuit: has joined #ruby
[15:34:45] ruby-lang641: lol where to register?
[15:35:10] havenwood: ruby-lang641: /msg NickServ HELP REGISTER
[15:35:27] havenwood: ruby-lang641: https://freenode.net/kb/answer/registration
[15:35:30] impermanence: cerulean: I guess that's the key. It's just when I google stuff the implementation or approach is of course different from the text I'm studying. Oh well.
[15:35:42] cerulean: read ALL the implementations and pick the best one impermanence
[15:36:09] cerulean: use as little code as possible
[15:37:29] impermanence: cerulean: kk.
[15:39:11] nowhereFast: has joined #ruby
[15:40:14] ruby-lang797: has joined #ruby
[15:41:05] SteenJobs: has joined #ruby
[15:41:25] suresh321: has joined #ruby
[15:41:52] havenwood: impermanence: https://gist.github.com/havenwood/befbdc503d17d2615ce6d6cfd9c30fd2
[15:44:09] blackwind_123: has joined #ruby
[15:47:47] mrconfused: has joined #ruby
[15:50:48] xall: has joined #ruby
[15:52:27] gravyflex: has joined #ruby
[15:59:32] aki: has joined #ruby
[16:01:07] bdonnahue: has joined #ruby
[16:01:30] aki: i want help actually i have to built a rest api serever in ruby using socket library and i am using socket.gets to read request but socket.gets only reading half request
[16:01:53] nowhereFast: has left #ruby: ()
[16:01:55] aki: like my api request is api/connid=12andtimeout=10
[16:02:09] aki: it is only reading api/connid=12
[16:03:27] aki: can anyone help me its urgent
[16:04:29] Limix: has joined #ruby
[16:05:23] s2013: has joined #ruby
[16:09:39] jhack_: has joined #ruby
[16:11:04] vuoto: has joined #ruby
[16:11:20] impermanence: havenwood: sorry for the late response. That is clarifying.
[16:11:30] charliesome: has joined #ruby
[16:11:58] Papierkorb: aki: Use a proper http server library.
[16:12:16] lacour: has joined #ruby
[16:12:51] xall: has joined #ruby
[16:13:38] impermanence: irb: file1.out = "some text" then throws NoMethodError: undefined method `out=' for "some text":String
[16:13:59] impermanence: How can I do some testing in irb for files that have extensions?
[16:14:15] cerulean: << puts "cerulean is #{rand(1000).to_i}x cooler than you"
[16:14:28] cerulean: has left #ruby: ()
[16:14:45] cerulean: has joined #ruby
[16:14:49] cerulean: << puts "test"
[16:14:57] cerulean: i'm identified, still can't use bot
[16:15:01] Puskinas_: has joined #ruby
[16:15:15] Papierkorb: >> "Please don't spam #ruby"
[16:15:16] mzo: its >> not <<
[16:15:27] cerulean: >> puts 'hi from corulen'
[16:15:28] ruby[bot]: cerulean: # => hi from corulen ...check link for more (https://eval.in/776877)
[16:15:57] cerulean: >> { put "stupid code}.call
[16:15:59] ruby[bot]: cerulean: # => /tmp/execpad-78bbd42600db/source-78bbd42600db:2: syntax error, unexpected tSTRING_BEG, expecting key ...check link for more (https://eval.in/776878)
[16:16:05] cerulean: >> { puts "stupid code" }.call
[16:16:07] ruby[bot]: cerulean: # => /tmp/execpad-71a35bdab6f2/source-71a35bdab6f2:2: syntax error, unexpected tSTRING_BEG, expecting key ...check link for more (https://eval.in/776879)
[16:16:21] cerulean: >> { puts("stupid code") }.call
[16:16:26] Papierkorb: cerulean: Please use a local irb or pry session instead
[16:16:35] cerulean: lol just curious
[16:16:39] cerulean: never used that bad
[16:16:45] cerulean: used that bot*
[16:19:25] aki: actually it is a task and i have to socket lib
[16:19:53] aki: is there any way to do this with socket lib
[16:20:18] Papierkorb: of course there is. you just have to implement HTTP (to some degree)
[16:20:50] aki: can you provide some links
[16:21:55] Papierkorb: HTTP/1.1 is described in RFC2616
[16:22:01] Papierkorb: The socket library in the ruby documentation
[16:24:10] cerulean: why rewrite an HTTP/1.1 server again?
[16:24:27] cerulean: are they asking you to "prove yourself"
[16:27:01] libastral: has joined #ruby
[16:28:28] vuoto: has joined #ruby
[16:29:47] libastral: has joined #ruby
[16:32:16] vuoto: has joined #ruby
[16:32:27] cerulean: why do employers ask you to reinvent the wheel to prove yourself
[16:32:43] cerulean: should we rebuild the Apollo missions and prove we can go to the moon as well
[16:33:14] cerulean: "reimplment #sort" "no" *gets up and leaves*
[16:34:40] Mon_Ouie: I don't think those two projects are even remotely on the same scale
[16:34:58] apeiros: yeah, going to the moon is much easier
[16:36:27] Ziarkaen: has joined #ruby
[16:37:49] esObe: has joined #ruby
[16:40:00] graft: has joined #ruby
[16:40:20] hotpancakes: has joined #ruby
[16:40:36] graft: has left #ruby: ()
[16:40:56] t-recx: has joined #ruby
[16:41:19] cerulean: i just mean we already went to the moon once, we proved we could do it. corporate interviews are like "ok prove we can go to the moon again"
[16:41:19] jdawgaz: has joined #ruby
[16:41:35] graft: has joined #ruby
[16:42:02] Sembei: has joined #ruby
[16:42:36] graft: hey all, parsing some JSON and wondering how i can best transform date-formatted strings to actual dates when i parse them out
[16:42:48] cerulean: it's not important to be able to rewrite #sort to use ruby. just like ASM knowledge isn't important to use C
[16:42:49] havenwood: graft: example of the format?
[16:42:59] cerulean: graft: Time.parse()
[16:43:08] jhass: hopefully just iso8601
[16:43:13] graft: havenwood: let's say i don't know, i just have a JSON blob and somewhere in there are some strings is iso8601
[16:43:27] cerulean: Time.parse()
[16:43:28] jhass: don't Time.parse if you don't need its guessing feature
[16:43:35] graft: in javascript JSON.parse takes a function argument through which you can pass key/value pairs
[16:43:40] Papierkorb: cerulean: The point is usually not to check that you can write quicksort without thinking much, but to see how you tackle the task
[16:43:46] graft: i can't find something equivalent in ruby
[16:44:01] cerulean: Papierkorb: oh, i see
[16:44:04] graft: so i guess i have to crawl through the blob by hand and look for date strings?
[16:44:19] cerulean: Time.parse will probably do what you want
[16:44:26] cerulean: !rubydocs Time#parse
[16:44:28] graft: it's not the date parsing that i'm worried about
[16:44:41] cerulean: what u worried about
[16:44:46] Papierkorb: cerulean: Even failing is fine as long you realise that you failed, what the issue was and how a correct solution might have looked
[16:45:01] Papierkorb: cerulean: "failing is fine" - your mileage may vary™
[16:45:01] graft: how to catch all date strings anywhere in the json blob when i parse it
[16:45:03] cerulean: for sure Papierkorb, do you work somewhere that uses this style?
[16:45:14] cerulean: graft: regular expressions
[16:45:14] claw: has joined #ruby
[16:45:26] cerulean: or parse and regex each value
[16:45:27] graft: and just what, recursive iteration?
[16:45:37] cerulean: either regex the text or regex each key
[16:45:39] Papierkorb: cerulean: Had an interview recently doing that, yup. Well, wasn't "implement sort".
[16:45:51] cerulean: just walk the tree, idk if recursive is important
[16:45:57] cerulean: regex and parsing is what you want
[16:46:13] cerulean: there also might be some gems that can read a date out of text
[16:46:17] graft: if the json is deeply nested, recursion seems necessary
[16:46:25] cerulean: Papierkorb: how did they do? pass/fail?
[16:46:50] cerulean: yes recursion will be necessarily unless you do something clever like regex the whole text then walk to the top or something weird. i recommend recursion
[16:47:15] graft: yeah so there's no ruby methods that handle the recursion through a json parse for me
[16:47:23] graft: like there is with javascript JSON.parse
[16:47:27] cerulean: make a method that calls itself
[16:47:35] cerulean: call it on the root node
[16:47:48] graft: sure, i can write it myself, just wondering if there is an existing paradigm for this sort of thing
[16:47:53] cerulean: in the method, check all keys of the node for the date
[16:47:54] graft: seems like it must be fairly common
[16:48:02] cerulean: i don't think that's that common
[16:48:04] cerulean: roll-your-own
[16:48:07] Papierkorb: cerulean: I failed that part but did state the issue and most likely correct solution (we were out of time). Moved onto the next stage however. Can't have been that bad. (however, this is getting #ruby-offtopic material)
[16:48:09] cerulean: google it up, sure
[16:48:14] graft: google is useless
[16:48:41] cerulean: Papierkorb: sure. sounds like you got lucky. we can cut it here. i'll move to #ruby-offtopic at some point
[16:48:43] graft: i guess i'll just roll my own
[16:49:13] cerulean: you will find a gem for most popular tasks
[16:49:23] cerulean: you will find you make the stuff you want best
[16:49:33] cerulean: when no one else has done it
[16:49:44] cerulean: but always make sure some genius hasn't done it with 300+ stars on github
[16:49:57] graft: believe me, i already suffer from the sin of writing it myself too often
[16:50:04] cerulean: it's a good sin
[16:50:29] cerulean: dont write too much yourself. just only when there's no good solution in existence
[16:50:40] cerulean: its OK to write it one way then switch it later
[16:50:53] cerulean: we're not Releasing To Manufacturers here
[16:51:23] cerulean: instead of trying to be sure all my pushes never break my website and bot, if a push breaks it, i just try to fix it quick.
[16:51:42] cerulean: i like this approach instead of being under huge stress to deliver a working deploy the first time
[16:51:52] cerulean: longest my site's ever been down because of this: 10 minutes
[16:53:08] libastral: has joined #ruby
[16:53:11] cerulean: my app development has been super fast because i avoided stuff like agile/scrum, automated testing, capistrano (i use git-deploy)
[16:53:23] cerulean: ACTION waits for the attack dogs
[16:54:33] cerulean: why is a design process where some arbitrary controllers control code production 100% of the time better? if the design changes a lot, there's a chance that it's not really a design at all, and just a purple pony with a cute name
[16:55:10] cerulean: agile is the headless horse model of development. a better approach is a mix of agile and waterfall
[16:55:13] foxxx0: hey, how do i properly construct and initialize large classes (i.e. quite many attributes), proper formattings, how to initialize, etc.?
[16:55:40] bsartek: has joined #ruby
[16:55:42] cerulean: attr_accessor with multi-line symbols arg list for the attributes
[16:55:48] foxxx0: i haven't even added all the attributes and rubocop is complaining already and it looks quite ugly
[16:55:51] cerulean: def initialize(option)
[16:55:54] cerulean: for initalizer
[16:55:58] elomatreb: If you're sure you really need many attributes during initialization, keyword arguments are nice
[16:56:03] cerulean: YourClass.new(options)
[16:56:05] cerulean: to initialize
[16:56:15] foxxx0: https://paste.foxxx0.de/MnWQ/
[16:56:39] foxxx0: i think you can spot my problem quite easily :D
[16:57:02] cerulean: no. i can't
[16:57:15] foxxx0: Assignment Branch Condition size for initialize is too high. [19.24/15]
[16:57:19] foxxx0: Method has too many lines. [15/12]
[16:58:02] elomatreb: The length one is probably best disabled here
[16:58:06] cerulean: oh this is rubocop
[16:58:07] foxxx0: should i just disable these cops for certain classes?
[16:58:38] elomatreb: You can disable them for just certain code regions with special comments, i.e. # rubocop:disable Some/Linter
[16:58:56] cerulean: idk what Assignment Branch Condition size is
[16:59:07] foxxx0: yes, so there is no special trick to magically make this code pretty? :D
[16:59:07] cerulean: oh too many assignments
[16:59:16] elomatreb: The ABC violation probably comes from all the destructuring
[16:59:17] cerulean: since you use a lot of variables and setters, not really
[16:59:18] ryan_notabot: has joined #ruby
[16:59:44] elomatreb: I'd probably use keyword arguments and not a giant hash (also gets you validation) and just assign all the members one after another
[17:00:02] cerulean: options.each do |option| instance_variable_set(option.key, option.value) end
[17:00:02] foxxx0: so one assignment per line?
[17:00:14] cerulean: nah do what i said
[17:00:21] cerulean: rubycop wont see 19 assignments that way
[17:00:24] cerulean: and itll be 1 line
[17:00:41] elomatreb: That is dangerously fragile, it won't catch typos and you can accidentally overwrite other instance variables
[17:00:42] foxxx0: that's exactly what i was looking for
[17:00:53] workmad3: has joined #ruby
[17:01:00] DARPA: has joined #ruby
[17:01:01] cerulean: if you wanna avoid what elomatreb said, add a condition checking if the instance var exists
[17:01:05] cerulean: and is already set
[17:01:23] foxxx0: and just raise an exception in that case?
[17:01:31] cerulean: options.each do |option| instance_variable_set(option.key, option.value) unless instance_variable_get(option.key) && !instance_variable_get(option.key).nil? end
[17:01:41] elomatreb: Still doesn't handle typos, they will silently set a wrong ivar
[17:01:55] cerulean: options.each do |option| instance_variable_set(option.key, option.value) if instance_variable_get(option.key) && !instance_variable_get(option.key).nil? end
[17:02:00] cerulean: add the conditions properly yourself
[17:02:04] cerulean: i believe in your programming ability
[17:02:14] cerulean: it can be fixed and stil be better than what you sent
[17:02:49] cerulean: 1. check against a list of all accepted attributes 2. check to make sure you don't overwrite a variable on initialize
[17:03:03] elomatreb: The best thing would be to tackle the problem at its root and avoid having a class with that many attributes, if that is possible in any way
[17:03:06] cerulean: 1a. maybe check against the attr_readers symbol list if you can access it
[17:03:27] jamesaxl: has joined #ruby
[17:03:31] binaryplease: has joined #ruby
[17:04:00] ericmathison: has joined #ruby
[17:04:00] elomatreb: You could for example create a value class for all properties involved with :quota, and another (possible nested) one for all :quota_mail ones
[17:04:59] Arpanet69: has joined #ruby
[17:05:10] cerulean: options.each do |option| instance_variable_set(option.key, option.value) if ALLOWED_ATTRIBUTES.include?(option.key) && instance_variable_get(option.key).nil? end
[17:05:27] cerulean: set ALLOWED_ATTRIBUTES to the stuff you defined in your attr_reader methods
[17:05:39] foxxx0: that's what is was going to do now
[17:05:41] cerulean: only lets allowed attributes to be set
[17:05:51] foxxx0: still thinking about elomatreb's hint with nested subclasses
[17:05:52] cerulean: and only if the variable is nil
[17:05:54] cerulean: you'll be fine
[17:05:57] elomatreb: If you're creating a list of attributes like that you can also use destructuring to avoid having to duplicate it for the attr_*
[17:06:09] havenwood: foxxx0: explicit keyword arguments are nice, and fewer of them
[17:06:15] havenwood: +1 extract quota
[17:06:18] cerulean: ALLOWED_ATTRIBUTES.each do |attr| attr_accessor attr end
[17:06:43] foxxx0: logically i could split the quota stuff into different quota groups
[17:06:45] elomatreb: Or just `attr_accessor *ALLOWED_ATTRIBUTES`
[17:07:00] cerulean: nice loincloth
[17:07:18] havenwood: foxxx0: What's the minimum interface you need? Which group nicely?
[17:07:21] cerulean: nice code i meant
[17:08:12] havenwood: foxxx0: One method could expose a Hash or Struct of related things.
[17:08:25] cerulean: if the attributes belong to that object... it wont make sense to make more classes. and they will take more memory
[17:08:35] cerulean: it's like an extra lookup
[17:08:39] cerulean: if you wanna save nanoseconds, dont do thois
[17:08:41] DARPA: has joined #ruby
[17:09:00] cerulean: +1 Hash/Struct
[17:09:13] lxsameer: has joined #ruby
[17:09:17] cerulean: i think Hash makes more sense than making this new object, but i could be wrong
[17:09:25] cerulean: doesn't Hash do the same thing as his class but with ANY parameters?
[17:09:53] elomatreb: Struct would do validation, as it just accepts the defined keys
[17:12:29] havenwood: >> MailQuota = Struct.new :domains, :sources; quota = MailQuota.new([1, 2], [3, 4]); quota.domains
[17:12:31] ruby[bot]: havenwood: # => [1, 2] (https://eval.in/776897)
[17:13:58] havenwood: quota.x #!> undefined method `x' for #<struct MailQuota domains=[1, 2], sources=[3, 4]>
[17:14:02] cerulean: what is this trippy magic you just did with arrays and structs
[17:14:27] cerulean: a struct gave me an array output when i passed the arguments as arrays? wha?
[17:14:30] havenwood: cerulean: I just set the Struct value to be an Array.
[17:14:48] cerulean: ive never done that
[17:14:57] adgtl-: has left #ruby: ("Textual IRC Client: www.textualapp.com")
[17:15:01] cerulean: do all arrays have to be same size?
[17:15:31] elomatreb: Nope, Arrays have very little rules in Ruby
[17:15:48] cerulean: what happens if i do
[17:15:52] cerulean: >> MailQuota = Struct.new :domains, :sources; quota = MailQuota.new([1, 2], [3]); quota.domains
[17:15:54] ruby[bot]: cerulean: # => [1, 2] (https://eval.in/776898)
[17:16:06] cerulean: its not magic
[17:16:12] cerulean: ACTION goes to the eye doctor
[17:19:02] impermanence: Why does this use of File.truncate() throw a No such file or directory error? https://gist.github.com/jonassteinberg1/ddfc2a615392759b55d8d3efdbbe3667
[17:19:56] elomatreb: You're passing a String, not your variable
[17:19:58] rakm: has joined #ruby
[17:21:13] impermanence: elomatreb: that makes sense.
[17:22:11] havenwood: impermanence: Don't use File.open without a block. If you aren't sure that you need it, don't use it at all.
[17:23:15] foxxx0: so, how about: https://paste.foxxx0.de/yolCe/
[17:23:32] foxxx0: apart from the typos
[17:23:37] jdawgaz: has joined #ruby
[17:23:39] foxxx0: and it's not tested/validated
[17:23:45] tolerablyjake: has joined #ruby
[17:24:19] elomatreb: You're basically re-implementing what a Struct already does I think (https://ruby-doc.org/core-2.4.1/Struct.html)
[17:24:42] jdawgaz: has joined #ruby
[17:26:04] tolerablyjake: has joined #ruby
[17:26:26] foxxx0: oh well, now i understand what havenwood wanted to show
[17:26:58] synthroid: has joined #ruby
[17:29:44] foxxx0: so, more like: https://paste.foxxx0.de/y1RbQ/
[17:37:08] dionysus69: has joined #ruby
[17:38:37] lxsameer: has joined #ruby
[17:39:39] Arpanet69: has joined #ruby
[17:43:30] foxxx0: if i understand your hints correctly?!
[17:43:37] foxxx0: still not sure though :D
[17:47:46] kies: has joined #ruby
[17:48:22] elsevero: has joined #ruby
[17:54:30] naprimer_2: has joined #ruby
[17:55:26] jidar: has joined #ruby
[17:56:24] adgtl-: has joined #ruby
[17:58:25] graft: has joined #ruby
[17:58:25] graft: has joined #ruby
[18:00:17] bkxd: has joined #ruby
[18:04:44] havenwood: foxxx0: https://gist.github.com/havenwood/a10efab9d56c2de89bbb3ffc5c0861c8
[18:04:44] chihhsin: has joined #ruby
[18:06:07] flips: Maybe one of you could point in a direction to help me figure out what kinda basic principle/mechanism I'm not getting when working with classes/objects/OO stuff(?): https://gist.github.com/flips/8782b613be168ad3500bc917e222ac58 :-)
[18:07:57] havenwood: foxxx0: It's boring, but easy to read, explicit and the strictness helps percolate errors to the top quickly.
[18:09:18] bdonnahue1: has joined #ruby
[18:14:10] __Yiota: has joined #ruby
[18:19:01] Guest96_: has joined #ruby
[18:19:40] jdawgaz: has joined #ruby
[18:20:10] zapata: has joined #ruby
[18:20:30] jdawgaz: has joined #ruby
[18:25:14] enterprisey: has joined #ruby
[18:26:37] soppe: has joined #ruby
[18:27:28] Rr4sT: has joined #ruby
[18:28:07] bdonnahue: has joined #ruby
[18:29:32] havenwood: flips: I commented on your gist: https://gist.github.com/flips/8782b613be168ad3500bc917e222ac58
[18:34:01] havenwood: flips: http://ruby-doc.org/stdlib/libdoc/forwardable/rdoc/Forwardable.html
[18:34:56] flips: havenwood: Thank you! Had just started reading that ruby-doc page ... :)
[18:35:21] domgetter: has joined #ruby
[18:36:58] yoones: has joined #ruby
[18:37:25] yoones: Hi. is it ok to ask a question about a rails gem?
[18:37:51] finisherr: has joined #ruby
[18:39:19] havenwood: yoones: Yup, no prob. Though depending on the gem it might be better suited to the #RubyOnRails channel.
[18:39:52] yoones: ok I'll try on the rails channel, thanks
[18:40:01] Arpanet69: has joined #ruby
[18:43:44] hkdsun: has joined #ruby
[18:44:19] hkdsun: has joined #ruby
[18:45:33] t-recx: has joined #ruby
[18:45:41] dionysus69: has joined #ruby
[18:47:26] s2013: has joined #ruby
[18:48:10] ElDoggo: has joined #ruby
[18:48:35] ElDoggo: has joined #ruby
[18:48:44] babykosh: has joined #ruby
[18:51:40] kirun: has joined #ruby
[18:52:41] synthroid: has joined #ruby
[18:52:42] fusta: has joined #ruby
[18:57:59] foxxx0: havenwood: mh okay, but just to clarify: these quota attributes are asll integers, think of them as "limits" not the actual used/assigned objects
[19:03:56] cerulean: am i unethical if i sell my app to both girl-haters and feminists
[19:04:05] cerulean: im just tryin to make a livin, man
[19:04:15] cerulean: *plays cards with a "deck" of money*
[19:04:39] cerulean: it works in firearm manufacturing so why not
[19:05:05] cerulean: guns are great because EVERYONE needs a gun because someone might have a GUN
[19:05:14] cerulean: that's how you an tell it's a good invention
[19:05:23] cerulean: you need one BECAUSE it exists
[19:05:39] cerulean: ACTION goes to ruby-offtopic
[19:07:37] Cohedrin: has joined #ruby
[19:09:23] impermanence: If a file object contains text is the text stored on disk at essentially the same location as the file object?
[19:11:01] mooser: has joined #ruby
[19:11:57] jamesaxl: has joined #ruby
[19:12:00] impermanence: That was asked poorly, lol.
[19:14:24] s2013: has joined #ruby
[19:16:10] klgilbert: has joined #ruby
[19:17:06] hkdsun: A file object is a file handle at the end of the day, which means it has nothing to do with the content of your file no matter what the file content are
[19:17:38] hkdsun: However, maybe I didn't understand your question well impermanence
[19:19:12] klgilbert: has joined #ruby
[19:20:59] papillom: has joined #ruby
[19:21:12] foxxx0: havenwood: and the plan was to use this class as the domain specific class, which will be populated by the database/ORM layer
[19:22:22] shinenelson: has joined #ruby
[19:23:07] hkdsun: has joined #ruby
[19:27:04] __Yiota: has joined #ruby
[19:30:51] beermouse: has joined #ruby
[19:36:30] __Yiota: has joined #ruby
[19:39:16] tolerablyjake: has joined #ruby
[19:42:05] Channel6: has joined #ruby
[19:42:31] tolerablyjake: has joined #ruby
[19:44:11] dionysus69: has joined #ruby
[19:45:39] enterprisey: has joined #ruby
[19:47:38] Guest96: has joined #ruby
[19:51:42] JoshS: has joined #ruby
[19:54:32] Guest96: has joined #ruby
[19:56:22] sepp2k: has joined #ruby
[20:02:38] synthroid: has joined #ruby
[20:09:32] s2013: has joined #ruby
[20:10:43] Cohedrin: has joined #ruby
[20:17:41] enterprisey: has joined #ruby
[20:30:30] claw: has joined #ruby
[20:31:04] __Yiota: has joined #ruby
[20:31:07] elsevero: has joined #ruby
[20:32:11] hkdsun: has joined #ruby
[20:32:30] ElDoggo: has joined #ruby
[20:34:04] ResidentBiscuit: has joined #ruby
[20:35:12] Rutix: has joined #ruby
[20:35:13] Rutix: has joined #ruby
[20:35:45] hndk: has joined #ruby
[20:35:46] arfed: has joined #ruby
[20:38:01] vuoto: has joined #ruby
[20:38:01] arfed: has joined #ruby
[20:38:24] mooser: has joined #ruby
[20:40:43] vuoto: has joined #ruby
[20:43:52] VladGh: has joined #ruby
[20:44:28] Guest96: has joined #ruby
[20:45:34] ElDoggo: has joined #ruby
[20:52:50] ryan_notabot: has joined #ruby
[20:53:45] mooser: has joined #ruby
[20:57:02] esObe: has joined #ruby
[20:57:07] pilne: has joined #ruby
[21:00:43] Guest96: has joined #ruby
[21:03:11] houhoulis: has joined #ruby
[21:08:57] elsevero: has joined #ruby
[21:14:03] Channel6: has joined #ruby
[21:24:16] linetrace: has joined #ruby
[21:24:53] patarr: has joined #ruby
[21:26:28] ericmathison: has joined #ruby
[21:27:31] LastWhisper____: has joined #ruby
[21:30:45] enterprisey: has joined #ruby
[21:31:37] ericmathison: has joined #ruby
[21:37:26] hutch34_: has joined #ruby
[21:49:24] sneakerhax: has joined #ruby
[21:52:57] bsartek: has joined #ruby
[21:58:13] bdonnahue: has joined #ruby
[21:58:33] esObe: has joined #ruby
[21:59:04] mrconfused: has joined #ruby
[22:05:05] herbmillerjr: has joined #ruby
[22:08:05] impermanence: hkdsun: that answered my question.
[22:08:27] impermanence: hkdsun: sorry for the late response. was hacking with volume off.
[22:08:44] hkdsun: impermanence: glad to hear. good luck
[22:09:04] workmad3: has joined #ruby
[22:13:24] coatezy: has joined #ruby
[22:15:51] SteenJobs: has joined #ruby
[22:18:53] herbmillerjr: has joined #ruby
[22:19:52] LastWhisper____: has joined #ruby
[22:20:57] mrconfused: has joined #ruby
[22:23:13] Counterfeit: has joined #ruby
[22:24:02] Counterfeit: has left #ruby: ()
[22:25:36] Blacink: has joined #ruby
[22:29:39] Xiti: has joined #ruby
[22:31:19] mrconfused: has joined #ruby
[22:34:08] finisherr: has joined #ruby
[22:36:03] cerulean: GRiMES - REALiTi is my favorite song of all time
[22:37:20] mzo: cerulean: lol
[22:38:02] al2o3-cr: hey, me too
[22:39:41] volty: has joined #ruby
[22:39:51] mzo: cerulean: i feel bad for you if that's true
[22:40:46] mzo: it's a nice song but favorite of all time? you are missing out on some amazing music
[22:42:08] al2o3-cr: mzo: name some of yours :)
[22:43:56] mzo: al2o3-cr: i would have to say my favorite of all time is https://www.youtube.com/watch?v=z0GKGpObgPY
[22:44:49] al2o3-cr: i'll start you off; l.a women - the doors
[22:44:57] al2o3-cr: mzo: not bad
[22:45:23] al2o3-cr: i wouldn't say amazing music :p
[22:45:44] al2o3-cr: but that is my opinion of course
[22:49:36] al2o3-cr: kashmir - led zeppelin
[22:49:55] al2o3-cr: i like all sorts of music
[22:50:52] al2o3-cr: and anything by r.e.m
[22:53:01] mzo: al2o3-cr: i was joking
[22:53:06] mooser: has joined #ruby
[22:53:07] ElDoggo: has joined #ruby
[22:53:09] mzo: that song was released like a week ago
[22:53:17] mzo: of course it can't be my favorite of all time
[22:55:12] al2o3-cr: and that's a warm up
[22:57:15] ytti: not judging here, but bit odd that people say favorite of all time is from 2015 or even 2017
[22:57:17] enterprisey: has joined #ruby
[22:57:49] ytti: i guess it nice to keep it fresh
[22:58:05] mzo: ytti: exactly
[22:58:06] patarr: has joined #ruby
[22:58:54] mzo: do you really think it's just a coincidence that there are decades and decades of good music out there, and your favorite of all time is from 2015?
[22:59:15] mzo: probably it's not really that great and you'll forget about it before long
[22:59:35] al2o3-cr: mzo: i actually think it's not that bad
[23:00:02] esObe: has joined #ruby
[23:01:05] volty: are you developing an AI Guess What Music I Like ?
[23:01:16] volty: (application)
[23:01:29] al2o3-cr: but my favorite of all time is... wanted man
[23:02:56] mrconfused: has joined #ruby
[23:03:20] ytti: mzo, should i presume you were sarcastic about your youtube link then?
[23:03:26] ytti: i'm not honestly sure
[23:03:54] al2o3-cr: ytti: i'd say yes
[23:04:17] al2o3-cr: but who knows?
[23:04:53] ytti: there was behavioural science test of online music service
[23:05:27] ytti: but instead of putting people in same world in terms of like/dislike/download, people were divided into separate worlds
[23:05:40] ytti: outcome was, that entirely different set of songs were best songs
[23:06:22] al2o3-cr: best cover song then?
[23:06:29] ytti: i.e. there is very little objetivity in music, mostly we like what we like, because we like the people who like that music
[23:06:38] volty: like, dislike, download and the implied "not interested".
[23:06:48] ytti: the music itself could be pretty much anything, and we'd still like it
[23:06:58] ytti: as long as correct set of people like it
[23:07:02] al2o3-cr: this: all along the watchtower
[23:10:27] ben_h: has joined #ruby
[23:10:33] al2o3-cr: ytti: is this a set of deaf people?
[23:11:10] ytti: al2o3-cr, no
[23:11:44] al2o3-cr: just checking ;)
[23:12:06] ytti: you can read about in duncan watt's drunkards walk or daniel kahneman's thinking, fast and slow
[23:12:09] al2o3-cr: i like what i like because i like it
[23:12:17] ben_h: has joined #ruby
[23:12:45] ytti: almost every decision we make is extremely flinsy and could have gone either way
[23:13:23] ytti: judgeds give pardon's if they're asked to flip coin with red and green sides
[23:13:26] ytti: and ignore the result
[23:13:34] ytti: they pardon more people after flipping green side
[23:13:38] cerulean: *sees Harry Styles*
[23:13:41] cerulean: *closes tab*
[23:14:38] al2o3-cr: then they're biased
[23:15:03] ytti: quite, but everyone is
[23:15:26] al2o3-cr: same with food, you either like it or not
[23:15:31] ytti: and it doesn't even help when systematic bias we suffer from is explained to us, we still make the mistake
[23:16:04] ytti: sure, but what we like and what you don't, are decided by factors we are unaware about
[23:16:23] ytti: and the decision itself is fragile and could have gone either way with small changes to environemnt, which we had not even noticed
[23:16:36] al2o3-cr: same with music (in my opinion)
[23:16:53] ytti: absolutely, wine, beer, anthing subjective
[23:17:10] al2o3-cr: everything in life is subject to scrutinity
[23:17:21] volty: we are still biased - since bias isn't a mistake but a condition of essence
[23:17:24] ytti: after we've made decision, by arguments we don't know, we develope narrative to justify the decision
[23:17:33] ytti: and then we believe that was the reason we chose it
[23:18:11] al2o3-cr: anyway, happy days!
[23:18:18] volty: we pretend to believe - too often people are not ready to argue about their narrative
[23:18:49] al2o3-cr: volty: i don't believe in sweet fa
[23:19:33] volty: dta? I can't get it. Not used with the jargon (or it's just to late for me)
[23:19:50] al2o3-cr: don't trust anyone
[23:20:04] volty: ah, of course :) :)
[23:20:18] volty: never trusted. Neither myself.
[23:21:10] hkdsun: has joined #ruby
[23:21:22] hutch34_: has joined #ruby
[23:22:00] al2o3-cr: the only thing i know for certain is death && diane sauce with ribeye
[23:22:39] volty: have a nice music & philosophy. going to bed and dream about eternity
[23:22:40] volty: has left #ruby: ("Konversation terminated!")
[23:24:12] al2o3-cr: oh, and ruby is awesome. tia
[23:27:50] Guest96: has joined #ruby
[23:32:30] binaryplease: has joined #ruby
[23:34:31] houhoulis: has joined #ruby
[23:37:59] jdawgaz: has joined #ruby
[23:50:37] nchambers: has left #ruby: ()
[23:53:19] hkdsun: has joined #ruby
[23:54:45] skweek: has joined #ruby