Hopbot log for 2007-09-25 - Helma IRC channel: #helma on irc.freenode.net

2007-09-25:

[0:39] <peter_12> anyone home?
[5:07] <anton_> javscript: new Date
[5:07] <anton_> javscript: new Date()
[5:07] <anton_> hm. mist..
[5:31] <midnightmonster> ?
[6:23] <zumbrunn> hey anton_, were you trying to repeat "Shutdown-Day the Helma way"?
[6:23] <zumbrunn> http://zumbrunn.com/mochazone/Shutdown-Day+the+Helma+way/
[6:30] <anton_> hello. somehow ;)
[6:30] <anton_> found it somehow today and found it quite funny!
[12:09] <zumbrunn> hi peter_12
[12:09] <peter_12> morning
[12:09] <zumbrunn> what kind of JavaScript web framework did you start working on?
[12:09] <zumbrunn> I saw you mentioning it in the channel log
[12:10] <peter_12> really? It must have been the wrong channel
[12:10] <peter_12> so far it is a mishmash of Helma and Rails
[12:10] <peter_12> I like ideas of both
[12:12] <zumbrunn> yeah, you addressed it to lanaer ...probably just went to the wrong channel
[12:12] <peter_12> no wonder he didn't reply :)
[12:13] <peter_12> no problem
[12:13] <zumbrunn> yep
[12:15] <peter_12> I like the idea of "object publisher" but I also like ActiveRecord and would like a framework written in JavaScript
[12:21] <zumbrunn> so you think the ideal would be "helma" with object/relational mapping done the "active record way"?
[12:22] <peter_12> and the framework is written in JavaScript not Java
[12:23] <zumbrunn> mapping objects in a pre-defined way, with the assumption that the database schema follows that predefined model
[12:23] <zumbrunn> oh!
[12:23] <zumbrunn> rhino or spidermonkey based?
[12:25] <peter_12> rhino for now
[12:25] <peter_12> but if the framework is written in JavaScript and the right host objects are in place then it should be portable
[12:25] <zumbrunn> right
[12:25] <zumbrunn> so, your framework could basically run inside of helma?
[12:28] <peter_12> I'm not using any parts of helma right now
[12:28] <peter_12> I want to try taking the idea of "convention over configuration" farther than Rails
[12:28] <zumbrunn> sounds good :-)
[12:28] <peter_12> if a table has a "position" filed then it automatically gets "acts_as_list"
[12:29] <peter_12> if it has "parent_id" then it gets "acts as tree"
[12:29] <peter_12> I've got has_many and belongs_to automatic now
[12:30] <zumbrunn> ok, I see... you meant that aspect of ActiveRecord
[12:30] <peter_12> that's one part
[12:30] <peter_12> but it isn't necessary to have these automatic things
[12:31] <peter_12> it's fun to play with this stuff
[12:33] <peter_12> I messed around with Spidermonkey for months and didn't really get anywhere. Using Rhino is a big jumpstart
[12:37] <zumbrunn> so, if your framework itself is written in javascript, how do you detect changes made to objects so you can do the persistance mapping?
[12:37] <zumbrunn> are there hooks for these kinds of things in rhino?
[12:39] <peter_12> This part doesn't work yet but here is some buggy code: http://helma.pastebin.com/m576c5b75
[12:40] <peter_12> when the whole app is started, the database structure is converted to a JSON structure
[12:40] <peter_12> this JSON structure is examined to dynamically add accessors and hasMany relationships etc
[12:45] <zumbrunn> are you aware of couchdb and its recent change to a JSON/Javascript based frontend?
[12:45] <zumbrunn> http://couchdb.org/CouchDB/CouchDBWeb.nsf/Home?OpenForm
[12:49] <peter_12> I think I'm not in the "document oriented application" category
[12:50] <zumbrunn> I think I am
[12:53] <peter_12> a big site stored in a denormalized form could get very big
[14:30] <drbobb> i want to report yet another rhino bug, against the sluggish performance of String.replace
[14:30] <drbobb> alas, time is lacking
[14:32] <zumbrunn> is the sluggishness really due to string.replace? Not just due to rhino's general performance hit when handling large strings?
[14:34] <zumbrunn> in other words, after you mentioned your number comparisons last time, I wondered how it would perform if you would be doing this line by line instead
[14:52] <drbobb> check out http://helma.pastebin.com/m683df52
[14:53] <drbobb> especially notice that s=s.split(sFrom).join(sTo) is manymany times faster than the equivalent s.replace(...)
[14:54] <zumbrunn> yep, ok
[14:54] <zumbrunn> I missed that before
[14:54] <drbobb> about 1600 times faster
[14:54] <drbobb> which is simply ridiculous
[14:55] <drbobb> (this is not to say that it is fast. it isn't)
[14:55] <zumbrunn> I know
[14:57] <drbobb> btw my machine had plenty of ram to spare when i ran the tests, so the figures have nothing to do with hitting swap
[14:58] <drbobb> and calling rhino with a high -opt level does give a little improvement, but not really significant

 

 

In the channel now:

Logs by date: