rakm has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jcao219 has quit [Ping timeout: 240 seconds]
<impermanence>
what ruby ide is most commonly used in the enterprise?
aryaching has quit [Ping timeout: 240 seconds]
<lupine>
gedit
<bougyman>
impermanence: hard to say
<lupine>
DON'T JUDGE ME
<impermanence>
lupine: I write Java in vi. No judgement. We're friends now :)
<ThePortWhisperer>
lupine, only if you halp with my WARN
<bougyman>
I see equal parts vim and emacs, with rubymine a solid 3rd, ime
<bougyman>
atom coming up on the outside.
<lupine>
nonono, gedit is first
<impermanence>
okay. so text editors, really. so at the office...people use Atom...not RubyMine or something like that?
<bougyman>
in my office everyone uses vim or emacs.
<bougyman>
at the last joint some used rubymine
<ThePortWhisperer>
#joint
<ThePortWhisperer>
national joint day in t-13 days
gix has quit [Ping timeout: 240 seconds]
gusrub has quit [Remote host closed the connection]
<impermanence>
wow. and I am looking at a survey of 100 rubyists and 74 of them apparently only use an editor.
agent_white has joined #ruby
<impermanence>
rubymine is advertised as a rails IDE. does this mean it's not suitable for ruby dev?
<impermanence>
or not ideal?
<lupine>
"only"
Suslov has quit [Quit: Leaving...]
<lupine>
the short of it is that an IDE offers nothing valuable to ruby development
GodFather has joined #ruby
<impermanence>
hm. okay.
<lupine>
it's not like java, with easy automatic code transforms and refactoringsz
gix has joined #ruby
<impermanence>
I downloaded RubyMine anyway!
<lupine>
the language is really, really hard to parse, so the useful features an IDE can provide over an editor are minimal
<impermanence>
oh, okay.
<lupine>
ISTR using rubymine a while ago, but it was java-heavy and just didn't work in my LTSP environmwnt
kobain has joined #ruby
SteenJobs has quit [Quit: peaceee]
SeepingN has quit [Ping timeout: 240 seconds]
Lord_of_Life has quit [Excess Flood]
bodgix has quit [Quit: Leaving.]
t-recx has quit [Quit: t-recx]
biberu has quit [Read error: Connection reset by peer]
Lord_of_Life has joined #ruby
jeffreylevesque has joined #ruby
herbmillerjr has joined #ruby
djbkd has quit [Quit: My people need me...]
<impermanence>
Do rubyists use an analog to virtualenv for python or anything like that? just curious.
<lupine>
there's rvm, or there's chruby+ruby-install
<lupine>
a few other options
<lupine>
I tend to use chruby
<impermanence>
I thought rvm was just a version manager...can you actually go inside it like virtualenv?
<matthewd>
I think bundler covers more of virtualenv's use case
<lupine>
I'm not sure what that means, exactly
<lupine>
I tend to use a gemset or pkgset per project
<lupine>
using bundle exec *as well* is overkill like that
Lord_of_Life has quit [Excess Flood]
lel has quit [Ping timeout: 264 seconds]
Lord_of_Life has joined #ruby
hotpanca_ has quit [Remote host closed the connection]
<havenwood>
impermanence: RVM is over twenty thousand lines of code. It patches old Rubies to be installable on old systems, manages project-specific gemsets, switches between Rubies, etc. It even ships chruby support. It's more of a superset of virtualenv.
<havenwood>
impermanence: RVM handles statically linked, precompiled binaries as well.
bkxd has joined #ruby
<havenwood>
impermanence: ruby-install just builds Ruby from source. you can specify --system for a single Ruby installed to /usr/local or you can install it in a default location or wherever you like.
hotpancakes has joined #ruby
<havenwood>
impermanence: chruby switches between Rubies by setting PATH, GEM_HOME, GEM_PATH etc
<impermanence>
When you say "rubies"...what does that mean?
<bougyman>
ruby versions
<havenwood>
impermanence: There are various Ruby engines and versions.
enterprisey has joined #ruby
raul782 has quit [Remote host closed the connection]
<havenwood>
impermanence: JRuby implementing Ruby 2.3.4 or CRuby 2.4.1, etc.
<impermanence>
and basically that's the interpreter and libraries
<impermanence>
ruby ^
<havenwood>
impermanence: Often the CRuby reference implementation (YARV) or JRuby (JVM), but there are others.
<impermanence>
so ruby requires an engine to run? I thought it was interpreted...?
Snickers has quit [Quit: Snickers]
<allisio>
It's not clear how you got something akin to "compiler" from "engine".
<havenwood>
impermanence: The popular implementations these days are VMs.
<ruby[bot]>
allisio: # => [2, [:trace, 256], :label_2, [:trace, 1], [:putobject_OP_INT2FIX_O_1_C_], [:putobject_OP_INT2FIX_O_1 ...check link for more (https://eval.in/770782)
<havenwood>
impermanence: the VM can do optimizations and just in time compiling, etc
<impermanence>
oh, okay.
<allisio>
And it does those things by vastly simplifying the massive Ruby language down to a relatively small stack-based virtual machine.
dcluna has quit [Ping timeout: 256 seconds]
<havenwood>
it saves time to compile to IR, that's something other implementations have done and the reference implementation might do in Ruby 3
<havenwood>
we can end our Elixir-envy
<allisio>
It's gonna be kinda weird seeing `.rbc` files after all these years.
<havenwood>
(on that front)
<impermanence>
so is there a thing where, like python, I can type "ruby" at the command prompt and like enter an interpreter or something? And just write code on the fly?
<allisio>
impermanence: The REPL that ships with Ruby is called `irb`, but `pry` is loads better.
<havenwood>
i dunno, hard to decide
<havenwood>
?pry
<ruby[bot]>
Pry, the better IRB, provides easy object inspection `ls`, `history`, viewing docs `?`, viewing source `$`, syntax highlighting and other features (see `help` for more). Put `binding.pry` in your source code for easy debugging. Install Pry (https://pryrepl.org/): gem install pry pry-doc
<havenwood>
impermanence: gem install pry
<allisio>
havenwood: Is `.rbc` taken?
<impermanence>
is pry an acronym?
<allisio>
No.
<havenwood>
allisio: rubinus
<havenwood>
rubinius*
<allisio>
Oh, right.
<havenwood>
that's what they compile their bytecode to
<allisio>
How about `.cr` for "compiled Ruby"? ^_^
nadir has quit [Quit: Connection closed for inactivity]
<havenwood>
impermanence: It's an exciting implementation with a very large team and much promise.
outreachdan has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<allisio>
They're going the distance. They're going for speed.
raul782 has quit [Ping timeout: 268 seconds]
<havenwood>
impermanence: It uses dated terminology, but see jruby-dev-truffle-graal performance here (now truffleruby): http://jruby.org/bench9000/
<impermanence>
havenwood: ah...why is there more than one implementation? of ruby...?!
<lupine>
because the original one was rubbish
<lupine>
don't forget rubinius
<matthewd>
Again, for the same reason there's more than one implementation of python
<lupine>
(by original, I mean MRI)
<impermanence>
I didn't know there was more than one implementation of python, actually :|
<lupine>
there is a project that compiles python to go
<lupine>
so, you know
<matthewd>
If you just want to write some ruby, you don't need to know there's more than one implementation of ruby either
<havenwood>
impermanence: CRuby is the reference implementation and supports C extensions. JRuby is the flagship JVM implementation and supports Java extensions. TruffleRuby runs on the GraalVM and supports C extensions. They're all Ruby. They have different memory and performance characteristics.
<lupine>
then there's mruby, rbx, probably others
<impermanence>
havenwood: makes sense. "Supports Java extensions"...like...writing Java in Ruby? Or...what does that mean? java-based Ruby code?
<havenwood>
Some have JITs, some threads without GVL, some fork, etc.
<impermanence>
havenwood: okay. so is gem the package installer everyone uses? or is there more than one?
<havenwood>
impermanence: one gem can have C extensions for when it's run on CRuby and Java extensions for when it's run on JRuby and pure Ruby fallback, it depends
<matthewd>
impermanence: Use gem to install bundler. Then use bundler to manage the dependencies within a project.
<havenwood>
impermanence: RubyGems ships with Ruby. It provides the `gem` command.
<matthewd>
impermanence: (it'll still be installing gems.. but it's project-aware)
cyphase has quit [Ping timeout: 260 seconds]
<havenwood>
impermanence: You can install dependencies from a Gemfile and create a Gemfile.lock with: gem install -g
<havenwood>
impermanence: Or a more popular way to do the same is to install the bundler gem, `gem install bundler`, then run: bundle
<havenwood>
either way it creates a Gemfile.lock and installs the gems
<impermanence>
I see. okay. So what's the difference between RubyGems and bundler?
rgtk has quit [Ping timeout: 264 seconds]
<havenwood>
Bundler resolved dependencies and created a Gemfile.lock before RubyGems supported the same. Bundler still has more features and is a hard-coded dependency of some Ruby software like Rails.
<havenwood>
Bundler is merging its way into RubyGems, so the distinction will blur.
<impermanence>
okay. So...regarding CRuby vs JRuby...are those the type of things that like if a Ruby developer goes into a Ruby interview knowing or not knowing the differences might mean getting a job or not? In other words...are the different implementations *that* significant?
<havenwood>
impermanence: Most folk use Bundler for resolving gem dependencies. If you're not using Rails you can probably get by just fine with `gem install -g` and `export RUBYGEMS_GEMDEPS=~`.
<havenwood>
I mean: export RUBYGEMS_GEMDEPS=-
esObe_ has joined #ruby
<impermanence>
For example...a Java dev would be expected to know the differences between Java 7 and Java 8 and would definitely be asked questions about Java 8, but it probably would not mean not getting the job if one did not know a ton about Java 8's finer details...
lel has joined #ruby
<havenwood>
impermanence: for an entry level job they're not significant in any way
<havenwood>
impermanence: if you're making architecture decisions then they'd be significant
<impermanence>
makes sense.
<impermanence>
okay, I need to start reading and hacking now :)
jenrzzz has quit [Ping timeout: 264 seconds]
<havenwood>
happy hacking!
<impermanence>
thx. I appreciate all the answers. I'll probably be back tomorrow, lol.
RobertBirnie has joined #ruby
esObe_ has quit [Ping timeout: 240 seconds]
hahuang61 has joined #ruby
RobertBirnie has quit [Client Quit]
HoierM has quit [Ping timeout: 256 seconds]
Guest96 has quit [Remote host closed the connection]
chouhoulis has quit [Remote host closed the connection]
JeanCarloMachado has joined #ruby
Guest96 has joined #ruby
hahuang61 has quit [Ping timeout: 256 seconds]
houhoulis has joined #ruby
RobertBirnie has joined #ruby
<impermanence>
wow. so turns out I needed to upgrade bash (I'm on OSX installing rvm. dang...)
tlaxkit has quit [Quit: ¡Adiós!]
helpa has quit [Remote host closed the connection]
<havenwood>
impermanence: You may have to manually clean up a dotfile or two.
<impermanence>
k
<Radar>
Verity: what?
<impermanence>
that got it all.
HoierM has joined #ruby
eb0t has joined #ruby
eblip has joined #ruby
mikecmpbll has quit [Quit: inabit. zz.]
gsilva has quit [Ping timeout: 260 seconds]
eb0t_ has quit [Ping timeout: 240 seconds]
duderonomy has quit [Ping timeout: 246 seconds]
tvw has quit [Ping timeout: 240 seconds]
_tk421_ has joined #ruby
def_jam has quit [Ping timeout: 264 seconds]
Puffball has quit [Remote host closed the connection]
hotpanca_ has joined #ruby
Puffball has joined #ruby
SteenJobs has joined #ruby
hotpancakes has quit [Ping timeout: 246 seconds]
mim1k has joined #ruby
__Yiota has joined #ruby
<postmodern>
appears that both debian (unstable and testing) and ubuntu now have ruby2.3 packages in their official repos. I'm wondering if it's still relevant to use BrightBox's ruby-ng PPA for deploying apps to Ubuntu environments?
jeffreylevesque has quit [Ping timeout: 264 seconds]
tmtwd has joined #ruby
charliesome has joined #ruby
mim1k has quit [Ping timeout: 260 seconds]
hotpanca_ has quit []
lxsameer has quit [Quit: WeeChat 1.7]
semperfried76 has joined #ruby
<impermanence>
regarding chruby: is it necessary to set a default version of Ruby?
<havenwood>
postmodern: With Brightbox not having 2.4 at the moment it's not even ahead.
<havenwood>
impermanence: It is not necessary. It is a convenience.
<impermanence>
is using ruby-2.4.1 to bleeding edge or anything?
<impermanence>
p111...
<havenwood>
impermanence: 2.4.1 is stable. Report any bugs you encounter. ;-)
<impermanence>
heh. will do.
<havenwood>
impermanence: But yeah, it's stable. 2.4.1 or 2.3.4 are latest stable releases.
<havenwood>
impermanence: We're using 2.4.1 in prod.
<impermanence>
oh, that's cool. I'm proud of you all :)
<havenwood>
👍🏻
<semperfried76>
re rspec: having an issue right now where tests complete, but then won't kill db connection, causing a stall. Anyone run into anythin similar?
<impermanence>
we're using Java 8 in prod. that's not as cool.
<impermanence>
anyway
Channel6 has joined #ruby
<impermanence>
So the article goes on to install Rails, etc. I plan to learn Ruby. Should I just go ahead and install Rails, too, or does that not matter right now?
<havenwood>
impermanence: No need to install Rails 'till you go about creating a Rails app.
<impermanence>
Rails to Ruby is Django to Python, right?
<semperfried76>
impermanence: rails is just a framework
<semperfried76>
impermanence: yup
<impermanence>
why does it also install mysql and then postgresql?
herbmillerjr has quit [Quit: Konversation terminated!]
<impermanence>
is that the rails backend?!
<impermanence>
I thought rails was like a db in itself...
<semperfried76>
impermanence: sqllite is default for rails
<havenwood>
impermanence: Rails is not a db.
<impermanence>
oh. idnkt.
<semperfried76>
we use Oracle in production
<havenwood>
we use Postgres
<semperfried76>
also Mongo
<impermanence>
okay, cool.
<semperfried76>
I've even hooked up Neo4j... it's very flexible
<impermanence>
so should I install bundle now?
<havenwood>
impermanence: there's a #rubyonrails channel when you get to Rails
<havenwood>
impermanence: yes
millerti has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ruby[bot]>
impermanence: we in #ruby do not like pastebin.com, it loads slowly for most, has ads which are distracting and has terrible formatting. Please use https://gist.github.com
<impermanence>
oh shit.
<impermanence>
no pastebin. okay.
<semperfried76>
impermanence: what OS are you on?
t-recx has joined #ruby
<impermanence>
osx 10.11.6
<havenwood>
impermanence: are you using Homebrew?
<impermanence>
in general yes.
<impermanence>
brew upgrade zlib just throws "I don't know".
<semperfried76>
impermanence: try brew tap homebrew/dupes
<impermanence>
why?
marcdel has joined #ruby
<semperfried76>
impermanence: sorry, that's old, use this instead: xcode-select --install
nanoz has joined #ruby
<semperfried76>
that will upgrade your zlib
charliesome has quit [Ping timeout: 260 seconds]
<impermanence>
now I'm using xcode? I'm lost, man.
<semperfried76>
impermanence: just the libs
<havenwood>
impermanence: macOS build tools
<semperfried76>
impermanence: yup
etehtsea has quit [Ping timeout: 268 seconds]
<impermanence>
so...what do you all write your Ruby on? Is it just *way* better to use Linux?
<semperfried76>
impermanence: you need the xcode tools in order to build native binaries for some gems
hndk has joined #ruby
<semperfried76>
I use MacOS
<havenwood>
impermanence: macOS is fine, just update your build tools and brew update and you should be good to go
hndk has quit [Max SendQ exceeded]
<impermanence>
you do? okay then.
<impermanence>
k
<havenwood>
impermanence: it's one of the steps in Radar's guide above ^
<semperfried76>
I like it better than Linux
hndk has joined #ruby
charliesome has joined #ruby
<impermanence>
wow. so I've never used this before:
<impermanence>
softwareupdate --commands...
<havenwood>
impermanence: If you already have command line tools installed, then `xcode-select --install` will tell you to use the software updater to keep them updated.
AndBobsYourUncle has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
esObe_ has joined #ruby
AndBobsYourUncle has joined #ruby
jaequery has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
AndBobsYourUncle has quit [Client Quit]
libastral has quit [Ping timeout: 260 seconds]
<impermanence>
lame. so cli didn't see it but app store did. the upgrade that is.
libastral has joined #ruby
<havenwood>
impermanence: you could use -ia for install all
<impermanence>
same.
csk has joined #ruby
_tk421_ has quit [Ping timeout: 256 seconds]
duderonomy has joined #ruby
__Yiota has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
esObe_ has quit [Ping timeout: 264 seconds]
<impermanence>
I'm apparently not the only one that has had this failure regarding softwareupdate --list, --install --all, etc. and there being an update available via the app store.
<havenwood>
impermanence: best-effort updater
<havenwood>
it tried
tmtwd has quit [Remote host closed the connection]
<impermanence>
poor softwareupdate. okay then. anyway it's updating. darn it takes a long time.
GodFather has quit [Ping timeout: 240 seconds]
kwekuanase has joined #ruby
kwekuanase has quit [Client Quit]
<impermanence>
I didn't know Xcode had *anything* to do with package management...
nadir has joined #ruby
jcao219 has joined #ruby
naprimer_2 has joined #ruby
genpaku has quit [Remote host closed the connection]
naprimer has quit [Ping timeout: 246 seconds]
RobertBirnie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
genpaku has joined #ruby
xzhao_ has quit [Remote host closed the connection]
herbmillerjr has joined #ruby
csk has quit [Quit: ZZZzzz…]
<impermanence>
so irb is important...
mzo has joined #ruby
hutch34 has joined #ruby
gdonald has quit [Read error: Connection reset by peer]
gdonald has joined #ruby
jcao219 has quit [Ping timeout: 260 seconds]
hutch34 has quit [Ping timeout: 246 seconds]
spicerack has joined #ruby
mazeinmaze_ has joined #ruby
charliesome has quit [Read error: Connection reset by peer]
charliesome has joined #ruby
aryaching has joined #ruby
Azure|dc is now known as Azure
herbmillerjr has quit [Quit: Konversation terminated!]
charliesome has quit [Ping timeout: 240 seconds]
herbmillerjr has joined #ruby
herbmillerjr has quit [Client Quit]
HoierM has quit [Ping timeout: 240 seconds]
spicerack has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
spicerack has joined #ruby
spicerack has quit [Client Quit]
spicerack has joined #ruby
vondruch_ has joined #ruby
vondruch has quit [Ping timeout: 260 seconds]
RobertBirnie has joined #ruby
hahuang61 has joined #ruby
raspado has quit [Remote host closed the connection]
gix has quit [Ping timeout: 260 seconds]
HoierM has joined #ruby
lagweezle has joined #ruby
gix has joined #ruby
hndk has quit [Remote host closed the connection]
hahuang61 has quit [Ping timeout: 246 seconds]
JoshS has joined #ruby
JeanCarloMachado has quit [Ping timeout: 256 seconds]
JeanCarloMachado has joined #ruby
patarr has joined #ruby
bkxd has quit [Ping timeout: 260 seconds]
Pumukel has joined #ruby
RobertBirnie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<baweaver>
That was Mac development with Ruby for the first time
<baweaver>
I'd hate to see what happens when they try to do that with Windows XD
<PorcoRex>
Haha.
<PorcoRex>
So that's where xcode comes from.
<baweaver>
Anyways, I didn't notice it when they said it or I'd mention something. Too late now.
houhoulis has quit [Remote host closed the connection]
<PorcoRex>
Yeah, me too. But it seems rather bitter to come to say something like that, stand less than 20 minutes, and just log out. What kind of a grievance is that? I have greater grievances with Ruby that that.
<PorcoRex>
than*
<PorcoRex>
baweaver, so, remember when we were discussing a couple of days ago about TCO? And how my friend would like it? Turns out he's a bit disappointed on Ruby for large scale applications. He's seriously considering Scala and/or other functional approaches.
<PorcoRex>
What do you make of this?
duderonomy has quit [Ping timeout: 260 seconds]
duderono_ has joined #ruby
gdonald has quit [Read error: Connection reset by peer]
gdonald has joined #ruby
mazeinmaze_ has quit [Ping timeout: 256 seconds]
mim1k has joined #ruby
mim1k has quit [Ping timeout: 240 seconds]
<PorcoRex>
I don't want to be controversial or anything, but many people seem to think a functional approach is the way to go, and, as previously discussed, Ruby is not specially apt for that paradigm.
<PorcoRex>
Are there any thoughts on this?
<mzo>
ruby is a toy
alxgsv has joined #ruby
<PorcoRex>
mzo, a toy language you mean.
<PorcoRex>
?
<elomatreb>
There certainly are worse languages to appropriate FP patterns in
<mzo>
production software should ideally be written in Standard ML, or failing that, OCaml or Haskell
<mzo>
PorcoRex: yes
dcluna has quit [Ping timeout: 268 seconds]
duderono_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kobain has quit [Ping timeout: 252 seconds]
<PorcoRex>
mzo, that seems an overly opinionated approach. Are there reasons for all production software to be written in those langs?
<mzo>
they are the best languages for functional programming
<mzo>
and as we all know functional programming is better than imperative programming
<PorcoRex>
mzo, I don't know that. What would be the source for that claim?
* elomatreb
is getting a slightly trolly feeling
flopsec has joined #ruby
* PorcoRex
taps forehead.
zel has joined #ruby
Satyajit has joined #ruby
zel is now known as Guest52064
<PorcoRex>
But I was seriously anyways.
dcluna has joined #ruby
<baweaver>
Solid evidence or I _will_ treat it as trolling.
<baweaver>
Ruby is a perfectly valid language for production use, as are several other languages
<baweaver>
Ruby has a functional faceplate which allows emulation of some functional techniques, but only scratches the surface. For most this is enough.
<elomatreb>
What I meant earlier: You can get some/many benefits of the advantages of FP in Ruby if you appropriate the patterns, but it won't enforce them, so you have to be discplined
<baweaver>
There are lessons from FP like immutability, referential transparency, and others which are definitely applicable in Ruby
<baweaver>
An example from the other day: someone had a log function that they wanted to test, but the function called Time.new inside it. That's not referentially transparent as it has a hidden input: Time.new
<baweaver>
so instead you'd promote that to an argument with a default value of Time.new: def log(message, start = Time.new)
<PorcoRex>
Ok, but here's something interesting I'm experiencing.
<baweaver>
Also SML : Scala(JVM) :: OCaml : F#(.NET)
<baweaver>
I was referring to the grand sweeping claims earlier from mzo in reference to trolling.
<PorcoRex>
I don't see Ruby as a functional friendly language, but I do see it as a very good OOP language. Are there still any takers on that?
<baweaver>
It has a functional faceplate (some support) but is at its core OO
duderonomy has joined #ruby
<baweaver>
though you could almost make it fully functional by using Lambda Calculus and a whole lot of lambdas to rebuild the langauge
<baweaver>
See: Understanding Computation
<PorcoRex>
baweaver, what I mean is, forgetting all functional paradigms and constructs. Do you think that OO/OOP have outrun their lives in a sense?
<baweaver>
interesting book, super trippy. Also 'Kestrels, Quirky Birds, and Hopeless Egocentricy' by Raganwald
<PorcoRex>
Is it time to think computing in a different way?
<baweaver>
It's always time for that
<baweaver>
but all silver bullets have lead in them somewhere
<PorcoRex>
Well, of course, but you know what I mean.
<baweaver>
so be careful
Guest96 has quit [Remote host closed the connection]
jeffreylevesque has joined #ruby
<baweaver>
The best product doesn't always win, remember. Beta was beat by VHS because of marketing. LISP suffered the AI winter and C++/Java took the crown.
<baweaver>
Haskell can be the best language in the world, but that'll count for nothing if you can't get good programmers in it.
<PorcoRex>
To be completely hones I know nothing about functional programming, but I'm quite comfortable with OOP. It is true that in bit apps maintained by a lot of people disasters happen (and big ones at that).
<baweaver>
There's a definite trend towards it, yes, but currently not enough behind it yet.
<PorcoRex>
baweaver, you just stole my words.
<totimkopf>
baweaver: I never could understand Monads
<baweaver>
it'll take a while even with that though
<baweaver>
Once it clicks it clicks but it's dense stuff otherwise.
enterprisey has quit [Remote host closed the connection]
<totimkopf>
yeah, i'm too tired to study it now but i've bookmarked it
<baweaver>
Read The Haskell Book or Learn You a Haskell if you want more buildup to it.
<baweaver>
but it's dense stuff, don't worry if you can't get it the first (second, third, fo...) time
<PorcoRex>
I think my friend would like Ruby again if he heard of monads. But, how come, is Ruby becoming a more functional language in the future?
<baweaver>
Monads don't really work well in Ruby.
syndikate has quit [Ping timeout: 260 seconds]
<baweaver>
but that's a really long subject
<baweaver>
Ruby 3 is doing some interesting things. Last I heard they involved a message concurrency system like Erlang and type annotations as well as some huge performance boosts
<PorcoRex>
No, I know (or I think I know but actually don't) but what I mean is... why are we in Ruby instead of in some other IRC channel.
<baweaver>
but that's all down the road a ways
<baweaver>
Because I program Ruby for a living for one.
<baweaver>
but I'm in quite a few other channels
<PorcoRex>
So you've overtaken the channel, even though you'd be rather programming in, say, Elixir.
sagax has quit [Ping timeout: 240 seconds]
esObe_ has joined #ruby
syndikate has joined #ruby
<baweaver>
overtaken?
<PorcoRex>
It was just a joke. Sorry, it didn't come through as I intended.
<baweaver>
Sometimes I need a hammer
<baweaver>
other times a saw
<baweaver>
simple as that
<baweaver>
Ruby is the first tool I reach for in anything scripting or operations, every time.
<PorcoRex>
And, if I may ask, why did you eventually derive from Ruby to other more functional languages?
raul782 has joined #ruby
hahuang61 has joined #ruby
<PorcoRex>
Other programmers is a valid answer btw.
<baweaver>
I experiment a lot
<baweaver>
I'd worked on Hadoop systems in Java, hated it.
<baweaver>
then found out Hadoop was based on MapReduce was based on FP
<baweaver>
then tangent from there
esObe_ has quit [Ping timeout: 240 seconds]
<PorcoRex>
Do you think FP is the future?
jgt1 has joined #ruby
<PorcoRex>
I mean in big enterprise apps?
<baweaver>
It's a future. I don't tend to subscribe to that particular religion
<baweaver>
You know Facebook Chat?
dlitvak has quit [Quit: Connection closed for inactivity]
<PorcoRex>
No, I don't have Facebook.
<baweaver>
Erlang.
<baweaver>
that's a pretty big enterprise app.
chouhoulis has joined #ruby
<baweaver>
Banks? Haskell shows up a fair amount. Ericsson invented Erlang and still uses it. It's already out there
<PorcoRex>
beatdown, by the way, I think I asked you before, but say you had to do like a CMS for movies and that it was used (partially or totally) by cinemas all over the country.
<PorcoRex>
Would you be confortable in implementing it in a FP way?
<PorcoRex>
(this is just to give me an idea
<PorcoRex>
)*
<baweaver>
TL;DR of everything I've said: If someone knocks on your door selling an ultimate solution, you'd be instantly skeptical. Same with programming. Be skeptical.
<baweaver>
I'd do it in Rails because I can be done with it in maybe an hour.
patarr has quit [Ping timeout: 240 seconds]
<PorcoRex>
But if they hired you, and you could assemble the base, what would you choose on that particular example?
<baweaver>
I wouldn't have to screw with type signatures, purity, composition, or any of it. I could just be done and let Rails decide the architectural concerns for me.
<baweaver>
Time to market is more important than "getting it right"
ThePortWhisperer has quit [Ping timeout: 264 seconds]
<baweaver>
which is why Twitter started Rails, and when they did make it big, hired people to scale it / switch to Scala
<baweaver>
read the "Worse is Better" article above
jcao219 has joined #ruby
<PorcoRex>
I get you. Let's forget about time. (also not specifically talking about Rails, or even Ruby) just your preference.
mzo has quit [Ping timeout: 240 seconds]
<baweaver>
Time is always a concern
AnoHito has quit [Quit: Leaving]
<PorcoRex>
It's hypothetical, but, in any case... Wouldn't FP also sweep languages like Java, Python, etc?
<baweaver>
depends on what you mean by sweep
<PorcoRex>
I mean like say C. It can't be erased, but, if it can be avoided noone will be pressured to write in it.
<baweaver>
A salesman finds a lumberjack cutting redwoods with an axe, and sells him a chainsaw. Comes back after a few days to check on him, and not a single tree is down. Lumberjack hates the chainsaw, calls it worthless. Why do you suppose that is? It's obviously more efficient and better suited for the task.
<baweaver>
The salesman asks the lumberjack to show him how he uses the chainsaw, and the lumberjack proceeds to slam it against the tree like his axe. A good tool is worthless in the hands of the untrained, but a familiar tool will always beat it until they learn the good tool.
<PorcoRex>
I think the salesman didn't give the man the proper instructions.
<baweaver>
Remember there's a learning curve to the good tool that may far exceed "swing at tree"
<baweaver>
and a lot of people learned on Java and friends, so Haskell is a monster jump to them
Channel6 has quit [Quit: Leaving]
<baweaver>
I can have a Java programmer effective in Ruby in a week. That won't happen in Haskell, the concepts are too foreign
<PorcoRex>
baweaver, no no, I understand that. I think I need a bit of it before I can make the conversation interesting, but actually my discussion was a bit on the "I don't know" side.
SuperLag has joined #ruby
<baweaver>
There are more factors to choosing than the superior quality of the language / paradigm of programming
<baweaver>
Market pool (how many programmers are available), effectiveness (how fast they are, does 1xHaskell == 10xJava?), libraries (how much community support), docs, and a lot more
<PorcoRex>
baweaver, I guess my question was, if you had to make a big app, would you choose X language? And what would X be?
<baweaver>
too broad a question honestly
<havenwood>
PorcoRex: Ruby. Next question!
<baweaver>
what does the app do, who's the target, how long do I have, etc etc etc
<baweaver>
things cannot possibly reduced to a single definitive answer
<baweaver>
whether that be language, paradigm, or otherwise
<havenwood>
PorcoRex: But yeah, it's a good question. It depends.
<baweaver>
havenwood: ohai. Excuse my ranting.
<havenwood>
Rant on!
<baweaver>
gave you enough backlog to be entertained with XD
bkxd has quit [Ping timeout: 260 seconds]
SeepingN has joined #ruby
<PorcoRex>
I must confess, it is only confusing because I don't know these languages well myself, otherwise it would be a matter of making a choice.
djbkd has joined #ruby
SeepingN has quit [Client Quit]
<baweaver>
Then go out and learn one
<PorcoRex>
beatdown, no, I mean, I know some, but just not the ones outside my comfort zone.
SeepingN has joined #ruby
<baweaver>
Then go forth and learn
<PorcoRex>
But I intend to, really dude! You sound like my mom. :(
<baweaver>
Tut tut tut, none of the sass
<PorcoRex>
Haha.
bkxd has joined #ruby
Guest96 has quit [Remote host closed the connection]
Guest96 has joined #ruby
bkxd has quit [Ping timeout: 260 seconds]
<nofxx>
PorcoRex, apart from web/js anything is better with ruby! and for JS you can write coffeescript which tries to be ruby!
<PorcoRex>
nofxx, I think ES6 is better than CS.
AnoHito has joined #ruby
<nofxx>
PorcoRex, can't say... never did anything with ES6. If I got it right it compiles to normal JS but eventually will run w/o compile in modern browsers?
kernelPaniq has quit [Remote host closed the connection]
User458764 has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
jenrzzz has joined #ruby
mikecmpbll has quit [Quit: inabit. zz.]
rgtk has quit [Ping timeout: 260 seconds]
lagweezle is now known as lagweezle_away
jgt1 has quit [Ping timeout: 264 seconds]
esObe_ has joined #ruby
jenrzzz has quit [Ping timeout: 260 seconds]
esObe_ has quit [Remote host closed the connection]
<galtgendo>
in Psych, how does init_with method account for yaml anchors ? I'm getting '`*': nil can't be coerced into Fixnum (TypeError)' in such cases with a method that works when no anchors are present
<jhass>
also as long as you have the cookie from creating it you can delete it yourself I think
Olipro has quit [Ping timeout: 252 seconds]
Olipro has joined #ruby
<allisio>
I meant only to question the point of the operation.
sepp2k1 has joined #ruby
User458764 has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
sepp2k has quit [Ping timeout: 260 seconds]
<canton7>
avoid paying for the space required to store millions of gists noone cares about any more?
bkxd has quit [Ping timeout: 256 seconds]
mikecmpbll has joined #ruby
loechel has quit [Remote host closed the connection]
Pumukel has joined #ruby
loechel has joined #ruby
Pumukel has quit [Read error: No route to host]
boz_ has quit [Quit: This computer has gone to sleep]
theRoUS has quit [Ping timeout: 260 seconds]
ryan_notabot has joined #ruby
theRoUS has joined #ruby
roshanavand has joined #ruby
roshanavand has quit [Read error: Connection reset by peer]
roshanavand has joined #ruby
Travis-42_ has quit []
jespada has joined #ruby
Travis-42 has joined #ruby
<Travis-42>
Every time I try to use ruby with the watir gem, I get the mac os popup about allowing incoming network connections. Regardless of what I choose, it happens again the next time. It seems like Mac OS is not recognizing the ruby executable each time. Is there any way to fix this?
jespada has quit [Client Quit]
GodFather has quit [Read error: No route to host]
GodFather_ has joined #ruby
erlend has quit [Ping timeout: 268 seconds]
tens0r has joined #ruby
nowhereman has joined #ruby
erlend has joined #ruby
grh has joined #ruby
hutch34 has joined #ruby
GodFather_ has quit [Ping timeout: 240 seconds]
millerti has joined #ruby
boz_ has joined #ruby
semperfried76 has quit [Ping timeout: 256 seconds]
JeanCarloMachado has quit [Ping timeout: 268 seconds]
User458764 has joined #ruby
User458764 has quit [Max SendQ exceeded]
User458764 has joined #ruby
jeffreylevesque has quit [Ping timeout: 260 seconds]
blackmesa has quit [Ping timeout: 240 seconds]
am55 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
am55 has joined #ruby
nowhereman has quit [Ping timeout: 240 seconds]
JeanCarloMachado has joined #ruby
nowhereman has joined #ruby
DLSteve has joined #ruby
tristanp has joined #ruby
herbmillerjr has joined #ruby
roshanavand has quit [Quit: roshanavand]
blackmesa has joined #ruby
hutch34 has quit [Ping timeout: 260 seconds]
tristanp has quit [Ping timeout: 260 seconds]
nankyokusei has joined #ruby
Lord_of_Life has quit [Excess Flood]
am55 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
blackwind_123 has quit [Ping timeout: 240 seconds]
Lord_of_Life has joined #ruby
cam27 has joined #ruby
blackwind_123 has joined #ruby
CloCkWeRX has quit [Quit: Leaving.]
blackwind_123 has quit [Ping timeout: 256 seconds]
hutch34 has joined #ruby
dar123 has joined #ruby
nowhereman has quit [Ping timeout: 260 seconds]
Lord_of_Life has quit [Excess Flood]
Lord_of_Life has joined #ruby
blackwind_123 has joined #ruby
tens0r has quit [Ping timeout: 246 seconds]
tens0r has joined #ruby
hutch34 has quit [Ping timeout: 268 seconds]
Lord_of_Life has quit [Excess Flood]
fmcgeough has joined #ruby
fmcgeough has quit [Client Quit]
fmcgeough has joined #ruby
Channel6 has joined #ruby
jgnagy has quit [Remote host closed the connection]
<impermanence>
How can I start using Ruby at my CLI command prompt instead of bash?
<havenwood>
impermanence: irb
DLSteve has quit [Quit: All rise, the honorable DLSteve has left the channel.]
<havenwood>
impermanence: Or better yet, install the pry gem.
<havenwood>
?pry impermanence
<ruby[bot]>
c
<ruby[bot]>
impermanence: Pry, the better IRB, provides easy object inspection `ls`, `history`, viewing docs `?`, viewing source `$`, syntax highlighting and other features (see `help` for more). Put `binding.pry` in your source code for easy debugging. Install Pry (https://pryrepl.org/): gem install pry pry-do
<impermanence>
havenwood: I would, but I have serious problems with gem (apparently).
<j416>
impermanence: why would you want Ruby instead of bash?
<havenwood>
impermanence: Solve your gem problem. Gems are important.
<impermanence>
yep
<impermanence>
havenwood: it keeps complaining about zlib. So I updated Xcode like the internets said to, but it did not fix it.
Ishido has joined #ruby
<impermanence>
It's stressing me out :(
<havenwood>
impermanence: Did you entirely remove, and reinstall Ruby after installing the build tools?
<havenwood>
impermanence: Rebuild Ruby!
<impermanence>
havenwood: no
<impermanence>
why would i do that?
<havenwood>
impermanence: It will statically link against zlib.
<j416>
impermanence: use ruby-install + chruby or rvm or something like that; don't mess with the system stuff
<havenwood>
impermanence: ah, did they remove zlib from macOS Sierra?
<havenwood>
impermanence: brew install zlib
<impermanence>
nah, it's there.
<impermanence>
otool confirms.
<impermanence>
anyway
<impermanence>
I'll come back to this later.
<impermanence>
and triumph
<havenwood>
impermanence: for whatever reason they moved it from homebrew/dupes to homebrew/core
<havenwood>
impermanence: which is suspicious, and bears investigating
<impermanence>
should I file a bug report or dependency error report?
<havenwood>
impermanence: you could file a dep report with ruby-install - or stop by the #chruby channel any time and I'd be happy to try to debug and PR the fix
<impermanence>
havenwood: you Sir are a Sir. I will do that. I can't now because I've already been scripting for like three hours (had to wet the ol' beak despite the gems debacle) and I need to go run some errands.
<impermanence>
havenwood: see you over in #chruby on Monday. We'll do this and then maybe I'll write a blog post about it. thanks for the insight!