havenwood has quit [Remote host closed the connection]
havenwood has joined #rubinius
digitalextremist has quit [Ping timeout: 255 seconds]
decentrality has joined #rubinius
decentrality has quit [Client Quit]
elia has quit [Quit: Computer has gone to sleep.]
dimday has joined #rubinius
havenwood has quit []
lbianc has quit [Ping timeout: 272 seconds]
dimday has quit [Ping timeout: 265 seconds]
dimday has joined #rubinius
dimday has quit [Ping timeout: 265 seconds]
diegoviola has quit [Remote host closed the connection]
havenwood has joined #rubinius
dimday has joined #rubinius
dzhulk has joined #rubinius
dzhulk has quit [Quit: Leaving.]
havenwood has quit [Remote host closed the connection]
meh` has quit [Ping timeout: 240 seconds]
noop has joined #rubinius
dzhulk has joined #rubinius
dzhulk has quit [Quit: Leaving.]
dimday has quit [Remote host closed the connection]
dzhulk has joined #rubinius
flavio has joined #rubinius
flavio has joined #rubinius
buzz0763 has joined #rubinius
flavio has quit [Quit: WeeChat 0.4.1]
flavio has joined #rubinius
flavio has joined #rubinius
JohnBat26 has joined #rubinius
heroux_ has quit [Ping timeout: 245 seconds]
heroux has quit [Ping timeout: 244 seconds]
flavio has quit [Quit: WeeChat 0.4.1]
17WAAC1SG has joined #rubinius
21WAACVC4 has joined #rubinius
21WAACVC4 has quit [Remote host closed the connection]
17WAAC1SG has quit [Remote host closed the connection]
flavio has joined #rubinius
flavio has joined #rubinius
heroux has joined #rubinius
heroux_ has joined #rubinius
benlovell has joined #rubinius
elia has joined #rubinius
lbianc has joined #rubinius
postmodern has quit [Quit: Leaving]
<yorickpeterse>
morning
craigp has joined #rubinius
benlovell has quit [Ping timeout: 260 seconds]
benlovell has joined #rubinius
craigp has quit [Remote host closed the connection]
craigp has joined #rubinius
craigp has quit [Remote host closed the connection]
craigp has joined #rubinius
craigp has quit [Remote host closed the connection]
craigp has joined #rubinius
craigp has quit [Remote host closed the connection]
craigp has joined #rubinius
craigp has quit [Remote host closed the connection]
craigp has joined #rubinius
benlovell has quit [Ping timeout: 244 seconds]
benlovell has joined #rubinius
lbianc_ has joined #rubinius
lbianc has quit [Ping timeout: 272 seconds]
lbianc_ is now known as lbianc
lbianc has quit [Client Quit]
craigp has quit []
lbianc has joined #rubinius
<Rotonen>
brixen: https://labs.runabove.com/power8/ <- i suppose bugging them for free credits for testing / benchmarking rbx is not a bad thought? POWER8 hardware as a cloud service
<brixen>
chrisseaton: perhaps you should stop writing about what Rubinius can and can't do, since you don't actually work on the project
<chrisseaton>
brixen: I'd welcome any clarifications, but when you publish an academic paper (this blog post is a summary of a paper) you must do a literature review of how other people tackle the same problem - it's not optional
<brixen>
you should then be extremely careful about assertions you make about something you don't actually work on
<headius>
brixen: is there a specific assertion that's not correct?
<brixen>
johnmuhl: looks like it's using clang, not gcc
<headius>
the only assertions I see about Rubinius are that you can't expose a specialized array (e.g. int[]) to C exts, and that C extensions prevent some optimizations (e.g. inlining)
<brixen>
johnmuhl: could you run with --trace?
<brixen>
chrisseaton: what are the sources you used for your "literature review" for Rubinius?
<chrisseaton>
brixen: there is no peer reviewed literature describing rubinius that I could find - so I concentrated on running it to get performance results, and I studied how it was implemented. But as headius says, I don't really say much about rubinius at all. I concentrated on what I knew well - JRuby.
<chrisseaton>
brixen: indeed it is - someone should give it a go for Ruby C extensions
stormwin1 is now known as stormwind
<brixen>
how do you know we're not ;)
<chrisseaton>
are you?
<brixen>
evan and I have talked about it for years actually
<chrisseaton>
great - write a paper about it when it works
<brixen>
I'll probably be doing something more pressing :)
<yorickpeterse>
Does the truffle stuff already run C?
<brixen>
chrisseaton: again, the point is not to suggest whether things are possible or not
<chrisseaton>
yorickpeterse: yeah the C interpreter is generic - one use is Ruby C extensions but it can run arbitrary C code
<yorickpeterse>
chrisseaton: what I meant was more along the lines of "is it publicly available somewhere?"
<yorickpeterse>
and up to what point it's capable of running C exts
<chrisseaton>
yorickpeterse: sorry, not at the moment - but I'll happily demo it and show the source code to anyone who can find me in person somewhere like RubyConf
<chrisseaton>
yorickpeterse: it can run two real C extensions, but we've only implemented what we needed for those - so it won't work on a random gem at the moment
<yorickpeterse>
Ah
<yorickpeterse>
In unrelated news, in about 3 weeks I'll have my first production app processing 5-10k XML documents a day using Oga :D
<brixen>
yorickpeterse: woot!
<enebo>
yorickpeterse: cool. Did you get your parser problem figured out from last week?
<yorickpeterse>
2015 might be the year of the Rubinius-at-yorick's-place-desktop
<yorickpeterse>
enebo: yes
<enebo>
yorickpeterse: great
<yorickpeterse>
enebo: I redid the grammar from scratch, it's now conflict free and does what I want
<headius>
yorickpeterse: time to optimize yet? :-D
<|jemc|>
yorickpeterse: fif you need the "lexer hack" for it?
benlovell has quit [Ping timeout: 272 seconds]
<|jemc|>
s/fif/did
<enebo>
yorickpeterse: I was wondering if there was a reason you could not translate the CSS2.1 grammar from the spec directly (I know it uses some higher level constructs to describe it)
<yorickpeterse>
|jemc|: yes
<yorickpeterse>
headius: No not yet, I actually made the lexer a bit slower with recent changes for better streaming support
<headius>
ok
<yorickpeterse>
enebo: I used it as a reference, but it assumes a parser that has support for * and + for recursion
<yorickpeterse>
the problem was translating that to Ragel produced conflicts in the initial gramar
<yorickpeterse>
* gramar
<yorickpeterse>
DANG IT
<yorickpeterse>
* grammar
<enebo>
yeah I see.
<yorickpeterse>
I'm currently fighting :nth-child() support, because even Ruby is better specified than this crap
<yorickpeterse>
the W3 spec literally leaves out half of it
<yorickpeterse>
getting this puppy to perform well is going to be an exciting adventure too
<|jemc|>
I would think performance of the CSS selector / XPath parser wouldn't matter too much compared to the parsing of the actual content
stass has quit [Ping timeout: 255 seconds]
<yorickpeterse>
Oh no, XPath/CSS overhead is much lower
<yorickpeterse>
But I was referring to Oga in general
<|jemc|>
ah, my mistake
<yorickpeterse>
also, XPath/CSS can be cached so that you don't re-parse it when running in a loop
<|jemc|>
yeah, I was thinking that same thing if perf was a problem for it
<yorickpeterse>
My goal is to get the lexer running at ~25MB/sec (right now it's around 16MB/sec)
<yorickpeterse>
Then I need to unfuck the parser so it doesn't cut that in 3
stass has joined #rubinius
johnmuhl has quit [Ping timeout: 272 seconds]
johnmuhl_ has joined #rubinius
locks has quit [Ping timeout: 244 seconds]
mjc_ has quit [Ping timeout: 272 seconds]
lopex has quit [Ping timeout: 272 seconds]
locks_ has joined #rubinius
lopex has joined #rubinius
mjc_ has joined #rubinius
<yorickpeterse>
I wonder though, if the W3 is basically paid to write specifications, but sucks so hard at it, what did they spend the money on
<yorickpeterse>
(besides cocaine)
<|jemc|>
yorickpeterse: if #{country}'s parliament is basically paid to write legislation, but sucks so hard at it, what did they spend the money on?
<yorickpeterse>
roundabouts
postmodern has joined #rubinius
noop has quit [Ping timeout: 244 seconds]
meh` has joined #rubinius
jnh has joined #rubinius
stass has quit [Ping timeout: 245 seconds]
<yorickpeterse>
ha wtf, nth-child is really fucking crazy
stass has joined #rubinius
<yorickpeterse>
when using the form :nth-child(2n+SOME_POSITIVE_INTEGER) it applies every 2nd element, with offset SOME_POSITIVE_INTEGER
<yorickpeterse>
but when using :nth-child(2n-SOME_POSITIVE_INTEGER) it seems to apply a modulo to SOME_POSITIVE_INTEGER
<yorickpeterse>
so there it seems to apply only when SOME_POSITIVE_INTEGER % 2 == 0
<yorickpeterse>
Which nokogiri's source code seems to confirm (funny how I'm using that as a reference)
<yorickpeterse>
also funny how I had to write JS to figure that out
johnmuhl_ has quit [Ping timeout: 244 seconds]
chrisseaton has quit [Ping timeout: 244 seconds]
johnmuhl_ has joined #rubinius
chrisseaton has joined #rubinius
stass has quit [Read error: Connection reset by peer]
dlackty has quit [Ping timeout: 272 seconds]
guilleiguaran___ has quit [Ping timeout: 272 seconds]
dlackty has joined #rubinius
guilleiguaran___ has joined #rubinius
<jnh>
hola
<yorickpeterse>
except when apparently using stuff like 4n-5 or 4n-7, where the behaviour is totally different
<yorickpeterse>
argh
stass has joined #rubinius
<|jemc|>
jnh: holaback
<Gibheer>
yorickpeterse: that sounds like someone was very drunk
<yorickpeterse>
"The trick is understanding the "n" and algebraic expression that represents. Think of "n" as starting at zero and then a set of all positive integers"
<yopp>
chrisseaton, about cext, I'm not quite sure that I'm getting this right: you will compile C extensions with some ruby environment specific optimizations?
<johnmuhl_>
brixen: thanks!
<chrisseaton>
yopp: we JIT the C extension source code, like we do Ruby or JS - there's no ahead of time compilation
<chrisseaton>
yopp: very enthusiastic to talk but shall we take it into #jruby?