#jython IRC Log (v0.9)

Index

IRC Log for 2010-08-07

Timestamps are in GMT/BST.

[0:08] * lucian_ (~lucian@188-222-55-189.zone13.bethere.co.uk) Quit (Remote host closed the connection)
[0:08] * lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) has joined #jython
[0:09] * lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) Quit (Remote host closed the connection)
[0:13] * lopex (lopex@chello089076044027.chello.pl) Quit ()
[0:16] * jbaker (~jbaker@sta-204-144-184-242.rockynet.com) Quit (Read error: No route to host)
[0:18] * jimbaker (~jbaker@sta-204-144-184-242.rockynet.com) has joined #jython
[0:22] * headius (~headius@fa66.ips.PaulBunyan.net) Quit (Ping timeout: 264 seconds)
[0:38] * headius (~headius@fa66.ips.PaulBunyan.net) has joined #jython
[1:04] * jimbaker (~jbaker@sta-204-144-184-242.rockynet.com) Quit (Quit: jimbaker)
[1:30] * ttmrichter (~ttmrichte@111.173.97.187) has joined #jython
[1:45] * verterok (~ggonzalez@unaffiliated/verterok) Quit (Quit: Lost terminal)
[2:14] * megamark16 (428e28fa@gateway/web/freenode/ip.66.142.40.250) has joined #jython
[2:15] <megamark16> so, can I compile my python code down to a class file or jar for use in a java project?
[2:36] <agronholm> you still need the jython runtime
[2:36] <agronholm> compiling all py files in a directory to .class: jython -m compileall .
[2:45] <megamark16> awesome!
[2:46] <megamark16> so when you say I still need the jython runtime, you mean that I cannot use java to execute these classes
[2:46] <megamark16> and I can't integrate them into a java project
[2:46] <megamark16> right?
[3:12] * megamark16 (428e28fa@gateway/web/freenode/ip.66.142.40.250) Quit (Ping timeout: 252 seconds)
[3:18] * stakkars (~tismer@i577B46ED.versanet.de) Quit (Ping timeout: 252 seconds)
[3:24] * stakkars (~tismer@i577B7121.versanet.de) has joined #jython
[3:44] * headius (~headius@fa66.ips.PaulBunyan.net) Quit (Quit: headius)
[3:46] * gqlewis (~gqlewis@h242.94.82.166.static.ip.windstream.net) has joined #jython
[3:55] * basicer_ (~basicer@rps13.marketingmailings.com) Quit (Ping timeout: 276 seconds)
[4:54] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) has joined #jython
[4:55] * jbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) has joined #jython
[4:55] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) Quit (Read error: Connection reset by peer)
[4:55] * jbaker is now known as jimbaker
[5:25] * stakkars (~tismer@i577B7121.versanet.de) Quit (Ping timeout: 276 seconds)
[5:30] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) Quit (Quit: jimbaker)
[5:31] * stakkars (~tismer@i577B7458.versanet.de) has joined #jython
[5:33] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) has joined #jython
[5:47] * lolsuper_ (~super_@unaffiliated/lolsuper-/x-9881387) Quit (Read error: Connection reset by peer)
[5:48] * lolsuper_ (~super_@unaffiliated/lolsuper-/x-9881387) has joined #jython
[8:01] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) Quit (Quit: jimbaker)
[8:52] * ttmrichter (~ttmrichte@111.173.97.187) Quit (Ping timeout: 265 seconds)
[8:53] * jabley (~jabley@cpc1-farn4-0-0-cust318.glfd.cable.ntl.com) has joined #jython
[8:53] * ttmrichter (~ttmrichte@111.173.97.187) has joined #jython
[10:03] * gqlewis (~gqlewis@h242.94.82.166.static.ip.windstream.net) Quit (Quit: gqlewis)
[10:53] * gqlewis (~gqlewis@h242.94.82.166.static.ip.windstream.net) has joined #jython
[11:05] * jabley (~jabley@cpc1-farn4-0-0-cust318.glfd.cable.ntl.com) Quit (Quit: jabley)
[11:59] * lopex (lopex@chello089076044027.chello.pl) has joined #jython
[12:11] * lopex (lopex@chello089076044027.chello.pl) Quit ()
[12:36] * jabley (~jabley@cpc1-farn4-0-0-cust318.glfd.cable.ntl.com) has joined #jython
[12:49] * deorbital (~mihail@unaffiliated/orbital) has joined #jython
[12:49] <deorbital> morning
[12:50] <deorbital> any way to make PyDev not complain on calling sun.misc.Signal.raise()?
[12:53] * jabley (~jabley@cpc1-farn4-0-0-cust318.glfd.cable.ntl.com) Quit (Quit: jabley)
[13:22] * juneau001 (~juneau@pool-72-69-82-7.chi01.dsl-w.verizon.net) Quit (Quit: juneau001)
[13:22] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) has joined #jython
[13:25] * juneau001 (~juneau@pool-72-69-82-7.chi01.dsl-w.verizon.net) has joined #jython
[13:26] * agronholm (~demigod@nblzone-211-17.nblnetworks.fi) Quit (Quit: KVIrc 4.0.2 Insomnia http://www.kvirc.net/)
[13:29] * juneau001 (~juneau@pool-72-69-82-7.chi01.dsl-w.verizon.net) Quit (Client Quit)
[13:33] * juneau001 (~juneau@pool-72-69-82-7.chi01.dsl-w.verizon.net) has joined #jython
[13:42] * agronholm (~demigod@nblzone-211-17.nblnetworks.fi) has joined #jython
[13:44] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) Quit (Quit: jimbaker)
[13:55] * stakkars (~tismer@i577B7458.versanet.de) Quit (Quit: stakkars)
[13:58] * stakkars (~tismer@i577B7458.versanet.de) has joined #jython
[14:51] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) has joined #jython
[15:01] * jimbaker (~jbaker@c-24-8-39-78.hsd1.co.comcast.net) Quit (Quit: jimbaker)
[15:24] * deorbital (~mihail@unaffiliated/orbital) Quit (Quit: This computer has gone to sleep)
[15:39] * deorbital (~mihail@unaffiliated/orbital) has joined #jython
[15:42] * jimbaker (~jbaker@64.134.151.200) has joined #jython
[15:44] * deorbital (~mihail@unaffiliated/orbital) Quit (Quit: This computer has gone to sleep)
[15:44] <jimbaker> deorbital: maybe just use the Python signal module directly? (it uses sun.misc.Signal, if of course it's available)
[15:48] <jimbaker> although to be honest, i think any use of signals in java code is a bad idea... we implemented it just to support twisted. i would think the better approach is to use a c wrapper like this one - http://commons.apache.org/daemon/
[16:09] * ttmrichter (~ttmrichte@111.173.97.187) Quit (Quit: Quitting)
[16:14] <jimbaker> maybe the right solution is to use cpython as the c wrapper - it would be much easier to develop better fitting solutions than trying to code this in c, along the lines of nailgun or apache's daemon
[16:18] <jimbaker> i think the reason nailgun and daemon remain point solutions is that there's so much overhead in adding to them. but we routinely put together solutions like this all in the time in cpython. 3.2 in particular includes a daemon module, http://pypi.python.org/pypi/python-daemon/, and it's available as a separate implementation in http://pypi.python.org/pypi/python-daemon/
[16:20] <jimbaker> combining this with execnet (http://pypi.python.org/pypi/python-daemon/) and we might have a really good combination
[16:23] <agronholm> I have something where I do most work on cpython and then only use jython for generating pdfs via jasperreports
[16:24] <agronholm> via execnet
[16:27] <jimbaker> agronholm: cool, i remember recommending execnet earlier to you, so glad it worked out :)
[16:28] <agronholm> it's still WIP, so I dunno how it'll turn out
[16:28] <jimbaker> the good thing is, holger (execnet's author) is very responsive
[16:29] <jimbaker> also, it's such a simple model, can easily do things with it
[16:32] * headius (~headius@fa66.ips.paulbunyan.net) has joined #jython
[16:32] <headius> so what's this "duh" moment
[16:33] <headius> jimbaker: howdee
[16:33] <jimbaker> headius: you may recall at the jvm lang summit last year i suggested we needed to spend some time on nailgun
[16:34] <jimbaker> naturally since we normally don't spend time in the c world, despite this being considered a good thing, we ended not doing any work on it
[16:35] <headius> ok
[16:35] <jimbaker> (for those not conversant about nailgun, it's a great solution for reducing startup times, etc, at the cost of leaving a jvm process running on an open socket... so rather insecure)
[16:35] <headius> so you're thinking you could write that in python with all the benefits of python and use that as the client to the nailgunish jython instance
[16:36] <jimbaker> yeah.... exactly my thought
[16:36] <jimbaker> python (or ruby) is pretty good at this policy sort of stuff
[16:36] <headius> to be honest, on many platforms if the client were even just *java* it would start up fast enough for this
[16:36] <headius> though on 64-bit JVMs you don't have the shared memory stuff that makes it really fast
[16:36] <headius> it's an interesting idea though
[16:37] <jimbaker> true... i remember agronholm reporting maybe a 100ms startup time of hello world on his box
[16:37] <jimbaker> (written in java)
[16:37] <headius> even better would be if we could write it in ruby or python and produce a simple binary that does everything
[16:37] <headius> there are some folks using cruby to drive jruby-based apps
[16:37] <headius> the appengine tools work like that, for example
[16:38] <jimbaker> makes sense... similar to why we also have the posix c support, when not in a container
[16:38] <jimbaker> (so we can get stuff like pip working on jython)
[16:40] <jimbaker> in the cpython world, there are some bundling tools that let you generate fully contained executables of python code. not too familiar with them, but could be one recipe
[16:40] <jimbaker> usually this is overkill however
[16:41] * clajo04_ (~clajo04_@pool-74-108-95-175.nycmny.fios.verizon.net) Quit (Quit: clajo04_)
[16:41] <jimbaker> a better example in cpython is the support in setuptools of creating stub exe's that run a desired python script
[16:50] <headius> what's pip?
[16:50] <jimbaker> pip - python installer
[16:51] <headius> there are some ruby2exe things for us as well, but they all sound a little flaky
[16:51] <jimbaker> basically the replacement for easy_install
[16:51] <headius> oh right
[16:51] <jimbaker> yeah, i think the way setuptools works is much better - it simply gets around the fact that .bat files suck
[16:52] <headius> so yeah, I suppose it would be interesting to make a first pass at this by porting the nailgun client's C code to python/ruby
[16:52] <headius> it would probably be considerably less code
[16:52] <headius> arg process, etc
[16:52] <headius> 642 lines of C
[16:53] <headius> a lot of it monkeying with socket stuff that should "just work" from ruby or python
[16:53] <jimbaker> pretty minimal - but the key is adding stuff like security
[16:54] <headius> yeah
[16:54] <headius> ideal would be to use unix sockets, but that gets back to JVM/JDK hassles
[16:54] <headius> named pipes on windows I suppose
[16:55] <jimbaker> no... just have the container running jython (or jruby) also be cpython (or cruby)
[16:55] <jimbaker> so you can use unix sockets, or whatever desired communication
[16:55] <headius> well the target JVM needs to eventually receive commands
[16:56] <headius> oh
[16:56] <jimbaker> right, but it's driven by its cpython container :)
[16:56] <headius> are you talking about having cpython/cruby launch JVM via FFI or something?
[16:56] <headius> FFI/ctypes
[16:56] <jimbaker> no, just use execnet
[16:56] <jimbaker> it has all the launcher stuff covered
[16:56] <headius> I don't know execnet
[16:57] <jimbaker> http://codespeak.net/execnet/ - utterly simplistic
[16:57] <jimbaker> (so it doesn't get in the way)
[16:59] <jimbaker> basically the cpython container is set up recipe style to live in the native env. does it need to be a daemon, handle signals, etc? or talk to a stub client via a unix domain socket? all that's configured on the cpython daemon. it acts as a shell for the jython process that actually does the work
[17:00] <jimbaker> (sub in cruby/jruby as appropriate here)
[17:03] <jimbaker> anyway, it's really cool to have a duh moment, and realize that we can do something very useful without a lot of work ;)
[17:04] <jimbaker> with that, got to run - need to take kids to a boy scout family event
[17:05] * jimbaker (~jbaker@64.134.151.200) Quit (Quit: jimbaker)
[17:44] * juneau001_ (~juneau@pool-72-69-220-158.chi01.dsl-w.verizon.net) has joined #jython
[17:46] * juneau001 (~juneau@pool-72-69-82-7.chi01.dsl-w.verizon.net) Quit (Ping timeout: 265 seconds)
[17:46] * juneau001_ is now known as juneau001
[17:54] * deorbital (~mihail@unaffiliated/orbital) has joined #jython
[17:55] * deorbital (~mihail@unaffiliated/orbital) Quit (Client Quit)
[17:56] * lopex (lopex@chello089076044027.chello.pl) has joined #jython
[18:41] * jabley (~jabley@cpc1-farn4-0-0-cust318.glfd.cable.ntl.com) has joined #jython
[18:57] * deorbital (~mihail@unaffiliated/orbital) has joined #jython
[18:59] * headius (~headius@fa66.ips.paulbunyan.net) Quit (Quit: headius)
[19:18] * deorbital (~mihail@unaffiliated/orbital) Quit (Quit: This computer has gone to sleep)
[19:19] * deorbital (~mihail@unaffiliated/orbital) has joined #jython
[19:20] * deorbital (~mihail@unaffiliated/orbital) Quit (Client Quit)
[19:47] * basicer_ (~basicer@ool-ad02e4a3.dyn.optonline.net) has joined #jython
[19:49] <basicer_> is there any way to change how include works when embeding jython, i.e. load files from a database instead of the search path
[19:51] <basicer_> [and by include i mean import]
[19:56] * agronholm (~demigod@nblzone-211-17.nblnetworks.fi) Quit (Read error: Connection reset by peer)
[19:57] * agronholm (~demigod@nblzone-211-17.nblnetworks.fi) has joined #jython
[20:18] * jabley (~jabley@cpc1-farn4-0-0-cust318.glfd.cable.ntl.com) Quit (Quit: jabley)
[20:34] * deorbital (~mihail@unaffiliated/orbital) has joined #jython
[20:34] * lolsuper_ (~super_@unaffiliated/lolsuper-/x-9881387) Quit (Quit: Leaving)
[20:34] * lolsuper_ (~super_@unaffiliated/lolsuper-/x-9881387) has joined #jython
[21:36] * r0bby (~wakawaka@guifications/user/r0bby) has joined #jython
[21:36] * r0bby is now known as robbyoconnor
[21:41] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Read error: Connection reset by peer)
[21:55] * gqlewis (~gqlewis@h242.94.82.166.static.ip.windstream.net) Quit (Remote host closed the connection)
[21:55] * gqlewis (~gqlewis@h242.94.82.166.static.ip.windstream.net) 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).