Logs for the RingoJS IRC channel, as logged by ringostarr.

2010-10-12

[08:09] <maks__> hi hannes, woudl you have time for a quick question about unit tests?

[08:19] <maks__> what happens is I cd into my app folder, run ringo test tests/api-tests.js to run my unit tests, and what happens is on the third step in the call stack, the require() of the module being called does not seemt o get resolved correctly

[08:20] <maks__> I know it should be working, because if I call the method in module directly from the another unit test it works fine...

[08:24] <mcepl> hannesw: does RingoJS provide any tools to avoid XSS and other nastiness? Try to remove the first book on http://ringojs.org/demo/storage/

[08:29] <mcepl> or later on the page "><" book (that wasn't my creation ;))

[09:25] <mcepl> http://stackoverflow.com/questions/3903829/differences-between-narwhal-and-node-js/3912411 does anybody want to comment further?

[09:43] <hannesw> good morning

[09:43] <hannesw> reminder: irc meeting in 15 mins

[09:43] <mcepl> good morning

[09:43] <mcepl> do you have a backlog of this room, or should I paste it here?

[09:44] <hannesw> ringo is big in japan right now! http://search.twitter.com/search?q=ringojs

[09:46] <mcepl> http://nighthacks.com/roller/jag/entry/peace_breaks_outhttp://nighthacks.com/roller/jag/entry/peace_breaks_out

[09:46] <mcepl> sorry, wrong paste

[09:46] <mcepl> I meant

[09:46] <mcepl> [08:24:42] mcepl: hannesw: does RingoJS provide any tools to avoid XSS and other nastiness? Try to remove the first book on http://ringojs.org/demo/storage/

[09:46] <mcepl> [08:29:02] mcepl: or later on the page "><" book (that wasn't my creation ;))

[09:46] <mcepl> [09:25:33] mcepl: http://stackoverflow.com/questions/3903829/differences-between-narwhal-and-node-js/3912411 does anybody want to comment further?

[09:50] <hannesw> mcepl thanks for letting me know about storage demo problem

[09:51] <hannesw> and thanks for the ringo comment on stackoverflow

[09:52] <mcepl> It would be really nice to have some library for input sanitation ... I am so scared of XSS et al. that I will rather make my blog form-less.

[09:52] <mcepl> (with Atom-based REST interface as the only one)

[09:55] <mcepl> hannesw: don't you have some code hanging around from Helma?

[10:11] <hannesw> mcepl: the only thing missing was an | escapeHtml filter in the remove page skin

[10:11] <hannesw> I added that now

[10:37] <mcepl> awesome!

[10:37] <mcepl> but wouldn't it be better to avoid input of nastiness rather than protecting against it in skins?

[10:38] <hannesw> mcepl: we have a stripTags function in ringo/utils/strings

[10:38] <mcepl> double awesome!

[10:38] <hannesw> but nothing that removes/encodes tags selectively

[10:56] <oberhamsi> mini featured on dailyjs.com http://dailyjs.com/2010/10/11/functional-koans/

[11:09] <hannesw> oberhamsi: cool

[11:10] <hannesw> olegp: thanks for that!

[11:11] <olegp> thanks for what? ;)

[11:11] <hannesw> i thought you were responsible for the dailyjs plug

[11:11] <hannesw> aren't you?

[11:11] <olegp> well, I keep mentioning it to Alex, but no, I guess he picked that up himself

[11:11] <hannesw> Ah ok :)

[11:12] <olegp> Im still supposed to do that interview with you for dailyjs, will send through the initial questions today

[11:12] <hannesw> great!

[11:12] <hannesw> looking forward to that

[11:12] <olegp> also, Im doing a ringojs talk at colognejs today ... might need a bit of help proofreading the slides :)

[11:12] <olegp> leaving things till the last minute, as usual

[11:12] <hannesw> this evening?

[11:12] <olegp> yea

[11:13] <olegp> I have the presentation ready, mostly what we discussed back in berlin

[11:13] <hannesw> cool. I hope i'll be online some time today, meeting with folks

[11:13] <olegp> need to polish it a bit

[11:13] <olegp> ok, will ping you an email so you can take a quick look

[11:13] <hannesw> ok, cool

[11:14] <olegp> also, does anybody here have stackoverflow points?

[11:14] <olegp> the ringojs answer on this question could do with upvotes: http://stackoverflow.com/questions/3903829/differences-between-narwhal-and-node-js

[11:16] <hannesw> no stackoverflow karma here :)

[11:18] <hannesw> although i got a "teacher badge" for answering this: http://stackoverflow.com/questions/3860853/ringojs-fileupload-example/3862194

[11:20] <olegp> ;)

[11:26] <oberhamsi> upboated though the ringo answer is kinda off topic ;)

[15:27] <hannesw> https://spreadsheets.google.com/ccc?key=0At-GsyW4f-HqdFFseEVjRlZONThZTzFSQ2hDbDhMS3c&hl=en#gid=0

[15:27] <hannesw> (link for oberhamsi)

[15:31] <olegp> Ive had to extend mustache to do some of the things that handlebars now does out of the box

[15:31] <olegp> so for the next project I think Ill give that a go

[15:37] <hannesw> we'll likely do something that is very similar to handlebars in ringo 0.7

[16:18] <olegp> here are my slides for today's talk: https://docs.google.com/a/ionsquare.com/present/edit?id=0ATijVZvCFvdmZGd0OWI3eHRfODJmM3o3bWJjNA&hl=en&authkey=CInRx6sL

[16:18] <olegp> let me know if something is completely off

[16:18] <olegp> Ill obviously say a lot more than is in the slides

[16:18] <olegp> but the idea is to get people interested enough to try ringo out

[16:36] <oberhamsi_> olegp nice one

[16:37] <hannesw> olegp: nice!

[16:37] <hannesw> one thing: ringo is almost complete JS 1.8

[16:37] <hannesw> i think there's 1 feature missing

[16:38] <hannesw> so it's JS 1.7 and most things from 1.8

[16:38] <hannesw> for example, var {x, y} = obj; is JS 1.8

[16:39] <hannesw> for the threading slide:

[16:39] <olegp> ok

[16:39] <olegp> yeah?

[16:39] <hannesw> you might mention global function spawn() and module ringo/scheduler, which are much easier ways to start a thread

[16:40] <hannesw> especially ringo/scheduler, as it provides the familiar setTimeout()/setInterval() API

[16:40] <hannesw> nice slides! I really like them.

[16:43] <olegp> cool

[16:43] <olegp> yeah, that threading slide is just an example of how to wrap around java libs

[16:43] <olegp> but Ill mention spawn etc

[16:46] <hannesw> I'd go with ringo/scheduler as the recommended way of doing threads

[16:46] <hannesw> but it's up to you of course :)

[16:47] <mcepl> olegp: two questions ... could I download the presentation somewhere, why do you like Oracle so much?

[16:48] <olegp> oracle?

[16:49] <olegp> mcepl: is file -> download what youre looking for?

[16:49] <mcepl> why should I download Oracle Java, when OpenJDK works just fine?

[16:49] <mcepl> no, because I don't have account at Ionsquare

[16:50] <olegp> ah ok

[16:50] <olegp> on call atm, gimme a few mins

[16:50] <earl> just download any jdk you are fine with

[16:51] <mcepl> earl: yeah, that's the point

[16:51] <mcepl> I don't care if you use IBM JVM (will it sill exist after yesterday's announcements?), but that this makes an impression that OpenJDK is not sufficient to run RingoJS.

[16:52] <earl> not really the point, because in the same line you could argue that due to apt-get fedora is not sufficient to run ringojs

[16:53] <mcepl> yeah, I know ... but I do expect people to be ignorant ;)

[16:53] <mcepl> s

[16:53] <mcepl> ignoramus? how to say and not to be offensive

[16:53] <earl> in the same line, if people are ignorant, how does installing 'default-jdk' indicate that you need java :) ?

[16:54] <earl> in any case, make that `apt-get install default-jdk` if it helps

[16:54] <mcepl> why not just say "RingoJS requires Java"

[16:54] <mcepl> ?

[16:54] <earl> because technical people like to speak in executable code

[16:55] <mcepl> really technical people don't need to pretend they are technical people

[16:55] * mcepl is too tired to be polite, sorry

[16:55] <mcepl> anyway, have to run

[16:56] <earl> no pretense on this slide

[16:56] <earl> it gets you up and running, nothing else

[17:03] <hannesw> I'm in Vienna this evening. Anybody wanna meet?

[17:03] <hannesw> I'll probably be here: http://www.stafler.at/

[17:04] <hannesw> but werkzeugh would be ok, too

[17:25] <olegp> right, changed that to default-jdk

[17:25] <olegp> also, changed sharing options

[17:25] <olegp> can you download it now?

[17:26] <olegp> its under Actions btw

[17:33] <earl> yep, downloading now works fine for me

[19:36] <Chris64> good evening

[19:36] <Chris64> some one here?

[19:43] <Chris64> i'm relatevly new to serverside javascript and have some questions.. are function calls executed in fifo order? and is it possible to call specific js function from java code?

[19:44] <Chris64> is it possible to implement alternative js source locations in interpreted mode than normal filesystem?

[19:44] <Chris64> :)

[19:45] <Chris64> is rhino& ringo very big in terms of class file size?

[19:48] <oberhamsi> i Chris64

[19:49] <Chris64> with fifo i mean non blocking to be able to avoid threading

[19:49] <oberhamsi> i think ringo isn't too big.. just a couple of small java files.

[19:49] <Chris64> hi oberhamsi :)

[19:49] <Chris64> and rhino?

[19:49] <oberhamsi> let me check

[19:49] <oberhamsi> why? :)

[19:50] <Chris64> thanks in advance :)

[19:50] <oberhamsi> ringo is 300KB jar file

[19:50] <oberhamsi> �h... sorry rhino is 1MB

[19:50] <Chris64> okay

[19:50] <daian> i am not sure if you can call js functions from java. i know you can call java functions from ringo though

[19:51] <Chris64> i know a java implementation for microcontrollers and wondered if it's possible to do non blocking js on it ;)

[19:51] <Chris64> of course not for serious tasks but just for fun

[19:51] <oberhamsi> Chris64, alternative js source locations.. ringo's module loader understands other locations. so you could put them in a database and load them from there, for example

[19:52] <Chris64> cool :)

[19:52] <daian> running js on rhino on a microcontroller? that sounds just crazy enough to work

[19:52] <oberhamsi> ^^ that won't work out of the box but i think the design allows it

[19:52] <Chris64> ;D

[19:53] <Chris64> i tried nodejs some days before and found it very comfortable

[19:53] <oberhamsi> oh i see that is maybe the only valid reason to ask for file sizes :)

[19:53] <Chris64> but jvm is a lot more overhead, you're right

[19:53] <Chris64> am just a student so don't mind ;)

[19:54] <Chris64> can you program ringo in a non blocking manner?

[19:55] <Chris64> would be interesting but anyway js on jvm is very interesting :)

[19:55] <oberhamsi> well not all the way down like you can with nodejs. we're on the JVM so non-blocking = threads

[19:56] <daian> so far most ringo stuff i've seen has been web based

[19:59] <Chris64> oh one thing

[19:59] <Chris64> when compiling js to java, do i need rhino to execute that?

[20:00] <Chris64> or could it run with a subset of rhino classes needed for inheritance?

[20:00] <earl> you'll need rhino to run it, as rhino also provides a "runtime"

[20:00] <Chris64> thought that java class files can run on their own, that's why i asked

[20:01] <Chris64> but you're right, js on microcontrollers isn't that good *g*

[20:01] <earl> well

[20:01] <earl> if you have a "real" java that runs on a micro, getting rhino to run atop of it should be possible

[20:02] <Chris64> there are some limitations, available classes, no long vars, ..

[20:02] <Chris64> and memory of course

[20:02] <daian> i could be wrong, but i don't think js is compiled into java by anything, it's just interpeted by rhino

[20:02] <earl> nah, rhino can create jvm bytecode out of javascript source files

[20:02] <earl> but it's nothing fancy

[20:03] <daian> ah, ok

[20:04] <earl> so you won't save much in dependencies. you'll need about as much of rhino as if running js in the purely interpreted mode

[20:06] <Chris64> okay, thank you very much for your answers :)

[20:07] <earl> what kind of micro are we talking about?

[20:07] <earl> 16b, 32b?

[20:07] <earl> 8-bit, even :) ?

[20:07] <Chris64> 8 *g*

[20:07] <daian> haha

[20:07] <earl> well, that'll be tough :)

[20:07] <Chris64> but hey, jvm runs successfully

[20:39] <Chris64> have to go now, bye

[21:12] <oleg> talk went well, thanks guys for proofreading the slides

[21:12] <oleg> I recorded the audio, so will try upload at some point