#jython IRC Log (v0.9)

Index

IRC Log for 2016-02-29

Timestamps are in GMT/BST.

[6:01] -verne.freenode.net- *** Looking up your hostname...
[6:01] -verne.freenode.net- *** Checking Ident
[6:01] -verne.freenode.net- *** No Ident response
[6:01] -verne.freenode.net- *** Couldn't look up your hostname
[6:01] * JythonLogBot (~PircBot@74.50.59.201) has joined #jython
[6:01] * Topic is 'Jython 2.7 final released: http://tinyurl.com/muqfuul | This channel is logged: http://jython.extreme.st/irclogs/ | Please update the wiki: http://wiki.python.org/jython | Jython Book: http://jythonbook.com | Podcast: http://jython.org/jythonpodcast/'
[6:01] * Set by agronholm!~agronholm@nblzone-211-20.nblnetworks.fi on Sun May 03 05:10:52 UTC 2015
[6:09] -barjavel.freenode.net- *** Looking up your hostname...
[6:09] -barjavel.freenode.net- *** Checking Ident
[6:09] -barjavel.freenode.net- *** No Ident response
[6:09] -barjavel.freenode.net- *** Couldn't look up your hostname
[6:09] * JythonLogBot (~PircBot@74.50.59.201) has joined #jython
[6:09] * Topic is 'Jython 2.7 final released: http://tinyurl.com/muqfuul | This channel is logged: http://jython.extreme.st/irclogs/ | Please update the wiki: http://wiki.python.org/jython | Jython Book: http://jythonbook.com | Podcast: http://jython.org/jythonpodcast/'
[6:09] * Set by agronholm!~agronholm@nblzone-211-20.nblnetworks.fi on Sun May 03 05:10:52 UTC 2015
[6:13] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Quit: Konversation terminated!)
[6:13] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[6:13] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Client Quit)
[6:24] -holmes.freenode.net- *** Looking up your hostname...
[6:24] -holmes.freenode.net- *** Checking Ident
[6:24] -holmes.freenode.net- *** No Ident response
[6:24] -holmes.freenode.net- *** Couldn't look up your hostname
[6:24] * JythonLogBot (~PircBot@74.50.59.201) has joined #jython
[6:24] * Topic is 'Jython 2.7 final released: http://tinyurl.com/muqfuul | This channel is logged: http://jython.extreme.st/irclogs/ | Please update the wiki: http://wiki.python.org/jython | Jython Book: http://jythonbook.com | Podcast: http://jython.org/jythonpodcast/'
[6:24] * Set by agronholm!~agronholm@nblzone-211-20.nblnetworks.fi on Sun May 03 05:10:52 UTC 2015
[6:25] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) Quit (Ping timeout: 260 seconds)
[6:28] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[6:40] * jimklo (~jimklo@71-92-226-171.dhcp.trlk.ca.charter.com) has joined #jython
[7:06] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 276 seconds)
[7:24] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[7:32] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[7:33] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Read error: Connection reset by peer)
[8:04] * siel (~siel@unaffiliated/motley) Quit (Remote host closed the connection)
[8:10] * siel (~siel@unaffiliated/motley) has joined #jython
[8:15] * siel (~siel@unaffiliated/motley) Quit (Read error: Connection reset by peer)
[8:16] * siel (~siel@unaffiliated/motley) has joined #jython
[8:48] * jimklo (~jimklo@71-92-226-171.dhcp.trlk.ca.charter.com) Quit (Remote host closed the connection)
[8:52] * r0bby_ (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 276 seconds)
[8:53] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[9:03] * ohumbel (5390f784@gateway/web/freenode/ip.83.144.247.132) Quit (Quit: Page closed)
[9:04] * r0bby_ (~wakawaka@guifications/user/r0bby) Quit (Read error: Connection reset by peer)
[9:05] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[9:06] * r0bby_ (~wakawaka@guifications/user/r0bby) Quit (Read error: Connection reset by peer)
[9:06] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[9:08] * r0bby_ (~wakawaka@guifications/user/r0bby) Quit (Client Quit)
[9:08] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[9:08] * r0bby_ (~wakawaka@guifications/user/r0bby) Quit (Read error: Connection reset by peer)
[9:09] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[9:09] * r0bby_ is now known as robbyoconnor
[9:09] * ohumbel (5390f784@gateway/web/freenode/ip.83.144.247.132) has joined #jython
[9:12] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Read error: Connection reset by peer)
[9:12] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[9:13] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Client Quit)
[9:13] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[9:14] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Client Quit)
[10:47] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) has joined #jython
[10:52] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) Quit (Ping timeout: 260 seconds)
[12:27] * verterok` is now known as verterok
[13:25] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) has joined #jython
[14:26] * xemdetia (xemdetia@nat/ibm/x-ajjwzyrgnbmisudj) has joined #jython
[16:25] <jimbaker`> TomA, so i have found the root cause in http://bugs.jython.org/issue2462, now it's just a question of fixing it
[16:25] * jimbaker` is now known as jimbaker
[16:26] <jimbaker> we have two scenarios to consider for child sockets: the parent is wrapped, and so the child socket should automatically get wrapped (which is handled properly); or the parent socket is unwrapped and the child socket is wrapped upon accept (this issue)
[16:27] <TomA> Glad to hear it!
[16:27] <jimbaker> in either case, the handshaking needs to be in the child thread pool
[16:27] <TomA> That makes sense
[16:27] <jimbaker> and it has to be done before the initChannel completes, otherwise this will cause bad reads
[16:28] <jimbaker> if there is a pending send from the peer
[16:29] * jimklo (~jimklo@192.12.16.110) has joined #jython
[16:30] <TomA> Thanks for taking a look at that. We do have a workaround by kicking off the handshake manually, but it sounds like there could be an issue there with pending sends from the peer
[16:35] <jimbaker> TomA, i think that should work fine
[16:36] <jimbaker> this is why we haven't seen the problem until now - it requires a specific sequence of steps
[16:36] <jimbaker> and config
[16:42] <TomA> did my repo scripts help?
[16:43] <jimbaker> TomA, repo scripts? are you referring to the client.py and server.py you added to the bug? those were certainly very helpful
[16:43] <TomA> Yeah those. Awesome! Glad to hear it. Much easier to discover the problem when you have the baseline
[16:46] <jimbaker> exactly, i don't think i would have been able to identify without them. it was also good to go through the codebase - that code is about 2 years old. it was pretty good imho (as its writer), but it needs some cleanup around state mgmt
[16:47] <jimbaker> and probably naming. too much inconsistency between what is _xyz for abc in names
[16:47] <jimbaker> s/for/vs/
[16:47] <jimbaker> and a swim lane diagram. it really needs that :)
[16:49] <jimbaker> probably would have happened if i had made it to poland for a talk on socket-reboot, but was just too busy then
[16:49] <jimbaker> btw: europython cfp is due in *one week* on march 6
[16:50] <jimbaker> i plan to submit a talk on 'import java'
[16:52] <TomA> Oh thanks for the heads up! Maybe nickmbailey and I can try our Jython/Twisted talk proposal
[16:53] <TomA> We wrote some JVM-integrated threadpool stuff that fits nicely inside of Twisted and uses multi-core instead of python single core
[16:57] <TomA> Don't be too hard on yourself re: socket reboot, etc... It's tough stuff and is certainly hard to find all of the edge cases when there are a 1000 ways to use (and abuse) socket-level programming
[16:57] <TomA> It works and the reboot stuff you wrote cleaned up things tremendously
[16:58] <TomA> It's one of those things too that us developers always seem to forget quickly when we're not working on it constantly
[16:59] <jimbaker> TomA, thanks for the appreciation!
[17:00] <jimbaker> i'm very curious about perf issues. maybe if we are all at EP, we can hack on that :)
[17:01] <TomA> that sounds like fun! I'll let you know if we end up submitting a proposal
[17:01] <jimbaker> i wanted to do a partial rewrite into java of the socket stuff - basically keep it in python for all complex state mgmt. but there are a few things that could be made much more performant
[17:04] <jimbaker> TomA, this is a fun talk to try out the demos in jython - https://www.youtube.com/watch?v=MCs5OvhV9S4
[17:06] <jimbaker> at one point in david's talk he's doing something like a byte at a time, which is where jython's perf overhead is worse than in cpython. otherwise, it works much better, due to lack of GIL
[17:10] * agronholm_ (~agronholm@2a00-1190-c00e-0001-0876-92d4-6a10-2716.v6.cust.suomicom.net) has joined #jython
[17:10] * ChanServ sets mode +o agronholm_
[17:11] * agronholm (~agronholm@2a00-1190-c00e-0001-c91e-9a05-3ab0-2e7d.v6.cust.suomicom.net) Quit (Ping timeout: 240 seconds)
[17:11] <TomA> Oh man kudos to him for doing that all live and still giving a great, entertaining talk
[17:12] <TomA> Thanks! That's pretty inspirational
[17:15] <jimbaker> TomA, yes that's pretty amazing to do. i in particular - david
[17:16] <jimbaker> (i have been trying out live coding in my univ course... tough to do!)
[17:16] <jimbaker> so in particular - david at around 11:30 min in that talk discusses performance cliffs that happen because of the GIL in cpython
[17:16] <jimbaker> but do not happen in jython
[17:19] <TomA> Live coding is a developer's worst nightmare. I've yet to give a demo that didn't have one hiccup lol. Glad to see he is so smooth about everything
[17:20] <TomA> It would be interesting to give a similar performance bench but with that boost with no GIL in Jython
[17:26] <jimklo> jimbaker: my goal for today is to take a deep dive look at clamp, and see if it I can make it work for my situation... :)
[17:28] * agronholm_ is now known as agronholm
[17:29] <jimklo> jimbaker: my only question is how would I deal with site-packages?
[17:31] <jimbaker> jimklo, so clamp was designed in part to be aware of site-packages
[17:32] <jimbaker> some issues - standalone mode has issues with site-packages style layout, so currently it consolidates into a single Lib/ directory
[17:34] <jimbaker> this mostly has impact on code that attempts to introspect site-packages for additional metadata. some openstack packaging does this fwiw
[17:35] <jimbaker> lastly, it would be nice if a given site-packages top-level directory could itself be made into a jar, which would allow for lighter combinations
[17:35] <jimbaker> all-in-all - for most things, much like uber jars in general, it seems to work just fine
[17:41] <jimklo> jimbaker: okay, I was confused by the TODO note regarding site-packages
[17:42] <jimbaker> yeah, that's the more elaborate aspects i just mentioned
[17:47] * jimbaker (~jbaker@c-76-25-158-6.hsd1.co.comcast.net) Quit (Changing host)
[17:47] * jimbaker (~jbaker@python/psf/jimbaker) has joined #jython
[17:47] * ChanServ sets mode +o jimbaker
[18:19] * srcerer_ is now known as srcerer
[18:38] * fwierzbicki (~Adium@99-106-169-5.lightspeed.sntcca.sbcglobal.net) has joined #jython
[18:57] <jimklo> jimbaker: so is there any restriction on a clamped class other than it needs to mixin clamp.clamp_base("java.base.package")?
[18:58] <jimbaker> jimklo, fwiw, that aspect of clamp is only necessary if you want to directly import the python class from java
[18:59] <jimbaker> the mixin is strictly not necessary, but ensures appropriate codegen for this to happen
[19:00] <jimklo> right... I think what I'm going to do is write a proxy class to the sphinx-build that is clamped, and then use that within a maven plugin
[19:00] <jimbaker> (there are some other examples in the jython tests of how to do this without the mixin. but that's just in case this approach doesn't work. even better: fix clamp if we don't cover a use case!)
[19:00] <jimklo> that way my solution will end up being 100% antrun free...
[19:00] <jimbaker> sounds good
[19:01] <jimbaker> btw, as of 2.7.2, we plan to move to a gradle build
[19:01] <jimklo> that shouldn't bother me - I think
[19:01] <jimbaker> it's going to solve a lot of packaging issues moving away from ant
[19:01] <jimklo> we are using maven for most things
[19:01] <jimbaker> although we will keep our custom ant tasks - gradle handles those just fine
[19:02] <jimklo> along with artifactory
[19:02] <jimbaker> yeah, pure maven would be too hard. but as i understand it, it's easy enough to use gradle-built artifacts from maven
[19:02] <jimbaker> in terms of the publishing pipeline
[20:43] * eatkin (~eatkin@166.70.212.121) Quit (Quit: ZNC 1.6.2 - http://znc.in)
[20:49] * eatkin (~eatkin@166.70.212.121) has joined #jython
[21:10] * pjenvey_ is now known as pjenvey
[23:20] * siel (~siel@unaffiliated/motley) Quit (Ping timeout: 250 seconds)
[23:21] * siel (~siel@unaffiliated/motley) has joined #jython

Index

These logs were automatically created by JythonLogBot_ on irc.freenode.net using a slightly modified version of the Java IRC LogBot (github).