#jython IRC Log (v0.9)

Index

IRC Log for 2012-04-25

Timestamps are in GMT/BST.

[1:45] * lheuer1 (~Adium@blfd-4db0eaa6.pool.mediaWays.net) has joined #jython
[1:47] * lheuer (~Adium@blfd-4d082af4.pool.mediaWays.net) Quit (Ping timeout: 246 seconds)
[2:59] * jimbaker (~jbaker@canonical/jimbaker) Quit (Quit: Coyote finally caught me)
[3:01] * jimbaker (~jbaker@canonical/jimbaker) has joined #jython
[3:08] * shashank (~shashank@184-96-142-208.hlrn.qwest.net) has joined #jython
[5:01] * lheuer1 is now known as lheuer
[5:25] * robbyoconnor (~wakawaka@guifications/user/r0bby) has joined #jython
[6:40] * seletz (~seletz@85.236.236.50) has joined #jython
[8:29] * lheuer1 (~Adium@blfd-4db0eaa6.pool.mediaWays.net) has joined #jython
[8:32] * lheuer (~Adium@blfd-4db0eaa6.pool.mediaWays.net) Quit (Ping timeout: 244 seconds)
[8:36] * lheuer1 (~Adium@blfd-4db0eaa6.pool.mediaWays.net) Quit (Quit: Leaving.)
[8:39] * lheuer (~Adium@unaffiliated/lheuer) has joined #jython
[8:42] * Oti (~ohumbel@adsl-89-217-45-154.adslplus.ch) has joined #jython
[10:53] * Arfrever (~Arfrever@apache/committer/Arfrever) Quit (Quit: Ex??re)
[11:11] * juneau001 (~juneau@131.225.24.74) has joined #jython
[11:17] * juneau001 (~juneau@131.225.24.74) Quit (Read error: Connection reset by peer)
[11:22] * juneau001 (~juneau@131.225.24.74) has joined #jython
[12:26] * wainersm (~wainersm@189.61.204.85) has joined #jython
[14:04] <DanC_> I just read http://www.jython.org/jythonbook/en/1.0/Concurrency.html ; pretty confusing. If I just want to use Queue.Queue, I can use threading.Thread, right?
[14:34] * enebo (~enebo@75-168-81-196.mpls.qwest.net) has joined #jython
[16:04] <jimbaker> DanC_, they work together, yes - threading.Thread is just a thin wrapper for python compatibility of java threads anyway
[16:04] * DanC_ nods
[16:05] <DanC_> maybe it would help to say, at the top of the page, "all the python standard library modules for threading work; if you're satisifed with those, you needn't read on."
[16:06] * Sheperson (~Ako@91.99.153.229) has joined #jython
[16:07] * pr3d4t0r (~zhenya01@varenka.cime.net) has joined #jython
[16:07] <pr3d4t0r> Sheperson: Hej.
[16:08] <Sheperson> pr3d4t0r, hi
[16:08] <pr3d4t0r> Sheperson: Hola.
[16:08] <Sheperson> What type of projects you have done with Jython?
[16:08] <Sheperson> any web applications?
[16:09] <pr3d4t0r> Sheperson: No.
[16:09] <pr3d4t0r> Sheperson: Server side stuff.
[16:09] <pr3d4t0r> Sheperson: Scalable, mostly ESB-based components.
[16:09] <pr3d4t0r> Sheperson: Translation: lots of web services where all the business logic was implemented in Jython.
[16:10] <Sheperson> How does Jython compare to normal Java?
[16:10] <pr3d4t0r> Sheperson: It's slower.
[16:10] <Sheperson> Jython is slower?
[16:10] <pr3d4t0r> Sheperson: You shouldn't spend too much time calling to/from Java from Jython or vice versa.
[16:10] <pr3d4t0r> Sheperson: Yes, by quite a good margin slower.
[16:11] <pr3d4t0r> Sheperson: 10x, 20x.
[16:11] <Sheperson> then why people bother to use Jython?
[16:11] <Sheperson> and not Python or Java itself?
[16:11] <pr3d4t0r> Sheperson: Because you can code faster, and if you code things the right way you may reuse the Python code in other run-times.
[16:11] <lopex> why not c instead of python then ?
[16:12] <pr3d4t0r> Sheperson: A Java class of equivalent functionality to a Python class will be 2x to 3x bigger and harder to maintain.
[16:12] <Sheperson> lopex, C/C++ are my knights of the round table!
[16:12] <pr3d4t0r> Sheperson: So maintaining the code will be easier in Python than in Java.
[16:12] <lopex> there are more powerfull languages
[16:12] <Sheperson> pr3d4t0r, but what about the performance?
[16:12] <pr3d4t0r> Sheperson: What about it?
[16:12] <Sheperson> lopex, like what?
[16:12] <lopex> haskell ?
[16:12] <lopex> caml ?
[16:13] <pr3d4t0r> Sheperson: In our case, we're writing web services that are pretty robust, have complex logic, etc.
[16:13] <DanC_> scala is sorta pythonic
[16:13] <lopex> c++ is quite poor overall
[16:13] <pr3d4t0r> Sheperson: And they are *public*.
[16:14] <pr3d4t0r> Sheperson: Being public services, the network latency is way longer than the execution latency.
[16:14] <Sheperson> that makes sense
[16:14] <pr3d4t0r> Sheperson: So, unless a service response becomes too long (longer than 1 second), the advantages of using Python > Java.
[16:14] <pr3d4t0r> Sheperson: In 50 or so services we deployed, we only reimplemented one in Java due to performance reasons, and it was because the code was computationally intensive.
[16:15] <Sheperson> good
[16:15] <Sheperson> thanks for your information
[16:15] <Sheperson> but one more thing:
[16:15] <Sheperson> why not use Python itself?
[16:15] <pr3d4t0r> Sheperson: I wrote quite a bit about Jython and Spring/Mule containers.
[16:15] <Sheperson> it's got the simplicity of Jython, plus it's faster
[16:15] <pr3d4t0r> Sheperson: Because Python doesn't have enterprise class framework support like Spring.
[16:15] <lopex> Sheperson: because there's more libraries in java than in python/c
[16:16] <Sheperson> that makes sense too
[16:16] <pr3d4t0r> Sheperson: And the stuff that we were doing had to balance enterprise requirements with speed of development.
[16:16] <pr3d4t0r> Sheperson: One thing, VERY IMPORTANT.
[16:16] <lopex> you dont have to make bindings
[16:16] <Sheperson> very interesting
[16:16] <Sheperson> one last thing :)
[16:16] <pr3d4t0r> Sheperson: DO NOT call Java libraries a lot, in a web container, from Python objects directly.
[16:16] <Sheperson> how different Jython and Python are?
[16:17] <lopex> theya re just pythons
[16:17] <pr3d4t0r> Sheperson: Different runtimes.
[16:17] <Sheperson> I know Python, but have no experience in Jython
[16:17] <Sheperson> oh
[16:17] <pr3d4t0r> Sheperson: There is no "Jython language".
[16:17] <Sheperson> I got it
[16:17] <pr3d4t0r> Sheperson: It's Python on a Java container.
[16:17] <lopex> java container ?
[16:17] <Sheperson> JVM instead of PVM
[16:17] <Sheperson> right?
[16:17] <lopex> yeah
[16:17] <pr3d4t0r> Sheperson: Yeah.
[16:17] <Sheperson> good
[16:17] <Sheperson> thanks for your help
[16:17] <Sheperson> bye
[16:18] <pr3d4t0r> Sheperson: Wait.
[16:18] <pr3d4t0r> Sheperson: Let me show you something.
[16:18] <Sheperson> yeah?
[16:18] <pr3d4t0r> Sheperson: Do you know Spring?
[16:18] <Sheperson> I just know what it is, not much
[16:18] <Sheperson> why?
[16:18] <pr3d4t0r> http://eugeneciurana.com/site.php?page=musings&contentTag=dynamic_mule_updates.html
[16:19] <pr3d4t0r> Sheperson: That's an old write up I did about Mule + Python integration.
[16:19] <pr3d4t0r> Sheperson: The key for us was understanding the don't call Java directly from Python or vice versa thing.
[16:19] <lopex> why is that ?
[16:19] <pr3d4t0r> Sheperson: If you do that in a long-running container, eventually the class loaders will get screwed up and you'll ahve to stop the server.
[16:19] <Sheperson> got it
[16:19] <lopex> pr3d4t0r: what's the reason ?
[16:20] <lopex> the leaks ?
[16:20] <Sheperson> so, Jython without much Java
[16:20] * seletz (~seletz@85.236.236.50) Quit (Quit: seletz)
[16:20] <Sheperson> only Python side
[16:20] <Sheperson> right?
[16:20] <pr3d4t0r> lopex: Leaks introduced by both runtimes since their models of execution are different.
[16:20] <lopex> that doesnt make a lot of sense
[16:20] <pr3d4t0r> lopex: The leaks happen on both sides.
[16:21] <lopex> what leaks ?
[16:21] <lopex> classloaders ?
[16:21] <lopex> we dont leak in jruby when calling java
[16:21] <pr3d4t0r> lopex: The class loaders allocate memory separately, and assume their own context.
[16:21] <lopex> they're still gc-able
[16:21] <lopex> one classloader per method class wrapper
[16:22] <pr3d4t0r> lopex: Right.
[16:22] <pr3d4t0r> lopex: I'll look at my notes. That was the issue. Objects would go out of scope in the JVM that Python still thought had, or vice versa.
[16:23] <lopex> that's a bug then
[16:23] <lopex> not an inherent jython feature
[16:23] <pr3d4t0r> Sheperson: So - when you do Python on JVM, try to do as much as you can in Python space and not cross the boundaries between both.
[16:23] <pr3d4t0r> Sheperson: For example: given the option between using Java time/date libraries, or using Python datetime, use the latter.
[16:24] <pr3d4t0r> lopex: It can happen with JRuby too in a Spring container.
[16:24] <lopex> well, can ?
[16:24] <lopex> what this assumption ?
[16:24] <lopex> er, why
[16:25] <lopex> leaking on java integration is a bug
[16:25] <pr3d4t0r> lopex: I've seen it happen, same conditions. Long running server, lots of service calls, eventually it stopped responding. We traced it down to the class loaders.
[16:25] <lopex> leaks can be fixed
[16:26] <pr3d4t0r> lopex: And I hope they get fixed. Until they do, just keep them separate and minimize the risk.
[16:26] <pr3d4t0r> lopex: Anyway, I'm not here to discuss what could've been. Sheperson asked about actual production roll outs of Jython.
[16:26] <lopex> well, but that's not a case for jruby I hope
[16:27] <pr3d4t0r> lopex: It was about 13 months ago.
[16:27] <lopex> specifically spring ?
[16:28] <pr3d4t0r> lopex: Spring + Tomcat, Glassfish, and Mule.
[16:29] <pr3d4t0r> Sheperson: Anyway - it can and does work, and it's great fun for programming.
[16:29] <pr3d4t0r> Sheperson: http://eugeneciurana.com/site.php?page=musings&contentTag=JavaZone2010.html - here's a presentation I did about JVM scripting for enterprise stuff.
[16:30] <pr3d4t0r> Sheperson: Very Python-centric -- fun at a Java conference :)
[16:30] <pr3d4t0r> Sheperson: And it goes into all kinds of details on why and when to use Python over Java, and some of the gotchas of the Jython run-time.
[16:31] <Sheperson> sorry guys, I was away
[16:31] <Sheperson> let me read
[16:33] <Sheperson> wow
[16:33] <Sheperson> so much useful info here
[16:33] <Sheperson> thanks
[16:33] <Sheperson> pr3d4t0r, are you there in the picture at http://eugeneciurana.com/site.php?page=musings&contentTag=JavaZone2010.html ?
[16:34] <pr3d4t0r> Sheperson: Yeah, dude in the orange T-shirt.
[16:34] <Sheperson> cool
[16:34] <Sheperson> :D
[16:34] <pr3d4t0r> Sheperson: http://eugeneciurana.com/site.php?page=resume - here, this is me.
[16:34] <pr3d4t0r> Sheperson: Green photo there.
[16:34] <Sheperson> mmmm
[16:35] <Sheperson> so you are a geek
[16:35] <Sheperson> :P
[16:36] <pr3d4t0r> Sheperson: No, I'm a nerd.
[16:36] <Sheperson> ;D
[16:36] <Sheperson> I wonder if anyone here has done any web development in Jython using Django?
[16:36] <pr3d4t0r> Sheperson: Superficially similar to a geek, but way different internally.
[16:36] <Sheperson> yeah
[16:36] <pr3d4t0r> Sheperson: Not worth it.
[16:36] <Sheperson> really?
[16:37] <pr3d4t0r> Sheperson: If you're going for Django, just use CPython or whatever. You'll be happier :)
[16:37] <Sheperson> I was just curious
[16:37] <lopex> pr3d4t0r: I'll raise the leak issue on #jruby
[16:38] <Sheperson> ok guys, thanks for your information, I have many more questions to ask.
[16:38] <Sheperson> I will be back in a few hours
[16:39] <Sheperson> thanks again, pr3d4t0r and lopex
[16:39] <Sheperson> bye
[16:40] <pr3d4t0r> Sheperson: Cheers.
[16:40] <pr3d4t0r> lopex: Say 'hi' to Ola from me.
[16:40] <pr3d4t0r> lopex: We're friends in the real world.
[16:40] <lopex> he's hardly ever there now
[16:40] <lopex> oh cool
[16:40] <pr3d4t0r> lopex: I'm not sure he'll grok pr3d4t0r but tell him Eugene said 'hi' if he's around :)
[16:41] <lopex> pr3d4t0r: heh, the whole leak issue might be just spring related
[16:41] <lopex> nothing to do with jruby for example
[16:42] <pr3d4t0r> lopex: http://eugeneciurana.com/galereya/view_photo.php?set_albumName=tssjsb2007-4&id=IMG_0080
[16:42] <pr3d4t0r> lopex: Well, we see it on Glassfish too.
[16:42] <pr3d4t0r> lopex: Without Spring.
[16:42] <lopex> haha, how would I not recognize him :)
[16:42] <lopex> jython or jruby ?
[16:42] <pr3d4t0r> lopex: And we see it every time we mix class loaders.
[16:42] <pr3d4t0r> lopex: Yes.
[16:43] <lopex> both ?
[16:43] <pr3d4t0r> lopex: Yes.
[16:43] * Sheperson (~Ako@91.99.153.229) Quit (Quit: Leaving)
[16:44] <lopex> jruby uses java integration a LOT when deployed wiht rails
[16:44] <lopex> and nothing leaks
[16:44] <lopex> and that's far more involved than spring
[16:44] <lopex> I'll have to assume that's spring's fault
[16:45] <lopex> nothing to do with jruby
[16:46] <DanC_> is zxJDBC part of jython? http://jj-blogger.blogspot.com/2009/09/jython-251rc2-zxjdbc-withstatement.html suggests it is
[16:46] <DanC_> but when I installed jython and tried to import zxJDBC, I lost. (maybe I did it wrong)
[16:48] <pr3d4t0r> lopex: You're making the wrong assumption.
[16:48] <pr3d4t0r> lopex: Rails is Ruby already.
[16:48] <lopex> nope
[16:48] <pr3d4t0r> lopex: And Rails apps tend to behave in Ruby-like ways.
[16:48] <lopex> there's whole lot of java integration
[16:48] <lopex> that's not true
[16:48] <pr3d4t0r> lopex: Right - but that's already done.
[16:48] <pr3d4t0r> lopex: And debugged.
[16:49] <lopex> ar-jdbc is a good example
[16:49] <pr3d4t0r> lopex: Go write a Rails app that instantiates and releases a whole bunch of Java-only objects, over and over again, and it'll eventually barf.
[16:49] <lopex> there's huge amount of code where's java/ruby interaction
[16:49] <lopex> jruby.rails does it
[16:49] <pr3d4t0r> lopex: ar-jdbc uses connection pools, doesn't it?
[16:49] <pr3d4t0r> lopex: So it's not creating connections all over the place between Ruby and Java, using Java objects from Ruby.
[16:51] <lopex> it can
[16:51] <lopex> pr3d4t0r: it's creating tons of java object each time
[16:51] <lopex> *objects
[16:53] <pr3d4t0r> lopex: OKi.
[16:53] <pr3d4t0r> lopex: Also, I understand that the budgets for Jython are way smaller than for JRuby.
[16:54] <lopex> I know
[16:54] <pr3d4t0r> lopex: I believe there's some corporate backers for JRuby that aren't as ready for Jython. So if they have better integration, it makes sense.
[16:54] <pr3d4t0r> lopex: For all I know (and I use JRuby very, very little) the integration goes all the way down to -bootclass when the JVM starts; that'd help overcome some of the issues I described.
[16:55] <pr3d4t0r> lopex: And I haven't touched JRuby in 12-15 months in a container; during that time, I know there's been only one Jython release and 2.7 is still ways off.
[16:56] <agronholm> an alpha due next month
[16:56] <lopex> -bootclass ?
[16:56] <pr3d4t0r> lopex: So it'd make sense it's better - I'm speaking of what was state of the art a year ago for pretty much any JSR-223 language, and what we were seeing in actual runs.
[16:56] <pr3d4t0r> agronholm: Yey!
[16:56] <lopex> it's for faster startup
[16:56] <pr3d4t0r> lopex: You can also put classes at JVM startup (do you want me to go run java -help and java -XX to see the actual option?) that lets you load classes that override the standard ones.
[16:57] <pr3d4t0r> lopex: Terracotta used that for their transparent caching to replace all the standard collections classes with their implementation.
[16:58] <jimbaker> lopex, pr3d4t0r, correct, putting on bootpath avoid class verification, so you get lower startup time
[16:59] <jimbaker> pr3d4t0r, for jython 2.7, i committed to fixing this bug, http://bugs.jython.org/issue1327, which does introduce a classloader leak on containers that reuse threads
[16:59] <jimbaker> iirc, this is the case for glassfish
[17:00] <jimbaker> this happens because ThreadState (a ThreadLocal) holds references to the generated java proxies, and then to their classloaders
[17:00] <pr3d4t0r> jimbaker: :*
[17:01] <pr3d4t0r> jimbaker: I can't wait to get Jython 2.7 :)
[17:02] <pr3d4t0r> jimbaker: I'm doing a project now where 2.7 would be schweet; I'm tired of import simplejson as json :)
[17:02] <pr3d4t0r> jimbaker: And similar mini-kludges.
[17:03] <jimbaker> pr3d4t0r, sounds great. there's been a great deal of progress, http://gradual.colorado.edu/hudson/job/Jython-Trunk%20Regression/, but still a lot of failing tests to go
[17:03] <pr3d4t0r> jimbaker: You're in the Bay Area, right?
[17:04] <pr3d4t0r> jimbaker: If so, I should kidnap you, pjenvey, and niallo for sushi :)
[17:04] <pr3d4t0r> jimbaker: niallo is a regular sushi goer with us.
[17:04] <jimbaker> pr3d4t0r, i'm in boulder, but i do make it the bay area periodically. i work for canonical as part of the ubuntu server team, so i will be in oakland in two weeks
[17:05] <jimbaker> i believe pjenvey lives in the east bay; and fwierzbicki is close to SFO
[17:05] <pr3d4t0r> jimbaker: Ugh, I'll be done by then.
[17:05] <pr3d4t0r> jimbaker: You know we hired a few of your guys to work with a startup I did here, right?
[17:05] <pr3d4t0r> jimbaker: Neil Levine :)
[17:05] <pr3d4t0r> jimbaker: Matt Asay is on our board.
[17:06] <jimbaker> really, i used to report to be part of neil's team when i first joined canonical
[17:06] <pr3d4t0r> jimbaker: And I'm pushing Ubuntu Server wherever I go. Now, if Gustavo weren't such a dick, I might be using Landscape.
[17:06] <pr3d4t0r> jimbaker: ;)
[17:06] <pr3d4t0r> jimbaker: I'll probably have sushi with Neil this week.
[17:07] <jimbaker> pr3d4t0r, best for me to avoid comment on that
[17:08] <jimbaker> pr3d4t0r, fwierzbicki actually worked on landscape before leaving to work on jython full-time again
[17:09] <pr3d4t0r> jimbaker: :)
[17:09] <jimbaker> anyway, i believe the rule of the jython team is never to turn down an offer for free food, so you should definitely see if you can meet up
[17:17] <pr3d4t0r> jimbaker: 06.May might work out just fine.
[17:17] <pr3d4t0r> jimbaker: I think I fly back on or around 10.May.
[17:17] <jimbaker> pr3d4t0r, sounds great!
[17:26] <fwierzbicki> pr3d4t0r: hi there - the current plan is to get an alpha out in May and a final by July 15
[17:26] <pr3d4t0r> :)
[17:26] <fwierzbicki> pr3d4t0r: July 15 is the end date for my contract to get Jython to 2.7
[17:27] <pr3d4t0r> fwierzbicki: jimbaker just talked me into using a beta in production. We release our stuff in prod around 15.June.
[17:27] <fwierzbicki> A company Adconion is the funder - they are a Java/Python shop that uses Jython and they too are tired of 2.5 workarounds :)
[17:27] <pr3d4t0r> fwierzbicki: I would love to use 2.7 instead of 2.5.
[17:28] <fwierzbicki> I feel good about July 15 so far
[17:29] <fwierzbicki> I'm not far from getting the PEPs from 2.6 and 2.7 in - and I'm probably half done with the 1000 papercuts that come with each new version of cpython :)
[17:29] <agronholm> I'll probably start using it myself in dev since the first alpha, and in production once I'm comfortable with it (making sure it has no showstopper bugs for me)
[17:33] <pr3d4t0r> agronholm: What I'm building is Mule + Python again.
[17:35] <pr3d4t0r> agronholm: Only the business logic is written in Python. All the protocol, attributes, and routing are in Mule.
[17:38] <fwierzbicki> pr3d4t0r: jimbaker is correct at least for me - I wouldn't turn down free food :)
[17:39] <fwierzbicki> pr3d4t0r: but seriously - I love to meet up with people making serious use of Jython
[17:39] * shashank (~shashank@184-96-142-208.hlrn.qwest.net) Quit (Ping timeout: 265 seconds)
[17:44] <pr3d4t0r> fwierzbicki: I'm kinda organizing a quick outing with Niel, jimbaker, and you, if you're around :)
[17:44] <pr3d4t0r> fwierzbicki: Where are you based?
[17:44] <fwierzbicki> I'm in San Bruno - so right next to SFO
[17:45] <pr3d4t0r> fwierzbicki: Coolio. Then keep your eyes peeled here for the invite.
[17:45] <pr3d4t0r> fwierzbicki: It'll be on or around 07.May.
[17:45] <fwierzbicki> pr3d4t0r: ok sounds good
[17:45] <pr3d4t0r> fwierzbicki: You're welcome to come for a sushi run earlier, though :) I'm going with friends tomorrow night.
[17:45] <pr3d4t0r> fwierzbicki: We had these Java Thursday Sushi Run things when I was living here full time.
[17:46] <pr3d4t0r> fwierzbicki: Now they happen only when I'm around to organize, or without me at times unknown to me :)
[17:46] <fwierzbicki> pr3d4t0r: that sounds great, I'd love to tag along
[17:57] * ctismer is now known as ctismer_afk
[18:03] * fwierzbicki (~frank@99-106-170-105.lightspeed.sntcca.sbcglobal.net) Quit (Read error: Connection reset by peer)
[18:03] * fwierzbicki (~frank@99-106-170-105.lightspeed.sntcca.sbcglobal.net) has joined #jython
[18:48] * ctismer_afk is now known as ctismer
[19:14] * juneau001 (~juneau@131.225.24.74) Quit (Quit: juneau001)
[19:14] * neppord (~neppord@c-2ec22670-74736162.cust.telenor.se) has joined #jython
[19:14] <neppord> Hi all
[19:15] <neppord> any one knows a way to use bpython as the shell for python?
[19:15] <neppord> 'jython
[19:15] <agronholm> I don't think that's possible
[19:15] * neppord are sorry for his spell checker which 'corrects' jython
[19:16] <neppord> :(
[19:16] <neppord> Is there any work done on curses lib for python?
[19:16] <neppord> 'jython
[19:16] <agronholm> not that I'm aware
[19:16] <jimbaker> this came up before
[19:16] <agronholm> there is this though: http://blog.secretr.org/2009/11/4/How_to_use_IPython_with_Jython/
[19:16] <jimbaker> there is a java curses library
[19:17] <neppord> yes, i have found that???. though it does not help much
[19:17] <jimbaker> i would not recommend that blog post now
[19:17] <jimbaker> jython has full readline support
[19:18] <neppord> ok
[19:18] <jimbaker> what it really needs is for us to get ipython working properly
[19:18] <jimbaker> last i checked, there's really just a little bit of work necessary
[19:18] * Oti (~ohumbel@adsl-89-217-45-154.adslplus.ch) Quit (Ping timeout: 252 seconds)
[19:18] * enebo (~enebo@75-168-81-196.mpls.qwest.net) Quit (Quit: enebo)
[19:18] <neppord> Well that might be good, but i think bpython is easier then IPython.
[19:19] <jimbaker> see http://bugs.jython.org/issue1133
[19:19] <neppord> Im giving a small talk (to make people intrested) what should i mention about jython?
[19:20] <jimbaker> neppord, try this
[19:20] <jimbaker> from __future__ import GIL
[19:20] <jimbaker> it's just an easter egg
[19:21] <neppord> haha
[19:21] <neppord> nice one
[19:21] <neppord> il save that
[19:21] <jimbaker> so i think concurrency is a key piece
[19:21] <jimbaker> maybe you want to start with my talk on jython concurrency?
[19:21] <neppord> Nice, link?
[19:22] <jimbaker> http://pyvideo.org/video/388/pycon-2011--jython-concurrency
[19:22] <neppord> Is it still possible to make applets?
[19:22] <jimbaker> i could send you the slides, it's licensed under CCSA expressly for someone to use as a talk
[19:22] <neppord> i remember that the support was kind of bad these days!?
[19:23] <agronholm> applets require a java entry point
[19:23] <neppord> Okey...
[19:23] <neppord> jimbaker: no thx I'm good
[19:23] <agronholm> which is currently impossible to do in jython, so you need some java boilerplate for that
[19:23] <agronholm> but you can implement the actual logic in python with the use of jython
[19:23] <agronholm> however, it'll be a huge download
[19:24] <neppord> agronholm: ok, thats nice to know
[19:24] <agronholm> so generally not recommended
[19:24] <jimbaker> yes, it's not terribly compelling right now. maybe in the future
[19:25] <agronholm> well I don't see any way around having the user download the jython runtime
[19:25] <agronholm> and applets are virtually dead tech
[19:25] <neppord> yes, but if you what python in the browser???
[19:25] <agronholm> huh?
[19:26] <agronholm> firefox did, but the dropped it a while ago since nobody was using it
[19:26] <agronholm> *they
[19:26] <neppord> yes, i know
[19:26] <neppord> to bad
[19:26] <agronholm> so that's a very hypothetical "if"
[19:27] <neppord> del the problem is that you can't say to a user, you need to go here an download this special browser
[19:27] <neppord> you need to have a fallback for your typical user
[19:27] <neppord> any ways, not as important now...
[19:28] <jimbaker> biab, lunch
[19:33] <neppord> thx for your help, its bed time for me now!
[19:33] * neppord (~neppord@c-2ec22670-74736162.cust.telenor.se) has left #jython
[19:36] * robbyoconnor (~wakawaka@guifications/user/r0bby) Quit (Ping timeout: 250 seconds)
[19:40] * seletz (~seletz@85.236.236.50) has joined #jython
[19:45] * Oti (~ohumbel@adsl-84-227-55-145.adslplus.ch) has joined #jython
[20:01] * seletz (~seletz@85.236.236.50) Quit (Ping timeout: 252 seconds)
[20:33] * megaTherion (therion@unix.io) Quit (Quit: ZNC - http://znc.sourceforge.net)
[21:13] * wainersm (~wainersm@189.61.204.85) Quit (Quit: Ex-Chat)
[21:16] * shashank (~shashank@gradual.colorado.edu) has joined #jython
[21:32] <jimbaker> here's an idea i have been mulling about for inclusion in 2.7: allow for arbitrary implementations of Map|ConcurrentMap, List, Set to be used as the backing for dict, list, and set
[21:33] <jimbaker> most importantly, this would be without the overhead of boxing/unboxing
[21:37] <jimbaker> so assume a new module in jython's stdlib, collections.java. it would have functions frommap, fromlist, fromset. the type hierarchy would be adjusted in such a way that we could create a dict backed by a suitable guava collection. it might be nice to have this more like maketuple so we are not actually pretending it's a dict, but again without the overhead
[21:37] <jimbaker> or of course any other Map producer
[21:37] <agronholm> what's the benefit?
[21:38] <jimbaker> no __java__/py2java overhad
[21:39] <jimbaker> also it would be a dict, instead of the sort-of like dict that we have now if you were to use say a HashMap from jython. although that's really a bug, that feature gap
[21:44] <jimbaker> agronholm, anyway just wanted to toss that thought out there as a way to better bridge python/java
[21:55] <DanC_> does jython look for .py modules in CLASSPATH? I'm doing <script src="modA.py"/> in Ant. It complains that import modB fails, even though modA and modB are in the same directory
[21:55] <DanC_> the <script> Ant deely takes a classpath param...
[21:59] <DanC_> ooh... indeed, it does.

Index

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