[00:00] careo_ has joined the channel
[00:02] elliottcable has joined the channel
[00:02] sveimac has joined the channel
[00:02] micheil has joined the channel
[00:02] rolfb has joined the channel
[00:02] johan-s has joined the channel
[00:02] nefD has joined the channel
[00:02] apgwoz has joined the channel
[00:02] tlrobinson has joined the channel
[00:02] frodenius has joined the channel
[00:02] sr has joined the channel
[00:02] jan____ has joined the channel
[00:02] mediacoder has joined the channel
[00:02] beppu has joined the channel
[00:06] cloudhead has joined the channel
[00:08] mikeal: i'm reading stdin
[00:09] mikeal: but i need to continuously read lines as they come in
[00:09] mikeal: it appears that data listeners only get fired after a \r\n is sent
[00:09] inimino: you'll have to set the buffering mode
[00:10] mikeal: is that an option to open?
[00:11] inimino: it's a syscall, I don't know if node exposes it an the API or not, but if so the docs should mention it
[00:11] inimino: if not you may need to submit a patch :)
[00:12] mikeal: i'm in node_stdio.cc
[00:12] mikeal: doesn't look like this is where i need to be tho
[00:19] mikeal: where should I be looking to patch this?
[00:22] inimino: I don't know
[00:23] micheil has joined the channel
[00:29] jtaby has joined the channel
[00:37] Connorhd_ has joined the channel
[00:49] bentomas: does anyone have some code using posix.open and posix.write?
[00:49] bentomas: I'm trying to get it to work but keep getting "TypeError" and would like to see how it is supposed to be used
[00:49] mikeal: bentomas: i *just* wrote some
[00:50] mikeal: http://github.com/mikeal/node.couch.js/blob/master/viewserver/main.js#L73
[00:54] Sembianc1 has joined the channel
[00:55] sveisvei has joined the channel
[00:56] alexiskander has joined the channel
[00:56] bentomas: mikeal: thanks!
[01:04] bjartek_ has joined the channel
[01:05] RayMorgan has joined the channel
[01:17] isaacs has joined the channel
[01:18] gwoo has joined the channel
[01:20] Connorhd_ has joined the channel
[01:22] simoncpu has joined the channel
[01:33] mburns has joined the channel
[01:33] RayMorgan has joined the channel
[01:33] ericflo has joined the channel
[01:33] eddanger has joined the channel
[01:33] scudco has joined the channel
[01:33] aurynn has joined the channel
[01:33] xantus has joined the channel
[01:35] erichocean: does node.js support sendfile() ?
[01:36] RayMorgan: it does, but I am not sure the state of it... last time I looked at it, it was a bit buggy
[01:39] RayMorgan: it is a pretty low level API as well... posix.sendfile(outFd, inFd, inOffset, length);
[01:39] RayMorgan: see it in node.js in the source
[01:40] erichocean: RayMorgan: sweet, thanks!
[01:42] Sembiance has joined the channel
[01:42] tlockney has joined the channel
[01:42] JoePeck has joined the channel
[01:42] rtomayko has joined the channel
[01:42] mahemoff has joined the channel
[01:42] hober has joined the channel
[01:42] noxa has joined the channel
[01:42] orlandov has joined the channel
[01:42] voodootikigod_ has joined the channel
[01:42] Pilate has joined the channel
[01:42] mcarter has joined the channel
[01:42] sifi has joined the channel
[01:42] RJ2 has joined the channel
[01:42] halorgium has joined the channel
[01:42] erikg has joined the channel
[01:42] skampler has joined the channel
[01:43] bentomas: How are people running their node servers on Ubuntu? starting them in /etc/rc.local?
[01:44] bentomas: if I run it with `node server.js &` when I log out it kills the process
[01:44] bentomas: recommendations?
[01:50] Sembianc1 has joined the channel
[01:51] gwoo has joined the channel
[01:52] mburns has joined the channel
[01:52] binary42 has joined the channel
[01:52] tlockney has joined the channel
[01:52] JoePeck has joined the channel
[01:52] rtomayko has joined the channel
[01:52] hober has joined the channel
[01:52] noxa has joined the channel
[01:52] orlandov has joined the channel
[01:52] voodootikigod_ has joined the channel
[01:52] Pilate has joined the channel
[01:52] mcarter has joined the channel
[01:52] sifi has joined the channel
[01:52] RJ2 has joined the channel
[01:52] halorgium has joined the channel
[01:52] erikg has joined the channel
[01:52] skampler has joined the channel
[01:53] rictic has joined the channel
[01:53] skampler has joined the channel
[01:53] tlockney_ has joined the channel
[02:01] mburns has joined the channel
[02:01] Guest42635 has joined the channel
[02:01] binary42 has joined the channel
[02:01] JoePeck has joined the channel
[02:01] rtomayko has joined the channel
[02:01] hober has joined the channel
[02:01] noxa has joined the channel
[02:01] orlandov has joined the channel
[02:01] voodootikigod_ has joined the channel
[02:01] Pilate has joined the channel
[02:01] mcarter has joined the channel
[02:01] sifi has joined the channel
[02:01] RJ2 has joined the channel
[02:01] halorgium has joined the channel
[02:01] erikg has joined the channel
[02:10] sveisvei has joined the channel
[02:10] rolfb has joined the channel
[02:10] johan-s has joined the channel
[02:10] nefD has joined the channel
[02:10] apgwoz has joined the channel
[02:10] tlrobinson has joined the channel
[02:10] frodenius has joined the channel
[02:10] sr has joined the channel
[02:10] jan____ has joined the channel
[02:10] mediacoder has joined the channel
[02:10] beppu has joined the channel
[02:12] mburns has joined the channel
[02:13] orlandov has joined the channel
[02:13] erikg has joined the channel
[02:13] inimino: hm, does anyone have some reasonably short and cute JavaScript program I could use?
[02:14] inimino: I'm demonstrating a parser and thought it would be nice to use someone else's code
[02:14] Guest42635 has joined the channel
[02:14] binary42 has joined the channel
[02:14] JoePeck has joined the channel
[02:14] rtomayko has joined the channel
[02:14] hober has joined the channel
[02:14] noxa has joined the channel
[02:14] voodootikigod_ has joined the channel
[02:14] Pilate has joined the channel
[02:14] mcarter has joined the channel
[02:14] sifi has joined the channel
[02:14] RJ2 has joined the channel
[02:14] halorgium has joined the channel
[02:15] inimino: bentomas: nohup
[02:16] inimino: or disown
[02:17] inimino: erichocean: I have a more convenient wrapper if you need one
[02:18] erichocean: inimino: for sendfile()? that't be great
[02:18] inimino: yeah I'll look it up
[02:19] quirkey has joined the channel
[02:21] inimino: hm, I didn't put this in my fileIO module yet because I don't like the interface
[02:21] erichocean: is it necessary to wait for "complete" before responding to an HTTP request?
[02:21] inimino: it should return a promise but I think this is from my second day with node or something...
[02:22] erichocean: that sounds fine
[02:22] inimino: erichocean: http://www.pastie.org/743527
[02:23] erichocean: sweet, thanks!
[02:23] inimino: erichocean: you should probably clean that up to return a promise instead and then put the request.close and such in the caller, but at least it shows you what you need to do
[02:24] inimino: also I have no idea if that's the best way to deal with 'Resource temorarily unavailable' but it does work
[02:24] sveisvei has joined the channel
[02:25] RJ2_ has joined the channel
[02:25] erichocean: do you know if sendfile runs on the io threads?
[02:25] inimino: also 'dump' is a function that just dumps messages to stderr or the server log, in case that wasn't obvious
[02:25] inimino: yeah it runs in the thread pool I would assume
[02:26] rolfb has joined the channel
[02:26] johan-s has joined the channel
[02:26] nefD has joined the channel
[02:26] apgwoz has joined the channel
[02:26] tlrobinson has joined the channel
[02:26] frodenius has joined the channel
[02:26] sr has joined the channel
[02:26] jan____ has joined the channel
[02:26] mediacoder has joined the channel
[02:26] beppu has joined the channel
[02:27] halorgium has joined the channel
[02:27] sr has joined the channel
[02:27] voodootikigod_ has joined the channel
[02:28] quirkey has joined the channel
[02:28] Guest42635 has joined the channel
[02:28] binary42 has joined the channel
[02:28] JoePeck has joined the channel
[02:28] rtomayko has joined the channel
[02:28] hober has joined the channel
[02:28] noxa has joined the channel
[02:28] Pilate has joined the channel
[02:28] mcarter has joined the channel
[02:28] sifi has joined the channel
[02:38] mburns has joined the channel
[02:39] quirkey has joined the channel
[02:39] Guest42635 has joined the channel
[02:39] binary42 has joined the channel
[02:39] JoePeck has joined the channel
[02:39] rtomayko has joined the channel
[02:39] hober has joined the channel
[02:39] noxa has joined the channel
[02:39] Pilate has joined the channel
[02:39] mcarter has joined the channel
[02:39] sifi has joined the channel
[02:52] quirkey has joined the channel
[02:52] Guest42635 has joined the channel
[02:52] binary42 has joined the channel
[02:52] JoePeck has joined the channel
[02:52] rtomayko has joined the channel
[02:52] hober has joined the channel
[02:52] noxa has joined the channel
[02:52] Pilate has joined the channel
[02:52] mcarter has joined the channel
[02:52] sifi has joined the channel
[02:56] tlockney_ has joined the channel
[02:56] ericflo has joined the channel
[02:56] aurynn has joined the channel
[02:56] xantus has joined the channel
[03:02] eddanger has joined the channel
[03:02] mediacod1r has joined the channel
[03:02] Sinjo has joined the channel
[03:02] gwoo has joined the channel
[03:02] simoncpu has joined the channel
[03:02] micheil has joined the channel
[03:02] jspiros has joined the channel
[03:03] rolfb has joined the channel
[03:03] johan-s has joined the channel
[03:03] nefD has joined the channel
[03:03] apgwoz has joined the channel
[03:03] tlrobinson has joined the channel
[03:03] frodenius has joined the channel
[03:03] jan____ has joined the channel
[03:03] mediacoder has joined the channel
[03:03] beppu has joined the channel
[03:03] simoncpu has joined the channel
[03:03] wattz has joined the channel
[03:04] ashb has joined the channel
[03:05] Yuffster_ has joined the channel
[03:15] mahemoff has joined the channel
[03:19] beppu_ has joined the channel
[03:22] rolfb has joined the channel
[03:22] johan-s has joined the channel
[03:22] nefD has joined the channel
[03:22] apgwoz has joined the channel
[03:22] tlrobinson has joined the channel
[03:22] frodenius has joined the channel
[03:22] jan____ has joined the channel
[03:22] beppu has joined the channel
[03:23] frodenius has joined the channel
[03:24] scudco has joined the channel
[03:39] cloudhead: any reason why an emitSuccess() wouldn't call the addCallback() of a promise?
[03:39] cloudhead: it's just hanging there
[03:41] mikeal has joined the channel
[03:45] cloudhead: ahm I think I figured it out V_V
[03:49] malkomalko has joined the channel
[04:03] quirkey has joined the channel
[04:03] Guest42635 has joined the channel
[04:03] JoePeck has joined the channel
[04:03] rtomayko has joined the channel
[04:03] hober has joined the channel
[04:03] noxa has joined the channel
[04:03] Pilate has joined the channel
[04:03] mcarter has joined the channel
[04:03] sifi has joined the channel
[04:14] skampler has joined the channel
[04:14] mburns has joined the channel
[04:21] eddanger has joined the channel
[04:24] mikeal: i'm trying to understand what happens in the process or in stdin that makes node.js fire it's data event for stdin
[04:24] mikeal: is it a signal?
[04:25] mikeal: is it using something epoll or kqueue
[04:25] jcrosby has joined the channel
[04:25] mikeal: does it have it's own internal poller that fires the event after a certain character is picked up
[04:27] quirkey has joined the channel
[04:27] JoePeck has joined the channel
[04:27] rtomayko has joined the channel
[04:27] hober has joined the channel
[04:27] noxa has joined the channel
[04:27] Pilate has joined the channel
[04:27] mcarter has joined the channel
[04:27] sifi has joined the channel
[04:28] inimino: mikeal: stdin is generally line-buffered by default
[04:28] mikeal: it's not picking up new lines or even \r\n
[04:29] inimino: hm
[04:29] mikeal: i can only get the event to fire when I actually press return in the terminal, running the process from another program and sending lines over stdin isn't doing anything
[04:29] mikeal: which makes me believe it's some kind of event or signal
[04:33] cloudhead: : /
[04:33] cloudhead: I'm having trouble getting my Promises to return before emitSuccess() is called
[04:34] cloudhead: I think I must be doing something wrong
[04:35] Connorhd_: what do you mean return?
[04:35] mikeal: looks like this stuff is all handled libev
[04:35] mikeal: - highly optimised select, poll, epoll, kqueue and event ports backends.
[04:36] cloudhead: Connorhd_: return from the function
[04:36] Connorhd_: ahh
[04:37] cloudhead: like: function () {var p = new process.Promise(); /* do stuff which eventually calls emitSuccess()*/ return p;}
[04:37] eddanger_ has joined the channel
[04:37] cloudhead: emitSuccess() will happen before `return p`
[04:37] Connorhd_: oh, emitSuccess has to be done asynchronously
[04:38] Connorhd_: can you pastebin a full example of what you're trying to do?
[04:38] cloudhead: how do I guarantee that?
[04:38] cloudhead: ok
[04:38] Connorhd_: if you're just using javascript it'll have to use setTimeout I think
[04:39] Connorhd_: if you don't need it to be asynchronous maybe you shouldn't be using a promise at all
[04:39] cloudhead: hmmmm
[04:40] cloudhead: yea I just want to return an object I can call an event on
[04:41] cloudhead: so if I understand correctly, you can only use promises when node performs something naturally asynchronous
[04:41] cloudhead: like file I/O
[04:42] cloudhead: a slow running js function doesn't count
[04:42] cloudhead: yea I guess I can see why
[04:42] Connorhd_: yeh
[04:42] Connorhd_: a promise is literally a promise to return something at a later date
[04:43] cloudhead: yea, but I was thinking it would be smart to use for a function which takes a while to execute
[04:43] Connorhd_: a slow function could be run in a child process
[04:44] cloudhead: hmm
[04:44] cloudhead: probably not worth it unless it's really slow right?
[04:44] micheil has joined the channel
[04:44] Connorhd_: node is going to have a web worker type api for this type of thing at some point, I don't think it does just yet though
[04:44] cloudhead: ok
[04:45] Connorhd_: depends on your use case I would think :)
[04:51] JoePeck has joined the channel
[04:56] quirkey has joined the channel
[04:56] rtomayko has joined the channel
[04:56] hober has joined the channel
[04:56] noxa has joined the channel
[04:56] Pilate has joined the channel
[04:56] mcarter has joined the channel
[04:56] sifi has joined the channel
[04:59] rictic has joined the channel
[05:09] mahemoff has joined the channel
[05:10] rolfb has joined the channel
[05:10] nefD has joined the channel
[05:10] apgwoz has joined the channel
[05:10] tlrobinson has joined the channel
[05:10] jan____ has joined the channel
[05:10] johan-s has joined the channel
[05:17] kriskowal: does anyone know what the lowest level API available in javascript for enqueueing a callback to the event loop?
[05:26] dnolen has joined the channel
[05:29] logicuce has joined the channel
[05:41] dnolen has joined the channel
[05:44] rolfb has joined the channel
[05:44] nefD has joined the channel
[05:44] apgwoz has joined the channel
[05:44] tlrobinson has joined the channel
[05:44] jan____ has joined the channel
[05:46] JoePeck: kriskowal: what do you mean when you say "event loop"?
[05:46] JoePeck: kriskowal: window.setTimeout(func, delay);
[05:46] JoePeck: that would be my idea
[05:46] kriskowal: is there nothing lower level? setTimeout(func, 0) is a bit of a hack
[05:47] JoePeck: kriskowal: how is it a hack?
[05:47] kriskowal: it has nothing to do with a timer.
[05:47] JoePeck: kriskowal: what would be more specific? its enqueing a callback function
[05:47] JoePeck: kriskowal: that is why you put 0 =)
[05:47] kriskowal: yeah, i know it works. i was wondering whether there happened to be something lower level. if there's not, there's not.
[05:47] JoePeck: meaning, as soon as the "event queue" can get to it
[05:48] kriskowal: not saying it needs something lower level
[05:48] JoePeck: I don't thin there is
[05:48] JoePeck: think*
[05:48] JoePeck: kriskowal: what is the task?
[05:48] kriskowal: unless you want timers with rtos semantics, but that's a different story.
[05:48] kriskowal: porting tyler close's ref_send library
[05:49] kriskowal: from waterken. it's the other half of the story with promises.
[05:49] JoePeck: kriskowal: oh, I'm sorry, I thought I was in ##javascript
[05:49] kriskowal: i cut the library so that it can run on any system that provides a require("event-loop").enqueue(block)
[05:49] JoePeck: kriskowal: I doubt it, but there might be a node specific way to do it, I haven't played much with node yet myself
[05:50] kriskowal: i see. thanks. sorry for the confusion.
[05:50] JoePeck: hence me putting "window" there =o
[05:50] kriskowal: not far off. there's a setTimeout in node.
[05:50] JoePeck: likely named that way for familiarity
[05:50] kriskowal: and it would work.
[05:50] kriskowal: for sure.
[05:57] isaacs has joined the channel
[06:05] johan-s has joined the channel
[06:05] rtomayko has joined the channel
[06:05] noxa has joined the channel
[06:05] Pilate has joined the channel
[06:05] mcarter has joined the channel
[06:05] sifi has joined the channel
[06:12] sudoer has joined the channel
[06:15] aurynn: Whee, simple callback-based buffer.
[06:30] jcrosby_ has joined the channel
[06:31] richtaur has joined the channel
[06:38] aurynn: Woot. That's cool code.
[06:49] cmlenz has joined the channel
[07:04] eddanger has joined the channel
[07:46] michaelk^ has joined the channel
[07:50] scudco has joined the channel
[08:01] micheil has joined the channel
[08:28] johan-s has joined the channel
[09:26] mikeal has joined the channel
[09:30] teemow has joined the channel
[09:40] micheil has joined the channel
[09:55] pdelgallego has joined the channel
[10:15] sveimac has joined the channel
[10:16] micheil has joined the channel
[10:20] sveimac has joined the channel
[11:42] malkomalko has joined the channel
[11:42] teemow has joined the channel
[12:00] hassox has joined the channel
[12:22] Tautologistics has joined the channel
[12:33] soveran has joined the channel
[12:39] alex-desktop has joined the channel
[12:42] rtomayko has joined the channel
[12:42] noxa has joined the channel
[12:42] Pilate has joined the channel
[12:42] mcarter has joined the channel
[12:42] sifi has joined the channel
[12:45] soveran has joined the channel
[12:56] soveran has joined the channel
[13:06] pmuellr has joined the channel
[13:11] nefD has joined the channel
[13:11] apgwoz has joined the channel
[13:11] tlrobinson has joined the channel
[13:11] jan____ has joined the channel
[13:11] alex-desktop has joined the channel
[13:11] Tautologistics has joined the channel
[13:14] bryanl has joined the channel
[13:23] rtomayko has joined the channel
[13:23] noxa has joined the channel
[13:23] Pilate has joined the channel
[13:23] mcarter has joined the channel
[13:23] sifi has joined the channel
[14:02] the_undefined has joined the channel
[14:02] micheil: morning all
[14:10] rolfb has joined the channel
[14:32] jbowman has joined the channel
[14:53] simoncpu has joined the channel
[14:53] ashb has joined the channel
[14:54] erikcorry|away has joined the channel
[14:57] rbranson has joined the channel
[14:58] brandon_beacher has joined the channel
[14:58] micheil has joined the channel
[14:58] onar has joined the channel
[14:59] mies has joined the channel
[15:00] voodootikigod has joined the channel
[15:01] bryanl has joined the channel
[15:01] mahemoff has joined the channel
[15:01] halorgium has joined the channel
[15:02] halorgium has joined the channel
[15:03] dnolen has joined the channel
[15:14] alexiskander has joined the channel
[15:20] jtaby has joined the channel
[15:25] logicuce has joined the channel
[15:32] brandon_beacher has joined the channel
[15:32] simoncpu has joined the channel
[15:32] malkomalko has joined the channel
[15:32] skampler has joined the channel
[15:32] beppu_ has joined the channel
[15:32] sr has joined the channel
[15:32] orlandov has joined the channel
[15:32] careo has joined the channel
[15:32] zimbatm has joined the channel
[15:32] wil_ has joined the channel
[15:32] claudio has joined the channel
[15:32] sztanpet has joined the channel
[15:32] rbranson_ has joined the channel
[15:32] deanlandolt_ has joined the channel
[15:32] rudebwoy has joined the channel
[15:32] Nailor has joined the channel
[15:32] Atmoz has joined the channel
[15:32] intellectronica has joined the channel
[15:32] [k2] has joined the channel
[15:32] rektide has joined the channel
[15:37] brandon_beacher has joined the channel
[15:37] simoncpu has joined the channel
[15:37] malkomalko has joined the channel
[15:37] skampler has joined the channel
[15:37] beppu_ has joined the channel
[15:37] sr has joined the channel
[15:37] orlandov has joined the channel
[15:37] careo has joined the channel
[15:37] wil_ has joined the channel
[15:37] claudio has joined the channel
[15:37] sztanpet has joined the channel
[15:37] rbranson_ has joined the channel
[15:37] deanlandolt_ has joined the channel
[15:37] Nailor has joined the channel
[15:37] rudebwoy has joined the channel
[15:47] dnolen has joined the channel
[15:51] aurynn has joined the channel
[16:02] brandon_beacher has joined the channel
[16:02] simoncpu has joined the channel
[16:02] malkomalko has joined the channel
[16:02] skampler has joined the channel
[16:02] beppu_ has joined the channel
[16:02] sr has joined the channel
[16:02] orlandov has joined the channel
[16:02] careo has joined the channel
[16:02] wil_ has joined the channel
[16:02] claudio has joined the channel
[16:02] sztanpet has joined the channel
[16:02] rbranson_ has joined the channel
[16:02] deanlandolt_ has joined the channel
[16:02] Nailor has joined the channel
[16:02] rudebwoy has joined the channel
[16:12] saikko has joined the channel
[16:17] binary42 has joined the channel
[16:24] brandon_beacher has joined the channel
[16:24] simoncpu has joined the channel
[16:24] malkomalko has joined the channel
[16:24] skampler has joined the channel
[16:24] beppu_ has joined the channel
[16:24] sr has joined the channel
[16:24] orlandov has joined the channel
[16:24] careo has joined the channel
[16:24] wil_ has joined the channel
[16:24] claudio has joined the channel
[16:24] sztanpet has joined the channel
[16:24] rbranson_ has joined the channel
[16:24] deanlandolt_ has joined the channel
[16:24] Nailor has joined the channel
[16:24] rudebwoy has joined the channel
[16:29] the_undefined: For those who care about the new Deferred/Promise implementation, please let me know what you think about multiple argument support: http://groups.google.com/group/nodejs/browse_thread/thread/4a1ce27a1f588a7f/b06ddc44a77b24c7#889d7ca2c31c3d5f
[16:30] ryah_away: the_undefined: :)
[16:30] the_undefined: ryah: heya :)
[16:30] the_undefined: how is it going?
[16:31] ryah: good
[16:31] ryah: i'm rewriting all of the networking stuff in js
[16:31] the_undefined: how was lübeck?
[16:31] ryah: its really fun
[16:31] the_undefined: nice, I was wondering what you are up to :)
[16:31] the_undefined: can't wait to see it!
[16:32] the_undefined: how was lübeck?
[16:32] ryah: luebeck is boring. just sstuck in my partner's parents house
[16:32] ryah: well - boring isn't the right word - quiet :)
[16:32] the_undefined: hehe
[16:32] the_undefined: I usually enjoy all cities that have wifi
[16:32] the_undefined: :D
[16:33] ryah: unfortunately my laptop not being able to do wpa means i can't get on the internet
[16:33] the_undefined: oh, well that explains what you mean with quite :)
[16:33] ryah: i need to get a new one...
[16:33] the_undefined: still thinking about which company to join?
[16:33] ryah: yeah, well, mostly decided - not officially yet
[16:35] the_undefined: ok, I'll stay tuned : )
[16:35] the_undefined: too bad nothing in berlin has come up yet :(
[16:36] ryah: so what takes me 200 lines in evcom takes me 33 in js :)
[16:37] ryah: just bound ev_io, accept(), bind(), read(), write(), listen(), etc. plus the new binary buffers - allows me to do a lot
[16:37] the_undefined: ryah: nice :)
[16:37] mediacod1r: sounds great
[16:37] the_undefined: ryah: i was already afraid I would have to actually learn C++ rather than copy & pasting my hacks together :D
[16:37] ryah: the posix bindings are slightly simplified. for example socket() only ever returnss non-blocking fds
[16:38] the_undefined: oh, we get sockets?
[16:38] ryah: socket("TCP"), socket("UNIX"), socket("UDP") to create sockets
[16:39] ryah: also pipe() and socketpair()
[16:39] the_undefined: nice
[16:39] the_undefined: very cool
[16:39] aurynn: very nice indeed :)
[16:39] mediacod1r: yeah
[16:40] ryah: anyway, the tcp interface should be the same - it's just going to be implmeented in js
[16:40] ryah: also much better ipv6 support
[16:40] ryah: apparently i was doing it wrong before
[16:41] the_undefined: I used the DNS module for the firs time today
[16:41] ryah: yeah i saw your tweet
[16:41] the_undefined: the startup we work for wanted to check 100 domain names with different TLDs for availability
[16:41] the_undefined: not perfect to use DNS for that as you may get false positives, but hey - 12 sec for 400 domain checks
[16:41] the_undefined: :)
[16:42] the_undefined: and it narrows down your choice of a domain name by certainly showing all the "taken" domains correctly
[16:42] the_undefined: anyway, let me know what you think about the defered arguments thing when you get a chance
[16:43] ryah: yeah, i guess non-exisstant domains take longer to respond since its not cached
[16:43] the_undefined: well, there is negative response cache, but its usually very low
[16:44] the_undefined: I also only checked 8 domains in parallel to group the output by TLD
[16:45] the_undefined: otherwise it should have taken much shorter
[16:49] ryah: i want to replace udns with c-ares
[16:49] ryah: then i can get rid of the getaddrinfo() call in src/node_net.cc
[16:50] ryah: i guess this will be part of the larger networking refactor
[16:50] ryah: udns doesn't look at /etc/hosts
[16:50] ryah: otherwisse it's perfect
[16:50] jbowman: I wish I got to actually work with this stuff on my job, instead of trying to find spare time to do it
[16:53] ryah: well, hopefully node will be viable enough to use at work soon :)
[16:53] mediacoder: :-)
[16:54] scudco has joined the channel
[16:54] mediacoder: ryah: will your job be node-related, if i may ask? :-)
[16:54] ryah: so, i was thinking that all this network refactoring i'm doing might make more sense under a new version
[16:54] ryah: so, like, release 0.2 basically as it is now (maybe fix a few more build bugs)
[16:55] ryah: the problem is that i've been claiming i'd freeze api in 0.2
[16:55] ryah: hm
[16:55] mediacoder: ryah: hm, you said at 0.2 there would be an api-freeze. wouldnt it make more sense to test the new stuff beforehand?
[16:55] mediacoder: yea
[16:56] sveisvei: Well, I will not shoot you if you change your mind :)
[16:56] the_undefined: ryah: well, your goal for 0.2 is new year right?
[16:56] jbowman: I'm not a developer, so it's rare I get to use fun stuff like node at work, and the developers I support are all python/zope, java, or .net developers.
[16:56] the_undefined: I think we could rip apart the current API before that
[16:56] jbowman: Not really complaining much, I do get lots of other things to play with, just not what i'm currently interested in :)
[16:56] aurynn: if you're doing API freeze, freeze before you ship and test extensively :)
[16:56] ryah: the_undefined: i don't have much free time until january
[16:57] the_undefined: ryah: well, just move 0.3 -> 0.2
[16:57] the_undefined: and let people know the API is still under attack
[16:57] the_undefined: * 0.2 -> 0.3
[16:57] the_undefined: I mean
[16:57] ryah: can i start on 0.3 before 0.2 ? :)
[16:58] the_undefined: yes
[16:58] the_undefined: :)
[16:58] the_undefined: no, I mean you just rename it
[16:58] the_undefined: 0.2 will be the network refactoring and maybe Deferereds
[16:58] the_undefined: and 0.3 will take on the rest of the API
[16:58] ryah: i was thinking i'd do a even is stable, odd is unstable type versioning
[16:58] rbranson: just pick a platform node.js "competes" with and match their version #
[16:58] jbowman: I'd set the API freeze more on a date than a version right now, unless you got predetermined milestones with dates already.
[17:00] the_undefined: ryah: we can always just skip 0.2 and move to 0.3 right away :D
[17:00] the_undefined: skip the stables ;)
[17:02] ryah: the code base we're under now 0.1.21 is rather stable (in that people can use it, sometimes). might as well make a point release before fucking it up with a refactor
[17:02] the_undefined: ryah: is your plan to maintain the stable version with bug fixes even while the next unstable is being worked on?
[17:02] ryah: the_undefined: to some degree, not sure how much demand there will be for that
[17:02] svei has joined the channel
[17:03] the_undefined: ryah: I'd say lets just mark version as stable, regardless of the number
[17:03] the_undefined: like: 0.2.x-stable
[17:03] sveisvei has joined the channel
[17:03] mikekelly has joined the channel
[17:04] the_undefined: but don't actually listen to me. I always found it impossible to be good about version numbers with anything I worked on ;)
[17:04] ryah: well, the main thing here is to be friendly to users so people know what's going on
[17:04] the_undefined: yeah
[17:05] ryah: i'd rather not have 0.1.22 be a completely different program than 0.1.21
[17:05] mburns has joined the channel
[17:05] frodenius has joined the channel
[17:05] jazzychad has joined the channel
[17:05] the_undefined: ryah: well what API changes do we need for "stable" ?
[17:05] the_undefined: what things about the current API do we need to change?
[17:06] elliottcable has joined the channel
[17:06] iamstef has joined the channel
[17:06] erikg has joined the channel
[17:06] ryah: too many to count :)
[17:06] the_undefined: I'll volunteer to eat a few platzchen less over christmas and work on whatever needs to be done
[17:06] wattz has joined the channel
[17:06] the_undefined: ^^
[17:07] RayMorgan has joined the channel
[17:07] the_undefined: which ones are the most disrupting?
[17:07] ryah: for example, i'd like tcp.createServer to have options for backlog and stuff
[17:08] the_undefined: it seems like for a lot of things we could keep BC
[17:08] the_undefined: at least for the next version
[17:09] ryah: well, the big changes will be stdio
[17:09] ryah: i want process.stdin and process.stdout - and i want to have a standard interface for a "stream"
[17:09] ryah: so process.stdin should act jusst like childProcess.stdout
[17:10] martyn_ has joined the channel
[17:10] the_undefined: cool
[17:10] ryah: tcp connections should also have a similar interface. insstead of emitting "receive" they would emit "data'
[17:10] the_undefined: makes sense
[17:10] the_undefined: well maybe the answer is to just not do the API freeze yet
[17:10] binary42 has joined the channel
[17:10] dnolen has joined the channel
[17:10] jbowman has joined the channel
[17:10] pmuellr has joined the channel
[17:10] Yuffster_ has joined the channel
[17:10] wattz has joined the channel
[17:10] thenduks has joined the channel
[17:10] ryah: removing the "binary" encoding probably - in favor of buffers - but i'm not sure of that yet
[17:11] ryah: yeah
[17:11] martyn__ has joined the channel
[17:11] Yuffster has joined the channel
[17:11] bentomas1 has joined the channel
[17:11] ryah: i think that's the answer
[17:11] the_undefined: and introduce the concept of stable/unstable versions later on
[17:11] ryah: release 0.2 - make bug fixes - work on 0.3
[17:11] the_undefined: ryah: maybe we can aim for Node's first birthday ?
[17:11] bryanl has joined the channel
[17:11] the_undefined: or that, yes
[17:11] the_undefined: most bugfixes should be easily back-portable
[17:12] wattz_ has joined the channel
[17:12] the_undefined: ryah: is Feb 16 the birthday?
[17:12] ryah: yeah, i guess :)
[17:13] the_undefined: alright, then lets just aim for that to release 0.4
[17:13] the_undefined: Deferreds should go into 0.3 then, right?
[17:13] ryah: yeah
[17:14] the_undefined: alright
[17:14] the_undefined: what about your network refactoring, should that be 0.2 still?
[17:14] ryah: no
[17:14] the_undefined: ok
[17:14] the_undefined: makes sense
[17:14] the_undefined: well, any outstanding bugfix we might need before bumping to 0.2 ?
[17:15] ryah: yeah - i think there are a couple things
[17:15] ryah: its probably going to be january before i can even do that
[17:15] ryah: so sad
[17:17] aurynn: my opinion is you shouldn't bump to 0.2 until you break API
[17:18] ryah: i think i'd like to merge libxmljs in for 0.2
[17:18] the_undefined: ryah: that would be really cool
[17:19] the_undefined: ryah: but I'm not excited to not have Deferreds merged until January :)
[17:19] aurynn: how would the buffers work, as opposed to the binary encoding?
[17:19] erichocean: ryah: if you do, would it be easy to not included it?
[17:19] ryah: erichocean: i'm not going to statically compile it - it'll be a dll
[17:19] ryah: aurynn: i'm not yet clear about that :)
[17:24] Tautologistics has joined the channel
[17:25] wattz_ has joined the channel
[17:25] bentomas1 has joined the channel
[17:25] Yuffster has joined the channel
[17:25] binary42 has joined the channel
[17:25] jbowman has joined the channel
[17:25] pmuellr has joined the channel
[17:25] Yuffster_ has joined the channel
[17:25] wattz has joined the channel
[17:25] thenduks has joined the channel
[17:25] martyn__ has joined the channel
[17:25] jazzychad has joined the channel
[17:25] brandon_beacher has joined the channel
[17:25] simoncpu has joined the channel
[17:25] malkomalko has joined the channel
[17:25] skampler has joined the channel
[17:25] beppu_ has joined the channel
[17:25] sr has joined the channel
[17:25] orlandov has joined the channel
[17:25] careo has joined the channel
[17:25] wil_ has joined the channel
[17:25] claudio has joined the channel
[17:25] sztanpet has joined the channel
[17:25] rbranson_ has joined the channel
[17:25] deanlandolt_ has joined the channel
[17:25] Nailor has joined the channel
[17:25] rudebwoy has joined the channel
[17:25] wattz_ has joined the channel
[17:27] ryah: the_undefined: re multiple arguments - it worries me a bit
[17:28] the_undefined: ryah: why?
[17:28] ryah: i think we can fix the few functions which give multiple arguments (maybe posix.read is the only one?)
[17:29] ryah: but i worry about how this will be if eventemitter also uses the same type of result chaining
[17:29] the_undefined: ryah: would you want to limit EventEmitter to a single argument also?
[17:29] ryah: not really..
[17:30] ryah: i mean in the DOM they basically do that with their event objects
[17:30] the_undefined: ryah: well, the DOM is not a place I would go for inspiration
[17:30] the_undefined: :)
[17:30] ryah: but when you just have two values - using arguments is nice
[17:31] the_undefined: ryah: yeah, I think we should support it
[17:31] the_undefined: and it's not really a big change to Deferreds
[17:31] ryah: i guess if the listener doesn't return anything then it will just forward on the results
[17:31] the_undefined: yes
[17:31] the_undefined: that's what Deferreds do
[17:31] the_undefined: and I think that's the case 99% of the time you use them
[17:31] the_undefined: (+- 20% :P)
[17:31] ryah: :)
[17:32] the_undefined: I was really skeptical about it at first as well, but it seems like a clean solution now that I'm looking at it
[17:32] aurynn: I've nearly got my version of postgres-js to work as I wish
[17:32] ryah: well, it requires an extra object
[17:32] aurynn: I'm so happeh
[17:32] aurynn: :)
[17:33] the_undefined: ryah: we could add a convenience shortcut, but yeah - that would use an additional object as well somewhere
[17:33] the_undefined: does the extra object worry you for performance or ease of use?
[17:33] ryah: performance
[17:33] RayMorgan: what about a simpler API for returning multiple args such as: return process.Promise.tuple(val1, val2);
[17:34] the_undefined: ryah: well, the core would never alter a Deferred via callbacks
[17:34] ryah: what about not returning values but passing them on?
[17:34] the_undefined: ryah: how?
[17:34] ryah: this.pass(arg1, arg2)
[17:35] the_undefined: ryah: that we could do. I think dojo.Deferreds do not define the context the callbacks evaluate in, but making it the promise object itself makes sense
[17:35] ryah: of course that will introduce problems for people who want to bind their callbacks elsewhere
[17:36] martyn__ has joined the channel
[17:36] the_undefined: if pass returns undefined we could still do: return this.pass(a, b);
[17:36] the_undefined: ryah: screw them, they'll have to create a 2nd deferred or keep a reference to the original one
[17:36] wattz has joined the channel
[17:36] the_undefined: really, performance and convenience is usually a choice
[17:36] the_undefined: you can't have both
[17:36] RayMorgan: ryan: that could be interesting... would be like emit in map. If you call this.pass multiple times, would it fire all subsequent callabacks multiple times?
[17:37] RayMorgan: *emit in map/reduce
[17:37] the_undefined: and I'm thinking the pass() thing would already be insanely convenient
[17:37] the_undefined: RayMorgan: no, I don't think we should do that
[17:38] RayMorgan: so would it throw an error if you did that, or be silent?
[17:38] ryah: maybe promises and eventemitters don't need to be the same things
[17:38] scudco has joined the channel
[17:38] frodenius: +1
[17:39] ashb: ls
[17:39] ashb: er, wrong window >_>
[17:39] the_undefined: RayMorgan: dojo Deferreds throw an error if you try to fire them twice
[17:40] RayMorgan: ah right.. I was thinking EventEmitters....
[17:41] pmuellr has joined the channel
[17:41] RayMorgan_ has joined the channel
[17:41] eddanger has joined the channel
[17:41] ryah: the_undefined: how about this: you can only modify the first argument
[17:41] ryah: the rest stay the same
[17:41] binary42 has joined the channel
[17:42] the_undefined: ryah: seems like an arbitrary limitation for no good reason
[17:42] bentomas has joined the channel
[17:42] ryah: ideally promises will only have one argument though
[17:43] ryah: since they're like a function - they should return just one result
[17:43] erichocean: ryah: for the server I'm working on, I'm using a promise as an fsync barrier to my Redis store (aka for group commit)
[17:44] erichocean: if I have high levels of concurrency, lots of requests participate in the fsync and thus when the promise fires, those requests are all handled immediately
[17:44] bentomas has joined the channel
[17:44] binary42 has joined the channel
[17:44] RayMorgan has joined the channel
[17:44] scudco has joined the channel
[17:44] jazzychad has joined the channel
[17:44] brandon_beacher has joined the channel
[17:44] simoncpu has joined the channel
[17:44] malkomalko has joined the channel
[17:44] skampler has joined the channel
[17:44] beppu_ has joined the channel
[17:44] sr has joined the channel
[17:44] orlandov has joined the channel
[17:44] careo has joined the channel
[17:44] wil_ has joined the channel
[17:44] claudio has joined the channel
[17:44] sztanpet has joined the channel
[17:44] rbranson_ has joined the channel
[17:44] deanlandolt_ has joined the channel
[17:44] Nailor has joined the channel
[17:44] rudebwoy has joined the channel
[17:44] erichocean: which blocks incoming requests
[17:44] Yuffster has joined the channel
[17:44] qFox has joined the channel
[17:45] erichocean: I can write code to work around it, of course, but I wondered if maybe a promise should have a flag to allow notifications across multiple run loops?
[17:46] ryah: erichocean: not sure if understand - how would that be?
[17:46] ryah: man - what's with the netsplits...
[17:47] the_undefined: ryah: I dig that argument that Promises are just like functions and should return a single value
[17:48] ryah: the_undefined: returning multiple args from wait() is already special cased
[17:48] pmuellr has joined the channel
[17:48] Tautologistics has joined the channel
[17:48] erikg has joined the channel
[17:48] frodenius has joined the channel
[17:48] mburns has joined the channel
[17:48] mikekelly has joined the channel
[17:48] aurynn has joined the channel
[17:48] onar has joined the channel
[17:48] ashb has joined the channel
[17:48] nefD has joined the channel
[17:48] apgwoz has joined the channel
[17:48] tlrobinson has joined the channel
[17:48] jan____ has joined the channel
[17:48] the_undefined: ryah: yeah, true
[17:48] jbowman has joined the channel
[17:48] the_undefined: anyway, what about EventEmitters
[17:48] the_undefined: I would still like to have multiple arguments there
[17:49] mikekell1 has joined the channel
[17:49] erichocean: well, actually, that's a good question
[17:49] erichocean: are you using ev listeners for that?
[17:49] erichocean: or do you have an array on the promise itself?
[17:49] erichocean: I would expect the latter (since it's faster)
[17:49] erichocean: okay, read the source (you are using an array)
[17:49] erichocean: so what I'm saying is, rather than emit, say, "success" to every listener in the array immediately, spread it out over multiple run loops
[17:50] erichocean: batch it
[17:50] erikg_ has joined the channel
[17:50] erichocean: something like a way to set a limit on the number of listeners per run loop to notify
[17:50] thenduks has joined the channel
[17:50] frodeniu1 has joined the channel
[17:50] the_undefined: erichocean: are you talking about eventemitters or promises?
[17:51] erichocean: promises
[17:51] erichocean: I'll get a thousand or more requests queued on a promise
[17:52] erichocean: and then they all get flushed at the same time ;-(
[17:53] erichocean: actually, having discussed it now, this is probably something I should do myself in JavaScript
[17:53] ryah: erichocean: but is that actually taking a long time?
[17:53] ryah: erichocean: cycling through a thousand elements happens very quickly
[17:53] erichocean: seems to be
[17:54] erichocean: they all send back their HTTP response at that time
[17:54] erichocean: anyway, I can play with it without impacting node.js and see if batching helps
[17:54] ryah: hmm
[17:55] rtomayko has joined the channel
[17:55] noxa has joined the channel
[17:55] Pilate has joined the channel
[17:55] mcarter has joined the channel
[17:55] sifi has joined the channel
[17:55] ryah: yeah i guess we could do something like run the first 100 callbacks, then go to the event loop?
[17:55] RayMorgan has joined the channel
[17:55] alex-desktop has joined the channel
[17:55] ryah: not totally clear how to do that but maybe..
[17:56] thenduks has joined the channel
[17:56] Yuffster has joined the channel
[17:56] bentomas has joined the channel
[17:56] binary42 has joined the channel
[17:56] scudco has joined the channel
[17:56] jazzychad has joined the channel
[17:56] brandon_beacher has joined the channel
[17:56] simoncpu has joined the channel
[17:56] malkomalko has joined the channel
[17:56] skampler has joined the channel
[17:56] beppu_ has joined the channel
[17:56] sr has joined the channel
[17:56] orlandov has joined the channel
[17:56] careo has joined the channel
[17:56] wil_ has joined the channel
[17:56] claudio has joined the channel
[17:56] sztanpet has joined the channel
[17:56] rbranson_ has joined the channel
[17:56] deanlandolt_ has joined the channel
[17:56] Nailor has joined the channel
[17:56] rudebwoy has joined the channel
[17:56] the_undefined: ryah: I think it would be nice if we had an official process.defer(block) function
[17:56] the_undefined: instead of setTimeout(block, 0)
[17:57] ryah: the_undefined: yeah - and it can be implemented a lot better than setTimeout(x, 0)
[17:58] Tautologistics: Just stumbled upon this while playing with APE: http://cv.arpalert.org/page.sh?mysac
[17:58] ryah: Tautologistics: yeah, that's going to be node'ss mysql binding someday
[17:58] bentomas: ryah: do you not like the idea of having posix.read returning an object?
[17:58] Tautologistics: Ah, good
[17:59] ryah: the_undefined: process.nextLoop(block)
[17:59] ryah: bentomas: well, posix.read() can be fixed somehow. probably with the new buffers
[18:02] ryah: the_undefined: using a high priority ev_idle
[18:03] the_undefined: ryah: sounds cool
[18:03] jan____: the_undefined: great work on the deferreds!
[18:03] the_undefined: ryah: anyway, I don't think Deferreds should use that internally, it could lead to very confusing results
[18:04] the_undefined: jan____: well, its mostly copy & paste right now : ). But lets see where it goes
[18:09] ryah: the_undefined: also - i think this should eventually be rewritten from scratch to avoid having the license complicationss
[18:09] ryah: but let's just play with it for a while and see if it's nice
[18:10] the_undefined: ryah: yeah, I was planning on that. Just wanted to get something working first
[18:10] the_undefined: ryah: so what's the next steps, throw out multi param support, refactor posix.read(), ...?
[18:13] the_undefined: ok, dinner - brb
[18:14] ryah: the_undefined: yeah, i think explitly disallowing multiple args might be good - raise error if callback(a,b) is called?
[18:14] ryah: emitSuccess i mean
[18:15] jed has joined the channel
[18:16] frodenius: what about returning an array with property "destructure" set to true?
[18:21] aguynamedben has joined the channel
[18:21] ryanmcgrath has joined the channel
[18:23] dnolen has joined the channel
[18:25] mikeal: ryah_away: sent a test for these stdio write issues to the list
[18:25] mikeal: FYI, that same test in Python is about twice as many lines :)
[18:26] pmuellr has joined the channel
[18:26] Tautologistics has joined the channel
[18:26] aurynn has joined the channel
[18:26] onar has joined the channel
[18:26] ashb has joined the channel
[18:26] nefD has joined the channel
[18:26] apgwoz has joined the channel
[18:26] tlrobinson has joined the channel
[18:26] jan____ has joined the channel
[18:28] rtomayko has joined the channel
[18:28] noxa has joined the channel
[18:28] Pilate has joined the channel
[18:28] mcarter has joined the channel
[18:28] sifi has joined the channel
[18:28] RayMorgan has joined the channel
[18:28] alex-desktop has joined the channel
[18:28] sveisvei: ban verne.freenode
[18:31] pmuellr has joined the channel
[18:33] rtomayko has joined the channel
[18:33] noxa has joined the channel
[18:33] Pilate has joined the channel
[18:33] mcarter has joined the channel
[18:33] sifi has joined the channel
[18:35] RayMorgan has joined the channel
[18:35] alex-desktop has joined the channel
[18:40] dnolen has joined the channel
[18:40] thenduks has joined the channel
[18:40] Yuffster has joined the channel
[18:40] bentomas has joined the channel
[18:40] binary42 has joined the channel
[18:40] scudco has joined the channel
[18:40] jazzychad has joined the channel
[18:40] brandon_beacher has joined the channel
[18:40] simoncpu has joined the channel
[18:40] malkomalko has joined the channel
[18:40] skampler has joined the channel
[18:40] beppu_ has joined the channel
[18:40] sr has joined the channel
[18:40] orlandov has joined the channel
[18:40] careo has joined the channel
[18:40] wil_ has joined the channel
[18:40] claudio has joined the channel
[18:40] sztanpet has joined the channel
[18:40] rbranson_ has joined the channel
[18:40] deanlandolt_ has joined the channel
[18:40] Nailor has joined the channel
[18:40] rudebwoy has joined the channel
[18:44] jcrosby has joined the channel
[18:48] ryanmcgrath: Bleh, as stupid as this sounds, is there any reason that sys.exec'ing a "cd <...>" command wouldn't work with node.js?
[18:48] the_undefined: ryah_away: weird how the universe puts these things into your twitter feed: http://semver.org/
[18:50] rictic has joined the channel
[18:53] soveran has joined the channel
[18:54] dnolen has joined the channel
[18:54] thenduks has joined the channel
[18:54] Yuffster has joined the channel
[18:54] bentomas has joined the channel
[18:54] binary42 has joined the channel
[18:54] scudco has joined the channel
[18:54] jazzychad has joined the channel
[18:54] brandon_beacher has joined the channel
[18:54] simoncpu has joined the channel
[18:54] malkomalko has joined the channel
[18:54] skampler has joined the channel
[18:54] beppu_ has joined the channel
[18:54] sr has joined the channel
[18:54] orlandov has joined the channel
[18:54] careo has joined the channel
[18:54] wil_ has joined the channel
[18:54] claudio has joined the channel
[18:54] sztanpet has joined the channel
[18:54] rbranson_ has joined the channel
[18:54] deanlandolt_ has joined the channel
[18:54] Nailor has joined the channel
[18:54] rudebwoy has joined the channel
[18:58] rtomayko has joined the channel
[18:58] noxa has joined the channel
[18:58] Pilate has joined the channel
[18:58] mcarter has joined the channel
[18:58] sifi has joined the channel
[19:05] hassox has joined the channel
[19:14] the_undefined: ryah_away: exec() also uses multiple paramters :|
[19:17] rtomayko has joined the channel
[19:17] noxa has joined the channel
[19:17] Pilate has joined the channel
[19:17] mcarter has joined the channel
[19:17] sifi has joined the channel
[19:17] RayMorgan has joined the channel
[19:18] dnolen has joined the channel
[19:18] thenduks has joined the channel
[19:18] Yuffster has joined the channel
[19:18] bentomas has joined the channel
[19:18] binary42 has joined the channel
[19:18] scudco has joined the channel
[19:18] jazzychad has joined the channel
[19:18] brandon_beacher has joined the channel
[19:18] simoncpu has joined the channel
[19:18] malkomalko has joined the channel
[19:18] skampler has joined the channel
[19:18] beppu_ has joined the channel
[19:18] sr has joined the channel
[19:18] orlandov has joined the channel
[19:18] careo has joined the channel
[19:18] wil_ has joined the channel
[19:18] claudio has joined the channel
[19:18] sztanpet has joined the channel
[19:18] rbranson_ has joined the channel
[19:18] deanlandolt_ has joined the channel
[19:18] Nailor has joined the channel
[19:18] rudebwoy has joined the channel
[19:19] ryanmcgrath: Eh?
[19:22] rtomayko has joined the channel
[19:22] noxa has joined the channel
[19:22] Pilate has joined the channel
[19:22] mcarter has joined the channel
[19:22] sifi has joined the channel
[19:22] dnolen has joined the channel
[19:22] thenduks has joined the channel
[19:22] Yuffster has joined the channel
[19:22] bentomas has joined the channel
[19:22] binary42 has joined the channel
[19:22] scudco has joined the channel
[19:22] jazzychad has joined the channel
[19:22] brandon_beacher has joined the channel
[19:22] simoncpu has joined the channel
[19:22] malkomalko has joined the channel
[19:22] skampler has joined the channel
[19:22] beppu_ has joined the channel
[19:22] sr has joined the channel
[19:22] orlandov has joined the channel
[19:22] careo has joined the channel
[19:22] wil_ has joined the channel
[19:22] claudio has joined the channel
[19:22] sztanpet has joined the channel
[19:22] rbranson_ has joined the channel
[19:22] deanlandolt_ has joined the channel
[19:22] Nailor has joined the channel
[19:22] rudebwoy has joined the channel
[19:24] ryanmcgrath: exec() uses multiple params?
[19:24] the_undefined_ has joined the channel
[19:33] mahemoff has joined the channel
[19:34] sudoer has joined the channel
[19:35] kriskowal has joined the channel
[19:35] mikeal has joined the channel
[19:43] pdelgallego has joined the channel
[19:43] mikeal has joined the channel
[19:43] kriskowal has joined the channel
[19:43] dnolen has joined the channel
[19:43] thenduks has joined the channel
[19:43] Yuffster has joined the channel
[19:43] bentomas has joined the channel
[19:43] binary42 has joined the channel
[19:43] scudco has joined the channel
[19:43] jazzychad has joined the channel
[19:43] brandon_beacher has joined the channel
[19:43] simoncpu has joined the channel
[19:43] malkomalko has joined the channel
[19:43] skampler has joined the channel
[19:43] beppu_ has joined the channel
[19:43] sr has joined the channel
[19:43] orlandov has joined the channel
[19:43] careo has joined the channel
[19:43] wil_ has joined the channel
[19:43] claudio has joined the channel
[19:43] sztanpet has joined the channel
[19:43] rbranson_ has joined the channel
[19:43] deanlandolt_ has joined the channel
[19:43] Nailor has joined the channel
[19:43] rudebwoy has joined the channel
[19:44] gwoo has joined the channel
[19:48] poul has joined the channel
[20:02] ryanmcgrath: Meh, alright, I give up - anybody care to explain how directories are viewed in terms of Node? e.g, changing directories doesn't seem to be possible (it's entirely plausible that I'm just an idiot who's had no sleep, mind you)
[20:03] jbowman: why do you need to change directory?
[20:04] ryanmcgrath: I've decided to do the stupid task of writing a maven build script in JS
[20:04] ryanmcgrath: Which, from what I can tell, and this may be due to my hatred of reading anything Maven related
[20:04] mikeal: changing the current directory is a scripting environment thing, node.js doesn't provide much for that
[20:04] mikeal: you can open any file in any dir
[20:04] mikeal: and list dirs, etc
[20:05] ryanmcgrath: Yeah, but I need to build from the top level directory for this Maven crap, it seems. ;(
[20:06] ryanmcgrath: Hmmm
[20:06] the_undefined_: ryah_away: http://groups.google.com/group/nodejs/browse_thread/thread/4a1ce27a1f588a7f/4a5993d57f086924
[20:06] ryanmcgrath: Maybe the answer lays on the Maven side
[20:07] the_undefined_: I thought node had a cwd() somewhere
[20:07] the_undefined_: process.cwd
[20:07] ryanmcgrath: Yeah, but does that allow you set it as well?
[20:08] jcrosby has joined the channel
[20:08] ryanmcgrath: Meh
[20:08] ryanmcgrath: I'll try it
[20:08] the_undefined_: ryanmcgrath: nope, doesn't seem like it
[20:08] the_undefined_: ryanmcgrath: wanna write some C++? :)
[20:09] ryanmcgrath: Haha, I haven't touched C++ in so long, I doubt I'm useful.
[20:11] jbowman: sys.exec("cd ~; ls .").addCallback(function (stdout, stderr) { puts(stdout); });
[20:11] the_undefined_: ryanmcgrath: I hacked nodes exception handling mechanism without knowing any C++. Copy & paste, trial & error and you can do it. Ryan will review the patch and make sure nothing crazy gets in before merging it
[20:11] the_undefined_: :)
[20:12] ryanmcgrath: jbowman: Try it, doesn't return anything, at least for me.
[20:12] alex-desktop has joined the channel
[20:12] jbowman: that's untested (not installing node on my workstation) but if it works, should be a start
[20:12] ryanmcgrath: the_undefined_: Haha, well then, I could always make an effort.
[20:13] jbowman: Well... sys.puts should be printing the stdout from that command to the command line your node is running in a terminal, not the web page?
[20:13] the_undefined_: ryanmcgrath: I'll help with the limited knowledge I have if you decide to!
[20:13] jbowman: no actual return in that statement... only thing I can think of at that point.
[20:15] ryanmcgrath: Hmm, yeah, I guess I'll look into this when I have more time.
[20:21] quirkey has joined the channel
[20:25] ryanmcgrath: This actually seems fairly easy to fix.
[20:25] ryanmcgrath: Think I'll just do it.
[20:27] ryanmcgrath: Oh wtf
[20:27] ryanmcgrath: I just found it, it doesn't appear to be documented
[20:27] ryanmcgrath: process.chdir()
[20:28] ryanmcgrath: Source reading ftw
[20:36] the_undefined_: ryanmcgrath: hah, maybe you can add a patch for api.txt ?
[20:36] ryanmcgrath: I shall
[20:36] ryanmcgrath: Nice little find
[20:36] aurynn: Node should totally compile on IRIX!
[20:36] aurynn: ;)
[20:40] rbranson: V8 should totally emit MIPS code :)
[20:40] rbranson: so I can run it on my cluster of Nintendo 64s
[20:40] aurynn: Exactly.
[20:41] aurynn: So I can run it on my PS2!
[20:41] aurynn: so I can run it on my 128-CPU Origin rack
[20:41] rbranson: you got off eBay for the freight cost?
[20:41] aurynn: (if I had such a rack, anyway)
[20:41] rbranson: that's about as fast as your mac mini's graphics card?
[20:42] aurynn: An SGI can be outperformed by my toaster.
[20:48] jbowman: "Promises are the non-blocking counterpart to functions" - I really like that explanation Ryan
[21:00] jbowman has left the channel
[21:06] chrisfarms has joined the channel
[21:06] chrisfarms has left the channel
[21:06] jazzychad: if i'm modifying and releasing code that another company released under BSD license, is the derivitive work still (c) them, or me?
[21:06] chrisfarms has joined the channel
[21:06] malkomalko: going to try to make a unity3d game ontop of node
[21:06] malkomalko: crazy? probably
[21:07] deanlandolt_: jazzychad: (c) them + you
[21:07] deanlandolt_: (as in, you can't take their copyright notices off the files but you can add your own)
[21:07] jazzychad: deanlandolt_: ok thanks.. that makes more sense
[21:20] Vito` has joined the channel
[21:31] cmlenz has joined the channel
[21:32] mikeal has joined the channel
[21:36] sudoer has joined the channel
[21:36] jtoy has joined the channel
[21:38] cmlenz: um, I've updated node to the most recent version, and now node-waf is complaining about a version mismatch
[21:38] cmlenz: Error: Version mismatch: waf 1.5.9 <> wafadmin 1.5.10 (wafdir /usr/local/bin/../lib/node)
[21:38] cmlenz: any ideas?
[21:39] fictorial has joined the channel
[21:41] rolfb has joined the channel
[21:41] fictorial: random question - any of you have a genius way of mapping/hashing a UUID to a 64-bit integer? To make it remotely relevant, this is for a Node.js project. :)
[21:42] fictorial: The idea is to use the 64-bit number as an index... I suppose I could take every other bit assuming UUIDs have enough mixing. Then walk if there are collisions.
[21:42] ericflo: fictorial: I think a uuid has to be a 128 bit integer
[21:43] ericflo: fictorial: I suppose you could use two 64-bit integers
[21:43] sudoer has joined the channel
[21:44] fictorial: ericflo: yes, a uuid is 128b but this thought experiment was planning on using some kind of mapping from a uuid to a 64-bit number then use the 64b number as an index into a sparse file.
[21:44] fictorial: I'd be terrified to use a 128b number as an index into a sparse file - something along the way will break, badly
[21:44] fictorial: thoughts?
[21:44] ericflo: ahh
[21:45] jtoy has joined the channel
[21:45] fictorial: right now I'm just keeping track of a counter but I'd rather use a uuid since I'm planning on distributing the index generation across multiple nodes
[21:45] fictorial: the old Google BigTable "don't make your counters contentious"
[21:49] ericflo: I think your best bet is to use a few bits to determine which node created the integer, and then use the rest of the bits on the highest precision timestamp the rest of the integer can support.
[21:50] aurynn has joined the channel
[21:50] fictorial: yeah maybe that's a good idae
[21:52] Vito` has joined the channel
[21:52] onar has joined the channel
[21:52] ashb has joined the channel
[21:52] nefD has joined the channel
[21:52] apgwoz has joined the channel
[21:52] tlrobinson has joined the channel
[21:52] jan____ has joined the channel
[21:52] micheil has joined the channel
[21:53] tlrobinson has joined the channel
[21:53] hassox has joined the channel
[21:53] mikeal has joined the channel
[21:59] jazzychad: oh hey fictorial, thanks for the redis client :)
[21:59] fictorial: oh sure! it was a good way to learn node and redis back in June
[21:59] alex-desktop has joined the channel
[22:00] jazzychad: nice, i've just been learning both since last week
[22:00] jazzychad: finally pushed me to join github so i could share modules and stuff
[22:01] micheil: jaz
[22:01] micheil: erm
[22:01] micheil: jazzychad: It shouldn't be some you are pushed to, you should naturally gravitate towards it
[22:02] jazzychad: micheil: well, yes that's essentially what happened
[22:02] mikekelly has joined the channel
[22:03] frodenius has joined the channel
[22:07] mikeal has joined the channel
[22:11] bryanl has joined the channel
[22:13] frodeniu1 has joined the channel
[22:14] frodenius has joined the channel
[22:14] mikekell1 has joined the channel
[22:26] RayMorgan_ has joined the channel
[22:30] logicuce has joined the channel
[22:47] isaacs has joined the channel
[22:47] fictorial has joined the channel
[22:47] gwoo has joined the channel
[22:47] pdelgallego has joined the channel
[22:47] kriskowal has joined the channel
[22:47] dnolen has joined the channel
[22:47] thenduks has joined the channel
[22:47] Yuffster has joined the channel
[22:47] bentomas has joined the channel
[22:47] binary42 has joined the channel
[22:47] scudco has joined the channel
[22:47] jazzychad has joined the channel
[22:47] simoncpu has joined the channel
[22:47] malkomalko has joined the channel
[22:47] skampler has joined the channel
[22:47] beppu_ has joined the channel
[22:47] sr has joined the channel
[22:47] orlandov has joined the channel
[22:47] careo has joined the channel
[22:47] wil_ has joined the channel
[22:47] claudio has joined the channel
[22:47] sztanpet has joined the channel
[22:47] rbranson_ has joined the channel
[22:47] deanlandolt_ has joined the channel
[22:47] Nailor has joined the channel
[22:47] rudebwoy has joined the channel
[22:51] mediacoder: hm.. isnt the wiki community-page (on github) a bit redundant? like mentioning lbraries and some outdated wishlist? (and not mentioning the nodejs.org and this channel) ..dont want to edit it without some community consent :-)
[22:52] mediacoder: fictorial: maybe you want, since you keep doing most on the wiki? :-)
[22:53] jan____: mediacoder: it's a wiki, if you screw up, the community will correct it :)
[22:53] mediacoder: yea, sure.. but im on this chan and just drop a quick line, which might save some work :-)
[22:54] mediacoder: (if someone has better ideas and already put effort in it, like fictorial) :-)
[22:54] fictorial: you know what's weird there? I have not updated that wiki in about a month
[22:54] mediacoder: huh?
[22:54] fictorial: yet I login to github and there's tons of "fictorial updated blah on wiki"
[22:54] mediacoder: i see the last change 26 mins ago in the timeline
[22:54] fictorial: yeah I didn't touch that - wth
[22:54] mediacoder: yea
[22:54] mediacoder: hehe
[22:55] isaacs: mediacoder: how about you change it to JUST point to nodejs.org, this irc channel, and the google group?
[22:55] mediacoder: strange
[22:55] fictorial: I see this: Last edited by defrex, 28 minutes ago
[22:55] mediacoder: isaacs: yea, sure
[22:55] mediacoder: fictorial: for me its always you
[22:56] mediacoder: editing /Home
[22:56] fictorial: yeah me too -- it must be a github bug
[22:56] mediacoder: yea, exactly
[22:56] fictorial: def. did not up that.
[22:56] fictorial: v. strange.
[22:56] mediacoder: hehe, thats why im bugging you with the q, sorry :-)
[22:57] fictorial: yeah look at the Versions drop-down on the wiki page... I'm not in there at all but I keep showing up on the dashboard/timeline
[22:57] fictorial: whatever, goofball githubbers
[22:57] fictorial: :)
[22:58] inimino: needs to be rewritten on node
[22:58] mediacoder: hehe
[22:59] bentomas: I'm so glad we've cleared this up fictorial. I've been trying to figure out what all you kept changing multiple times a day!
[22:59] fictorial: dude... me too!
[22:59] fictorial: I'm writing github a support email now btw
[23:00] fictorial: others are getting the same thing...
[23:00] fictorial: http://support.github.com/discussions/site/1019-wiki-edits-in-the-timeline-are-wrong
[23:00] isaacs has joined the channel
[23:00] frodeniu1 has joined the channel
[23:00] alex-desktop has joined the channel
[23:01] fictorial: if I was clever I would say that I ported Whitespace to Node.js and was editing the wiki with examples... Ba da dum. I'm here all week.
[23:04] ashb has joined the channel
[23:05] Vito` has joined the channel
[23:05] onar has joined the channel
[23:05] nefD has joined the channel
[23:05] apgwoz has joined the channel
[23:05] jan____ has joined the channel
[23:07] mediacoder: heh
[23:07] mediacoder: now i edited and it say simoncpu
[23:09] jcrosby has joined the channel
[23:11] mediacoder: the_undefined_: can i add your/debuggable blog to the community page to "blogs and tutorials" section? any others to add?
[23:12] the_undefined_: mediacoder: sure. I don't know of any other blogs with more than 1 node post
[23:12] mediacoder: ok
[23:13] mediacoder: once i have more time (neyt year :-)) ill blog a bit ..atleast i always plan this for the coming year
[23:13] the_undefined_: hehe
[23:17] fictorial has joined the channel
[23:17] gwoo has joined the channel
[23:17] pdelgallego has joined the channel
[23:17] kriskowal has joined the channel
[23:17] dnolen has joined the channel
[23:17] thenduks has joined the channel
[23:17] Yuffster has joined the channel
[23:17] bentomas has joined the channel
[23:17] binary42 has joined the channel
[23:17] scudco has joined the channel
[23:17] jazzychad has joined the channel
[23:17] simoncpu has joined the channel
[23:17] skampler has joined the channel
[23:17] beppu_ has joined the channel
[23:17] sr has joined the channel
[23:17] orlandov has joined the channel
[23:17] careo has joined the channel
[23:17] wil_ has joined the channel
[23:17] claudio has joined the channel
[23:17] sztanpet has joined the channel
[23:17] rbranson_ has joined the channel
[23:17] deanlandolt_ has joined the channel
[23:17] Nailor has joined the channel
[23:17] rudebwoy has joined the channel
[23:23] logicuce has joined the channel
[23:23] fictorial has joined the channel
[23:23] gwoo has joined the channel
[23:23] pdelgallego has joined the channel
[23:23] kriskowal has joined the channel
[23:23] dnolen has joined the channel
[23:23] thenduks has joined the channel
[23:23] Yuffster has joined the channel
[23:23] bentomas has joined the channel
[23:23] binary42 has joined the channel
[23:23] scudco has joined the channel
[23:23] jazzychad has joined the channel
[23:23] simoncpu has joined the channel
[23:23] skampler has joined the channel
[23:23] beppu_ has joined the channel
[23:23] sr has joined the channel
[23:23] orlandov has joined the channel
[23:23] careo has joined the channel
[23:23] wil_ has joined the channel
[23:23] claudio has joined the channel
[23:23] sztanpet has joined the channel
[23:23] rbranson_ has joined the channel
[23:23] deanlandolt_ has joined the channel
[23:23] Nailor has joined the channel
[23:23] rudebwoy has joined the channel
[23:24] RayMorgan has joined the channel
[23:27] jazzychad: isaacs: hey there! i added BSD stuff to all the querystring files.
[23:27] isaacs: great
[23:27] isaacs: i'm reading through the code now.
[23:27] jazzychad: ah nice
[23:27] isaacs: i'm gonna have to clean up the tab/spaces issue to match node's standards.
[23:27] isaacs: ACTION also untangles telephone cords, doesn't step on cracks, and brushes his teeth in the "right" order
[23:28] jazzychad: hmm, what is the standard? i've been using emacs auto-indent w/ spaces
[23:28] mediacoder: jazzychad: http://wiki.github.com/ry/node/contributing
[23:28] isaacs: jazzychad: emacs auto-indent is retarded.
[23:29] isaacs: not like, "bad" retarded, more like "special, drools on itself" retarded.
[23:29] jazzychad: yeah i guess
[23:29] jazzychad: mediacoder: thx...
[23:29] mikeal has joined the channel
[23:29] isaacs: it turns \t into 8 spaces, and does other awful things.
[23:30] jazzychad: well, you can tell it to use hard tabs or spaces, or what have you
[23:30] isaacs: right
[23:30] isaacs: but it kinda freaks out sometimes.
[23:30] isaacs: anyway, i'll stop whining. it's easy for me to fix.
[23:32] the_undefined has joined the channel
[23:33] logicuce has left the channel
[23:34] isaacs: jazzychad: also, if you're writing for node, you don't need to test for Array.map
[23:35] jazzychad: ok.. i just left it in there to be rigourous. if you think it makes a big difference i'll take it out..
[23:35] isaacs: ACTION forking...
[23:39] isaacs: oh, hey, also, the narwhal people wanted to change something about it..
[23:39] jazzychad: mmk
[23:39] isaacs: so that foo=bar&foo=baz wouldn't make an array, but foo[]=bar&foo[]=baz would
[23:40] isaacs: i guess there's some RoR pattern where you have a button and a hidden field with the same name, and then the hidden field becomes the "default" value
[23:40] isaacs: so like:
[23:40] isaacs: or, no, you put the hidden input before the button
[23:41] jazzychad: hmm, that's interesting... never seen that before
[23:41] isaacs: anyway, it struck me as awful and brittle, but that's how ruby and php do it, so meh.
[23:41] isaacs: may as well follow the convention.
[23:41] jazzychad: strikes me the same way :/
[23:42] jazzychad: so "foo=bar&foo=" should result in {foo:"bar"} ?
[23:42] isaacs: no, but
[23:42] isaacs: "
[23:43] isaacs: "foo=hi&foo=bar" ==> { foo : "bar" }
[23:43] isaacs: so, if you put the hidden input before the button, you get foo=default-value&foo=hi when you click it, but foo=default-value when you submit the form some other way.
[23:44] tlrobinson: isaacs: CommonJS assumes Array.prototype.map is present
[23:44] isaacs: oh, also, what increases the awful about the tab/space stuff is that YUI is 4-space indent, whereas node is 2-space.
[23:44] isaacs: tlrobinson: yep.
[23:44] isaacs: because no one is building a commonjs implementation on ie6
[23:44] tlrobinson: along with any other ES5 features which are easily implementable in ES3
[23:44] isaacs: mmhmm
[23:45] tlrobinson: but you could add it on IE6
[23:45] tlrobinson: if you wanted to
[23:45] isaacs: true that
[23:45] inimino: any IE6 project can just include a compatibility layer
[23:45] tlrobinson: kriskowal's narwhal-in-browser might actually work with IE6, i don't know if he's tried it
[23:46] isaacs: it strikes me as remarkably ill-advised to do anything in the browser that relies on synchronous apis
[23:46] jazzychad: isaacs: i've just changed all the tabs to 2 spaces if you want to re-fork or whatever
[23:46] isaacs: unless you do some tricky compilation to make it all work with continuations or some such
[23:47] isaacs: jazzychad: it's ok, i've got some other changes i'll send to you
[23:47] isaacs: i'll pull again before sending the req
[23:47] jazzychad: ok cool
[23:47] jazzychad: i'm just learning git as well, so this will be a good exercise
[23:47] isaacs: also, named functions > var name = function () {}, the better to trace your stack with
[23:48] tlrobinson: isaacs: most of the IO apis in commonjs so far don't make sense in the browser anyway
[23:48] jazzychad: isaacs: good point... not sure where i picked up that habit
[23:52] inimino: you can also write var name = function name(){}
[23:52] sveimac has joined the channel
[23:58] sveimac has joined the channel
[23:59] malkomalko has joined the channel