Ringobot log - RingoJS IRC channel: #ringojs on irc.freenode.net

2010-05-06:

[9:28] <ringostarr> ff1378c Hannes Walln?fer: Make lastModified() and checksum() on servlet repositories and resources work.
[9:28] <ringostarr> fe77ec0 Hannes Walln?fer: Add leading slash to ringoHome parameter, add load-on-startup element.
[9:28] <ringostarr> d992060 Hannes Walln?fer: Add leading slash to ringoHome default value, clean up conditional continuation support
[9:28] <ringostarr> 20c2717 Hannes Walln?fer: Use repository instead of filesystem API to make packages work with non-file resources
[9:28] <ringostarr> 56d6e8e Hannes Walln?fer: Add missing writable attribute to definition of String.prototype.toCamelCase()
[9:32] <gmosx> hi
[9:38] <oberhamsi> goodjob ringostarr!
[9:47] <gmosx> is rhino really as inefficient as nathan claims? slower than interpreted Ruby ?!?
[9:58] <hannesw> gmosx: no way!
[9:58] <gmosx> it should be faster than plain ruby, even w/o invokedynamic, no?
[9:59] <hannesw> i don't know current performance of ruby, but helma used to outperform rails (also thanks to built in caching)
[9:59] <gmosx> ok...
[9:59] <gmosx> related to this...
[10:00] <gmosx> I understand it is possible to compile Javascript/Rhino code to .class files, no?
[10:00] <hannesw> yes, rhino does that in-memory by default
[10:00] <hannesw> you can also create .class files
[10:00] <hannesw> we don't do that because hot reloading gets hard to do that way
[10:00] <gmosx> OK, would it be possible to require() these class files?
[10:01] <hannesw> not directly. you can run the class files as top level js scripts
[10:01] <hannesw> or you can instantiate them, build a module, and have it require()d
[10:01] <gmosx> Theoretically, in production mode, would it be possible to require() class files (with disabled reloading)
[10:02] <hannesw> it's certainly possible to disable reloading
[10:02] <hannesw> you don't need class files for that
[10:02] <gmosx> no
[10:02] <gmosx> I mean, if we disable reloading (that messes up with .class files as you said) would it be possible to require .class files?
[10:03] <gmosx> for example to deploy 'opaque' apps to a client (no source code for specific parts of the app)
[10:03] <hannesw> class files compiled from .js files? it's not implemented, no
[10:03] <hannesw> it could be done, i think
[10:03] <gmosx> but is theoretically possible with Rhino?
[10:04] <hannesw> yes
[10:04] <gmosx> good to know...
[10:04] <gmosx> it's an interesting option...
[10:06] <gmosx> bbl
[11:22] <ringostarr> 3f399d4 Hannes Walln?fer: Add -s/--symlink option to ringo-admin create -a to use symlinks for modules and jar files.
[11:39] <ringostarr> ca0ef87 Hannes Walln?fer: Minor embellishment
[13:22] <earl> as you will have noticed, ringostarr now echoes github commits for mainline ringo to this channel
[13:22] <earl> if anybody considers this annoying noise, please just let me know
[13:35] <robi42> i for one consider it as pretty useful
[13:38] <earl> hannesw: you around?
[13:41] <hannesw> earl yep
[13:41] <earl> do you have a few minutes re the skin include thing?
[13:43] <earl> well, i'll just babble away
[13:43] <earl> the reason for the include was two-fold: caching (i.e. parsing the external skin only once), and the necessity to resolve the external skin
[13:44] <earl> but those two things will work w/o include as well
[13:45] <earl> i'd just have to add the resource a skin was loaded from (if any) as a field to the Skin object
[13:45] <earl> so that i can then use it to resolve external skins when the render macro is called
[13:45] <earl> and the caching can be done lazily, of course
[14:08] <hannesw_> earl: i think i'd prefer that (i.e. no include)
[14:09] <hannesw_> just pushed initial JSGI 0.3 port
[14:09] <hannesw_> http://github.com/ringo/ringojs/tree/jsgi-0.3
[14:24] <earl> ok, have lazy external subskin loading impl'd
[14:24] <earl> only issue, is that we loose some early diagnostics that way
[14:25] <earl> when you <% extends ./skin.html %> with ./skin.html failing to resolve, ringo throws a FileNotFoundException on skin loading
[14:25] <earl> same for <% include ... %>
[14:26] <earl> w/lazily loaded subskins, i've to swallow that error silently
[14:26] <earl> because i can't know if a subskin to be rendered is an undefined child subskin
[14:26] <earl> or a nonexisting external subskin
[14:27] <earl> i.e. in base.html you have a <% render head %> so that skins extending base.html can add their own stuff to the html head
[14:28] <earl> but it's perfectly ok for an extending skin not to define its own head subskin, in which case <% render head %> will simply result in an empty string
[15:10] <earl> ok, pushed the non-include external skins stuff to my skins-include branch
[15:19] <robi42> earl, works fine with ringolog, btw
[15:32] <earl> robi42: thanks for testing
[15:45] <ringostarr> 6a1e6bc Hannes Walln?fer: Minor fixes for spec compliance