Puffball has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 244 seconds]
Puffball has joined #jruby
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 244 seconds]
nicksieger has joined #jruby
pawnbox has joined #jruby
nicksieger has quit [Ping timeout: 265 seconds]
pawnbox has quit [Ping timeout: 260 seconds]
<GitHub41> [jruby] chrisseaton pushed 3 new commits to truffle-head: https://git.io/vi0CU
<GitHub41> jruby/truffle-head 2b81ed6 Chris Seaton: [Truffle] Support inline JavaScript.
<GitHub41> jruby/truffle-head 954ce55 Chris Seaton: [Truffle] Add a mechanism to store Truffle AST nodes in the JRuby parse AST.
<GitHub41> jruby/truffle-head 0b53ae2 Chris Seaton: [Truffle] I think the top level needs exception translation as well as methods.
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 276 seconds]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 265 seconds]
donV has quit [Quit: donV]
<GitHub152> [jruby] eregon pushed 1 new commit to truffle-head: https://git.io/vi0Cp
<GitHub152> jruby/truffle-head 412c65d Benoit Daloze: [Truffle] Add an option to enable/disable basic operation AST inlining.
pawnbox has joined #jruby
<travis-ci> jruby/jruby (truffle-head:2b81ed6 by Chris Seaton): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/159051744)
pawnbox has quit [Ping timeout: 250 seconds]
dinfueh__ has quit [Read error: Connection reset by peer]
dinfuehr_ has joined #jruby
<travis-ci> jruby/jruby (truffle-head:412c65d by Benoit Daloze): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/159054865)
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 250 seconds]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 240 seconds]
<headius> bascule: depends how many issues we're talking, but usually we'd prefer smaller single issues so we can fix things individually
<headius> big bang bug can sit there forever
<headius> big bug with checkboxes is a bit better but checkboxes have no issue tracker process connected to them
<headius> chrisseaton: why did you have to fork the parser?
<headius> bascule: sockets need a lot of work...I started on some of that and a new contributor has been working through my branch and his improvements to get things better
<headius> a lot of the missing pieces related to nonblocking
Puffball has quit [Ping timeout: 240 seconds]
Puffball has joined #jruby
<headius> chrisseaton: hey I was wondering about getting accurate microbenchmarks...seems like we need more to avoid any impl eliminating useless work
<headius> maybe there's a way to force an optimization barrier
<headius> the ropes results look fantastic for cases I'd expect them to be, like anything that requires a lot more copying
<headius> but the benchmark results for "hello".size don't make any sense...in every impl, that should just be returning byte size, and yet the ropes version is significantly faster
<headius> I didn't get to see nirvdrum's actual talk so maybe he explained that
<headius> ropes version is significantly faster than even the non-ropes RString
<headius> anyway, the results definitely make a strong case for ropes in JRuby classic too, if the deficiencies don't hurt too much
<headius> nirvdrum: nicely done
<headius> I didn't mean to sound so negative...those results were the only ones that were really unexpected for me
<headius> the gains in concat and append are obvious
pawnbox has joined #jruby
<bascule> headius: I'm trying to write the sockets-with-nbio-based-timeouts library that never was: https://github.com/celluloid/socketry
<bascule> targeting 2.2+ at a minimum
<bascule> and still things suck, lol
<headius> bascule: let's work through the issues...I'm sure we can make it work right
<headius> it will be a much better test suite for nonblocking than we have today too
pawnbox has quit [Ping timeout: 276 seconds]
<bascule> nice
<bascule> also, like I said earlier, 2.2 is still full of wonkiness too :|
Puffball has quit [Ping timeout: 244 seconds]
Puffball has joined #jruby
thedarkone2 has quit [Quit: thedarkone2]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 265 seconds]
claudiuinberlin has joined #jruby
prasunanand has joined #jruby
pawnbox has joined #jruby
_whitelogger has joined #jruby
donV has joined #jruby
_whitelogger has joined #jruby
dling has quit []
<GitHub148> [jruby] headius opened pull request #4144: Remove the last of NativeException's influence. (master...kill_nativeexception) https://git.io/vi02H
ale has quit [Remote host closed the connection]
ale has joined #jruby
donValentin has joined #jruby
donV has quit [Ping timeout: 244 seconds]
donValentin has quit [Read error: Connection reset by peer]
_ko1 has joined #jruby
donV has joined #jruby
donV has quit [Ping timeout: 265 seconds]
dling has joined #jruby
<chrisseaton> headius: we want to try generating our own AST nodes directly - I'm going to keep everything as mergable as possible
<chrisseaton> "hello".size is zero allocation for ropes with escape analysis
<chrisseaton> I know you share the bytes in that case, but you still allocate a ByteList and maybe that doesn't get escape analysed away
donV has joined #jruby
<chrisseaton> and without ropes can you see that the length is a constant or do you still have to read it from some object?
donV has quit [Quit: donV]
donV has joined #jruby
donV has quit [Client Quit]
<chrisseaton> the length in a ByteList isn't even a constant to begin with
dling` has joined #jruby
dling has quit [Ping timeout: 276 seconds]
johnsonch is now known as johnsonch_afk
pilhuhn has joined #jruby
pilhuhn has quit [Changing host]
pilhuhn has joined #jruby
dling has joined #jruby
dling` has quit [Read error: Connection reset by peer]
claudiuinberlin has quit [Remote host closed the connection]
claudiuinberlin has joined #jruby
bbrowning has quit [Ping timeout: 255 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pilhuhn has quit [Quit: Leaving...]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
claudiuinberlin has quit [Remote host closed the connection]
pilhuhn has joined #jruby
pilhuhn has joined #jruby
pilhuhn has quit [Changing host]
claudiuinberlin has joined #jruby
raeoks has joined #jruby
<GitHub2> [jruby] headius pushed 2 new commits to master: https://git.io/vi071
<GitHub2> jruby/master 42a0ea3 Charles Oliver Nutter: Unused import.
<GitHub2> jruby/master 52c80b7 Charles Oliver Nutter: Use better impl that does not box keys.
<headius> chrisseaton: "hello".size is zero allocation for JRuby classic too
<headius> and I meant a = "hello"; benchmark a bunch of a.size
<chrisseaton> ah ok
<headius> it was mentioned in nirvdrum's talk with ropes being 17x faster than either rstring or RubyString
<headius> that doesn't really make sense ot me
<headius> to
<chrisseaton> Have you looked at the assembly?
<headius> he didn't push that bench anywhere so I don't want to guess
<headius> just a slide in his talk
<headius> like I mentioned...I didn't get it in context so I have no idea what he said for that slide
<headius> it just seemed very unlikely that it would be 17x faster than both JRuby class and JT without ropes
<headius> classic
<headius> oh sorry, I guess it's not 17x faster than JT+RString
<headius> must have been thinking of another slide
<headius> chrisseaton: if the bench9000 "sample" body was just "A.size" with A = "hello", would that accurately bench size?
<headius> I forget if bench9000 has some sort of barrier around the sample body to keep it from just folding away
<headius> e.g. in this case it could easily see A as a constant and just put 5 as a constant value for the expression, which isn't really accurate unless you've got a lot of code repeatedly getting the size of a constant string
<headius> anyway, I'll have a chat with nirvdrum when he's back...there's probably a simple explanation :-)
thedarkone2 has joined #jruby
prasunanand has quit [Ping timeout: 265 seconds]
<bascule> headius: did you see the GSoC wrap-up post on ropes?
<headius> I saw one that was mostly in Japanses
<headius> oh nice
<headius> I was hoping for an English one, must have missed it
<headius> similar unsurprising results for append and concat
<bascule> yeah heh
<bascule> references and CoW instead of always allocating and copying? seems like it'd be faster ;)
<headius> crazy talk!
<bascule> speaking of not allocating memory, I'd like to clean this up a bit and merge it soon: https://github.com/celluloid/nio4r/pull/95
<headius> I think I've seen talks on how much faster ropes are for concatenation at least once a year for the past ten years
<headius> I think we've established that
<headius> :-D
<bascule> hahaha
<bascule> well now it's merged into MRI, so
<headius> they actually merged it eh?
<headius> bascule: you want some help/review on that ByteBuffer thing or just letting me know?
<headius> that will be nice to finally land
<bascule> that'd be great if you wouldn't mind
<bascule> there's definitely some stuff that's rough around the edges
<headius> sure I'll keep it in my queue this week
<bascule> sweet
<bascule> I'll probably split nio4r into a 1-x-stable branch with master becoming 2.0.pre here soon
<headius> do you have a link to ropes getting merged into MRI?
<bascule> it was in the post
<headius> oh I see
<headius> hmm
<headius> that doesn't seem to be about roopes
<headius> ropes
<headius> that's also the commit his post points at but it's just making some String and Array methods take multiple args
<headius> oh I see
<headius> "Implement patches for Ruby core which enables concat and prepend methods in Array and String class to take multiple arguments" was merged
<headius> not ropes
<headius> his ropes impl will be interesting to look at, though, since our String is very similar to MRI's
<headius> I guess we'd just rope little ByteLists together
prasunanand has joined #jruby
<travis-ci> jruby/jruby (master:42a0ea3 by Charles Oliver Nutter): The build was broken. (https://travis-ci.org/jruby/jruby/builds/159136335)
<headius> sigh
<bascule> heh yeah
<bascule> that's the one that will work with the iPhone 7 without a dongle, lol
<headius> nice that it's in Apple's store :-)
<bascule> heh
dinfueh__ has joined #jruby
dinfuehr_ has quit [Ping timeout: 244 seconds]
<bruceadams> "Magstripe reader in the box" which is not shown in any photos. I'm pretty sure that's the one that plugs into a headphone jack. (Brick and mortar stores I've seen using Square all use iPads, which still have a headphone jack for the magstripe reader.)
donV has joined #jruby
<headius> bruceadams: ugh...what a mess
nicksieger has joined #jruby
<chrisseaton> Surely those things are already obsolete due to chip and pin and contactless - nobody swipes magnetic stripes any more do they?
<bascule> in the US, all the time...
<bascule> chip cards are newfangled to us
pawnbox has quit [Remote host closed the connection]
<chrisseaton> Since contactless came in even chip and pin feels archaic!
<bascule> heh yeah
<chrisseaton> 'Sorry we don't have contactless' 'Argh I have to jam my card in this machine like an idiot'
<bascule> the protocol is certainly much more advanced
<bascule> faster and supports contactless payments
nicksieger has quit [Remote host closed the connection]
nicksieger has joined #jruby
pawnbox has joined #jruby
<headius> the US never adopts technology until it becomes too economically painful to not adopt it
pawnbox has quit [Ping timeout: 240 seconds]
<bascule> also the US has some odd customs regarding how we do payments in e.g. restaurants, which I can only assume are tied into the weird way we do tipping
<bruceadams> My bank reissued a card to me late last year--with no chip! I was stunned. Several other cards I have made a point of sending me a new one with a chip, even if the old one had not yet expired.
<bascule> where in other countries if you're at a restaurant your server will bring you a payment terminal so you can enter your PIN to complete a transaction, in the US the server briefly steals your card, goes to the payment terminal for you, then gives you back your card and receipt
<chrisseaton> I guess that lets them read the three numbers on the back and buy anything they want online!
<bascule> :D
<bascule> yeah it's... rather silly
<chrisseaton> We don't let them touch the card any more, with the terminals
nicksieger has quit [Remote host closed the connection]
<chrisseaton> I think Visa is a big JRuby user by the way
nicksieger has joined #jruby
<bascule> for v.me?
<chrisseaton> Met some of them at a bay area meetup
<headius> yeah I know about that one
<chrisseaton> That sounds familiar
<headius> they have at least one big app on JRuby
<bascule> yeah v.me is a Rails app, I think
<bascule> or was
<bascule> haven't touched it in years
<headius> JRuby is like an iceberg...we only see the 10% of users that poke their head about the surface
nicksieger has quit [Remote host closed the connection]
pawnbox has joined #jruby
<chrisseaton> Someone wrote a whole paper about doing something with JRuby+Truffle and never once though 'I might say hi to these guys and ask them some questions'
<headius> yeah, that's how it goes
<headius> what paper?
<chrisseaton> Something at ICOOOLPS, let me look
<chrisseaton> Need to add it to the list really
<chrisseaton> TruffleReloader
<chrisseaton> There's a huge number of Truffle and Graal papers at ECOOP this year
<chrisseaton> There's one of method handles actually (not Truffle) at ICOOOLPS you might be interested in
pawnbox has quit [Ping timeout: 260 seconds]
<headius> yeah looks like good stuff
<chrisseaton> We've had a paper on Ruby metaprogramming accepted at the META workshop too
claudiuinberlin has quit [Remote host closed the connection]
<headius> this has been a quiet year but I'm hoping to get to more events soon
claudiuinberlin has joined #jruby
<chrisseaton> You could come to an academic conference sometime - ECOOP would be perfect
<chrisseaton> A summary of your IR would work at the Curry On industry / academia crossover conference
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 252 seconds]
<bascule> headius: lol, blargh
<bascule> much like MRI 2.2 and 2.3, JRuby async I/O seems fine on the latest version
<bascule> or at least, the things that were giving me grief on earlier versions of JRuby 9000 seem fixed, at lest so far in my testing
<bascule> and many of them don't work on 2.2 either
<bascule> I am able to repro a particulary fun one with SSL though :|
<bascule> Failure/Error: Unable to find org.jruby.ext.openssl.SSLContext.createSSLEngine(SSLContext.java to read failed line
<bascule> Java::JavaLang::NullPointerException:
<bascule> # org.jruby.ext.openssl.SSLContext.createSSLEngine(SSLContext.java:676)
<bascule> # org.jruby.ext.openssl.SSLSocket.ossl_ssl_setup(SSLSocket.java:184)
<bascule> # org.jruby.ext.openssl.SSLSocket.connectImpl(SSLSocket.java:238)
<bascule> # org.jruby.ext.openssl.SSLSocket.connect_nonblock(SSLSocket.java:222)
<bascule> # org.jruby.ext.openssl.SSLSocket$INVOKER$i$connect_nonblock.call(SSLSocket$INVOKER$i$connect_nonblock.gen)
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 276 seconds]
pawnbox has joined #jruby
claudiuinberlin has quit []
pawnbox has quit [Ping timeout: 240 seconds]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 264 seconds]
raeoks has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 244 seconds]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 250 seconds]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 250 seconds]
<GitHub54> jruby/truffle-head fb568f7 Chris Seaton: [Truffle] Disable ecosystem tests for now.
<GitHub54> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/viEUK
pawnbox has joined #jruby
<GitHub13> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/viEUp
<GitHub13> jruby/truffle-head 67c90da Braulio Bhavamitra: [Truffle] Use Array#{max,min} from rubinius...
pawnbox has quit [Ping timeout: 240 seconds]
pawnbox has joined #jruby
<GitHub133> [jruby] chrisseaton closed pull request #3918: [Truffle] Adapt to new parse API. (truffle-head...truffle-context-reference) https://git.io/vrrOq
<GitHub21> [jruby] chrisseaton deleted truffle-context-reference at 36e729f: https://git.io/viETi
pawnbox has quit [Ping timeout: 250 seconds]
<travis-ci> jruby/jruby (truffle-head:fb568f7 by Chris Seaton): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/159179864)
drbobbeaty has quit [Ping timeout: 276 seconds]
<bascule> headius: I don't even understand how I/O buffering is supposed to work without something like ByteBuffers
<travis-ci> jruby/jruby (truffle-head:67c90da by Braulio Bhavamitra): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/159181385)
<bascule> I'm trying to support the String outbufs for e.g. read_nonblock (on top of which I'm building all the other I/O ops)
<bascule> but what sort of capacity (or encoding or other nonsense) a String has seems somewhat mysterious
pawnbox has joined #jruby
pawnbox_ has joined #jruby
<GitHub123> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/viEko
<GitHub123> jruby/truffle-head 9ca4877 Chris Seaton: [Truffle] Not sure why I set this up the way I did - GraalVM should be the main benchmark platform.
pawnbox has quit [Ping timeout: 244 seconds]
pawnbox_ has quit [Ping timeout: 240 seconds]
drbobbeaty has joined #jruby
donV has quit [Quit: donV]
<GitHub34> [jruby] presidentbeef opened issue #4145: Can't use `require_relative` with a path beginning with `lib` in a jar...on Linux https://git.io/viEIc
<GitHub145> [jruby] chrisseaton pushed 2 new commits to truffle-head: https://git.io/viELT
<GitHub145> jruby/truffle-head 553b5c1 Chris Seaton: Revert "[Truffle] Use Array#{max,min} from rubinius"...
<GitHub145> jruby/truffle-head 56ef6b9 Chris Seaton: [Truffle] Run with GraalVM release while we figure out weird benchmarks.
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 276 seconds]