#jython IRC Log (v0.9)

Index

IRC Log for 2014-02-20

Timestamps are in GMT/BST.

[0:00] * lheuer (~Adium@f048227047.adsl.alicedsl.de) has joined #jython
[0:00] * lheuer (~Adium@f048227047.adsl.alicedsl.de) Quit (Changing host)
[0:00] * lheuer (~Adium@unaffiliated/lheuer) has joined #jython
[0:06] * ArcTanSusan_ (~susantan@173-11-98-81-SFBA.hfc.comcastbusiness.net) has joined #jython
[0:06] * ArcTanSusan (~susantan@173-11-98-81-SFBA.hfc.comcastbusiness.net) Quit (Read error: Connection reset by peer)
[0:06] * ArcTanSusan_ is now known as ArcTanSusan
[0:22] * ArcTanSusan (~susantan@173-11-98-81-SFBA.hfc.comcastbusiness.net) Quit (Quit: ArcTanSusan)
[0:56] <bjorkintosh> thanks jimbaker. i'll check out the book.
[2:11] * lheuer (~Adium@unaffiliated/lheuer) Quit (Quit: Leaving.)
[3:25] <bjorkintosh> hmm. if jython can use java's concurrent bits, doesn't that make it *better* than plain old python?
[3:41] <agronholm> bjorkintosh: in the sense that there is no GIL
[3:42] <agronholm> but the overhead of java<->python translation negates most of the speed benefits
[3:43] <bjorkintosh> hmm. so how do scala and clojure overcome that overhead to attain famed awesomeness?
[3:44] <agronholm> bjorkintosh: those languages were *designed* for the JVM
[3:44] <bjorkintosh> aah.
[5:30] * Thev00d00 (~v00d00@gentoo/developer/TheV00d00) Quit (Quit: No Ping reply in 120 seconds.)
[5:30] * Thev00d00 (~v00d00@gentoo/developer/TheV00d00) has joined #jython
[5:46] * lheuer (~Adium@f048100073.adsl.alicedsl.de) has joined #jython
[5:46] * lheuer (~Adium@f048100073.adsl.alicedsl.de) Quit (Changing host)
[5:46] * lheuer (~Adium@unaffiliated/lheuer) has joined #jython
[7:19] * ohumbel (5390f2dc@gateway/web/freenode/ip.83.144.242.220) Quit (Quit: Page closed)
[7:20] * ohumbel (5390f2dc@gateway/web/freenode/ip.83.144.242.220) has joined #jython
[7:31] * oscar_toro (~Thunderbi@h-17-170.a328.priv.bahnhof.se) has joined #jython
[7:39] * oscar_toro (~Thunderbi@h-17-170.a328.priv.bahnhof.se) Quit (Ping timeout: 252 seconds)
[10:01] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[12:40] * Arfrever (~Arfrever@apache/committer/Arfrever) Quit (Read error: Connection reset by peer)
[13:39] * zz_whg is now known as whg
[13:55] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[13:57] * pjenvey_ (pjenvey@underboss.org) has joined #jython
[14:01] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (*.net *.split)
[14:01] * JStoker (jstoker@unaffiliated/jstoker) Quit (*.net *.split)
[14:01] * pjenvey (pjenvey@underboss.org) Quit (*.net *.split)
[14:11] * JStoker (jstoker@unaffiliated/jstoker) has joined #jython
[14:17] * whg (whg@unaffiliated/whg) Quit (Excess Flood)
[14:17] * whg (whg@nat/ibm/x-zcmfjclzefyqusxr) has joined #jython
[14:18] * whg (whg@nat/ibm/x-zcmfjclzefyqusxr) Quit (Changing host)
[14:18] * whg (whg@unaffiliated/whg) has joined #jython
[14:22] * JStoker (jstoker@unaffiliated/jstoker) Quit (*.net *.split)
[14:31] * enebo (~enebo@c-75-73-8-169.hsd1.mn.comcast.net) has joined #jython
[14:35] * JStoker (jstoker@unaffiliated/jstoker) has joined #jython
[14:40] * bjorkintosh (~bjork@ip68-13-229-200.ok.ok.cox.net) Quit (Ping timeout: 245 seconds)
[14:41] * bjorkintosh (~bjork@ip68-13-229-200.ok.ok.cox.net) has joined #jython
[15:42] * r0bby_ (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 260 seconds)
[16:21] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[16:55] * zimmermann (~user@178-24-50-233-dynip.superkabel.de) Quit (Ping timeout: 248 seconds)
[17:05] * r0bby_ (~wakawaka@guifications/user/r0bby) Quit (Excess Flood)
[17:09] * r0bby_ (~wakawaka@guifications/user/r0bby) has joined #jython
[17:23] * r0bby_ (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 265 seconds)
[17:23] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[17:31] * jimbaker (~jbaker@unaffiliated/jimbaker) Quit (Read error: Connection reset by peer)
[17:33] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 260 seconds)
[17:35] * jimbaker (~jbaker@unaffiliated/jimbaker) has joined #jython
[17:37] <jimbaker> bjorkintosh, agronholm - there is zippy. it's purely experimental work by some PhD students at univ of california at irvine, but getting somewhat faster perf than pypy on the graal jvm. graal, with the truffle project, combines invokedynamic with type specialization support - basically like invokedynamic, there's more support offered by the jvm to a language runtime
[17:38] <jimbaker> zippy currently uses some of jython, the plan is to phase in more of the jython runtime. ideally this becomes a backend at some point for jython. we will see!
[17:39] <jimbaker> so there's no reason why jython cannot run as fast as scala, it's just a small matter of programming
[17:41] <jimbaker> one interesting detail: there's basically no cost for supporting sys._getframe(). we were able to get some decent optimization of jython in earlier work by shashank, but it required disabling stack frame introspection
[18:26] * enebo (~enebo@c-75-73-8-169.hsd1.mn.comcast.net) Quit (Quit: enebo)
[18:29] * oscar_toro (~Thunderbi@h-17-170.a328.priv.bahnhof.se) has joined #jython
[18:36] * oscar_toro (~Thunderbi@h-17-170.a328.priv.bahnhof.se) Quit (Quit: oscar_toro)
[18:50] * oscar_toro (~Thunderbi@h-17-170.a328.priv.bahnhof.se) has joined #jython
[18:57] * enebo (~enebo@c-75-73-8-169.hsd1.mn.comcast.net) has joined #jython
[18:59] <topi`_> bjorkintosh: scala uses static types, so there is no type fudging involved whatsoever during the time code is running on JVM
[18:59] <topi`_> I don't know about clojure, though.
[19:29] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[19:34] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 260 seconds)
[19:43] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[19:44] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Client Quit)
[19:56] <jimbaker> static types just makes it easier. interestingly, the uc irvine group is the same one that did the trace optimization work that changed the perf picture for javascript
[19:56] <jimbaker> so they have cred
[21:06] * JStoker (jstoker@unaffiliated/jstoker) Quit (*.net *.split)
[21:07] * whg (whg@unaffiliated/whg) Quit (*.net *.split)
[21:07] * topi`_ (foobar@lima-64.srv.hosting.fi) Quit (*.net *.split)
[21:07] * sinistersnare (~sinisters@pool-108-28-93-153.washdc.fios.verizon.net) Quit (*.net *.split)
[21:07] * lazybear (~lazybear@radium.atom.fi) Quit (*.net *.split)
[21:07] * ivan` (~ivan@unaffiliated/ivan/x-000001) Quit (*.net *.split)
[21:07] * diametric (~diametric@2604:3400:dc1:43:216:3eff:fe27:bf9d) Quit (*.net *.split)
[21:07] * diametric (~diametric@2604:3400:dc1:43:216:3eff:fe27:bf9d) has joined #jython
[21:08] * topi`_ (foobar@lima-64.srv.hosting.fi) has joined #jython
[21:08] * ivan` (~ivan@unaffiliated/ivan/x-000001) has joined #jython
[21:09] * sinistersnare (~sinisters@pool-108-28-93-153.washdc.fios.verizon.net) has joined #jython
[21:09] * lazybear (~lazybear@radium.atom.fi) has joined #jython
[21:15] <topi`_> my Twisted project has mushroomed and now it handles a lot of customer data
[21:15] <topi`_> next, I'm going to look at how to run the Twisted code under Jython so we can integrate it to the Java-based backend
[21:16] <topi`_> last time I tried, trial dies mysteriously
[21:16] <topi`_> klein did not work, either. But I guess it's only a lot of hard work :)
[21:16] * smaudet (~smaudet@206-51-157-254.nktelco.net) has joined #jython
[21:16] * JStoker (jstoker@unaffiliated/jstoker) has joined #jython
[21:21] * topi`_ (foobar@lima-64.srv.hosting.fi) Quit (Ping timeout: 245 seconds)
[21:21] * topi` (foobar@lima-64.srv.hosting.fi) has joined #jython
[21:33] <smaudet> I'm having a method overload problem with Jython (I'm using stable). Any ideas?
[21:33] <smaudet> Yells at me that the first argument can't be coerced.
[21:38] <agronholm> smaudet: details please
[21:40] * oscar_toro (~Thunderbi@h-17-170.a328.priv.bahnhof.se) Quit (Ping timeout: 248 seconds)
[21:41] * sinistersnare (~sinisters@pool-108-28-93-153.washdc.fios.verizon.net) Quit (*.net *.split)
[21:41] * lazybear (~lazybear@radium.atom.fi) Quit (*.net *.split)
[21:42] <jimbaker> topi`, i now know enough to write a twisted reactor against netty
[21:42] <smaudet> http://pastebin.com/JfBHLk3c
[21:42] <jimbaker> i also asked one of my colleagues, radix, re trial - radix said it doesn't do anything crazy, so it continues to be mysterious
[21:43] <smaudet> agronholm: its failing to find the ReflectedArgs, I'm looking through the source
[21:44] <smaudet> agronholm: I've tried StringReader, InputStream, String so far
[21:44] <agronholm> it would help to see what the overloaded methods look like
[21:44] <smaudet> Sure
[21:45] <smaudet> agronholm: https://github.com/FasterXML/jackson-databind/blob/master/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java
[21:46] <smaudet> just search for readValue
[21:46] <smaudet> that's the overloaded method in question
[21:46] <agronholm> and what are the actual types of the arguments you're giving it?
[21:47] <smaudet> In python? I don't know. I'm passing something like this "{'my':'string'}",MyValue, where MyValue is class MyValue(object):
[21:47] <smaudet> Its complaining about the first argument though, not the second
[21:47] <smaudet> Second is supposed to be a class type
[21:47] <agronholm> you're giving it a dict?
[21:48] <smaudet> No
[21:48] <agronholm> oh, string
[21:48] <smaudet> "{'my':'string'}" is a string representing a JSON
[21:48] <agronholm> can you point out to me which version is supposed to be invoked with those arguments?
[21:48] <smaudet> ?
[21:48] <smaudet> what version of what
[21:49] <agronholm> the method you're trying to invoke
[21:49] <smaudet> Oh you mean which overloaded function
[21:49] <smaudet> its @ line 2107
[21:52] <agronholm> have you tried removing the other overloads and seeing if it works then?
[21:52] <smaudet> ?
[21:52] <smaudet> Not really an option, this is Jackson. Big, messy, JSON parsing library
[21:52] <smaudet> The issue is why isn't it working, not why isn't Jackson written a different way
[21:53] <agronholm> so you can't do it even for debugging purposes?
[21:53] <smaudet> I'd have to manually refactor a lot of stuff I'm guessing.
[21:54] <agronholm> you could create stub methods in your own class and see if you can reproduce it there
[21:54] <smaudet> There are about 20-30 of these functions and I'd bet you there are other classes which depend on these calls. I doubt I could get the library to compile
[21:54] <agronholm> if you can, then just keep dropping various overloads until it works -- at least then you'll know why it doesn't work
[21:55] <agronholm> but if all else fails, you can get a handle for a specific overload and call it manually
[21:55] <smaudet> So, are you saying you don't think it works because...?
[21:55] <agronholm> there are so many overloads it's hard to tell
[21:55] <agronholm> narrowing down the issue would at least help understand where the problem is
[21:56] <smaudet> It would.
[21:56] <smaudet> But the Java code compiles, so it is correct.
[21:56] <smaudet> I don't think this can be a runtime error on its part.
[21:56] * lopex_ (uid4272@gateway/web/irccloud.com/x-acyiqfwokltdfgam) has joined #jython
[21:56] <smaudet> Might make more sense to start in on Jython's side of things?
[21:57] <agronholm> how would you do that?
[21:57] <smaudet> ...can I call jython from inside python maybe and see what the reflections are doing? :P
[21:57] <agronholm> this is clearly a problem with jython's call resolution
[21:58] <agronholm> huh..?
[21:58] <smaudet> from org.python.core import ReflectedArgs ? :P
[21:58] <smaudet> Or I could attach a debugger to jython perhaps
[22:02] * thereisnospoon (~thereisno@113-61-86-28.static.qld.dsl.net.au) Quit (*.net *.split)
[22:02] * srcerer (~chatzilla@dns2.klsairexpress.com) Quit (*.net *.split)
[22:02] * lopex (uid4272@gateway/web/irccloud.com/x-ciighcppgjlpytov) Quit (*.net *.split)
[22:05] * lopex_ is now known as lopex
[22:05] * thereisnospoon (~thereisno@113-61-86-28.static.qld.dsl.net.au) has joined #jython
[22:08] * srcerer (~chatzilla@dns2.klsairexpress.com) has joined #jython
[22:08] * whg (whg@nat/ibm/x-brezsuwisjaxxpvu) has joined #jython
[22:08] * sinistersnare (~sinisters@pool-108-28-93-153.washdc.fios.verizon.net) has joined #jython
[22:08] * lazybear (~lazybear@radium.atom.fi) has joined #jython
[22:09] * whg (whg@nat/ibm/x-brezsuwisjaxxpvu) Quit (Changing host)
[22:09] * whg (whg@unaffiliated/whg) has joined #jython
[22:12] * srcerer (~chatzilla@dns2.klsairexpress.com) Quit (Ping timeout: 240 seconds)
[22:28] * whg (whg@unaffiliated/whg) Quit (*.net *.split)
[22:35] * sinistersnare (~sinisters@pool-108-28-93-153.washdc.fios.verizon.net) Quit (*.net *.split)
[22:35] * lazybear (~lazybear@radium.atom.fi) Quit (*.net *.split)
[22:35] * smaudet (~smaudet@206-51-157-254.nktelco.net) Quit (Ping timeout: 246 seconds)
[22:38] * lazybear (~lazybear@radium.atom.fi) has joined #jython
[22:38] * sinistersnare (~sinisters@pool-108-28-93-153.washdc.fios.verizon.net) has joined #jython
[22:38] * whg (whg@nat/ibm/x-vebiolwccbqyrduh) has joined #jython
[22:48] * JStoker (jstoker@unaffiliated/jstoker) Quit (Ping timeout: 246 seconds)
[22:48] * whg (whg@nat/ibm/x-vebiolwccbqyrduh) Quit (*.net *.split)
[22:48] * sinistersnare (~sinisters@pool-108-28-93-153.washdc.fios.verizon.net) Quit (*.net *.split)
[22:48] * lazybear (~lazybear@radium.atom.fi) Quit (*.net *.split)
[22:48] * lazybear (~lazybear@radium.atom.fi) has joined #jython
[22:48] * sinistersnare (~sinisters@pool-108-28-93-153.washdc.fios.verizon.net) has joined #jython
[22:48] * whg (whg@nat/ibm/x-vebiolwccbqyrduh) has joined #jython
[22:49] * JStoker (jstoker@unaffiliated/jstoker) has joined #jython
[22:52] * JStoker (jstoker@unaffiliated/jstoker) Quit (Excess Flood)
[22:52] * not-sure (48e1ae0c@gateway/web/freenode/ip.72.225.174.12) has joined #jython
[22:55] * JStoker (jstoker@unaffiliated/jstoker) has joined #jython
[23:14] * zimmermann (~user@178-24-50-233-dynip.superkabel.de) has joined #jython
[23:38] * not-sure (48e1ae0c@gateway/web/freenode/ip.72.225.174.12) Quit (Ping timeout: 245 seconds)

Index

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