[00:00] deadmau5: :D
[00:00] satyr has joined the channel
[00:00] deadmau5: motivation to write nice tests haha
[00:00] deadmau5: doubles as docs
[00:01] nerdy has joined the channel
[00:02] ircdearia has joined the channel
[00:03] jbrokc_ has joined the channel
[00:04] CarterL has joined the channel
[00:04] joshwnj has joined the channel
[00:05] joshwnj has left the channel
[00:08] robertj: anyone here have any experience in trying to sandbox untrusted code in node?
[00:08] brianc1: robertj: you could potentally use vm.runInNewContext
[00:08] diogogmt has joined the channel
[00:08] robertj: brianc1, that gets you part of the way there
[00:08] jerrysv: v8: var foo = 'var';
[00:08] v8bot_: jerrysv:
[00:09] jerrysv: .. var foo = 'var';
[00:09] jerrysv: catb0t?
[00:09] ircdearia has joined the channel
[00:09] robertj: brianc1, but you gotta have some way to abort the context
[00:09] brianc1: robertj: good point.
[00:09] robertj: brianc1, plus you got memory leaking issues
[00:10] robertj: and not even leaking issues, you got just memory rationing
[00:10] cjm has joined the channel
[00:10] robertj: I tried giving it a proxy as a context to try to compute the memory requirement objects put in the context's global scope even...
[00:11] robertj: but apparently it doesn't honor the setter of a proxy for contexts
[00:12] raincole has joined the channel
[00:12] elevenarms has joined the channel
[00:12] brianc1: yeah node docs say safely running untrusted code requires a separate process
[00:12] bartt has joined the channel
[00:13] jbrokc_ has joined the channel
[00:14] jhurliman has joined the channel
[00:15] josh-k has joined the channel
[00:16] stonebranch has joined the channel
[00:17] brianseeders has joined the channel
[00:18] zemanel has joined the channel
[00:19] francisl has joined the channel
[00:21] marcello3d has joined the channel
[00:22] devongovett has joined the channel
[00:22] tkaemming has joined the channel
[00:23] igl1 has joined the channel
[00:27] ph^_ has joined the channel
[00:27] josh-k has joined the channel
[00:28] StanlySoManly has joined the channel
[00:28] jackbean_ has joined the channel
[00:31] chrislorenz has joined the channel
[00:31] francisl has joined the channel
[00:35] jaigouk has joined the channel
[00:36] StanlySoManly has joined the channel
[00:37] nickadeemus2002 has joined the channel
[00:37] nickadeemus2002 has left the channel
[00:39] davidbanham has joined the channel
[00:40] lyte_ has joined the channel
[00:40] isaacs: any windows users in here?
[00:41] stantona has joined the channel
[00:41] isaacs: http://npmjs.org/dist/npm-1.1.0-alpha-3.zip unpack in the same folder as node.exe, please
[00:41] isaacs: see if that fixes some stuff
[00:41] base698: what's windows
[00:41] laprice has left the channel
[00:41] mmalecki: base698: you probably never heard of it.
[00:41] insin: any stuff in particular or just the man pages?
[00:42] base698: It's some toy OS for VMs right?
[00:43] jerrysv: base698: it's like a commercial version of reactos
[00:43] aioue has joined the channel
[00:43] jerrysv: speaking of which, anyone know if node runs on reactos?
[00:44] sechrist_: reactos.. wow I haven't looked at that in so long
[00:44] jerrysv: tempted to try it
[00:44] migimunz has joined the channel
[00:45] jerrysv: but would require me to get vbox set up first. maybe a rainy day project
[00:45] criswell has joined the channel
[00:45] a_suenami has joined the channel
[00:45] jesusabdullah: I used to be all about following reactos and haiku and shit
[00:45] insin: it doesn't barf when it needs to display man stuff any more
[00:45] jesusabdullah: then I started having to get work done
[00:46] lorfds has joined the channel
[00:46] lorfds: does anyone know how to install zombie via npm on os x
[00:46] lorfds: i need to know how to setup my node_path
[00:46] lorfds: specifically
[00:48] albertosh has joined the channel
[00:49] aioue has joined the channel
[00:50] jscheel has joined the channel
[00:50] jscheel has joined the channel
[00:50] seebees: isaacs: windows npm fix works
[00:51] seebees: isaacs: ran v0.6.3, npm -> Error: ENOENT
[00:51] isaacs: seebees: oh?
[00:51] isaacs: nice!
[00:51] isaacs: and now you don't have that problem?
[00:51] jscheel has joined the channel
[00:51] jscheel has joined the channel
[00:51] seebees: well I don't get an error when I run npm
[00:51] isaacs: awesome :)
[00:52] isaacs: that's a good start
[00:52] seebees: installing http-proxy works
[00:52] seebees: anything else you want me to try?
[00:52] bobbuck has joined the channel
[00:52] isaacs: i dunno. whatever you were doing before that wasn't working :))
[00:52] mikeal has joined the channel
[00:52] seebees: (npm_g and npm-g) are in your zip
[00:52] isaacs: yeah, and those don't auto-global as yet
[00:52] themiddleman_itv has joined the channel
[00:52] isaacs: which is unfortnuate.
[00:52] seebees: that's about it. I'll poke around...
[00:52] isaacs: gotta figure that one out.
[00:53] isaacs: also, the msi needs to set up prefix = %APPDATA%\npm and add %APPDATA\npm to the %Path%
[00:54] joshsmith: anyone know when Mongoose is going to add in insertAll?
[00:55] seebees: you're moving "Program Files\node_modules" to %APPDATA%
[00:55] seebees: or just npm?
[00:55] aioue has joined the channel
[00:56] isaacs: seebees: npm itself will still live there, with node.
[00:56] isaacs: seebees: but, the global installs that npm installs will go into %APPDATA%
[00:56] isaacs: that is, into %APPDATA%\npm\node_modules\blah
[00:56] isaacs: and i think we can make `npm link` work on windows soonish, maybe
[00:57] isaacs: probably not in xp, though
[00:57] seebees: hum. junctions?
[00:57] seebees: they should work
[00:58] mmalecki: on windows should has extremely low value
[00:59] mikeric has joined the channel
[00:59] isaacs: seebees: they totally should work.
[00:59] isaacs: they're lazy, though
[00:59] isaacs: lazy and weird.
[01:00] nex3 has joined the channel
[01:00] nex3: How does one debug a stack overflow in node?
[01:00] seebees: weird? how so?
[01:00] chjj: nex3: you look for the recursive function that is going haywire
[01:01] mmalecki: isaacs: welcome to Windows. enjoy your stay. in case of problems, please consult Ctrl+Alt+Del.
[01:01] nex3: I'd really like a backtrace so I'd know where to start looking
[01:03] zeade has joined the channel
[01:03] AvianFlu: mmalecki, in case of problems, please consult your nearest linux distro install disc
[01:03] mmalecki: AvianFlu++
[01:03] v8bot_: mmalecki has given a beer to AvianFlu. AvianFlu now has 1 beers.
[01:03] isaacs: seebees: well, you can't create junctions to files, the paths need ot be absolute, and there are slightly different semantics around creating and deleting them
[01:04] aioue has joined the channel
[01:04] mmalecki: I actually ditched discs quite a long time ago
[01:04] mmalecki: usb boot ftw
[01:04] mmalecki: I still have no idea how to do full network install tho
[01:05] AvianFlu: tftp is a bitch
[01:05] seebees: isaacs: that is all true. I suppose I was thinking that for simple cases it should just work.
[01:07] mmalecki: AvianFlu: yeah, it is. there's no easy solution for this, unfortunately
[01:07] mmalecki: so I guess Linux isn't enterprise-ready
[01:07] perezd_ has joined the channel
[01:07] nicholasf has joined the channel
[01:07] AvianFlu: it's clearly not webscael
[01:07] nex3: No one? Backtrace from a stack overflow?
[01:08] AvianFlu: nex3: did it say maximum call stack size exceeded?
[01:08] nicholasf has joined the channel
[01:08] AvianFlu: or did you see a segfault
[01:08] nex3: AvianFlu: neither, it just said "Stack Overflow"
[01:08] nex3: I'll gist the entire output
[01:08] CoverSlide: wow
[01:08] CoverSlide: that's a new one
[01:08] nex3: [https://gist.github.com/1412449
[01:08] seebees: isaacs: "There is a limit of 31 reparse points on any given path." you win… again.
[01:09] Dmitrijus: nex3: well, enable teh core dumps, wait for it, gdb it!
[01:09] AvianFlu: nex3: it looks like somebody wrote `throw 'Stack Overflow'`
[01:10] AvianFlu: which is just lulz
[01:10] rwasielewski has joined the channel
[01:10] AvianFlu: but yeah, that's new to me too
[01:10] chjj: nex3: stack overflows dont usually look like that in node, you wouldnt get the throw e; junk at the top
[01:10] chjj: and it wouldnt say stack overflow
[01:10] deadmau5: fuck i hate when people throw strings
[01:10] deadmau5: or callback(string)
[01:10] AvianFlu: yeah
[01:11] mmalecki: ahahahaha
[01:11] AvianFlu: I had a lib that I forked because every error was either callback(data) or callback(err)
[01:11] nex3: Ah, I see... we are wrapping exceptions in a potentially weird way
[01:11] AvianFlu: so you'd have to check every object afterwards to see what it was
[01:11] deadmau5: i see that soooo often
[01:11] deadmau5: unfortunately
[01:11] caolanm has joined the channel
[01:11] Tuller has joined the channel
[01:11] mmalecki: I'll start putting throw 'stack overflow' into random places
[01:11] chjj: AvianFlu: oh wow
[01:12] AvianFlu: chjj: YEAH.
[01:12] chjj: that would drive me insane
[01:12] deadmau5: ahahaha
[01:12] deadmau5: do it
[01:12] deadmau5: all over core
[01:12] AvianFlu: yeah, I was waiting on some other small pull request for two weeks
[01:12] deadmau5: no descriptive error message either
[01:12] AvianFlu: and then one day I just stopped and re-wrote every callback in 600 lines of code
[01:12] deadmau5: just stack overflow for everything
[01:13] bradleyg has joined the channel
[01:13] mmalecki: also, make it happen after some random interval
[01:14] deadmau5: yeah
[01:14] deadmau5: and write it with that weird []+whatever hack
[01:14] matin has joined the channel
[01:14] deadmau5: so you can never find it
[01:14] mmalecki: oh yes
[01:14] matin has left the channel
[01:14] mmalecki: that would make me a very bad human being, right?
[01:15] jesusabdullah: Not sure
[01:15] AvianFlu: that would make a funny troll pull request... "Error messages too descriptive, too friendly to beginners.'
[01:15] mmalecki: lol
[01:15] deadmau5: make them work for it
[01:15] nex3: Okay, so, I've got the actual exception object
[01:15] stantona has joined the channel
[01:15] nex3: But it still has no stack information attached to it
[01:15] AvianFlu: nex3: gist it
[01:16] deadmau5: :s
[01:16] deadmau5: maybe some failed attempt to inherit from Error
[01:16] nex3: https://gist.github.com/1412449
[01:16] AvianFlu: OKAY. that makes sense.
[01:16] chjj: okay, so someone was wrapping that error?
[01:16] AvianFlu: something, somewhere, is recursing in an infinite loop
[01:16] mmalecki: ok, now I'm gonna write my first line of coffeescript in my entire life
[01:17] jesusabdullah: Godspeed, sir
[01:17] jesusabdullah: I wrote cs once
[01:17] chjj: nex3: this should be easy, search for the code that wraps that error
[01:17] AvianFlu: nex3: try to find recursion and throw the recursive call into a process.nextTick()
[01:17] jerrysv: mmalecki: sucker
[01:17] jesusabdullah: but then I learned js better and now I, well
[01:17] jesusabdullah: I'm happy with what I got
[01:17] mmalecki: I need it for forever testing :(
[01:17] mmalecki: actually, I need any command
[01:17] deadmau5: i LOVE adding separate coffeescript support
[01:17] nicholasf has joined the channel
[01:17] mmalecki: deadmau5: no, we have -c swithc
[01:17] mmalecki: *switch
[01:18] chjj: whats all this talk of coffeescript, cut it out
[01:18] mmalecki: I'll just use python
[01:18] jocafa has joined the channel
[01:18] nex3: chjj: I know where it's getting wrapped
[01:18] mmalecki: I'll die a being a coffeescript virgin
[01:18] nex3: AvianFlu: If I knew what the recursion was, I wouldn't need the backtrace :p
[01:18] marcello3d: weeee
[01:18] jerrysv: i bought a book on it, during an agile week sale for pragprog, still haven't read it
[01:19] chjj: a book on what?
[01:19] jesusabdullah: Why were you thinking of writing cs?
[01:19] deadmau5: the best is
[01:19] deadmau5: http://cl.ly/CEGy
[01:19] jesusabdullah: cs support for a project?
[01:19] deadmau5: that's because, it's not a language
[01:19] deadmau5: it's a parser
[01:19] chjj: ...theres books on coffeescript? ...
[01:19] jerrysv: chjj: the forbidden language
[01:19] chjj: ACTION vomits.
[01:20] koo5 has joined the channel
[01:20] jerrysv: chjj: http://pragprog.com/book/tbcoffee/coffeescript
[01:20] jerrysv: (you asked)
[01:20] Hamms has joined the channel
[01:21] chjj: wow, someone wanted to cash out on coffeescript
[01:21] pksunkara: which is the best mock?
[01:21] pksunkara: to be used along with vows
[01:21] chjj: "CoffeeScript is JavaScript done right."
[01:21] chjj: hahahahahahahahahhaha
[01:21] jerrysv: chjj: having watched a friend write a book for pragprog, that's a hellofa lot of work to "cash out"
[01:21] jerrysv: pksunkara: what are you mocking?
[01:22] pksunkara: github api
[01:22] pksunkara: github.com/pkumar/octonode
[01:23] nex3: So I'm still in the position where I have this exception object that has no stack information
[01:23] jesusabdullah: s/right/like ruby/
[01:23] jesusabdullah: which is fine, but we should call it what it is
[01:23] nex3: Whether or not that exception is wrapped
[01:23] jerrysv: nex3: when i force a stack overflow, that's not even the error i'm getting
[01:24] pksunkara: I don't know, I like coffeescript just cuz it redcues the code I have to write
[01:24] pksunkara: I convert it into js before publishing
[01:24] nex3: jerrysv: you're not getting RangeError?
[01:24] deadmau5: and increases what you have to debug
[01:24] jerrysv: nex3: so, that error could be coming from the OS - maybe compile in debug mode and run inside of gdb
[01:24] chjj: i think someone is messing with nex3's code to try to make him slowly go insane or something
[01:24] deadmau5: who writes code
[01:24] nex3: It's not impossible
[01:24] deadmau5: automate that shit
[01:24] jerrysv: nex3: yes, getting range error, not the other gist you posted though
[01:25] nex3: yeah, that was weird wrapping
[01:25] nex3: But getting rid of it still doesn't get me a stack
[01:25] jerrysv: nex3: RangeError: Maximum call stack size exceeded
[01:25] marcello3d: github.com/pkumar/octonode: the c-style method names are very un-javascript
[01:25] nex3: jerrysv: yes, that's what I'm getting now
[01:26] pksunkara: marcello3d: it's just a draft and it's not even mine ;)
[01:26] kiilo has joined the channel
[01:26] marcello3d: just saying :)
[01:26] jesusabdullah: pksunkara: octonode should use camelCase methods
[01:26] jesusabdullah: pksunkara: cause camelCase rocks
[01:26] pksunkara: jesusabdullah: definitely
[01:26] chjj: no it doesnt
[01:26] chjj: i hate camelcase
[01:26] marcello3d: it's not a matter of rocking
[01:26] pksunkara: camelCase ++
[01:27] marcello3d: it's a matter of consistency
[01:27] chjj: camelcase is such a failure i refuse to type it in camelcase
[01:27] jesusabdullah: Yeah, it's the consistency really
[01:27] jesusabdullah: in python i_use_undascores
[01:27] chjj: yeah, i use it, but i dont like it
[01:27] jesusabdullah: whiner
[01:27] CrabDude has joined the channel
[01:27] pksunkara: let's talk about what mocking framework should I use?
[01:27] chjj: :(
[01:27] jesusabdullah: hehe
[01:27] pksunkara: I haven't got an answer yet
[01:27] marcello3d: someone should write a javascript preparser that replaces camelcase with underscores
[01:27] chjj: i would prefer lowercase + underscores
[01:27] marcello3d: call it java_script
[01:27] jesusabdullah: pksunkara: nock sounded nice, but you should camelcase those methods first
[01:28] chjj: javascript is just a bad name all around
[01:28] marcello3d: and the commandline would be j_s
[01:28] chjj: and ecmascript is worse
[01:28] pksunkara: jesusabdullah: those are not even written yet, they are a todo list
[01:28] chjj: i vote we just call it "js"
[01:28] jesusabdullah: ah
[01:28] jesusabdullah: in that case
[01:28] chjj: the j and the s dont stand for anything
[01:28] jesusabdullah: DONT FORGET
[01:28] pksunkara: jesusabdullah: copied from someone else's abandoned project
[01:28] jesusabdullah: oh, I see
[01:28] jesusabdullah: YOU ARE FORGIVEN
[01:28] jocafa: except that all of the standard interfaces in js are camel case
[01:29] chjj: i want to fork v8 and make that not the case ^
[01:29] pksunkara: jesusabdullah: If you want to see the functions until now, see the "usage" seciton
[01:29] jocafa: parseInt, toString...
[01:29] chjj: get it? "not the case"? get it?
[01:29] jocafa: lawls
[01:31] pksunkara: marcello3d: what use would j_s be?
[01:31] marcello3d: so chjj doesn't have to use camelCase
[01:31] pksunkara: lol
[01:31] marcello3d: we could also replace . with ->
[01:31] marcello3d: and require $ in front of variable names
[01:31] deadmau5: and \
[01:32] deadmau5: Awesome\Namespacing\FTW
[01:32] pksunkara: I think the name should be php instead of j_s
[01:32] chjj: it wouldnt be called j_s !
[01:32] pksunkara: chjj: jj?
[01:33] sdwrage has joined the channel
[01:33] chjj: lets rename node to php so it gets more popular
[01:33] themiddleman_itv has joined the channel
[01:33] marcello3d: probably best to call it PHjP to avoid trademark violation
[01:33] RobWC has joined the channel
[01:33] pksunkara: php was the first ever language I learnt 2 yrs ago
[01:33] marcello3d: or perhaps p_h_j_p
[01:34] pksunkara: jesusabdullah: thanks for nock, it's awesome
[01:34] AvianFlu: I started writing BASIC in 1993
[01:34] AvianFlu: I was 9 XD
[01:34] githogori has joined the channel
[01:34] tonymilne: If i have a buffer (from a zeromq message), whats the best way to convert that to a JavaScript object?
[01:34] chjj: i think i started writing php in ~2000 when i was 11 ;)
[01:35] pksunkara: AvianFlu: You were 9 in 1993?
[01:35] jesusabdullah: pksunkara: thank pedro and nuno, yo
[01:35] chjj: only 5 years older than me
[01:35] deadmau5: tonymilne give msgpack a go
[01:36] jesusabdullah: I wrote basic for my ti-83 when I was 16
[01:36] jesusabdullah: did some html when I was like 14
[01:36] AvianFlu: pksunkara, yeah
[01:36] abraxas has joined the channel
[01:36] chjj: AvianFlu is oldschool
[01:36] pksunkara: AvianFlu: sorry abt that, some derp calculation I made
[01:36] AvianFlu: tonymilne, if it's a Buffer object, Buffer.toString()
[01:38] tonymilne: AvianFlu then back to object literal again? JSON.parse(buffer.toString())
[01:38] AvianFlu: yep
[01:38] ircdearia has joined the channel
[01:38] tonymilne: yeah, really was hoping for something better.
[01:38] tonymilne: ;)
[01:39] deadmau5: that's the awesome thing about zmq you can use whatever protocol you want
[01:39] deadmau5: just wrap it in some api
[01:39] deadmau5: well one of the awesome things
[01:39] tonymilne: yeah, i get all those benefits
[01:39] ditesh|cassini has joined the channel
[01:39] robbiet480 has left the channel
[01:40] truedat101 has joined the channel
[01:41] secoif has joined the channel
[01:41] jocafa: i need to spend some quality time with zmq
[01:42] aioue has joined the channel
[01:42] tonymilne: is there a way to do a distributed zmq?
[01:42] Kunda has joined the channel
[01:42] tonymilne: (hmm, don't know if that makes sense… firstly, can you use zmq across different servers within the same network)
[01:42] secoif has joined the channel
[01:43] tonymilne: from there, can you do something thats pub/sub so that its not single point of failure on one server that all of the pub/sub are binding / connecting to?
[01:43] deadmau5: yes
[01:43] deadmau5: you use the different socket types to constructor the network topology for whatever your use-case it
[01:44] secoif has joined the channel
[01:44] deadmau5: workers use push/pull, pubsub use.. pub/sub haha etc
[01:44] rwasielewski has joined the channel
[01:44] deadmau5: i have a half-assed node implementation working on 0.6.x getting around 80krps but
[01:45] deadmau5: there's not really any point to redo that stuff
[01:45] deadmau5: it's tiny anyway
[01:45] sente: so i got node.js working, no idea what to do with it though. i just wanted to play. can anyone suggest DevOp-type node.js resources or such?
[01:45] tonymilne: Ok, well basically i have node-http-proxy that will balance between multiple app servers (on different VPS), i will have something that posts a request (basically a remote command) to it, and i want each of the app servers to know about the request, so that they can all respond accordingly. Any ideas on this deadmau5?
[01:45] marcello3d: what's devop?
[01:46] jocafa: could someone write a badass operational transformation library that works on arbitrary objects for me so i don't have to?
[01:46] deadmau5: tonymilne you wouldnt use message passing for that
[01:46] deadmau5: not really suited for streaming requests
[01:46] deadmau5: that's what a load balancer is for
[01:46] pksunkara: Are there any nodejs conferences in India?
[01:46] sente: marcello3d: half developer half sys-admin
[01:46] marcello3d: ah
[01:47] tonymilne: deadmau5 how so? I feel like i need to do it the way i described, unless you can explain why - otherwise?
[01:47] deadmau5: you could hack it together im sure but messaging is not really designed for that
[01:48] deadmau5: that's what streaming is for
[01:48] deadmau5: streaming things
[01:48] chjj: streaming is webscale
[01:48] chjj: lots of webscale
[01:48] tonymilne: i can't stream from the 3rd party that makes the request into my stack.
[01:48] tonymilne: thats some Java app ;)
[01:48] tonymilne: i have load balanced app + socket.io servers using a load balancer + cluster.
[01:49] tonymilne: i need all of them to act upon the incoming request from said 3rd party,
[01:49] tonymilne: by pushing to their connected sockets, etc.
[01:49] k1ttty has joined the channel
[01:49] gavin_huang has joined the channel
[01:49] Samuel_Roldan has joined the channel
[01:50] tonymilne: I'm thinking i can use redis store for socket.io , but i still feel like the app instances will need to all know that the 3rd party has made a request.
[01:50] jocafa: java is a 4-letter-word
[01:51] deadmau5: your network design should be pretty opaque
[01:51] deadmau5: so
[01:51] ryan_stevens: tonymline: https://github.com/dshaw/socket.io-redis is a good project for that
[01:51] deadmau5: either you need some nodes to get that data
[01:51] deadmau5: or you dont
[01:51] ryan_stevens: uses redis as a bus to pub to all node instances listening
[01:51] deadmau5: and if you do, then proxy to them or whatever
[01:51] Samuel_Roldan: Hi everyone, I am trying to run a jellyfish script and the following error occurs. (I wonder if it is related to some missing module)
[01:51] Samuel_Roldan: node.js:201
[01:51] Samuel_Roldan: throw e; // process.nextTick error, or 'error' event on first tick
[01:51] Samuel_Roldan: ^
[01:51] Samuel_Roldan: Error: Cannot find module '../../build/default/window_context'
[01:51] deadmau5: still you dont pub a whole request
[01:51] tonymilne: no,
[01:51] deadmau5: massive uploads n shit
[01:51] tonymilne: im not pubbing a request!
[01:51] tonymilne: lol.
[01:51] deadmau5: oh
[01:51] deadmau5: well fuck
[01:51] deadmau5: haha
[01:52] deadmau5: say that
[01:52] tonymilne: I'm pebbling what the request is essentially telling my stack
[01:52] tonymilne: imaging this.
[01:52] TN has joined the channel
[01:52] tonymilne: 3rd party tells me its now 4th period
[01:52] tonymilne: i tell all connected socket.io clients, its now 4th period (…)
[01:52] tonymilne: and some logic, etc.
[01:52] devongovett has joined the channel
[01:52] tonymilne: or i get my apps to re-load the data from mongoose, after the receiving app updated my model/document.
[01:53] Samuel_Roldan: does this ring a bell to anyone: Error: Cannot find module '../../build/default/window_context'
[01:53] tonymilne: so just pub/subbing a command to my apps, more than the request iteself.
[01:53] deadmau5: ah
[01:53] tonymilne: (it's for a sporting app)
[01:53] deadmau5: yes then zmq would be perfect
[01:53] deadmau5: for that
[01:53] tonymilne: so 3rd party tells me score event happened
[01:53] tonymilne: but it will come into my load balanced stack
[01:53] tonymilne: and i need "everyone" to know about it.
[01:54] tonymilne: kk, cool :)
[01:54] tonymilne: thanks for being a sounding board!
[01:55] tonymilne: Lastly, um, zeromq - it's just a lib, right? (no need to start it up / keep it running?)
[01:55] tonymilne: it will "just work"?
[01:55] deadmau5: just a lib
[01:55] pksunkara: When will nodejs support __noSuchMethod__ ?
[01:55] AvianFlu: pksunkara, I'd way rather just have people consuming my APIs who can remember function names
[01:55] jldbasa has joined the channel
[01:56] Samuel_Roldan: anyone =/
[01:56] pksunkara: AvianFlu: It's for writing API's :(
[01:56] deadmau5: magic
[01:56] marcello3d: pksunkara: that'd be a v8 thing
[01:56] deadmau5: sucks
[01:56] marcello3d: pksunkara: and harmony proxies basically replace that
[01:57] jesster7 has joined the channel
[01:57] jesster7 has left the channel
[01:58] CrabDude: pksunkara: checkout the node_proxy module for Harmony Proxies in node
[01:58] diminoten has joined the channel
[01:58] Aria has joined the channel
[01:59] CrabDude: pksunkara: npm install node-proxy
[01:59] pksunkara: CrabDude: thnx
[01:59] pksunkara: though I don't think I will use it
[01:59] CrabDude: pksunkara: fair enough
[01:59] CrabDude: =)
[02:04] davidbanham has joined the channel
[02:04] aioue has joined the channel
[02:04] icewhite has joined the channel
[02:04] stantona has joined the channel
[02:05] criswell has joined the channel
[02:05] benvie: run `node --harmony_proxies --harmony_weakmaps`
[02:06] benvie: bam
[02:06] benvie: do not install node_proxy if you're using node 0.6.x
[02:06] aioue has joined the channel
[02:07] deadmau5: and then explain that you have to use those flags to use your api :p
[02:07] stantona has joined the channel
[02:08] benvie: I'd rather use the thing built directly into V8 than a third-partu module for something that fundamentally changes how javascript operates behind the scenes
[02:08] benvie: the module was made before it was implemented in v8, now it's obsolete
[02:09] jamescarr has joined the channel
[02:09] benvie: and the way it works requires every property lookup and every function call to be redirected
[02:09] benvie: so that's better done at the engine level in my opinion
[02:09] jamescarr: so... I have a potentially large JSON response I can get back from this service I'm calling... is there a good way to chunk the JSON response?
[02:10] ChaoWang has joined the channel
[02:10] jomoho2 has joined the channel
[02:10] SubStack: jamescarr: sure is!
[02:10] SubStack: https://github.com/dominictarr/JSONStream
[02:10] jamescarr: SubStack, tell me sir :)
[02:10] jamescarr: cool
[02:10] SubStack: I'm using this in testling for streaming json output
[02:11] SubStack: jamescarr: also I wrote this https://github.com/substack/node-gutter that lets you nest streams in json documents and the documents will get streamed intelligently
[02:11] bobbuck has joined the channel
[02:11] jamescarr: cool
[02:11] jamescarr: I'll have to try them out
[02:11] marcello3d: SubStack: how many of your modules would you say you maintain/use?
[02:11] SubStack: good for streaming multiple streams into a document and uploading to couch in-place
[02:11] marcello3d: cause you have a bajiggilyion
[02:11] SubStack: marcello3d: most
[02:12] postwait has joined the channel
[02:12] SubStack: even if I don't touch the really old ones much I still depend on them indirectly in new code a lot
[02:12] SubStack: substack : testling-server $ npm ls | wc -l
[02:12] SubStack: 71
[02:13] phiggins has joined the channel
[02:13] JasonSmith: isaacs: Oh shit. I think I am losing my mind.
[02:13] marcello3d: crazy
[02:13] heavysixer has joined the channel
[02:13] isaacs: JasonSmith: oh?
[02:13] JasonSmith: I used to fear and loathe semicolon insertion. Then when I joined CouchOne, mikeal said, "nah, it's never a problem"
[02:13] SubStack: and then browserling has a lot of deps too but they're spread out among several package.jsons so they're harder to count
[02:13] JasonSmith: then I noticed your code using less and less of them at all
[02:13] JasonSmith: Over about 2 years, I've moved that way
[02:13] isaacs: JasonSmith: oh, i pretty much only use semicolons where they're relevant, and in node.
[02:14] isaacs: ie, node-core
[02:14] SubStack: I like semicolons is all
[02:14] marcello3d: yea, I don't use semi colons at all
[02:14] SubStack: they fit my style pretty well
[02:14] JasonSmith: And then just today, I was reading my own code and I realized, not only does Javascript get it right when you terminate statements with newline, IT ALSO GETS IT RIGHT when you continue statements on new lines!
[02:14] benvie: there's only like one or two ways it can fuck you up and you have to already be writing your code in a weird way to trigger that
[02:14] dgathright has joined the channel
[02:14] isaacs: JasonSmith: awesome, rihgt?
[02:14] isaacs: JasonSmith: the only tricky thing is *starting* lines with ( and [
[02:14] marcello3d: I only have one place in my codebase that I need a semicolon I think
[02:15] benvie: yeah
[02:15] isaacs: JasonSmith: which is why i prefix those with ; so that they'll work whether the line above has a ; or not
[02:15] JasonSmith: oh yeah, I've been prefixing that with semicolon for a while
[02:15] JasonSmith: ; ['stuff'].forEach(...
[02:15] isaacs: right
[02:15] SubStack: I especially like trailing semicolons on their own line flush with the opening column of some complicated multi-line expression
[02:15] isaacs: that's just safer
[02:15] jacobolus has joined the channel
[02:15] benvie: starting with parens is the only place I can imagine it ever happening when you weren't doing something completely dumb
[02:15] isaacs: i'd like to start indenting with semicolons
[02:15] benvie: as there's a few places it makes sense to do that and it could end up running a function from the line before
[02:15] marcello3d: yea, it's exactly like jason's example
[02:15] briancray has joined the channel
[02:15] isaacs: also, newlines? not safe. you can't trust newlines. Just use semicolons until your editor word-wraps
[02:15] JasonSmith: SubStack: Well, I noticed a couple weeks ago isaacs stopped terminating his `var` stanzas and I was like, yeah that's it, I'm all in
[02:16] benvie: hahahaha
[02:16] marcello3d: I have var foo = { ... } [...].forEach
[02:16] marcello3d: basically
[02:16] SubStack: I rarely do multiple vars at once
[02:16] isaacs: "oh, mehhh, it's too much visual clutter, all those semicolons, wahhha, i like whitespace, mwehhh"
[02:16] isaacs: babies.
[02:16] benvie: yeah it starts with the var blocks, it irks you because of the asymmetry
[02:16] SubStack: and only if it fits on the same like like var x = 0, y = 0
[02:16] benvie: and then it's the one line functions
[02:16] isaacs: use semicolons, just configure your editor to not show them
[02:16] joemccann has joined the channel
[02:16] SubStack: much easier to reorganize var blocks when each line has its own var
[02:17] benvie: pretty soon you're out walking the streets doing nasty things for new lines
[02:17] JasonSmith: Also, I can finally use the conditional syntax I have been missing since Perl! https://github.com/iriscouch/erlang.js/blob/master/lib.js#L62-64
[02:17] JasonSmith: Both Ruby and Python screw up what IMO is the most aesthetic way to do that expression. (It looks LISPy)
[02:17] JasonSmith: Although I still like Python's: return foo if expression else bar;
[02:17] davidascher has joined the channel
[02:18] marcello3d: super backwards though
[02:18] tomlion has joined the channel
[02:18] alexcheninfo has joined the channel
[02:19] benvie: I don't really want to program exactly, more like have a casual conversation with my computer
[02:19] isaacs: SubStack: sometimes, i like having a little bit of conceptual inertia keeping my var's all glomed together
[02:19] benvie: how's it going v8
[02:19] jocafa: this is why i code exclusively in lolcode
[02:19] benvie: node can you send me some vars
[02:19] secoif has joined the channel
[02:19] SubStack: isaacs: I like how everybody can have their own preferences and I don't have to care
[02:19] isaacs: SubStack: yeah, that's my favorite
[02:19] SubStack: because I can just require('somemodule')
[02:19] isaacs: i saw when i patched mkdirp that you use 4 space indents
[02:19] benvie: yeah I was looking for a lib to translate javascript into LOLCODE. All the implmenetations I've found go the other way and it's disappointing
[02:19] SubStack: and it works no matter how many spaces they used
[02:20] marcello3d: SubStack: nice article btw
[02:20] isaacs: SubStack: what's up with that, man?
[02:20] JasonSmith: isaacs: Yeah, recently in my code I have a "var block" with like all my imports. Then no semicolon. Then another "var block" for like actual variables
[02:20] stantona has joined the channel
[02:20] isaacs: SubStack: do we need an intervention or something?
[02:20] isaacs: 4 is too many
[02:20] maxogden: "i use three space tabs because fuck you"
[02:20] SubStack: 4 is awesome
[02:20] benvie: CAN HAZ UTIL?
[02:20] marcello3d: 4 is awesome
[02:20] SubStack: marcello3d: hahaha
[02:20] russfrank: there's nothing wrong with 4!
[02:20] russfrank: i use 3 though.
[02:20] russfrank: 2 is too little. if you use 2, you're lame
[02:20] isaacs: i used to use tabs at yahoo, and it was great. i configured my editor to show them as 8 spaces when writing, then as 1 space when debugging
[02:20] SubStack: 3 is the compromiser
[02:20] marcello3d: especially if your ide does it for you
[02:20] asoltys has joined the channel
[02:20] benvie: I use 2 now and I'm feeling like 1 is growing on me
[02:20] isaacs: 3 is odd.
[02:21] isaacs: only odd people use it
[02:21] isaacs: indents should be multiples of 2 spaces.
[02:21] isaacs: 8, 4, 2, 1
[02:21] isaacs: 1/2
[02:21] isaacs: etc.
[02:21] benvie: binary
[02:21] SubStack: I like 4 with a hard wrap at 80 cols
[02:21] marcello3d: now you're just trolling
[02:21] SubStack: keeps me honest
[02:21] marcello3d: what about floating point tabs?
[02:21] russfrank: i'm odd? :(
[02:21] isaacs: marcello3d: srsly!
[02:21] JakeyChan has joined the channel
[02:21] marcello3d: SubStack: I'm all about the 120 cols
[02:21] russfrank: yeah I do hard wrap at 80 too, that's hot.
[02:21] maxogden: 4 space prevents you from coding like an rtard
[02:21] isaacs: marcello3d: SciTE could do it
[02:21] benvie: well like for doing var blocks, I indent the 4 spaces just so it's symmetrical
[02:21] russfrank: I'd switch to 4 but then I'd have to reindent _everything_
[02:21] benvie: I need a better solution
[02:22] josephg has joined the channel
[02:22] benvie: thinking like just var one a line by itself
[02:22] isaacs: marcello3d: you could use non-mono fonts, and so spaces were les than a standard character
[02:22] marcello3d: isaacs: coding in zapfino is really how you get down it
[02:22] robertj: is there any way to cancel a running context?
[02:22] marcello3d: *down to it
[02:22] SubStack: if you use 4 spaces at 80 cols then you pretty much have to factor everything out into reusable modules
[02:22] JasonSmith: SubStack: Yeah nice article. A small addition: Not only can you tell exactly where all those modules came from; but you can also tell exactly where your own code calls into those modules. That's crucial when refactoring or debugging
[02:22] isaacs: SubStack: that's why bmc prefers 8
[02:22] marcello3d: I mean, you really get a feel for the code
[02:22] JasonSmith: I search for "foo\." all the time in Vim
[02:22] isaacs: you basically only get 3 indents befor eyou're out of space
[02:22] marcello3d: its curves and movements
[02:23] pauls1 has joined the channel
[02:23] zachsmith: 8?! that's gross
[02:23] marcello3d: you know what's nuts
[02:23] isaacs: JasonSmith: you know, that conditional style…. you can write it something like an inline switch that way
[02:23] marcello3d: java's source code
[02:23] marcello3d: it uses 8-space tabs
[02:23] marcello3d: er
[02:23] marcello3d: it uses real tabs, as if they were 8-space
[02:23] marcello3d: but everything is 4-space indented
[02:23] marcello3d: so lines are mixed with real tabs and spaces
[02:24] JasonSmith: isaacs: you mean like chaining the "false" expression as this cascade of conditional expressions? That's awesome
[02:24] lorfds: ummm...what does this mean
[02:24] lorfds: `make install` is not implemented yet. Bug bnoordhuis about it in #node.js
[02:24] makeInstallBot: lorfds: `make install` is not supported on current node.js `master` due to build system refactor. Please use latest stable tag (v0.6.x).
[02:24] robertj: ACTION can't believe were still formatting whitespace by hand in 2011
[02:24] lorfds: weak
[02:24] isaacs: JasonSmith: https://github.com/isaacs/npm/blob/tar-js/lib/utils/config-defs.js#L114-116
[02:24] SubStack: java is the most flawlessly deadpan parody language ever written
[02:24] JasonSmith: 80 columns is the most overrated concept in programming. /cc maxogden
[02:24] kazupon has joined the channel
[02:25] marcello3d: JasonSmith: is it?
[02:25] isaacs: JasonSmith: yeah, 60 is really much better
[02:25] SubStack: bill joy is going to pop out any minute and shout "fooled you!"
[02:25] maxogden: my stance on whitespace something like: children are dying in africa, who cares
[02:25] marcello3d: my problem with 80 columns is it discourages written out variable names
[02:25] JasonSmith: 11" MacBook Air. iTerm2: echo "$COLUMNS" -> 169
[02:25] benvie: I have to link this every time Java is mentioned http://codegolf.stackexchange.com/questions/3994/write-a-code-golf-problem-in-which-java-wins
[02:25] Emmanuel` has joined the channel
[02:25] isaacs: if it's too wide for me to show two files side by side in 16pt font on my 13" macbook screen, it's too wide.
[02:25] isaacs: effectively, that's like 50-something chars
[02:25] SubStack: maxogden: they had better be dying for the right kind of whitespace then
[02:26] zachsmith: JasonSmith: We need backwards compatability with 1980's terminals
[02:26] JasonSmith: The only decent argument for 80 columns is if you do 3-way merges all day long
[02:26] JasonSmith: zachsmith: Totally!
[02:26] maxogden: SubStack: the only space they have is in their empty stomachs
[02:26] SubStack: so like
[02:26] isaacs: JasonSmith: you must have excellent vision
[02:26] isaacs: $ echo "$COLUMNS"
[02:26] isaacs: 99
[02:26] SubStack: 2 spaces?
[02:26] JasonSmith: It's okay if it's a three-way. Merge.
[02:26] russfrank: marcello3d: why would it idscourage written out variable names
[02:26] JasonSmith: It's not gay if it's in a three-way. Merge.
[02:26] marcello3d: just cause
[02:26] isaacs: oh, wait, that wasn't fs
[02:26] isaacs: $ echo "$COLUMNS"
[02:26] isaacs: 141
[02:26] russfrank: it discourages lots of indentation, but so do all of the Big Guys, if you know what I mean
[02:27] russfrank: ie those who are more experienced than me and are often right about such things
[02:27] isaacs: 80 char width is the *maximum*. not the goal.
[02:27] JasonSmith: Linus Torvalds enforces 8 space indent (for good reason, in C), and 80 columns. Because he merges all day long.
[02:27] jxie has joined the channel
[02:27] SubStack: what if you need to encode your program on punch cards
[02:27] SubStack: WHAT THEN
[02:27] JasonSmith: maxogden: I'm strongly considering switching to 4 space. You're a fan?
[02:28] AD7six has joined the channel
[02:28] russfrank: me too JasonSmith !
[02:28] maxogden: JasonSmith: i have no stance on whitespace i think its a stupid argument
[02:28] alexcheninfo has joined the channel
[02:28] isaacs: maxogden: WHITESPACE THINKS YOURE A STUPID ARGUMENT!!
[02:28] isaacs: so ther
[02:28] maxogden: you can call me funsucker
[02:28] SubStack: maxogden is racist against whitespace
[02:28] JasonSmith: maxogden: Oh, the "rtard" comment above was an ironic joke then?
[02:28] marcello3d: benvie: I totally don't get that java code
[02:28] SubStack: no wait, the other one
[02:28] jocafa: tabs to indent, spaces to align
[02:29] maxogden: JasonSmith: no that was true actually
[02:29] benvie: the challenge was to come up with something that java could do in less code than any other language
[02:29] maxogden: JasonSmith: but my political stance on the whitespace issue is neutral
[02:29] marcello3d: benvie: where is a value assigned to x?
[02:29] benvie: the only answer was someone outputting a java division by zero stack trace
[02:30] benvie: and even that was verbose
[02:30] JasonSmith: maxogden: Yeah that is why Linus wants 8 space
[02:30] maxogden: benvie: how about a script that script that parses html without significant memory leaks
[02:30] maxogden: benvie: or convert an XLS to a CSV
[02:30] stantona has joined the channel
[02:30] JasonSmith: (In C) if you are 3 indentations deep, that spells trouble
[02:30] benvie: I don't know if java can do that sorry
[02:31] maxogden: benvie: it can, my point is that javas strength is in the amount of man-hours dumped into its libraries over the last 15 years
[02:31] jamescarr: SubStack, doh... JSON Stream handle http basic auth?
[02:31] SubStack: jamescarr: what are you trying to do?
[02:32] SubStack: JSONStream just takes a stream and returns another stream which is also json
[02:32] jamescarr: I have some JSON based services on another site that use http basic auth to authenticate
[02:32] jamescarr: ah I see
[02:32] benvie: my experience with java and people who spend their time doing things in it is that an inordinate amount of time is spent on the journey going somewhere and not being there
[02:32] jamescarr: nvm... I can make the request myself and pass the stream off
[02:32] SubStack: jamescarr: just pipe it through mikeal's request lib
[02:32] jamescarr: cool
[02:32] SubStack: that's what I'm doing to dump some streams into couch
[02:32] jesster7 has joined the channel
[02:32] SubStack: request does all of the http things
[02:32] jesster7 has left the channel
[02:32] jamescarr: SubStack, yeah, I fogot about request. :)
[02:32] jamescarr: *forgot
[02:32] SubStack: only pipier
[02:33] jamescarr: and I was using it back when mikeal first released it ;)
[02:33] maxogden: benvie: it might not be the most 'agile' language ever invented but it is (on average) more dependable at scale than a lot of high level dynamic languages
[02:33] SubStack: all of the pipes
[02:33] twolfson has joined the channel
[02:33] alexcheninfo has joined the channel
[02:33] JasonJS has joined the channel
[02:33] chrisvwebdev has joined the channel
[02:33] jamescarr: benvie, heh, I blogged about this recently, and my disappointment at some devs in my workplace essentially writing wordpress. In java.
[02:33] benvie: it has its place but I do not like it
[02:34] SubStack: maxogden: yep it's super great if you want to build reliable and performant software
[02:34] SubStack: good thing I just want to build silly programs
[02:34] benvie: yeah that's another thing I see constantly
[02:34] benvie: that's a mentality community thing
[02:34] jamescarr: benvie, my take is I don't mind java, I like JVM langauges like groovy, scala, and clojure. But use the right tool for the right job
[02:34] SubStack: like, ponies
[02:34] jamescarr: I really like Enterprise Integration Pattern type stuff in java
[02:34] SubStack: PONIES I SAY
[02:34] benvie: like node and ruby and python are heavily invested in the whole module reuse public thing
[02:35] SubStack: enterprise ponies
[02:35] ajpiano has joined the channel
[02:35] benvie: and in other community I see everyone basically redoing everything over and over for varioud reasons
[02:35] maxogden: benvie: agreed. cant we all just get along?
[02:35] benvie: yeah enterprise is the worst too and that's java land or .net land. .net is way preferable though
[02:35] benvie: we can indeed
[02:36] zachsmith: I only trust code I myself have written
[02:36] benvie: java people don't seem to want to hang out with us here much and the feeling is mutual
[02:36] SubStack: benvie: not sure, I see plenty of NIH and feature duplication in node
[02:36] alexcheninfo has joined the channel
[02:36] SubStack: much of which I am personally responsible for
[02:36] benvie: oh absolutely
[02:36] benvie: I was just looking at the module list today thinking
[02:36] zachsmith: How do I know that open source stuff hasn't been written by some 15 year old kid
[02:36] zachsmith: I trust enterprises
[02:36] benvie: there's 800 modules for converting xml into json and zero for going the other way as far as I could see
[02:37] benvie: but at least in this case it's reproducing things that are 100 lines of code and not 100,000
[02:37] SubStack: zachsmith: I only use modules written by programmers under 18
[02:37] SubStack: they spoil pretty quickly
[02:37] zachsmith: lol
[02:38] SubStack: real jobs ruin a lot of programmers
[02:38] benvie: yeah that's why I try not to have one
[02:38] shoobat has joined the channel
[02:39] alexcheninfo has joined the channel
[02:39] marcello3d: so opinionated :)
[02:39] shoobat: noob here, i have an easy question
[02:39] benvie: I'm a huge fan of syntax highlighting and colors and I was making a thing to make it easy to edit tmTheme and tmLanguage files and just found it funny how many ways the node community has come up with to convert xml into anything else
[02:39] marcello3d: only reason to use xml in node is legacy ;)
[02:39] shoobat: i installed node on my vps, server is running and everything.. now how do i connect to it?
[02:39] benvie: and not the reverse
[02:40] marcello3d: or dealing with some API that doesn't support json
[02:40] marcello3d: (also legacy)
[02:40] sunnyx has joined the channel
[02:40] benvie: the tm formats seem to have had staying power
[02:40] jamescarr: good grief
[02:40] benvie: plist
[02:40] jamescarr: I'm sure I'm being stupid somewhere here: https://gist.github.com/1412981
[02:40] marcello3d: shoobat: open http://serverip:port in your browser?
[02:40] jamescarr: npm globally install package doesnt resolve from node console :S
[02:40] isaacs: jamescarr: npm faq
[02:41] isaacs: jamescarr: global installs are not for require()
[02:41] isaacs: they're for cli apps
[02:41] isaacs: and for npm link
[02:41] shoobat: marcello3d sure sure, that works! but.. i want to grab the content and put it onto a site
[02:41] marcello3d: shoobat: not sure what that means...
[02:41] jamescarr: isaacs, man, I think I just need to read all of npms docs each time you have a new release
[02:41] jamescarr: top to bottom :)
[02:41] shoobat: ummm like on a webpage i put or something?
[02:41] isaacs: jamescarr: just the faq, really :)
[02:41] marcello3d: jamescarr: it's been that way since 1.0 I think
[02:42] shoobat: some way to interact with the server with JS?
[02:42] shoobat: on client side
[02:42] marcello3d: shoobat: that's not really a node question
[02:43] tonymilne: unless of course he mis understands the link between front end js and server side js.
[02:43] kilnaar has joined the channel
[02:43] shoobat: sure i just figured someone here knew how to do it.. im probably explaining my problem poorly
[02:44] boltR has joined the channel
[02:44] willwh has joined the channel
[02:44] willwh has joined the channel
[02:44] sdwrage has left the channel
[02:45] piscisaureus_ has joined the channel
[02:45] d_low: hey guys, what's the best way in node to convert json to an object?
[02:46] benvie: hmm
[02:46] davidban_ has joined the channel
[02:46] maxogden: d_low: shell out to java
[02:46] d_low: lol
[02:46] benvie: lol
[02:46] maxogden: d_low: hehe just kidding. JSON.parse
[02:46] d_low: maxogden: will that protect against malicious stuff in the json?
[02:46] benvie: fire up a tombat server
[02:46] AndroUser2 has joined the channel
[02:46] fzzzy has joined the channel
[02:46] benvie: tomcat
[02:46] benvie: get some tiles going
[02:46] jamescarr: wait wait
[02:46] d_low: ohh god
[02:47] maxogden: d_low: pretty sure, its what everyone uses
[02:47] isaacs: d_low: i've got a web service that'll let you post a json string, and it'll return you an object.
[02:47] isaacs: in json
[02:47] maxogden: lol
[02:47] benvie: util.pump
[02:47] isaacs: it's here: require("http").createServer(function (req, res) { req.pipe(res) }).listen(80)
[02:47] JaKWaC has joined the channel
[02:47] isaacs: oh, i geuss that doesn't quite work
[02:47] brianseeders has joined the channel
[02:48] benvie: send it to Yahoo's YQL
[02:48] isaacs: require("http").createServer(function (req, res) { res.writeHead({}, 200); req.pipe(res) }).listen(80)
[02:48] isaacs: benvie: oh, that's great. then you can get it in xml, so you can parse it
[02:48] jamescarr: we have web services in "EX M EL"
[02:49] jamescarr: :)
[02:49] d_low: lol. OK. I'll keep using json.parse. I just thought i read somewhere that this was dangerous
[02:49] chrisvwebdev has joined the channel
[02:49] SubStack: function toXml (json) { return '' }
[02:49] marcello3d: d_low: the JSON shims can be dangerous if you don't trust the source
[02:49] d_low: marcello3d: i can't. It's a 3rd party site.
[02:49] marcello3d: but most modern browsers have a proper JSON implementation
[02:50] marcello3d: including v8
[02:50] jamescarr: SubStack, sadly, I HAVE SEEN IT
[02:50] benvie: here's one where the IIS guys win. Goddamn SOAP, embedding JSON in xml cdata
[02:50] benvie: is a winning idea
[02:50] TN has joined the channel
[02:50] jamescarr: :)
[02:51] benvie: don't forget that you have to encode all the XML entities and then reparse that before you can parse the json
[02:51] jamescarr: SubStack, I guess to be fair though, the team was migrating some legacy hand woven DOM based XML generation to JSON and it was only like that during the transitional phase
[02:51] benvie: and if it's soap you are as likely to have JSON embedded in XML embedded in other XML
[02:52] benvie: the embedded xml being properly escaped of course
[02:52] jamescarr: seen it
[02:53] benvie: last project I got duped into doing in fact, pulling that shit down to an ipad no less to parse a meg of it at a time
[02:54] Venom_X has joined the channel
[02:54] benvie: I made a quick thing to do the conversion through node first but it couldn't go live, had to pull right from the SOAP service
[02:55] jamescarr: benvie, If you're dealing with SOAP I'd suggest this setup I've done with a SOAP service with several megs of responses:
[02:55] tomlion has joined the channel
[02:55] jamescarr: ah nvm
[02:56] rwasielewski has joined the channel
[02:56] marcello3d: ok you guys are distracting. chat later
[02:56] benvie: yeah this was some crazy thing that had to be worked with in place
[03:00] alexcheninfo has joined the channel
[03:00] bobbuck has joined the channel
[03:01] aioue has joined the channel
[03:01] joemccann has joined the channel
[03:02] AndroUser2: Does Ryan Dahl enter thus canal
[03:02] AndroUser2: This channel?
[03:02] syoyo_ has joined the channel
[03:03] mikeric has joined the channel
[03:05] itsme1 has joined the channel
[03:05] strmpnk has joined the channel
[03:05] itsme1 has joined the channel
[03:06] itsme1: Hello, wikipedia says Node.js is suitable for building web servers. Is it not good for building web applications?
[03:06] itsme1: (like Disqus was built on Django)
[03:06] chjj has joined the channel
[03:06] francisl_ has joined the channel
[03:06] davidbanham has joined the channel
[03:06] tonymilne: itsme1 you can build your web server and web app too if you like! :)
[03:07] itsme1: oh
[03:07] tonymilne: node is good for both.
[03:07] itsme1: okay
[03:07] itsme1: and how is the speed of development in javascript, compared to Python?
[03:07] tonymilne: some people just use express for their web server, and focus on building the web app.
[03:07] tonymilne: for me, much faster. i don't know python. ;)
[03:07] itsme1: okay
[03:08] itsme1: JavaScript is my first prog. language and I want to make good use of it
[03:08] itsme1: I am learning JS atm
[03:08] AndroUser2: How about the speed of development compared to rails?
[03:08] itsme1: sure,go ahead
[03:08] AndroUser2: (Ruby)
[03:09] itsme1: yes? faster or too slow?
[03:09] tonymilne: lol, these are personal preference questions for the large part.
[03:09] tonymilne: I'm much faster with JS (node) than ruby+rails.
[03:09] tonymilne: whats your favourite colour?
[03:09] AndroUser2: Why is that?
[03:09] itsme1: right, got it
[03:09] chjj: *the* favorite color you mean
[03:09] chjj: the favorite color is orange
[03:10] tonymilne: yeah, the. ;) lol.
[03:11] itsme1: tonymilne: thanks. Back to learning JS now. Good day :)
[03:11] chjj: why do people like that stupid twitter thing
[03:11] chjj: bootstrap
[03:11] tonymilne: At the end of the day, i suspect the only metric worth comparing is printed on screen here: http://nodejs-vs-ror.nodejitsu.com/
[03:11] CaesarC has joined the channel
[03:11] chjj: it is fail
[03:11] CaesarC: hello everyone.
[03:11] fzzzy has joined the channel
[03:12] AndroUser2: Yeah I don't get it is anyone using bootstrap here?
[03:12] chjj: would i ever trust the twitter guys to write css for me? no
[03:12] AndroUser2: It us the third most watched repo on github
[03:12] chjj: js? no
[03:12] chjj: second now
[03:12] chjj: its even gaining on node =/
[03:12] Leemp has joined the channel
[03:12] TheLifelessOne: lol what are you talking about?
[03:13] chjj: "bootstrap"
[03:13] chjj: for people who dont know how to make websites
[03:13] CaesarC: @
[03:13] TheLifelessOne: I see.
[03:13] CaesarC: @ I am using now.
[03:13] AndroUser2: Why do you use it Caesar
[03:14] torsd has joined the channel
[03:14] CaesarC: you can build a beautiful form more ez.
[03:14] CaesarC: and very quick.
[03:14] CaesarC: copy & paste
[03:14] CaesarC: :D
[03:14] chrisvwebdev has left the channel
[03:14] AndroUser2: But you customize the buttons etc right?
[03:15] CaesarC: yes.
[03:15] Dulak: The twitter thing is an epidemic of people that dislike reading. If you are a reader, twitter's popularity will baffle you.
[03:15] AndroUser2: Because if you don't it will look too twitterish
[03:15] Dulak: Sometimes I feel like I get paid a lot of money to read the docs.
[03:15] CaesarC: boostrap is one of my css theme.
[03:16] mandric has joined the channel
[03:16] AndroUser2: So node coders are against bootstrap
[03:16] robertj: is it possible to hand-crank the event loop for a context one tick at a time?
[03:16] CaesarC: why?
[03:16] CaesarC: bootstrap is only for css.
[03:16] CaesarC: and js.
[03:17] chjj: because its the same thing as twitter: hype at things that have existed for more than a decade and undeserved popularity
[03:17] skm has joined the channel
[03:17] CaesarC: Of course.
[03:17] CaesarC: I could not build a product with bootstrap.
[03:17] CaesarC: But I use bootstrap for prototype.
[03:18] itsme1 has left the channel
[03:18] davidbanham has joined the channel
[03:18] Aria: Huh? Bootstrap's fine.
[03:18] Aria: noders just aren't all web devs, and most of us like to keep things really simple.
[03:19] pauls1 has joined the channel
[03:19] chjj: its fine, i have no problem with it existing, its just not good, why is it gaining in watchers so steadily?
[03:19] chjj: i dont see anything exceptional there to justify 11k watchers
[03:20] AndroUser2: Bootstrap and rails have the same number of watches
[03:20] chjj: ive seen much better stuff elsewhere, all over github, that has shit and dick for watchers
[03:20] AndroUser2: Right now I wonder if it is going to beat node
[03:22] dgathright has joined the channel
[03:23] Aria: Bootstrap is just likely to serve as common language and infrastructure.
[03:23] Aria: Network benefit, not code benefit.
[03:24] suzuken has joined the channel
[03:24] chjj: Aria: so if i were to put up something better and advertise it, would i get 11k watchers?
[03:24] tonymilne: robertj process.nextTick or setInterval might be what you're after.
[03:24] chjj: probably not
[03:25] JakeyChan has joined the channel
[03:25] stalled has joined the channel
[03:25] chjj: because im not the twitter guys who write javascript with john-resig-infected syntax
[03:25] Aria: chjj: Dunno. Would there be a name on it that people could point to and say things like "Twitter uses this"?
[03:26] chjj: obviously not
[03:26] chjj: thats my point exactly
[03:26] chjj: theres pointless hype around it
[03:26] chjj: because the clueless twitter guys use it
[03:26] Aria: And I'm saying that doesn't matter. Because it's good enough, and if a bunch of people know and understand it, _that itself_ is a benefit.
[03:26] willwhite has joined the channel
[03:27] arpunk has joined the channel
[03:27] AndroUser2: Hwy do you guys prefer less or stylus
[03:27] chjj: and im saying, it better not pass node up, or i would be mad
[03:27] RobWC has joined the channel
[03:27] chjj: :)
[03:27] Aria: AndroUser2: Any. Less/stylus/sass. All good. I've used 'em all, no clear preference.
[03:28] Aria: (though stylus is written by an awesome person)
[03:28] freewil has joined the channel
[03:28] freewil has joined the channel
[03:28] tiagobutzke has left the channel
[03:28] chjj: you could use my css preprocessor, it conforms to potential standards ;)
[03:28] chjj: i think its the only one that does
[03:28] Wizek has joined the channel
[03:29] JumpMast3r has joined the channel
[03:29] AndroUser2: Which is your CSS preprocessing?
[03:29] aioue has joined the channel
[03:30] AndroUser2: I mean preprocessor
[03:30] chjj: its a small unpopular one, i wouldnt recommend it if your want your css to be portable
[03:30] chjj: https://github.com/chjj/csslike
[03:31] chjj: but if youre crazy and want your css to fall in line with the www-style proposals its good
[03:31] davidbanham has joined the channel
[03:31] chjj: otherwise, i would use stylus personally
[03:32] Aria: Oh, spiffy, chjj.
[03:32] chjj: thanks
[03:32] Aria: That looks really awesome. Minimal.
[03:32] Aria: Kinda the anti-stylus.
[03:32] CarterL has joined the channel
[03:32] chjj: i put links to all the proposals in the readme
[03:32] chjj: so you can see where the syntax comes from
[03:33] Aria: I was just doing so.
[03:36] aioue has joined the channel
[03:38] StanlySoManly1 has joined the channel
[03:38] lyte has joined the channel
[03:38] lyte has joined the channel
[03:43] skm has joined the channel
[03:43] sdwrage has joined the channel
[03:44] aioue has joined the channel
[03:44] ryanfitz has joined the channel
[03:46] hydrogel has joined the channel
[03:47] davidascher has joined the channel
[03:47] rwaldron has joined the channel
[03:48] aioue has joined the channel
[03:48] k1ttty has joined the channel
[03:49] boltR has joined the channel
[03:50] deedubs_ has joined the channel
[03:51] aioue has joined the channel
[03:52] sdwrage has joined the channel
[03:55] aioue has joined the channel
[03:56] chrislorenz has joined the channel
[03:56] danmactough has joined the channel
[03:57] dr0id has joined the channel
[03:57] wilmoore has joined the channel
[03:57] davidascher has joined the channel
[03:58] neoesque has joined the channel
[03:58] dhasenan has joined the channel
[03:59] jaimef has joined the channel
[04:00] luke` has joined the channel
[04:00] ohtogo has joined the channel
[04:02] TheLifelessOne: can anyone tell me how to properly build POST parameters?
[04:02] jgautier has joined the channel
[04:03] jamescarr: goddamn socket.io is fast
[04:03] willwh: yup
[04:03] TheLifelessOne: websockets?
[04:03] willwh: hook.io is good too :
[04:03] devongovett has joined the channel
[04:03] jgautier: hey im trying to use socket.io namespaces and i want the name space to have a # in it so like /#namespace instead of /namespace....does not seem to be working
[04:03] jgautier: any ideas?
[04:03] grampajoe has joined the channel
[04:04] Aria: Encode it?
[04:04] Aria: Why do you want this?
[04:04] jgautier: im making an irc client
[04:05] beseku has joined the channel
[04:06] jeedey has joined the channel
[04:06] dhasenan has joined the channel
[04:06] jgautier: i want each room a user is in to be in its own namespace
[04:07] Aria: So encode it.
[04:07] Aria: %3Fnamespace
[04:07] jgautier: will do
[04:07] jgautier: ill try it out
[04:07] _th_n has joined the channel
[04:07] jgautier: brb
[04:08] hij1nx has joined the channel
[04:08] issackelly_ has joined the channel
[04:09] AndroUser2 has joined the channel
[04:09] Gogol has joined the channel
[04:10] thepatr1ck has joined the channel
[04:10] marcello3d: is it bad that I feel like socket.io is bloated?
[04:11] TheLifelessOne: No.
[04:11] TheLifelessOne: Every library is, in some way, bloated.
[04:11] marcello3d: no, like super bloated
[04:11] marcello3d: like 25-50%
[04:11] thepatr1ck: how so?
[04:11] TheLifelessOne: Yes, I know.
[04:11] DrPizza has joined the channel
[04:11] jamescarr: thats pretty clever, putting mustache templates in