solnic changed the topic of #rom-rb to: Ruby Object Mapper | Mailing List: https://groups.google.com/forum/?fromgroups#!forum/rom-rb | Logs: http://irclog.whitequark.org/rom-rb
jessekempf has quit [Quit: Leaving.]
mbj has joined #rom-rb
snusnu has quit [Ping timeout: 256 seconds]
snusnu has joined #rom-rb
langitbi1u has joined #rom-rb
cored has quit [Ping timeout: 264 seconds]
mbj has quit [Quit: leaving]
jessekempf has joined #rom-rb
snusnu has quit [Ping timeout: 248 seconds]
snusnu has joined #rom-rb
snusnu has quit [Quit: Leaving.]
<dkubb> jessekempf: a simpler way to state what zombie does is that it copies mutant to a new namespace, and then runs from that so that it can safely mutate Mutant and it's dependencies. otherwise it could mutate something that it's using, and mess up or crash, etc
<dkubb> jessekempf: it's kind of like sandboxing mutant so that it can safely run against itself
<dkubb> one of my pet peeves, and I think this goes for others here, is when a tool doesn't pass with itself. like when a code quality tool is poorly written. mutant was harder to get to this point where it can self-mutate, so there is a bunch of code written without it, but that'll be changing soon
<jessekempf> dkubb: that's about what I gathered. Good to know I understood it correctly.
<jessekempf> "Sandbox" is a more understandable term than "Zombie". I'd first thought that Zombification had something to do with the way mutant does mutations and had no idea how that could be from looking at the code.
<dkubb> I don't know exactly where mbj got the name from
<dkubb> I think the idea is to eventually make it generic, so you can take any class heirarchy (or hierarchies), and "move" them inside a randomly generated namespace
<dkubb> I don't know what use it'll be outside of mutant
langitbi1u has quit [Ping timeout: 245 seconds]
langitbiru has joined #rom-rb
knowtheory has quit [Quit: Computer has gone to sleep]
langitbiru has quit [Ping timeout: 246 seconds]
langitbi1u has joined #rom-rb
solnic has joined #rom-rb
mbj has joined #rom-rb
solnic has quit [Quit: Leaving...]
solnic has joined #rom-rb
zekefast has joined #rom-rb
zekefast has quit [Quit: Leaving.]
langitbi1u has quit [Ping timeout: 268 seconds]
langitbi1u has joined #rom-rb
langitbi1u has quit [Ping timeout: 256 seconds]
langitbi1u has joined #rom-rb
<mbj> dkubb: https://gist.github.com/mbj/6068670 can you reproduce this crash?
<mbj> solnic: Can you reproduce this https://gist.github.com/mbj/6068670
<mbj> Gibheer: Pls reproduce, if you can https://gist.github.com/mbj/6068670
<Gibheer> mbj: with jruby?
<solnic> mbj: busy
<mbj> solnic: np
<mbj> Gibheer: jo
<Gibheer> mbj: no crash on jruby 1.7.2 (1.9.3p327) 2013-01-04 302c706 on OpenJDK 64-Bit Server VM 1.7.0_40-b31 +indy [linux-amd64]
<mbj> Gibheer: chance to test under jruby-1.7.4
<mbj> Gibheer: ?
<Gibheer> downloading at the moment
<mbj> Gibheer: thx
<Gibheer> crashes with 1.7.4 binary
zekefast has joined #rom-rb
<mbj> Gibheer: Okay
<mbj> Gibheer: thx
<mbj> Gibheer: Oracle or Open JDK ?
<Gibheer> openjdk
<mbj> Gibheer: same with me. thx.
langitbi1u has quit [Ping timeout: 256 seconds]
postmodern has quit [Quit: Leaving]
solnic has quit [Quit: Leaving...]
solnic has joined #rom-rb
langitbiru has joined #rom-rb
snusnu has joined #rom-rb
knowtheory has joined #rom-rb
<snusnu> yo mbj
<snusnu> mbj: is that substation crashing or ducktrap?
<mbj> snusnu: jruby :D
<mbj> snusnu: clone and run pls https://gist.github.com/mbj/6068670
langitbiru has quit [Quit: leaving]
snusnu has quit [Quit: Leaving.]
zekefast has quit [Quit: Leaving.]
cored has joined #rom-rb
snusnu has joined #rom-rb
<snusnu> mbj: i only have java 6 installed
<snusnu> mbj:
<snusnu> mungo:shared snusnu$ git clone https://gist.github.com/6068670.git
<snusnu> Cloning into 6068670...
<snusnu> error: RPC failed; result=22, HTTP code = 400
<snusnu> fatal: The remote end hung up unexpectedly
<snusnu> mbj: no crash
<kapowaz> hey… presumably somebody here uses ruby-2.0.0 on OS X 10.8?
<kapowaz> *through rbenv
<kapowaz> I've been unable to build ruby-2.0.0 this way…
<kapowaz> well, I've been able to get 2.0.0-p0
<kapowaz> I think this machine's rbenv/homebrew setup was somewhat screwy
solnic has quit [Quit: Leaving...]
mbj has quit [Ping timeout: 256 seconds]
<cored> kapowaz why not use rvm ?
<kapowaz> rbenv > rvm
<kapowaz> SO I AM TOLD
<kapowaz> I changed from using rvm to using rbenv because $REASONS a while back.
<kapowaz> I forget what $REASONS were.
<cored> he
<cored> well, I use rvm without any issue
<cored> in fact I think I use rbenv in the past and did not get satisfy with it
<kapowaz> well, one must always try and get satisfy :)
cored has quit [Ping timeout: 246 seconds]
cored has joined #rom-rb
cored has joined #rom-rb
<dkubb> I use rvm just fine
<Gibheer> kapowaz: as an alternative - https://github.com/postmodern/ruby-install
<dkubb> I know everyone has their own preference
<dkubb> I just use whatever works. tbh, I don't care which one I use as long as I can easily install and switch ruby versions as needed
<Gibheer> as long as it works, everything is good
<cored> dkubb: I'm with you on that
<Gibheer> I only switched from rvm to chruby because I was building rbx myself all the time and did a rm -rf ~/.rvm every two months :/
<dbussink> settled on chruby, basically because it best fits my needs
<dbussink> but my needs are not the most standard ones :)
<Gibheer> dbussink: only for people working on the implementations ;)
<kapowaz> one thing I've never quite understood is the point of gemsets with rvm
<kapowaz> surely that's the problem bundler solves?
<dbussink> afaik that feature was there before bundler was really usable
<kapowaz> I see.
<kapowaz> but where it gets more confusing is Jamis Buck then made https://github.com/jamis/rbenv-gemset
<cored> I don't think that's the proble bundler solves
<cored> bundler solves the dependency managment on a project
<cored> gemsets is for having gems in isolation
<kapowaz> but what's the value of that?
<cored> for me is just to not have a lot of gem's when I do gem list :-P
<cored> just to see a minimal amount on the list
snusnu has quit [Quit: Leaving.]
<kapowaz> that's about the only reason I can think of
<kapowaz> but I am not really sure that's a good reason to have a whole tool installed :)
snusnu has joined #rom-rb
<snusnu> mbj, dkubb: i don't have time now, but i wanted to point you to a new mutation mutant master produced with substation: https://travis-ci.org/snusnu/substation/jobs/9436925#L544
<snusnu> looks a bit weird, nil::EMPTY seems to be valid, but yeah ....
<snusnu> bbiab
<dkubb> snusnu: I think you could probably change that to just EMPTY and it would continue to work
<cored> dkubb: I saw some hilights on the WIP for the refactoring inside axiom
<dkubb> cored: oh which one?
<cored> dkubb: do you hae a table for the performance numbers or something, you said now is slower
<cored> maybe I'm confuse let me check
<dkubb> cored: I think I may have been mistaken
<cored> I think I'm the one mistaken
<cored> Axiom::Relation
<cored> Change materialized relations to be mutable
<dkubb> although I do think there's one further thing to do with type inference.. right now we use *all* the Axiom::Types::Type subclasses, when we really should be using the "primitive" named types only
therabidbanana has joined #rom-rb
<cored> but isn't the use of those types happening because of checking for the type inside axiom ?
<cored> when the include? thing happens
<dkubb> lemme check
<cored> I see
dbussink has quit [Read error: Operation timed out]
<dkubb> there's also the numeric types inference
<cored> I was checkng another thing
dbussink has joined #rom-rb
<dkubb> for the most part I think the comments that are visible in https://github.com/dkubb/axiom/pull/36 are still valid
knowtheo1y has joined #rom-rb
<dkubb> what I was thinking about doing was having a Types::Type.base_types method (or something, I don't know a good name) that would only return the built-in type subclasses, not the constrained ones
<cored> I have to try to check axiom everything for this
<cored> because I'm losing context
<dkubb> ahh ok
<dkubb> cored: is it a bit overwhelming?
<cored> I will check axiom today for sure to keepworking on this
knowtheory has quit [Ping timeout: 264 seconds]
<cored> in fact is kinda fun
<cored> :-)
<dkubb> hehe
<dkubb> what I normally do in these cases, is I go through the comments in a PR and the ones I can bang out right away I just take care of them
<cored> will follow that advise
<dkubb> github will remove comments on changed code, so the only thing left will be the bigger ones
<dkubb> then I just go through and pick the ones that I understand and leave the harder ones until later
<cored> interesting approach
<dkubb> there's no point in getting hung up on something
<dkubb> momentum is probably the most important things in my oss work. if I get stuck then everything stops
<dkubb> sometimes my brain keeps working on the problem and by the time I get to it, I know how to solve it
<dkubb> or at least there's less noise to deal with so I can focus on just the one thing
<cored> yes, I also want to keep learning about rom ecosystem and try to contribute on others part too
<dkubb> I'm going to be working on another PR in axiom today, the one to make materialized relations mutable
<dkubb> one tip I might offer for the types refactor PR, see the one above and how I used the todo list? I find that really useful in breaking down what needs to be done
<cored> that's the one I got a notification and got confuse
<cored> I think there's where you mention that there is a performance problem
<cored> yes
<cored> I saw that, quite cool
<dkubb> if you want I could start one for the types refactoring
<dkubb> so at least it's clear what still needs to be done
<dkubb> we can edit and tweak it too
<cored> yes
<cored> please
cored has quit [Ping timeout: 256 seconds]
cored has joined #rom-rb
cored has joined #rom-rb
<dkubb> cored: ok, I added a list of all the items in https://github.com/dkubb/axiom/pull/36
<dkubb> cored: part of this process is to offload as much as possible to the types, which most of these points move us towards
<dkubb> I knew that during this conversion process we'd discover a few blind spots in axiom-types, which is fine
<dkubb> I suspect we'll see the same thing when we update virtus to use it too
<dkubb> this always happens when you extract and generalize something from another lib. when you go back to integrate it with the lib you notice some things you missed, or things you didn't think about
<cored> dkubb: great
<dkubb> also the previously tighter coupling hides things that become obvious when you integrate the two (now) loosely coupled parts
<cored> I will start checking the entire list this afternoon
<dkubb> cored: feel free to add/remove/edit anything in the list. it's not meant to be a static list.. I can miss things or be wrong ;)
<cored> got it
<dkubb> fyi: https://twitter.com/jessenoller/status/355757374906183680 .. I just took them up on the offer
<dkubb> we can host some of our dynamic stuff there
<dkubb> like the status page
<dkubb> and any tools or reports we generate
jessekempf has quit [Quit: Leaving.]
<cored> awesome
<dkubb> this is pretty interesting: http://www.infoq.com/presentations/Bandicoot .. this works very similarly to how axiom does
postmodern has joined #rom-rb
jessekempf has joined #rom-rb
zekefast has joined #rom-rb
mbj has joined #rom-rb
<mbj> dkubb: happy bday!
jessekempf has quit [Quit: Leaving.]
<dkubb> mbj: thanks!
<dkubb> mbj: I think that and/or mutator is ready for review whenever you get a chance
<mbj> dkubb: already merged it :D
<dkubb> oh sweet
<dkubb> been working on axiom-optimizer this morning so I hadn't looked
<dkubb> I'm making the changes to get it ready for a mutable materialized relation, and I started to clean it up first
<dkubb> upgrade the deps, make it run with warnings and the new rspec, fix rubocop warnings, etc
<dkubb> I run rubocop against the specs even, so that generates a lot of output
<postmodern> mbj, so what do you use instead of mime-types?
<postmodern> mbj, im working on some ugly code that extracts and caches assets, but i need to determine the file extension, so i can serve them back up with the correct Content-Type
<dkubb> postmodern: I use filemagic to identify the type of file by it's contents, then use that to get the mime type
<mbj> postmodern: rolled my own minimal mimes implementation. Only the types I need for myself: https://github.com/mbj/assets/blob/master/lib/assets/mime.rb
<mbj> postmodern: Does not support any magic.
<mbj> I only improved the sharpness of the api, my stuff is not really comparable to mime-types.
<postmodern> dkubb, unfortunately that fails for packed CSS/js
<dkubb> ahh I see
<dkubb> postmodern: if it fails you could always fallback to extension sniffing
<postmodern> well most of these assets are on CDNs and have no extensions
<dkubb> ahh
<postmodern> plus i found out mime-types thinks text/javascript doesn't need a file extension
<dkubb> does it handle application/javascript?
<postmodern> dkubb, it does
jessekempf has joined #rom-rb
<postmodern> dkubb, i suspect they favored app/js so they could map .js -> app/js
<postmodern> dkubb, and ignored text/js since it's technically obsolete
<postmodern> but used everywhere
<postmodern> also interesting that browsers technically don't check the Content-Type for script tags
<postmodern> they do enforce it for stylesheets though
<Gibheer> postmodern: what is padrino using for mime type detection?
<postmodern> Gibheer, i think it just lets sinatra serve up the public dir
<postmodern> Gibheer, which i believe does: content_type mime_type(file)
<Gibheer> hmmm
<mbj> postmodern: To put my tweet into a context, I just dont use any real mime type solution. Only some optionated bunch of classes.
<Gibheer> have to find out the mime type in zero too, thats why I'm asking
<mbj> postmodern: But rubies mime-types was just confusing once I tried to use it :D
<postmodern> mbj, ugh it's a mess to
<postmodern> mbj, all the types are loaded from text files, which are scrapped from IANA/RFC websites
<postmodern> mbj, the text files are in lib/ too boot
<postmodern> mbj, i'll probably setup a hash like your custom type set
therabidbanana has quit [Quit: leaving]
therabidbanana has joined #rom-rb
solnic has joined #rom-rb
<solnic> kapowaz: just use ruby-install
<solnic> works for me
<dkubb> I think apache has a standard, easily parsable list you could use
<kapowaz> solnic: that's what I was using and it was failing…
<kapowaz> probably broken setup on the machine in question (it's an iMac provided for me at my current gig, and somebody installed homebrew badly on it)
<dkubb> use virtus to make a class that represents a mime type, and then use the apache list to populate a list of frozen mime types
<Gibheer> dkubb: that is a good idea
<Gibheer> could also be precompiled into a gem
<dkubb> yeah
<dkubb> you could do a bit of code generation
<dkubb> but I would tend to want to vendor the raw mime.types file
<postmodern> dkubb, good find
<dkubb> so that if/when apache changes there I can just update the file
<Gibheer> yeah
<dkubb> if you parse it once at require time, and then store the mime types in a global frozen array the cost will be minimal
<dkubb> or you could index it using a Hash
<Gibheer> will try that tomorrow
<Gibheer> my json stuff gets delivered with text/html :/
<dkubb> oh yeah, that'd be a problem
<dkubb> well, not if you control the client, but the whole reason to deliver stuff via http is so that you don't have to control the client
<Gibheer> right
<jessekempf> dkubb: PR 74's ready for you to look at again
<dkubb> jessekempf: hehe, it looks good to me, I was going to ask mbj about it
<jessekempf> dkubb: Heh. We try to avoid K#kind_of? as much as possible here, but Mutant isn't one of my team's projects, so yeah.
<dkubb> jessekempf: I see kind_of?, is_a? and === (what case uses) all pretty much the same thing
<dkubb> jessekempf: what I would love to see is subclasses of the rspec runner for the different cases so we can eliminate that conditional
<jessekempf> dkubb: or make the Mutant::Killer be parameterized by a simple suite runner, and require that the suite runner trap the output of the test suite. The output policy could then be put in one place.
cored has quit [Ping timeout: 268 seconds]
mbj has quit [Ping timeout: 240 seconds]
<dkubb> ahh yeah
cored has joined #rom-rb
jessekempf1 has joined #rom-rb
jessekempf has quit [Read error: Connection reset by peer]
<cored> dkubb: are you around?
<cored> there a dependency mismatch between axiom-type
<cored> and rubocop
<cored> backports
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] dkubb/axiom#121 (mutable-materialized-relations - 3c41d9b : Dan Kubb): The build has errored.
travis-ci has left #rom-rb [#rom-rb]
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/axiom/builds/9450171
jessekempf1 is now known as jessekempf
<dkubb> cored: oh really? what are you seeing?
<dkubb> cored: try doing a "bundle update" first. axiom-types shouldn't require backports anymore
<cored> dkubb: did that but just for rspec
<cored> let me try it
<cored> be back in a bit
zekefast has quit [Quit: Leaving.]
cored has quit [Ping timeout: 264 seconds]
cored has joined #rom-rb
<cored> /c
<cored> I'm more or less back
<cored> having some weird issues on my home network,