00:05
travis-ci has joined #rom-rb
00:05
<
travis-ci >
[travis-ci] dkubb/sql#210 (master - abd8148 : Dan Kubb): The build was broken.
00:05
travis-ci has left #rom-rb [#rom-rb]
00:09
solnic has joined #rom-rb
00:32
<
mbj >
gotta go to sleep cu
00:33
<
dkubb >
mbj: good night
00:34
<
mbj >
dkubb: Found some weird edge cases for unparser in the addressable library.
00:34
<
mbj >
dkubb: I hope unparser can soon be validated against the rubygems corpus.
00:34
<
mbj >
dkubb: Than we can finally trust mutatn :D
00:35
<
mbj >
dkubb: "return(1), (2)" is valid ruby
00:35
<
dkubb >
what does that do?
00:35
<
mbj >
return [1, 2]
00:35
<
mbj >
Return can take multiple arguments.
00:35
<
mbj >
foo # => [1, 2]
00:36
<
mbj >
NEVER used this form before.
00:36
<
mbj >
Found it in addressable. The rubygems corpus is a really good fuzz input :D
00:36
<
mbj >
The community fuzzed the language to its extremes :D
00:36
<
dkubb >
ahh yeah, I've used that before
00:36
<
dkubb >
I don't lik eit much
00:36
<
mbj >
Especially as
00:37
mbj has quit [Quit: leaving]
00:54
lgierth has quit [Quit: Ex-Chat]
00:59
coop-cooper has joined #rom-rb
01:12
CraigBuchek has quit [Quit: Leaving.]
01:28
coop-cooper has quit [Ping timeout: 265 seconds]
01:45
cored has quit [Ping timeout: 264 seconds]
01:56
juhakaja has joined #rom-rb
02:15
juhakaja has quit [Remote host closed the connection]
02:15
juhakaja has joined #rom-rb
02:20
ilyasov has joined #rom-rb
02:20
juhakaja has quit [Ping timeout: 272 seconds]
02:21
solnic has quit [Quit: Leaving...]
02:29
ilyasov has quit [Remote host closed the connection]
03:31
lfox has quit [Quit: ZZZzzz…]
03:31
lfox has joined #rom-rb
06:48
coop-cooper has joined #rom-rb
07:00
juhakaja has joined #rom-rb
07:09
lfox has quit [Quit: ZZZzzz…]
07:10
juhakaja has left #rom-rb [#rom-rb]
08:09
coop-cooper has quit [Ping timeout: 240 seconds]
08:34
_br_ has quit [Ping timeout: 245 seconds]
08:36
_br_ has joined #rom-rb
10:16
_br_ has quit [Ping timeout: 240 seconds]
10:19
_br_ has joined #rom-rb
11:26
solnic has joined #rom-rb
11:34
cored has joined #rom-rb
13:13
cored has quit [Ping timeout: 246 seconds]
13:13
cored has joined #rom-rb
13:13
cored has joined #rom-rb
13:13
cored has quit [Changing host]
13:15
postmodern has quit [Quit: Leaving]
13:41
breakingthings has joined #rom-rb
14:03
mbj has joined #rom-rb
14:27
jgaskins has joined #rom-rb
14:55
CraigBuchek has joined #rom-rb
15:54
20WAARXMO has joined #rom-rb
16:01
20WAARXMO has quit [K-Lined]
16:10
travis-ci has joined #rom-rb
16:10
<
travis-ci >
[travis-ci] dkubb/yardstick#110 (master - 1b394d5 : Erik Michaels-Ober): The build was broken.
16:10
travis-ci has left #rom-rb [#rom-rb]
16:20
<
mbj >
Just released mutant-0.3.2 and unparser-0.1.6.
16:20
<
mbj >
All known issues fixed.
16:20
<
solnic >
mbj: congrats!
16:20
<
mbj >
solnic: No new features, you still have to wait for the confiugurable mutation selector.
16:21
<
mbj >
solnic: Especially unparser is now able to round trip 100% of rom related source.
16:21
<
solnic >
mbj: I'm in no rush ;)
16:21
<
mbj >
solnic: Gonna test aginst the rubygems corpus soon. Once done bumping unparser to 1.0.0.
16:21
cored has quit [Ping timeout: 252 seconds]
16:21
<
mbj >
solnic: I need that feature also, I'll not mutation cover unparser in the traditional way.
16:22
<
mbj >
solnic: 99% of the code should be covered via Unparser.unparse, the only public interface of this library.
16:25
mbj has quit [Read error: Connection reset by peer]
16:27
travis-ci has joined #rom-rb
16:27
<
travis-ci >
[travis-ci] dkubb/memoizable#129 (master - 55e2a9c : Erik Michaels-Ober): The build has errored.
16:27
travis-ci has left #rom-rb [#rom-rb]
16:39
travis-ci has joined #rom-rb
16:39
<
travis-ci >
[travis-ci] dkubb/memoizable#131 (devtools - 2e96c23 : Dan Kubb): The build has errored.
16:39
travis-ci has left #rom-rb [#rom-rb]
16:40
travis-ci has joined #rom-rb
16:40
<
travis-ci >
[travis-ci] dkubb/equalizer#103 (master - 72feca2 : Erik Michaels-Ober): The build has errored.
16:40
travis-ci has left #rom-rb [#rom-rb]
16:53
travis-ci has joined #rom-rb
16:53
<
travis-ci >
[travis-ci] dkubb/memoizable#132 (devtools - 5cd172f : Erik Michaels-Ober): The build has errored.
16:53
travis-ci has left #rom-rb [#rom-rb]
17:15
mbj has joined #rom-rb
17:21
lfox has joined #rom-rb
17:42
CraigBuchek has quit [Quit: Leaving.]
18:26
mbj has quit [Quit: Lost terminal]
18:37
mbj has joined #rom-rb
18:37
<
dkubb >
mbj: good morning
18:38
<
mbj >
dkubb: Very happy with my progress on unparser
18:39
<
mbj >
dkubb: Soon itls parese /**/*.rb correctly.
18:39
<
dkubb >
mbj: awesome
18:39
<
mbj >
dkubb: Once I finished this one, I'll move to the rubygems corpus. Than we can move unparser to 1.0 :D
18:39
<
dkubb >
mbj: I was reading about markov chains and I think it could be trained by the rubygems corpus and then be used to generate valid ruby code
18:39
<
mbj >
dkubb: Later I'll try to do the same for comments, but the AST source equivalency is FAR more important.
18:40
<
mbj >
dkubb: Swichted to MRI 2.1 as main ruby for TDD, works like a charm and shortens my cycle times be 20%
18:41
<
dkubb >
that also happens to be the best explanation I've read about them too
18:43
<
mbj >
dkubb: What primitives you'd assign to the markov chain? chars, tokens, ast nodes?
18:52
<
dkubb >
mbj: from what I've read you can do it a few ways.. one is to just do a character-by-character generation of the source. you then run it through something to make sure it's valid, and then feed it into whatever you want to test with it
18:52
<
dkubb >
mbj: another approach I've read about is to generate things at the word (node) level
18:53
<
dkubb >
mbj: which seems like it would be a bit more reliable. you'd parse the corpus with parser, and building the makov chain with the ast nodes. you'd then use that to generate the code later
18:54
<
dkubb >
apparently it works quite well with characters based chains though.. as long as you use an order of 3 or 4
19:01
<
dkubb >
mbj: the main reason I was looking at this is I was thinking about how to better fuzz sql generation
19:04
<
dkubb >
one thing I'm unsure of is, if you can parse and unparse the entire rubygems corpus, does that automatically mean you can handle anything a markov chain, built from the same corpus, can generate?
19:05
<
dkubb >
according to that article markov chains
*can* generate new code not seen in the original
19:09
lfox has quit [Quit: ZZZzzz…]
19:19
lfox has joined #rom-rb
20:17
CraigBuchek has joined #rom-rb
20:42
<
mbj >
dkubb: I think it will work best on the token level.
20:42
<
mbj >
dkubb: I dont think character level will yield valid ruby/sql often.
20:45
<
mbj >
dkubb: even token level might result on to high error rate.
20:45
<
mbj >
Imagine a delimiter that never gets closed.
20:45
<
mbj >
I think we'll end up in node level.
21:08
lfox has quit [Quit: ZZZzzz…]
21:16
CraigBuchek has quit [Quit: Leaving.]
21:29
lfox has joined #rom-rb
21:45
<
mbj >
dkubb: You are already subjected to "happy new year?"
22:25
dkubb has joined #rom-rb
22:28
breakingthings has quit []
22:29
snusnu has joined #rom-rb
22:41
<
dkubb >
mbj: have you thought about extracting the normalization code from unparser into something that can work with parser generically
22:55
lfox has quit [Quit: ZZZzzz…]
22:57
snusnu has quit [Quit: Leaving.]
23:01
mbj has quit [Ping timeout: 272 seconds]
23:03
coop-cooper has joined #rom-rb
23:15
postmodern has joined #rom-rb
23:16
mbj has joined #rom-rb
23:18
lfox has joined #rom-rb
23:26
lfox has quit [Quit: ZZZzzz…]
23:43
mbj has quit [Read error: Connection reset by peer]
23:47
mbj has joined #rom-rb