« Back to channel list

#ruby - 29 October 2017

« Back 1 day Forward 1 day »
[00:00:04] Papierkorb: And chainable and everything, yes
[00:00:06] dminuoso: So I take it you can also do this without arguments, just thing(&.bar) ?
[00:00:32] Papierkorb: You can also do `foo.select(&.> 5)` to select everything greater than five
[00:00:38] jrabe: has joined #ruby
[00:00:59] Papierkorb: reduces block spam by magnitudes compared to ruby
[00:01:03] dminuoso: Papierkorb: Is that also only allowed in argument position?
[00:01:13] dminuoso: Or can you do this to create partially applied functions?
[00:01:27] dminuoso: i.e. can you do something like a = &.> 5 ?
[00:01:40] Papierkorb: & is like in ruby, it creates a block. but you can build a Proc using that
[00:01:50] dminuoso: That is neat.
[00:02:10] Papierkorb: `a = Proc(Int32, Bool).new(&.> 5)` <- Ah well, the compiler doesn't fully deduce proc types yet
[00:02:14] dminuoso: You can do this in Haskell too (even more compact) like `a = (> 5)`, or `b = (5 >)`
[00:02:45] dminuoso: So I can definitely appreciate the elegance in that.
[00:02:56] dminuoso: Mmm, that is a bit length.
[00:03:15] Papierkorb: But as you pass blocks in 99% of all cases when you have to pass logic, it's a non-issue
[00:03:23] dminuoso: Papierkorb: That .try by the way is called fmap in Haskell, or map in ruby. ;-)
[00:03:49] Papierkorb: It's actually called try in ruby too.
[00:03:55] Papierkorb: Only call if called on non-nil
[00:04:04] Papierkorb: Or, Crystals version of &. - basically
[00:04:06] dminuoso: Papierkorb: That's a railsism
[00:04:26] dminuoso: In Ruby core its the equivalent of Array#map
[00:04:55] Papierkorb: More like `x.y if x`
[00:05:09] Papierkorb: (proper nil check left as excercise to the reader)
[00:05:15] dminuoso: Papierkorb: Which is #map for the Maybe functor. :)
[00:06:34] dminuoso: Papierkorb: Ignoring `false`, || is the equivalent of <|> as implemented for Maybe. Your code does not look too terribly different actually.
[00:06:44] jxv: has joined #ruby
[00:06:52] jxv: Are underscores preferred in package names (instead of spaces or dashes)?
[00:07:25] dminuoso: jxv: both dashes and underscores can be found
[00:07:29] matthewd: jxv: Yes: http://guides.rubygems.org/name-your-gem/
[00:07:30] al2o3-cr: has joined #ruby
[00:08:44] dminuoso: Papierkorb: I do like that initializer shortcut. I really hate boilerplate initializers :(
[00:08:48] Papierkorb: dminuoso: In my view, OOP is still the way. Sure it got a bad name over decades of abuse (Java). But the issue isn't OOP. It's that many languages' type systems don't live up to OOPs capabilities (Type erasure, wtf?). Hence my reason for Crystal. I'd probably go to Rust if I were to leave that language.
[00:09:05] RickHull: TViernion: seems like a passenger problem
[00:09:06] Papierkorb: Yeah there are ton of nice little additions
[00:09:10] dminuoso: Papierkorb: Im tempted to try out OCaml to see how well a fusion of the two can work.
[00:09:18] RickHull: TViernion: whoops, lost track of the IRC, nevermind
[00:09:19] cdg: has joined #ruby
[00:09:19] dminuoso: (Also I want to try out a real ML language)
[00:09:32] Papierkorb: dminuoso: Yeah OCaml sounded interesting to me too
[00:09:55] dminuoso: Supposedly the library ecosystem is horrible, but the language has some real attractive things.
[00:09:59] Papierkorb: Though I'm a bit spoiled by union types. Way way way fewer OOP hacks around awful type systems with that
[00:10:41] dminuoso: Papierkorb: You get those too in OCaml.
[00:10:57] Papierkorb: Really annoying that Rust doesn't have them. If it had I'd probably be gone. Rust has an amazing innovative memory management system, but its type system is boringly conservative
[00:11:13] dminuoso: Papierkorb: And better yet, you get a hindley milner typesystem.
[00:11:25] dminuoso: Something you will hate crystal for not having once you experience it.
[00:11:53] RickHull: so Haskell?
[00:12:01] RickHull: or SML maybe?
[00:12:16] shreve: has joined #ruby
[00:12:34] apeiros: has joined #ruby
[00:12:48] RickHull: https://en.wikipedia.org/wiki/Standard_ML
[00:14:13] RickHull: which is more repulsive, lisp or smalltalk?
[00:15:34] dminuoso: Neither really.
[00:16:31] dminuoso: Though my smalltalk experience is limited at best.
[00:17:15] RickHull: lisp can't even distinguish between code and data, let alone data types
[00:18:31] apeiros: has joined #ruby
[00:18:42] VladGh: has joined #ruby
[00:20:08] ta: has joined #ruby
[00:20:58] Papierkorb: why are academic languages always so ugly?
[00:21:01] ta: has joined #ruby
[00:21:10] RickHull: isn't it pretty neat that ColorForth is more powerful than Forth?
[00:21:18] RickHull: since when was adding color more than aesthetic?
[00:21:30] Papierkorb: Ocaml: `"string" ^ "concat" ^ "blows the roof."`
[00:21:40] railswebdev: has joined #ruby
[00:21:48] RickHull: Papierkorb: i think that's mostly legacy, a legacy of being old
[00:22:49] Papierkorb: dminuoso: ocaml lists are much less powerful than crystal arrays
[00:23:26] dminuoso: Papierkorb: How are they less powerful?
[00:23:28] Papierkorb: `[1;2.0]` is an error in ocaml. `[1, 2.0]` is a `Array(Int32 | Float64)` in Cr
[00:23:54] RickHull: is it ever proper to operate on a collection of ints and floats?
[00:23:59] dminuoso: Papierkorb: My opinion is, should you want to ever create such lists - the problem lies in your approach
[00:24:01] dminuoso: not the language
[00:24:02] RickHull: if floats are involved, should the ints be floats?
[00:24:40] dminuoso: Papierkorb: To implicitly assume there must be a union type involved if type inference detects two possible types is just a sure way of guaranteeing bugs in statically typed languages.
[00:24:41] Papierkorb: RickHull: as that'd create special rules for floats, no.
[00:24:58] dminuoso: or rather in strongly typed languages.
[00:25:10] RickHull: Papierkorb: why stuff ints into a collection of floats?
[00:25:27] RickHull: what's a good example of that necessity?
[00:25:50] Papierkorb: dminuoso: As all code paths are traced completely, such bugs are generally cought at compile time. Comibining Floats and Ints may be a bit hairy, but as you usually have no reason to combine these two types...
[00:26:00] dminuoso: Papierkorb: Though in Haskell this actually works but for other reasons.
[00:26:33] shreve: has joined #ruby
[00:26:59] dminuoso: Papierkorb: what is so powerful, it the ability to express as general as possible, without losing stuff.
[00:27:04] RickHull: i think in ruby and other languages, a literal int is created easily and wants to be stuffed in float collections, but we should make sure, somehow, to keep the collection homogenous
[00:27:11] dminuoso: For example the ability to declare a function as: a -> a -> b
[00:27:21] dminuoso: is incredibly generic but not too generic.
[00:27:30] Papierkorb: dminuoso: Yeah we do that in Crystal too
[00:27:31] RickHull: dminuoso: duck typing is one approach...
[00:27:47] dminuoso: Papierkorb: Do you have parametric types?
[00:27:56] Papierkorb: dminuoso: Free variables you mean? Sure
[00:28:04] dminuoso: Papierkorb: Huh?
[00:28:11] Papierkorb: `def foo(a : T, b : T) forall T`
[00:28:34] dminuoso: Papierkorb: What does that mean?
[00:28:52] RickHull: foo operates on arity-2 all types T
[00:28:54] Papierkorb: foo will accept any type for a and b, as long a and b have the same type
[00:29:20] dminuoso: Papierkorb: and I can express foo :: forall a b, a -> a -> b
[00:29:23] dminuoso: in haskell for example
[00:29:55] jphase: has joined #ruby
[00:30:17] dminuoso: Papierkorb: essentially expressing takes 2 of any type, as long as they are the same type, but returns any type
[00:30:34] Papierkorb: yep that part I know
[00:31:24] Papierkorb: Really, in crystal you call these "typings" restrictions, as you restrict the type to something you specify. If you don't restrict, it's free-for-all.
[00:31:27] dminuoso: Papierkorb: With parametric type I meant.. type constructors as functions, so you can do things like: a x -> b x -> x
[00:31:53] jxv: has joined #ruby
[00:32:09] Papierkorb: dminuoso: you want an A(X) and a B(X) to return an X?
[00:32:41] dminuoso: Papierkorb: no this is saying `function taking `a x`, `b x` and returning `x`
[00:32:51] dminuoso: where a x in itself is a type
[00:32:59] dminuoso: for example [] x
[00:33:05] dminuoso: or more commonly using the syntax sugar [x]
[00:33:21] dminuoso: but it could be anything, like `Leaf Int` for example
[00:34:17] Papierkorb: That paradigm by itself doesn't translate well from FP to OOP. In OOP, you simply use a common base class
[00:34:43] dminuoso: Papierkorb: Oh it absolutely does. C++ does this in form of templates for example.
[00:35:12] Papierkorb: you mean with template-templates?
[00:35:26] dminuoso: Papierkorb: ?
[00:35:40] Papierkorb: `template<typename T<typename>>` or however the exact notation was?
[00:35:42] dminuoso: Do you have parametric polymorphism?
[00:35:53] dminuoso: Sure if you want higher kinded types.
[00:36:41] Papierkorb: Dude not everyone spent 10 years studying academics to know every buzzword
[00:36:55] dminuoso: I never went to uni.
[00:37:07] Papierkorb: I know that haskell sure loves their concept names
[00:37:20] dminuoso: C++ uses that word!
[00:37:27] dminuoso: ACTION hides
[00:37:43] Papierkorb: People outside compiler devs read the standard?
[00:37:52] Papierkorb: Well, yes, but throughoutly?
[00:38:24] Papierkorb: > "Parametric Polymorphism" is just another term for "Generics" in Java.
[00:38:36] Papierkorb: Just say so. We even call them Generics in Crystal too.
[00:38:41] apeiros: has joined #ruby
[00:38:47] dminuoso: Well, every language has a different name for it.
[00:39:02] dminuoso: It's like typeclasses. Elixir calls them protocols, ocaml calls them traits, C++ calls them concepts..
[00:39:08] dminuoso: Haskell calls them typeclasses..
[00:39:10] Papierkorb: "template" or "generic" is generally a good guess
[00:39:17] dminuoso: Ruby calls them... well.. 'mixins'
[00:39:44] Papierkorb: ruby is dynamically typed, who cares, you can just pass whatever anyway
[00:43:41] Papierkorb: .. scrolling through some ocaml slides, so what's the big difference between haskell and ocaml exactly?
[00:43:59] Papierkorb: is hs simply a successor of that?
[00:45:08] jxv: has joined #ruby
[00:45:34] Papierkorb: oh ocaml supports mutable data. hell of FP just froze over.
[00:45:46] dminuoso: Papierkorb: also haskell has typeclasses
[00:46:47] Papierkorb: and ocaml isn't actually type safe. And that's a pass.
[00:50:06] RickHull: Papierkorb: look at https://en.wikipedia.org/wiki/Standard_ML too
[00:50:14] RickHull: closer to Haskell I think, anyway
[00:50:24] Papierkorb: according to https://pleiad.cl/_media/events/talks/ocaml-types.pdf page 38
[00:50:35] Papierkorb: err, page 37
[00:51:08] dminuoso: and thats not being type safe???
[00:51:16] dminuoso: Im not sure whether you are making a joke.
[00:51:21] Papierkorb: I've yet to be actually impressed by any FP language. It's not that I regard them as bad, but as plain hard to read
[00:51:22] noobineer: has joined #ruby
[00:51:25] railswebdev: has joined #ruby
[00:51:56] Papierkorb: dminuoso: If I do something that causes the language to segfault that should be caught by the type system, that's a defect
[00:52:09] dminuoso: Papierkorb: Well the further I progress, the more I enjoy it because you have a much greater freedom in expressing your code. I suppose there are some good reasons why Haskell seems to be dominated by academics with a mathematical background.
[00:52:57] Papierkorb: If it helps mathematicians, that's good
[00:53:00] Papierkorb: I'm no mathematician
[00:55:06] jdawgaz: has joined #ruby
[00:55:57] dminuoso: Papierkorb: Btw that would appear to not be page 38 then. :P
[00:56:25] Papierkorb: It's page 37, or page 87, depending on how your pdf reader displays it
[00:56:26] dminuoso: # let hetero_list = [1;2; 3.0 ];; ^^^ Error: This expression has type float but an expression was expected of type int
[00:57:05] cschneid_: has joined #ruby
[00:57:09] dminuoso: If I had any clue what that `''"!! help. How do I even?!
[00:57:17] dminuoso: Oh it's just '
[00:57:18] rubycoder37: has joined #ruby
[00:57:59] apeiros: has joined #ruby
[01:04:57] apeiros: has joined #ruby
[01:05:53] alfiemax: has joined #ruby
[01:06:27] Papierkorb: Smalltalk looks like it could be useful
[01:06:44] workmad3: has joined #ruby
[01:07:08] latemus: isnt smalltalk where ruby gets the |e| notaition from
[01:08:21] rubycoder37: why is python still more popular than ruby? I'm a bit upset my friends migrated to python for this reason, I still prefer ruby
[01:08:54] RickHull: python is closer to C, more pragmatic, less pure in terms of developer experience
[01:09:01] RickHull: see also: numpy
[01:09:02] Papierkorb: Who cares? Use what you like the most. If someone pins you on that, their loss
[01:09:28] RickHull: also, python has a culture of pythonicity, the one true way
[01:09:54] Zarthus: so does rust and go, with rustfmt and gofmt
[01:10:05] RickHull: newest and newer
[01:10:11] RickHull: will probably eclipse python IMHO
[01:10:14] cdg: has joined #ruby
[01:10:28] rubycoder37: RickHull: you think rust will eclipse python?
[01:10:29] sepp2k: has joined #ruby
[01:10:40] RickHull: in some measures, for sure
[01:10:47] Papierkorb: Hard to replace a scripting language with a compiled and strictly static language
[01:10:54] RickHull: popularity measures for various applications
[01:10:55] rubycoder37: do you think crystal will eclipse ruby?
[01:11:07] Papierkorb: Time will tell.
[01:11:09] Papierkorb: Maybe, maybe not
[01:11:19] Papierkorb: Will Elixir "eclipse" ruby?
[01:11:25] Papierkorb: And if so, in what measure?
[01:11:25] RickHull: i think crystal + elixir will
[01:11:33] RickHull: union, not addition
[01:11:48] rubycoder37: I don't think elixir will eclipse ruby
[01:12:19] Papierkorb: I know that I'm not interested in Elixir. But that's because I'm not interested in webdev.
[01:12:33] RickHull: ruby is legacy now, kinda. it's very hard to steer the battleship
[01:12:44] rubycoder37: a lot of people think ruby is just a rails thing
[01:12:44] Papierkorb: And Crystal lets me (finally again) wreck havoc on bare metal
[01:13:04] wmoxam: those ppl are wrong 😅
[01:13:29] rubycoder37: I talk to people who are wrong all the time
[01:13:36] RickHull: mruby looks like the brightest lineage for ruby 100 years from now -- agree?
[01:13:37] rubycoder37: I love proving them wrong
[01:13:51] rubycoder37: not that I'm always right
[01:15:26] guardianx: has joined #ruby
[01:15:32] wmoxam: IMO Ruby has always been, and still is a great glue language
[01:15:47] RickHull: i think ruby will be the Algol of the 2000s
[01:16:09] RickHull: most contemporary languages will owe homage
[01:16:12] wmoxam: Elixir, Crystal etc aren't as good as glue
[01:16:13] Papierkorb: `result := a > b ifFalse: [ "bar" ]` smalltalk has had unless for ages - with the difference being its pendant being readable by everyone easily. Nice
[01:16:49] wmoxam: if anything will replace it maybe it'll be Perl :D
[01:17:02] Papierkorb: wmoxam: Compared to e.g. Lua, Ruby has a huge disvantage in that the VMs are so hard to embed and use
[01:17:16] Papierkorb: It's admirable how good Luas API is
[01:17:26] guardianx: has left #ruby: ()
[01:17:33] damasta: has left #ruby: ()
[01:17:39] rubycoder37: I started using rails in 2008 when rails was a hot thing, I was still writing PHP (yuck) back then, but I already saw ruby being used, I wanted a more general purpose language and ruby was it
[01:17:42] Papierkorb: RickHull: wasn't mruby similar to CRubys API?
[01:17:52] wmoxam: Papierkorb: that's not what I meant by glue :D
[01:18:00] rubycoder37: eventually people moved to go and node and other langs, but I didn't
[01:18:01] RickHull: Papierkorb: i think so, I haven't used it in anger yet
[01:18:21] Papierkorb: RickHull: Then it doesn't hold a candle in that department to Lua
[01:18:32] Papierkorb: (Well OTOH, Luas stdlib is whack at best)
[01:18:34] rubycoder37: some of my friends still make fun of me for sticking to ruby, and I get even more upset with them
[01:18:34] RickHull: perhaps, but it still has use
[01:18:47] RickHull: rubycoder37: don't get emotionally invested
[01:19:48] Papierkorb: rubycoder37: Why do you care? Knowing a tool, even if it isn't the most-perfect fit for the job, really really well is so much more useful than knowing the most-perfect tool for the job only somewhat
[01:20:22] wmoxam: rubycoder37: I haven't seen much migration away from Ruby/Rails
[01:20:32] Papierkorb: And if you move to JS from Ruby, I really can't help you
[01:20:55] RickHull: gotta be full stack yo
[01:21:49] Papierkorb: You'd hope that dogfooding your own JS client code on the server would eventually improve the quality of client and server code, as you don't want to waste resources on your server
[01:22:02] latemus: jquery is rather ruby-like
[01:22:11] latemus: i've noticed
[01:22:18] Papierkorb: But jokes on me, with electron, crappy server AND client code is now packaged as electron!
[01:22:20] Papierkorb: What a time to be alive
[01:22:32] wmoxam: ugh, electron
[01:22:45] wmoxam: I've quit using electron app
[01:22:58] Papierkorb: I only use Atom. It's the least worst editor I know :(
[01:23:02] RickHull: is that github's atom editor framework thing?
[01:23:16] wmoxam: Sublime is better :p
[01:23:17] rubycoder37: Papierkorb: I had a experience writing python at wor recently and it wasn't a very good experience, but I also think that's mostly because I inherited a very crappy codebase and not because of python itself
[01:23:39] rubycoder37: electron is awful
[01:23:45] RickHull: rubycoder37: a craftsman doesn't blame his tools unless they really suck
[01:24:07] DLSteve: has joined #ruby
[01:24:08] Papierkorb: rubycoder37: I really really like OOP. Not in the Java sense. Proper OOP. Python isn't so sure if it's imperative or object-oriented. So that's a "Meh" from me.
[01:24:15] mtkd: has joined #ruby
[01:24:21] rubycoder37: RickHull: yes, nothing against python
[01:24:26] RickHull: in ruby it's nice that everything is an object except for some stuff
[01:25:01] Papierkorb: "Numbers are objects" was a revelation to me
[01:25:10] rubycoder37: I like Ruby, I want to see ruby being used more
[01:25:27] RickHull: dminuoso: i thought that ruby couldn't properly implement |> because of the difference between an instance as a method receiver vs the first arg
[01:25:51] RickHull: i.e. def operates_on_float(flt)
[01:26:03] RickHull: vs Float#operates_on_float
[01:26:43] Papierkorb: The only thing that'd make any sense at all would be `object.foo |> another_object.bar`. And I'm not sure it'd be that useful. But I'm not really against it either.
[01:26:50] wmoxam: really want to check out Perl 6. Have heard great things
[01:27:24] rubycoder37: Larry Wall is a nice guy
[01:27:59] Papierkorb: The perl sucks talks were great fun too :P
[01:28:40] hahuang65: has joined #ruby
[01:28:55] rubycoder37: I think he's a funny guy
[01:29:00] Papierkorb: CCC Talks, Part 1 https://www.youtube.com/watch?v=noQcWra6sbU Part two a year later https://www.youtube.com/watch?v=RPvORV2Amic
[01:29:16] wmoxam: https://gist.github.com/wmoxam/a3d93a1bcde7cfbdbc64d9584fd1929b
[01:29:37] eckhardt: has joined #ruby
[01:29:42] csk157_1: has joined #ruby
[01:30:36] matthewd: module Kernel; def pipe_arrow(obj, sym, *args, &block); obj.send(sym, self, *args, &block); end; end
[01:31:58] RickHull: >> 'str'.pipe_arrow(:reverse) # 'str' |> reverse
[01:31:59] ruby[bot]: RickHull: # => undefined method `pipe_arrow' for "str":String (NoMethodError) ...check link for more (https://eval.in/888901)
[01:32:16] RickHull: something like that?
[01:32:30] RickHull: how do you handle String#methods vs methods(str) ?
[01:33:00] Papierkorb: RickHull: We have that already. We call it the .... dot operator!
[01:33:08] Papierkorb: >> 'str'.reverse
[01:33:09] ruby[bot]: Papierkorb: # => "rts" (https://eval.in/888902)
[01:33:24] RickHull: right, but it's not like |> in some critical way(s)
[01:33:26] matthewd: RickHull: 'str'.pipe_arrow(self, :reverse) # 'str' |> self.reverse # reverse('str')
[01:33:59] jxv: has joined #ruby
[01:34:25] RickHull: so you specify val goes to (receiver, method)
[01:35:10] Papierkorb: |> would only make sense to turn `one.two(three.four)` into `three.four |> one.two`
[01:35:52] matthewd: Not claiming it's a compelling syntax.. just noting that it's "just" a matter of adding something to the parser
[01:38:05] Papierkorb: That's the actual question. I'm not sure if it would improve code, worsen code, or if nothing would change at all (because no one cared)
[01:38:14] matthewd: I'm not terribly convinced, but I'm open to the idea in principle
[01:39:24] matthewd: ISTM that we already have reasonable chaining via `.`, such that breaking up those chunks with intermediate variables is more likely to be descriptive than uselessly verbose
[01:39:49] RickHull: it seems to me
[01:40:54] Papierkorb: Probably, you'd need to modify ruby to support that |> and then write code (or port existing code) for it to see how it "feels"
[01:41:13] RickHull: it's not the same "win" it is in elixir, at all
[01:41:32] Papierkorb: elixir is a functional language, not OOP
[01:41:41] Papierkorb: It mimics many parts of OOP though, give it that
[01:41:44] matthewd: Right, because a good portion of what it's doing in Elixir, is done by `.` in Ruby
[01:41:55] RickHull: Papierkorb: yep, this discussion of |> goes back to FP discussions
[01:42:03] RickHull: here in the last week
[01:42:26] DebianUser_: has joined #ruby
[01:43:02] Papierkorb: we had people calling for |> in the FP sense (and not in a OOP sense) in the crystal github as issue years ago
[01:43:23] RickHull: (all I know is the elixir sense)
[01:43:29] Papierkorb: Because writing "foos |> Enumerable.each" is totally better than "foos.each" or something
[01:43:47] RickHull: it's pretty great, actually
[01:43:58] RickHull: that's not the best example
[01:44:10] RickHull: in ruby, we use #tap and #andand to work around this lack
[01:44:16] RickHull: and similar things
[01:44:28] Papierkorb: It completely breaks the type system
[01:44:41] RickHull: not in Elixir, unless I misunderstand you
[01:44:41] Papierkorb: and makes that thing to test a nightmare
[01:44:42] matthewd: RickHull: Oh? What does tap look like in Elixir?
[01:44:47] Papierkorb: RickHull: Elixir isn't Ruby
[01:45:10] Papierkorb: What they do they do. Elixir is a functional language, what may make sense for them may not make sense in OOP
[01:45:13] Papierkorb: Which is fine
[01:45:23] RickHull: https://github.com/rickhull/conway_deathmatch vs https://github.com/rickhull/conway_deathmatch/tree/elixir
[01:45:34] RickHull: see how |> gets used
[01:45:54] RickHull: the structure is much different though, despite the strategies being similar
[01:46:24] jottr: has joined #ruby
[01:46:46] RickHull: https://github.com/rickhull/conway_deathmatch/blob/elixir/lib/conway_deathmatch.ex#L127
[01:47:40] RickHull: https://github.com/rickhull/conway_deathmatch/blob/elixir/lib/conway_deathmatch.ex#L111
[01:47:40] matthewd: Right; that line would be `conway.tick.print(options).sleep(options).loop(options)` in Ruby
[01:47:51] Papierkorb: Which is actually more readable
[01:48:01] RickHull: it could be, if those would deign to return self
[01:48:08] RickHull: but they don't
[01:48:18] matthewd: That's unfair
[01:48:23] Papierkorb: Then write it on a separate line?
[01:48:27] matthewd: They're your methods
[01:48:40] matthewd: And your Elixir methods have to return their first argument for that to work
[01:49:02] jdawgaz: has joined #ruby
[01:49:04] RickHull: there is a convention that makes it work that doesn't exist in Ruby
[01:49:50] matthewd: That has nothing to do with the syntax, though
[01:50:45] |ifei5g00d: has joined #ruby
[01:51:52] RickHull: methods don't have receivers
[01:52:01] RickHull: and as such they aren't tempted to have to return self
[01:52:06] RickHull: in order to chain
[01:52:21] |ifei5g00d: has joined #ruby
[01:52:30] matthewd: Just because you name the first argument something other than 'self', doesn't make it not self
[01:52:32] matthewd: (ask Python)
[01:52:49] RickHull: in elixir, the first arg is not self implicitly
[01:53:13] matthewd: It is when you call it with |>
[01:53:16] RickHull: functions are functions, not methods with access to private state
[01:54:38] RickHull: you're right that the ruby userspace could be rewritten that way
[01:55:16] RickHull: but ruby is OOP not FP, per Papierkorb
[01:56:05] Papierkorb: I already gave a |> that'd at least make some kind of sense in OOP. If it'd be a good addition I don't know.
[01:56:18] matthewd: So why do we keep having this comparison discussion?
[01:56:34] RickHull: sorry, I remain convinced that |> can't work usefully in Ruby
[01:56:50] RickHull: ruby makes this big distinction between the method receiver and the first arg
[01:56:56] RickHull: and it doesn't jive with FP
[01:57:21] matthewd: Then let's stop discussing it
[02:02:00] railswebdev: has joined #ruby
[02:05:09] RickHull: ACTION taps foot
[02:05:24] gizmore|2: has joined #ruby
[02:06:15] jxv: has joined #ruby
[02:08:52] RickHull: perl -e 'print "Larry"' -W all
[02:10:46] cdg: has joined #ruby
[02:10:49] jphase: has joined #ruby
[02:11:15] Technodrome: has joined #ruby
[02:13:49] d^sh: has joined #ruby
[02:17:10] alfiemax: has joined #ruby
[02:19:54] apeiros: has joined #ruby
[02:24:39] jphase: has joined #ruby
[02:32:53] railswebdev: has joined #ruby
[02:33:44] jphase: has joined #ruby
[02:33:47] apeiros: has joined #ruby
[02:33:59] rubycoder37: ruby feels a lot more perlish to me than python does
[02:34:33] RickHull: it would; python is more german and structured whereas perl is more french and postmodern
[02:34:52] Papierkorb: There are sadly some perlisms left in Ruby
[02:35:03] Papierkorb: Crap like $~
[02:35:15] RickHull: no one uses it besides golfers
[02:35:24] RickHull: not a problem in practice
[02:35:50] RickHull: other than legacy crap that no one wants to touch, looking at you stdlib
[02:35:54] RickHull: *bats eyelashes*
[02:35:57] rubycoder37: why is perlism a bad thing?
[02:36:07] RickHull: most perlisms are revolting
[02:36:08] Papierkorb: perl is a pile of write-only junk
[02:36:55] RickHull: early perl made sense as a kind of awk/sed replacement, kind of forth-like with single chars doing broad things
[02:37:10] RickHull: then it got more general purpose, which enabled lots of good stuff
[02:37:20] chmurifree: has joined #ruby
[02:37:33] Papierkorb: There are ton of things in perl that are just plain bad ideas
[02:37:42] RickHull: we need perl: the good parts, like javascript
[02:37:49] Papierkorb: Casting an array to a scalar returns its length? Wat?
[02:38:01] RickHull: it kinda makes sense
[02:38:05] Papierkorb: who really needs perl?
[02:38:09] RickHull: but annoying in practice
[02:38:21] Papierkorb: and that $ @ prefix junk
[02:38:35] rubycoder37: python seems very anti-perl, they don't even like regexes that much
[02:39:42] rubycoder37: if it's not easy to read and it doesn't make sense, it's bad, that sort of thing
[02:41:38] arescorpio: has joined #ruby
[02:42:19] RickHull: i agree with that
[02:42:42] RickHull: SICP, programs are meant for people to read and only incidentally for computers to execute
[02:44:32] RickHull: PRs requested: https://github.com/rickhull/compsci
[02:47:10] NightMonkey: has joined #ruby
[02:47:17] hndk: has joined #ruby
[02:55:23] veeti: has joined #ruby
[03:00:08] cadillac_: has joined #ruby
[03:02:26] alex``: has joined #ruby
[03:05:50] jphase: has joined #ruby
[03:06:30] apeiros: has joined #ruby
[03:07:28] workmad3: has joined #ruby
[03:07:28] duderonomy: has joined #ruby
[03:09:21] uZiel_: has joined #ruby
[03:11:34] HTTP_____GK1wmSU: has joined #ruby
[03:11:36] cdg: has joined #ruby
[03:13:00] HTTP_____GK1wmSU: has left #ruby: ()
[03:13:04] apeiros: has joined #ruby
[03:14:42] alfiemax: has joined #ruby
[03:15:43] alfiemax: has joined #ruby
[03:23:54] apeiros: has joined #ruby
[03:25:53] jxv: has joined #ruby
[03:27:36] jdawgaz: has joined #ruby
[03:27:57] d^sh: has joined #ruby
[03:28:46] railswebdev: has joined #ruby
[03:29:31] hahuang65: has joined #ruby
[03:30:30] csk157_1: has joined #ruby
[03:30:32] jphase: has joined #ruby
[03:32:54] cdg: has joined #ruby
[03:41:12] arvindsaik: has joined #ruby
[03:42:37] astrobunny: has joined #ruby
[03:44:17] jdawgaz: has joined #ruby
[03:45:02] jdawgaz: has joined #ruby
[03:45:52] jdawgaz: has joined #ruby
[03:46:07] erlend: has joined #ruby
[03:47:14] jottr: has joined #ruby
[04:00:30] railswebdev: has joined #ruby
[04:02:55] astrobunny: has joined #ruby
[04:03:51] eckhardt: has joined #ruby
[04:07:54] alfiemax: has joined #ruby
[04:18:02] RickHull: https://suhr.github.io/obsc/
[04:30:55] apeiros: has joined #ruby
[04:31:52] Technodrome: has joined #ruby
[04:32:31] railswebdev: has joined #ruby
[04:33:41] cdg: has joined #ruby
[04:46:35] apeiros: has joined #ruby
[05:00:09] Heph_: has joined #ruby
[05:01:00] alfiemax_: has joined #ruby
[05:01:21] jxv: has joined #ruby
[05:08:10] workmad3: has joined #ruby
[05:08:45] guacamole: has joined #ruby
[05:12:10] _whitelogger: has joined #ruby
[05:20:26] k3rn31: has joined #ruby
[05:20:54] railswebdev: has joined #ruby
[05:30:19] hahuang65: has joined #ruby
[05:31:18] csk157_1: has joined #ruby
[05:33:56] kapil___: has joined #ruby
[05:34:25] cdg: has joined #ruby
[05:42:11] _whitelogger: has joined #ruby
[05:43:26] jxv: has joined #ruby
[05:44:41] enterprisey: has joined #ruby
[05:47:56] shinnya: has joined #ruby
[05:48:20] jottr: has joined #ruby
[05:51:17] DebianUser_: has joined #ruby
[05:56:00] apeiros: has joined #ruby
[05:56:42] railswebdev: has joined #ruby
[06:00:17] guardianx: has joined #ruby
[06:03:24] mjolnird: has joined #ruby
[06:08:15] Uptime: has joined #ruby
[06:11:00] apeiros: has joined #ruby
[06:11:26] dionysus69: has joined #ruby
[06:15:27] eckhardt: has joined #ruby
[06:17:23] uZiel_: has joined #ruby
[06:22:39] Dimik: has joined #ruby
[06:25:32] guardianx: has left #ruby: ()
[06:26:06] apeiros: has joined #ruby
[06:35:11] cdg: has joined #ruby
[06:35:43] jphase: has joined #ruby
[06:38:08] apeiros: has joined #ruby
[06:48:10] _whitelogger: has joined #ruby
[06:50:28] apeiros: has joined #ruby
[06:58:33] jphase: has joined #ruby
[07:01:14] apeiros: has joined #ruby
[07:02:19] uZiel: has joined #ruby
[07:07:39] jphase: has joined #ruby
[07:08:59] workmad3: has joined #ruby
[07:09:04] csk157_1: has joined #ruby
[07:09:21] doublemalt_: has joined #ruby
[07:17:25] latemus: does ruby have a method to recurse through a nested hash and find deepest objects
[07:22:07] dionysus69: has joined #ruby
[07:29:05] apparition: has joined #ruby
[07:31:24] hahuang65: has joined #ruby
[07:35:53] cdg: has joined #ruby
[07:45:23] DTZUZO: has joined #ruby
[07:46:26] arup_r: has joined #ruby
[07:47:33] arup_r: Can anyone help me in 1 regex. I would like to match a name - be a minimum of ten characters not including spaces.
[07:49:09] jottr: has joined #ruby
[07:53:47] alfiemax: has joined #ruby
[07:57:02] apeiros: arup_r: not without more information. come on, you're in here long enough to know that such meta questions suck.
[07:57:33] arup_r: apeiros: I don't know what more information on this I can provide.
[07:57:47] apeiros: too bad for you then. can't help.
[07:57:57] arup_r: yeah. no problem .. thanks.
[08:00:05] HTTP_____GK1wmSU: has joined #ruby
[08:01:27] eckhardt: has joined #ruby
[08:02:02] HTTP_____GK1wmSU: has left #ruby: ()
[08:02:48] arup_r: has left #ruby: ()
[08:09:23] csk157_1: has joined #ruby
[08:18:34] mson: has joined #ruby
[08:33:04] nardul: has joined #ruby
[08:33:56] nardul: Heyo, in ruby, is 'load!' a special function in that it is automatically executed when a module is import by some method?
[08:34:44] dminuoso: nardul: #load! is not a Ruby thing.
[08:34:59] `derpy: No results
[08:35:05] latemus: RickHull: Nice. Thank you
[08:36:17] nardul: dminuoso: Thank you!
[08:36:37] cdg: has joined #ruby
[08:36:45] dminuoso: nardul: So Ruby does not really have a module infrastructure.
[08:37:18] dminuoso: nardul: What require/load actually just do, is basically 'execute' another file (with some minor twists, such as local variables remaining local)
[08:37:42] dminuoso: require does this once, load does this multiple times
[08:37:51] latemus: arup check out https://www.regular-expressions.info/quickstart.html and https://www.regular-expressions.info/ruby.html
[08:38:07] dminuoso: So if you had the need to run code 'when something is required', just put it into the file. ;-)
[08:38:25] marr: has joined #ruby
[08:39:02] nardul: dminuoso: Understood. :) Working with padrinorb. The setup is a bit strange and I've never touched ruby before :) Just trying to make sense of it all.
[08:39:47] dminuoso: nardul: You might be interested in
[08:39:49] ruby[bot]: You can find a list of recommended books at http://ruby-community.com/pages/links
[08:42:08] arquebus: has joined #ruby
[08:43:30] nardul: Thank you :)
[08:47:47] jottr: has joined #ruby
[08:47:59] Freshnuts: has joined #ruby
[08:54:41] raynold: has joined #ruby
[09:00:30] ur5us: has joined #ruby
[09:06:01] ta: has joined #ruby
[09:07:18] minimalism: has joined #ruby
[09:07:26] rippa: has joined #ruby
[09:08:01] rippa: has joined #ruby
[09:09:38] workmad3: has joined #ruby
[09:10:28] csk157_1: has joined #ruby
[09:16:26] alfiemax: has joined #ruby
[09:32:16] hahuang65: has joined #ruby
[09:36:05] mlehrer: has joined #ruby
[09:37:27] cdg: has joined #ruby
[09:37:33] alfiemax: has joined #ruby
[09:41:17] oetjenj: has joined #ruby
[09:42:56] dionysus70: has joined #ruby
[09:45:50] FahmeF_: has joined #ruby
[09:49:06] ShekharReddy: has joined #ruby
[09:50:24] alfiemax: has joined #ruby
[09:55:04] alfiemax: has joined #ruby
[10:07:36] linduxed: has joined #ruby
[10:12:19] alfiemax: has joined #ruby
[10:12:41] lxsameer: has joined #ruby
[10:18:34] cadillac_: has joined #ruby
[10:28:25] alfiemax: has joined #ruby
[10:29:03] zapata: has joined #ruby
[10:35:56] dinfuehr: has joined #ruby
[10:38:34] cdg: has joined #ruby
[10:40:44] alfiemax: has joined #ruby
[10:42:04] alfiemax_: has joined #ruby
[10:42:47] InfinityFye: has joined #ruby
[10:45:28] zanoni: has joined #ruby
[10:49:58] michael1: has joined #ruby
[10:51:33] latemus: is it correct to say that func1().func2() and func2(func1()) is the same, in the sense that they are passing messages the same?
[10:52:28] matthewd: No, they're not the same
[10:52:29] mikecmpbll: has joined #ruby
[10:52:51] latemus: does . connect up the standard input and output of the two methods in a duplex way
[10:54:07] latemus: i guess, im wondering, how does the first method in a chain pass messages to the second method in the chain
[10:54:25] latemus: does the second recieve what is returned by the first
[10:54:53] matthewd: f1.f2 # <-- call `f1` on self, then call `f2` on whatever it returns
[10:54:55] elomatreb: in func1().func2() you call func2() on whatever func1() returns
[10:55:21] matthewd: f2(f1) # <-- call f1 on self, then call f2 on self while passing the return value from f1 as an argument
[10:55:42] Jameser: has joined #ruby
[10:56:35] latemus: alright. not quite ready to ask this question i suppose. thanks anyway
[10:56:45] matthewd: "standard input and output" is a fair way away from a reasonable depiction of what's going on
[10:56:56] dminuoso: latemus: What you are asking for will exist in Ruby 2.5.
[10:57:40] latemus: im trying to understand how chaining is different from just passing in args
[10:58:09] latemus: stil grappling with oo messages i think
[10:58:20] matthewd: latemus: Do you understand the idea of calling a method on an object?
[10:58:39] dminuoso: Oh I cant read apparently.
[10:58:41] matthewd: >> "hello".size
[10:58:43] ruby[bot]: matthewd: # => 5 (https://eval.in/888945)
[10:58:53] latemus: right, i get that.
[10:58:54] matthewd: >> def f1; "hello"; end; f1.size
[10:58:55] ruby[bot]: matthewd: # => 5 (https://eval.in/888946)
[10:59:01] experienced_newb: has joined #ruby
[10:59:11] matthewd: >> def f1; "hello"; end; f1.size.odd?
[10:59:12] ruby[bot]: matthewd: # => true (https://eval.in/888948)
[10:59:47] experienced_newb: hi everyone saying I'm a newbie to ruby development, would to unserstand what version of ruby should be used for a new project?
[10:59:53] dminuoso: experienced_newb: 2.4.2
[11:00:08] experienced_newb: I cannot understand LTS policies
[11:00:15] matthewd: latemus: Does that help at all?
[11:00:26] latemus: yes the method returns an object which hase the methods and attributes of it's class
[11:00:44] experienced_newb: very well it seems like 2.^ and 3.^ branches have an LTS version
[11:00:56] latemus: matthewd: i'm clear on that, it doesnt really cover what im triying to ask
[11:00:57] matthewd: Right. And so chained calls are just invoking a new method on each return value, in turn.
[11:01:03] dminuoso: latemus | im trying to understand how chaining is different from just passing in args - semantically its not too different actually.
[11:01:18] latemus: dminuoso: okay
[11:02:10] matthewd: latemus: Every call has a receiver; when chaining, the receiver is the thing on the left. When it's not specified, it's self.
[11:02:19] latemus: matthewd: okay, so the 'medium of transport', if you will, by which chaned objects communicate, is the return value
[11:02:29] dminuoso: latemus: yup
[11:03:01] matthewd: I'd say it's really more the value being transported
[11:03:11] latemus: that is the same as pipelining commands in unix
[11:03:19] experienced_newb: dminuoso, sorry, could you argument to me why use the 2.4 and not the 2.3 that it's an LTS? really I'm new to the language
[11:03:42] matthewd: latemus: Except that it's not a pipeline. The return value isn't available until the method returns.
[11:04:02] latemus: you mean theres no buffer?
[11:04:06] dminuoso: experienced_newb: We do not have such an LTS system as far as I jknow.
[11:04:07] matthewd: (thus not medium -- there's no communication)
[11:04:19] latemus: i think i see
[11:04:25] matthewd: There's an infinite buffer
[11:05:14] matthewd: latemus: Think `grep x y > tmp; cat < tmp`, not `grep x y | cat`
[11:05:31] latemus: okay i get it now
[11:05:32] dminuoso: experienced_newb: So the latest Ruby version will give you the longest maintenance down the road.
[11:05:42] experienced_newb: probably I landed on a "commercial" site offering LTS support, so please could you argument why the 2.3 version it's best suited? later ones are unstable?
[11:05:55] dminuoso: experienced_newb: Nope. 2.4.2 is quite stable.
[11:05:55] matthewd: latemus: So `f1.f2` is identical to `x = f1; x.f2`
[11:06:04] dminuoso: experienced_newb: We don't release unstable untested versions.
[11:06:23] matthewd: experienced_newb: Are you talking about Ruby or Rails?
[11:06:35] matthewd: ACTION is suspicious of "LTS" + "2.3"
[11:07:04] experienced_newb: i was just googling for "ruby LTS"
[11:07:24] dminuoso: Im getting some rails related hits.
[11:07:26] experienced_newb: I thought I was on the official ruby site
[11:07:34] latemus: matthewd: that cleared it up. thanks matthewd Dimik elomatreb
[11:07:45] dminuoso: Which is still scary as heck, to see people selling 'rails 2.3 lts'
[11:07:46] matthewd: "2.^ and 3.^ branches", yeah, that's Rails
[11:07:50] latemus: s/Dimik/dminuoso
[11:08:39] experienced_newb: so just to understand and please have patience with me
[11:08:47] matthewd: experienced_newb: So yeah, that's a third party attempt at legacy support for versions that are no longer actually supported
[11:09:14] matthewd: experienced_newb: There is no official LTS anything; you should use the latest released version
[11:09:36] experienced_newb: could you argument why to opt for a version or another, let's say in the future I would like to make study MVC project with rails but also long term running processes
[11:09:55] matthewd: experienced_newb: Use. the. latest. released. version.
[11:09:59] dminuoso: experienced_newb: Latest versions give you latest features, and *official* support/maintenance/patches.
[11:10:05] matthewd: experienced_newb: There is no argument. There is no reason to use an older version.
[11:10:24] workmad3: has joined #ruby
[11:10:45] dminuoso: If you for example ask in here about ruby 1.9 features, you might get ridiculed and told to upgrade.
[11:11:11] matthewd: People use older versions because they haven't gotten around to upgrading yet, or it's difficult to upgrade, or.. etc. A new project should always start on the latest available (and where possible, try to keep upgrading).
[11:12:03] csk157_1: has joined #ruby
[11:12:03] mathys: has joined #ruby
[11:12:05] kapil___: has joined #ruby
[11:16:20] beccamorgan: has joined #ruby
[11:18:19] latemus: are udp sockets simplex on unix, since it is one way
[11:18:36] latemus: or arent sockets always dup
[11:22:33] doublemalt_: has joined #ruby
[11:22:51] dminuoso: latemus: They are duplex for the reason you can receive and send through one socket.
[11:24:55] elomatreb: UDP is connectionless, not directionless or one-way
[11:25:35] dminuoso: What they said.
[11:26:07] dminuoso: Bert-A-Mole.
[11:32:37] cschneid_: has joined #ruby
[11:33:08] hahuang65: has joined #ruby
[11:35:46] veeti: has joined #ruby
[11:38:58] Jameser: has joined #ruby
[11:39:30] cdg: has joined #ruby
[11:40:10] alfiemax: has joined #ruby
[11:51:35] BTRE: has joined #ruby
[11:59:50] leah2: has joined #ruby
[12:06:21] dionysus69: has joined #ruby
[12:16:24] Psybur: has joined #ruby
[12:18:29] uZiel: has joined #ruby
[12:19:20] cdg: has joined #ruby
[12:22:13] alfiemax: has joined #ruby
[12:30:09] HTTP_____GK1wmSU: has joined #ruby
[12:31:05] houhoulis: has joined #ruby
[12:32:27] HTTP_____GK1wmSU: has left #ruby: ()
[12:35:16] Defenestrate: has joined #ruby
[12:35:16] Defenestrate: has joined #ruby
[12:35:21] ahrs: has joined #ruby
[12:40:35] Azure: has joined #ruby
[12:48:06] cdg: has joined #ruby
[12:49:12] cadillac_: has joined #ruby
[12:50:27] oetjenj: has joined #ruby
[12:51:13] oetjenj: has joined #ruby
[12:51:17] DebianUser_: has joined #ruby
[12:51:59] oetjenj: has joined #ruby
[12:52:45] oetjenj: has joined #ruby
[12:53:41] Psybur: has joined #ruby
[12:54:34] atmosx: has joined #ruby
[12:57:06] duderonomy: has joined #ruby
[12:59:23] Defenestrate: has joined #ruby
[12:59:24] Defenestrate: has joined #ruby
[13:02:34] zanoni: has joined #ruby
[13:03:50] Azure: has joined #ruby
[13:08:25] sepp2k: has joined #ruby
[13:11:11] workmad3: has joined #ruby
[13:14:18] jdawgaz: has joined #ruby
[13:24:20] doublemalt_: has joined #ruby
[13:28:32] DTZUZO: has joined #ruby
[13:28:59] jottr: has joined #ruby
[13:33:23] cschneid_: has joined #ruby
[13:34:08] hahuang65: has joined #ruby
[13:35:33] johno84: has joined #ruby
[13:37:18] HTTP_____GK1wmSU: has joined #ruby
[13:38:12] Azure: has joined #ruby
[13:38:17] HTTP_____GK1wmSU: has left #ruby: ()
[13:38:59] troulouliou_div2: has joined #ruby
[13:44:17] Sightes: has joined #ruby
[13:44:25] linduxed: has joined #ruby
[13:45:21] cabotto: has joined #ruby
[13:49:07] cdg: has joined #ruby
[13:51:13] Sightes: has joined #ruby
[13:53:24] Sightes: has joined #ruby
[13:54:37] [[thufir]]: has joined #ruby
[13:55:35] DLSteve: has joined #ruby
[13:57:30] pilne: has joined #ruby
[13:59:50] troulouliou_div2: has joined #ruby
[14:00:46] danielglh: has joined #ruby
[14:01:34] alfiemax: has joined #ruby
[14:01:58] latemus: input = [/#{bs[a-z]{1}}/]
[14:03:24] latemus: this assignment fails with an error. complaining about the braces in the quantifier. what is the proper way? i thought i could use /#{}/ to place a regexp in an array
[14:04:22] latemus: i want to do it right there in the array declaration, without assigning var = /pattern/
[14:04:23] jxv: has joined #ruby
[14:05:08] cabotto: has joined #ruby
[14:05:09] apeiros: latemus: #{} is for interpolation
[14:05:23] apeiros: that is, if you want to put dynamic stuff in your regex
[14:05:40] apeiros: >> foo = [/array with regex/] # none needed for a plain regex
[14:05:41] ruby[bot]: apeiros: # => [/array with regex/] (https://eval.in/888974)
[14:06:08] apeiros: >> dynamic = "hello"; /#{dynamic} world/
[14:06:09] ruby[bot]: apeiros: # => /hello world/ (https://eval.in/888975)
[14:06:17] apeiros: ^ this is what #{} is for. same as with strings.
[14:07:14] griffindy: has joined #ruby
[14:08:10] latemus: apeiros: okay. i guess the error was because im doing this with it? --> method_name arg1, arg2, [/regexp/]
[14:08:23] latemus: passing it in to a method
[14:08:38] apeiros: no, the error was because #{} should contain valid ruby code, and bs[a-z]{1} isn't valid ruby code
[14:08:57] apeiros: also {1} in a regex is pointless. /a/ == /a{1}/
[14:09:19] latemus: sorry-- i meant the error before i tried interpolation. one sec lemme check in irb brb
[14:09:35] latemus: apeiros: you're so right, woops
[14:10:08] charliesome: has joined #ruby
[14:10:11] latemus: i think it was there because i previously had parens to group, and forgot to remove the quantifier
[14:10:20] apeiros: oy, moin charliesome. long time no see :)
[14:10:21] latemus: ima go with that story ;/
[14:10:33] uZiel_: has joined #ruby
[14:12:29] cabotto: has joined #ruby
[14:13:34] csk157_1: has joined #ruby
[14:13:56] apeiros: charliesome: how are things? in which part of the world are you working nowadays?
[14:14:06] charliesome: i'm in berlin at the moment!
[14:14:09] apeiros: or living, for that matter :D
[14:14:13] apeiros: oooh, close!
[14:14:29] apeiros: ping me when you visit good old switzerland, will you? :)
[14:14:33] charliesome: heading back home in about a week though
[14:14:44] charliesome: ah, i should have! i spent a few days in zürich a few weeks ago
[14:15:35] apeiros: well, lets hope there's a next time
[14:16:27] Guest22516: has joined #ruby
[14:19:28] latemus: yay, it was just a paren in the wrong position. thanks your your help apeiros
[14:22:39] matt[m]5: has joined #ruby
[14:35:05] zautomata: has joined #ruby
[14:41:51] ltem: has joined #ruby
[14:43:28] Guest89500: has joined #ruby
[14:49:45] cdg: has joined #ruby
[14:50:18] selim: has joined #ruby
[14:50:29] alfiemax: has joined #ruby
[14:51:20] Technodrome: has joined #ruby
[14:56:44] [[thufir]]: do many people use emacs? looks kinda like aptana is perhaps the only open source "ide" for ruby?
[14:58:25] jdawgaz: has joined #ruby
[14:58:40] houhoulis: has joined #ruby
[14:59:20] sepp2k1: has joined #ruby
[14:59:54] dminuoso: [[thufir]]: RubyMine is probably the most full fledged Ruby IDE, though emacs/vim can get you pretty far. There's also some other modern editors with integrations in that direction like atom
[15:00:12] dminuoso: Never even heard of aptana
[15:01:04] brendan-: has joined #ruby
[15:01:19] sepp2k2: has joined #ruby
[15:03:21] Sightes: has joined #ruby
[15:04:17] LenPayne: Aptana is Eclipse-based. So it's a set of plugins on top of Eclipse that focus it away from Java and more into PHP/Ruby/JavaScript style practices.
[15:09:03] jsilver: has joined #ruby
[15:10:05] jdawgaz: has joined #ruby
[15:10:53] jdawgaz: has joined #ruby
[15:11:08] atmosx: Anyone familiar with lita chatops bot?
[15:11:43] jdawgaz: has joined #ruby
[15:12:06] ogres: has joined #ruby
[15:12:28] jdawgaz: has joined #ruby
[15:13:19] jdawgaz: has joined #ruby
[15:14:09] jdawgaz: has joined #ruby
[15:14:26] apeiros: !fixcon jdawgaz
[15:14:35] csk157_1: has joined #ruby
[15:14:54] jdawgaz: has joined #ruby
[15:15:17] Papierkorb: reddit is leaking again
[15:15:33] apeiros: !fixcon jdawgaz
[15:15:33] ruby[bot]: +bb jdawgaz!*@*$#ruby-fix-your-connection *!*@ip70-176-27-239.ph.ph.cox.net$#ruby-fix-your-connection
[15:15:35] ruby[bot]: -b n|9932!*@*$#ruby-banned
[15:15:42] apeiros: oh, bad apeiros. had a space in front of the !
[15:24:32] dviola: has joined #ruby
[15:26:50] Sightes: has joined #ruby
[15:29:34] matt[m]5: has left #ruby: ("User left")
[15:34:07] cschneid_: has joined #ruby
[15:34:18] danielglh: has joined #ruby
[15:35:02] hahuang65: has joined #ruby
[15:42:41] cdg: has joined #ruby
[15:47:39] bauruine: has joined #ruby
[15:50:11] dminuoso: apeiros: you just need weechat with smart filter ;p
[15:50:16] dminuoso: I never saw a thing.
[15:55:06] alfiemax: has joined #ruby
[15:57:26] hhffppff: has joined #ruby
[16:01:20] csk157_1: has joined #ruby
[16:08:45] drbroiler: has joined #ruby
[16:10:26] csk157: has joined #ruby
[16:11:32] orbyt_: has joined #ruby
[16:12:59] Sightes: has joined #ruby
[16:14:41] danielglh: has joined #ruby
[16:14:45] milardovich: has joined #ruby
[16:16:01] charliesome: has joined #ruby
[16:16:24] sepp2k: has joined #ruby
[16:16:30] bauruine: has joined #ruby
[16:19:02] danielglh: has joined #ruby
[16:23:00] danielglh: has joined #ruby
[16:23:46] danielglh: has joined #ruby
[16:38:27] moei: has joined #ruby
[16:38:52] cdg: has joined #ruby
[16:45:41] troys: has joined #ruby
[16:46:52] goyox86: has joined #ruby
[16:48:07] goyox86: has joined #ruby
[16:48:45] friday: has joined #ruby
[16:49:56] cdg: has joined #ruby
[16:51:50] Pierreb|home: has joined #ruby
[16:54:57] hogetaro: has joined #ruby
[16:57:55] jottr: has joined #ruby
[16:57:57] cdg: has joined #ruby
[16:58:12] nicesignal: has joined #ruby
[16:59:39] cdg: has joined #ruby
[17:01:19] |ifei5good: has joined #ruby
[17:02:41] Ryzokuken: has joined #ruby
[17:12:38] workmad3: has joined #ruby
[17:14:03] guacamole: has joined #ruby
[17:17:13] alfiemax: has joined #ruby
[17:18:07] iamarun: has joined #ruby
[17:21:29] |ifei5g00d: has joined #ruby
[17:29:43] neo95: has joined #ruby
[17:31:41] |ifei5g00d: has joined #ruby
[17:32:08] workmad3: has joined #ruby
[17:35:49] hahuang65: has joined #ruby
[17:37:46] goyox86: has joined #ruby
[17:39:07] workmad3: has joined #ruby
[17:40:16] ogres: has joined #ruby
[17:48:44] goyox86: has joined #ruby
[17:50:57] Technodrome: has joined #ruby
[17:53:28] eroux: has joined #ruby
[17:58:09] imode: has joined #ruby
[18:06:11] Psybur: has joined #ruby
[18:08:08] mnemon: has joined #ruby
[18:11:14] guacamole: has joined #ruby
[18:23:40] milardovich: has joined #ruby
[18:23:55] Technodrome: has joined #ruby
[18:24:52] nofxx: has joined #ruby
[18:27:08] milardovich: has joined #ruby
[18:27:14] milardovich: has joined #ruby
[18:33:19] alfiemax: has joined #ruby
[18:36:13] jxv: has joined #ruby
[18:39:09] nofxx: has joined #ruby
[18:40:36] raynold: has joined #ruby
[18:42:57] mson: has joined #ruby
[18:46:51] bauruine: has joined #ruby
[18:48:17] uZiel_: has joined #ruby
[18:51:48] knight33: has joined #ruby
[18:52:11] alfiemax: has joined #ruby
[18:52:24] shinnya: has joined #ruby
[18:59:03] troulouliou_dev: has joined #ruby
[18:59:03] jottr: has joined #ruby
[19:00:14] atmosx: has joined #ruby
[19:02:06] goyox86: has joined #ruby
[19:05:22] AlisaLisa: has joined #ruby
[19:07:08] Freshnuts: has joined #ruby
[19:11:08] AlisaLisa: Free sex dating - http://2018sexxx.com
[19:11:29] apeiros: !spam AlisaLisa
[19:11:30] ruby[bot]: +bb AlisaLisa!*@*$#ruby-banned *!*@gateway/web/cgi-irc/kiwiirc.com/ip.213.138.73.186$#ruby-banned
[19:11:31] ruby[bot]: ruby[bot] kicked AlisaLisa: is a bannable offense, see http://ruby-community.com/pages/user_rules
[19:11:32] ruby[bot]: -bb *!*@172.56.20.107$#ruby-banned Hitl3rLov3dJ3ws!*@*$#ruby-banned
[19:15:32] jpterry: has joined #ruby
[19:16:16] cschneid_: has joined #ruby
[19:16:45] jrafanie: has joined #ruby
[19:20:24] bruno-: has joined #ruby
[19:28:17] EXCHGR: has joined #ruby
[19:28:45] michael1: has joined #ruby
[19:34:48] Technodrome: has joined #ruby
[19:36:14] jrafanie_: has joined #ruby
[19:36:53] PaulCapestany: has joined #ruby
[19:40:38] orbyt_: has joined #ruby
[19:44:42] ledestin: has joined #ruby
[19:44:59] jxv: has joined #ruby
[19:45:32] jpterry: has joined #ruby
[19:46:41] milardovich: has joined #ruby
[19:47:03] vipaca: has joined #ruby
[19:48:45] ur5us: has joined #ruby
[19:49:47] jxv: has joined #ruby
[19:51:11] Emmanuel_Chanel: has joined #ruby
[19:52:23] guacamole: has joined #ruby
[19:52:46] |ifei5good: has joined #ruby
[19:54:56] milardovich: has joined #ruby
[19:55:11] troulouliou_dev: has joined #ruby
[20:00:32] jpterry: has joined #ruby
[20:03:02] goyox86: has left #ruby: ()
[20:03:15] ski7777: has joined #ruby
[20:03:52] goyox86_: has joined #ruby
[20:03:57] hahuang65: has joined #ruby
[20:06:05] belmoussaoui_: has joined #ruby
[20:08:10] [[thufir]]: has joined #ruby
[20:09:57] alfiemax: has joined #ruby
[20:11:37] agent_white: has joined #ruby
[20:16:59] dstrunk: has joined #ruby
[20:19:35] 5EXAAOGWE: has joined #ruby
[20:21:28] guille-moe: has joined #ruby
[20:29:33] troulouliou_dev: has joined #ruby
[20:39:48] troulouliou_dev: has joined #ruby
[20:40:46] nadir: has joined #ruby
[20:46:13] ptx0: has joined #ruby
[20:47:21] enterprisey: has joined #ruby
[20:51:16] csk157: has joined #ruby
[20:59:17] Immune: has joined #ruby
[20:59:54] jottr: has joined #ruby
[21:00:19] Quentinius: has joined #ruby
[21:00:26] milardovich: has joined #ruby
[21:02:03] Emmanuel_Chanel: has joined #ruby
[21:08:57] Quentinius: has joined #ruby
[21:09:59] jamesaxl: has joined #ruby
[21:10:54] guille-moe: has joined #ruby
[21:13:06] |ifei5g00d: has joined #ruby
[21:13:24] jottr: has joined #ruby
[21:15:49] |ifei5g00d: has joined #ruby
[21:17:30] skinkitten: has joined #ruby
[21:19:19] |ifei5g00d: has joined #ruby
[21:20:36] Technodrome: has joined #ruby
[21:23:02] zautomata: has joined #ruby
[21:28:08] Bhootrk_: has joined #ruby
[21:28:43] guacamole: has joined #ruby
[21:28:44] Bhootrk_: has joined #ruby
[21:32:43] cschneid_: has joined #ruby
[21:35:15] orbyt_: has joined #ruby
[21:35:22] cdg: has joined #ruby
[21:40:46] [[thufir]]: has joined #ruby
[21:42:07] johnny56: has joined #ruby
[21:42:43] dn`: has joined #ruby
[21:52:43] blackmesa: has joined #ruby
[22:02:38] orbyt_: has joined #ruby
[22:02:57] gauravgoyal: has joined #ruby
[22:04:38] my-nick: has joined #ruby
[22:04:53] hahuang65: has joined #ruby
[22:06:40] cdg: has joined #ruby
[22:07:51] guacamole: has joined #ruby
[22:09:49] csk157: has joined #ruby
[22:11:07] alfiemax: has joined #ruby
[22:13:15] zanoni: slightly ot" but if anyone knows - if I'm using Nginx as a reverse proxy with Thin, over TCP (not sockets) , does Thin need any special configuring to know about the relationship?
[22:14:04] ap4y: has joined #ruby
[22:14:41] banisterfiend: has joined #ruby
[22:15:28] cdg: has joined #ruby
[22:16:11] drbroiler: has joined #ruby
[22:20:51] cadillac_: has joined #ruby
[22:21:12] alfiemax: has joined #ruby
[22:21:21] dn`: has joined #ruby
[22:23:46] dstrunk: has joined #ruby
[22:26:21] _sfiguser: has joined #ruby
[22:36:30] workmad3: has joined #ruby
[22:41:06] cschneid_: has joined #ruby
[22:46:10] raynold: ahh it's a wonderful day
[22:47:35] dstrunk: has joined #ruby
[22:50:56] shinnya: has joined #ruby
[22:51:19] Felimo: has joined #ruby
[22:51:22] alfiemax_: has joined #ruby
[23:01:31] mson: has joined #ruby
[23:02:16] alfiemax: has joined #ruby
[23:05:26] jrafanie: has joined #ruby
[23:05:28] thinkpad: has joined #ruby
[23:06:19] Nicmavr: has joined #ruby
[23:19:48] alfiemax: has joined #ruby
[23:21:24] Technodrome: has joined #ruby
[23:23:45] Derrimia: has joined #ruby
[23:25:02] charliesome: has joined #ruby
[23:26:52] Derrimia: has left #ruby: ()
[23:28:40] Sightes: has joined #ruby
[23:35:58] |ifei5g00d: has joined #ruby
[23:37:12] blackmesa: has joined #ruby
[23:40:37] hahuang65: has joined #ruby
[23:47:30] alfiemax: has joined #ruby
[23:57:10] alfiemax: has joined #ruby