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
<mbj_> postmodern: nope, no issues
<mbj_> going to sleep, cu
mbj_ has quit [Quit: leaving]
cored has quit [Ping timeout: 256 seconds]
jfredett has joined #rom-rb
cobbr2 has quit [Quit: Leaving.]
snusnu has quit [Quit: Leaving.]
knowtheory has quit [Remote host closed the connection]
knowtheory has joined #rom-rb
jfredett has quit [Quit: Leaving.]
knowtheory has quit [Ping timeout: 248 seconds]
knowtheory has joined #rom-rb
postmodern has quit [Quit: Leaving]
philipe has joined #rom-rb
<philipe> \q
philipe has quit [Client Quit]
postmodern has joined #rom-rb
knowtheory has quit [Ping timeout: 246 seconds]
cobbr2 has joined #rom-rb
knowtheory has joined #rom-rb
cobbr2 has quit [Quit: Leaving.]
knowtheory has quit [Ping timeout: 260 seconds]
knowtheory has joined #rom-rb
solnic has quit [*.net *.split]
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] rom-rb/rom-session#75 (master - c0ee86a : Piotr Solnica): The build was broken.
travis-ci has left #rom-rb [#rom-rb]
<travis-ci> [travis-ci] Build details : http://travis-ci.org/rom-rb/rom-session/builds/10150188
postmodern has quit [Quit: Leaving]
knowtheory has quit [Ping timeout: 240 seconds]
knowtheory has joined #rom-rb
knowtheory has quit [Ping timeout: 256 seconds]
knowtheory has joined #rom-rb
cored has joined #rom-rb
knowtheory has quit [Ping timeout: 256 seconds]
solnic has joined #rom-rb
snusnu has joined #rom-rb
knowtheory has joined #rom-rb
snusnu has quit [Quit: Leaving.]
jfredett has joined #rom-rb
kleech has joined #rom-rb
snusnu has joined #rom-rb
kleech has quit [Remote host closed the connection]
kleech has joined #rom-rb
knowtheory has quit [Quit: Computer has gone to sleep]
knowtheory has joined #rom-rb
knowtheory has quit [Quit: Computer has gone to sleep]
knowtheory has joined #rom-rb
mbj has joined #rom-rb
<solnic> mbj, snusnu: rom-mapper runs rake ci on travis now…and passes :)
<mbj> solnic: woohoo!
<mbj> solnic: well done!
<snusnu> solnic: sweet!
<solnic> yet again I could simplify the code and improve tests thanks to mutant
<solnic> I cannot express how awesome this is
<mbj> solnic: nice
kleech has quit [Remote host closed the connection]
<solnic> mbj: just talked to dkubb about that class-freezing
<solnic> he said if you could send a PR…he would accept it
<solnic> he’s super busy with work this week
<solnic> …just like you O_o
<solnic> I guess we could work this out during eurucamp
<solnic> snusnu ^^
<mbj> solnic: I'll *TRY* to send a PR.
<mbj> Need to get this fixed also, get bit by it too often.
<mbj> And thx for pinging him.
<mbj> I also have access to the gem, so I can do a release, IMHO.
<mbj> This is a good change and makes ice_nine a better citizen :D
<solnic> mbj: what I just wrote in the comment
<mbj> solnic: agree, I'll not start this now.
<mbj> solnic: Maybe later.
<mbj> solnic: I like the theory of monkeypatching away dangerous features of ruby. After loading my lib fully.
<snusnu> mbj, solnic: i commented on GH too
<solnic> snusnu: yeah dkubb agreed we should skip freezing classes
<solnic> just waiting for a PR now :)
<snusnu> well, imo the problem is a "conceptually bigger", we should make sure that our tools can limit their impact to exactly the parts of the graph, that we want to .. not step outside of those boundaries
<solnic> yes I raised this concern last year
<snusnu> i dunno if skipping freezing classes is a solution for that
<solnic> when axiom adapter was freezing parts of DO drivers :)
<snusnu> there's equalizer for example
<snusnu> i see no reason why it would deep freeze the values it equalizes on
<snusnu> right
<snusnu> include Adamantium MUST ONLY be used when we know that we own the complete graph
<snusnu> and everything else, MUST NOT deep freeze anything
<solnic> yes I totally agree
<solnic> I’ve no idea what dkubb thinks about it though
<snusnu> well, tbh, read my point about what we're actually doing (my last comment on GH)
<snusnu> i dunno, maybe i got it wrong, but imo it's hard to argue with that point
<solnic> snusnu: did you see my reply re axiom’s equalizer?
<snusnu> solnic: yeah, just saw it, i agree
<snusnu> solnic: but yeah, imo we're not much better than what we complain about (well, currently, until it's fixed)
<solnic> I’m pretty sure dkubb did this just to quickly upgrade to equalizer but he needed adamantium inclusion too so he did the trick with inheriting equalizer and plugging adamantium in automatically
<solnic> so, this code is in a transition mode right now
<snusnu> of course
<solnic> yes I agree
<solnic> it’s very aggressive and I never ever liked that
<solnic> to the point where dkubb and mbj thought I hate adamantium which wasn’t the point
<solnic> I hated the fact it freezes stuff it doesn’t own, I mean the way we use(d) it
<snusnu> yeah me too, it's too invasive, hah, yeah, i remember related sentiments :p
<solnic> yup :)
<solnic> let’s bitch about this in Berlin ;D
<snusnu> it's totally cool to deep freeze what we own, a great way of ensuring immutability, but yeah, once we step out our boundaries, we're essentially doing core extensions
<snusnu> hah yeah!
<snusnu> well, not core extensions, but worse, core modifications
<solnic> yes
<snusnu> the fun thing is, that we modify, in order to not be able to modify anymore
<snusnu> lol
<solnic> yes that’s very abstract lol
<snusnu> hehe
<solnic> I will modify it so you won’t be able to modify it further :D
<snusnu> !
cored has quit [Ping timeout: 248 seconds]
cored has joined #rom-rb
cored has joined #rom-rb
cored has quit [Ping timeout: 264 seconds]
cored has joined #rom-rb
cored has joined #rom-rb
mbj has quit [Quit: leaving]
snusnu has quit [Quit: Leaving.]
<cored> hello
snusnu has joined #rom-rb
mbj has joined #rom-rb
cobbr2 has joined #rom-rb
<mbj> snusnu: planning eurucamp workshop
<mbj> solnic: lets do it her
<mbj> solnic: I dislike to copy informations between two pns :D
<mbj> My idea, pick a bad repo, and explain each tool we use (we'd setup devtools correctly before).
<mbj> We can use some minor stuff from https://github.com/mbj/{request,response,assets,vanguard,inflecto,unparser,esearch,concord,....}
<mbj> All have room to improve.
<mbj> the idea is to introduce each tool we use
<mbj> short
<mbj> executing it on the commandline, while beaming it on the wall
<mbj> We can explain the metrics for each tool on real world code
<mbj> Than we can show the code
<mbj> Explaining why it is bad
<mbj> and how we'd attack it
<mbj> We can also improve stuff
<mbj> for ourselves
<mbj> Once we did an iteration we ask the audience to try for theirselves.
<mbj> We walk around and help
<mbj> The audience will PR
<mbj> The PRs should be as small as possible!
<mbj> So we can discuss them
<mbj> So we should add a github account to the list of requirements, mom
<mbj> ping :D
<solnic> yeah that’s how I imagined that as well
<solnic> sorry I was helping with Ivo
<solnic> mbj: I’d like to use some of the rom repos
<solnic> the code is simple there
<mbj> solnic: +1
<solnic> I’ve got some stuff excluded in reek
<solnic> we could refactor some parts
<mbj> solnic: yeah
<mbj> I imagine the entry barrier for rom might be to high?
<solnic> and some methods are complex causing higher flog score
<solnic> not sure
<solnic> the code is really really simple in rom
<mbj> But TBH, lets just TRY
<solnic> yeah :)
<mbj> I love coaching
<snusnu> nah, not too high, also, it's better for us and everyone else to work on something actually useful, even in a workshop
<solnic> I also think it would be exciting for people to hack o rom
<mbj> Do this at my current clients job all the time.
<mbj> Just coach devs and review PRs with nitpicking :D
<solnic> totally
<solnic> I love that too
<mbj> I love to explain my thoughts an development style over and over again
<mbj> mostly because the explanation improves
<mbj> and I like the moment brains pick it up!
<solnic> what about non-real-code examples?
<solnic> I know from my experience that it’s HARD to come up with such examples
<mbj> Depending on what repo we pick, it will be the first time I "contribute" to rom-* :D
<mbj> solnic: I have very good mutant examples
<mbj> But these are in my clients coe
<solnic> mutant examples as in using mutant code base to show off metric tools?
<mbj> *code
<mbj> mutant IS a metric tool :D
<solnic> dude, I know
<solnic> I’m asking if you’re talking about using mutant code base as an example playground
<mbj> why not
<mbj> problem: zombie is not stable currently
<solnic> or if you’re talking about nice cases for mutation testing
<mbj> dkubb refactored some code, and unparser is not able to reproduce it
<solnic> :D
<solnic> that’s too funny
<mbj> dkubb beat unparser :D
<solnic> ok but do we want to come up with some examples?
<solnic> or just focus on real code?
<snusnu> let's fix equalizer, support super in concord, make adamantium less aggressive, refactor flogged/reeking rom code
<mbj> but undead unparser will strike back soon, giving zomboe some live
<mbj> why not!
<solnic> snusnu: during workshop? :D
<snusnu> whynot?
<mbj> And do this refactoring "guarded with metrics"
<mbj> Why not, yeah.
<solnic> too much work imo
<snusnu> really?
<solnic> requires some background
<solnic> yeah
<snusnu> i'd love it if after the workshop, people had commits in rom
<mbj> That is the reason I purposed mbj/*, request and response are DEAD simple. And we all have enough web backround to get the intent.
<solnic> we can’t do stuff w/o knowing if it’s gonna trigger feedback from tools
<mbj> *intent of this libs.
<solnic> there’s risk it won’t show off anything
<mbj> lets use metrics against rails </rofl>
<snusnu> lol
<solnic> we have 2 hours
<solnic> not 2 decades
<mbj> enough to run flog against rails :D
<solnic> :)
<mbj> Man, I need to find 1 week for mutant
<mbj> making minitest stable and publish rails score, harr harr.
<mbj> *minitest killer
<snusnu> nobody would care
* snusnu ducks
<mbj> lulz
<mbj> I'd care
<snusnu> iknow
<snusnu> :p
<mbj> Do you think I du that stuff four YOUR pleasure snusnu :D
<snusnu> oh you don't?
<mbj> nope, sorry :D
<snusnu> damnit
<mbj> lulz
<mbj> sorry, back to topic
<snusnu> i knew it
<snusnu> heh
<mbj> (its like rails is triggering some aggressivity, deeply hidden in my brain)
<mbj> So, we'll do this "freestyle"
<mbj> Adhoc?
<mbj> I'm good in this.
<mbj> Or should we prepare repo?
<mbj> BTW, I'm drunk already, dont take me tooo serious :D
<mbj> Enjoing beer in munich :D
<snusnu> why not introduce the tools, code one small (but useful) fix for everyone to see and follow (including typical workflow, like PR) .. then offer some useful low hanging fruit, and everyone who takes the chance, should send a PR close to the end of the 2h
<snusnu> and we do the rest of the low hanging fruit "together"
<snusnu> i'd be surprised if for any of the low hanging fruits, all of devtools would be happy on first spike
<snusnu> after that, everyone in the room would've essentially done a successful rom PR, or at least watched closely how it's done
<mbj> snusnu: good
<mbj> so we need to identify that "low hanging fruit"
<snusnu> as i said, already identified reek exclusions and flog threshold in rom, super support for concord, adamantium fix, equalizer fix (the last 2 maybe being a bit too initiated, but yeah who knows)
<snusnu> plus i'm sure we can think of other stuff
<mbj> snusnu: okay
<snusnu> we could just look at our reek configs
<snusnu> all the PRs would of course need to include mutcoved tests
<snusnu> so yeah, i'd guess we'd pretty much exercise all of devtools with any little PR
<snusnu> yardstick ...
<snusnu> there's room for 10 people, assuming not everyone takes up a PR, i'm pretty certain we can come up with ~5-7 low hanging fruit
kleech has joined #rom-rb
<snusnu> btw, i'm leaving for berlin in ~2h so i don't have much time left now
<solnic> snusnu: I agree
<solnic> so you think working on real code is more beneficial and interesting?
<snusnu> i think that if we have simple, "isolated" tasks, the complexity of the rest of the code in the respective project is no real problem .. to the contrary, it might show people that isolated tasks are oftentimes easy, even if they might fear infamiliarity with the project in general
<snusnu> i think so, yes … you get the feeling of having achieved something real
<snusnu> also, having a commit in rom, is, well, having a commit in rom
<snusnu> :p
<snusnu> people could also pair program on any given issue
<cored> hello all
<cored> planning a workshop, seems cool
<cored> you guys should try with me on those low hanging fruits before the workshop
<solnic> yeah that’s actually a good idea cored :)
<cored> also, I was thinking in testing rom today, was wondering something is there a mechanism to switch repositories?
<snusnu> bbiab
<cored> like injecting an actual persistence store instead of the in memory store
<cored> DI if you will
<cored> snusnu: also I think I'm ready to dedicate at least 2 hours on devtools jc
<solnic> cored: you setup repositories inside an environment instance
<solnic> so, that’s your mechanism
<cored> if we are talking about Rails you are saying something like ENV['test'] ?
<cored> it's seems like Sinatra's register stuff is more explicit on that regard, what do you think?
<solnic> cored: ugh no
<solnic> cored: ROM::Environment instance
<solnic> holds registry of repositories, schema and mapped relations
<solnic> how you manage that instance, how you access it, is totally up to you
<solnic> I’m sure somebody will come up with rom-rails
<solnic> that will introduce some conventions
<solnic> mbj: I don’t think a total ad-hoc stuff will work
<solnic> we should pick up which repos we want to work on
<solnic> and we should prepare an introduction to devtools
<solnic> I can put some slides together
<solnic> and really quickly introduce devtools and our development style
<cored> solnic: oh
<cored> solnic: did not know about that
<solnic> cored: in ROM we decided to not use global state for such stuff
<solnic> hence environment object
kleech has quit [Remote host closed the connection]
<solnic> it’s so much better than it was initially with keeping stuff inside global constants
<solnic> it also isolates things in a very clean way
<cored> interesting, will try to build a simple example to test it out
<cored> at least with the in memory adapter at first
<solnic> cored: you could wait until we release first version
<solnic> unless you want to deal with setting up dependencies manually in the gemfile
<solnic> we rely on an unreleased stuff in axiom
<cored> oh, cool then I can wait
<solnic> and axiom memory adapter is not released yet
<solnic> we’ll push it during the weekend
<solnic> during EuruCamp conf
<cored> well I think I'm still open to be the guinea pig
<solnic> which is kinda epic given that we first started talking about DataMapper 2 with snusnu during first edition of EuruCamp 2 years ago heh :)
<solnic> cored: yeah that’s cool too
<solnic> cored: I will put together a demo “app” tomorrow
<solnic> you could use it as a template
<cored> oki doki
<solnic> it’s gonna be really really sweet for reading data already
<solnic> the setup is trivial (and we’ll make it even more trivial)
<solnic> write support is totally experimental but I’d love to hear some feedback already
<cored> I would love to experiment retrieving data from web services as datasources
<mbj> Sorry guys
<mbj> I was invited to a beer by funniy chineese people
<mbj> (sitting in a bar, btw)
<solnic> cored: yeah I want to fetch stuff from github for the demo purposes
<solnic> mbj: cool :)
<solnic> mbj: OK I will try to put something together before Friday
<solnic> I think going through rom’s reek configs is a nice idea
<mbj> solnic: super sorry for droping out of discussion
<solnic> oh we need some uncovered mutations too
<mbj> solnic: no problem :D
<solnic> I could prepare special branches w/o my recent “killer” commits
<mbj> uncovered mutations, I can add more mutation operatiors quite easily
<solnic> nah
<solnic> it’s easier/faster to go back in history and show how this stuff works
<mbj> solnic: okay
<solnic> I prefer to show something I already did
<mbj> solnic: +1
<mbj> (remember, I'm drunk)
<mbj> OMG, eurucamp will end up in a big "Besäufniss"
<mbj> snusnu, pls translate :D
<cored> booze party
<cored> ?
<jfredett> that's the best word
<jfredett> I have ever heard
<jfredett> Besäufniss
<jfredett> what language is that?
<snusnu> booze party pretty much nails it
<snusnu> :p
<snusnu> german
<jfredett> I <3 the germans.
<snusnu> solnic: think of an additional commit you could do, and don't write tests for it
<solnic> snusnu: btw we’re leaving tomorrow in the morning, should be there around 17-18
<snusnu> solnic: why repeat stuff
<snusnu> ;)
<mbj> jfredett: german
<snusnu> solnic: sweet, we're leaving in ~2h or something like that, so we should be awake by then too ;)
<solnic> snusnu: on Thursday we’re going here: http://www.tropical-islands.de/en/
<solnic> and lunch/shopping afterwards
<cored> which is the site for eurocamp
<cored> ?
<solnic> so, we should be back in the early evening
<cored> hehehe
<cored> solnic: I have exactly that where I leave, well more or less at least
<solnic> cored: yeah I know, you lucky bastard :D
<cored> hehehe
<solnic> there are only polar bears where I live
<snusnu> hehe
<cored> s/leave/live
<cored> as soon as the Ruby scene gets bigger, I'll plan a conferece and get you here to give the keynote ;-)
postmodern has joined #rom-rb
<solnic> hah!
mbj has quit [Ping timeout: 246 seconds]
<cored> so solnic will you point me to those low hanging fruits/
<cored> ?
<solnic> cored: hmm
<solnic> snusnu: ^^ ??
mbj has joined #rom-rb
<mbj> back on stable power source
<solnic> cored: you could take a look at reek configs
<solnic> and see at excluded classes/methods
<solnic> some of those *could* be refactored so that reek no longer complains
<mbj> how much people attending the workshop we can handle?
<mbj> currently the limit is set to 10
<solnic> mbj: no idea to be honest
<solnic> it’s my first time :)
<mbj> hah, same here
<mbj> eurucamp people just informed me we can decide for ourselves
<mbj> the room will take more than 10
<solnic> well
<solnic> I think we could set up pairs
<mbj> but I love intense stuff, so we should no try to handle 100 minds at once.
<solnic> so that with 10 people we’d have to handle 5 pairs
<solnic> maybe we could scale up to 12? 14?
<mbj> I'd love to make a slot my wife could occupy, she can also help with setup
<cored> solnic: reek configs on devtools?
<solnic> cored: well no, individual reek configs in rom projects :)
<mbj> so we have additional hands for educating people with basic git.
<cored> oh ok
<mbj> In case there is a person having problems with most basic setup.
<solnic> mbj: basic git?
<solnic> I thought it’s an advanced workshop
<cored> how can I replicate the contribution
<mbj> solnic: people problems with commiting stuff, handling bundle update, running devtools
<mbj> solnic: we expect PRs to review, arent we?
<solnic> yes
<mbj> solnic: just trying to convince my GF to sign up that workshop
<mbj> solnic: dont ruin this :D
<mbj> solnic: she is reading that chat :D
<cored> hehehe
<cored> 'that' or 'this' one :-P
<cored> s/contribution/configuration stuff
<cored> solnic: I'm guessing I just have to run devtools and see the complains of reek, right?
<mbj> solnic: Based on my experiences with current client, I can handle 3-4 pairs.
<solnic> cored: you have to pick one of the excluded methods from the config and then run rake metrics:reek to see its warnings
<solnic> blah. pick and *remove* it :L)
<cored> solnic: oki
<cored> will start with rom-session
<cored> also I saw that the ci is failing
<mbj> solnic: so go with 6-7 pairs?
<mbj> snusnu: ?
<mbj> 10 is too less, wasting of free capacity
jfredett has quit [Quit: Leaving.]
<mbj> snusnu, solnic: open upto 12?
<solnic> yeah I think 12 or even 14 would be fine
<mbj> solnic: I'll open it up to 12 now, 2 pairs per person.
<mbj> So we *could* go with 40, 20pairs.
<mbj> Lets see if 12 gets filled, and maybe open up more.
<solnic> I think 16 is top-top :)
<mbj> solnic: tbh dunno
<mbj> solnic: lets wait if 12 fills
<cored> solnic: rom-session did not throw any warning from rake metrics:reek
<cored> but I think this is wrong
<mbj> cored: bundle exec reek ?
<cored> mbj: this is interesting I switch the config for instance_variables from 3 to 1 and it did not show any warning
<cored> looks like the rake task is not working properly
<mbj> cored: interesting
<mbj> cored: btw do you come to eurucamp?
knowtheo1y has joined #rom-rb
<cored> mbj: nop :-(
<cored> sadly
knowtheory has quit [Ping timeout: 245 seconds]
knowtheo1y has quit [Ping timeout: 268 seconds]
_whitelogger has joined #rom-rb
<solnic> cored: that’s something new
<cored> solnic: I created a pull request to remove that
<cored> don't know if that's ok
<cored> checking rom-relation now
cobbr2 has quit [Quit: Leaving.]
cobbr2 has joined #rom-rb
snusnu has quit [Quit: Leaving.]
<solnic> cored: what does this option do?
<cored> it doesn't show messages at least that's what I saw
<cored> when I removed it I saw all the warnings 0 warnings on rm-session at least
<solnic> but it does show warnings w/o this option
<solnic> I used it today
<solnic> well, technically yesterday, it’s past midnight already
<cored> hm
<cored> I did not see any warnings with that option for rom-session
<cored> I mean, rom-session sdoesn't have any warnings but even when I add something like 1 instance variable it doesn't show anything
<cored> so I remove that option and I saw 0 warnings for each file
<solnic> hmm
<solnic> need to check it out
<cored> cool
<cored> same thing with rom-relation nothing showed up
<solnic> cored: this option just makes reek output even if there are 0 warnings
<solnic> so you must’ve done something wrong
<solnic> I’m gonna close this PR
<cored> hm
<cored> but I can't see any output
<cored> even when I change the config for reek
<solnic> cored: how do you run the task
<cored> rake metrics:reek
<cored> are you sure there are warnings from reek on rom-rb :-P
<solnic> cored: no unless you change config
<solnic> all rom projects passes all metrics now
<solnic> to make it break you need to change config
<solnic> like I said, you could remove some of the excluded methods in reek config
<cored> can you point me to one of those
<cored> which metrics on reek?
<solnic> remove that line
<solnic> and run rake metrics:reek
<solnic> you will see warnings
<solnic> sorry but I need to run
<solnic> good night
<cored> night
<cored> thanks