#jython IRC Log (v0.9)

Index

IRC Log for 2013-09-17

Timestamps are in GMT/BST.

[0:01] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[0:08] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 240 seconds)
[0:09] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[0:16] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 276 seconds)
[0:17] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[0:24] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 264 seconds)
[0:26] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[0:34] * xymox (lechuck@unaffiliated/contempt) Quit (Read error: Connection reset by peer)
[0:35] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[0:42] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 264 seconds)
[0:42] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[0:49] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 264 seconds)
[0:51] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[0:53] * enebo (~enebo@c-75-73-8-169.hsd1.mn.comcast.net) has joined #jython
[0:54] * enebo (~enebo@c-75-73-8-169.hsd1.mn.comcast.net) Quit (Client Quit)
[0:58] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 276 seconds)
[1:00] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[1:06] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 240 seconds)
[1:09] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[1:17] * xymox (lechuck@unaffiliated/contempt) Quit (Read error: Connection reset by peer)
[1:18] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[1:25] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 240 seconds)
[1:26] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[1:33] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 245 seconds)
[1:34] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[1:41] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 276 seconds)
[1:43] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[1:51] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 245 seconds)
[1:54] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[2:00] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 245 seconds)
[2:02] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[2:10] * xymox (lechuck@unaffiliated/contempt) Quit (Read error: Connection reset by peer)
[2:12] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[2:19] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 246 seconds)
[2:27] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[2:34] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 248 seconds)
[2:37] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[2:46] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 264 seconds)
[2:46] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[2:50] * whg is now known as zz_whg
[2:52] * lheuer (~Adium@unaffiliated/lheuer) Quit (Ping timeout: 245 seconds)
[2:55] * xymox (lechuck@unaffiliated/contempt) Quit (Read error: Connection reset by peer)
[2:55] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[3:02] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 245 seconds)
[3:03] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[3:10] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 245 seconds)
[3:12] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[3:20] * xymox (lechuck@unaffiliated/contempt) Quit (Read error: Connection reset by peer)
[3:21] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[3:28] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 264 seconds)
[3:29] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[3:35] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 245 seconds)
[3:38] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[3:45] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 264 seconds)
[3:47] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[3:54] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 248 seconds)
[3:57] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[4:05] * xymox (lechuck@unaffiliated/contempt) Quit (Read error: Connection reset by peer)
[4:06] * xymox (lechuck@s0.barwen.ch) has joined #jython
[4:06] * xymox (lechuck@s0.barwen.ch) Quit (Changing host)
[4:06] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[4:12] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 268 seconds)
[4:13] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[4:20] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 264 seconds)
[4:21] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[4:28] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 245 seconds)
[4:29] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[5:57] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[6:03] * clajo05 (~clajo04@pool-108-46-137-135.nycmny.fios.verizon.net) has joined #jython
[6:07] * xymox (lechuck@unaffiliated/contempt) Quit (Disconnected by services)
[6:07] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[6:10] * clajo04 (~clajo04@pool-108-46-137-135.nycmny.fios.verizon.net) Quit (*.net *.split)
[6:11] * clajo05 is now known as clajo04
[6:14] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 246 seconds)
[6:15] * Rondom (~rondom@2a01:488:66:1000:b24d:4f2f:0:1) has joined #jython
[6:18] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[6:20] * daenney (~daenney@daenney.net) Quit (Ping timeout: 264 seconds)
[6:20] * Rondom_ (~rondom@2a01:488:66:1000:b24d:4f2f:0:1) Quit (Ping timeout: 264 seconds)
[6:21] * daenney (~daenney@daenney.net) has joined #jython
[6:21] * lopex_ (uid4272@gateway/web/irccloud.com/session) has joined #jython
[6:24] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 248 seconds)
[6:25] * lopex (uid4272@gateway/web/irccloud.com/x-dwjywkfysatnunem) Quit (Ping timeout: 245 seconds)
[6:25] * lopex_ is now known as lopex
[6:26] * swinglin_ (~swingline@cpe-98-144-23-210.wi.res.rr.com) has joined #jython
[6:26] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[6:26] * lopex is now known as Guest40967
[6:27] * pjenvey (pjenvey@underboss.org) Quit (Read error: Operation timed out)
[6:28] * pjenvey (pjenvey@underboss.org) has joined #jython
[6:29] * swingline (~swingline@cpe-98-144-23-210.wi.res.rr.com) Quit (Ping timeout: 276 seconds)
[6:31] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 241 seconds)
[6:33] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[6:39] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 268 seconds)
[6:40] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[6:46] * lheuer (~Adium@89.204.130.96) has joined #jython
[6:46] * lheuer (~Adium@89.204.130.96) Quit (Changing host)
[6:46] * lheuer (~Adium@unaffiliated/lheuer) has joined #jython
[6:47] * xymox (lechuck@unaffiliated/contempt) Quit (Ping timeout: 240 seconds)
[6:54] * xymox (lechuck@s0.barwen.ch) has joined #jython
[6:54] * zz_whg (whg@unaffiliated/whg) Quit (Changing host)
[6:54] * zz_whg (whg@nat/ibm/x-zsftisvnlrkcmdms) has joined #jython
[6:54] * xymox (lechuck@s0.barwen.ch) Quit (Max SendQ exceeded)
[6:55] * Guest40967 (uid4272@gateway/web/irccloud.com/session) Quit (Changing host)
[6:55] * Guest40967 (uid4272@gateway/web/irccloud.com/x-nhlpgpivpqcbufkz) has joined #jython
[6:55] * xymox (lechuck@s0.barwen.ch) has joined #jython
[6:56] * xymox (lechuck@s0.barwen.ch) Quit (Changing host)
[6:56] * xymox (lechuck@unaffiliated/contempt) has joined #jython
[7:25] <topi`> jimbaker: excellent! in other news, it seems that the Twisted devs have assigned the twisted.trial jython issues to me ;)
[7:25] <topi`> they need trial running so that they can run the tests under jython
[8:27] * lheuer (~Adium@unaffiliated/lheuer) Quit (Ping timeout: 240 seconds)
[9:20] * supersven (~sven@port-12811.pppoe.wtnet.de) has joined #jython
[10:07] * Guest40967 is now known as lopex
[13:18] * JythonLogBot disconnected - trying to reconnect...
[13:18] -calvino.freenode.net- *** Looking up your hostname...
[13:18] -calvino.freenode.net- *** Checking Ident
[13:18] -calvino.freenode.net- *** No Ident response
[13:18] -calvino.freenode.net- *** Couldn't look up your hostname
[18:43] -rajaniemi.freenode.net- *** Looking up your hostname...
[18:43] -rajaniemi.freenode.net- *** Checking Ident
[18:43] -rajaniemi.freenode.net- *** No Ident response
[18:43] -rajaniemi.freenode.net- *** Couldn't look up your hostname
[18:43] * JythonLogBot (~PircBot@74.50.59.201) has joined #jython
[18:43] * Topic is 'Try Jython 2.7b1 at http://tinyurl.com/d4s8qvd | 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/'
[18:43] * Set by Juneau001!~Juneau@50-45-119-204.dklb.il.frontiernet.net on Tue Feb 12 23:33:36 UTC 2013
[18:43] * Oti (~ohumbel@adsl-178-39-101-198.adslplus.ch) has joined #jython
[19:24] * swingline (~swingline@cpe-98-144-23-210.wi.res.rr.com) has joined #jython
[19:25] <topi`> ouch. urllib2.urlopen doesn't work with https: urls
[19:31] <topi`> jimbaker: any ways around this SSL handshake exception?
[19:31] <topi`> maybe I should just avoid urllib2. Maybe there's a good java alternative.
[19:33] * lheuer (~Adium@f049198033.adsl.alicedsl.de) has joined #jython
[19:33] * lheuer (~Adium@f049198033.adsl.alicedsl.de) Quit (Changing host)
[19:33] * lheuer (~Adium@unaffiliated/lheuer) has joined #jython
[19:34] <topi`> there is Apache HttpClient, but the example has ~30 lines of code, so not exactly a neat urllib2 replacement ;)
[19:44] <topi`> I tried out java.net.URL
[19:44] <topi`> PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[19:44] <topi`> it doesn't seem to like my self-signed certificate...
[19:57] <jimbaker> topi`, you need code like this: https://github.com/rackerlabs/romper/blob/master/romper/trust.py
[19:58] <jimbaker> regardless of whether you use java.net.URL or the socket reworking (needs to be completed!) in https://bitbucket.org/jimbaker/jython-ssl
[19:59] <jimbaker> topi`, you could also install any certs at the JVM level; i hope the all-trust cert manager i linked makes it clear that this is the recommended solution :)
[20:00] * swingline (~swingline@cpe-98-144-23-210.wi.res.rr.com) Quit (Read error: Connection timed out)
[20:01] * swingline (~swingline@cpe-98-144-23-210.wi.res.rr.com) has joined #jython
[20:13] * swingline (~swingline@cpe-98-144-23-210.wi.res.rr.com) Quit (Remote host closed the connection)
[20:14] <topi`> which one is the recommended solution?
[20:14] <topi`> at least the all-trust mgr looks fairly complex to me...
[20:15] <jimbaker> topi`, i think it's by far the simplest solution
[20:15] <topi`> that trust.py does look a lot shorter than the java examples I saw on stackoverflow
[20:15] <jimbaker> topi`, first, we start with python :)
[20:16] <jimbaker> topi`, it would be nice to put together a pypi package for this too
[20:17] <jimbaker> i could imagine it could even include tools for helping managing the trust store
[20:20] <topi`> conn.setRequestProperty("Authorization", "Basic " + b64string)
[20:20] <topi`> IllegalArgumentException: java.lang.IllegalArgumentException: Illegal character(s) in message header value: Basic YWRtaW46c2lydWhhY2s=
[20:20] <topi`> any hints what kind of illegal chars are there?
[20:21] <jimbaker> topi`, maybe let's see if this is actually uuencoded?
[20:21] <topi`> clearly the string concatenate is successful, but then maybe wrong encoding?
[20:25] <jimbaker> topi`, clearly something like "YWRtaW46c2lydWhhY2s=".decode("base64") is fine
[20:26] <jimbaker> so it's somewhere else, hopefully close by
[20:28] <topi`> I didn't realize the encode/decode issues would extend to coercing to java methods as well :)
[20:28] <jimbaker> topi`, speaking about trust, what if we created the following pypi package (https://pypi.python.org/pypi/trust/ is free, unlike https://pypi.python.org/pypi/distrust/)
[20:29] <jimbaker> which supports a flexible trust manager, including blind trust; and it also include jython command line scripts to manage a trust store
[20:30] <topi`> CPython itself doesn't even have the concept of trust ;)
[20:30] <topi`> it trusts blindly everything. maybe a generic manager? or is it too difficult to share codebase between CPython and Jython?
[20:33] <jimbaker> topi`, so in the current ssl, one can specify a set of ca_certs for a given wrapped_socket. i'm not certain how to map this to java, at least not globally
[20:33] <jimbaker> http://docs.python.org/2/library/ssl.html#ssl.wrap_socket
[20:37] <jimbaker> topi`, actually it looks better than i suspected, http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLContext.html#getInstance(java.lang.String)
[20:38] <jimbaker> "A **new** SSLContext object encapsulating the SSLContextSpi implementation from the first Provider that supports the specified protocol is returned."
[20:40] <jimbaker> so we can configure at the SSLContext level. awesome, because i already had to use individual SSLContext objects anyway, as seen here: https://bitbucket.org/jimbaker/jython-ssl/src/29686771c25ccaa891d68d18802c983a97cfde5c/Lib/ssl.py?at=default#cl-121
[20:42] <topi`> also CPython urllib2 uses SSLContexts in the same way, conceptually
[20:42] <jimbaker> note that "blind trust" or trust store modification is still needed for circumstances like using java.net.URL - there's no way to change their use of the default SSL context
[20:43] <jimbaker> topi`, cool
[20:43] <topi`> because they automatically create the SSLcontext?
[20:43] <jimbaker> yes, in the world of java factories, there's no way to inject here
[20:43] <jimbaker> ironic...
[20:44] <topi`> if you create a factory in jython (inheriting from java base), couldn't it be possible to inject?
[20:44] <jimbaker> maybe there's a "guicable" version in say the google client
[20:44] <jimbaker> you mean java.net.URL? i don't see how
[20:45] <topi`> what about apache HttpClient?
[20:45] <jimbaker> one could use a bootpath jar to intercept java.net.URL
[20:46] <topi`> this becomes slightly too hacky
[20:46] <topi`> I prefer the python mantra, about making things explicit
[20:47] <jimbaker> topi`, exactly. anyway, it's interesting stuff. so the takeaway here is that we could potentially better manage in python
[20:47] <jimbaker> while providing some good tools in jython
[20:47] <jimbaker> anyway, i like the idea of putting together a trust package in pypi for this stuff
[20:47] <topi`> how's your writeup on ProxyMaker? :)
[20:48] <jimbaker> topi`, seriously i should not hang out here ;)
[20:48] <jimbaker> it's going well. i realized that i should refactor clamp
[20:49] <jimbaker> so i put together a new project for that. let me make it public...
[20:49] <topi`> writing doc also lets you rethink things, like refactor methods :)
[20:50] <jimbaker> ok, it's public. just a shell now but soon, there will be stuff there: https://github.com/rackerlabs/clamp/
[20:50] <jimbaker> topi`, the true virtue of open sourfce
[20:50] <jimbaker> i'm just going through my earlier questionable decisions :), and making them better and more usable for general usage
[20:50] <topi`> java.lang.IllegalArgumentException can be triggered when expecting Unicode and receiving ascii?
[20:51] <topi`> but if I .decode('ascii') then the end product ought to be unicode?
[20:51] <jimbaker> topi`, fuller context? in general, i wouldn't want to have java leak out like that in python code...
[20:51] <topi`> i'm calling setRequestProperty on a connectino
[20:52] <topi`> see java.net.URL
[20:53] * cameron__ (~thereisno@27-33-1-87.tpgi.com.au) Quit (Ping timeout: 245 seconds)
[20:54] <jimbaker> topi`, btw, it's considered idiomatic jython to say, conn.requestProperty = ...
[20:54] <jimbaker> this automatically gets translated to conn.setRequestProperty(???)
[20:54] <topi`> thanks!
[20:55] <jimbaker> i mean, you could do it the java way, but i personally prefer it the python way ;)
[20:55] <topi`> if I pass in a tuple..?
[20:55] <jimbaker> so anyway, in this case, it definitely can leak java exceptions
[20:56] <jimbaker> topi`, then it better accept something that it can coerce from a tuple
[20:56] <jimbaker> it = jython runtime
[20:57] <topi`> the conn.setRequestProperty() takes 2 args, the Header name and the Header value
[20:57] <topi`> AttributeError: 'sun.net.www.protocol.https.HttpsURLConnectionImpl' object has no attribute 'requestProperty'
[20:57] <topi`> so it didn't work the way you described...
[20:58] <jimbaker> topi`, ahh, it should
[20:58] <jimbaker> i suppose it could
[20:58] <topi`> try it yourself;)
[20:58] <jimbaker> no, i accept your analysis
[20:58] <jimbaker> but i'm thinking of what's going on here
[21:01] <jimbaker> topi`, i looked through the supporting code
[21:01] <jimbaker> we should modify that support
[21:01] <jimbaker> to make it more regular. should be straightforward, simply use current python property support
[21:02] <jimbaker> sort of a low priority item right now??? but definitely doable
[21:03] <jimbaker> this would make raymond hettinger very happy however
[21:06] * cameron__ (~thereisno@27-33-1-87.tpgi.com.au) has joined #jython
[21:06] <topi`> I bet :)
[21:08] <jimbaker> anyway, i just added to my infinite todo list
[21:16] <jimbaker> topi`, i have to finish generating an assignment for a students, so they have something to keep busy on and/or learn cool stuff
[21:16] <jimbaker> but after that, will turn back to that blog post/clamp refactor
[21:19] <jimbaker> btw, i do plan to add at the beginning support for vararg constructors; i will then think about annotation support
[21:20] <jimbaker> topi`, does quartz need support for annotations, btw? because if it does, that would be an excellent test case for me
[22:01] * whg is now known as zz_whg
[22:12] * enebo (~enebo@c-75-73-8-169.hsd1.mn.comcast.net) Quit (Quit: enebo)
[22:36] <jimbaker> annotations look very useful in quartz: http://quartz-scheduler.org/documentation/quartz-2.x/new-in-quartz-2
[22:37] <jimbaker> so definitely want to add support in clamp sooner than later
[23:15] <jimbaker> oh, i have a crazy idea for doing this. darn, this is much more fun than putting together an assignment ;)
[23:16] <jimbaker> i thought previously of doing this with import hooks (import clamp.magic to enable?). now i have a good idea of exactly what that would look like
[23:54] * swingline (~swingline@cpe-98-144-23-210.wi.res.rr.com) 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).