[00:00] OneBraveHog: sure - no problem
[00:00] OneBraveHog: sorry about that
[00:00] AvianFlu: does http not check for that?
[00:00] Swizec: apparently not
[00:00] AvianFlu: so what, it hangs silenty?
[00:00] AvianFlu: silently?
[00:00] Swizec: throws one of those ugly uncaught errors
[00:01] AvianFlu: can you paste me the error in a pm?
[00:01] Swizec: sure
[00:01] AvianFlu: I'll show it to someone who may help
[00:01] pcloadletter has joined the channel
[00:02] AvianFlu: OneBraveHog: https://github.com/joyent/node/wiki/Installation has installation instructions
[00:02] AvianFlu: from there, it depends on exactly what you're trying to do
[00:02] AvianFlu: and where you want to go with node
[00:03] hever: AvianFlu, Any clue about jquery documentation for node?
[00:04] syskk has joined the channel
[00:04] syskk has joined the channel
[00:04] syskk: http://pastebin.com/XrNB6Hef spammers are getting better everyday...
[00:04] fmeyer has joined the channel
[00:05] nexxy has joined the channel
[00:06] motu has joined the channel
[00:06] motu: hi
[00:06] OneBraveHog: well Avian - what I'm after is just what I CAN do with it
[00:06] gozala has joined the channel
[00:06] OneBraveHog: I mean, if I get a static IP ? Can I run my own web server/pages with it ?
[00:06] OneBraveHog: Does it serve up files if people want to download them ?
[00:07] OneBraveHog: sounds like it's a web server ?
[00:07] Aria: It can.
[00:07] OneBraveHog: ok
[00:07] Aria: Like C is a web server. Possibly a little more than C is, but...
[00:07] OneBraveHog: er, like a web server can be written in c ?
[00:07] motu: OneBraveHog: yes you can
[00:08] OneBraveHog: I'm just starting php, and it LOOKS like I can get past having to do this server side scripting with php and do what I'd need to do with PHP using node.js
[00:08] aphelion has joined the channel
[00:08] mscdex: syskk: start checking for number of misspellings and bad punctuation
[00:08] OneBraveHog: in other words, it LOOKS like node.js is an alternative to asp.net and php and asp (and JSP for that matteR)
[00:08] mscdex: ;)
[00:08] OneBraveHog: is that close ?
[00:08] motu: nodejs is much simpler then php
[00:08] motu: simpler to learn i think
[00:08] MooGoo: php isnt a webserver
[00:08] gozala has joined the channel
[00:08] MooGoo: generally
[00:09] syskk: eheh\
[00:09] motu: true
[00:09] OneBraveHog: right, I don't look at php as a web server
[00:09] OneBraveHog: but a server side scripting solution for a web server
[00:09] motu: nodejs can be both server and serverside script at same time
[00:09] MooGoo: node has to do the job of apache and php if it is serving web pages
[00:09] OneBraveHog: but sounds like node.js is ALSO A web server ?
[00:09] OneBraveHog: motu - ok
[00:09] OneBraveHog: I'm getting the picture
[00:09] MooGoo: but there's good modules for that
[00:09] motu: yes exactly
[00:09] MooGoo: like express I guess
[00:09] motu: express is nice
[00:10] motu: have not tried many else
[00:10] MooGoo: if you just go with raw node, there's a lot to do to get a decent web hosting + script enviornment
[00:10] mscdex: OneBraveHog: node is an I/O (+ other things) layer on top of the javascript language
[00:10] motu: agree
[00:10] OneBraveHog: does it seem node has enough momentum that it likely won't go away ? I mean, to invest into a new way of doing things.. I'm cautious.
[00:10] motu: its smart to try without any modules first
[00:10] hever: OneBraveHog, you can write your own webserver using node very easy. It's not a common webserver...
[00:10] OneBraveHog: mscdex- oh, that's news to me.
[00:10] OneBraveHog: I get it
[00:10] OneBraveHog: well, get it more.
[00:11] MooGoo: I wonder if there is mod_node out there
[00:11] OneBraveHog: thanks for insights
[00:11] motu: in nodejs its very easy to setup a webserver
[00:11] motu: to or three lines
[00:11] catshirt has joined the channel
[00:11] motu: maybe a little more but not much
[00:11] OneBraveHog: and thanks to anyone that's making node happen - this comes across as very exciting to me. All though I'm far far on the sidelines at the moment.
[00:11] MooGoo: it's not so easy to make it into a file server that can dynamicly load scripts and stay running in face of syntax and runtime errors
[00:11] dget has joined the channel
[00:11] mscdex: OneBraveHog: so that includes things like networking, file system calls, etc. there are also core built-in libraries to make these things easier -- including an http server and client and tcp/udp server and client
[00:12] hever: motu, but really those "webservers" are nothing compared to "real" ones....
[00:12] motu: true
[00:12] motu: usally everyone use a proxy in front of nodejs
[00:12] motu: like nginx or apache
[00:12] AvianFlu: OneBraveHog: I had to leave the room but you can tweet @NodeKohai with any questions, it will pipe them to the #nodesupport room
[00:12] MooGoo: not so sure how a single node process would do serving up a real popular website
[00:12] OneBraveHog: wow- that's neat - thanks for the info avian.
[00:13] mscdex: OneBraveHog: then there are 3rd party modules that create higher level abstractions on top of the core modules, like Express.js
[00:13] motu: MooGoo: should go fine with something like node-cluster
[00:13] niles|iPod has joined the channel
[00:13] MooGoo: something that spawns additional node child processes?
[00:13] motu: to scale you just need to run many nodejs serves in paralell
[00:14] motu: and loadbalance between them, with apache or nginx
[00:14] motu: or your own
[00:14] hever: OneBraveHog, If you're looking for a solution for really special needs and you're going to develope some stuff yourself node is a good way to go
[00:14] MooGoo: I wish there was a better way to share state between seperate node processes
[00:14] motu: unix sockets?
[00:14] OneBraveHog: hever- I see- lets you get low lower level I see.
[00:14] MooGoo: maybe....
[00:14] motu: dnode?
[00:14] hever: OneBraveHog, and it's very "interesting" to write JavaScript serverside. It's very different from PHP, python, perl and so on ;)
[00:15] MooGoo: and that would save me from serializing everything and message passing?
[00:15] MooGoo: whats dnode do exactly
[00:15] mscdex: OneBraveHog: if you're interested in some tutorials/more information, check out these sites: http://nodeguide.com/ http://nodebeginner.org/ http://nodetuts.com/ http://www.youtube.com/watch?v=jo_B4LTHi3I http://howtonode.org/
[00:15] febits has joined the channel
[00:15] OneBraveHog: mscdex- more than I could ask for - thanks - I'm off to check it out right now.
[00:15] motu: DNode: Asynchronous Remote Method Invocation for Node.js and the Browser
[00:16] MooGoo: well that explains everything
[00:16] motu: hehe
[00:16] mandric has joined the channel
[00:16] motu: i have not used it myself
[00:16] hever: OneBraveHog, Just for your interest. Using apache you could write your own apache modules using C/C++ or your can use mod_perl and directly influence the webserver calls. (Not like just using perl)
[00:16] idefine has joined the channel
[00:16] tuhoojabotti: {title.attr("href"): article} How can I make this work? :P
[00:16] motu: i agree it should be easier to communicate between nodejs instances
[00:17] SubStack: it is!
[00:17] tuhoojabotti: Hmm
[00:17] MooGoo: tuhoojabotti obj[title.attr('href')] = article
[00:17] motu: have not been needing it yet so have not tried many solutions
[00:17] tuhoojabotti: I'm not even sure wether I want that or not :D
[00:17] motu: SubStack: i guess its not very difficult
[00:17] SubStack: dnode({ zing : function (x, cb) { cb(x + 1000) }).listen(5000)
[00:17] hever: OneBraveHog, And from nodes sight. It's more like, you can also write a webserver or run it as webserver.
[00:18] motu: cool
[00:18] SubStack: dnode.connect(5000, function (remote) { remote.zing(3, console.log) }) // prints 3000
[00:18] MooGoo: ok
[00:18] MooGoo: so it does message passing
[00:18] hever: OneBraveHog, I'm for example just using it for fast parallel fetching and processing of data. No webserver. anyway have phun!
[00:18] motu: im going to need this very soon
[00:19] rick_h_: eldavojohn writes "Last year Microsoft co-founder Paul Allen filed suit against eleven tech companies citing patent infringement on four of his patents. Groklaw has followed up with some interesting documents that reveal three out of the four have already been granted a reexamination by the USPTO with the fourth still pending."
[00:19] motu: im writing a background queue in redis and nodejs
[00:19] SubStack: MooGoo: it's more general in that you can pass callbacks around
[00:19] motu: using bpop in redis
[00:19] MooGoo: yea
[00:19] gozala has joined the channel
[00:19] MooGoo: I mean
[00:19] motu: works very nice indeed
[00:19] MooGoo: its not passing callbacks
[00:19] SubStack: MooGoo: in that example there was nothing special about cb, it could have been as the first argument or nested arbitrarily deeply
[00:19] MooGoo: its passing a pointer to the callback
[00:19] SubStack: yes
[00:20] MooGoo: you couldnt pass a function from parent to child and expect it to retain access to its closure
[00:20] SubStack: yes you can
[00:20] motu: what i realy need is a way of havinf lots of nodejs process running on different servers and some way of them knowing about eachother
[00:20] SubStack: because the functions execute on the side they were defined on
[00:20] MooGoo: not if you run the function on the child
[00:20] MooGoo: yea...
[00:21] SubStack: it works exactly like if the functions were both in the same node process
[00:21] SubStack: except that you can't explicitly return, you've got to pass in callbacks
[00:21] MooGoo: also true
[00:21] MooGoo: so
[00:21] MooGoo: how do you work with
[00:21] MooGoo: return functions
[00:21] MooGoo: just wrap around it
[00:21] MooGoo: or is there a more convienent way
[00:22] MooGoo: could I just do
[00:22] motu: passing reference can be a bit wierd in node sometimes
[00:22] MooGoo: parent.arbitrary.nested.func(arg1, arg2)
[00:22] motu: i guess at least for people not used to javascript
[00:22] jerrysv has joined the channel
[00:23] MooGoo: I guess dnode does a good job abstracting away all the serializing and message passing
[00:23] MooGoo: I've written code that does the same
[00:23] MooGoo: its a pain
[00:23] MooGoo: wish there was a more direct way
[00:23] MooGoo: is what im saying
[00:23] tuhoojabotti: How can I make the title "point" to the jQuery object like myArticles[title] gives me the jQuery object :3
[00:23] tuhoojabotti: I can't think
[00:23] MooGoo: especily when you have to stringify then parse JS objects between two js interperters
[00:23] MooGoo: seems wasteful
[00:24] Aria: Like shared memory?
[00:24] motu: mm
[00:24] Aria: A limited sort?
[00:24] motu: shared memory is fun!
[00:24] Aria: I, for one, hope that someone hacks shared memory into v8 some time.
[00:24] MooGoo: MAYBE
[00:24] motu: shard over network is even more fun!
[00:24] MooGoo: I dunno
[00:25] motu: you probably going to need some very expensive network technology
[00:25] MooGoo: isnt there some native v8 datatype that can be passed in binary
[00:25] motu: realy
[00:25] MooGoo: its more of a question
[00:25] MooGoo: I dunno shit really
[00:25] motu: hehe dont know
[00:26] Aria: v8 has nothing like that, not with its GC weirdness.
[00:26] tim_smart: rauchg: Yo, around? Quick mongoose quick regarding multple connections.
[00:26] SubStack: MooGoo: yes you can call functions nested wherever with as many functions nested however strangely
[00:26] SubStack: MooGoo: you can even have circular refs
[00:27] tim_smart: mongoose question*
[00:28] malkomalko has joined the channel
[00:28] motu: some discovery protocol and dnode in the same package/module would be nice
[00:28] motu: please make it someone
[00:28] TomsB has joined the channel
[00:29] fermion has joined the channel
[00:29] motu: a decentralized system would be nice
[00:29] motu: no need for a master
[00:31] motu: it could be super cool, just install the node interpreter and start the node, and it could just hook up to the network
[00:31] paul_k has joined the channel
[00:31] motu: download all it needs of packages etc itself
[00:32] motu: could even install npm itself
[00:32] DelvarWorld has left the channel
[00:32] DelvarWorld has joined the channel
[00:40] beriberikix has joined the channel
[00:40] tayy has joined the channel
[00:41] DelvarWorld: if i'm building my own template language > javascript function processor, can I get away with not making a lexer / parser
[00:42] motu: DelvarWorld: why are you doing that?
[00:43] DelvarWorld: working on an application to process templates into executable code, like

{{title}}

into return '

' + data[title] + '

'
[00:43] motu: ok
[00:43] DelvarWorld: haven't done much parsing before, it's kind of overwhelming
[00:43] MooGoo: why not just string.replace
[00:44] motu: you could may even use awk
[00:44] DelvarWorld: well, that's the super-simple example, I would also like things like control blocks (if statements) in the code, and sometimes `data` has to be populated async, and you can nest templates, etc...
[00:44] jaket has joined the channel
[00:44] motu: depends of how much logic you are have to do
[00:45] MooGoo: so
[00:45] MooGoo: you want something like PHP
[00:45] MooGoo: or ASP
[00:45] DelvarWorld: moreso django's syntax, closer to that
[00:45] MooGoo: so anything wrapped in {{ }}
[00:45] MooGoo: is evaluated as code
[00:46] DelvarWorld: not 1 to 1 javascript code, but it is interpreted
[00:46] MooGoo: I mean....you might want to use different characters that dont collide with something that could be valid JS
[00:46] ngs has joined the channel
[00:46] DelvarWorld: no, I don't want actual js code in the templates
[00:47] DelvarWorld: i'm basically making my own template syntax
[00:47] MooGoo: oh
[00:47] MooGoo: is it nestable
[00:47] DelvarWorld: yes
[00:47] MooGoo: then you need to parse
[00:47] DelvarWorld:

{{include.html}}

will load another template inside it
[00:47] DelvarWorld: I *need* to parse?
[00:48] MooGoo: you might be able to get away without parsing for some basic stuff
[00:48] DelvarWorld: I mean, right now I am just using a regex and recursive function to replace blocks, it's just getting tricky keeping track of state since my output is a string which becomes the function body
[00:49] motu: DelvarWorld: u should check out : https://github.com/visionmedia/jade/tree/master/lib
[00:49] DelvarWorld: haha, I was just looking at that
[00:49] motu: looks good to me
[00:50] motu: i guess u could modify that alot to your need
[00:50] DelvarWorld: I'm just brand new to parsers and it's a little confusing to walk through
[00:50] AvianFlu has joined the channel
[00:50] MooGoo: I really....dont like html templates that dont use html
[00:50] motu: MooGoo: jade is very fast to write
[00:51] MooGoo: but yea....the jade github has a lexer.js and parser.js in the index
[00:51] motu: yepp
[00:51] MooGoo: anything remotly complex needs a parser
[00:51] motu: alot of regexps
[00:51] MooGoo: its a bitch to get going...but once you have your parser running you have a lot more options
[00:51] MooGoo: than relying on pure regex
[00:52] thalll has joined the channel
[00:52] galaxywatcher has joined the channel
[00:52] MooGoo: lexing isnt hard
[00:52] DelvarWorld: do you have any suggested literature on the subject
[00:52] DelvarWorld: do you think I could get away with hacking into jade
[00:53] themiddleman has joined the channel
[00:53] davidbanham has joined the channel
[00:53] MooGoo: maybe just check out its parser and lexer.js files
[00:55] hybsch has left the channel
[00:56] DelvarWorld: once you have a syntax tree from a parser, is a "compiler" the right term for what turns the tree into the final output?
[00:58] _jgr has joined the channel
[00:58] Mrfloyd has joined the channel
[00:58] MooGoo: guess so
[00:59] niles|iPod has joined the channel
[01:02] motu: check jison : http://zaach.github.com/jison
[01:04] bartt1 has joined the channel
[01:07] okuryu has joined the channel
[01:10] AndyDawson has joined the channel
[01:11] mundanity has joined the channel
[01:16] secoif has joined the channel
[01:16] mhordecki has joined the channel
[01:17] lukstr: DelvarWorld: a compiler back-end, yes
[01:17] lukstr: well, actually still a front-end I guess
[01:17] Mrfloyd has joined the channel
[01:18] fostah has joined the channel
[01:18] lukstr: anything that does lexical analysis, parsing, semantic analysis and code generation/optimization is a compiler of sorts :P
[01:20] azeroth__ has joined the channel
[01:21] broofa has joined the channel
[01:22] perezd: what version of SSL/TLS does node 0.4.8 speak natively?
[01:22] galaxywatcher has joined the channel
[01:24] dmojoryder has joined the channel
[01:24] eyesUnclouded has joined the channel
[01:25] cloudhead has joined the channel
[01:27] gavin_huang has joined the channel
[01:30] cloudhead_ has joined the channel
[01:32] akshatj has joined the channel
[01:35] jxck has joined the channel
[01:36] DelvarWorld: am I the only person who hasn't written a parser? sometimes I really regret going for an IT degree over CS
[01:36] mustalac has joined the channel
[01:36] perezd: DelvarWorld: I have not written a parser
[01:36] shachaf: DelvarWorld: You don't need a degree in anything to write a parser.
[01:36] Aria: It's a worthy exercise. You don't need a degree n CS for it.
[01:36] shachaf: If you want to write a parser just do it.
[01:37] perezd: you can pay me to write a parser tho, and I'll give you a diploma
[01:37] Aria: There's some clever things you can learn from the theory, but there's a lot you can do by trying. And you might recognize the theory after that.
[01:38] Aria: The real trick is to learn what sort of parser you're working with, and what its limits are, what things are hard.
[01:39] kmiyashiro has joined the channel
[01:40] ravengraus has joined the channel
[01:40] neoesque has joined the channel
[01:42] prettyrobots: DelvarWorld: Read Mastering Regular Expressions.
[01:43] DelvarWorld: prettyrobots: you're not the first to recommend I read that
[01:43] prettyrobots: After you read it, you have a very colloquial way of thinking about the problem.
[01:43] DelvarWorld: are you suggesting it for the use or regular expressions in parsers, or how languages parse regular expressions?
[01:44] killfill: guys, if i set io.listen(app, {rememberTransport: false}) socket.io still remembers the transport... :S
[01:44] killfill: how do i force it to 'hanshake' everytime?
[01:44] prettyrobots: I'm suggesting it because it gives you a working man's guide to patterning matching, and then parsing is no longer in the realm of CS.
[01:44] prettyrobots: You can read the source code for the Eco templating language.
[01:45] prettyrobots: That's a parser that uses regular expressions to create the token stream. Very simple, and an example of what you can do with Node.js.
[01:45] AvianFlu: regex FTW
[01:46] prettyrobots: After learning about regex, it's easy to understand EBNF.
[01:47] MooGoo: EBNF still confuses me
[01:48] unomi has joined the channel
[01:48] MooGoo: im just lazy
[01:48] mustalac has joined the channel
[01:49] prettyrobots: MooGoo: No. It's just confusing.
[01:49] MooGoo: I almost wish it looked more like regex
[01:49] DelvarWorld: ebnf = ?
[01:49] MooGoo: somehow
[01:50] MooGoo: !w ebnf
[01:50] MooGoo: calvin
[01:50] MooGoo: calvin you're not even in here
[01:50] Calvin has joined the channel
[01:50] MooGoo: !w ebnf
[01:50] Calvin: In computer science, Extended Backus–Naur Form is a family of metasyntax notations used for expressing context-free grammars: that is, a formal way to describe computer programming languages and other formal languages. They are extensions of the basic Backus–Naur Form metasyntax notation.
[01:51] DelvarWorld: ah
[01:51] __sorin__ has joined the channel
[01:51] niles|iPod has joined the channel
[01:51] MooGoo: understand that crap and you can feel like an elitist CS major
[01:54] KellyM has joined the channel
[01:55] DelvarWorld: the boxed is locked the lights are on, it's _____
[01:57] resik72 has joined the channel
[01:59] resik72: anyone knows if http referrer headers are automatically set w/in expressjs between routes?
[01:59] materialdesigner has joined the channel
[01:59] rputikar has joined the channel
[02:02] cloudhea1_ has joined the channel
[02:03] eyesUnclouded has joined the channel
[02:04] AvianFlu: OMG SOMEBODY STOLE MARAK'S HAIR
[02:05] gkatsev: bnfs are easy
[02:05] cloudhead has joined the channel
[02:05] captain_morgan has joined the channel
[02:07] gozala has joined the channel
[02:08] pcloadletter has joined the channel
[02:09] skm has joined the channel
[02:11] akshatj has joined the channel
[02:11] igl1 has joined the channel
[02:14] mustalac has joined the channel
[02:14] cloudhea1 has joined the channel
[02:15] eventualbuddha has joined the channel
[02:17] brownies has joined the channel
[02:29] boehm has joined the channel
[02:30] fairwinds has joined the channel
[02:31] cloudhead has joined the channel
[02:32] cloudhead_ has joined the channel
[02:34] jaket has joined the channel
[02:38] mykul has joined the channel
[02:41] fljitovak has joined the channel
[02:41] lukstr: DelvarWorld: get a copy of the dragon book
[02:43] e6nian has joined the channel
[02:43] e6nian: who use jake here?
[02:44] e6nian: I follow the example in READ.ME https://github.com/mde/jake ,but can't pass params to jake `jake awesome[foo,bar,baz]`
[02:45] e6nian: Task "awesome[foo,bar,baz]" is not defined in the Jakefile.
[02:46] johnm1234 has joined the channel
[02:47] frewsxcv has joined the channel
[02:47] frewsxcv: which is the most solid module for redis support in node
[02:47] frewsxcv: also, is there a good tutorial?
[02:47] AvianFlu: search.npmjs.org for node-redis
[02:47] AvianFlu: or just redis
[02:50] e6nian: so what's your localtime here.
[02:51] davidbanham has joined the channel
[02:51] Aria: 2051
[02:52] e6nian: 10:52
[02:53] _jgr has joined the channel
[02:53] frewsxcv: AvianFlu: node_redis or redis-node
[02:54] AvianFlu: one sec
[02:56] avalanche123 has joined the channel
[02:57] AvianFlu: frewsxcv: node_redis
[02:57] AvianFlu: matt freney or something is the author
[02:57] frewsxcv: AvianFlu: aight thanks
[02:58] frewsxcv: does redis just hold one value?
[02:58] SuperJS has joined the channel
[02:58] frewsxcv: it's just a giant hash table/
[02:58] frewsxcv: ?
[02:58] themiddleman has joined the channel
[02:59] Aria: Kinda. Its main interface is keys, which have values of various (few) types.
[02:59] Aria: So in a way, it's a hash table -- really, it's not a hash, it's a much more sophisticated structure, especially if you're playing with VM stuff where values can get swapped out.
[02:59] SuperJS: hi, i was wondering anyone using mustache.js for nodejs?
[03:00] cha0s has joined the channel
[03:00] cha0s has joined the channel
[03:01] dipser_ has joined the channel
[03:07] SuperJS has joined the channel
[03:08] Spion has joined the channel
[03:14] kmiyashiro has joined the channel
[03:15] caolanm has joined the channel
[03:16] Dinosaurus has joined the channel
[03:17] Dinosaurus: what's a way of seeing mongodb performance in my application (sinatara/unicorn/nginx)
[03:17] johnnywengluu: Is there a way to create a custom event with socket.io?
[03:20] SuperJS has joined the channel
[03:21] SuperJS: hello so no one has use mustache with nodejs eh?
[03:21] Aria: I'm sure lots of people have.
[03:22] SuperJS: oh cool
[03:22] gkatsev: there are even several projects inspi~red by it
[03:23] SuperJS: I have a question about it
[03:23] tbranyen: SuperJS: its in NPM
[03:23] tbranyen: so yeah... people are using it
[03:24] cloudhead has joined the channel
[03:24] SuperJS: i am stuck on how to use it with the server, i am using mu.js, but when I google it, it tells me to use to_html() method, but it was not found in the mu.js
[03:25] tbranyen: no idea what mu.js is, but to_html is a method on the mustache object
[03:26] kriszyp has joined the channel
[03:26] SuperJS: this was linked to here https://github.com/raycmorgan/Mu from the http://mustache.github.com/ (main site)
[03:27] jxck has joined the channel
[03:27] e6nian: who use jake here? can you use params in jake?
[03:27] gkatsev: SuperJS: how are you "using" mu.js?
[03:28] akshatj: woot! installed node on my shiny new ec2 instance
[03:29] SuperJS: i followed the demo using Mu.render, but i am not sure how do I display the output into html format
[03:29] cloudhead_ has joined the channel
[03:31] yhahn has joined the channel
[03:32] __sorin__ has joined the channel
[03:33] tbranyen: wow Mu looks ridic shitty
[03:33] mykul|Home has joined the channel
[03:33] tbranyen: can you not feed it just a template string? all i'm seeing is filename
[03:34] Dinosaurus: you could add that in 9.23 seconds if it doesn't
[03:34] jslatts: anyone know what EV_P_ refers to in libev?
[03:34] jslatts: and likewise, EV_A_?
[03:35] tbranyen: Dinosaurus: prove it
[03:35] Dinosaurus: prove what? that you can edit javascript files? o_O
[03:35] Spion_ has joined the channel
[03:36] tbranyen: Dinosaurus: lol i would never ever edit core 3rd party source
[03:36] SuperJS: yeah the main site of mustache referred me to Mu.js for using nodejs
[03:37] SuperJS: i am confused whether to use this
[03:37] Dinosaurus: use jade
[03:37] johnnywengluu: http://cloud9ide.posterous.com/
[03:37] tbranyen: SuperJS: mustache.js works as well
[03:37] tbranyen: there is a node module for it
[03:37] tbranyen: its probably slower
[03:37] gkatsev: you can also use nun, which isn't mustache itself, but similar. And faster.
[03:37] tbranyen: but doesn't make you do a bunch of bs like Mu does
[03:38] gkatsev: there is also milk
[03:38] gkatsev: which implements mustache in coffeescript
[03:38] gkatsev: and mustachio
[03:38] gkatsev: also, stache
[03:38] SuperJS: ah wow cool
[03:39] mscdex: there ought to be a git command like this: git -r done
[03:39] mscdex: :-D
[03:39] gkatsev: while nun, as I said above, is almost mustache. And has great docs, at least last time I checked. Not sure how well the others are documented
[03:40] gkatsev: SuperJS: search.npmjs.og
[03:40] gkatsev: oops
[03:40] gkatsev: SuperJS: search.npmjs.org
[03:40] Dinosaurus: johnnywengluu do you run cloude9 from home
[03:40] johnnywengluu: Dinosaurus: yeah .. works great .. and you?
[03:40] Dinosaurus: i haven't used it
[03:40] johnnywengluu: i mean i run the offline version
[03:40] Dinosaurus: i see
[03:42] SuperJS: oh cool thanks, so basically avoid using Mu.js right? hehe
[03:42] gkatsev: yeah, it seems to be weird.
[03:43] tbranyen: gkatsev: Nun doesn't seem to allow you to provide it a string template either
[03:43] tbranyen: what is with these guys
[03:43] gkatsev: tbranyen: it doesnt?
[03:43] tbranyen: https://github.com/akaspin/nun/blob/master/index.js
[03:43] tbranyen: none of its public methods indicate it does
[03:44] tbranyen: so useless
[03:44] tbranyen: especially if you aren't storing templates in files
[03:45] gkatsev: tbranyen: yeah, it doesnt. Weird.
[03:45] brownies has joined the channel
[03:45] Dinosaurus: why would you not store template in file tho
[03:46] gkatsev: if they're small, what's the point?
[03:46] jacobolus has joined the channel
[03:46] Dinosaurus: organization :D
[03:46] kmiyashiro has joined the channel
[03:46] tbranyen: Dinosaurus: you may be using git version control, a database, shared memory, etc
[03:46] tbranyen: its closed minded to rely on files
[03:47] Dinosaurus: wut?
[03:47] tbranyen: what part wasn't clear?
[03:47] Dinosaurus: git version control?
[03:48] tbranyen: yeah if you're in a bare repo you can't just point to a file and load it, especially if you've packed your objects dir
[03:49] tbranyen: anything other than the currently checked out head won't be accessible in a non bare repo
[03:49] mykul has joined the channel
[03:49] Dinosaurus: oh
[03:50] tbranyen: so basically if you wanted to use Mu or nun, you'd have to load in your template, write it out to a file, and then load it in
[03:50] tbranyen: which is kind of lame
[03:50] admc has joined the channel
[03:52] liquidproof has joined the channel
[04:05] fljitovak has joined the channel
[04:11] niles|iPod has joined the channel
[04:16] jaket has joined the channel
[04:18] JoshC1 has joined the channel
[04:20] akshatj has joined the channel
[04:20] DelvarWorld has left the channel
[04:20] DelvarWorld has joined the channel
[04:24] febits has joined the channel
[04:24] johnm1234 has joined the channel
[04:27] gtramont1na has joined the channel
[04:28] fairwinds has joined the channel
[04:29] beriberikix: I'm trying to read a JSON file and then parse it
[04:30] akshatj_ has joined the channel
[04:30] beriberikix: In the filereader, console.log prints out fine, but when I return out as a module, its undefined
[04:30] Corren has joined the channel
[04:30] beriberikix: I've tried both async and sync - any ideas?
[04:31] Aria: return it as a module?
[04:31] blueadept: anyone know of a good way to autoload content on scroll?
[04:32] blueadept: sort o flike Aza's site: http://www.azarask.in/blog/
[04:36] beriberikix: any help debugging this filereader code? http://pastebin.com/Gcy4yPWv
[04:36] tbranyen: beriberikix: don't use readFileSync
[04:36] tbranyen: use just readFile
[04:36] tbranyen: readFileSync doesn't take a callback
[04:38] tbranyen: beriberikix: http://pastebin.com/0PCbUcG2
[04:39] tbranyen: line 5 should be console.log(json)
[04:41] mhausenblas has joined the channel
[04:43] eventualbuddha has joined the channel
[04:43] Adman65 has joined the channel
[04:43] febits[0] has joined the channel
[04:44] cpolis has joined the channel
[04:47] Swimming_bird has joined the channel
[04:48] SuperJS: hi can someone link me the correct mustache.js, all i have is this link https://github.com/janl/mustache.js/raw/master/mustache.js? Because I am having this error: TypeError: Object # has no method 'to_html'
[04:51] beriberikix: thanks tbranyen
[04:51] beriberikix: but its still throwing undefined outside the callback
[04:51] gkatsev: SuperJS: post a snippet of what you're trying to do?
[04:52] tbranyen: beriberikix because you can't use anything outside the callback
[04:52] SuperJS: @gkatsev res.write(Mustache.to_html(template, actions[0].view))
[04:52] tbranyen: unless you use a synchronous approach
[04:53] cpolis has joined the channel
[04:53] tbranyen: beriberikix: just move all your code to be inside the callback
[04:53] beriberikix: Hmm
[04:53] beriberikix: I'm trying to do this: http://pastebin.com/rvTfHsBq
[04:54] febits[1] has joined the channel
[04:54] gkatsev: SuperJS: hm.. that should work. Is the file being included correctly?
[04:54] gkatsev: are you requireing the file?
[04:55] SuperJS: @gkatsev yes, var Mustache = require('./mustache'), where mustache.js is in the local directory
[04:55] gkatsev: SuperJS: ah, that's why.
[04:56] gkatsev: because that file just creates a variable called Mustache.
[04:56] SuperJS: ah ic ic
[04:57] gkatsev: not sure how to fix it, lol
[04:57] SuperJS: lol
[04:57] gkatsev: well, you could read the file in and then eval it :)
[04:58] SuperJS: @gkatsev cause alot of website tutorial are using this and claim it works lol
[04:58] gkatsev: are they?
[04:58] SuperJS: yeah lol
[04:59] tbranyen: FAILURES: 12/17 assertions failed (44ms)
[04:59] tbranyen: god damnit
[04:59] pplante: crutex: maybe you ought to try out a persona for a few minutes before switching? ;)
[04:59] gkatsev: tbranyen: ha
[04:59] gkatsev: tbranyen: know how to solve SuperJS's problem, though?
[04:59] tbranyen: gkatsev: whats his problem?
[04:59] crutex: pplante i couldn't talk in a channel with that name
[05:00] gkatsev: tbranyen: he's trying to require mustache.js but then he doesn't get the actual object that is Mustache.
[05:00] tbranyen: right it doesn't export it
[05:00] tbranyen: use the node module
[05:00] tbranyen: npm install mustache
[05:00] gkatsev: oh, right, it exists, for got about it.
[05:00] gkatsev: tbranyen: but is there an easy way to add files like that, do you know?
[05:00] SuperJS: ah
[05:00] tbranyen: or edit the core file and add module.exports = Mustache
[05:01] tbranyen: or create your own wrapper
[05:01] gkatsev: or read the file in and then eval it, as I said :)
[05:01] tbranyen: right thats what i meant by wrapper
[05:01] gkatsev: ok
[05:01] tbranyen: yeah i wish there was an easier way
[05:01] gkatsev: SuperJS: yeah, I guess npm install mustache is what you should try first
[05:01] tbranyen: like have all the globals resolve to the module
[05:01] tbranyen: lua does that
[05:02] gkatsev: ACTION writes a module to include js files. It will read it in via file IO and then eval it.
[05:02] gkatsev: though, it won't eval it in the right env
[05:02] gkatsev: hm...
[05:02] tbranyen: yeah and there isn't a way to capture globals
[05:02] tbranyen: or locals for that matter
[05:03] gkatsev: tbranyen: sure there is. (function(){return this;})()
[05:03] dmojoryder has joined the channel
[05:03] tbranyen: var Mustache; (function() { Mustache = {}; })(); without knowing the name how do you get mustache in another scope?
[05:03] tbranyen: you can't
[05:04] gkatsev: I could say under usage: var loadFile = require("loadfile").(function(){return this;}); heh
[05:04] tbranyen: you could write a native module in node.js to do it
[05:04] tbranyen: and read in the global scope variables
[05:04] tbranyen: and attach them to a local scope
[05:04] tbranyen: object
[05:04] tbranyen: called globals or something
[05:05] tbranyen: var module = require('mustache').globals.Mustache;
[05:05] gkatsev: well, that requires rewriting require, no?
[05:05] tbranyen: actually wonder if you could do that with a for in loop
[05:05] pen has joined the channel
[05:05] tbranyen: gkatsev: o right, it'd be have to be called something else
[05:07] gkatsev: anyway, I'm going to sleep now.
[05:07] gkatsev: night
[05:08] malkomalko has joined the channel
[05:08] febits has joined the channel
[05:09] brownies has joined the channel
[05:10] tbranyen: later
[05:11] ezl has joined the channel
[05:14] mbrochh has joined the channel
[05:15] eventualbuddha has joined the channel
[05:16] CarterA has joined the channel
[05:17] mbrochh: Hey guys. With node.js is it somehow possible to subscribe to timed events? Like when the time turns 2AM then do something?
[05:17] insin has joined the channel
[05:17] Aria: Yes, ish. You can figure out when that is in seconds from now, then setTimeout for then.
[05:18] DelvarWorld: you could use a combination of setTimout and setInterval for...
[05:18] brownies: is this on your server? why not just do a cron job?
[05:18] DelvarWorld: shut up Aria
[05:18] Aria: And cron is a royal pain in the ass to signal something that you've already got persistently running.
[05:18] Aria: It's adding another dependency. And not neccesarily one that's easy to automatically instantiate.
[05:18] Aria: Even if cron is nearly universal.
[05:19] maqr has joined the channel
[05:19] maqr has joined the channel
[05:19] mbrochh: brownies, I want it to be backed by a couchDB where users can schedule their jobs via a web interface.
[05:20] Aria: Basically Cron 2.1
[05:20] brownies: yea, fair, Aria
[05:21] DelvarWorld: settimeout/interval return ids that you can store in couch, and stop them if needed with clearTimeout
[05:22] CarterA has left the channel
[05:23] tobiassjosten has joined the channel
[05:23] SuperJS: yeah thanks guys, npm install rocks
[05:24] ebryn_ has joined the channel
[05:25] simenbrekken has joined the channel
[05:27] KellyM has joined the channel
[05:27] devrim has joined the channel
[05:31] rubydiam_ has joined the channel
[05:35] galaxywatcher has joined the channel
[05:38] pifantastic has joined the channel
[05:42] ShuzRaGe has joined the channel
[05:42] Gurpartap has joined the channel
[05:43] Gurpartap: MongoDB or Redis for a simple learning experience project with user auth etc?
[05:44] blkcat: Gurpartap: they're completely different databases. :)
[05:44] Gurpartap: yeah, trying to figure out what i need.
[05:44] Gurpartap: coming from sql background. :)
[05:45] dan_manges has joined the channel
[05:45] febits[0] has joined the channel
[05:45] blkcat: you're probably looking for mongo.
[05:49] Gurpartap: thanks mate
[05:49] Gurpartap: :)
[05:50] davidcoallier has joined the channel
[05:54] cha0s has joined the channel
[05:54] itissid has joined the channel
[05:55] itissid: hey has someone debugged with nodeinspector on a node server running on a remote machine?
[05:56] itissid: I am able to debug on my machine here but not my server
[05:56] tikva has joined the channel
[05:58] strmpnk has joined the channel
[05:58] mustalac has joined the channel
[06:01] bshumate has joined the channel
[06:04] niftylettuce has joined the channel
[06:06] beawesomeinstead has joined the channel
[06:06] beawesomeinstead has joined the channel
[06:09] fallingmeat has joined the channel
[06:15] jbpros has joined the channel
[06:18] Marak has joined the channel
[06:18] Marak: node.js party time
[06:18] Marak: ryah where you at!
[06:18] Marak: come drink beer with us, the keg is still too full
[06:19] Aria: Man, wish I was in SF right now.
[06:19] Aria: Sounds like fun.
[06:19] Marak: :-D
[06:20] chapel: Marak: you should setup a live cam next time, and have like live chats
[06:21] chapel: so people can interact with party goers without being there
[06:22] itissid: I ll ask again.. has someone debugged with nodeinspector on a node server running on a remote machine?
[06:22] itissid: I am able to debug on my local machine here but not my remote server
[06:24] itissid: anyone?
[06:25] sirdancealot has joined the channel
[06:29] Emmanuel has joined the channel
[06:30] brainproxy: just curious, has anyone seen attempts or attempted to link node.js to a non-js DOM implementation like CplusplusDOM?
[06:31] Aria: I think I saw someone who'd worked on binding it to webkit recently.
[06:32] brainproxy: jsdom is a neat project, but it seems like it would struggle under a heavy load
[06:32] brainproxy: otoh, I've not stress tested it, so i could be wrong
[06:32] Aria: It's not THAT fast for level2 and level3, what with live lists for various outputs.
[06:32] Aria: And various parts could be optimized.
[06:32] Aria: But l1 is much faster.
[06:33] brainproxy: sure
[06:33] itissid: Is Remote debugging with node inspector possible?
[06:33] Aria: I believe so, itissid.
[06:33] skm has joined the channel
[06:33] brainproxy: itissid: yeah, i was doing it some time ago, haven't recently though
[06:34] brainproxy: I remember I had to jump through a few hoops to make it work right
[06:34] itissid: brainproxy, So once you start the debugger you go to someURI:8080/?debug_port=5858 right?
[06:34] itissid: I mean that does not work out of the box
[06:34] itissid: for me
[06:34] brainproxy: itissid: no, I think I used ssh port forwarding
[06:34] itissid: Damn
[06:35] itissid: But if the ports are open why should I need any forwarding
[06:36] brainproxy: not sure, I just remember that being part of what made it work for me, at least I'm pretty sure
[06:36] tim_smart has joined the channel
[06:36] itissid: brainproxy, ok so ssh forwarding of port 8080?
[06:37] brainproxy: itissid: so long as the request seems to be originating from localhost, I don't think the port on the side your web browser will connect to has to be 8080
[06:37] brainproxy: ssh -L 9999:localhost:8080 ...
[06:38] brainproxy: again, I'm working from a foggy memory dating back to Jan of this year, sorry
[06:39] brainproxy: Aria: so for intensive use of server-side DOM, you think a C++ binding to facilities of webkit or chromium DOM lib holds promise?
[06:39] _jgr has joined the channel
[06:40] Aria: I do. But it might take a fair bit of work, since naiive bindings in C++ land can get quite a performance penalty.
[06:40] Aria: But Chromium, of course, has crankshaft optimizations for the bindings specifically.
[06:40] openpercept has joined the channel
[06:41] brainproxy: is it possible for node hackers to leverage some of those same optimization techniques .. I'm at the cusp of investigating these things, sorry if the questions seem naive
[06:42] brownies has joined the channel
[06:42] Aria: Absolutely. But it's gotta be integrated tightly with v8, so it takes some buy-in from them. I don't know the full details, but V8 does some crazy specific things sometimes.
[06:42] brainproxy: up till now I've been all happy w/ pure JS implementations of my stuff, but have some special needs now
[06:42] Aria: So basically, you have to get it to do more crazy specific things.
[06:42] Aria: Yeah. a good fast DOM is gonna be hard to come by. Even Chromium's isn't gonna get hit 1000 times a second.
[06:43] Aria: It's fast, but it's fast for small numbers of pages interacting at user speed.
[06:43] brainproxy: I saw a lib called node-o3-something
[06:43] Aria: Not perhaps the same league as server-side apps chiurning out huge amounts of data.
[06:43] brainproxy: but that's for xml dom
[06:43] Aria: Yeah, XML is much simpler.
[06:43] Aria: strict!
[06:43] brainproxy: :)
[06:44] secoif has joined the channel
[06:45] brainproxy: I'd like for the server-side app to be able to keep a live DOM representation of some resources which are composites of smaller resources, and which trigger updates to the composed representation in an evented manner
[06:45] brainproxy: on the browser side, it's fine
[06:46] brainproxy: getting a symmetric implementation on the server is harder
[06:46] Aria: Yeah.
[06:46] brainproxy: hence, the desire for a high performance server-side DOM :)
[06:47] AvianFlu has joined the channel
[06:48] c4milo1 has joined the channel
[06:48] TomY has joined the channel
[06:49] Bj_o_rn has joined the channel
[06:52] Matias has joined the channel
[06:52] Matias: Hello
[06:52] saschagehlich has joined the channel
[06:53] Matias: I have a script that does http.request(options, myFunc(response) { console.log(response); }). somehow it doesn't work but if I replace "request" and I use "get" instead, it does work
[06:53] chapel: what do your options look like Matias?
[06:53] Matias: it never calls myFunc
[06:54] Matias: just normal, host, port, method, path
[06:54] rubydiam_ has joined the channel
[06:54] chapel: well, you can do function myfunc(response)
[06:54] chapel: or function(response)
[06:55] chapel: or myfunc)
[06:55] Matias: uh?
[06:55] Matias: I can, http.get(...) works well, the problem is using http.request
[06:55] chapel: you can specify a named function you are creating for the callback, or an anonymous function, or a named function called elsewhere
[06:55] chapel: idk
[06:55] chapel: gist the whole code example
[06:56] SuperJS: hi guys, for mustache.js how do you pass the whole variable to the html template. for example, var data = { "persion" : { "name": "Bart", "age": 100}, "school": {"name": "Springfield"} . I want to put the variable data in the template.html, is there a way?
[06:57] __jgr has joined the channel
[06:58] saschagehlich_ has joined the channel
[06:59] mustalac has joined the channel
[07:00] rubydiam_ has left the channel
[07:02] abraham has joined the channel
[07:02] amerine has joined the channel
[07:02] mplabs has joined the channel
[07:02] mplabs has joined the channel
[07:02] coderendezvous has joined the channel
[07:02] mplabs: I'm sorry, I lost my connection
[07:02] mplabs: I said, here is a test case: http://pastebin.com/NVKE6Xym
[07:03] mplabs: if I replace "request" for "get" it works wel
[07:03] mplabs: well*
[07:03] mplabs: what am I missing?
[07:03] SuperJS: hi guys, for mustache.js how do you pass the whole variable to the html template. for example, var data = { "persion" : { "name": "Bart", "age": 100}, "school": {"name": "Springfield"} . I want to put the variable data in the template.html, is there a way?
[07:05] mplabs: in fact I tried using mehotd: 'GET' but it doesn't woek either
[07:05] mplabs: work*
[07:05] mplabs: I think I should sleep, it's 4am and I'm starting to have lot of typos lol
[07:05] jslatts: mplabs: why don't you use express?
[07:06] mplabs: express?
[07:06] mplabs: because I don't know what is express
[07:06] jslatts: express is a nice mvc framework that makes serving pages much nicer
[07:06] chapel: mplabs
[07:07] jslatts: http://expressjs.com/
[07:07] mplabs: interesting
[07:07] chapel: its because you didn't do var req = http.request({})
[07:07] chapel: also http.request is for getting stuff from a server
[07:07] chapel: not for starting a server
[07:07] chapel: http://nodejs.org/docs/v0.4.8/api/http.html#http.request
[07:08] sirdancealot has joined the channel
[07:08] mplabs: I think you didn't get the code
[07:08] mplabs: I have a server running on port 80
[07:08] mplabs: and I want to get its content
[07:08] chapel: okay
[07:09] Shrink has joined the channel
[07:09] mplabs: it's weird because even if I use method: 'GET' it doesn't work, and I bet it's the same as using http.get({...}) which works!
[07:10] chapel: http://pastebin.com/SuLkhW0W
[07:10] chapel: http.get does the req.end call already
[07:10] mplabs: oh
[07:10] chapel: the problem is you aren't actually making the request until you do req.write() then req.end() or just req.end()
[07:10] chapel: read the docs :)
[07:10] chapel: http://nodejs.org/docs/v0.4.8/api/http.html#http.request
[07:11] qFox has joined the channel
[07:11] mplabs: you got it! thank you so much guys :)
[07:12] Shrink has left the channel
[07:16] madsleejensen has joined the channel
[07:16] jslatts: chapel: psh. docs.
[07:16] jslatts: chapel: read the code! :P
[07:17] chapel: rtfc
[07:17] chapel: :)
[07:17] jslatts: everytime I am about to ask a question, i always go "shit, i should go grep the source" and then i answer it
[07:18] CiRlE has joined the channel
[07:18] mplabs: I know it was my fault, the answer was just bellow the code example, I'm sorry :P
[07:19] jslatts: mplabs: no worries. the docs can be hard to navigate at first if you have no context
[07:19] chapel: it happens
[07:19] jslatts: i spent all day looking at the libev docs before they started to make any sense
[07:21] jslatts: why am i getting \r instead of a string??? grrr
[07:22] mbrochh]2 has joined the channel
[07:24] v_y has joined the channel
[07:26] pplante: has anyone setup vows to use growl notifications?
[07:27] chapel: jslatts: what are you trying to do?
[07:28] Druide_ has joined the channel
[07:29] jslatts: chapel: i have a struct returning from an addon I am writing. The struct has a string value and some numbers. The string shows up in node.js javascript-side when I do a winston.info() to log it, but when i stringify it and send it over the socket to my client, it shows up as an empty string
[07:29] jslatts: maybe i have just had too much beer.
[07:29] chapel: probably
[07:30] jslatts: too bad gdb won't tell me that
[07:31] jslatts: it really is making me crazy
[07:31] pplante: ha that would be an awesome error from gdb
[07:32] jslatts: time to bust out nodemon
[07:32] jslatts: err, node-inspector
[07:32] MikhX has joined the channel
[07:33] mplabs: is there any better way to get the content of the page you are .request()ing than to add an event 'data' with a callback to get it?
[07:33] mplabs: it'll be just plain text
[07:33] pplante: its not about the content of the page, its because the call is async
[07:34] jslatts: does anyone know how to make node-inspector auto-break on the first line?
[07:34] pplante: jslatts: cant you use the debugger statement?
[07:35] jslatts: it doesn't break for that
[07:35] pplante: should be able to put that anywhere and pause
[07:35] mplabs: it was --breakl or something like that, let me check
[07:35] pplante: ooh hm
[07:35] jslatts: i'll try it again, but last time i did, it was ignoring it
[07:36] max_dev has joined the channel
[07:36] mplabs: --start-brk
[07:36] mplabs: there it is
[07:37] mplabs: (http://howtonode.org/debugging-with-node-inspector)
[07:37] mplabs: so I always have to add a callback to do the request and another one to get the content?
[07:37] mplabs: pplante
[07:37] daglees has joined the channel
[07:37] jslatts: hrm, thats new
[07:39] jslatts: hah, its crashing the debugger
[07:40] pplante: mplabs: yes you do
[07:40] AvianFlu has joined the channel
[07:40] pplante: however you could use http.get() to shortcut some of it
[07:40] pplante: http://nodejs.org/docs/latest/api/http.html#http.get
[07:43] mplabs: I think I don't get something
[07:44] mplabs: oh, never mind, I was mixing the data event in the request object with the data event in the response object :P
[07:45] adambeynon has joined the channel
[07:46] itissid: Feels like knockout.js is the best thing to happen to webdevelopers
[07:46] itissid: NO more writing tons of jquery boiler plate
[07:46] pplante: what
[07:46] SuperJS: anyone know how to pass a JSON object from nodejs to mustache.js template?
[07:46] v_y: is knockout.js similar to backbone.js?
[07:47] itissid: v_y its backbone on steroids
[07:47] v_y: : |
[07:47] v_y: sounds scary
[07:47] itissid: v_y, it has a templating system..
[07:47] v_y: my templating system or a new one?
[07:47] v_y: lol
[07:47] itissid: jQuey templating system only...
[07:47] v_y: what else does it do that backbone doesn't
[07:47] DelvarWorld has joined the channel
[07:48] pplante: apparently the kitchen sink
[07:48] itissid: v_y, Well one thing is that it is having this incremental change idea
[07:49] itissid: Like if an array in your model changes
[07:49] jslatts: i am a fan of spine now
[07:49] itissid: then only a specific part of the DOM will be rerendered
[07:49] jslatts: instead of backbone
[07:49] v_y: spine?
[07:49] itissid: jslatts, you should look at knockout also
[07:50] jslatts: spin.js
[07:50] v_y: jslatts: and what does that have on backbone?
[07:50] jslatts: http://maccman.github.com/spine/
[07:50] jslatts: v_y: it has less
[07:50] v_y: ok
[07:50] v_y: that's always good
[07:50] jslatts: v_y: which is why i like it.
[07:51] jslatts: v_y: bacbone gets to be a PITA when you stop using it against a restful endpoint
[07:51] itissid: jslatts, MVVC is better than MVC for JS apps
[07:51] jslatts: and instead want to replace sync w/ something over socket.io for instance
[07:51] itissid: which is implemented by knoockout
[07:51] mbrochh]2 has left the channel
[07:51] v_y: ah
[07:52] jslatts: i haven't tried knockout, but backbone can do incremental updates, as can spine
[07:52] v_y: sorry, waht are incremental updates?
[07:52] jslatts: i assume he meant just redrawing one piece of the DOM
[07:52] itissid: v_y, Like if you have a list of elements that is listeneg to an array and you change 1 element of the array...
[07:53] itissid: blah blah..
[07:53] v_y: aah
[07:53] v_y: wow
[07:53] itissid: But the templating system is critical
[07:53] jslatts: itissid: they all do templating
[07:53] v_y: yeah i miss the ability to override get and set as in python
[07:53] itissid: jslatts, DO they have dependent observables?
[07:54] jslatts: i dont know, what are those
[07:54] mplabs: what is the method I should use to send parameters on a POST request? I bet it's not "path"
[07:54] pplante: v_y: well once ecmascript5/harmony takes over you can do just that...but yeah
[07:54] mplabs: (I mean, the path option in the .request() method)
[07:54] itissid: Like if say i am listening to 2 observables and a third observable dependent on some sort of composition of those 2 observables
[07:54] itissid: jslatts, ^
[07:55] itissid: jslatts, Like say First name and last name were 2 text labels that were being listened to and a third label was Full name
[07:56] itissid: was added
[07:56] jslatts: itissid: as in, listen for updates on specific DOM objects?
[07:58] msucan has joined the channel
[07:58] itissid: jslatts, So 2 DOM elements "First name" and "last name" are listening to two variables in your model. When you change the two variables the labels get updated.. Now suppose you want to add a 3rd DOM element that is "Full name" but it should be based on those two model variables alone..
[07:58] jslatts: anyone know the best way to convert a Local to a char*?
[07:59] itissid: So fullname will be a dependent observable
[07:59] v_y: you know what would be great? if node could be run in chrome's debugging framework
[07:59] jslatts: itissid: I _think_ you can do that with your own events in backbone, but it would take some work on the dev's part
[07:59] jslatts: v_y: you can...
[08:00] v_y: jslatts: really? how?
[08:00] itissid: v_y, You mean debug using node inspector..
[08:00] jslatts: v_y: node-inspector
[08:00] openpercept has joined the channel
[08:00] itissid: I mean that is already running the JS
[08:00] jslatts: <3 node-inspector
[08:00] v_y: node-inspector
[08:00] jslatts: except when it crashes, like right now
[08:01] jetienne has joined the channel
[08:01] v_y: wow.. just wow
[08:01] v_y: haha
[08:01] itissid: jslatts, it crashes?
[08:01] itissid: Mine does not
[08:01] jslatts: itissid: not normally
[08:01] jslatts: itissid: but something I am doing to it is making it unhappy
[08:01] itissid: jslatts, do you know how to set up node inspector on a remote server ?
[08:01] mplabs: (definitely, request.write() is not the way, at least not when you have an object :P)
[08:02] jslatts: itissid:no, didn't know you coudl
[08:02] jslatts: well, i guess it makes sense. it just gives you a port/ip
[08:02] skm has joined the channel
[08:03] itissid: jslatts, You can I dont know how to.. I am guessing some sort of port forwarding that brainproxy was talking about..
[08:03] itissid: I could not understand exactly
[08:04] jslatts: you would have to forward incoming requests to localhost;8080 i think
[08:04] SamuraiJack has joined the channel
[08:04] itissid: jslatts, Oh i think I might have gotten it
[08:06] spasquali has joined the channel
[08:07] yozgrahame has joined the channel
[08:09] jslatts: it boggles the mind that programmers have made dealing with strings across platforms so hard
[08:09] itissid: jslatts, you have no idea
[08:09] itissid: :)
[08:10] itissid: jslatts, C++ is the worst
[08:10] itissid: for strings
[08:12] adambeynon has joined the channel
[08:12] jslatts: i figured out that my issue is somewhere here: string goes from js -> c++ as Local -> String::AsciiValue -> char* -> through a message queue -> Local
[08:12] jslatts: after the queue its evaporated
[08:13] itissid: jslatts, What is Local<>? a standard Container clas?
[08:13] jslatts: yes, a handle to the javascript string object
[08:14] jslatts: *sigh* GDB time
[08:14] systemfault: Locale?
[08:15] systemfault: Err
[08:15] systemfault: std::locale is standard..
[08:15] systemfault: If it's something else, it must be node or whatever lib it uses
[08:17] Casperin: I got a question. I use cofffeescript for external files in node (and require to get them). So to access a variable in one such script I do like @foo = 123. But what if I have an external script that needs a variable set in another external file. Is that possible?
[08:20] mplabs: what am I missing? the server dosn't receive any POST variable data, http://pastebin.com/gxctWvbG
[08:21] jslatts: systemfault: it is node
[08:21] mplabs: s/variable//
[08:21] cystbear has joined the channel
[08:22] cystbear has joined the channel
[08:22] kbni has joined the channel
[08:23] nivoc has joined the channel
[08:23] ewdafa has joined the channel
[08:24] mplabs: I read some examples and they do the same
[08:24] gozala has joined the channel
[08:24] mplabs: but it's not sending {foo:'bar'}
[08:27] jslatts: YAY! i got my string
[08:28] azeroth__ has joined the channel
[08:29] Ned_ has joined the channel
[08:30] coreb has joined the channel
[08:30] SuperJS: has anyone worked with mustache.js before?
[08:31] jslatts: now i can sleep soundly tonight knowing that my strings can survive the round trip
[08:31] mplabs: :P
[08:34] v_y has joined the channel
[08:35] v_y: when i invoke `npm install node-inspector`, it creates a node_modules directory. how can i get it to install node-inspector in my path?
[08:35] v_y: i'm following the instructions here: https://github.com/dannycoates/node-inspector#readme
[08:36] jslatts: v_y: install it globally, and add teh global location to your path
[08:37] v_y: how do i install it globally?
[08:37] galaxywatcher has joined the channel
[08:37] chapel: npm install node-inspector -g
[08:37] jslatts: yep
[08:37] jslatts: night all
[08:38] v_y: aah
[08:38] v_y: night
[08:38] v_y: thanks
[08:38] mplabs: yeah! I just found this post: http://www.theroamingcoder.com/node/111, I had the same problem! there are many "wrong" tutorials out there
[08:39] mplabs: at least here I have to send both headers to actually send the post data, otherwise it's ignored
[08:40] d0k has joined the channel
[08:40] mplabs: I think it should be in the documentation I couldn't find it there :|
[08:40] captain_morgan has joined the channel
[08:41] koo6 has joined the channel
[08:42] FND has joined the channel
[08:42] yumike has joined the channel
[08:44] MattJ has joined the channel
[08:46] chapel: eh, that is not so much a node problem
[08:46] chapel: its an http thing
[08:46] chapel: also, content-length isn't always needed, depends on the server
[08:47] JoshC1 has joined the channel
[08:48] mplabs: it's strange there're so many code examples without them, I thing it should work anyway, maybe I'm missing something
[08:48] mplabs: think*
[08:49] TomY has joined the channel
[08:49] mplabs: ...it's working now just with Content-Type
[08:51] FND: I'm having trouble packaging JSLint Reporter for NPM: after creating package.json and running `npm link`, `require("jslint-reporter")` fails as the module can't be found - any advice?
[08:52] kbni has joined the channel
[08:53] FND: package.json is here: https://github.com/FND/jslint-reporter/commit/b5c797f8d2f815a0dd0c877ecbda9fbfefb87fd6
[08:55] pplante has joined the channel
[08:57] Casperin has left the channel
[08:59] abraham has joined the channel
[09:03] ardcore has joined the channel
[09:03] ardcore has left the channel
[09:04] liam has joined the channel
[09:05] saschagehlich has joined the channel
[09:06] Emmanuel has joined the channel
[09:07] kbni has joined the channel
[09:07] selt has joined the channel
[09:08] selt: not much of a question or anything, but node.js is great. working on some mini project with it, quite fun.
[09:09] selt: preaching to the choir, i guess, though.
[09:09] galaxywatcher has joined the channel
[09:09] galaxywatcher has joined the channel
[09:10] jbpros has joined the channel
[09:14] koo7 has joined the channel
[09:14] Gurpartap: can you write a bit of coffeescript in js files?
[09:15] aliem has joined the channel
[09:18] stephank has joined the channel
[09:19] adnam: Gurpartap: i'm not that familiar with coffeescript, but i would guess that you would have to write a preprocessor
[09:19] Gurpartap: ah hmm
[09:20] adnam: but why do you want to? Seems like it could get messy to mix the two
[09:23] kbni has joined the channel
[09:23] skm has joined the channel
[09:24] nivoc has joined the channel
[09:25] Xano has joined the channel
[09:27] jaket has joined the channel
[09:32] JoshC1 has joined the channel
[09:32] thalll has joined the channel
[09:34] dragunov11 has joined the channel
[09:34] stisti has joined the channel
[09:35] dragunov11: how do i see the contents of an object in the console.log ?
[09:36] chjj: console.log(obj)
[09:36] paulmdx has joined the channel
[09:36] kbni has joined the channel
[09:36] dragunov11: chjj: its giving an output of [object Object]
[09:39] dragunov11: somehow it seems to work for other objects, not the one am expecting. thanks
[09:39] hybsch has joined the channel
[09:43] madsleejensen has left the channel
[09:43] Katibe has joined the channel
[09:47] adrianmg has joined the channel
[09:48] quijote has joined the channel
[09:50] niftylettuce has joined the channel
[09:50] herbySk has joined the channel
[09:52] adnam: dragunov11: perhaps it's already been converted to a string, what's typeof obj?
[09:53] kbni has joined the channel
[09:53] adambeynon has joined the channel
[09:54] selt has left the channel
[09:59] kUrld has joined the channel
[10:03] kbni has joined the channel
[10:04] junkee[] has joined the channel
[10:07] galaxywatcher has joined the channel
[10:08] markwubben has joined the channel
[10:09] koo6 has joined the channel
[10:12] jbpros has joined the channel
[10:13] ExsysTech has joined the channel
[10:14] aliem has joined the channel
[10:16] jacter1 has joined the channel
[10:17] Yoric has joined the channel
[10:18] tojochacko has joined the channel
[10:19] xsyn: Is there a mimedetect module ?
[10:19] Yoric has left the channel
[10:23] junkee[]: http://search.npmjs.org/#/mime
[10:24] xsyn: rtfm'd
[10:24] xsyn: thanks
[10:25] xsyn: perfect
[10:25] junkee[]: but it just is a map of mime types and file extensions
[10:27] junkee[]: I just lost my space-bar :s
[10:27] Bonuspunkt: spaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaace
[10:27] chapel: Space is that you?
[10:29] FireFly|n900: space? space!
[10:29] eldar has joined the channel
[10:29] chapel: Space is the new cake :)
[10:31] xsyn: It's perfect, I just need to get the mimetype so as to attach to couch
[10:32] daglees has joined the channel
[10:34] chapel: you want to use the mimetypes in couchdb?
[10:36] xsyn: If I'm adding an image as an attachment to a document
[10:36] xsyn: I need the mime/type
[10:36] xsyn: so yeah
[10:37] chapel: yeah
[10:37] chapel: did you know couchdb supports commonjs modules?
[10:38] xsyn: In what way?
[10:38] chapel: in a lot of different ways
[10:38] xsyn: I'm not sure I'm using couch properly
[10:38] xsyn: I'm just runnning my node.app and then pushing/pulling
[10:39] xsyn: via cradle
[10:39] [[zzz]] has joined the channel
[10:40] junkee[]: mööp, my space-bar is working again. My soldering iron and some plastic made the job.
[10:43] adambeynon has joined the channel
[10:47] DarkLinkXXXX has joined the channel
[10:47] rputikar has joined the channel
[10:47] DarkLinkXXXX: Hello
[10:47] DarkLinkXXXX: Anyone here?
[10:49] liquidproof has joined the channel
[10:51] DarkLinkXXXX has joined the channel
[10:51] stagas_ has joined the channel
[10:51] JoshC1 has joined the channel
[10:51] DarkLinkXXXX: I have a dumb question
[10:52] zeunix: DarkLinkXXXX: you don't need to ask if anyone's here. There usually is several, even this late. Just ask the question straight out and if anyone knows an answer they'll chime in. If you get no responses it's more likely that no one who's online has an answer then wait until a more active time and ask again. :)
[10:54] junkee[]: late? its time for lunch here...
[10:54] zeunix: touché. I guess I was generalizing because most of the people on here are from the states.
[10:54] DarkLinkXXXX: ACTION is submitting code to pastebin
[10:55] stagas has joined the channel
[10:55] zeunix: junkee[]: and when I say "most" I'm just referring to my observation of course, not a real statistic :)
[10:55] DarkLinkXXXX: https://gist.github.com/997647
[10:56] [[zz]] has joined the channel
[10:57] devrim has joined the channel
[10:57] DarkLinkXXXX: Here, I use the express framework to show the files own source code, via res.download
[10:57] DarkLinkXXXX: The problem is, it shows up via attachment, and not in-browser text
[10:58] DarkLinkXXXX: Does anyone have a solution for this?
[10:58] junkee[]: is res.download handling the mime type? just try to set the mime-type to text/javascript
[10:59] DarkLinkXXXX: ACTION looks at documentation
[11:00] migimunz has joined the channel
[11:00] stagas_ has joined the channel
[11:01] DarkLinkXXXX: res.header sounds like it could do something
[11:01] crodas has joined the channel
[11:01] FireFly|n900: junkee[], if you want actual statistics there's always the node users list on the repository wiki :P
[11:01] DarkLinkXXXX: what is the raw tcp response for a plain text file?
[11:02] stagas__ has joined the channel
[11:02] igl1: text/plain
[11:02] igl1: