havenwood changed the topic of #ruby to: Rules & more: https://ruby-community.com || Ruby 2.4.2, 2.3.5 & 2.2.8: https://www.ruby-lang.org || Paste >3 lines of text to: https://gist.github.com || Rails questions? Ask in: #RubyOnRails || Logs: https://irclog.whitequark.org/ruby || Books: https://goo.gl/wpGhoQ
<RickHull> none of the generator methods require arguments (though roll should basically never be called without at least one); several generator methods allow you to pass in your own values
jamesaxl has quit [Quit: WeeChat 1.9.1]
<leitz> So the generator extends class Character.
gregf_ has quit [Ping timeout: 260 seconds]
Guest70176 has quit [Ping timeout: 248 seconds]
John___ has quit [Ping timeout: 248 seconds]
nofxx_ has quit [Remote host closed the connection]
<RickHull> it's a distinct module. but it adds that single class method to Character
alveric4 has joined #ruby
<RickHull> note that the character class can be used without requiring generator stuff
<RickHull> as the character class becomes more useful and fleshed out, it will start requiring stuff. but it stands on its own currently
<RickHull> i added data/names.txt because data/names.db is not immediately useful
<leitz> What happens if you provide limited data and then try to display it? Does the basic.fetch(:symbol) put in a default type?
alveric3 has quit [Ping timeout: 240 seconds]
<RickHull> no, an exception is raised
<leitz> Yeah, names db is a SQLIte thing.
<RickHull> this is a good thing. you cannot instantiate a character without full data
ta_ has joined #ruby
<RickHull> if you have some partial data and don't care about the rest -- then generate a character
ta_ has quit [Remote host closed the connection]
ta_ has joined #ruby
<RickHull> i use Hash#fetch specifically to say: i expect data at this key, and if there is no key, then raise an exception
<RickHull> it's incredibly useful. errors on missing data is a very good thing
<RickHull> even if it seems annoying or restrictive at first
<leitz> Ah, that was part of the use case. "Character has a name and not much else. If the story or game need more, add it."
<RickHull> right -- i would put that at ring 1, and it is easily achievable
<RickHull> and already, i believe Character.generate handles that use case
drowze has quit [Ping timeout: 268 seconds]
<RickHull> Character.generate(name: 'Farley')
drowze has joined #ruby
<RickHull> Character.generate(name: 'Farley', gender: 'M', appearance: 'grizzled')
<RickHull> Character.generate(name: 'Farley', gender: 'M', appearance: 'grizzled', age: 72) # etc etc
<leitz> You just want more neck hair.
<RickHull> 'tis true, my kryptonite
sepp2k has quit [Quit: Leaving.]
<leitz> Okay, honestly, this will require some thought. It's already a little mind-bending for me but the Class extension bit is a whole new avenue of thought. I've read about it but never really caught on.
<RickHull> yeah -- that's known as "open classes"
<RickHull> even though character.rb "owns" class Character
mson has quit [Quit: Connection closed for inactivity]
<RickHull> generator.rb is free to open the class up and define new methods
<RickHull> it could do all sorts of other crazy stuff, but I wouldn't advocate that. defining a new method is fine
<leitz> Ah, but you miss the joy. This solves a related problem.
<RickHull> interestingly, generator.rb does not have to require 'character' to do this
<RickHull> though I do have it require 'character'
<RickHull> without that require, Character.generate could still be defined, but the call to Character.new wouldn't make sense
<RickHull> and would likely error unless something else requires character.rb
<RickHull> since generator.rb calls Character.new, I have generator.rb require 'character'
<leitz> So, a character's data will be stored in a database. Probably MongoDB as that's the class I'm taking. Something can pull out the data and then put it into an instance of Character.
<RickHull> sure -- but I would stick with .txt files for now
<RickHull> it's much easier to prototype without dealing with a db
<leitz> Or a Presenter can take the data and present it in some default way, like wiki, html, sql, etc.
<RickHull> IMHO, we are still in prototype / exploratory / "spike" mode
<RickHull> and adding DB stuff is like ring 2 or ring 3
<leitz> I use it as exploration; "does what I'm thinking even make sense if I'm going to do X". Not that my X is perfect, but keeping a minor test helps.
<RickHull> yes, for sure. keep in mind the future milestones
<RickHull> I am very confident we can swap out the textfile db for an RDBMS trivially
<leitz> Humorously, I just did this in Python.
<leitz> Hmm...keep in mind we're different. You are confident, I'm still learning what I can and can't do.
<leitz> There's a pretty large skill gap, I bet.
<RickHull> yep -- I'm just trying to lend my insight
<leitz> I appreciate it, thanks!
<RickHull> the takeaway -- in my mind -- is that we got a whole lot of functionality without a lot of code
<RickHull> and the code itself is nicely decoupled
charliesome has joined #ruby
<RickHull> meaning that we get flexibility / modularity / composability
<leitz> The big issue for me right now is going over your code and understanding it.
milardovich has joined #ruby
<RickHull> and we've completely separated character generation from having a fully realized character instance
<leitz> Not just the flow, but some of the basics like "::"
<RickHull> yet made it very nice to do character generation with partial data
<RickHull> sure, I'm glad to explain
<RickHull> let's start with generator.rb, Character.generate
<RickHull> the requires at the top should make sense enough. we are going to call Character.new so we need the Character class
<RickHull> we are going to sample data files so we need to require the Data module
<RickHull> since this project is structured like a gem, everything lives inside the TravellerChar module
<RickHull> i don't much care for this name particularly, but it's fine
<RickHull> define the TravellerChar module as an empty module in lib/traveller_char.rb
<RickHull> our Character class is inside the TravellerChar module, so we reference it fully with TravellerChar::Character
John___ has joined #ruby
<RickHull> likewise, the Character class itself is defined at lib/traveller_char/character.rb
<RickHull> it's nice to maintain a correspondence between nested classes / modules and nested files in dirs
<RickHull> but it's not a strict 1-1
<leitz> The -r is what tells it to use the module directory?
<RickHull> it's purely convention -- no enforcement
dviola has joined #ruby
<RickHull> irb -rpath/to/blah says: require 'path/to/blah'
bronson_ has quit [Ping timeout: 240 seconds]
<leitz> So why the empty module?
<RickHull> it's more of a shorthand than anything -- totally unnecessary
<RickHull> the empty module is there to satisfy structural expectations / conventions
<leitz> Ah.
<RickHull> if the gem is named 'traveller_char'
Guest70176 has joined #ruby
<RickHull> then people expect to be able to require 'traveller_char'
<RickHull> also, you can stuff some utility things in there later
<RickHull> there is another convention which says: require-the-world inside lib/traveller_char.rb
<RickHull> i.e. require 'data'; require 'generator'; require 'this'; require 'that'
<RickHull> I think this convention is useful at times but I don't like it as a default
<RickHull> I like being able to require only the necessary portions
paradisaeidae has joined #ruby
paradisaeidae_ has joined #ruby
<RickHull> so in my gems, generally lib/#{gem_name}.rb is an empty module
<RickHull> though sometimes it is a class, though usually that's for gems which only have that one file in lib
<RickHull> since your project will obviously consist of several classes -- the toplevel structure should be a module
Guest70176 has quit [Ping timeout: 248 seconds]
mim1k has joined #ruby
<RickHull> so, proceeding (and please ask away anytime)
* leitz is still going over the code.
<RickHull> line 6 of generator.rb, we define Character.generate
<RickHull> `def self.generate` says that the method is a "class method" -- it is defined on the class, not an instance of the class
<RickHull> are you familiar with this concept?
cschneid_ has joined #ruby
<RickHull> I was ranting about it last night ;)
<leitz> The "self" determines that?
<RickHull> yes
<leitz> That discussion went over my head early on. ;)
<RickHull> if it were just `def generate` inside `class Character` then it would be an "instance method"
<RickHull> Character.new.generate vs Character.generate
<leitz> I found issues that needed self in CharacterTools but didn't understand why some needed it and some didn't.
<RickHull> yeah -- I get the sense that you and a lot of newbies learn this stuff by trial and error
<RickHull> and sometimes learn the wrong thing :)
danielpclark has quit [Ping timeout: 260 seconds]
<leitz> That's why we set early milestones.
<RickHull> so we define Character.generate -- and it accepts a hash as an argument
<RickHull> the argument is named basic, and it has a default value of empty hash
<RickHull> the default value does not enforce the argument type
<RickHull> a caller could pass in an Array and weird stuff may happen
qmr has joined #ruby
<RickHull> in ruby, we generally accept that the caller needs to do something reasonable
<qmr> why does gem pristine rmagick take 30 minutes on a 40 core 80 thread CPU
<qmr> =(
<leitz> O
<RickHull> rmagick is filled with magick
<RickHull> wingardium heat-my-housium
<leitz> I'm looking to understand the ":" after basic.
<leitz> Line 7.
<RickHull> ok, so by naming the arg basic in the method signature, and giving it a default value (L6)
<RickHull> there will be a local variable named basic inside the method
<RickHull> (this is standard stuff)
<leitz> Hang on a sec.
<RickHull> in L7, we call Character.new (it could be written that way, but self.new (or even new) are more conventional)
tacoboy has quit [Remote host closed the connection]
<RickHull> self refers to Character
<leitz> Line 6 has basic which defaults to an empty hash if nothing provided. What has me at the moment is the first "basic" in L7.
<RickHull> yep, getting there :)
<leitz> Okay. And self makes me think Python. :P
<RickHull> before that, briefly -- recall that Character.new will call #initialize
<leitz> L3
<RickHull> i don't know quite how to explain it properly, but Character.new is a class method, while Character#initialize is an instance method
<leitz> I'm okay with that, at a newbie level of okay.
<RickHull> you generally don't define Character.new -- you define Character#initialize
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<RickHull> but you can call Character.new which will give you a new BasicObject (I believe) and then #initialize runs
<RickHull> anyways, moving on :)
<RickHull> Character#initialize is defined in character.rb
<RickHull> so let's look at its signature
<RickHull> def initialize(basic: {}, upp: {}, skills: {}, careers: {}, stuff: {})
<RickHull> here we are using keyword arguments (rather than positional arguments)
<RickHull> with keyword arguments, I can call Character.new(upp: yours, basic: bitch, skills: nil)
<RickHull> the order of the arguments is not relevant
nowhere_man has quit [Ping timeout: 248 seconds]
<leitz> And each one defaults to an empty hash.
<RickHull> yup!
<RickHull> so back to Character.generate
<RickHull> we leave skills, careers, stuff alone
<RickHull> but we provide values for basic and upp
<RickHull> the value for basic is Generator.basic.merge(basic)
<RickHull> Generator.basic returns a hash with populated values
<RickHull> but we merge in the basic hash that was passed in
<RickHull> hsh1.merge(hsh2)
<RickHull> the values from hsh2 will override the values from hsh1
<RickHull> hsh1 is typically your "defaults"
<RickHull> and hsh2 is the "user specifics"
<RickHull> if hsh2 is empty, then you just get the defaults
nopolitica has joined #ruby
<RickHull> this is what allows us to say Character.generate(name: 'Leitz')
oetjenj has joined #ruby
<RickHull> some other name will get generated, but name: 'Leitz' will override it
danielpclark has joined #ruby
<leitz> Hang on, I'm still mentally tracing that.
Rouge has quit [Ping timeout: 248 seconds]
<leitz> Why use "basic = {}" in L6 and "basic: xxxx" in L7? Why two different assignment types?
nopolitica has quit [Ping timeout: 260 seconds]
char_var[buffer] has quit [Remote host closed the connection]
<RickHull> i maybe could use different names to make it clearer
<RickHull> L6 basic is the arg to generate; it becomes a local var inside the method
char_var[buffer] has joined #ruby
<RickHull> the first basic on L7 is the keyword for the arg to Character.new
<RickHull> the second basic (Generator.basic) is a call the Generator.basic method
<RickHull> the third basic is the local var being passed to Generator.basic
Cohedrin has joined #ruby
<leitz> Ah, I followed the Generator.basic, just didn't get the "basic:" bit.
<RickHull> it's from the Character.new method signature
<leitz> I think I have it. *think* being the operative word. :)
friday has quit [Ping timeout: 260 seconds]
<RickHull> you have to know the method signature before you can call it correctly
troulouliou_div2 has quit [Ping timeout: 240 seconds]
_aeris_ has quit [Remote host closed the connection]
<RickHull> I would describe L7 as saying: we provide one hash named basic, filled from Generator.basic
_aeris_ has joined #ruby
<RickHull> and we provide another hash named upp, filled from Generator.upp
<leitz> Yup.
<RickHull> we don't allow Generator.upp to be overridden
<RickHull> but we do allow a user to pass in a basic hash that will override (portions of) Generator.basic
<zanoni> i'm trying to create links in a page dynamically, one problem, is that if I do p <generated link> it inserts the p as a paragraph tag. Any ideas to get around that issue?
<RickHull> zanoni: rails?
<zanoni> sinatra
charliesome has joined #ruby
<RickHull> what is `p` in this case? like the sibling of `puts` ?
<RickHull> what is the intention?
<zanoni> yes
<RickHull> are you using haml?
<zanoni> well it generates pagination links , in li classes based on the total page count
<RickHull> in general, you probably don't want to generate html using `puts` and friends
<zanoni> slim, though i'm a butcher in it :)
<zanoni> no, so something else exists?
<RickHull> in general, html fragments are generated as strings
<RickHull> and then rendered to a larger document
<RickHull> and not using stuff targeted for STDOUT
friday has joined #ruby
<RickHull> do you have some example code to paste?
<zanoni> yep, but don't go blind :)
<RickHull> leitz: play around in irb too, to understand how some of this works
<RickHull> include TravellerChar # if you haven't already
<RickHull> then: Generator.basic
<leitz> RickHull, I'm at the end of my mental day; up since 0400 local.
<RickHull> Generator.basic.merge(whatever)
ramfjord has quit [Ping timeout: 260 seconds]
milardov_ has joined #ruby
<RickHull> no worries
<leitz> Right now I think reading it one more time and then sleeping on it will let it soak in.
<leitz> Then back at it tomorrow. Might sleep in till 0500 though. :)
<RickHull> last thought: no need to run with my fork or whatever -- I just wanted to get you thinking about some alternatives
<leitz> I really want to spend some time thiking on this.
<RickHull> only 3 files, 2 of which are tiny :)
<leitz> I won't run with your fork because I don't understand it yet. Where's the fun in that? I need to really get it, and that means breaking it some.
<RickHull> yep, for sure
Dimik has quit [Ping timeout: 248 seconds]
<RickHull> my only caution would be -- maybe don't get overinvested in your first design
<RickHull> treat it as a playground
milardovich has quit [Ping timeout: 255 seconds]
<RickHull> your current design isn't something I would want to work on -- I would rewrite it -- surprise surprise ;)
<leitz> Hehe...This is the second time I've come at this with Ruby, and it started in PHP and took a while in Python. I'm all for re-engineering.
<leitz> See you tomorrow!
milardov_ has quit [Remote host closed the connection]
<RickHull> 'night :)
<PhoenixMage> Hi All, I am using bundle to install gitlab and I have a local version of a gem installed with the correct version (grpc-1.6.6) yet bundle insists on downloading and compiling the gem. Any idea why?
<zanoni> what do you think Doctor?
leitz has quit [Quit: Nappy time]
<RickHull> zanoni: is this haml?
<RickHull> or you said 'slim' ?
<zanoni> slim
<RickHull> anywho, I'm sure slim has defined `p` as "inject a paragraph tag"
paradisaeidae_ has quit [Quit: ChatZilla 0.9.93 [Firefox 56.0.2/20171024165158]]
paradisaeidae has quit [Quit: ChatZilla 0.9.93 [Firefox 56.0.2/20171024165158]]
<RickHull> if you want to `p` something, you can just `puts something.inspect`
<zanoni> yeah, it does
<RickHull> but this would be like, logging to the console or something
neo95 has joined #ruby
<RickHull> I don't think slim has you using puts and friends to generate the doc
maum has joined #ruby
<zanoni> well it comes out in the list, prints to the page but the link is broken
<zanoni> no, i'll have to dig through the Slim docs, maybe something in there
<RickHull> it looks like slim uses '-' to indicate code (but no output)
<zanoni> correct
<RickHull> there is probably something similar that indicates code, and inject the output into the doc
<RickHull> er, inject the result of the code
oetjenj has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<RickHull> i doubt it's `puts` and I'm sure it's not `p`
<RickHull> ;)
oetjenj has joined #ruby
<zanoni> i agree
oetjenj has quit [Client Quit]
<RickHull> like in erb, I think it's <% code here %> versus <%= inject this code result %>
oetjenj has joined #ruby
oetjenj has quit [Client Quit]
oetjenj has joined #ruby
<RickHull> PhoenixMage: bundle will prefer to manage the gems separate from what you have on the system
hyperreal[m] has joined #ruby
<weaksauce> yeah that is correct RickHull
<RickHull> PhoenixMage: bundler intends to create an isolated environment
oetjenj has quit [Client Quit]
oetjenj has joined #ruby
<zanoni> i'm not sure how erb would handle injecting the strings
<RickHull> zanoni: <% versus <%=
oetjenj has quit [Client Quit]
<RickHull> but slim surely has something similar
oetjenj has joined #ruby
<zanoni> yes, thanks Rick!
<RickHull> maybe - versus = ?
oetjenj has quit [Client Quit]
<weaksauce> the slim homepage goes over the basics of it
<weaksauce> but yeah - is control and = is output
<RickHull> sweet, do I get a turkey?
<weaksauce> == is html escaped output
friday has quit [Ping timeout: 240 seconds]
<weaksauce> er without html*
cdg has joined #ruby
<weaksauce> are you american?
<weaksauce> if so yeah
<RickHull> yup
<PhoenixMage> RickHull: Can I manually install a gem into that isolated env? The grpc gem wont compile inside the env because gcc 7 + -Werror and the fallthrough warning.
dinfuehr has quit [Ping timeout: 240 seconds]
friday has joined #ruby
<RickHull> PhoenixMage: not sure -- usually when bundler fails to install a gem, it says: try `gem install thingie -v $version`
<RickHull> so even though one time you were able to get grpc to install
dinfuehr has joined #ruby
<RickHull> are you able to install the specific version that bundler wants to use, doing it yourself with `gem install` ?
<zanoni> thanks guys, yes, Slim has the = , so closer , not there yet, but will i'm sure
<PhoenixMage> RickHull: Not without editing the Makefile to remove -Werror
<RickHull> PhoenixMage: ok -- what is the gcc 7 thing?
<RickHull> and do you think the errors are significant?
<RickHull> almost certainly editing the Makefile is the wrong thing to do
ap4y has joined #ruby
<PhoenixMage> RickHull: Added a warning for fall-through on case statements, the warnings arent significant, there are no errors but using -Werror will cause failures on warnings
<RickHull> please paste the error output
<zanoni> got it! , ==
<RickHull> use e.g. gist.github.com
cdg has quit [Ping timeout: 255 seconds]
<RickHull> PhoenixMage: ok, I think I get it. in the C, there are case fall-throughs, which throw warnings, which are escalated to errors
bloodycock has joined #ruby
<RickHull> my next question would be, why does the Makefile specify -Werror ?
<PhoenixMage> RickHull: No idea, thats the devs call, not necessarily a bad thing usually but its killing me atm
<RickHull> yeah... 1067 issues and counting: https://github.com/grpc/grpc/issues
<RickHull> have you gone through those?
<RickHull> almost certainly you're not the first to experience this
<RickHull> 275 open PRs
<RickHull> RED FLAG ALERT
<RickHull> if you find the issue, there is probably a documented workaround
<RickHull> you may need to stub in an older build tool environment maybe?
<RickHull> i'm guessing this Makefile was fine with older tools
<PhoenixMage> It is, the fall through warning was introduced in gcc 7
<RickHull> see if you can get an earlier gcc, possibly just built locally, and manipulate PATH or alias to make bundler use it
<PhoenixMage> If there was a way to stop bundler fetching the source every time it would be easy to fix :/
<RickHull> there probably is a way to do that
<RickHull> but I'm hardly a bundler expert. there are some in here
<RickHull> or maybe #bundler
<RickHull> in general, ruby tools want to build C stuff locally to ensure platform compatibility
<RickHull> but binary gems are a thing
<RickHull> and maybe you can make bundler use what you've already got
Guest70176 has joined #ruby
<RickHull> alternatively, you can fork/clone the gem
<RickHull> edit the makefile or extconf.rb
<RickHull> build it, and let bundler source your forked/fixed gem
<RickHull> myself, I would look hard for an alternative to this unmaintained gem
<RickHull> or consider maintaining it ;)
neo95 has quit [Quit: Leaving]
<PhoenixMage> RickHull: I am compiling gitlab for Arm so not much chance of moving away from i
<PhoenixMage> it
<RickHull> hm, so this is a gitlab dependency?
<PhoenixMage> The code that actually needs to be fixed is zlib
<RickHull> I would expect they would be on top of this, in some way
<PhoenixMage> Yeah
<RickHull> have you reached out to them? do they have issues related to their deps?
<RickHull> again, you're probably not the first to experience this
FastJack has quit [Ping timeout: 258 seconds]
<RickHull> probably someone has forked the gem and added a workaround
<RickHull> and if gitlab is depending on an unmaintained gem... they probably have some level of awareness of current issues
<PhoenixMage> This is an edge case, most ppl dont run gitlab on arm, and even less want to do it on arch linux on arm
<RickHull> and maybe some measure of responsibility
<RickHull> is this error specific to arm?
Guest70176 has quit [Ping timeout: 268 seconds]
<RickHull> would you expect to avoid this error on x86?
<PhoenixMage> No sure, havent tried to compile on other platforms but I think the error would be doing a source install on anything that uses gcc 7
bloodycock has quit [Ping timeout: 268 seconds]
<RickHull> yep -- so you're almost certainly not the first
<RickHull> I say unmaintained -- there is dev activity
<RickHull> so search the grpc issues
<RickHull> and in the meantime, see if there are bundler workarounds, or else fork, fix, and rebuild the gem
<PhoenixMage> I have searched the grpc issues, nothing specific to zlib and the work around that worked for boringssl doesnt work this time around
<PhoenixMage> I will see what I can do with the bundler ppl
<RickHull> did you check closed issues too?
<RickHull> this may be fixed on HEAD
<RickHull> but not in the gitlab bundler deps
<RickHull> if that's the case, you could specify a newer version in Gemfile or whatevewr
<RickHull> there must be a ticket for this somewhere, and presumably in Gitlab's infra, on top of grpc or somewhere else
<RickHull> so I would query gitlab for this too
<RickHull> or just build with gcc 6 ;)
<PhoenixMage> Thanks RickHull I will see what I can do
marr has quit [Ping timeout: 260 seconds]
<RickHull> and there are other similar / dupes referenced in there as well
xlegoman has joined #ruby
MrBismuth has quit [Ping timeout: 268 seconds]
<PhoenixMage> RickHull: Yeah that works for installed gems, I have grpc installed for my user but it doesnt work for bundler because you cant modify the Makefile to fix it
<PhoenixMage> Until I find a way to get bundler to use the local source rather then grabbing it again
<PhoenixMage> Which is what I am looking into now
lexruee has quit [Quit: ZNC 1.6.5-frankenznc - http://znc.in]
pilne has quit [Quit: Quitting!]
lexruee has joined #ruby
<RickHull> I believe they are saying it's fixed on HEAD
<RickHull> some number of commits behind HEAD
<RickHull> whether the fix has been released as rubygems.org gem, not sure
gnufied has quit [Ping timeout: 255 seconds]
<RickHull> but you can still build HEAD yourself, and make it available to bundler
<RickHull> or else fork / fix / build
<RickHull> eh, maybe not fixed in the grpc source yet
<RickHull> i say fork / fix / build and submit a PR :)
<RickHull> bundler won't be happy with an edited local Makefile, but bundler is happy to use a local .gem that contains an edited Makefile
friday has quit [Ping timeout: 260 seconds]
<PhoenixMage> I think the better idea is to fix the zlib sources
nopolitica has joined #ruby
<RickHull> sure, but that's way upstream of bundler
friday has joined #ruby
drowze has quit [Ping timeout: 248 seconds]
eightlimbed has joined #ruby
nopolitica has quit [Ping timeout: 240 seconds]
cdg has joined #ruby
astrobunny has joined #ruby
mim1k has quit [Ping timeout: 268 seconds]
drowze has joined #ruby
cdg has quit [Ping timeout: 250 seconds]
ap4y has quit [Quit: WeeChat 1.9.1]
astrobunny has quit [Remote host closed the connection]
astrobunny has joined #ruby
danielpclark has quit [Ping timeout: 248 seconds]
FastJack has joined #ruby
x77686d has joined #ruby
d^sh has quit [Ping timeout: 260 seconds]
d^sh has joined #ruby
deepredsky has joined #ruby
FastJack has quit [Ping timeout: 258 seconds]
drowze has quit [Ping timeout: 260 seconds]
danielpclark has joined #ruby
drowze has joined #ruby
deepredsky has quit [Ping timeout: 248 seconds]
<PhoenixMage> I am thinking I will cheat and exploit the race condition between DLing and when it tries to compile and sed the -Werror out before it hits the issue
<PhoenixMage> I have raised an issue with zlib though
kitsunenokenja has joined #ruby
blackmesa1 has quit [Ping timeout: 246 seconds]
jenrzzz has quit [Ping timeout: 248 seconds]
FastJack has joined #ruby
<RickHull> i dunno, i would just skip bundler if that's the approach
jenrzzz has joined #ruby
jenrzzz has quit [Changing host]
jenrzzz has joined #ruby
<RickHull> are you expecting this bundler install process to be repeatable?
<weaksauce> you might find a way around it like that
x77686d has quit [Quit: x77686d]
<RickHull> forking grpc repo, editing Makefile -- trivial
<RickHull> building the .gem itself *should* be trivial
<RickHull> then just put the .gem on the local filesystem and tell bundler to use it
<RickHull> i would definitely try to build the fixed .gem first
rivalomega has quit []
<weaksauce> also bundle config local.GEM_NAME /path/to/local/git/repository
<weaksauce> if you modify it
<garyserj> I see that with sinatra, doing haml :index it looks for views/index.haml I know a guy that used sinatra once and thought it was index.html.haml Has sinatra changed like was it ever index.html.haml?
cschneid_ has quit [Remote host closed the connection]
plexigras has quit [Ping timeout: 248 seconds]
<RickHull> garyserj: that sounds pretty weird to me
<RickHull> though I can easily imagine sinatra can be configured to do that
Guest70176 has joined #ruby
mim1k has joined #ruby
Cohedrin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<RickHull> in general, it's pretty hilarious that webservers still try to map URLs to filesystem dirs and use "
<RickHull> "file extensions" in URLs to negotiate content-type
enterprisey has quit [Remote host closed the connection]
<RickHull> there is absolutely no reason to put .html in your URL
<weaksauce> isn't .html the default and if something needs something else like json it would be that same url with .json
<weaksauce> that's at least the rails way
<RickHull> http://myserver/path/to/dest -- there need not be /path/to anywhere on the filesystem
<RickHull> and likewise, html is specified with Content-type: text/html
<weaksauce> agreed
plexigras has joined #ruby
<RickHull> if a client wants json, they can say: Accept: application/json
webguynow has quit [Ping timeout: 248 seconds]
ta_ has quit [Read error: Connection reset by peer]
<RickHull> (for the exact same URL)
<garyserj> well now it's just haml :index which reads views\index.haml it may have been different in the past.
<RickHull> garyserj: sure -- I'm sort of ranting on a tangential topic :)
<weaksauce> i am sure they can but having .json makes it easier for the dev to test against manually
<garyserj> i'd rather it didn't go to views though..
<RickHull> i dunno, sounds like "weaksauce" to me
<weaksauce> lol
webguynow has joined #ruby
<RickHull> is it that hard for a dev to specify an Accept header?
<weaksauce> more like "the rails way"
<RickHull> what kind of devs are these?
<RickHull> oh "rails devs"
<garyserj> i'd like to be able to specify the path like http://myserver/path/to/dest
<weaksauce> yeah it's much more inconvenient
<weaksauce> having to go in and tweak headers is inconvenient
<RickHull> weaksauce: really? https://github.com/rickhull/mudbug
<weaksauce> not insurmountable
<RickHull> hardly
mim1k has quit [Ping timeout: 248 seconds]
hndk has joined #ruby
<RickHull> poke around, i'm curious what you think
Guest70176 has quit [Ping timeout: 255 seconds]
mjolnird has quit [Remote host closed the connection]
<weaksauce> that looks useful for sure. still doesn't change the fact that if I am testing in a browser really quickly to see if there is an error of some sort it's a hell of a lot easier to just append a .json to see what's up at least for get requests
<weaksauce> now that lib is certainly useful if you want to do post or put or delete etc
<RickHull> i'm sure there's a browser extension for that
<RickHull> don't make the server act the fool because the client is foolish
<weaksauce> i agree it's cleaner to use the accept headers
<RickHull> it's not just cleaner, that's how the web is supposed to work
<RickHull> it's literally in the RFCs
<weaksauce> yeah
<weaksauce> i do think that rails does the right thing too but adds a helper in addition for convenience
<weaksauce> for that .json
<weaksauce> i haven't really cared enough to test it though
<RickHull> it has given *so* many people, largely so-called devs, the exact wrong idea
<RickHull> i blame apache
silvermine has joined #ruby
<RickHull> like 20 years ago apache
<weaksauce> i blame microsoft too if we are throwing blame around
<weaksauce> not for this but they are not blameless
<RickHull> eh, IIS didn't infect the open source world with nonsense
<RickHull> but apache sure did
<weaksauce> IE did
<RickHull> i mean, it's great technology -- but the vast bulk of the tutorials etc taught people that urls are like filesystem paths
<weaksauce> we spent a lot of os hours on the evils of IE doing whatever IE wanted to do
<RickHull> *so many tutorials* where you create index.php
<garyserj> hehe I only found out the nonsense of URLs being filesystem paths a few years ago
<garyserj> when I played with nodejs and found that when you go to a URL it can return any html , file or not, or any file.
<RickHull> it's ok to have some part of the URL space correspond to some kind of FTP equivalent
<RickHull> webDAV type stuff
<RickHull> I think my main complaint is with early versions of mod_php and mod_perl
<RickHull> along with the apache background context that birthed such
<RickHull> it cemented bad ideas in the minds of so many early web developers
<weaksauce> i am not sure i can really hate on them for not having 100% forethought
gizmore|2 has joined #ruby
Guest70176 has joined #ruby
hyperreal[m] has left #ruby ["User left"]
<RickHull> blame != hate
<garyserj> What bad repurcussions did the idea that URLs = filesystem paths, have?
<RickHull> i'm just pointing out the source of bad ideas
<weaksauce> garyserj some vulnerabilities
<weaksauce> s/some/probably many
<RickHull> it makes people ignore Accept and Content-type headers
<RickHull> servers ignore the RFCs and just do what feels good
<weaksauce> i blame php and a lot of shitty online tutorials for some of that
<garyserj> though if servers don't pretend that URLs=file system paths, then they can return absolutely anything
<RickHull> right -- that's why I mentioned mod_php and mod_perl
<garyserj> they can even mislead..
<weaksauce> they can do that either way though garyserj
<RickHull> garyserj: servers should not pretend that URLs = file system paths
<garyserj> I agree i'm not in favour of pretending!
<RickHull> it's just that early webservers thought they should
<RickHull> and so that idea got cemented in the web community
<RickHull> quite unfortunately
<weaksauce> the main reason it did that is that it was the easiest way to get up and running.
<weaksauce> no need for a router of any sort
<RickHull> yes, CGI apps were the first web apps
nopolitica has joined #ruby
<garyserj> so then it's clear what it's doing if it's /path before any path.
<RickHull> and the CGI stuff lived on the filesystem
<RickHull> and was triggered by URLs that map to the filesystem
gizmore has quit [Ping timeout: 255 seconds]
<RickHull> mod_php was an alternative to CGI stuff, but learned the wrong lessons from it
quobo has quit [Quit: Connection closed for inactivity]
<weaksauce> it's not surprising to me that the php guys didn't do the right thing
<RickHull> eventually we got real app servers with routing layers
<RickHull> maybe tomcat was ahead of the curve, not sure
MrBusiness has joined #ruby
Guest70176 has quit [Ping timeout: 240 seconds]
<weaksauce> that language has function names that have no rhyme or reason other than because the creator wanted to make the hash lookup table for function names roughly equally performant
x77686d has joined #ruby
<weaksauce> so if that was one of the design decisions he made for that it's not surprising he fucked up elsewhere
<RickHull> php's origins are similar in scope to js's
<RickHull> php stands for php home page IIRC
<RickHull> it was supposed to be a tiny templating language
<RickHull> where literally index.php is the template for index.html
kitsunenokenja has quit [Ping timeout: 255 seconds]
<weaksauce> ah man js was made in 10 days and had so many awful choices
<weaksauce> it's better now but still
<mozzarella> 10 days? I thought it was a single weekend
<weaksauce> could be but i recall it being 10 days
nopolitica has quit [Ping timeout: 248 seconds]
ta_ has joined #ruby
<RickHull> weaksauce: btw rails can't be doing the right thing if the browser sends Accept: text/html and rails returns json because the url ends in .json
<weaksauce> mozzarella from wikipedia it says 10 days
<Radar> RickHull: patches welcome ;)
<RickHull> Radar: heh, it's a "feature" at this poitn
<Radar> isn't everything in Rails a "feature"?
<weaksauce> RickHull does the browser do that? can you send multiple accept headers?
<RickHull> weaksauce: you can send multiple types in a single line
<RickHull> (see mudbug ;)
<weaksauce> does the browser only say accept html?
<RickHull> so you can set fallbacks
<RickHull> good question, i haven't looked in a long time
<RickHull> but i'm sure the browser doesn't accept application/json
cadillac_ has quit [Quit: I quit]
<RickHull> though it's possible it's there in a long list
cadillac_ has joined #ruby
<RickHull> mudbug's default is json, then html, then text
<RickHull> it makes sense that a browser doesn't accept json by default -- but a browser extension can and should easily trigger this
x77686d has quit [Quit: x77686d]
<RickHull> or, ya know, use the right tool for the right job
howdoi has quit [Quit: Connection closed for inactivity]
<RickHull> but hey, let's just break web RFCs for "convenience"
ramfjord has joined #ruby
<RickHull> wouldn't it be cool if webservers happily served up text/plain ?
<RickHull> i'm sure you can get rails etc to do it
<RickHull> if all I accept is text/plain, and the server only has text/html for that URL, then the server should reject my request
eightlimbed has quit [Ping timeout: 240 seconds]
sspreitz has quit [Ping timeout: 240 seconds]
<RickHull> 406 Not Acceptable
<RickHull> but I suppose that ship has long sailed
<RickHull> *sigh*
sspreitz has joined #ruby
ta_ has quit [Remote host closed the connection]
cschneid_ has joined #ruby
jenrzzz has quit [Ping timeout: 248 seconds]
Technodrome has joined #ruby
cschneid_ has quit [Ping timeout: 240 seconds]
konsolebox has quit [Ping timeout: 240 seconds]
oleo has quit [Remote host closed the connection]
konsolebox has joined #ruby
oleo has joined #ruby
<RickHull> Radar: is there any reason Rails shouldn't act that way?
hndk has quit [Remote host closed the connection]
<RickHull> I mean, I get the argument for urls ending in .json -- it's a feature that is useful even if it breaks an RFC "should"
<RickHull> (not a "must")
<RickHull> maybe rails does act that way?
<RickHull> i don't know what my browser sends in its Accept header
bronson has joined #ruby
eightlimbed has joined #ruby
<RickHull> it looks like it doesn't send an Accept header -- in which case the server is free to send back whatever
<RickHull> so rails is doing fine by responding to .json urls with application/json
tacoboy has joined #ruby
tacoboy has quit [Read error: Connection reset by peer]
tacoboy has joined #ruby
<RickHull> oops, that was for a js request -- no accept header
<RickHull> my Chrome sends: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
<RickHull> any webserver that responds 200 with some other content-type is doing it wrong
<RickHull> oops again
<RickHull> */* says the server can send anything
milardovich has joined #ruby
<RickHull> which is pretty sensible for a browser
<Radar> RickHull: /shrug
<Radar> I gave up pretending why Rails acts certain ways a long time ago.
<RickHull> one problem is that many requests that a webserver sees have been mangled by middleboxes and accelerators / proxies / LBs / concentrators
eightlimbed has quit [Ping timeout: 248 seconds]
<RickHull> it's all good -- I was wrong that rails shouldn't send application/json back to the browser -- the .json clue on the end of the url is perfectly fine for making that decision
<RickHull> i'm more curious what rails does with a limited Accept header
<RickHull> rails, or any popular webserver
John___ has quit [Read error: Connection reset by peer]
ta_ has joined #ruby
QualityAddict has quit [Ping timeout: 268 seconds]
jenrzzz has joined #ruby
dstrunk has joined #ruby
guardianx has joined #ruby
jenrzzz has quit [Ping timeout: 248 seconds]
konsolebox has quit [Ping timeout: 240 seconds]
Guest70176 has joined #ruby
nopolitica has joined #ruby
jenrzzz has joined #ruby
troys_ is now known as troys
konsolebox has joined #ruby
Guest70176 has quit [Ping timeout: 248 seconds]
hyperreal has joined #ruby
Eletious_ has quit [Quit: Leaving]
milardovich has quit []
nopolitica has quit [Ping timeout: 248 seconds]
dviola has quit [Quit: WeeChat 1.9.1]
zanoni has quit [Ping timeout: 240 seconds]
bloodycock has joined #ruby
ta_ has quit [Ping timeout: 240 seconds]
gizmore|2 has quit [Remote host closed the connection]
ta_ has joined #ruby
konsolebox has quit [Ping timeout: 240 seconds]
konsolebox has joined #ruby
konsolebox has quit [Ping timeout: 240 seconds]
truenito has joined #ruby
Technodrome has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
uZiel has joined #ruby
konsolebox has joined #ruby
truenito has quit [Ping timeout: 240 seconds]
_whitelogger has joined #ruby
guardianx has quit []
hyperreal has quit [Remote host closed the connection]
ur5us_ has quit [Ping timeout: 268 seconds]
Bosma has joined #ruby
konsolebox has quit [Ping timeout: 268 seconds]
bloodycock has quit [Ping timeout: 248 seconds]
ta_ has quit [Ping timeout: 255 seconds]
jameser has joined #ruby
gix has joined #ruby
jackjackdripper has joined #ruby
jameser has quit [Client Quit]
Technodrome has joined #ruby
gix- has quit [Ping timeout: 248 seconds]
ta_ has joined #ruby
Guest70176 has joined #ruby
konsolebox has joined #ruby
guardianx has joined #ruby
hyperreal has joined #ruby
mjolnird has joined #ruby
guardianx has quit [Client Quit]
Guest70176 has quit [Ping timeout: 248 seconds]
tenderlove has joined #ruby
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #ruby
naprimer3 has quit [Read error: Connection reset by peer]
tenderlove has quit [Ping timeout: 255 seconds]
bloodycock has joined #ruby
govg has joined #ruby
ta_ has quit [Remote host closed the connection]
ta_ has joined #ruby
milardovich has joined #ruby
jenrzzz has quit [Ping timeout: 248 seconds]
konsolebox has quit [Ping timeout: 248 seconds]
konsolebox has joined #ruby
naprimer has joined #ruby
bloodycock has quit []
tenderlove has joined #ruby
tenderlove has quit [Remote host closed the connection]
naprimer has quit [Ping timeout: 260 seconds]
danielpclark has quit [Ping timeout: 240 seconds]
drowze has quit [Ping timeout: 240 seconds]
konsolebox has quit [Ping timeout: 268 seconds]
konsolebox has joined #ruby
nofxx has joined #ruby
naprimer has joined #ruby
dstrunk has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
iamarun has joined #ruby
howdoi has joined #ruby
danielpclark has joined #ruby
milardov_ has joined #ruby
milardov_ has quit [Remote host closed the connection]
Guest70176 has joined #ruby
milardovich has quit [Ping timeout: 240 seconds]
nofxx has quit [Quit: Leaving]
lexruee has quit [Ping timeout: 240 seconds]
naprimer has quit [Ping timeout: 240 seconds]
nofxx has joined #ruby
lexruee has joined #ruby
Guest70176 has quit [Ping timeout: 268 seconds]
nopolitica has joined #ruby
bloodycock has joined #ruby
reber has joined #ruby
nopolitica has quit [Ping timeout: 248 seconds]
larcara has quit []
oetjenj has joined #ruby
ShekharReddy has joined #ruby
xlegoman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
silvermine has quit [Read error: Connection reset by peer]
silvermine has joined #ruby
jameser has joined #ruby
enterprisey has joined #ruby
konsolebox has quit [Ping timeout: 255 seconds]
konsolebox has joined #ruby
jackjackdripper has quit [Quit: Leaving.]
plexigras has quit [Ping timeout: 248 seconds]
Revan007 is now known as RevanOne
Technodrome has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jameser_ has joined #ruby
jameser has quit [Ping timeout: 248 seconds]
jameser_ has quit [Ping timeout: 240 seconds]
bloodycock has quit [Ping timeout: 260 seconds]
oleo has quit [Quit: Leaving]
anisha has joined #ruby
silvermine has quit [Ping timeout: 250 seconds]
bilal80 has quit [Ping timeout: 248 seconds]
silvermine has joined #ruby
troys is now known as troys_
mim1k has joined #ruby
Guest70176 has joined #ruby
bilal80 has joined #ruby
mim1k has quit [Ping timeout: 260 seconds]
oetjenj has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Guest70176 has quit [Ping timeout: 255 seconds]
nopolitica has joined #ruby
muelleme has joined #ruby
jamesaxl has joined #ruby
apeiros has quit [Remote host closed the connection]
apeiros has joined #ruby
nopolitica has quit [Ping timeout: 255 seconds]
mson has joined #ruby
apeiros has quit [Ping timeout: 248 seconds]
muelleme has quit [Ping timeout: 260 seconds]
j0bk has left #ruby ["Textual IRC Client: www.textualapp.com"]
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
bigkevmcd has quit [Ping timeout: 252 seconds]
marr has joined #ruby
bigkevmcd has joined #ruby
iamarun has quit [Ping timeout: 240 seconds]
apeiros has joined #ruby
tomphp has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
maum has quit [Remote host closed the connection]
Guest70176 has joined #ruby
Guest70176 has quit [Ping timeout: 240 seconds]
nopolitica has joined #ruby
Guest70176 has joined #ruby
iamarun has joined #ruby
waveprop has quit [Ping timeout: 240 seconds]
Guest70176 has quit [Ping timeout: 240 seconds]
waveprop has joined #ruby
waveprop is now known as Guest92925
andikr has joined #ruby
Guest92925 has quit [Changing host]
Guest92925 has joined #ruby
k3rn31_ has quit [Ping timeout: 240 seconds]
Guest92925 is now known as waveprop
elcontrastador has joined #ruby
jaruga has joined #ruby
aufi has joined #ruby
ana_ has joined #ruby
Burgestrand has joined #ruby
Revan007 has joined #ruby
RevanOne has quit [Ping timeout: 268 seconds]
deepredsky has joined #ruby
Burgestrand has quit [Client Quit]
TomyWork has joined #ruby
Burgestrand has joined #ruby
silvermine has quit [Ping timeout: 240 seconds]
waveprop has quit [Ping timeout: 248 seconds]
waveprop has joined #ruby
waveprop is now known as Guest6950
silvermine has joined #ruby
mark_66 has joined #ruby
claudiuinberlin has joined #ruby
k3rn31_ has joined #ruby
astrobunny has quit [Remote host closed the connection]
Guest70176 has joined #ruby
nopoliti1 has joined #ruby
biberu has joined #ruby
claudiuinberlin has quit [Quit: Textual IRC Client: www.textualapp.com]
Revan007 has quit [Read error: Connection reset by peer]
claudiuinberlin has joined #ruby
nopolitica has quit [Ping timeout: 260 seconds]
sammi` has quit [Quit: leaving]
<Fire-Dragon-DoL> hello, is there any way to "alias a bunch of constants" in a class, so I don't have to write top level namespace? Like class Foo; include MyTopLevel; attribute :something, MyNestedLevel; end;
Rouge has joined #ruby
<apeiros> include
<apeiros> >> module Foo; MyVal = 123; end; include Foo; MyVal
<ruby[bot]> apeiros: # => 123 (https://eval.in/906807)
iceden has quit [Ping timeout: 248 seconds]
TomyWork has quit [Quit: Leaving]
sammi` has joined #ruby
ams__ has joined #ruby
marr has quit [Ping timeout: 260 seconds]
armyriad has quit [Read error: Connection reset by peer]
<dminuoso> ?nesting
<ruby[bot]> dminuoso: I don't know anything about nesting
mikecmpbll has quit [Quit: inabit. zz.]
enterprisey has quit [Remote host closed the connection]
konsolebox has quit [Ping timeout: 260 seconds]
konsolebox has joined #ruby
guille-moe has joined #ruby
<qmr> getting lots of err 11 resource temporarily unavailable in nginx logs nginx <-> unicorn. any suggestions? servers do not seem overloaded
<apeiros> Fire-Dragon-DoL: what I said ^ was for ou
<apeiros> *you
<apeiros> qmr: wrong channel?
<qmr> apeiros: no. maybe.
tvw has joined #ruby
<apeiros> ah, unicorn. I stopped reading at nginx logs. but you might still be better served in an nginx channel.
<apeiros> how do you figure load on the unicorns?
iceden has joined #ruby
iceden has quit [Max SendQ exceeded]
mson has quit [Quit: Connection closed for inactivity]
iceden has joined #ruby
mim1k has joined #ruby
_the_blackadder has joined #ruby
tobiasvl has quit [Remote host closed the connection]
tvl has joined #ruby
tvl is now known as tobiasvl
mikecmpbll has joined #ruby
_the_blackadder has quit [Client Quit]
<qmr> apeiros: idk it's thanksgiving and I'm half drunk
Immune has quit [Ping timeout: 248 seconds]
iamarun has quit [Ping timeout: 240 seconds]
elcontrastador has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
iamarun has joined #ruby
anisha has quit [Ping timeout: 240 seconds]
iceden has quit [Ping timeout: 240 seconds]
Beams has joined #ruby
iceden has joined #ruby
Bish has quit [Ping timeout: 248 seconds]
anisha has joined #ruby
Bish has joined #ruby
jaruga has quit [Quit: jaruga]
Guest70176 has quit [Ping timeout: 246 seconds]
Guest70176 has joined #ruby
char_var[buffer] has quit [Ping timeout: 248 seconds]
Guest6950 has quit [Ping timeout: 240 seconds]
waveprop has joined #ruby
waveprop is now known as Guest2821
jaruga has joined #ruby
blackmesa1 has joined #ruby
uZiel has quit [Remote host closed the connection]
nowhere_man has joined #ruby
CrazyEddy has quit [Ping timeout: 255 seconds]
blackmesa1 has quit [Ping timeout: 240 seconds]
blackmesa1 has joined #ruby
Siyfion has joined #ruby
zanoni has joined #ruby
rmhonji has joined #ruby
rmhonji has quit [Client Quit]
uZiel has joined #ruby
rmhonji has joined #ruby
miskatonic has joined #ruby
rmhonji has quit [Client Quit]
rmhonji has joined #ruby
silvermine has quit [Ping timeout: 248 seconds]
Rouge has quit [Ping timeout: 248 seconds]
leitz has joined #ruby
Guest2821 has quit [Ping timeout: 240 seconds]
deepredsky has quit [Ping timeout: 250 seconds]
waveprop_ has joined #ruby
deepredsky has joined #ruby
quobo has joined #ruby
deepredsky has quit [Ping timeout: 240 seconds]
deepredsky has joined #ruby
vondruch has joined #ruby
ur5us has joined #ruby
ur5us has quit [Remote host closed the connection]
raul782 has joined #ruby
ldnunes has joined #ruby
SirOliver has joined #ruby
Siyfion has quit [Quit: Textual IRC Client: www.textualapp.com]
SirOliver has quit [Quit: ZZZzzz…]
Serpent7776 has joined #ruby
drowze has joined #ruby
deepredsky has quit [Ping timeout: 264 seconds]
<waveprop_> is Metaprogramming Ruby 2 the sequel to Metaprogramming ruby or just a second edition. should i buy both
drowze has quit [Ping timeout: 240 seconds]
<leitz> waveprop_, I think it's for Ruby 2. You can probably look at the table of contents on Amazon and compare.
deepredsky has joined #ruby
<waveprop_> thanks leitz. i just looked at both on amazon, good idea to compare the TOCs
yeticry has joined #ruby
<leitz> Yeah, looking at the text he says he updated for Ruby 2.x. I have the old one.
yeticry_ has quit [Ping timeout: 248 seconds]
<leitz> Never read it, a bit above my head.
<waveprop_> cool. i want to read it after eloquent ruby
<leitz> Well, a large bit.
<leitz> Reading ER now. Great book!
deepredsky has quit [Ping timeout: 255 seconds]
uZiel has quit [Ping timeout: 248 seconds]
deepredsky has joined #ruby
<waveprop_> leitz: nice! have you done the codecademy tutorial by any chance-- some of the amazon reviews on ER said it provided a grasp of the language equivalent to that tutorial
<leitz> Haven't. I started Ruby with the first edition of Pickaxe, because it was cheap (used on Amazon). I'm just now getting into Ruby 2.x
<leitz> I prefer books to websites.
<waveprop_> okay cool. i do also, very much prefer hard copy books
<leitz> But that's just personal preference. I'm going to hit codewars.com soon.
<waveprop_> but i was eager to get into ruby and the tutorial was pretty quick
<waveprop_> i've been meaning to look at that site myself
<leitz> FYI, Russ Olsen provided a nice response when I e-mailed him about his books. I'm impressed with both him and Hal Fulton of "The Ruby Way".
<leitz> You'll also see POODR recommended. Practical Object Oriented Design in Ruby, I think. Great book!
<leitz> baweaver's list, and a good one.
uZiel has joined #ruby
<waveprop_> Always good to see authors responding to the community. Yes i need to read POODR also because ruby is my first real use of OO
blackmesa1 has quit [Ping timeout: 240 seconds]
deepredsky has quit [Ping timeout: 248 seconds]
<leitz> POODR breaks it down nicely. Depending on how soon you plan on getting to it, a new one is due out mid-2018 I think.
<leitz> Ruby is the first language I've enjoyed reading the reference documentation for.
<waveprop_> I'll keep my eyes peeled for the new one, i want to read metaprogramming first
<leitz> Good, then you can explain it to me later. :)
<waveprop_> yeah, i use the docs all time. so much better than php's
<waveprop_> :)
<leitz> I'm refactoring some code and have a lot to do.
<leitz> PHP is fun but I never loved the language as much as I do Ruby.
deepredsky has joined #ruby
eml_ has joined #ruby
<waveprop_> yeah they are all cool but ruby is a blast. Good luck with your refactoring and thanks for your thoughts on these books
blackmesa1 has joined #ruby
CrazyEddy has joined #ruby
<leitz> Happy to help!
drowze has joined #ruby
al2o3-cr has quit [Ping timeout: 240 seconds]
deepredsky has quit [Ping timeout: 268 seconds]
deepredsky has joined #ruby
iamarun has quit [Remote host closed the connection]
deepredsky has quit [Ping timeout: 268 seconds]
jottr has joined #ruby
blackmesa1 has quit [Ping timeout: 240 seconds]
uZiel has quit [Remote host closed the connection]
uZiel has joined #ruby
nowhere_man has quit [Quit: Konversation terminated!]
nowhere_man has joined #ruby
Vaanir has left #ruby [#ruby]
deepredsky has joined #ruby
Cohedrin has joined #ruby
tvw has quit [Remote host closed the connection]
RevanOne has joined #ruby
konsolebox has quit [Ping timeout: 248 seconds]
apparition has joined #ruby
<atmosx> Hi, I havea an ERB <%= e[:service %> on a 'chef' recipe. Now when I issue p e or p e.class I see a perfectly valid hash, but whenm I call the key to extract I'm getting a 'cannot convert integer to symbol' error. Any idea what could be happening?!
conta has quit [Quit: conta]
konsolebox has joined #ruby
conta has joined #ruby
<apeiros> you pass in a symbol and you get "can't convert *integer* to symbol"?
<apeiros> I think I'd look at the backtrace, because that makes it seem like you're looking in the wrong place
eml_ has quit [Ping timeout: 260 seconds]
truenito has joined #ruby
nowhere_man has quit [Ping timeout: 252 seconds]
konsolebox has quit [Ping timeout: 240 seconds]
guille-moe has quit [Ping timeout: 248 seconds]
konsolebox has joined #ruby
truenito has quit [Ping timeout: 240 seconds]
<atmosx> apeiros: there was a string item added in the array a few lines down which I missed. That caused the error.
<apeiros> I don't even know where to start with the contradictions in all of this so far… but apparently you solved your problem now.
CrazyEddy has quit [Ping timeout: 240 seconds]
<apeiros> ok, deciphering your contradictions it starts to make sense. your code fails *before* it prints the class of the current object, and you just looked at the last output. and by "in the array" you mean @blackbox_endpoints, not the Hash you've been talking about before.
yCrazyEdd has joined #ruby
howdoi has quit [Quit: Connection closed for inactivity]
<apeiros> and the <%= e[:service %> (which additionally is a syntax error) is a bad transcript of <%= e[:endpoint] %>
<apeiros> all those ^ makes it rather painful to try to help you. the lack of the actual exception/backtrace with refs to what's which file doesn't help either.
<apeiros> >> "foo"[:bar]
<ruby[bot]> apeiros: # => no implicit conversion of Symbol into Integer (TypeError) ...check link for more (https://eval.in/906916)
<apeiros> add misquoting the exception to the list
<apeiros> I mean seriously
atmosx has quit [Quit: WeeChat 1.4]
miskatonic has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
deepredsky has quit [Ping timeout: 252 seconds]
deepredsky has joined #ruby
ramfjord has quit [Ping timeout: 248 seconds]
deepredsky has quit [Ping timeout: 240 seconds]
mcr1 has quit [Ping timeout: 250 seconds]
anisha has quit [Ping timeout: 248 seconds]
anisha has joined #ruby
Cohedrin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Cohedrin has joined #ruby
Rouge has joined #ruby
synthroid has joined #ruby
<Burgestrand> Is there still an off-topic channel related to this channel?
<Burgestrand> … and if so, which is it?
<apeiros> #ruby-offtopoic
<apeiros> minus typo
* Burgestrand hat tip
uZiel has quit [Ping timeout: 248 seconds]
synthroi_ has joined #ruby
Cohedrin has quit [Ping timeout: 240 seconds]
anisha has quit [Ping timeout: 246 seconds]
Rouge has quit [Ping timeout: 246 seconds]
synthroid has quit [Ping timeout: 268 seconds]
c0ncealed has quit [Remote host closed the connection]
c0ncealed has joined #ruby
ledestin has quit [Quit: Textual IRC Client: www.textualapp.com]
deepredsky has joined #ruby
kitsunenokenja has joined #ruby
deepredsky has quit [Ping timeout: 240 seconds]
ledestin has joined #ruby
jrafanie has joined #ruby
John___ has joined #ruby
deepredsky has joined #ruby
tlaxkit has joined #ruby
anisha has joined #ruby
deepredsky has quit [Ping timeout: 240 seconds]
morfin has joined #ruby
<morfin> hello
<morfin> how can i wipe out all gems i have?
<apeiros> iirc gem pristine
<apeiros> but check that command's docs first ;-)
<morfin> is not pristine for restoring?
<apeiros> also depends a bit on what you consider "all" wrt having e.g. rvm + gemsets.
<morfin> as example when native extension was not built
quobo has quit [Quit: Connection closed for inactivity]
<leitz> morfin: for gem in `gem list`; do gem uninstall -aI $gem; done
<apeiros> ah right. pristine is the wrong thing.
rippa has joined #ruby
<leitz> As root on linux, anyway.
<leitz> Ask me how I know. :)
<morfin> i used it today when something did not build and i had gem "installed" but not functional)
<leitz> I think there's an option to remove it without asking "y'.
deepredsky has joined #ruby
<morfin> yes | gem uninstall x
<morfin> no?
<leitz> Give it a shot. Mine are pretty much all gone.
<morfin> that's common practice to use yes and pass it's output to stdin
<morfin> because it just say "y"
kith has joined #ruby
nadir has quit [Quit: Connection closed for inactivity]
blackmesa1 has joined #ruby
deepredsky has quit [Ping timeout: 248 seconds]
jrafanie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
milardovich has joined #ruby
soc42 has joined #ruby
x77686d has joined #ruby
<Burgestrand> `rm -rf /`
<Burgestrand> Don't do that.
<Burgestrand> I gave that as advice once as a joke.
<Burgestrand> Two days later same dude posts another comment saying his server had been hacked because all files were gone.
<Burgestrand> (re wipe out all gems)
<apeiros> that's the kind of people you don't want near your servers
<tobiasvl> also he must've been using an old "rm" if --preserve-root wasn't default
<apeiros> same level of stupidity like script kiddy on irc "I'll hack you! what's your IP? - 127.0.0.1 - OK! I'm watching your files as they…<disco>"
<leitz> Does ruby store files? I know it's an odd question, but it's complaining about a line that I've already removed.
<Burgestrand> tobiasvl Yes, this was way back in 2011 I think
milardovich has quit [Remote host closed the connection]
<apeiros> leitz: ruby itself no. only your code.
<apeiros> i.e. if you do File.write or similar. but I assume you meant ruby as in "ruby the process running my files"
deepredsky has joined #ruby
<tobiasvl> depends what you mean too… if you've required a file, it stays in memory, it's not re-required if it changes
<Burgestrand> Oh, never mind, I found the old forum, it was way back in 2008.
<leitz> apeiros, just running tests and it fails for a phrase that's no longer there.
<apeiros> leitz: do you happen to be in rails? because that uses spring, which does some source caching
<leitz> Nope.
<apeiros> using another tool which should improve test speed? they tend to work with "start app and fork, reload parts on demand"
<apeiros> other than that I'm out of ideas other than "are you reeeally in the right directory?"
<leitz> Hehe...always possible. Poking around.
guille-moe has joined #ruby
synthroid has joined #ruby
<leitz> Made some progress, different error.
deepredsky has quit [Ping timeout: 240 seconds]
<tobiasvl> feel free to share code and errors in a gist
maikowblue has joined #ruby
yCrazyEdd has quit [Ping timeout: 248 seconds]
<leitz> tobiasvl, I will. Part or my learning style requires banging my head against a problem for a while. :)
synthroi_ has quit [Ping timeout: 240 seconds]
<leitz> Like, uh, ensuring if you change require statements you remember to require the main class...
CrazyEddy has joined #ruby
ek926m has joined #ruby
<apeiros> leitz: is that the "I learn through the blood of my forehead" style?
<leitz> A long and storied past...
synthroi_ has joined #ruby
guille-moe has quit [Ping timeout: 252 seconds]
synthroid has quit [Ping timeout: 252 seconds]
hightower2 has joined #ruby
deepredsky has joined #ruby
milardovich has joined #ruby
AxelAlex has joined #ruby
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
deepredsky has quit [Ping timeout: 240 seconds]
garyserj has quit []
milardovich has quit [Ping timeout: 248 seconds]
konsolebox has quit [Ping timeout: 248 seconds]
oleo has joined #ruby
guille-moe has joined #ruby
mcr1 has joined #ruby
CrazyEddy has quit [Ping timeout: 260 seconds]
konsolebox has joined #ruby
deepredsky has joined #ruby
DLSteve has joined #ruby
CrazyEddy has joined #ruby
deepredsky has quit [Ping timeout: 240 seconds]
bmurt has joined #ruby
deepredsky has joined #ruby
mcr1 has quit [Ping timeout: 258 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
mcr1 has joined #ruby
jamesaxl has joined #ruby
milardovich has joined #ruby
ledestin has quit [Quit: Textual IRC Client: www.textualapp.com]
AxelAlex has quit [Ping timeout: 258 seconds]
milardovich has quit [Ping timeout: 240 seconds]
sepp2k has joined #ruby
quobo has joined #ruby
bmurt has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
shinnya has joined #ruby
cdg has joined #ruby
iamarun has joined #ruby
nicesignal has quit [Remote host closed the connection]
nicesignal has joined #ruby
Technodrome has joined #ruby
claudiuinberlin has joined #ruby
video-girl-yutub has joined #ruby
TomyWork has joined #ruby
synthroi_ has quit [Remote host closed the connection]
synthroid has joined #ruby
apparition has quit [Read error: Connection reset by peer]
synthroid has quit [Remote host closed the connection]
synthroid has joined #ruby
iamarun has quit [Ping timeout: 240 seconds]
dviola has joined #ruby
iamarun has joined #ruby
tacoboy has quit [Remote host closed the connection]
Technodrome has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
deepredsky has quit [Ping timeout: 248 seconds]
darkness has joined #ruby
iamarun has quit [Ping timeout: 250 seconds]
kitsunenokenja has quit [Ping timeout: 255 seconds]
miskatonic has joined #ruby
tvw has joined #ruby
Technodrome has joined #ruby
miskatonic has quit [Read error: Connection reset by peer]
deepredsky has joined #ruby
apeiros has quit [Remote host closed the connection]
blackmesa1 has quit [Ping timeout: 240 seconds]
darkness has quit [Remote host closed the connection]
gizmore has joined #ruby
miskaton` has joined #ruby
guille-moe has quit [Ping timeout: 255 seconds]
guille-moe has joined #ruby
deepredsky has quit [Ping timeout: 248 seconds]
miskaton` has quit [Read error: Connection reset by peer]
John___ has quit [Ping timeout: 240 seconds]
deepredsky has joined #ruby
tlaxkit has quit [Quit: ¡Adiós!]
helpa has quit [Remote host closed the connection]
helpa has joined #ruby
maikowblue has quit [Quit: .]
miskatonic has joined #ruby
deepredsky has quit [Ping timeout: 260 seconds]
ana_ has quit [Quit: Leaving]
John___ has joined #ruby
deepredsky has joined #ruby
AxelAlex has joined #ruby
michael1 has joined #ruby
aufi has quit [Remote host closed the connection]
<dminuoso> Burgestrand: This was a hilarious way to brick your hardware up until a year ago.
<dminuoso> Not just your files.
deepredsky has quit [Ping timeout: 240 seconds]
<dminuoso> efivars has some unintended side effects. :-)
raul782_ has joined #ruby
guille-moe has quit [Ping timeout: 268 seconds]
raul782 has quit [Ping timeout: 240 seconds]
ek926m has quit [Ping timeout: 246 seconds]
07EAAIC8A has joined #ruby
video-girl-yutub has quit [Ping timeout: 240 seconds]
Puffball has joined #ruby
duckpuppy has joined #ruby
x77686d has quit [Quit: x77686d]
duckpupp1 has quit [Ping timeout: 240 seconds]
AxelAlex has quit [Ping timeout: 258 seconds]
Galaxor has joined #ruby
x77686d has joined #ruby
Galaxor has left #ruby [#ruby]
cdg has quit [Remote host closed the connection]
xlegoman has joined #ruby
x77686d has quit [Client Quit]
soc42 has quit [Remote host closed the connection]
cdg has joined #ruby
sepp2k has quit [Ping timeout: 248 seconds]
sepp2k has joined #ruby
sepp2k has quit [Client Quit]
sepp2k has joined #ruby
deepredsky has joined #ruby
cdg has quit [Ping timeout: 240 seconds]
shinnya has quit [Ping timeout: 240 seconds]
drowze has quit [Ping timeout: 250 seconds]
deepredsky has quit [Ping timeout: 258 seconds]
AxelAlex has joined #ruby
apeiros has joined #ruby
apeiros has quit [Remote host closed the connection]
AxelAlex has quit [Ping timeout: 258 seconds]
mtkd has quit [Ping timeout: 268 seconds]
good-girl has joined #ruby
safetypin has joined #ruby
mtkd has joined #ruby
apeiros has joined #ruby
marr has joined #ruby
enterprisey has joined #ruby
apeiros has quit [Remote host closed the connection]
apeiros has joined #ruby
x77686d has joined #ruby
deepredsky has joined #ruby
Burgestrand has quit [Quit: Closing time!]
AlexRussia has joined #ruby
conta has quit [Quit: conta]
bloodycock has joined #ruby
conta has joined #ruby
deepredsky has quit [Ping timeout: 240 seconds]
safetypin has quit [Quit: ZZZzzz…]
John___ has quit [Ping timeout: 248 seconds]
safetypin has joined #ruby
synthroid has quit [Remote host closed the connection]
deepredsky has joined #ruby
conta has quit [Ping timeout: 240 seconds]
nopoliti1 has quit [Ping timeout: 248 seconds]
synthroid has joined #ruby
synthroid has quit [Remote host closed the connection]
synthroid has joined #ruby
synthroi_ has joined #ruby
mark_66 has quit [Remote host closed the connection]
deepredsky has quit [Ping timeout: 240 seconds]
dionysus69 has joined #ruby
deepredsky has joined #ruby
07EAAIC8A has left #ruby [#ruby]
synthroid has quit [Ping timeout: 248 seconds]
deepredsky has quit [Ping timeout: 240 seconds]
nopoliti1 has joined #ruby
nowhere_man has joined #ruby
John___ has joined #ruby
larcara has joined #ruby
antiswifty has joined #ruby
antiswifty has left #ruby [#ruby]
mcr1 has quit [Ping timeout: 248 seconds]
tcopeland has quit [Quit: tcopeland]
thinkpad has quit [Ping timeout: 255 seconds]
raul782 has joined #ruby
alan_w has quit [Quit: WeeChat 1.9.1]
raul782_ has quit [Ping timeout: 255 seconds]
alan_w has joined #ruby
TomyWork has quit [Remote host closed the connection]
drowze has joined #ruby
safetypin has quit [Quit: ZZZzzz…]
Puffball has quit [Remote host closed the connection]
mim1k has quit [Ping timeout: 260 seconds]
safetypin has joined #ruby
deepredsky has joined #ruby
mim1k has joined #ruby
workmad3 has quit [Ping timeout: 260 seconds]
milardovich has joined #ruby
safetypin has quit [Quit: ZZZzzz…]
deepredsky has quit [Ping timeout: 248 seconds]
dviola has quit [Quit: WeeChat 1.9.1]
troys_ is now known as troys
safetypin has joined #ruby
mim1k has quit [Ping timeout: 248 seconds]
Technodrome has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ur5us has joined #ruby
John___ has quit [Ping timeout: 260 seconds]
Technodrome has joined #ruby
claudiuinberlin has quit [Quit: Textual IRC Client: www.textualapp.com]
safetypin has quit [Quit: ZZZzzz…]
raul782 has quit []
John___ has joined #ruby
hightower2 has quit [Ping timeout: 240 seconds]
Beams has quit [Quit: .]
Emmanuel_Chanel has quit [Quit: Leaving]
Lyubo1 has quit [Ping timeout: 240 seconds]
deepredsky has joined #ruby
tomphp has joined #ruby
safetypin has joined #ruby
armyriad has joined #ruby
ldnunes has quit [Ping timeout: 240 seconds]
danielpclark has quit [Ping timeout: 255 seconds]
bigkevmcd has quit [Quit: Outta here...]
mwlang has joined #ruby
mikecmpbll has quit [Quit: inabit. zz.]
deepredsky has quit [Ping timeout: 248 seconds]
safetypin has quit [Client Quit]
guille-moe has joined #ruby
Emmanuel_Chanel has joined #ruby
deepredsky has joined #ruby
tvw has quit []
mwlang has quit [Quit: mwlang]
<sylario> Stupid question : i have "0" and "1" as inputs, I want false true as output, am I doomed to do a stupid test ?
Immune has joined #ruby
<sylario> The background is AD virtual attribute getting data from a form checkbox. The cast/test/convert would take place in the model getter def blaaa=(val)
<sylario> But it's more ruby than rails
ldnunes has joined #ruby
Serpent7776 has quit [Quit: Leaving]
danielpclark has joined #ruby
ur5us has quit [Remote host closed the connection]
<apeiros> sylario: yes, you're doomed to do a stupid test
<sylario> nooooooooooo
deepredsky has quit [Ping timeout: 240 seconds]
<apeiros> if you want a check: {"0" => false, "1" => true}.fetch(value)
<apeiros> if you are sure it's either of those: value == "1"
<apeiros> if you want the fastest with a check: case value when "1" then true; when "0" then false; else raise; end # (not benchmarked, but I'd expect that to be the fastest code for this problem)
<sylario> well, this is a boolean that will trigger a cavalcade of mails, so I'm not sure it's the best place to optimize ^^
<apeiros> personally I opt for asserts in all converting code.
<apeiros> too many "code should never reach this - in theory…" bugs
milardov_ has joined #ruby
Ltem has joined #ruby
milardov_ has quit [Remote host closed the connection]
milardov_ has joined #ruby
Lyubo1 has joined #ruby
milardov_ has quit [Remote host closed the connection]
milardovich has quit [Ping timeout: 248 seconds]
tcopeland has joined #ruby
AlexRussia has quit [Ping timeout: 240 seconds]
zzla has joined #ruby
<zzla> hi
<zzla> so, im trying to instal this thing: https://github.com/grobie/soundcloud2000
<zzla> and am getting stuck at the ruby1.9.1-dev part
<zzla> ive tried installing 1.9.1 using rv
<zzla> rvm, rather
<zzla> but when i do gem install soundcloud2000 , i get a no gem found message
dviola has joined #ruby
<darix> zzla: do you really need ruby 1.9 for it?
<darix> i am pretty sure he means 1.9+
nadir has joined #ruby
<zzla> i believe i do
<zzla> when i installed the most recent ruby, i received the same no gem found message
<ruby[bot]> zzla: we in #ruby do not like pastebin.com, I reposted your paste to gist for you: https://gist.github.com/c4a5cf7bbb5927dc90a1ba614a5ae7b6
<ruby[bot]> zzla: pastebin.com loads slowly for most, has ads which are distracting and has terrible formatting.
<zzla> ah sorry
Lyubo1 has quit [Ping timeout: 268 seconds]
<zzla> agreed, pastebin kinda sucks
<zzla> noted.
<zzla> anyways, i tried using rvm to install 1.9.1 just now, and that was the erro rmessage i got
SirOliver has joined #ruby
Lyubo1 has joined #ruby
dstrunk has joined #ruby
<zzla> im also on debian 9
<zzla> not sure if that matters
mson has joined #ruby
deepredsky has joined #ruby
<darix> zzla: can you paste the error from gem install soundcloud2000 with your normal system ruby?
<darix> zzla: maybe we can focus on fixing that.
<zzla> so, i initially had that issue
<zzla> but now im stuck on an issue with installing 1.9.1
<darix> you dont want 1.9.1
<darix> it is not supported anymore
<zzla> going to give this a shot
<darix> it lacks tons of security fixes
<zzla> 1.9.1 is not?
<zzla> hm
<zzla> are gems specific to ruby versions?
<darix> give us the error from "gem install soundcloud2000"
<zzla> ok, ill get to that point
<zzla> but, in theory, shoudl i be able to isntall soundcloud2000 using the newest version of ruby?
<darix> yes
<darix> that's why i want to see your error
deepredsky has quit [Ping timeout: 255 seconds]
<zzla> ok sure
<RickHull> zzla: gems can declare incompatibility with ruby versions -- typically they say I need ruby version at least X
herbmillerjr has joined #ruby
<craysiii> https://rubygems.org/gems/soundcloud2000/versions/0.1.0 doesn't look like it has one?
claudiuinberlin has joined #ruby
<darix> you might just miss things like libncurses-dev ruby-devel on your machine
<zzla> hm
<RickHull> zzla: it looks like you are getting 1.9.1 from: "apt-get install portaudio19-dev libmpg123-dev libncurses-dev ruby1.9.1-dev"
<zzla> initially, this is waht i had tried
<RickHull> zzla: those are just outdated debian/ubuntu install instructions
<zzla> but after some reading i found that rvm may be a better solution for installing that version of ruby
<RickHull> not tied to the gem -- just giving an outdated view of the prerequisites
<zzla> either way, ive removed 1.9.1 and am using rvm to install 2.4
mikecmpbll has joined #ruby
<zzla> or more specifically, rvm is a better solution for installing an outdated version of ruby
<zzla> once 2.4 is installed ill try gem install and give you guys the response
SirOliver has quit [Quit: ZZZzzz…]
<zzla> compiling
<darix> zzla: why not just "apt install ruby"?
<darix> you are making it too complicated imho
<zzla> uh
<zzla> i mean, i suppose i could have done that
guille-moe has quit [Ping timeout: 240 seconds]
<zzla> is there any harm in using rvm?
<morfin> crap
guille-moe has joined #ruby
<morfin> i can't use Passenger because agent is not built
troys is now known as troys_
<morfin> but i can't build agent because autotools are older(1.13 and gem was configured with 1.15)
<darix> morfin: use unicorn or puma?:P
<morfin> i am deploying on webfaction
<morfin> this is my first time when i deploy something using Passenger
tomphp has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
oetjenj has joined #ruby
deepredsky has joined #ruby
<zzla> that is the output of terminal, as well as the contents of the log file
<zzla> .
mtkd has quit [Ping timeout: 260 seconds]
<craysiii> so did you install mpg123?
tomphp has joined #ruby
mtkd has joined #ruby
<zzla> yes
<darix> mpg123 devel package
<zzla> np
<zzla> no*
<darix> then install that
<zzla> apt-get install mpg123-devel ?
<craysiii> you installed libmpg123-dev ?
eightlimbed has joined #ruby
<zzla> yes
<morfin> autotools is huge POS
<zzla> the libmpg123-dev
<zzla> is that the package you were referring to, darix ?
<darix> zzla: yes
<darix> morfin: why do you care about autotools at all? shouldnt it contain a configure script already?
ledestin has joined #ruby
andikr has quit [Remote host closed the connection]
<zzla> hm
bilal80 has left #ruby [#ruby]
deepredsky has quit [Ping timeout: 240 seconds]
tomphp has quit [Ping timeout: 248 seconds]
tomphp has joined #ruby
<zzla> ok so i installed portaudio19-dev, and it seemed to install properly
<darix> zzla: next time read the actual error messages
Guest90 has joined #ruby
<zzla> rite
wald0 has joined #ruby
<zzla> now im here
<zzla> after running the soundcloud2000 command, that is
wald0 has quit [Client Quit]
<zzla> hm
<zzla> maybe curses is a gem
<darix> well
<darix> the soundcloud2000 gem depends on it
<darix> so gem install should have installed it
<darix> if not
<zzla> got it!
<zzla> yep, i used gem install curses
<darix> gem install it
<zzla> it worked
<zzla> thanks for you assistance, guys
Dimik has joined #ruby
Guest90 has quit [Read error: Connection reset by peer]
guille-moe has quit [Ping timeout: 258 seconds]
<zzla> hm
<zzla> now its giving me another error
<zzla> this is likely not a ruby error
deepredsky has joined #ruby
lexruee has quit [Ping timeout: 248 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #ruby
lexruee has joined #ruby
quobo has quit [Quit: Connection closed for inactivity]
deepredsky has quit [Ping timeout: 250 seconds]
neo95 has joined #ruby
deepredsky has joined #ruby
blackmesa1 has joined #ruby
anisha has quit [Quit: This computer has gone to sleep]
deepredsky has quit [Ping timeout: 250 seconds]
cschneid_ has joined #ruby
cschneid_ has quit [Remote host closed the connection]
Technodrome has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
cdg has joined #ruby
David_H_Smith has joined #ruby
workmad3 has joined #ruby
deepredsky has joined #ruby
workmad3 has quit [Ping timeout: 268 seconds]
oetjenj has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
oetjenj has joined #ruby
cdg has quit [Ping timeout: 255 seconds]
oetjenj has quit [Client Quit]
oetjenj has joined #ruby
oetjenj has quit [Client Quit]
deepredsky has quit [Ping timeout: 248 seconds]
mooe_ has joined #ruby
Nicmavr has joined #ruby
<RickHull> leitz: is there a reference for how careers work? it looks to me like it's much more complicated than what you have coded so far
Nicmavr is now known as Guest84051
<RickHull> leitz: it looks like the mongoose SRD is an open reference, so much more amenable to programming against
michael1 has quit [Ping timeout: 260 seconds]
ur5us has joined #ruby
deepredsky has joined #ruby
<leitz> RickHull, I'm moving to Cepheus Engine, which is mostly "pay what you want". However, to see the complexity of the tasks you can look at http://www.traveller-srd.com/high-guard/creating-a-navy-character/
tomphp has quit [Read error: Connection reset by peer]
<RickHull> ok, so the SRD is an acceptable reference?
quobo has joined #ruby
<leitz> I currently ignore a lot of this because I make up stuff story wise. Yup, that SRD will cover 90%+ of the challenges.
tomphp has joined #ruby
<RickHull> it looks like there are lots of rolls / checks to even enlist in a career, complete the term, etc
<RickHull> do you have functionality for this, that I'm not seeing?
<leitz> Yup. I skip a lot because if the character appears in the game or the story then the survived.
<leitz> Lemme give a high level thought process. If you don't "get it' holler; it's my inability to explain.
<RickHull> hm -- so are you trying to replicate the career progression in the character generation?
<RickHull> i.e. the mechanics? that's the interesting part to me :)
danielpclark has quit [Remote host closed the connection]
<leitz> I'll tell a story and include "Jane the Marine Commando" by reference. Did this with Kel, code name Psycho. The player decided the one off encounter was the love of his life so I started making back-story for her.
deepredsky has quit [Ping timeout: 268 seconds]
<leitz> I'm working on the second book.
<RickHull> so is this just a writing tool, not something that actually simulates the gameplay?
<leitz> Mechanics; I "roll" up a character with Name, UPP, Career, and skills. Later milestones: 1. Save data. 2. Web UI that can edit data.
tomphp has quit [Ping timeout: 255 seconds]
<leitz> The task of replicating actual character creation is well beyond my current skill. I generalize.
<RickHull> it's not clear what you intend by giving a character a career -- if you're not doing the rolls for enlistment / commission / advancement
<leitz> In the game the character might get 1-9 or so skills per term or year, plus enemies, life-events, etc. I average 2 skills per year, promote based off time in service, and come up with life events as needed.
<RickHull> it looks like you want a small subset of the mechanics?
ramfjord has joined #ruby
deepredsky has joined #ruby
<leitz> Small subset, yet. In the SRD you run the character through a career and they are modified either in 4 or 1 year terms, depending on the version of the game. I just add stuff once.
<RickHull> so you have an alternate set of simplified mechanics?
<RickHull> how do you know if you're doing it right?
<RickHull> versus a programming bug?
<leitz> Yup, Career and Character tools.
<leitz> I've been playing this game since 1978. Have some of it figured out.
<leitz> Code bugs are more likely.
<RickHull> when you have a skill listed as "+1 dex" -- it looks like that will never be "applied" programmatically
tomphp has joined #ruby
<leitz> It will. Run ruby -Ilib bin/chargen.rb -t 300 and the UPP should have a lot of high Hex numbers. Anything above C has been modified.
<RickHull> in any case, I think I nailed down the character gen, short of the career
<leitz> Have you pulled this morning's code?
<RickHull> i've looked at some of it
<apeiros> RickHull: iirc there was code to apply "+1 dex"
<apeiros> but IMO that should just be a Stats struct with actual numbers
<leitz> Not a lot of deep change. More tests and some odds and ends.
<apeiros> and a career should have a stats_modifier which is also a stats struct
<leitz> apeiros, the UPP (stats) is already slated to become a hash.
<leitz> Issue #49.
<RickHull> i'm interested in replicating the career mechanics -- but I don't grok the simplified version
<apeiros> leitz: what are the 6 stats again?
<apeiros> the names I mean
<leitz> Strength Dexterity Endurance Intelligence Education Social Status.
<leitz> With a rare 7th Stat: Psionic skill rating.
Violex has joined #ruby
eightlimbed has quit [Ping timeout: 268 seconds]
<apeiros> whoops, forgot to finish the example
<leitz> RickHull, the simplified version takes a number of terms and does two basic things. For (terms / 2) +1 gives one each cash and stuff muster out benefit.
<leitz> Hang on, code directories changed. Let me post.
<RickHull> i think I prefer the real mechanics :)
tomphp has quit [Ping timeout: 248 seconds]
<RickHull> i'm satisfied with the initial chargen and working on careers now :)
neo95 has quit [Quit: This computer has gone to sleep]
<leitz> RickHull, that's 'cause you can code them. :)
neo95 has joined #ruby
pwnd_nsfw has quit [Ping timeout: 240 seconds]
pwnd_nsfw has joined #ruby
<apeiros> leitz: https://gist.github.com/apeiros/807be6640d3ea4af6607e367f17de3dc updated and fixed mishap with social status
<leitz> Each career adds its own skill and muster out lists. Some careers have ranks, etc.
<RickHull> one thing that will help your effort is to think about the data model -- if strength stat is an integer, represent it with an integer. you can display it as a hex string as needed
<apeiros> that's what I'd do for the numeric stats. makes a lot of things easier than parsing strings.
deepredsky has quit [Ping timeout: 248 seconds]
<RickHull> particularly if you will do math against it
<leitz> apeiros, why a struct vice a hash? And yes, it's going to use int values underneath. The who back and forth with strings bothered me.
<apeiros> leitz: because stats.strength is IMO nicer than stats[:strength]
<apeiros> additionally stats[:strenght] can't accidentally happen (typo)
<RickHull> stats.fetch(:strength)
<apeiros> and stats[:strength], stats["strength"], stats[0] are all still possible too
<apeiros> RickHull: more work for no gain :-p
<apeiros> if you have fixed members -> Struct >>> Hash IMO.
<apeiros> also perf & mem, but those don't matter at all in this use-case.
miskatonic has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<leitz> Okay, I need to look at that. Cleaner code is nicer code.
<leitz> And I like C structs, to the level that I understand them.
tomphp has joined #ruby
<apeiros> well, ruby structs are in a way simpler than C structs, as the members don't have a type. otoh you can also consider it as more complex because it means you have to know the type :)
<apeiros> and they're more complex than C structs in that they're actually classes which can have fully fledged methods (see ::random and #+ in the gist)
<leitz> In this case it will be itsy bitsy unsigned Int.
alan_w has quit [Quit: WeeChat 1.9.1]
xlegoman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<apeiros> raaaah, new orville episode isn't out yet :<
<leitz> apeiros, I don't get lines 6-15.
alan_w has joined #ruby
<apeiros> leitz: what part of it?
<leitz> So, you're defining a + method inside the struct, and then a class inside that, and then manipulating the values (?)?
ta_ has quit [Read error: Connection reset by peer]
tomphp has quit [Client Quit]
<apeiros> I don't define a class, no
ta_ has joined #ruby
<leitz> self.class.new
<leitz> ?
<apeiros> I do Stats.new(self.strength+other.strength, …)
<apeiros> self.class within an instance method of Bar will evaluate as Bar
<apeiros> x = Bar.new; x.class # => Bar
<apeiros> and within an instance method, instead of x, we have self. self.class is the class from which the current object was constructed. in our case: Stats
<apeiros> so self.class.new -> Stats.new
<leitz> If we did "Jane" = Character.new and had the Stats struct as a part of initialize, could we set/get with Jane.Stats.strength ?
goyox86_ has joined #ruby
enterprisey has quit [Ping timeout: 240 seconds]
<apeiros> leitz: yupp
<apeiros> though I'd call it stats, not Stats :)
<leitz> Acutally, "upp"
<apeiros> class Character; def initialize; @stats = Stats.random; end; attr_reader :stats; end
<apeiros> yes, upp
<apeiros> or short: yupp
michael1 has joined #ruby
<leitz> hehe...
<apeiros> ;-)
<leitz> Cool. Part of yesterday's discussion was that I separate initialize from generation. Not sure RickHull thinks that's the best idea but it works for the use cases I currently have.
<apeiros> I'd be strongly in favor of having generation separated from initialize
<leitz> With upp as a struct I don't see a big issue in keeping that. For the moment, anywya.
<apeiros> especially because it'll make loading from db a lot easier
<leitz> yupp. But I'm using the same Character class for both major characters (with more data points) and minor characters.
<apeiros> tho granted, deserialization should probably happen through allocate + instance_eval. as messy as it sounds.
x77686d has quit [Quit: x77686d]
blackmesa has joined #ruby
<leitz> Turning upp might be the next few hours. It'll be easier to do now than when more code is added for differnet bits.
blackmesa1 has quit [Ping timeout: 240 seconds]
<leitz> Although RickHull's comment about open classes got me thinking. Would this work as a process:
tomphp has joined #ruby
tvw has joined #ruby
<leitz> Dang, still can't explain it well.
<leitz> Needs more thinking.
<apeiros> open classes mostly just means "I can add methods to a class at any place in my code"
<leitz> The present case is that Noble < Career, such that most of the methods are common and Noble pulls unique skill and stuff lists.
<apeiros> and the corollary to that is "I can add methods to classes I didn't write myself (such as Array, Hash etc.)"
deepredsky has joined #ruby
<leitz> Trying to figure out if making a Noble just extend Character can work with being a sub-class of Career.
dionysus69 has quit [Ping timeout: 240 seconds]
<leitz> Other class groups, like "Presenter", will take the character (data) and output it. Or input it into sql/json, etc.
Cohedrin has joined #ruby
<leitz> An issue has been "How to run a character through multiple careers?"
x77686d has joined #ruby
deepredsky has quit [Ping timeout: 240 seconds]
JBbanks_ has quit [Quit: Ex-Chat]
<leitz> That was the hope for yesterday's work. DIdn't quite pan out, but I'm still thinking on it.
JBbanks has joined #ruby
enterprisey has joined #ruby
tomphp has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
roshanavand has quit [Quit: Leaving]
jottr has quit [Ping timeout: 252 seconds]
<leitz> Okay, time for a walk, and then refactoring upp to a struct. Maybe not quite so fancy, but works and passes tests.
zzla has left #ruby [#ruby]
VeryBewitching has joined #ruby
larcara has quit []
<apeiros> leitz: changes through multiple careers are cumulative?
<apeiros> also isn't there like a word for "run through a career"? :D
dionysus69 has joined #ruby
deepredsky has joined #ruby
emerson has quit [Quit: WeeChat 1.9.1]
emerson has joined #ruby
drowze has quit [Ping timeout: 248 seconds]
<leitz> apeiros, all changes are cumulative. Later on there's an "aging" thing where us old folks lose stats.
<leitz> Hitting the road. rah...
<apeiros> leitz: then I'm not sure what's the problem :D
deepredsky has quit [Ping timeout: 240 seconds]
ek926m has joined #ruby
someuser has joined #ruby
tomphp has joined #ruby
deepredsky has joined #ruby
jamesaxl has quit [Read error: Connection reset by peer]
synthroi_ has quit []
miskatonic has joined #ruby
x77686d has quit [Quit: x77686d]
jamesaxl has joined #ruby
ldnunes has quit [Quit: Leaving]
xlegoman has joined #ruby
deepredsky has quit [Ping timeout: 240 seconds]
ek926m has quit [Ping timeout: 260 seconds]
tpendragon has quit [Ping timeout: 252 seconds]
michael1 has quit [Ping timeout: 240 seconds]
Violex has quit [Quit: Leaving]
deepredsky has joined #ruby
Cohedrin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jottr has joined #ruby
enterprisey has quit [Ping timeout: 240 seconds]
bloodycock has quit [Ping timeout: 240 seconds]
AxelAlex has joined #ruby
cdg has joined #ruby
AxelAlex has quit [Client Quit]
sammi` has quit [Quit: Lost terminal]
deepredsky has quit [Ping timeout: 248 seconds]
x77686d has joined #ruby
ams__ has quit [Quit: Connection closed for inactivity]
cadillac_ has quit [Ping timeout: 248 seconds]
cdg has quit [Ping timeout: 258 seconds]
sammi` has joined #ruby
Cohedrin has joined #ruby
ur5us has quit [Remote host closed the connection]
ur5us has joined #ruby
dionysus69 has quit [Ping timeout: 240 seconds]
cadillac_ has joined #ruby
minimalism has joined #ruby
rfoust has quit [Read error: Connection reset by peer]
ur5us has quit [Remote host closed the connection]
lele has quit [Ping timeout: 258 seconds]
ur5us has joined #ruby
rfoust has joined #ruby
nofxx has quit [Remote host closed the connection]
cadillac_ has quit [Read error: Connection reset by peer]
lele has joined #ruby
nofxx has joined #ruby
deepredsky has joined #ruby
nchambers has joined #ruby
ur5us has quit [Ping timeout: 255 seconds]
deepredsky has quit [Ping timeout: 255 seconds]
JBbanks has quit [Ping timeout: 240 seconds]
cadillac_ has joined #ruby
cadillac_ has quit [Read error: Connection reset by peer]
lamduh has joined #ruby
Burgestrand has joined #ruby
dstrunk has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lamduh has quit [Quit: Leaving]
tomphp has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
benlieb has joined #ruby
Burgestrand has quit [Quit: Closing time!]
goyox86_ has quit [Quit: goyox86_]
mim1k has joined #ruby
zapata has quit [Read error: Connection reset by peer]
zapata has joined #ruby
<morfin> hmm what a heck
<morfin> if i run /home/morfin/webapps/crm_openproject/gems/gems/passenger-5.1.12/bin/passenger-config compile-agent where does it compile?
<morfin> i thought there should be buildout dir with module
mim1k has quit [Ping timeout: 240 seconds]
reber has quit [Remote host closed the connection]
ghormoon has quit [Ping timeout: 246 seconds]
nopoliti1 has quit [Quit: WeeChat 1.9]
nopolitica has joined #ruby
deepredsky has joined #ruby
ghormoon has joined #ruby
michael1 has joined #ruby
Ltem has quit [Quit: Leaving]
ShekharReddy has quit [Quit: Connection closed for inactivity]
eckhardt has joined #ruby
deepredsky has quit [Ping timeout: 268 seconds]
mim1k has joined #ruby
deepredsky has joined #ruby
baweaver is now known as baweaver_away
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
mim1k has quit [Ping timeout: 240 seconds]
quobo has quit [Quit: Connection closed for inactivity]
miskatonic has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
zapata has quit [Read error: Connection reset by peer]
Guest31287 has joined #ruby
zapata has joined #ruby
<leitz> apeiros, RickHull, one use case is providing data like this: http://reuel.net/game/tdw/marston_family.html
Guest31287 has quit [Remote host closed the connection]
<leitz> Another would be a web URL to edit the datastore. That page is hand coded html. :)
Guest31287 has joined #ruby
mooe_ has quit [Quit: Connection closed for inactivity]
<apeiros> leitz: I guess you're really excited about those parametrized AI generated portraits? :D
<leitz> Those were hand done as well, I'm worse at graphics than coding. :)
sklvch_ has joined #ruby
<sklvch_> hello
zapata has quit [Read error: Connection reset by peer]
zapata has joined #ruby
deepredsky has quit [Ping timeout: 248 seconds]
mostlybadfly has quit [Quit: Connection closed for inactivity]
kitsunenokenja has joined #ruby
<leitz> sklvch_, it is usually more useful to ask a question. Smart folks here, steward their time well.
sklvch_ has left #ruby ["WeeChat 1.9.1"]
nofxx has quit [Read error: Connection reset by peer]
nofxx has joined #ruby
<leitz> Well, that was cool. I thought multiple careers might work some day. Looks like today is that day since it already works.
baweaver_away is now known as baweaver
cadillac_ has joined #ruby
<leitz> Time to bite the bullet and do the struct.
conta2 has joined #ruby
bodie_ has quit [Ping timeout: 240 seconds]
zapata has quit [Read error: Connection reset by peer]
Technodrome has joined #ruby
zapata has joined #ruby
safetypin has joined #ruby
selim has quit [Ping timeout: 248 seconds]
selim has joined #ruby
conta2 has quit [Ping timeout: 240 seconds]
zapata has quit [Read error: Connection reset by peer]
zapata has joined #ruby
sent-hil has joined #ruby
Technodrome has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bloodycock has joined #ruby
muelleme has joined #ruby
ur5us has joined #ruby
Technodrome has joined #ruby
mooe_ has joined #ruby
VeryBewitching has quit [Quit: Konversation terminated!]
ElDoggo has joined #ruby
drowze has joined #ruby
eckhardt has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ElDoggo has quit [Client Quit]
quobo has joined #ruby
ur5us has quit [Remote host closed the connection]
gr33n7007h has joined #ruby
benlieb has quit [Quit: benlieb]
gr33n7007h is now known as al2o3-cr
eckhardt has joined #ruby
michael1 has quit [Ping timeout: 248 seconds]
dstrunk has joined #ruby
code_zombie has joined #ruby
michael1 has joined #ruby
drowze has quit [Ping timeout: 248 seconds]
tvw has quit [Remote host closed the connection]
goyox86_ has joined #ruby
goyox86_ has quit [Client Quit]
sepp2k has quit [Quit: Leaving.]
jamesaxl has quit [Quit: WeeChat 1.9.1]
cdg has joined #ruby
bloodycock has quit [Ping timeout: 248 seconds]
mostlybadfly has joined #ruby
ramfjord has quit [Ping timeout: 240 seconds]
biberu has quit []
Guest31287 has quit [Quit: WeeChat 1.4]
cdg has quit [Ping timeout: 250 seconds]
pilne has joined #ruby
safetypin has quit [Quit: ZZZzzz…]
jrafanie has joined #ruby
rainbowz has joined #ruby
<morfin> hm
jrafanie has quit [Client Quit]
<morfin> i just wanted follow common practice on this host
dstrunk has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<morfin> i can say "f**k this" in any moment and run Puma
Cohedrin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Technodrome has quit [Remote host closed the connection]
<morfin> shared hosting is evil
claudiuinberlin has quit [Quit: Textual IRC Client: www.textualapp.com]
safetypin has joined #ruby
muelleme has quit [Ping timeout: 240 seconds]
neo95 has quit [Quit: Leaving]
tomphp has joined #ruby
workmad3 has joined #ruby
RickHull has quit [Ping timeout: 260 seconds]
DLSteve has quit [Quit: All rise, the honorable DLSteve has left the channel.]
michael3 has joined #ruby
workmad3 has quit [Ping timeout: 268 seconds]
goyox86_ has joined #ruby
safetypin has quit [Quit: ZZZzzz…]
michael1 has quit [Ping timeout: 250 seconds]
leitz has quit [Quit: Nappy time]
<darix> morfin: you can run puma and bind it to a unix domain socket
<darix> and access that socket from apache or nginx
jaruga has quit [Quit: jaruga]
Cohedrin has joined #ruby
<Ober> w
thinkpad has joined #ruby
<morfin> i know )
<morfin> i am wondering which phusion-passenger works with Ruby 2.4.1?
<morfin> i tried passenger-5.1.12 but it seems to be broken for me
michael3 has quit [Ping timeout: 268 seconds]
DoubleMalt has joined #ruby
mim1k has joined #ruby
goyox86_ has quit [Quit: goyox86_]
mim1k has quit [Ping timeout: 268 seconds]
carp3120 has joined #ruby
lele has quit [Ping timeout: 264 seconds]
David_H__ has joined #ruby
yabbes has joined #ruby
David_H_Smith has quit [Ping timeout: 248 seconds]
waveprop_ has left #ruby [#ruby]
Antiarc has quit [Remote host closed the connection]
lele has joined #ruby
bloodycock has joined #ruby
Antiarc has joined #ruby
bloodycock has quit [Excess Flood]
bloodycock has joined #ruby
guardianx has joined #ruby
Mia has quit [Read error: Connection reset by peer]
tpendragon has joined #ruby
waveprop has joined #ruby
blackmesa1 has joined #ruby
blackmesa has quit [Ping timeout: 250 seconds]
guardianx has quit []
tomphp has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
workmad3 has joined #ruby
kitsunenokenja has quit [Ping timeout: 250 seconds]
workmad3 has quit [Ping timeout: 268 seconds]
tomphp has joined #ruby
mim1k has joined #ruby
<darix> morfin: you want 5.1.12
c0ncealed has quit [Remote host closed the connection]
mim1k has quit [Ping timeout: 240 seconds]
c0ncealed has joined #ruby