[00:06] RayMorgan has joined the channel [00:07] tmpvar has joined the channel [00:15] broofa: _ry: ah, I see what was happening. the lib I was using (Faye) is doing '+' operation which was creating a String that just *looked* like a Buffer in debug output. [00:15] broofa: ... which leads to my next question: How do you concatenate two Buffers? [00:19] dgathright has joined the channel [00:19] _ry: broofa: you don't [00:20] _ry: they're just simple memory dumps [00:20] broofa: gotcha. thx. [00:21] rnewson has joined the channel [00:23] blakemizerany has joined the channel [00:23] Tim_Smart: _ry: Is there a good tutorial on typing in C / C++? E.g. what *, & etc etc mean, and when to use unsigned, const etc? [00:24] Tim_Smart: atm I'm coding against the compiler, rather than knowledge [00:27] rnewson has left the channel [00:28] _ry: Tim_Smart: out of the scope of this channel [00:30] Tim_Smart: OK. Google time [00:32] dgathright has joined the channel [00:38] charlesjolley has joined the channel [00:49] cloudhead has joined the channel [00:57] dnolen has joined the channel [00:58] gf3 has joined the channel [01:01] xer0x has joined the channel [01:01] xer0x: asdf [01:01] mikeal: let's ask crockford [01:01] CrockBot: I typed alert('The Master!'), and Douglas Crockford said "Wassup?" DanielEricLee [01:02] mikeal: sweet, it's up and working [01:08] JimBastard_: lol ya [01:08] JimBastard_: so mikeal i think there is an issue where he can time out though [01:08] JimBastard_: i saw him timeout the other night but the instance was still running [01:08] mikeal: weird [01:08] mikeal: he ran on my iMac for like 3 days without an issue [01:09] mikeal: but that was like a whole week ago, which is like a year in node.js land [01:10] ditesh|cassini has joined the channel [01:10] JimBastard_: its an ISP issue [01:10] JimBastard_: err [01:10] JimBastard_: rather a network issue [01:10] JimBastard_: he needs to know to reconnect if he gets disconnected from the network [01:10] JimBastard_: maybe its a setting [01:30] Tim_Smart has joined the channel [01:34] JimBastard_: i finally got to see the drop.io CEO again today after he stood me up for two consecutive job interviews (that he scheduled). he told me he was sorry and i said straight to his face "no you aren't" [01:34] JimBastard_: he was a bit taken back [01:39] KungFuHamster: stood up with a phone call or had you waiting around? [01:41] callen: JimBastard_: like to burn bridges eh? [01:42] JimBastard_: face to face meetups [01:42] JimBastard_: once at their offices, another at a bar / restraurant [01:42] JimBastard_: callen: i have no patience for people who tell me my time is worthless [01:42] JimBastard_: because its not [01:42] callen: JimBastard_: Me too, but I exercise a measure of diplomacy. I was rewarded for patience in the past. [01:43] JimBastard_: i suppose [01:43] JimBastard_: but there was no bridge to begin with [01:45] jed_ has left the channel [01:48] JimBastard_: the drop.io guys should be happy i don't care enough to try and disrupt their service. [01:48] JimBastard_: aight back to real work [02:01] tmpvar has joined the channel [02:01] tmpvar: hello [02:04] Tim_Smart: Hi. [02:05] dgathright has joined the channel [02:08] tmpvar: anyone here know how to expose a c++ class to javascript? here is my (failed) attempt: http://github.com/tmpvar/node-avro/blob/master/src/node-avro.cc [02:09] dgathright has joined the channel [02:18] JimBastard_: sup tmpvar [02:19] tmpvar: what up [02:20] blakemizerany has joined the channel [02:20] JimBastard_: hackernews meetup was tonight [02:20] JimBastard_: @ shake shack [02:23] bronson has joined the channel [02:23] tmpvar: heh [02:23] tmpvar: how was that? [02:26] Tim_Smart: tmpvar: Yeah I can help there [02:27] JimBastard_: it was okay, i was just telling the story of me being a jimbastard to the drop.io founder [02:27] tmpvar: Tim_Smart, hook it up :) [02:28] tmpvar: lol. [02:28] tmpvar: Tim_Smart, seems like I'm missing 1-3 lines hah [02:28] tmpvar: ACTION is digging through v8 sources [02:35] inimino: ACTION reads backscroll [02:35] Tim_Smart: tmpvar: The works fine: http://gist.github.com/344411 [02:35] Tim_Smart: *This [02:36] Tim_Smart: I got no idea what SetInternalFieldCount() does though [02:36] Tim_Smart: maybe you can help me there [02:37] tmpvar: your guess is as good as mine (my initial guess what some sort of ref counting) [02:37] tmpvar: its required? [02:37] Tim_Smart: Not sure, about to find out [02:37] tmpvar: yeah, it probably isnt heh [02:39] Tim_Smart: tmpvar: http://github.com/ry/node/blob/master/deps/v8/include/v8.h#L1983 [02:39] Tim_Smart: "internal fields", what the heck are those [02:39] cedricv has joined the channel [02:39] tmpvar: hrm [02:42] inimino: Tim_Smart: on C, see above about the K&R :) [02:43] tiglionabbit has joined the channel [02:43] inimino: 128 [02:44] inimino: this channel is getting busy :) [02:45] steadicat has joined the channel [02:48] JimBastard_: hell yeah [02:48] JimBastard_: literally every single person i saw today at the hacker news meetup i said [02:48] JimBastard_: DO YOU KNOW ABOUT NODE.JS [02:48] JimBastard_: followed by [02:48] JimBastard_: GET IN THE IRC ON FREENODE ITS AWESOME [02:49] JimBastard_: been doing that since December or so of last year [02:50] ditesh|cassini has joined the channel [02:50] inimino: awesome :) [02:51] mattly has joined the channel [02:52] maushu: The small slow down when node.js sends a image through http makes me twitch. I hope it's because the image isn't cached. [02:53] deanlandolt has left the channel [02:54] deanlandolt has joined the channel [02:56] dgathright has joined the channel [02:58] tmpvar: Tim_Smart, so I tried variations of that.. unfortunately I cant get it to work [02:58] Tim_Smart: >.< [02:58] Tim_Smart: http://github.com/ry/node_postgres/blob/master/binding.cc [02:58] Tim_Smart: Looked at that? [02:58] tmpvar: yeah [02:58] tmpvar: im using that and node_buffer.cc as a guide [02:59] tmpvar: buffer is actually compiled in though, so there is probably some difference [03:03] mjr__ has joined the channel [03:13] tiglionabbit has joined the channel [03:24] hassox has joined the channel [03:31] mikeal has joined the channel [03:37] confounds has joined the channel [03:43] chakrit has left the channel [03:45] rolfb has joined the channel [03:50] _ry: 'lo [03:56] kriskowal: hi' [03:58] RayMorgan has joined the channel [04:02] softdrink has joined the channel [04:09] tmpvar: yo [04:12] tmpvar: Tim_Smart, honestly, I think this has something to do with building against avro .. but i cant be sure [04:12] tmpvar: using your example/node-microseconds nothing is exported [04:12] Tim_Smart: Huh, weird [04:13] tmpvar: I'm doing a sys.inspect(require("node-avro"), true)) .. should show me everything, now? [04:13] tmpvar: s/now/no [04:13] mattly: bah, commonjs specifies that Date.parse should be able to handle the output of Date.prototype.toISOString, and V8 doesn't [04:14] mattly: Date.parse also outputs a number, not a proper Date :( [04:16] Tim_Smart: nodejs_v8: Object.getOwnPropertyNames(Date) [04:16] nodejs_v8: Tim_Smart: ["now", "arguments", "UTC", "length", "name", "prototype", "caller", "parse"] [04:17] Tim_Smart: nodejs_v8: Date.now() [04:17] nodejs_v8: Tim_Smart: 1269576989673 [04:18] mattly: hm [04:18] mattly: so wait [04:18] mattly: mfer [04:18] mattly: you're supposed to just feed that into new Date or something? [04:19] JimBastard_: Crockford can run so fast he makes Date.now() return a negative number. [04:19] CrockBot: v8 is just a memory dump of Douglas Crockford's mind, when he was born! A current one could be the A-Bomb of browser war. tobeytailor [04:19] _ry: tmpvar: how's the avro stuff going? [04:20] _ry: tmpvar: did you get it to compile? [04:20] mattly: Crockford's Javascript runs so fast it benches negative numbers [04:20] CrockBot: John Resig's autograph == $. Drinks with the Prototype crew == $$. A night on the town with Douglas Crockford == undefined. jeremyosborne [04:20] tmpvar: _ry, yep, trying to export Avro (c++) into javascript land [04:20] tmpvar: _ry, no luck.. yet. [04:20] PyroPete1 has joined the channel [04:20] tmpvar: using node_buffer.cc and node_postgres as an example [04:21] sh1mmer has joined the channel [04:21] _ry: do you still have the same problem with the typedef? [04:21] tmpvar: _ry, no.. i got them to patch it [04:21] _ry: ah [04:21] _ry: nice [04:21] _ry: okay [04:22] tmpvar: you around for a few? [04:22] _ry: not really - but a few few [04:22] mattly: ugh i fucking hate timezones [04:22] tmpvar: i'd like to try something and then formulate a question for ya if need be [04:22] tmpvar: cool [04:22] _ry: i'm sitting in a hotel lobby [04:22] tmpvar: ah [04:23] _ry: sure [04:26] tmpvar: _ry, so I'm not even sure how/what I should ask honestly. It seems as though avro is getting in the way me modifying target in the addon init method. [04:27] tmpvar: _ry, assuming I resolve this issue.. would node_buffer be a good reference to follow for getting a c++ class "exported" into js? [04:28] _ry: sure [04:29] _ry: do you want to paste me something? [04:29] tmpvar: yeah.. here is what im trying to do: [04:29] tmpvar: http://github.com/tmpvar/node-avro/blob/master/src/binding.cc -- as the initial linkage [04:30] tmpvar: and http://github.com/tmpvar/node-avro/blob/master/src/node-avro.cc -- to build out the methods that should be exposed [04:30] _ry: you don't need HasInstance [04:31] _ry: you can also probably get rid of the constructor_template [04:31] _ry: just use "t" [04:31] tmpvar: alright [04:31] tmpvar: is there anything that looks "blatantly" wrong? [04:32] _ry: no need to use multiple files [04:32] _ry: although that odesn't matere [04:32] _ry: matter [04:32] tmpvar: heh [04:33] tmpvar: there will be a round of cleanup, just need to get it working heh [04:34] _ry: okay [04:34] _ry: well you're on the right track - needs some guts [04:34] tmpvar: yeah, first step was to get an the require() in js to pull in an Avro object.. which is not happening heh [04:37] _ry: fill out the constructor "New" function [04:42] _ry: i think "close()" needs to be able to take an argument [04:43] dgathright has joined the channel [04:48] confounds has joined the channel [04:53] indiefan has joined the channel [04:55] dnolen has joined the channel [05:02] JimBastard_: i love how i just accidentallied the whole app ( rm -rf hook.io ) yet my app is still up and running fine [05:02] JimBastard_: <3 node [05:06] hassox has joined the channel [05:06] mattly has joined the channel [05:11] charlesjolley has joined the channel [05:13] tmpvar: lol [05:13] tmpvar: alright [05:14] tmpvar: 1:20, winding down... peace [05:14] _ry: later [05:16] isaacs: JimBastard_: yet *another* reason why require.uncached is a terrible ideea! [05:17] cloudhead has joined the channel [05:23] JimBastard has joined the channel [05:24] JimBastard: so i think im gonna open-source my drip.io project - http://maraksquires.com/drip.io/ [05:25] JimBastard: it lets you create unique drop.io drops on any URL through a bookmark [05:25] JimBastard: node backend [05:36] _ry: later [05:36] _ry: oops [05:41] dgathright has joined the channel [05:54] bronson has joined the channel [05:56] kennethkalmer has joined the channel [05:57] micheil has joined the channel [05:58] aryounce has joined the channel [06:03] felixge has joined the channel [06:03] felixge has joined the channel [06:12] tiglionabbit has joined the channel [06:39] cloudhead has joined the channel [06:56] admc has joined the channel [07:40] isaacs has joined the channel [07:42] kennethkalmer has joined the channel [07:43] JimBastard_: hey felixge [07:43] JimBastard_: welcome back! [07:43] felixge: JimBastard_: thanks [07:43] felixge: man, this internet thing really took off since I was gone [07:43] felixge: :) [07:43] JimBastard_: have you met my friend Douglas Crockford ? [07:43] CrockBot: DouglasCrockford.hasOwnProperty(window); aq [07:44] JimBastard_: so yeah in regards to dirty, i think it will be a great fit for the default data engine in hook.io [07:45] JimBastard_: the sooner you can get docs out the sooner i can integrate, right now we are in a bit of a limbo with node-persistence and some custom stuff. waiting for dirty [07:45] JimBastard_: ;-) [07:45] JimBastard_: my goal is to have people be able to clone the repo and start the server without any 3rd party software [07:50] kjeldahl has joined the channel [07:57] pdelgallego has joined the channel [08:02] kjeldahl has joined the channel [08:07] tisba has joined the channel [08:14] piranha has joined the channel [08:23] jed has joined the channel [08:26] kixxauth has joined the channel [08:28] Gruni has joined the channel [08:29] kjeldahl has joined the channel [08:29] teemow has joined the channel [08:31] mikeal has joined the channel [08:51] jbrantly has joined the channel [08:53] felixge has joined the channel [08:53] felixge has joined the channel [09:13] JimBastard has joined the channel [09:27] MattJ has joined the channel [09:36] christkv has joined the channel [09:44] broofa has joined the channel [09:53] JimBastard: Crockford can kick your ass so hard all you'll have left is a semi-colon. Then he'll just deprecate that. [09:53] CrockBot: Douglas Crockford can travel back in time with a negative setTimeout. ryanstout [09:54] tbassetto has joined the channel [09:56] kjeldahl has joined the channel [10:00] kjeldahl has joined the channel [10:06] r11t has joined the channel [10:09] r11t has joined the channel [10:11] kennethkalmer has left the channel [10:13] kjeldahl has joined the channel [10:33] felixge_ has joined the channel [11:38] maritz has joined the channel [11:48] confounds has joined the channel [11:50] pdelgallego has joined the channel [11:51] Tim_Smart has left the channel [11:55] derbumi has joined the channel [12:04] charlesjolley has joined the channel [12:10] jed has joined the channel [12:11] pmuellr has joined the channel [12:22] jed has joined the channel [12:32] rolfb has joined the channel [12:35] rnewson has joined the channel [12:39] jed has joined the channel [12:40] kriszyp has joined the channel [12:47] joshbuddy has joined the channel [12:48] joshbuddy has joined the channel [12:52] pdelgallego has joined the channel [13:08] JAAulde has joined the channel [13:23] kriszyp has joined the channel [13:23] Ramone: I can't figure out how to get anything other than "fail" for gnutls when I'm configuring node... I've install the package at [13:23] Ramone: http://www.gnu.org/software/gnutls/download.html ... is there anything else? [13:23] Ramone: can't figure it out for the life of me [13:23] rnewson has left the channel [13:32] Ramone: even hacking wscript to point to the folder :\ [13:37] Ramone: I somehow magically fixed it by installing pkg-config . (This is a message for future-Ramone for when he frantically combs the logs next time.) [13:50] charlesjolley has joined the channel [13:56] RJ2_ has joined the channel [14:09] gf3 has joined the channel [14:09] gf3 has joined the channel [14:11] n8o_ has joined the channel [14:11] alex-desktop has joined the channel [14:11] ssteinerX has joined the channel [14:17] felixge has joined the channel [14:17] felixge has joined the channel [14:22] wereHamster: christkv: does your native mongodb driver support multiple simultaneous queries to the db? [14:22] confounds has joined the channel [14:27] felixge has joined the channel [14:27] felixge has joined the channel [14:28] aryounce has joined the channel [14:29] sh1mmer has joined the channel [14:31] tmpvar has joined the channel [14:34] dnolen has joined the channel [14:36] rtl has joined the channel [14:38] beilabs has joined the channel [14:41] softdrink has joined the channel [14:42] tbassetto has joined the channel [14:43] softdrink has joined the channel [14:46] TheEnd2012 has joined the channel [14:57] MattJ: Who was responsible for submitting the Node GSoC application? There's a meeting in #gsoc in an hour for getting feedback on applications [14:59] pjb3 has joined the channel [15:00] charlesjolley has joined the channel [15:01] n8o has joined the channel [15:04] felixge_ has joined the channel [15:04] felixge_ has joined the channel [15:05] christkv: whereHamster: yes by default it's all async so just send as many as you want. However if you have HEAVY load use multiple instances of the driver as I have no throttling on the send and thus you could flood the connection and kill it [15:09] jan____ has joined the channel [15:09] jan____ has joined the channel [15:10] inimino: MattJ: _ry submitted it [15:17] alexiskander has joined the channel [15:21] joshbuddy_ has joined the channel [15:21] _ry: I already talked to google people and got feedback [15:24] felixge_: _ry: what did they say [15:24] felixge_: ? [15:25] _ry: project descriptions were not detailed enough [15:26] wereHamster: christkv: I have a bot script which queries the db and then sends the data using http.createClient() to a server. When I create multiple instances of that bot the script crashes [15:26] _ry: felixge_: wb [15:27] christkv: wereHamster: Give each bot it's own driver connection [15:27] felixge_: _ry: ah that sucks : /. I mean they get hundreds of applications, I would assume they like succinct summaries over long essays : / [15:27] wereHamster: ok, will do [15:28] voodootikigod_ has joined the channel [15:28] felixge_: _ry: what do you think about doing a wiki page that lists "tasks" for people to work on? I imagine that with the net2 merge there is still lots of documentation as well as stream standardization todo [15:29] _ry: felixge_: sure [15:32] gf3 has joined the channel [15:35] felixge has joined the channel [15:35] felixge has joined the channel [15:37] felixge_ has joined the channel [15:38] brapse has joined the channel [15:40] felixge__ has joined the channel [15:42] charlesjolley has joined the channel [15:43] steadicat has joined the channel [15:50] jbrantly has left the channel [15:56] felixge__: _ry: any idea why my node binary (on linux) could report a really old version even so it is a much newer one? I get 'v0.1.17-435-g84277ea' for 'node -v' [15:56] felixge__: I tried distclean, deleting the git repo and cloning again, etc. [15:57] felixge__: seems like the version got cached sometime somewhere but I can't figure it out [15:58] _ry: felixge__: maybe your git tags aren't updated? [15:59] felixge__: _ry: that could be it, I'm actually pushing stuff to this repo from the outside [15:59] felixge__: _ry: trying it now! [16:00] felixge__: _ry: the file descriptor send test is disabled, do you need any help working on that? [16:01] _ry: it needs some thought [16:02] _ry: I'm not sure if I want to send fds through normal net.Stream (which is what that test does) [16:02] _ry: it might be better to just have a net.FdPipe [16:02] _ry: or something [16:02] n8o has joined the channel [16:04] CodeOfficer has joined the channel [16:06] pdelgallego has joined the channel [16:07] fictorial has joined the channel [16:11] CIA-77: node: 03Ryan Dahl 07master * r7ed8045 10/ lib/net.js : Increase pool.used before making 'data' event - http://bit.ly/ac5kZL [16:11] CIA-77: node: 03Ryan Dahl 07master * rbb00fef 10/ lib/buffer.js : [16:11] CIA-77: node: Change Buffer.toString to conform to CommonJS Binary/F [16:11] CIA-77: node: Also add Buffer.inspect - http://bit.ly/cRLWkZ [16:11] CIA-77: node: 03Ryan Dahl 07master * r6192b86 10/ (43 files in 10 dirs): Upgrade V8 to 2.1.10 - http://bit.ly/abhXyf [16:13] _ry: jfd: nice game [16:13] brapse has joined the channel [16:14] joshbuddy has joined the channel [16:14] joshbuddy has joined the channel [16:18] jbrantly has joined the channel [16:26] felixge has joined the channel [16:26] felixge has joined the channel [16:29] aguynamedben has joined the channel [16:32] indiefan has joined the channel [16:36] silentrob has joined the channel [16:44] bpot has joined the channel [16:44] n8o has joined the channel [16:50] joshbuddy has joined the channel [16:50] joshbuddy has joined the channel [16:50] schuyler1d has joined the channel [16:51] rictic has joined the channel [16:59] CIA-77: node: 03Ryan Dahl 07master * r6ecdead 10/ deps/v8/SConstruct : Remove -Werror on V8 -_- - http://bit.ly/aHrRbA [16:59] sh1mmer has joined the channel [16:59] inimino: heh [17:07] cloudhead has joined the channel [17:08] aryounce has joined the channel [17:08] pdelgallego has joined the channel [17:11] charlesjolley has joined the channel [17:16] ryan[WIN] has joined the channel [17:16] ryan[WIN]: hi [17:17] beilabs has joined the channel [17:19] drostie has joined the channel [17:28] sh1mmer has joined the channel [17:28] admc has joined the channel [17:38] isaacs has joined the channel [17:41] tisba has joined the channel [17:41] admc has joined the channel [17:57] schuyler1d: question: trying to do https with the net2 branch. I'm getting -102 from client.verifyPeer(). Is it unimplemented atm? [17:57] inimino: schuyler1d: yes [17:57] schuyler1d: inimino: thanks [17:57] indiefan has left the channel [17:57] inimino: I think https is still unimplemented entirely in net2 unless I missed something [17:58] aryounce_ has joined the channel [17:58] schuyler1d: no, i'm doing fine. I just can't verify [17:59] inimino: oh, maybe there is early support then [18:00] schuyler1d: I thought I was going to have to stop my project, but then found the net2 branch. I was very happy :-) [18:06] jage has joined the channel [18:11] dandean has joined the channel [18:11] Wes-mac has joined the channel [18:12] Wes-mac: ryan[WIN]: ping [18:12] tmpvar has joined the channel [18:13] tmpvar: TGIF [18:13] ryan[WIN]: Wes-mac, pong [18:14] jherdman has joined the channel [18:14] Wes-mac: ryan[WIN]: looking at your TCP API - thinking of adopting it more or less wholesale for GPSEE. Am concerned about memory churn on "data" - especially due to crappy GC in spidermonkey. Have you thought about extending the API to allow passing data into a per-stream reusable ByteArray-type-object? [18:14] cainus_ has joined the channel [18:14] schuyler1d: oh, hm. net branch doesn't work with setSecure, but at least http_old works (which does not on master) [18:14] zuk has joined the channel [18:15] dandean has left the channel [18:15] ryan[WIN]: Wes-mac, maybe you think i'm someone else [18:15] Wes-mac: ryan[WIN]: Oh, you're another ryan? [18:15] ryan[WIN]: yes this is my first time here [18:15] Wes-mac: oh, lol [18:16] Wes-mac: Oh! There he is [18:16] Wes-mac: _ry: ping [18:17] dandean has joined the channel [18:21] mikeal has joined the channel [18:27] beilabs has joined the channel [18:33] mattly has joined the channel [18:33] creationix has joined the channel [18:33] creationix: isaacs: have you seen the whatwg's paper on html parsing? [18:33] creationix: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html [18:34] isaacs: creationix: yeah, i have [18:34] isaacs: it's craziness [18:34] creationix: but it's documented! [18:34] creationix: that's really cool [18:34] mikeal: isn't that out of date? [18:34] mikeal: one of the HTML5 standards is the parser standard [18:35] inimino: that is the HTML5 standard [18:35] creationix: that's what I understand, whatwg made the html5 standard [18:36] creationix: since w3c wasn't interested in it [18:36] creationix: well, just wondering if it would help you make your sax parser able to parse html5 as well [18:37] inimino: that would be the way to do it but implementing a real HTML parser is a serious undertaking [18:37] inimino: of course I said the same thing about XML and that didn't stop anyone ^.^ [18:37] deanlandolt: inimino: noone said ithad to be "real" -- good enough is usually Good Enough :D [18:38] mikeal: i thought all of these moved to w3c.org? [18:38] inimino: mikeal: W3C hosts its own version of them [18:38] mikeal: wow, this webapp is actually pretty cool [18:38] inimino: (which has different things in it for political reasons) [18:38] mikeal: Hixie is able to mark sections as "last call" [18:39] mikeal: w3c needs to die [18:39] inimino: this is pretty up-to-date: http://wiki.whatwg.org/wiki/FAQ#What_are_the_various_versions_of_the_spec.3F [18:40] mikeal: Web SQL needs to die [18:41] creationix: lawnchair is kinda neat [18:41] creationix: http://brianleroux.github.com/lawnchair/ [18:41] mikeal: http://www.w3.org/TR/WebSimpleDB/ [18:42] mikeal: i really want to see this go in and SQL to DIE DIE DIE [18:43] mikeal: basically, you get a persisted btree and some simple transactions [18:43] mikeal: and that's it [18:43] creationix: You know, SQL is a pretty good language for relational databases, it's the relational part that's questionable [18:43] creationix: agreed [18:43] mikeal: build whatever you want, even if it's SQL, on top of that [18:43] mikeal: the problem with SQL is that it's not uniform across implementations anyway [18:44] mikeal: and they can't say "use sqlite" [18:44] mikeal: that's just a non-started for M$ [18:44] mikeal: non-starter [18:44] inimino: they can document what SQLite does [18:44] mikeal: that's what they've done [18:44] mikeal: but the spec is stalled now waiting for anyone to implement the API without sqlite as the backend [18:45] KungFuHamster: would it be crazy to say I like (my)sql and think it's easy? [18:46] deanlandolt: KungFuHamster: it can be the perfect fit (depending on the problem) [18:46] creationix: it's unpopular to like sql right now, not crazy [18:46] deanlandolt: i don't think mikeal's complaining about the sql part as much as the forced-sqlite-dependency part -- as he said, it's a non starter (for more browser vendors than just MS) [18:47] deanlandolt: moreover, it's not just "use sqlite" -- it's "use this very specific version of sqlite" [18:47] creationix: yeah, that can be a little restricting [18:52] KungFuHamster: integrating db transactions into javascript on the client seems dangerous [18:52] deanlandolt: why? [18:52] KungFuHamster: vulnerable to xss attacks and whatnot [18:53] deanlandolt: oh, i thought you meant because of race issues or something [18:53] deanlandolt: i'm not sure what they've done to mitigate that but i imagine something's in place [18:53] deanlandolt: but yeah, i can see where you're coming from [18:56] KungFuHamster: "the client is in the hands of the enemy" [18:57] mjr_: I've done a lot of work with the simpledb API. It works pretty well, and it is totally non-blocking. [18:57] mjr_: But it sure is SQL. [18:58] deanlandolt: mjr_: /can be/ totally non-blocking -- the async stuff looks pretty awful to me though [18:58] mjr_: The syntax is crazy at first. My experience with Safari and Chrome is that it is non-blocking, except maybe for openDatabase() [18:59] aho has joined the channel [18:59] mjr_: http://ranney.com/db_drag.html [19:00] mjr_: Will make your client-side database do a bunch of work. Generally the browser is responsive while this is happening. [19:00] unomi has joined the channel [19:03] beilabs has joined the channel [19:05] embwbam has joined the channel [19:05] mattly has joined the channel [19:05] embwbam: is there an equivalent to getTime() [19:05] embwbam: ? [19:05] mikeal has joined the channel [19:07] joshbuddy has joined the channel [19:07] mattly: does anyone know what criteria ServerRequest uses to determine if the hostname is part of the given url or not? [19:08] OSInet has joined the channel [19:12] embwbam has left the channel [19:14] mjr_: mattly: do you have an example? [19:14] mattly: mjr_: sure, im [19:15] mattly: mjr_: http://gist.github.com/345267 is a JSON.stringify dump of the request object [19:15] mattly: the host and port are in the headers, but not part of the url [19:18] mjr_: so createClient sets the port and host, and then .request() sets the method and URL [19:18] mattly: hm [19:19] mattly: i've just been hitting it with my browser [19:19] mjr_: oh, sorry, you said serverRequest [19:19] mattly: i have /etc/hosts setup so that test.local loops back [19:20] mjr_: The URL in the request object is always just the URI, isn't it? [19:20] mattly: "This contains only the URL that is present in the actual HTTP request" [19:20] mattly: shit [19:20] mattly: ACTION gets to debugging chrome [19:21] mjr_: You shouldn't trust the docs at this point. [19:21] mattly: heh [19:21] mattly: i'm on .1.32 still [19:21] mattly: so whatever crazy shit's going on in master [19:22] kixxauth has joined the channel [19:23] mattly: eh it does the exact same thing with curl [19:24] mattly: maybe i should try it proxied through nginx or something [19:25] mjr_: What's the problem, you were expecting that url would contain the full url like http://localhost/ ? [19:25] mattly: yes [19:25] mattly: i'd like to pass it to url.parse and get back a full url with scheme and everything [19:26] blakemizerany has joined the channel [19:30] brapse has joined the channel [19:31] n8o_ has joined the channel [19:32] mjr_: I just checked my 1.31 server, and it doesn't get the protocol or port in the URL [19:32] mjr_: So I guess it's been that way for a while. [19:33] mjr_: However, you can still pass it to url.parse, and it'll pull out whatever it can. [19:33] creationix: well, in HTTP it's in a very different part of the packet, so it makes sense [19:33] mjr_: The docs claim that you'll get stuff that you don't get though, which is confusing. [19:34] creationix: yea, the docs are in a sad state, especially on HEAD [19:34] mattly: humh [19:34] mjr_: I keep meaning to put some time into update the docs, but haven't been able to for the past week. [19:34] mjr_: I'd probably get more time if I just closed the IRC window though. [19:35] mattly: hah [19:35] n8o has joined the channel [19:35] creationix: mjr_: I would love help finishing the asciidoc to markdown conversion [19:35] mattly: so is there anywhere i can derive the scheme from? or just guess [19:35] mjr_: creationix: I thought you had that already converted, or did it get updated again, and require anotherh conversion? [19:36] creationix: the markdown is done (more or less) but Ryan won't accept it till I have scripts to generate the man pages and html for nodejs.org from it [19:36] creationix: it's almost done, I'm just swamped [19:36] mjr_: mattly: you can piece it together from all the data in reuqest. Awkward, but possible. [19:36] mjr_: oh, he doesn't like your fancy viewer as a replacement for the HTML on nodejs.org? [19:36] mattly: yeah, just trying to figure out where it would indicate something differently for https [19:37] creationix: he does, but not yet, wants to do it in two steps [19:37] mjr_: I'd much rather see your fancy viewer on nodejs.org. [19:37] creationix: first replace the current static page [19:37] creationix: then in the next release add a fancy viewer [19:37] creationix: either way I've got to convert the markdown to ronn markdown so I can use ronn to generate the man page [19:37] mjr_: alright, so you need something that builds a static page then? [19:38] creationix: ronn does html too, it's ugly, but should work for now [19:38] creationix: mainly I need the markdown modified to fit ronn's dialect of markdown [19:38] creationix: I'll make a fork of node so you can see my progress (it's not in the node_docs repo right now) [19:39] mjr_: OK, I can work on it a bit today. I'm more interested in updating the actual doc contents, but if we need this infrastructure first, then I guess that's got to come first. [19:41] creationix: mjr_: yes, and then we very much need to update the actual contents. There is nothing about the changes from the net2 merge [19:41] creationix: and many parts could use some improving [19:41] creationix: http://github.com/creationix/node [19:41] creationix: and here is ronn http://github.com/rtomayko/ronn [19:42] mjr_: I'd not heard of ronn until just now. [19:42] creationix: it's pretty cool, I'd use markdown over roff for man pages anyday [19:43] mjr_: yeah, it looks pretty nice [19:43] felixge has joined the channel [19:43] felixge has joined the channel [19:43] creationix: once this infrastructure is done, we can split efforts with one half updating the actual contents while others work on a pretty viewer. [19:44] creationix: till then it's just me trying to keep up with the api changes in node on my own (not working!) [19:45] mjr_: OK, can you point me to the part that generates the thing that needs to generate it in a different way? [19:47] mjr_: mattly: from a quick scan of the code, I didn't notice anything that would look different if the incoming connection was https, although I might have missed it. [19:47] mattly: ok thanks [19:48] mjr_: clearly that is something that would be useful. [19:48] mattly: heh [19:51] creationix: mjr_: The main difference between ronn markdown and the variant I was using is the heading levels. I used a h1 for each major topic and went down from there, ronn expects an h1 for the project name and h2's for major topics. Also it has special extensions for things related to code apis. It would be nice to use these. [19:51] mjr_: ok [19:52] mjr_: So you've got generate.js, which converts api.markdown to HTML. Do you have another one that converts api.markdown to ronn? [19:52] mjr_: and/or is api.markdown the official source, or is that api.txt? [19:55] creationix: ok, it's half baked, sorry for the confusion [19:55] creationix: api.markdown should have up to date content as what's in api.txt [19:55] creationix: it just needs to be finished converted from plain markdown to ronn markdown by hand [19:55] mjr_: ohhhhh [19:56] mjr_: well, I'm glad I didn't go write a ronn converter program then [19:56] creationix: you can test it by running ronn (the ruby gem) on the api.markdown and checking the output [19:56] mjr_: So this is a one-time deal, convert api.markdown to something that can be read by ronn [19:56] mjr_: ? [19:56] creationix: yep [19:56] mjr_: nice [19:56] creationix: then I'll adjust my fancy viewer to understand the ronn dialect of markdown [19:57] creationix: and api.markdown will be the officlal source of node docs [19:57] mjr_: brilliant [19:59] maushu has joined the channel [20:02] mjr_: One of these days, I guess I should look at Ruby. Lots of cool kids seem to use it. [20:03] tilgovi has joined the channel [20:04] mattly: mjr_: would it help if i mentioned the http/https thing on the mailing list do you think? [20:04] mattly: also re: ruby, it's a nice language but i'm growing rapidly dissatisfied with the culture around it [20:04] mjr_: it might. I've never done https with node, so I can't speak from experience. Maybe there is something else going on in there. [20:05] OSInet has left the channel [20:06] mattly: that, and I'm finding a lot of its mechanisms increasingly unnecessary [20:09] keeto has joined the channel [20:11] keeto has joined the channel [20:22] _ry: Wes-mac: pong [20:23] Wes-mac: _ry: looking at your TCP API - thinking of adopting it more or less wholesale for GPSEE. Am concerned about memory churn on "data" - especially due to crappy GC in spidermonkey. Have you thought about extending the API to allow passing data into a per-stream reusable ByteArray-type-object? [20:24] Wes-mac: _ry: Also, looks like your reactor automatically does accept(), triggers "connection" with the accepted socket as the argument? [20:24] n8o has joined the channel [20:25] _ry: I'm not sure I understand your first question [20:25] _ry: My net.Server object automatically accepts connections, yes [20:26] Wes-mac: _ry: Does running through a lot of data reads cause a lot GC churn? i.e. many small strings needing to be collected? [20:26] Wes-mac: P [20:26] Wes-mac: _ry: If yes, any reason why it's not practical to re-use the same buffer again and again? (ignoring, for the time being, that you return Strings and Strings are immutable) [20:28] _ry: there is a big memory pool (40kb) which is used for encoding strings and writing them out to buffer [20:28] _ry: it's also used for incomign data [20:28] _ry: there is also a "_writeQueue" thing which is used for large chunks of data [20:28] _ry: that doesn't fit into the "pool" buffer [20:29] _ry: strings are encoded to whatever, and stored in 1kb buffers in the writeQueue [20:33] r11t has joined the channel [20:33] _ry: How the write queue is being done now is not very good. [20:34] _ry: But I don't think it's related to invoking GC wrath [20:35] _ry: the reading afaics is working well [20:35] _ry: reading is fairly simple [20:35] _ry: pushing data out in a way that doesnt suck is hard [20:35] blakemizerany has joined the channel [20:35] mjr_: _ry: have you thought about my high water mark suggestion? [20:36] isaacs has joined the channel [20:37] mjr_: register a callback for when the write queue reaches a certain size. Then another one for when it falls below a low water mark. [20:37] mjr_: That way if you don't care about output buffering, you can let it all queue up in memory. If you do care, you can dial it in however you like. [20:38] _ry: mjr_: Yeah - I'm not there yet [20:38] dnolen has joined the channel [20:39] _ry: i definitely want to do that (mostly because it's part of AnyEvent's API, which I'm copying outright) [20:39] _ry: just kind of swimming in bugs at the moment [20:39] mjr_: Yeah, I understand. [20:40] _ry: for the http server i want to control the output very exactly [20:40] _ry: so i don't want to do that [20:40] _ry: and basically that's the only real tcp user i'm concerned about :) [20:40] _ry: (right now) [20:41] blakemizerany has joined the channel [20:42] Wes-mac: _ry - thanks -- I'm curious what my perf will be like, spidermonkey's GC is older-school than v8 IIUC. Lucky for me, my current app is not perf-sensitive, so I can chose either implementation without much pain. ;) [20:43] Wes-mac: _ry - But I'm definitely interested in scaling up in the long term, a web server would be interesting indeed. [20:43] kriskowal has joined the channel [20:43] _ry: Wes-mac: there aren't so many objects being created [20:44] _ry: well - at least for what it's doing [20:44] _ry: i'm pretty sensitive to that- GC hurts in v8 too [20:44] Wes-mac: _ry: Hmm - I guess there is at least one saving grace for you, you probably get large strings thanks to big MTU and Nagle [20:45] Wes-mac: _ry: I'm dealing with serial data, not unusual to get one byte per select() [20:45] konobi: Wes-mac: howdy [20:45] Wes-mac: konobi: howdy [20:46] _ry: Wes-mac: I guess a high-water mark would help you then. [20:47] _ry: or do you mean reading? [20:48] Wes-mac: _ry: Reading -- it might be possible to tweak the serial->ethernet interfaces to block a little longer before firing out ethernet packets, but I often get one byte per packet, which often translates into one byte per read [20:49] creationix_ has joined the channel [20:53] _ry: Wes-mac: yeah - i kind of think it's not a problem. if it's too slow then data will back up :) [20:53] Wes-mac: _ry: Heh. Pragmatic *and* correct :) [20:54] jbrantly has joined the channel [20:54] dnolen has joined the channel [20:57] mattly has joined the channel [20:57] qFox has joined the channel [20:58] kriskowal_ has joined the channel [21:00] schuyler1d has left the channel [21:00] murz has joined the channel [21:02] charlesjolley has joined the channel [21:06] jspiros has joined the channel [21:09] Tim_Smart has joined the channel [21:17] sztanphet has joined the channel [21:18] mikeal has joined the channel [21:19] jherdman has joined the channel [21:19] admc has joined the channel [21:22] Ramone: anyone know if http.Client can do https? client.setSecure() in the docs doesn't even seem to exist... [21:24] mikeal: it was removed in the latest master [21:24] mikeal: you can get it if you use old_http [21:42] markwubben has joined the channel [21:42] javajunky has joined the channel [21:51] ddollar has joined the channel [21:57] blakemizerany has joined the channel [21:58] tmpvar: .seen [21:58] Tim_Smart: .lolwut [21:58] tmpvar: what up [21:59] Tim_Smart: Playing with Coffeescript deferred. Not sure if it is any good [21:59] devinus has joined the channel [22:00] devinus: is anybody working on any imagemagick bindings or image manip in general for node ? [22:00] mikeal: there is a thread about that on the list [22:01] Tim_Smart: Would be awesome to have canvas in node [22:02] mikeal: it would be [22:04] Tim_Smart has joined the channel [22:04] devinus: mikeal: any keywords i could search for? [22:04] mikeal: image? [22:05] rtl has joined the channel [22:05] softdrink: devinus: http://github.com/quiiver/magickal-node [22:05] devinus: ah http://github.com/quiiver/magickal-node [22:05] devinus: haha yes, thanks softdrink [22:05] softdrink: lol [22:05] devinus: man i wish i could thank whoever that is [22:06] mattly has joined the channel [22:07] Tim_Smart: only problem is the overhead of creating a process for every command [22:08] softdrink: at least it's non-blocking [22:12] Tim_Smart has joined the channel [22:13] isaacs has joined the channel [22:18] mjr_: creationix: that took longer than expected, but I think I've got the api.markdown file converted to something that ronn can understand. [22:18] creationix: sweet [22:19] mjr_: ronn is really brittle, and it doesn't seem to give line numbers when it runs into a parse error [22:19] devinus: can require no longer follow symlinks ? [22:20] creationix: mjr_: that sucks [22:20] mjr_: But the HTML output looks pretty OK, except for a few overflowed code blocks: http://ranney.com/api.1.html [22:21] creationix: _ry: Is plain ronn html output fine or do you want it modified somewhat [22:21] creationix: maybe add shjs or prettify [22:22] creationix: or the toc generator you had before. I don't want to spend too much time since it's just a stopgap [22:22] mjr_: yeah, I'd rather add some syntax highlighting instead of worrying about code block overflows. [22:23] kriskowal has joined the channel [22:25] isaacs: devinus: sure it can [22:25] isaacs: devinus: something failing? [22:25] bronson has joined the channel [22:25] devinus: isaacs: yeah...it's weird, i have to set NODE_PATH because require('deps/node-router/lib/node-router') was failing [22:26] devinus: isaacs: so i just set NODE_PATH to that to start it [22:26] isaacs: devinus: if it doesn't start with a . or /, then it's considered an "absolute", and stems off the NODE_PATH paths [22:26] devinus: ahhhh [22:26] isaacs: devinus: try require("./deps/node-router/lib/node-router") [22:26] tilgovi has joined the channel [22:27] isaacs: devinus: if you're using npm, you can use the "link" field to link dependencies into that location, btw [22:31] mikeal has joined the channel [22:32] devinus: creationix: i like your node-router, i just wish it did a few thinks a bit differently [22:32] creationix: like what? [22:33] isaacs: creationix: care to pull this? http://github.com/isaacs/node-router/commit/55dbed29f81f0408811fe18551a4ef0656964777 [22:33] isaacs: creationix: also, tagging the current state as v0.0.1 would let me publish it [22:33] creationix: done [22:34] creationix: thanks isaacs [22:34] cainus_ has joined the channel [22:34] creationix: so it npm getting usable nowadays then? [22:34] mikeal: i'm using it for everything [22:34] devinus: creationix: eh, instead of res.simpleJson it'd be nice to just return { data: 'foobar' }; and have it automagically do everything for you.\ [22:35] devinus: creationix: one thing i noticed, your hello world example is wrong (i think). you do var server = require('node-router); when it should prolly be var server = require('node-router').getServer() [22:35] technoweenie has joined the channel [22:36] creationix: yeah, my docs are in flux I'm sure [22:37] creationix: devinus: so a shortcut for the times that you can return the json in sync? [22:37] creationix: I think that would be ok [22:37] creationix: and if a string is returned then send it as html? [22:37] devinus: creationix: does returning force it to be sync? [22:37] devinus: creationix: i thought since it was a callback it was async [22:37] creationix: the request handler is sync with respect to the request [22:38] creationix: is you return [22:38] creationix: *if you return [22:38] devinus: creationix: but yeah, that's what i mean [22:38] creationix: I think that's ok, do you have a patch or want me to code it up real quick [22:38] devinus: creationix: i havent learned the guts yet [22:39] devinus: creationix: furiously trying to rewrite the backend to this: http://github.com/devinus/sproutcore-media [22:39] isaacs: creationix: it's still not quite ready for prime time, but getting ever-closer. [22:39] devinus: so that jolley can demo it at jsconf [22:39] isaacs: creationix: i use "npm link ." a lot for my stuff [22:40] creationix: devinus: cool, I support sproutcore, just a sec... [22:40] creationix: ACTION codes furiously [22:41] technoweenie: dang, fab.js is crazy now [22:41] devinus: technoweenie: how so ? [22:41] technoweenie: ah its just way different than the last time i saw it [22:41] technoweenie: unary/binary/ternary apps, wow [22:42] devinus: ah yeah [22:42] devinus: technoweenie: personally i'm not a fan of that chainable DSL crap [22:42] devinus: it's just a pref though [22:42] technoweenie: what are you a fan of [22:43] devinus: technoweenie: minimalism. [/^\/(.*)$/, 'GET', function(match) { return 'Hi, ' + match; }] is enough for me [22:44] technoweenie: ah ok [22:51] cloudhead has joined the channel [22:51] creationix: devinus: done! [22:51] devinus: creationix: awesome! [22:53] creationix: returned objects turn into json responses and returned strings turn into html responses [22:53] isaacs: _ry: hey, when i download a tar file and write it to disk, i'm getting a lot of