Ringobot log - RingoJS IRC channel: #ringojs on irc.freenode.net
2010-08-26:
[6:44] <oberhamsi> re: "get rid of magic skin resource relative path resolution." ... how come everything still works when i drop module.directory? when will that not work?[6:49] <hannesw_> oberhamsi what do you mean?
[6:50] <oberhamsi> you fixed everything to Response.skin(module.directory + 'skins/welcome.txt')
[6:50] <hannesw> that was robi42
[6:50] <oberhamsi> okay why is that needed? I can't make it break without module.directory
[6:51] <hannesw> that won't work on appengine, for example
[6:51] <hannesw> the proper way to resole a path is module.resolve("skins/welcome.txt")
[6:51] <hannesw> just forgot to commit that change
[6:51] <oberhamsi> i see.. but it only breaks on appengine without? i'm not eager to change all my apps to have that extra resolve
[6:52] <hannesw> it's important for stackable/nestable apps
[6:52] <hannesw> otherwise, better just use relative path and no module.directory
[6:53] <oberhamsi> okay.. because without module.resolve the path would resolve relative to the script i started the app with in the first place, right?
[6:56] <oberhamsi> if i do Response.skin("./skins/index.html") it looks into "ringo/webapp/./skins/index.html" ... i see it works with skin("skins/index.html")
[7:03] <hannesw> right
[7:03] <hannesw> so "skins/index.html" will always resolve to the skins directory of the top-level app
[7:04] <hannesw> while with module.resove("skins/index.html") you can always use your local skins dir
[7:21] <oberhamsi> i see okay, that makes sense
[7:30] <robi42> re: module.directory path prefix that's needed for nesting apps and gae as noted above, yes
[7:30] <robi42> and should/could be replaced by module.resolve() usage now
[7:36] <hannesw> i'm doing that right now
[7:42] <hannesw> earl, ringostarr seems to be down?
[8:35] <hannesw> i updated markup and css for the top tabs on ringojs.org a bit
[8:35] <hannesw> http://ringojs.org/wiki/
[8:35] <hannesw> you may have to shift-reload
[8:35] <hannesw> let me know what you think
[8:36] <hannesw> they're now larger, and i added some slight hover and text shadows
[8:43] <oberhamsi> looks good!
[8:45] <hannesw> oberhamsi thanks
[8:46] <oberhamsi> FYI you can add fake queryparams to get rid of too aggressive caching <link rel="stylesheet" href="/static/style.css?v=01" />
[8:50] <hannesw> oberhamsi thanks will do that next time
[8:50] <hannesw> for now i renamed the stylesheet from "style.css" to "main.css" which i think is better
[8:53] <robi42> yay, text shadows :)
[11:19] <hannesw> hm... where to put the timer() function from ringo/utils?
[11:32] <hannesw> candidates:
[11:32] <hannesw> ringo/utils/dates
[11:32] <hannesw> ringo/profiler
[11:33] <hannesw> ringo/utils/debug (which I think I'll create for getStack functions)
[11:36] <robi42> hannesw, putting timer() into ringo/utils/debug besides get*Stack() sounds reasonable
[11:36] <hannesw> robi42 thanks for the feedback
[11:36] <robi42> maybe ringo/utils/debugging?
[11:36] <hannesw> yes, seems like the best solution
[11:37] <hannesw> hm, a bit long
[11:37] <robi42> true
[11:37] <robi42> debug's just fine
[11:46] <hannesw> well it breaks with the utils/* plural convention
[11:47] <hannesw> but i can stomach that much inconsistency
[11:47] <hannesw> the debugs... sounds like the interwebs
[11:53] <robi42> hehe
[12:01] <hannesw> ok i just dumped ringo/utils
[12:01] <hannesw> format() went to ringo/utils/strings
[12:02] <hannesw> get*Stack() and timer() into the new ringo/utils/debug
[12:03] <hannesw> I didn't keep jsonDateReviver() because there is Date.parse() now that should make this easy to implement
[12:03] <hannesw> and also i didn't move the *PropertyDesc functions to ringo/utils/object because they aren't used anywhere and kind of obscure
[12:04] <hannesw> let me know if you miss any of these
[12:44] <hannesw> just pushed ringo/middleware/static
[12:44] <hannesw> i think this will become my favorite way of serving static files
[12:45] <hannesw> as it doesn't limit static resources to a /static/ subspace of your site
[13:39] <hannesw_> My sketch for a radically shortened README file for ringo:
[13:39] <hannesw_> http://ringojs.org/wiki/README/
[13:39] <hannesw_> all the rest would go to the wiki.
[13:39] <hannesw_> feedback please!
[13:45] <daian> looks good. long as details are going to go on the wiki, and the readme links to those details, then there's nothing i can complain about
[13:51] <hannesw_> the main thing that is missing on wiki and was only covered in the README so far are global functions
[13:51] <hannesw_> and, to a lesser extent, module path setup
[14:05] <robi42> hannesw_, looks good. just, maybe "real-world" and "large-scale" (adjectives with composite dash, that is)?
[14:06] <hannesw_> robi42 ok thanks
[14:15] <oberhamsi> i like it!
[14:15] <oberhamsi> maybe switch server/client here "Scalable HTTP server and client based on the Jetty project."
[14:50] <hannesw_> thanks oberhamsi + robi42, committed both your suggestions
[18:24] <oberhamsi> is there anything left to do for 0.6?
[18:25] <hannesw_> oberhamsi: testing, deploying on ringojs.org
[18:25] <hannesw_> and i'd like to add a few minor things, such as making 404 and error middleware configurable
[18:25] <hannesw_> other than that: no :)
[18:26] <oberhamsi> cool :) i wanted to ask about ringojs.org deploy... you need help with jsdoc deploy?
[18:26] <hannesw_> well, i've been thinking about it
[18:26] <hannesw_> i don't think we can afford static jsdoc :)
[18:27] <oberhamsi> okay how "afford"?
[18:27] <hannesw_> because we don't have enough ram to spawn a new ringo
[18:27] <hannesw_> except if we can run it in-process
[18:27] <hannesw_> so i was thinking about mounting 4 jsdoc apps
[18:27] <oberhamsi> what happens when we do setInterval and let that render the docs?
[18:27] <hannesw_> would be interesting to see memory use
[18:28] <hannesw_> could we do that internally, or by spawning a process?
[18:28] <hannesw_> i think the latter won't work
[18:28] <oberhamsi> let me try that.. setInterval just needs to a function it can import from apps/jsdoc/doc.js
[18:28] <oberhamsi> *needs to call
[18:29] <hannesw_> ok. well what about github web hooks?
[18:29] <oberhamsi> you don't like setInterval... would that do extra process? i'd have to try and watch mem :)
[18:29] <hannesw_> no, no problem with setInterval - it's just that it's probably a bit wasteful
[18:29] <oberhamsi> webhooks.. i'd have to see what earl does with ringostarr
[18:30] <oberhamsi> i see, wasteful
[18:30] <hannesw_> btw, I'd also like to run ringostarr on ringojs.org
[18:30] <hannesw_> gonna be interesting
[18:30] <oberhamsi> .. would render unnecessary
[18:32] <oberhamsi> uh sweet git web hooks shouldn't be a problem
[18:33] <oberhamsi> okay but we either have the jsdoc app running all the time, waiting for that webhook to call, or ...
[18:33] <oberhamsi> ... the main ringojs.org app does a little setInterval() now and then
[18:33] <hannesw_> ... or the ringojs.org app
[18:34] <hannesw_> yes, doesn't matter really
[18:34] <hannesw_> I don't have a problem with setInterval()
[18:35] <oberhamsi> now i like the web hooks idea more .. if it's okay to put it into ringojs.org app and it doesn't have to be a mounted jsdoc app :)
[18:37] <hannesw_> he.. cool
[18:37] <hannesw_> yes, i'd put it into ringojs.org, too
[18:43] <mcepl> hannesw_: do you think I am at least close to the solution at http://groups.google.com/group/ringojs/browse_thread/thread/bc062cae47b63832/8b5439803e9e6962#8b5439803e9e6962 ?
[18:43] <mcepl> (yes, I would love to have the list on gmane.org, but that's another issue)
[19:09] <hannesw_> mcepl (in case you read the irc log)
[19:10] <hannesw_> yes this looks good
[19:10] <hannesw_> does it work?
[19:11] <hannesw_> there should probably be a better way to reconstruct the current URL
[20:34] <tschaub> can args.Parser be used with "required" arguments?
[20:34] <tschaub> i.e. not - or -- options
[20:36] <tschaub> ah, looks like everything after the first arg without - is left in the args array
[20:37] <tschaub> and anything not parsed
[20:39] <tschaub> so maybe it is not meant to be used with `bin/ringo path/to/module.js --my-option`
