[00:03] sonnym has joined the channel [00:05] tlrobinson has joined the channel [00:06] techwraith: For server side, look in server.js [00:07] techwraith: for client side, look in scripts.js [00:07] techwraith: Also, what browser are you working with? [00:13] Jezek: me? [00:13] techwraith: jezek yep [00:13] Jezek: oh sorry i got it working, didnt know i needed a callback in the server code [00:16] tlrobinson_ has joined the channel [00:18] techwraith: Yep :) [00:18] techwraith: Glad to hear you got it working :) [00:20] hornairs has joined the channel [00:20] eponym has joined the channel [00:21] tlrobinson has joined the channel [00:21] allengeorge has joined the channel [00:22] eponym: I'm trying to follow along with this tutorial on couchdb and haml (http://www.robsearles.com/2010/05/28/nodejs-tutorial-with-couchdb-and-haml-erdnodeflips/) but I'm running into the same error as the last commenter: SyntaxError, unexpected token...fail. [00:22] eponym: Does anyone know how I might fix it? [00:23] ashleyde1 has joined the channel [00:23] roberthahn has joined the channel [00:24] roberthahn: hey everybody! [00:24] roberthahn: hi, pHcF, were you able to make progress since last night? [00:25] pHcF: hey roberthahn! [00:25] pHcF: yeah, i'm starting to get it working asynchronously [00:25] pHcF: with events [00:25] pHcF: :) [00:26] pHcF: but it is not working properly yet [00:26] roberthahn: that sounds interesting! What's the context for your problem anyway? I'm having trouble imagining what async operation you'd want to do in a helper/view context… [00:28] pHcF: roberthahn: a blog system with plugins [00:28] hdon: how does tty.open() work? i want to do something like forkpty() [00:28] pHcF: the async operations are for plugins :) [00:28] pHcF: like to get twitter stuff [00:28] pHcF: and performing http requests [00:28] roberthahn: oic [00:29] roberthahn: pHcF: I think I'd still want to keep that in the controller logic, but i'd design my controllers such that they end up being wrapped in a larger function [00:29] pHcF: roberthahn: hmm [00:29] pHcF: yeah [00:30] isaacs has joined the channel [00:30] roberthahn: that function would then call a before() method and an after() method, which could be the integration points for your plugin [00:30] pHcF: i have an express helper that fires an event to perform async stuff [00:30] roberthahn: *plugins [00:30] pHcF: well, if you can write some code, send me a pull request on http://github.com/pedrofranceschi/blogoe [00:30] pHcF: https://github.com/pedrofranceschi/Blogode [00:31] roberthahn: second link works, thanks :) [00:31] jherdman has joined the channel [00:32] castral has left the channel [00:32] roberthahn: when I work with mvc frameworks, I like to make my C as light as possible, but I also want it to be responsible for gathering together all the data I need in one place before passing it all into he V [00:37] banjiewen has joined the channel [00:38] tlrobinson has joined the channel [00:39] ben_alman has joined the channel [00:39] roberthahn: pHcF: how were you imagining people to add and configure plugins exactly? [00:41] boaz has joined the channel [00:41] pHcF: roberthahn: just a moment [00:42] roberthahn: sure, pHcF [00:42] siculars has joined the channel [00:42] siculars has joined the channel [00:45] ybit has joined the channel [00:51] postwait has joined the channel [00:53] isaacs: ryah: ping [00:54] creationix: my msgpack implementation fails! http://pastie.org/1374780 [00:54] creationix: I wonder why it's so much slower, it's pretty simple code [00:55] Jeffrey_ has joined the channel [00:56] themiddleman has joined the channel [00:57] sudarshanbhat has joined the channel [00:58] Jeffrey_: I am creating a client in node.js using net.Stream. I have a problem though, the first time I call write() after a connect event, it actually sends the data(I get a drain event a instant later). The next time I call write() it doesn't write, and I have setNoDelay(). How can I force the sending of what I write()? [00:58] sudarshanbhat has left the channel [01:02] zentoooo has joined the channel [01:03] creationix: Jeffrey_: does it send eventually? [01:04] jewgonewild has joined the channel [01:04] Jeffrey_: Well I have waited about 5 minutes and I still did not get a drain event or a message back from the server. [01:04] creationix: not sure [01:05] creationix has left the channel [01:06] tlrobinson has joined the channel [01:07] tlrobinson has joined the channel [01:09] ossareh has joined the channel [01:11] mjr_: Jeffrey_: are you sure it is being read on the other end? If the other end's TCP doesn't ACK, sending node might not be able to send. [01:11] sudoer has joined the channel [01:11] softdrink has joined the channel [01:11] arrty has joined the channel [01:12] cloudhead has joined the channel [01:13] Jeffrey_: mjr_: Well I don't think node.js is sending any of my data after the first write(), because I am required to respond to heartbeats the server sends out and I have a on('data') handler handling responding to the heartbeats and I never see a 'drain' event. The drain event is essentially saying that the entire write buffer is empty... Correct? [01:14] mjr_: drain event means the socket is writeable again. [01:14] mjr_: Which will only happen after the write queue has been sent. [01:15] mjr_: The most common reason for this is that the remote end is not reading from its socket. [01:16] mjr_: You could confirm this with tcpdump or whatever. [01:16] Jeffrey_: Ok so technically I shouldn't see a drain event after every write(), but its weird because on('connect') I write() the login packet and it sends immediately and I get a drain event right after, and sure enough the next write()s do not emit a drain even... Yeah I am going to go try it out real quick. [01:16] mjr_: oh, you don't get a drain event after EVERY write [01:16] mjr_: Only after write returns false. [01:17] Jeffrey_: Ok. Cool thanks I am going to try it out real quick.... [01:19] Durl has joined the channel [01:23] Aria has joined the channel [01:24] EGreg has joined the channel [01:27] shlainn has joined the channel [01:27] shlainn: hi all [01:28] shlainn: short question does node.js have a function similar to pack/unpack from PHP? [01:30] saikat has joined the channel [01:30] slaskis has joined the channel [01:30] dnolen has joined the channel [01:31] megana has joined the channel [01:34] Alex-SF has joined the channel [01:36] strmpnk has joined the channel [01:36] slaskis has joined the channel [01:38] emerleite has joined the channel [01:39] tim_smart has joined the channel [01:39] saikat has joined the channel [01:41] megana has left the channel [01:46] slaskis has joined the channel [01:48] Wyverald has joined the channel [01:51] jashkenas: has anyone taken a look at the "Yacc is dead" paper? http://arxiv.org/pdf/1010.5023v1 [01:51] mscdex: shlainn: not yet, i've just been doing the bit shifting manually [01:51] shlainn: mscdex: thx [01:52] Wyverald: I think I bookmarked that about a week ago... [01:52] jashkenas: Their speed results for hundreds of thousands of tokens sound sorta interesting, as does their general pragmatic approach. [01:52] jashkenas: I was wondering if anyone has tried to port the Scala parser to JS yet... [01:52] jashkenas: http://www.ucombinator.org/projects/parsing/Parser.scala [01:53] jashkenas: lazy-computing suffixes, matching the possible parses, and picking the longest match. [01:54] mscdex: what do i get for spotting a misspelling in that pdf? [01:54] mscdex: :p [01:55] jashkenas: I wish the code was commented ... I don't quite get what Eps vs. Emp vs. EqT classes are. [01:56] ryah: apparently we're going to have a live feed from node camp all day tomorrow [01:56] ryah: maybe even with a slide channel [01:56] ryah: videos will also be up online (after a bit of postproduction) by the end of the week [01:57] jashkenas: what time is the first talk going to be? [01:57] ryah: 9am PST [01:57] jashkenas: thanks. [01:57] eponym has joined the channel [02:00] jchris has joined the channel [02:01] langworthy_ has joined the channel [02:04] deepthawtz has joined the channel [02:06] slaskis has joined the channel [02:08] cloudhead: is there a way to check if stdout is a file, or a tty? [02:12] stephenjudkins has joined the channel [02:13] aguynamedben has joined the channel [02:13] edwardchuajh has joined the channel [02:14] aconbere has joined the channel [02:14] Jezek: anyone know how to broadcast a message from socket.io to all the connected users [02:14] mscdex: cloudhead: require('tty').isatty() [02:15] cardona507 has joined the channel [02:16] Jezek: i tried client.broadcast [02:16] Jezek: nvm might have got it now [02:17] whyme has joined the channel [02:18] cloudhead: mscdex: thanks, that's what I was looking for [02:22] ossareh has joined the channel [02:25] airportyh has joined the channel [02:25] Jezek: socket.io is the worst application ever [02:25] mikeal: ryah: just replied to your email [02:25] ShiZWeaK: Jezek: why is that? [02:27] Jezek: impossible to setup [02:28] SubStack: ? [02:28] SubStack: it's actually pretty easy now [02:28] ShiZWeaK: exactly my thoughts, I think its great [02:28] SubStack: you even get a default route for the client source [02:31] JusticeFries has joined the channel [02:32] cnus8n has joined the channel [02:33] Jezek: maybe im missing something [02:33] Jezek: trying to send a message to all connected users [02:33] Jezek: http://pastebin.com/ZnZMEEkU [02:34] Jezek: http://pastebin.com/a0PwG16u [02:34] softdrink: if i have a rest api, and i request http://foo.com/project/abc and project with id 'abc' does not exist, is it better to return a 404, null, error....? [02:34] jashkenas: That's what 404 is for. [02:37] softdrink: should i send back {error: 'not found'} or similar in the body of the response? [02:37] InsDel has joined the channel [02:37] ossareh has joined the channel [02:42] sh1mmer has joined the channel [02:42] allengeorge has joined the channel [02:43] inimino: softdrink ⋱ An HTML response body is typical. [02:43] ossareh has joined the channel [02:57] TheEmpath has joined the channel [02:58] TheEmpath: im at a loss... exports in this module simply isn't working [02:58] TheEmpath: https://gist.github.com/739946 [02:59] Jezek: nothing works [03:00] whyme: TheEmpath: you can't use module.exports and exports in a same file [03:00] whyme: pick one and stick to it [03:00] xla has joined the channel [03:00] TheEmpath: aww damn it [03:00] TheEmpath: i am [03:00] robotarmy has joined the channel [03:00] TheEmpath: thank you [03:00] whyme: np [03:00] jchris1 has joined the channel [03:06] wilmoore has joined the channel [03:06] jashkenas has joined the channel [03:11] siculars has joined the channel [03:13] jakehow has joined the channel [03:14] gilesgoatboy has joined the channel [03:14] hornairs has joined the channel [03:18] wasabist has joined the channel [03:20] sgharms has joined the channel [03:27] Wyverald has joined the channel [03:29] sgharms: we are studying node in san francisco [03:31] andrehjr has joined the channel [03:34] sh1mmer has joined the channel [03:36] ShinMei has joined the channel [03:38] mikeal has joined the channel [03:38] chrischris has joined the channel [03:39] twoism has joined the channel [03:39] arpegius has joined the channel [03:41] techwraith has left the channel [03:42] comster: ouu, I'm excited for some Node learning tomorrow... can't wait for any stream / vids to come my way. [03:42] sh1mmer has joined the channel [03:43] jakehow has joined the channel [03:46] langworthy has joined the channel [03:47] kenbolton has joined the channel [03:47] shajith_ has joined the channel [03:47] sriley has joined the channel [03:47] mattcodes has joined the channel [03:48] mattcodes: is there a way to control the formatting/indentation of Jade (use with Express), so its prettified (not 1 big line) [03:50] Wyverald has joined the channel [03:53] slaskis has joined the channel [04:00] quest88 has joined the channel [04:01] quest88 has joined the channel [04:03] mbrochh has joined the channel [04:05] creationix has joined the channel [04:05] creationix has left the channel [04:07] max_ has joined the channel [04:08] AAA_awright: How many nested functions can everyone tolerate working with before they just think the programmer is just crazy? [04:08] edwardchuajh: 3? [04:09] zentoooo has joined the channel [04:09] rchavik has joined the channel [04:10] AAA_awright: At the very worst, I have a function factory defined inside a function inside a function inside a function/object [04:10] dipser has joined the channel [04:11] AAA_awright: ... nah that's not crazy, that's closures being awesome [04:12] sh1m has joined the channel [04:14] kuatto has joined the channel [04:15] BillyBreen has joined the channel [04:17] msilverman2 has joined the channel [04:22] joemccann has joined the channel [04:22] matt_c has joined the channel [04:22] joemccann: oi! [04:23] joemccann: npm still hates me [04:23] joemccann: can't ever seem to update on my linux box [04:23] isaacs has joined the channel [04:24] Aria: Permissions? [04:24] joemccann: Aria, no...npm telling me a file doesn't exist [04:24] isaacs: joemccann: what's the issue? [04:24] Aria: Which? [04:24] joemccann: when attempting to run [04:24] isaacs: ACTION heads for the log... [04:25] joemccann: isaacs: https://gist.github.com/739998 [04:26] joemccann: isaacs: is there quick way to completely wipe npm? [04:26] ShiZWeaK: joemccann: OS? [04:26] isaacs: joemccann: rm -rf /usr/local/lib/node/{.npm/,}npm* [04:27] isaacs: joemccann: rm -rf {$(npm config get binroot),$(npm config get root)}/{.npm/,}npm* [04:27] isaacs: more complete^ [04:27] isaacs: or just rm -rf /usr/local/{bin,lib/node}/{.npm/,}npm* [04:28] joemccann: isaacs: cool thx...gonna try curling/install again [04:28] isaacs: sure [04:29] joemccann: isaacs: so using: curl http://npmjs.org/install.sh | sh [04:29] joemccann: isaacs: install 0.2.12-1 [04:29] joemccann: is the latest? [04:30] isaacs: joemccann: yes [04:30] joemccann: ok cool [04:30] isaacs: yikes, 0.2.4-1 [04:30] isaacs: that's old [04:31] isaacs: sorry, seems like some old version of npm was misbehaving. [04:31] isaacs: that does happen less and less these days [04:32] joemccann: so, wait 0.2.12-1 is NOT the latest? [04:32] isaacs: it is [04:32] isaacs: but hte problem was removing a file from 0.2.4-1 [04:32] isaacs: (in the gist) [04:32] joemccann: right [04:33] joemccann: isaacs: -bash: /usr/bin/npm: No such file or directory [04:33] isaacs: joemccann: whu? [04:33] joemccann: yeah [04:33] joemccann: wtf right [04:33] isaacs: why is it looking for /usr/bin/npm? [04:33] isaacs: ls -laF /usr/bin/npm [04:33] jacobolus has joined the channel [04:33] isaacs: maybe you installed it in /usr/bin once upon a time, and now it's the first thing found in your PATH? [04:34] joemccann: isaacs: i think so bc now it is saying there's no such directory at '/usr/bin/npm' [04:35] isaacs: ok [04:35] isaacs: here, just for kicks, try this: locate npm [04:36] joemccann: locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory [04:36] joemccann: which npm -> /usr/local/bin/npm [04:36] joemccann: so it's looking in the wrong spot [04:36] isaacs: wait, what's the "wrong spot"? [04:36] kawaz_h has joined the channel [04:37] isaacs: (also, looks like you don't have locatedb setup on that machine. no matter.) [04:37] joemccann: isaacs: yeah i don't have it setup [04:38] joemccann: isaacs: when i call "npm install connect" for example it is not looking in the right directory [04:38] joemccann: for npm [04:38] pquerna_ has joined the channel [04:38] isaacs: that's odd [04:38] isaacs: what's npm config ls output? [04:38] joemccann: can't do "npm config" [04:38] joemccann: because [04:38] joemccann: npm is not there [04:38] isaacs: please gist the whole output [04:39] joemccann: -bash: /usr/bin/npm: No such file or directory [04:39] isaacs: see, that's really odd [04:39] isaacs: source your profile or log out and back it [04:39] isaacs: *in [04:39] Aria: hash -r [04:39] isaacs: it's caching the `which` result. [04:39] Aria: That clears the cache [04:39] isaacs: or that [04:39] isaacs: Aria: nice, i knew there was a command to do it, but cba to look it up [04:40] isaacs: thanks [04:40] joemccann: logged out and in [04:40] joemccann: then which npm [04:40] dantaliz1ng has joined the channel [04:40] papyroma1cer has joined the channel [04:40] boaz has joined the channel [04:40] mlu_ has joined the channel [04:40] beppu_ has joined the channel [04:40] whyme_ has joined the channel [04:40] wattz_ has joined the channel [04:40] Epelii has joined the channel [04:40] sefton_ has joined the channel [04:40] sth_ has joined the channel [04:41] vilhonen has joined the channel [04:41] joemccann has left the channel [04:41] joemccann has joined the channel [04:42] joeshaw___ has joined the channel [04:54] Lorentz has joined the channel [04:54] Prometheus has joined the channel [04:54] vileda has joined the channel [04:54] persson has joined the channel [04:54] wao has joined the channel [04:54] johan_bouveng has joined the channel [04:54] adamholt has joined the channel [04:54] rbranson has joined the channel [04:54] L_star has joined the channel [04:54] BHSPitMo1kay has joined the channel [04:54] s0enke has joined the channel [04:54] Chepra has joined the channel [04:54] mape has joined the channel [04:54] SubStack has joined the channel [04:54] Gregor has joined the channel [04:54] ollie has joined the channel [04:54] DoNaLd` has joined the channel [04:54] thorsteinsson has joined the channel [04:54] devinus has joined the channel [04:54] fuzzy_ has joined the channel [04:54] jesusabdullah has joined the channel [04:54] tapwater has joined the channel [04:54] mr_daniel has joined the channel [04:54] max_ has joined the channel [04:54] beppu_ has joined the channel [04:54] wdperson has joined the channel [04:54] ruxkor_ has joined the channel [04:54] zentoooo_ has joined the channel [04:55] sh1m has joined the channel [04:55] joemccann has joined the channel [04:55] Epelii has joined the channel [04:55] mlu_ has joined the channel [04:55] robotarmy has joined the channel [04:55] xla has joined the channel [04:55] Aria has joined the channel [04:55] jherdman has joined the channel [04:55] eee_c has joined the channel [04:55] beawesomeinstead has joined the channel [04:55] zum has joined the channel [04:55] skohorn has joined the channel [04:55] tprice has joined the channel [04:55] MrNibbles has joined the channel [04:55] kgf has joined the channel [04:55] sideshow has joined the channel [04:55] 5EXABW7P1 has joined the channel [04:55] cloudhead has joined the channel [04:55] T-Co has joined the channel [04:55] malkomalko has joined the channel [04:55] CIA-1 has joined the channel [04:55] ircretary has joined the channel [04:55] tg has joined the channel [04:55] TomSlick` has joined the channel [04:55] zemanel has joined the channel [04:55] almaisan` has joined the channel [04:55] __sri has joined the channel [04:55] Roelven_ has joined the channel [04:55] Kami_ has joined the channel [04:55] jakob has joined the channel [04:55] guybrush has joined the channel [04:55] jashkenas-work_ has joined the channel [04:55] Pilate has joined the channel [04:55] coffeecup has joined the channel [04:55] langworthy has joined the channel [04:55] jakehow has joined the channel [04:55] ShinMei has joined the channel [04:55] hornairs has joined the channel [04:55] Phyllio has joined the channel [04:55] alek_br has joined the channel [04:55] marienz has joined the channel [04:55] rwaldron has joined the channel [04:55] jan____ has joined the channel [04:55] jvolkman-work has joined the channel [04:55] webben has joined the channel [04:55] matt_c has joined the channel [04:55] jchris1 has joined the channel [04:55] Durl has joined the channel [04:55] Jeffrey_ has joined the channel [04:55] Jezek has joined the channel [04:55] Aikar has joined the channel [04:55] paparent has joined the channel [04:55] jmpe has joined the channel [04:55] AAA_awright has joined the channel [04:55] freeformz has joined the channel [04:55] aconran has joined the channel [04:55] tanepiper has joined the channel [04:55] franck34 has joined the channel [04:55] zedas has joined the channel [04:55] Mulleteer has joined the channel [04:55] rudebwoy has joined the channel [04:55] bruse has joined the channel [04:55] kloeri has joined the channel [04:55] phiggins has joined the channel [04:55] dispalt has joined the channel [04:55] jwm has joined the channel [04:55] sid3k has joined the channel [04:55] kawaz_h has joined the channel [04:55] shajith has joined the channel [04:55] v8bot has joined the channel [04:55] geeks_bot has joined the channel [04:55] justinlilly has joined the channel [04:55] morgabra has joined the channel [04:55] doffm has joined the channel [04:55] hober has joined the channel [04:55] mde has joined the channel [04:55] MaSch has joined the channel [04:55] disq has joined the channel [04:55] case__ has joined the channel [04:55] joeshaw has joined the channel [04:55] bengl has joined the channel [04:55] zhware has joined the channel [04:56] PyroPeter has joined the channel [04:56] alloc has joined the channel [04:56] rauchg_ has joined the channel [04:56] jperras` has joined the channel [04:56] whyme_ has joined the channel [04:56] dantaliz1ng has joined the channel [04:56] mikeal has joined the channel [04:56] aconbere has joined the channel [04:56] aguynamedben has joined the channel [04:56] ShiZWeaK has joined the channel [04:56] jspiros has joined the channel [04:56] micheil has joined the channel [04:56] rmurphey has joined the channel [04:56] dioxide has joined the channel [04:56] Ezku\ has joined the channel [04:56] cognominal has joined the channel [04:56] ryan[WIN] has joined the channel [04:56] blowery has joined the channel [04:56] rednul has joined the channel [04:56] gkatsev has joined the channel [04:56] SvenDowideit has joined the channel [04:56] bpadalino has joined the channel [04:56] tswicegood has joined the channel [04:56] Hadaka has joined the channel [04:56] halfhalo has joined the channel [04:56] isaacs has joined the channel [04:56] zhesto__ has joined the channel [04:56] statik` has joined the channel [04:56] comster1 has joined the channel [04:56] wasabist has joined the channel [04:56] 45PABJ9SI has joined the channel [04:56] jarfhy_ has joined the channel [04:56] themiddleman_ has joined the channel [04:56] ddollar` has joined the channel [04:56] siculars has joined the channel [04:56] vilhonen has joined the channel [04:56] sth_ has joined the channel [04:56] sefton_ has joined the channel [04:56] wattz_ has joined the channel [04:56] boaz has joined the channel [04:56] papyroma1cer has joined the channel [04:56] pquerna_ has joined the channel [04:56] kuatto has joined the channel [04:56] dipser has joined the channel [04:56] rchavik has joined the channel [04:56] mbrochh has joined the channel [04:56] Wyverald has joined the channel [04:56] twoism has joined the channel [04:56] chrischris has joined the channel [04:56] andrehjr has joined the channel [04:56] wilmoore has joined the channel [04:56] TheEmpath has joined the channel [04:56] JusticeFries has joined the channel [04:56] edwardchuajh has joined the channel [04:56] dnolen has joined the channel [04:56] EGreg has joined the channel [04:56] arrty has joined the channel [04:56] softdrink has joined the channel [04:56] sudoer has joined the channel [04:56] postwait has joined the channel [04:56] ybit has joined the channel [04:56] ben_alman has joined the channel [04:56] sonnym has joined the channel [04:56] derferman has joined the channel [04:56] mikew3c has joined the channel [04:56] cafesofie has joined the channel [04:56] unomi has joined the channel [04:56] sepehr has joined the channel [04:56] namelessnotion has joined the channel [04:56] [[zz]] has joined the channel [04:56] felixge has joined the channel [04:56] nefD has joined the channel [04:56] HAITI has joined the channel [04:56] Yuffster_ has joined the channel [04:56] bartt has joined the channel [04:56] Vertice has joined the channel [04:56] sveisvei has joined the channel [04:56] jonaslund has joined the channel [04:56] aurynn has joined the channel [04:56] rwaldron_ has joined the channel [04:56] beta_ has joined the channel [04:56] nonnikcam has joined the channel [04:56] christophsturm has joined the channel [04:56] mohiam has joined the channel [04:56] zorzar_ has joined the channel [04:56] caligula has joined the channel [04:56] killfill has joined the channel [04:56] hassox has joined the channel [04:56] Blink7 has joined the channel [04:56] sivy has joined the channel [04:56] sugardave has joined the channel [04:56] Sami_ZzZ has joined the channel [04:56] Twelve-60 has joined the channel [04:56] thebigbad has joined the channel [04:56] ashleydev has joined the channel [04:56] nlacasse has joined the channel [04:56] yonkeltron has joined the channel [04:56] er1c_ has joined the channel [04:56] rajab has joined the channel [04:56] chewbran1a has joined the channel [04:56] pekim has joined the channel [04:56] mqt has joined the channel [04:56] lmorchard has joined the channel [04:56] bluegene has joined the channel [04:56] eirikur has joined the channel [04:56] Guest52176 has joined the channel [04:56] naneau has joined the channel [04:56] izz has joined the channel [04:56] peutetre has joined the channel [04:56] siong1987_ has joined the channel [04:56] viirya has joined the channel [04:56] mif86 has joined the channel [04:56] Connorhd has joined the channel [04:56] drudge has joined the channel [04:56] achristianson has joined the channel [04:56] wink_ has joined the channel [04:56] nihique has joined the channel [04:56] termie has joined the channel [04:56] kawaz_wo_ has joined the channel [04:56] elijah-mbp has joined the channel [04:56] yrashk has joined the channel [04:56] Tobias| has joined the channel [04:56] Atmoz has joined the channel [04:56] Moominpapa has joined the channel [04:56] jb55 has joined the channel [04:56] gwoo has joined the channel [04:56] hdon has joined the channel [04:56] CyberTF2k4__ has joined the channel [04:56] iFire has joined the channel [04:56] broquaint has joined the channel [04:56] MrWarGames has joined the channel [04:56] sorl_work has joined the channel [04:56] r00s has joined the channel [04:56] ryah has joined the channel [04:56] slickplaid has joined the channel [04:56] Nevtus has joined the channel [04:56] janne has joined the channel [04:56] stalled has joined the channel [04:56] circut has joined the channel [04:56] pzich has joined the channel [04:56] Draggor has joined the channel [04:56] sandymahalo has joined the channel [04:56] scoates has joined the channel [04:56] nail_ has joined the channel [04:56] mscdex has joined the channel [04:56] inimino has joined the channel [04:56] keeran has joined the channel [04:56] zmack has joined the channel [04:56] huehnts has joined the channel [04:56] frode has joined the channel [04:56] dnyy has joined the channel [04:56] frodenius has joined the channel [04:56] m3nt0r^aw has joined the channel [04:56] thecoon has joined the channel [04:56] sitron has joined the channel [04:56] polyrhythmic has joined the channel [04:56] KyleXY has joined the channel [04:56] crodas has joined the channel [04:56] kkaefer has joined the channel [04:56] voodootikigod has joined the channel [04:56] MikeW has joined the channel [04:56] shachaf has joined the channel [04:56] olegp has joined the channel [04:56] deoxxa has joined the channel [04:56] cainus__ has joined the channel [04:56] maru_cc_ has joined the channel [04:56] Mikushi2 has joined the channel [04:56] slpsys has joined the channel [04:56] mcarter__ has joined the channel [04:56] FMJaggy has joined the channel [04:56] ebi has joined the channel [04:56] wang has joined the channel [04:56] konobi has joined the channel [04:56] rphillips has joined the channel [04:56] chrisdickinson has joined the channel [04:56] Nacho has joined the channel [04:56] tailr has joined the channel [04:56] meder has joined the channel [04:56] temp01 has joined the channel [04:56] rubydiamond has joined the channel [04:56] themcgruff has joined the channel [04:56] ashb has joined the channel [04:56] chilts_ has joined the channel [04:56] russell_h has joined the channel [04:56] inarru has joined the channel [04:56] shaver has joined the channel [04:56] mgc has joined the channel [04:56] tk has joined the channel [04:56] steadicat has joined the channel [04:56] walkah has joined the channel [04:56] lianj has joined the channel [04:56] joshthecoder has joined the channel [04:56] zentooo has joined the channel [04:56] JCS0 has joined the channel [04:56] brianc has joined the channel [04:56] wereHamster has joined the channel [04:56] roger_raymond has joined the channel [04:56] sadiq has joined the channel [04:56] Noya_ has joined the channel [04:56] cyraxx has joined the channel [04:56] _alex has joined the channel [04:56] adrienf_ has joined the channel [04:56] Sembiance has joined the channel [04:56] chapel has joined the channel [04:56] lstoll has joined the channel [04:56] xmux has joined the channel [04:56] mlangenberg has joined the channel [04:56] mediacod1r has joined the channel [04:56] cce has joined the channel [04:56] DoubleV has joined the channel [04:56] thedjinn has joined the channel [04:56] elliottcable has joined the channel [04:56] rauchg_ has joined the channel [04:56] joshpeek_ has joined the channel [04:56] sstephenson_ has joined the channel [04:56] mrkurt_ has joined the channel [04:56] joshpeek_ has joined the channel [04:56] sstephenson_ has joined the channel [04:56] mrkurt_ has joined the channel [04:56] jashkenas-work_ has joined the channel [04:56] tocho-san has joined the channel [04:56] joeshaw___ has joined the channel [04:56] tocho-san has joined the channel [04:56] Kami_ has joined the channel [04:57] splashs has joined the channel [04:57] sechrist has joined the channel [04:58] frode__ has joined the channel [04:58] isaacs has joined the channel [04:58] zhesto__ has joined the channel [04:58] statik` has joined the channel [04:58] comster1 has joined the channel [04:58] wasabist has joined the channel [04:58] 45PABJ9SI has joined the channel [04:58] jarfhy_ has joined the channel [04:58] themiddleman_ has joined the channel [04:58] ddollar` has joined the channel [04:58] siculars has joined the channel [04:58] vilhonen has joined the channel [04:58] sth_ has joined the channel [04:58] sefton_ has joined the channel [04:58] wattz_ has joined the channel [04:58] boaz has joined the channel [04:58] papyroma1cer has joined the channel [04:58] pquerna_ has joined the channel [04:58] kuatto has joined the channel [04:58] dipser has joined the channel [04:58] rchavik has joined the channel [04:58] mbrochh has joined the channel [04:58] Wyverald has joined the channel [04:58] twoism has joined the channel [04:58] chrischris has joined the channel [04:58] andrehjr has joined the channel [04:58] wilmoore has joined the channel [04:58] TheEmpath has joined the channel [04:58] JusticeFries has joined the channel [04:58] edwardchuajh has joined the channel [04:58] dnolen has joined the channel [04:58] EGreg has joined the channel [04:58] arrty has joined the channel [04:58] sudoer has joined the channel [04:58] postwait has joined the channel [04:58] ybit has joined the channel [04:58] ben_alman has joined the channel [04:58] sonnym has joined the channel [04:58] derferman has joined the channel [04:58] mikew3c has joined the channel [04:58] cafesofie has joined the channel [04:58] unomi has joined the channel [04:58] sepehr has joined the channel [04:58] namelessnotion has joined the channel [04:58] [[zz]] has joined the channel [04:58] felixge has joined the channel [04:58] nefD has joined the channel [04:58] HAITI has joined the channel [04:58] Yuffster_ has joined the channel [04:58] bartt has joined the channel [04:58] Vertice has joined the channel [04:58] sveisvei has joined the channel [04:58] jonaslund has joined the channel [04:58] aurynn has joined the channel [04:58] rwaldron_ has joined the channel [04:58] beta_ has joined the channel [04:58] nonnikcam has joined the channel [04:58] christophsturm has joined the channel [04:58] mohiam has joined the channel [04:58] zorzar_ has joined the channel [04:58] caligula has joined the channel [04:58] killfill has joined the channel [04:58] hassox has joined the channel [04:58] Blink7 has joined the channel [04:58] sugardave has joined the channel [04:58] Sami_ZzZ has joined the channel [04:58] Twelve-60 has joined the channel [04:58] thebigbad has joined the channel [04:58] ashleydev has joined the channel [04:58] nlacasse has joined the channel [04:58] yonkeltron has joined the channel [04:58] er1c_ has joined the channel [04:58] rajab has joined the channel [04:58] chewbran1a has joined the channel [04:58] pekim has joined the channel [04:58] mqt has joined the channel [04:58] lmorchard has joined the channel [04:58] bluegene has joined the channel [04:58] eirikur has joined the channel [04:58] Guest52176 has joined the channel [04:58] naneau has joined the channel [04:58] izz has joined the channel [04:58] peutetre has joined the channel [04:58] siong1987_ has joined the channel [04:58] viirya has joined the channel [04:58] mif86 has joined the channel [04:58] Connorhd has joined the channel [04:58] drudge has joined the channel [04:58] achristianson has joined the channel [04:58] wink_ has joined the channel [04:58] nihique has joined the channel [04:58] termie has joined the channel [04:58] kawaz_wo_ has joined the channel [04:58] elijah-mbp has joined the channel [04:58] yrashk has joined the channel [04:58] Tobias| has joined the channel [04:58] Atmoz has joined the channel [04:58] Moominpapa has joined the channel [04:58] jb55 has joined the channel [04:58] gwoo has joined the channel [04:58] hdon has joined the channel [04:58] CyberTF2k4__ has joined the channel [04:58] iFire has joined the channel [04:58] broquaint has joined the channel [04:58] MrWarGames has joined the channel [04:58] sorl_work has joined the channel [04:58] r00s has joined the channel [04:58] ryah has joined the channel [04:58] slickplaid has joined the channel [04:58] Nevtus has joined the channel [04:58] janne has joined the channel [04:58] stalled has joined the channel [04:58] circut has joined the channel [04:58] pzich has joined the channel [04:58] Draggor has joined the channel [04:58] sandymahalo has joined the channel [04:58] scoates has joined the channel [04:58] nail_ has joined the channel [04:58] mscdex has joined the channel [04:58] inimino has joined the channel [04:58] keeran has joined the channel [04:58] zmack has joined the channel [04:58] huehnts has joined the channel [04:58] frode has joined the channel [04:58] dnyy has joined the channel [04:58] frodenius has joined the channel [04:58] m3nt0r^aw has joined the channel [04:58] thecoon has joined the channel [04:58] sitron has joined the channel [04:58] polyrhythmic has joined the channel [04:58] KyleXY has joined the channel [04:58] crodas has joined the channel [04:58] kkaefer has joined the channel [04:58] voodootikigod has joined the channel [04:58] MikeW has joined the channel [04:58] shachaf has joined the channel [04:58] olegp has joined the channel [04:58] deoxxa has joined the channel [04:58] cainus__ has joined the channel [04:58] maru_cc_ has joined the channel [04:58] Mikushi2 has joined the channel [04:58] slpsys has joined the channel [04:58] mcarter__ has joined the channel [04:58] FMJaggy has joined the channel [04:58] ebi has joined the channel [04:58] wang has joined the channel [04:58] konobi has joined the channel [04:58] rphillips has joined the channel [04:58] chrisdickinson has joined the channel [04:58] Nacho has joined the channel [04:58] tailr has joined the channel [04:58] meder has joined the channel [04:58] temp01 has joined the channel [04:58] rubydiamond has joined the channel [04:58] themcgruff has joined the channel [04:58] ashb has joined the channel [04:58] chilts_ has joined the channel [04:58] russell_h has joined the channel [04:58] inarru has joined the channel [04:58] shaver has joined the channel [04:58] mgc has joined the channel [04:58] tk has joined the channel [04:58] steadicat has joined the channel [04:58] walkah has joined the channel [04:58] lianj has joined the channel [04:58] joshthecoder has joined the channel [04:58] zentooo has joined the channel [04:58] JCS0 has joined the channel [04:58] brianc has joined the channel [04:58] wereHamster has joined the channel [04:58] roger_raymond has joined the channel [04:58] sadiq has joined the channel [04:58] Noya_ has joined the channel [04:58] cyraxx has joined the channel [04:58] _alex has joined the channel [04:58] adrienf_ has joined the channel [04:58] Sembiance has joined the channel [04:58] chapel has joined the channel [04:58] lstoll has joined the channel [04:58] xmux has joined the channel [04:58] mlangenberg has joined the channel [04:58] mediacod1r has joined the channel [04:58] cce has joined the channel [04:58] DoubleV has joined the channel [04:58] thedjinn has joined the channel [04:58] elliottcable has joined the channel [04:58] viirya_ has joined the channel [04:58] whyme has joined the channel [04:58] mrkurt__ has joined the channel [04:58] joshpeek__ has joined the channel [04:58] sstephenson__ has joined the channel [04:59] ben_alman has joined the channel [05:01] CIA-18: node: 03Felix Geisendörfer 07master * re27418c 10/ (src/node.js test/simple/test-require-cache.js): (log message trimmed) [05:01] CIA-18: node: Prefer require.cache over native module cache [05:01] CIA-18: node: This patch changes node's module loading behavior so that the [05:01] CIA-18: node: require.cache is always the first place to consider when loading a [05:01] CIA-18: node: module. [05:01] Guest52176 has joined the channel [05:01] circut has joined the channel [05:01] m3nt0r^aw has joined the channel [05:01] creationix has joined the channel [05:01] janne has joined the channel [05:02] CIA-18: node: 03isaacs 07master * r3d0627d 10/ doc/index.html : [05:02] CIA-18: node: link windows/cygwin build to the wiki docs [05:02] CIA-18: node: Suggested by temp01 in IRC. [05:02] CIA-18: node: http://irc.npmjs.org/node.js/2010-12-12#NODE-JS-2010-12-12T18-59-36-270Z [05:02] CIA-18: node: 18:59:36 temp01: I feel like the build section on nodejs.org should link [05:02] Wyverald has joined the channel [05:02] drudge has joined the channel [05:02] chapel: isaacs << ircretary gave me my notes finally [05:02] isaacs: chapel: hooray :) [05:02] chapel: haha [05:02] jherdman_ has joined the channel [05:03] MikhX has joined the channel [05:04] micheil: fuck yeah that's awesome. [05:04] Twelve-60` has joined the channel [05:04] micheil: ACTION is going to be able to easily write a node library to control a phidget [05:04] micheil: :D [05:04] micheil: nothing like some hardware hacking with node. [05:05] ShiZWeaK: micheil what is a phidget? [05:05] ShinMei: How many opened connections can a HTTP server with NodeJS Handle ? [05:05] micheil: it's sorta like an audrino [05:05] micheil: ShinMei: heaps. [05:05] beta has joined the channel [05:06] FireFoxIXI has joined the channel [05:07] ShinMei: there is no operating system limitation (linux) about that ? [05:08] ryah: ShinMei: there is a limit on ephemeral ports [05:08] micheil: but really, when you start running out of ports, that's a barrier that any server will hit. [05:08] ryah: ShinMei: [05:08] ryah: % cat /proc/sys/net/ipv4/ip_local_port_range [05:08] ryah: 32768 61000 [05:09] pquerna_ has joined the channel [05:09] micheil: ShiZWeaK: this is what I've got running on a phidget board: http://desmond.yfrog.com/Himg610/scaled.php?tn=0&server=610&filename=z5sz.jpg&xsize=640&ysize=640 [05:09] ShinMei: ok that mean there can be 61000 - 32768 simultaneous connexion ? [05:09] tekky has joined the channel [05:09] Druide_ has joined the channel [05:10] ShinMei: ok that mean there can be 61000 - 32768 simultaneous connections ? [05:10] dgathright has joined the channel [05:10] ShiZWeaK: micheil: hah, cool - it goes red at 5PM? [05:10] micheil: not quite [05:10] micheil: goes red when a build fails [05:10] ryah: ShinMei: yes [05:11] ryah: ShinMei: per server [05:11] ShinMei: thanks ryah and micheil ! [05:12] ShiZWeaK: micheil very cool [05:12] quest88 has joined the channel [05:12] micheil: and, like, there are drivers for phidgets in heaps of languages, but not one for node, so I'm going to write that [05:14] dgathright has joined the channel [05:14] dgathright_ has joined the channel [05:15] creationix: ACTION misses dtrace [05:15] creationix: how do you profile node programs on linux? [05:15] halfhalo: ACTION gives creationix a cookie [05:15] ryah: creationix: oprofile [05:15] ryah: apparently [05:15] creationix: ACTION rejects all third-party cookies [05:15] creationix: ryah: hmm [05:15] halfhalo: ACTION eats the cookie. it was a chocolate chip one as well [05:16] creationix: ryah: I can strace, but that doesn't tell me anything useful [05:16] dgathright_ has joined the channel [05:16] ShiZWeaK: creationix: You can use node-inspector afaik [05:16] creationix: ShiZWeaK: it supports v8 profiling? [05:16] ShiZWeaK: https://github.com/dannycoates/node-inspector [05:16] ShiZWeaK: Scroll down to Profiling [05:17] dnolen has joined the channel [05:19] creationix: ShiZWeaK: oh well, only supported on node v0.3.1 [05:19] creationix: my code already runs a lot faster on 3, but I need to deploy it on 2 [05:20] isaacs has joined the channel [05:21] micheil: ryah: do we still need to use wscript for C addons to node? [05:22] ryah: yes [05:22] ShiZWeaK: creationix: shame, not sure what else is out there [05:22] boaz has joined the channel [05:22] micheil: ryah: okay. hmm, also, you'd probably like this C library I'm working with at the moment. It's all non-blocking. [05:23] micheil: and it controls hardware. [05:24] mjr_ has joined the channel [05:26] jewgonewild has joined the channel [05:26] mikew3c_ has joined the channel [05:27] davidsklar has joined the channel [05:27] sh1mmer has joined the channel [05:27] chapel: I think it would be awesome to use node for a local server monitoring app, and have it on an embedded system on a nice screen somewhere in your office [05:27] ryah: micheil: what's it called? [05:28] micheil: ryah: phidgets [05:28] micheil: CPhidget_set_OnAttach_Handler((CPhidgetHandle)ifKit, AttachHandler, NULL); [05:28] micheil: is some of the stuff in it. [05:28] Jezek: an anyone comment on the usablity of node.js for a real-time game application [05:29] micheil: Jezek: can you explain exactly what you mean by that? [05:30] Jezek: tl;dr: making a game in node.js. good idea or not? [05:30] Aria: 'sure' [05:30] ShiZWeaK: Jezek look at the node knockout apps [05:30] Jezek: none of the urls work :/ [05:31] shajith has joined the channel [05:31] creationix: hmm, the node-inspect profiler doesn't seem to work right [05:31] Jezek: so ideally it could work though? [05:31] creationix: reports everything as (program) and (gc) [05:32] creationix: but nothing in my code [05:32] Jezek: o [05:33] yozlet has joined the channel [05:33] ShiZWeaK: Jezek it could, yes [05:33] pquerna: Jezek: well, there are issues, like its hard to contorl the GC pauses [05:33] Jezek: GC? [05:34] pquerna: garbage collection [05:34] mjr_: creationix: try running the profiler manually and make sure that the tick processor reports the same thing. [05:34] Jezek: no idea [05:34] mjr_: Then you'll know if it is a V8 profiler issue or node-inspector. [05:35] stephenjudkins has joined the channel [05:35] jacobolus has joined the channel [05:35] mjr_: Jezek: Chances are that future V8's will have multi-threaded garbage collection, or that they'll come up with some clever new way to minimize GC pauses. [05:35] creationix: mjr_: yeah, that's too much work for tonight, I don't want to stay up late [05:36] deepthawtz has joined the channel [05:36] shajith has joined the channel [05:36] mjr_: lack of good profiling is really bumming me out lately as well. [05:36] mjr_: I'm hoping that someone will build the linux oprofile module for V8 and that'll reveal all. [05:36] creationix: that would be nice [05:37] ShiZWeaK: ACTION nods [05:37] Jezek: ok but right now.. hypothetically speaking, say i made the app, and 1000 users used it, would node.js be a reliable system to run the game on? (in it's current state) [05:37] creationix: I guess I could implement a stub Buffer api and profile in the browser [05:37] creationix: this particular library is mostly portable [05:37] creationix: and CPU bound [05:37] mjr_: browser profiler has the same limitations. [05:37] creationix: but I'm thinking the Buffer allocations are the meat of the problem [05:37] creationix: it's twice as fast on 0.3.1 [05:38] mjr_: fastbuffers then, eh [05:38] creationix: I guess I could use my own fastbuffer [05:38] pquerna: Jezek: i think it would be a viable choice for the server side component of a 1000 player game. [05:38] Jezek: ok [05:38] creationix: they are implementable on 0.2.x as long as you don't mind a modified api [05:38] pquerna: Jezek: it is still young, so you'll have to be willing to cut your teath though [05:38] cnus8n has joined the channel [05:38] Jezek: lol [05:38] Jezek: will it work? or what do you mean? [05:39] micheil: good damn. I need to get myself a phidgets board.. this thing is awesome. [05:39] pquerna: i think it can work. I think it wouldn't be the best thing if you aren't willing to sometimes have to patch something in the core. [05:39] pquerna: i'd say go for it, but anyways. [05:39] Jezek: oh hrm [05:39] mjr_: If you are willing to put some effort into it, the result would be awesome. [05:39] pquerna: i'll stop being a negative nancy [05:39] creationix: where was ryah's fastbuffer prototype from way back [05:39] Jezek: lol i just want to get the facts straight before trying this out [05:40] tylerstalder has joined the channel [05:40] Jezek: so you can give it to me straight [05:40] mjr_: Node is still young. It's got lots of rough edges. [05:40] creationix: Jezek: some things are easier in node, some are harder [05:40] Jezek: i see [05:40] mjr_: Overall though: pretty badass [05:40] pquerna: creationix: there is a old branch on github... but don't think that even maintained the 0.2 api [05:40] creationix: it was just a buffer pool right? [05:40] pquerna: well, there was the buffer pool thing [05:40] pquerna: we did that first [05:40] Jezek: i guess i'll try it out [05:41] pquerna: but it didn't help much, maybe 15% [05:41] creationix: pquerna: oh, it's different now [05:41] mjr_: Is it bad if it is slower on 0.2? Is that really a factor for anybody? [05:41] pquerna: killing the C++ objects made the big difference [05:41] Jezek: i want to try some kind of spy / espionage like game [05:41] creationix: mjr_: since I'm hoping this library eventually makes it to core, then by definition, it won't work for 0.2.x [05:42] creationix: mjr_: but I can use it today at work if it's fast for 0.2.x [05:42] creationix: pquerna: yeah, when I said pool, I mean one large buffer that slices get taken from in pure-js [05:43] creationix: I wish there was a fast resizable buffer object [05:44] creationix: even if it's just a wrapper around several smaller buffers [05:44] ryah: creationix: https://gist.github.com/541543 [05:45] creationix: ryah, yeah, that's the one [05:45] creationix: the stuff in node_buffer.cc is only for API sugar, right? [05:46] micheil: wow. this c api is so damn awesome :D [05:46] SubStack: creationix: what do you need resizable buffers for? [05:46] creationix: just easier to use [05:47] creationix: I'm building a message a byte or chunk of bytes at a time [05:47] creationix: but I don't know how long it will end up being [05:47] SubStack: check this out: https://github.com/substack/node-binary [05:47] pquerna: buffer.resize does seem reasonable. [05:47] pquerna: even if it might be expensive, we can optimzie later. [05:48] heckacopter1 has joined the channel [05:48] heckacopter1: this may be a horrible question, but how do i include an external js file in node.js without converting it into a module? i swear i looked through the docs for this. [05:48] creationix: pquerna: I want to be able to push and copy/write off the end of a buffer [05:48] jacobolus has joined the channel [05:49] creationix: heckacopter1: eval(fs.readFileSync(...)) [05:49] heckacopter1: creationix: thank you! makes sense. [05:49] SubStack: heckacopter1: http://nodejs.org/api.html#script-100 [05:49] creationix: or better, use the Script api and async file I/O [05:49] creationix: but that's the idea [05:49] heckacopter1: i'll check them out [05:49] heckacopter1: thanks to all [05:49] Ond has joined the channel [05:50] SubStack: creationix: if you pass a stream to binary, it buffers your async actions until enough bytes are available [05:50] creationix: so what is the fastest way to build out a protocol message a byte at a time? [05:51] creationix: SubStack: how does it work internally? [05:52] SubStack: creationix: it just has two buffers, a remainder and an active buffer [05:52] SubStack: before I wrote bufferlist which had a linked list of buffers but I found that it wasn't necessary [05:54] Dreamer3 has joined the channel [05:54] creationix: SubStack: hmm, yeah, a linked list seem overkill [05:54] SubStack: creationix: and then when buffers come in as 'data' events the module sees if it can execute any actions [05:54] creationix: but I don't want to have to copy stuff around [05:54] ossareh has joined the channel [05:54] pquerna: hmm, wasn't the last tick time on process. somewhere? [05:54] creationix: pquerna: if it was, I've never seen it [05:55] creationix: but I haven't use 0.3.x much [05:55] ryah: ACTION got oprofile working :) [05:55] dnolen has joined the channel [05:55] creationix: ryah: really? do tell [05:56] unlink has joined the channel [05:56] unlink has joined the channel [05:56] dgathright_ has joined the channel [05:56] nroot7 has joined the channel [05:57] viirya has joined the channel [05:57] unlink: There seems to be a race condition with the 'data' request event. That is, if the handler is set up too late, the request data will be missed. [05:57] SubStack: unlink: events aren't buffered [05:58] matjas has joined the channel [05:58] Aria: Hehe. That surprised me at first, too. I was thinking threaded. But until you're done setting up, the event loop doesn't run. [06:00] ajpiano has joined the channel [06:04] unlink: Right. [06:04] SubStack: weee my socks5 server and client code nearly works [06:04] ShiZWeaK: nearly? :) [06:05] SubStack: well, I have the test written mostly [06:05] SubStack: and most of the code is in place [06:05] mjr_: I can't believe that socks5 is still a thing [06:06] SubStack: useful for this particular browserling feature [06:06] mjr_: I sat next to the guy who wrote the previous socks version at NEC, and I figured socks would die completely once stateful packet inspection got fast enough. [06:06] zentoooo has joined the channel [06:06] mjr_: And SPI *is* fast enough, and yet socks5 is still in use. [06:06] mjr_: ACTION boggles [06:07] SubStack: mjr_: it's a lot more work to configure some network device or local service [06:07] SubStack: than to just update browser config [06:08] mjr_: for one-off, sure. But how many people ever change that config? [06:08] mjr_: Anyway, clearly is has a purpose, or it would have died. [06:08] ybit has joined the channel [06:08] mjr_: Hard to predict the future is all I'm saying. [06:09] tims has joined the channel [06:10] webr3 has joined the channel [06:10] jacobolus has joined the channel [06:10] sechrist has joined the channel [06:10] Epelii has joined the channel [06:10] mlu_ has joined the channel [06:10] robotarmy has joined the channel [06:10] xla has joined the channel [06:10] Aria has joined the channel [06:10] eee_c has joined the channel [06:10] beawesomeinstead has joined the channel [06:10] zum has joined the channel [06:10] skohorn has joined the channel [06:10] tprice has joined the channel [06:10] MrNibbles has joined the channel [06:10] kgf has joined the channel [06:10] sideshow has joined the channel [06:11] beawesomeinstead has joined the channel [06:12] xla has joined the channel [06:12] Aria has joined the channel [06:12] kgf has joined the channel [06:14] Zem: hello [06:15] creationix: hmm, setting a buffer's length longer than it's actual length really breaks things [06:15] ryah: http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api [06:15] ryah: ^-- new in v8 [06:15] Zem: has anyone here done ajax over https? [06:15] Zem: with node.js, of course [06:16] jarfhy has joined the channel [06:16] sriley has joined the channel [06:16] mjr_: ryah: how do you get an i18n object? It's in the global scope? [06:17] ryah: mjr_: looks like you have to enable it specially with scons [06:17] ryah: when buildin [06:17] mjr_: oh, OK. I wasn't finding any of those objects mentioned in my latest node build. [06:17] mjr_: Looks cool though [06:17] ryah: (or not...) [06:17] Zem: i have a little webchat ajax app, which works fine over plain http. when i setSecure() and run it over https, however, the ajax requests take literally minutes to resolve [06:18] CIA-18: node: 03Ryan Dahl 07master * r1d78159 10/ (98 files in 19 dirs): Upgrade V8 to 3.0.1 - http://bit.ly/eyeyze [06:18] Zem: i'm doing a 100ms timer on the clientside to work around the IE issue that it only has 2 XHRs available per site [06:18] CIA-18: node: 03Ryan Dahl 07master * r7d73779 10/ (deps/v8/SConstruct wscript): Make oprofile work - http://bit.ly/eWJ2Lj [06:18] ryah: Zem: https is broken [06:18] CIA-18: node: 03Ryan Dahl 07master * r1dad95a 10/ Makefile : Print 'make clean' commands - http://bit.ly/dGOxXs [06:18] Zem: ryah: oh, in node.js? [06:18] Zem: that would explain it i guess [06:18] ryah: Zem: yes [06:18] pquerna: ryah: cute, but the message formating stuff really seems overkill.. bleh [06:18] creationix: if node's Buffer(array) constructor fast or just API sugar [06:19] Zem: ryah: do you know what the deal is, or a timeline on getting it fixed? [06:19] Zem: i've been searching the web all over and i can't find info on it [06:19] ryah: Zem: working on it. probably by january it will be usable [06:19] pquerna: Zem: use stunnel for now [06:20] mjr_: pquerna: BTW, that stunnel patch you sent me ends up only applying the forwarded-for to the first request if that connection is kept alive. [06:20] mjr_: Which makes sense, but was surprising to me. [06:20] janne has joined the channel [06:21] creationix: hmm, making binary protocols fast is hard... [06:22] Aria: Sometimes. [06:22] creationix: so, assuming I have a callback that will be called n times (with either an integer byte value or string/buffer values)... [06:22] creationix: how do I store the results of all those callbacks into a buffer effeciently [06:22] creationix: pushing to an array and then calling new Buffer(array) works ok, but that seems like a lot of extra copying [06:22] Aria: Keep a bigger buffer, and allocate another bigger one and copy if you really need to. Then just write and keep a counter. [06:23] bingomanatee has joined the channel [06:23] pquerna: mjr_: ah good point [06:23] creationix: Aria: so double in size or something as it fills up? [06:23] mscdex: ryah: what do you think about having the node api in a descriptive json format? the docs could then be generated using this data [06:23] Aria: That's reasonable. [06:23] creationix: mscdex: json for docs? [06:23] SubStack: creationix: I wrote a node-put to do that [06:23] mscdex: creationix: yeah [06:23] Aria: Or add 128K, or something like that. [06:23] creationix: mscdex: I would think markdown much easier [06:24] SubStack: it buffers all the results until you call buffer() when it actually builds the buffer [06:24] mischief has joined the channel [06:24] Aria: The exact pattern might depend on your app. (Doubling is bad if you go from 2 to 4gb, perhaps!) [06:24] mscdex: creationix: the problem though is the markdown isn't easily parseable and is missing information still [06:24] SubStack: ACTION has done a crazy amount of binary data mangling in node [06:24] creationix: mscdex: textile is extensable [06:25] creationix: SubStack: what do you know, VM's don't have any binary, it's all text-based xml [06:25] creationix: :P [06:25] yozlet has joined the channel [06:25] Zem: well, thank you for the info, ryah :) [06:26] SubStack: creationix: well there are all these binary protocols to get data in and out of them [06:26] mscdex: creationix: not as easy as if it were in json imho [06:26] creationix: mscdex: sure, parsing is easier, but what human wants to write docs in json? [06:26] creationix: newlines aren't even allowed in text [06:26] mscdex: huh? [06:26] mscdex: \n ? [06:27] creationix: mscdex: exactely, it has to be escaped [06:27] mscdex: that's not really a problem [06:28] creationix: mscdex: writing multi-line text in json/js is the reason things like jsonml exist [06:28] creationix: people don't like having to escape white space [06:28] creationix: anyway, we could probably parse the markdown to generate json [06:28] creationix: and then use that json to power everything [06:29] mischief has joined the channel [06:30] reid has joined the channel [06:30] mscdex: you're not escaping white space, just newlines [06:31] mscdex: i dunno, i had a hard time reliably parsing the current docs [06:32] fangel has joined the channel [06:33] creationix: yeah, markdown is ill defined [06:33] creationix: regexps and all [06:33] creationix: ACTION is implementing a growing buffer [06:35] mischief has joined the channel [06:35] mscdex: it's not so much a problem parsing the structure, but parsing the content for things like return values, data types, etc [06:35] Sudhee has joined the channel [06:36] dannycoates has joined the channel [06:37] JusticeFries has joined the channel [06:44] jdalton has joined the channel [06:45] jdalton: hiya, any way to access something like chrome's high res timer (chrome.Interval) (microseconds) [06:47] devinus has joined the channel [06:47] aschw has joined the channel [06:47] mjr_: jdalton: I didn't know that Chrome had a sub-ms timer. [06:47] mjr_: There have been lots of proposals to add hi-res timers to node, and I think they always end up being slower than Date.now() [06:47] jdalton: yep [06:47] jdalton: yuck [06:48] mjr_: And then I think people stop asking for them. [06:48] jdalton: so like ringoJS (and others based on java can access a nanosecond timer) [06:48] mjr_: But I can't remember. I know I'd like them as well, so I always take notice when someone else starts that thread on the list. [06:48] jdalton: cool [06:48] jdalton: to enable benchmarking in at least Chrome 7 -> --enable-benchmarking flag [06:49] jdalton: then you will have access to chrome.Interval [06:49] saikat has joined the channel [06:49] mjr_: I think it's just hard to beat V8 at making a timestamp. [06:49] ryah: mscdex: i like markdown [06:49] jacobolus has joined the channel [06:50] sechrist: http://techspot.zzzeek.org/files/2010/sqla_070b1_large.png [06:50] sechrist: I want one of these for v8 :] [06:50] Phyllio_ has joined the channel [06:50] jdalton: mjr_: http://codereview.chromium.org/3126029/patch/24001/3004 [06:50] jdalton: its just that timestamps only go to 1ms [06:51] jdalton: so for greater precision u would need the high res timer [06:51] mjr_: I wonder why they need to patch V8. [06:51] mjr_: Like, why wouldn't V8 just include that? [06:51] Jezek: hrm [06:52] jdalton: it used to be a chromium thang [06:52] jdalton: then they exposed it to chrome [06:52] Jezek: i wish any of that code made sense to me [06:52] jdalton: ok so another queston -> what do yall use to parse the node.js docs (it looks like githubs md render and I like it) [06:53] creationix: wohoo, got my msgpack serializer only 110% as slow as the strtok based one [06:54] creationix: still about twice as slow as JSON.stringify though [06:54] CrypticSwarm has joined the channel [06:54] jameshome has joined the channel [06:55] creationix: jdalton: possibly showdown, I don't remember what we decided on [06:55] creationix: a quick peek in the make file should tell you though [06:55] sechrist: creationix: I do binary marshalling with one of substack's modules.. can these be made more efficient? https://github.com/substack/node-bufferlist/blob/master/lib/binary.js#L406-439 [06:55] creationix: sechrist: not sure [06:56] creationix: I'm still amazed at the things that don't hurt performance and the things that do [06:56] Aria: Me too. [06:56] sechrist: Are you doing cstructs in a cpp or are you marshalling in js? [06:56] creationix: I'm using pure js [06:56] derren13 has joined the channel [06:56] creationix: trying to avoid the C++ <-> JS bridge [06:56] creationix: though msgpack is highly optimized for c [06:56] sechrist: Did the new JIT give any real performance gains? [06:56] SubStack: sechrist: I would guess that Math.pow could probably best be done with some bitshifting [06:57] SubStack: but << behaves really strangely so I haven't bothered yet [06:57] jdalton: creationix: thanx found it [06:57] creationix: try converting a number into the proper 8 integers that are the IEE double [06:57] sriley has joined the channel [06:57] jameshome has left the channel [06:57] SubStack: oh I could *= 256 [06:57] Throlkim has joined the channel [06:57] sechrist: must bench [06:57] creationix: SubStack: << >>, and especially >>> are awesome when they fit your case [06:57] creationix: but, yes, they typecast stuff [06:58] creationix: and limit the size of the number too [06:58] SubStack: sechrist: more benchmarks for perf/ would be highly excellent [06:58] creationix: considering I haven't been able to beat pgreis's strtok library, I hereby deem is awesome code [06:59] creationix: still, I hope we can do better in pure js [07:00] sechrist: this just in [07:00] sechrist: v8 faster than c++ [07:00] sechrist: sound the alarms [07:00] mjr_: I think we can once we can speed up the JS access to buffers. [07:01] creationix: mjr_: I think since most binary protocols need things like UINT32_LE and DOUBLE, node could help a lot by implementing those in C and exposing them in a fast way [07:01] creationix: probably as methods to buffers [07:03] jdalton: speaking of benchmarks... [07:03] creationix: Buffer.prototype.writeUint32LE(num, offset) Buffer.prototype.readUint32LE(offset) [07:03] creationix: etc... [07:03] jdalton: bout to add Node.js, RingoJS, Narwhal, and Rhino support to benchmark.js (powers jsperf) [07:03] sechrist: wow storage wars is pretty interesting [07:03] sechrist: I need to stop programming and get into this [07:04] Jezek: what? [07:04] sechrist: when people default on their storage units [07:04] mscdex: little endian! [07:04] mscdex: ACTION shakes a fist [07:04] sechrist: they get auctioned off [07:04] Jezek: lol [07:04] sechrist: and people buy them and sell the stuff [07:04] Jezek: nice [07:05] aschw has joined the channel [07:05] themiddleman has joined the channel [07:05] pquerna: so like how many terabytes on average? [07:05] pquerna: i've always wanted a 40u tape transfer robot thing in my cloest [07:06] mjr_: pquerna: you are hilarious [07:06] aguynamedben has joined the channel [07:07] mjr_: also, in 10 years, that storage robot will be in someone's defaulted storage unit, so it'll come full circle. [07:07] sechrist: hahaha [07:09] creationix: Again, I come back to this proposal https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/TypedArray-spec.html [07:09] creationix: especially the last part [07:09] creationix: not so much interested in arrays of uniform data types [07:09] creationix: look for DataView [07:09] sechrist: Anybody in here use fisheye? [07:09] Jezek: nope [07:09] pquerna: mjr_: when your startup spends a million bucks on stupid backup systems.. well it s good sign its not a startup anymore and its time to run away [07:10] sechrist: because companies that aren't startups are bad [07:10] creationix: sechrist: we use jira at work [07:10] creationix: but I haven't tried fisheye yet [07:10] sechrist: we use jira and we're looking into fisheye [07:10] StM has joined the channel [07:10] BHSPitMonkey has joined the channel [07:10] sechrist: we have git hooks and stuff for it [07:11] creationix: I should get sleep, I have to catch the 6:55am train to SF [07:11] sechrist: milllbraeeee [07:12] creationix: ACTION lives way down in Sunnyvale [07:12] sechrist: oh pssh I live in downtown SJ and work in SC [07:12] sechrist: I hardly ever go up to sf [07:13] sechrist: moar south bay node events plz [07:13] aschw has joined the channel [07:13] creationix: lol, fine with me [07:13] creationix: but not tonight [07:13] temp02 has joined the channel [07:13] creationix: 'gnight everyone [07:13] creationix has left the channel [07:13] jameshome has joined the channel [07:13] jameshome: Knox [07:13] jameshome: "release 0.0.1" [07:13] jameshome: that's ready for production, right? [07:14] jameshome: great. thanks guys! [07:14] ShinMei has joined the channel [07:16] mjr_: Man, 8AM is going to come around early tomorrow, I can tell already. [07:18] sebastienvincent has joined the channel [07:21] mscdex: hmm, is 'drain' ever emitted for a fs.writestream? [07:22] mattcodes has joined the channel [07:22] mscdex: looking at the code it doesn't seem like it ever is unless someone explicitly calls .flush() and the write queue is empty [07:25] isaqual has joined the channel [07:26] bingomanatee has joined the channel [07:26] janne has joined the channel [07:28] janne has joined the channel [07:31] SubStack: I hate how hard it is to kill servers [07:31] SubStack: server.justFuckingDieAlready() [07:31] mikedeboer has joined the channel [07:31] SubStack: I don't care if there are outstanding connections, kill them [07:33] jdalton has left the channel [07:37] MikhX_ has joined the channel [07:39] sechrist has joined the channel [07:40] Fullmoon has joined the channel [07:41] mbrochh has joined the channel [07:41] bahamas has joined the channel [07:43] AAA_awright: SubStack: Or zombie processes [07:44] AAA_awright: (I love that name, who came up with that) [07:44] AAA_awright: Say, why not write a build system with semantic markups and Javascript? [07:45] GasbaKid has joined the channel [07:46] Nohryb has joined the channel [07:49] mdoan has joined the channel [07:49] mdoan has left the channel [07:50] jonaslund: the only buildsystem i use is a glorified concat tool in an ant script (to run automatically inside eclipse) [07:52] benburkert has joined the channel [07:52] SamuraiJack has joined the channel [07:52] pquerna: AAA_awright: and you thought bikeshed colors were painful [07:53] AAA_awright: pquerna: ... are build systems that bad? [07:53] pquerna: AAA_awright: a quagmire [07:54] mdoan has joined the channel [07:54] matjas has joined the channel [07:54] masahiroh has joined the channel [07:54] AAA_awright: I don't want to tell my build system how to compile things, I want to tell it what each file does and let it figure out how to compile the stuff [07:55] AAA_awright: There's nothing that does that? [07:55] SubStack: I like how I don't need to build stuff very often [07:56] AAA_awright: "This is documentation (so that will install with the man pages), this is compiled into a binary, this is compiled into a library, this is supposed to be dymanically linked..." etc [07:56] killfill has joined the channel [07:57] AAA_awright: Scan the file to see what dependencies it needs, and generate a ./configure script that searches for them or just straight compile the thing, or generate a package after that, etc [07:57] mattcodes has joined the channel [07:57] GasbaKid has joined the channel [07:57] jonaslund: you can do that with a ant script i think [07:58] jonaslund: anyhow [07:58] pquerna: so, how do you know when a client has disconnected in http req/response? response.writable? [07:58] jonaslund: i do 2 things [07:58] jonaslund: i make a big script file for the web side of things (the concat stuff) [07:58] jonaslund: but the server-side is all js right now [07:58] mischief has joined the channel [07:58] jonaslund: though, being able to update with a batch update (zip?) could be a nice feature in the future if you had many servers [07:59] jonaslund: but that's a long way off :) [08:00] pquerna: because writable never seems to change, and I can't find any event I can listen to [08:01] mischievious has joined the channel [08:01] ossareh has joined the channel [08:03] sh0x12 has joined the channel [08:03] mraleph has joined the channel [08:03] pquerna: response.connection.writable seems accurate if evil. [08:04] jonaslund: why evil ? [08:04] matjas_ has joined the channel [08:04] pquerna: well, reaching into the insides of an object with a TODO to remove it [08:04] pquerna: feels evil [08:05] jonaslund: true [08:05] pquerna: like an api that will break :) [08:05] jonaslund: like the "binary" encoding of buffers [08:06] jonaslund: (yes there are points to both sides about the usability of that :)) [08:06] springify has joined the channel [08:06] jonaslund: nah [08:06] jonaslund: off to work [08:07] faust45 has joined the channel [08:09] fangel has joined the channel [08:11] derren13 has joined the channel [08:13] beawesomeinstead has joined the channel [08:17] Druide_ has joined the channel [08:17] bahamas has joined the channel [08:17] mAritz has joined the channel [08:20] bahamas has joined the channel [08:25] [AD]Turbo has joined the channel [08:29] janne has joined the channel [08:35] aubergine has joined the channel [08:36] jacksonwest has joined the channel [08:39] virtuo has joined the channel [08:43] kjeldahl has joined the channel [08:46] devinus has joined the channel [08:47] mr_daniel has joined the channel [08:47] wasabist has joined the channel [08:47] mape has joined the channel [08:47] max has joined the channel [08:49] AAA_awright_ has joined the channel [08:49] rbranson_ has joined the channel [08:50] jewgonewild has joined the channel [08:52] ruxkor_ has joined the channel [08:54] aubergine has joined the channel [08:55] DoNaLd` has joined the channel [08:55] tisba has joined the channel [08:55] thorsteinsson has joined the channel [08:56] dguttman has joined the channel [08:56] adambeynon has joined the channel [08:56] mscdex: pquerna: what about the 'end' event for request.connection ? [08:57] adamholt has joined the channel [08:57] johan_bouveng has joined the channel [08:59] whyme has left the channel [09:00] sivy has joined the channel [09:00] twoism has joined the channel [09:01] zemanel has joined the channel [09:02] jacoblyles has joined the channel [09:02] ph^ has joined the channel [09:03] jacoblyles: what's the best way to upgrade my version of node form 0.2.4 to 0.2.5? Do I just delete the binary and remake and install? [09:04] chapel: just make/make install the new version [09:04] chapel: it will replace it [09:05] jacoblyles: cool, thanks [09:09] pietern has joined the channel [09:10] aklt has joined the channel [09:10] langworthy has joined the channel [09:11] saschagehlich has joined the channel [09:11] mikedeboer has joined the channel [09:12] kodisha has joined the channel [09:12] stephenjudkins_ has joined the channel [09:14] markwubben has joined the channel [09:15] ttpva has joined the channel [09:15] romeo_ordos has joined the channel [09:16] saschagehlich: mscdex: ping [09:16] romeo_ordos has left the channel [09:17] mohiam has left the channel [09:17] Ori_P has joined the channel [09:18] Ori_p has joined the channel [09:20] ewdafa has joined the channel [09:20] altamic has joined the channel [09:24] SamHasler has joined the channel [09:24] eponym has joined the channel [09:25] Twelve-60 has joined the channel [09:26] eponym: I'm trying to get started using node-router, but the example is too bare bones. Does anyone know of a fleshy project which is using it that I could take a look at? [09:26] TomY has joined the channel [09:27] Wyverald has joined the channel [09:27] chapel: what are you wanting to make? [09:28] Jezek: nope [09:32] eponym: Once I have server.get("/", function (req, res, match) { }); I'm not sure how to write out anything. I can return a string, and that gets written out with a header, but res.write doesn't work and I can't figure out how to use simpleJson or simpleHtml or anything else [09:32] Wyverald has left the channel [09:33] confoocious has joined the channel [09:33] confoocious has joined the channel [09:33] Wyverald has joined the channel [09:34] aubergine has joined the channel [09:34] mies has joined the channel [09:34] sriley has joined the channel [09:34] spetrea_ has joined the channel [09:34] spetrea_: can I write oneliners in node.js ? [09:34] foxulet has joined the channel [09:35] spetrea_: like I do with perl -ne ".." or perl -e "..." [09:35] spetrea_: I'd like to be able to do that [09:38] foxulet: Hello guys, I wrote a simple implementation of Firebug's Wildfire protocol for node.js If anyone has time for some little feedback, here's the code https://github.com/foxulet/fireNode [09:41] eponym: doh. I was forgetting that my database query was non-blocking. facepalm. [09:46] bzinger has joined the channel [09:46] Yuffster has joined the channel [09:48] heckacopter1 has left the channel [09:49] zomgbie has joined the channel [09:54] aubergine has joined the channel [09:58] tahu has joined the channel [10:00] stagas has joined the channel [10:02] sriley: spetrea_: node -e [10:03] mraleph has joined the channel [10:04] lmorchard has joined the channel [10:07] guid has joined the channel [10:10] altamic has joined the channel [10:11] Gruni has joined the channel [10:12] teemow has joined the channel [10:14] Throlkim has joined the channel [10:22] mies has joined the channel [10:23] mies_ has joined the channel [10:24] zorzar has joined the channel [10:24] mies has joined the channel [10:25] tisba has joined the channel [10:26] delapouite has joined the channel [10:26] yarinb has joined the channel [10:28] altamic has joined the channel [10:30] lorinc has joined the channel [10:30] Nohryb has joined the channel [10:30] lorinc: Hi! With mongoose, how can I work on collections? In their docs, they don't mention a word about collections... [10:31] lorinc: Or, what other Node.js driver would you recommend for MongoDB? [10:35] MattJ has joined the channel [10:42] rauchg_: lorinc: [10:43] rauchg_: a model equals a collection [10:43] naneau: lorinc: just use the mongodb-native driver [10:43] rauchg_: so for example [10:43] naneau: mongoose does a lot of magic, that you may or may not want/like [10:43] fermion has joined the channel [10:43] rauchg_: mongoose.model('Test') => equals collection tests [10:43] rauchg_: naneau: it doesn't really do any magic beyond getters/setters and casting [10:44] naneau: too much for my liking ;) [10:44] GasbaKid has joined the channel [10:44] naneau: but I like working close to mongo, that's a personal thing [10:44] naneau: it may be very suited for you lorinc [10:46] fly-away has joined the channel [10:49] lorinc: thanks naneau , am digging into it :D [10:52] AAA_awright_ has joined the channel [10:53] mbrochh: damnit a few days ago i found a repo on github for tokenizing sentences and detecting the sentence's langauge... I can't find it any more. Anybody knows about it? [10:56] sveimac has joined the channel [10:56] InsDel has joined the channel [10:59] GasbaKid has joined the channel [11:03] mies has joined the channel [11:05] mscdex: saschagehlich: pong [11:05] saschagehlich: mscdex: ah, cool :) did you read my message yesterday? [11:05] mscdex: saschagehlich: didn't see it [11:06] saschagehlich: mscdex: I'm writing my own node-mailer now and I'm still having problems with the encoding. the best encoding would be ISO-8859-15 right? [11:07] mscdex: i suppose so [11:07] mscdex: it's good to have options though [11:10] saschagehlich: mscdex: well yea, but what shall I use to convert to the charset? iconv? [11:10] mscdex: that'd probably a good way to go [11:10] saschagehlich: I tried iconv.toCharset(charset) but everything that comes out is crap [11:13] ruxkor_: @saschagehlich I discovered that if I don't tell iconv from which charset I am converting, he does something stupid sometimes (such as producing garbled text) [11:14] ruxkor_: I have never used the JS bindings for it, but I suppose it should be possible to define there the initial charset too [11:14] saschagehlich: ruxkor_: well looks like I can set it in the constructor... give me a sec [11:15] mscdex: yeah i was about to say that [11:15] mscdex: the constructor takes in the source and destination charsets [11:15] mscdex: i've never used the iconv binding yet though [11:16] Dreamer3_ has joined the channel [11:16] mies has joined the channel [11:16] drudge has joined the channel [11:17] zz_raja has joined the channel [11:19] stephank has joined the channel [11:21] lorinc: naneau: And don't you find the long list of nested callbacks disturbing some times? [11:22] Dreamer3 has joined the channel [11:22] lorinc: rauchg_: And how can I use the usual functions on models? I defined a User model which was in the example, and User.count() is undefined.... [11:22] saschagehlich: This one looks like a good ISO-8859-15 quoted printable, right? https://gist.github.com/66e62bc5f7872e739cf6 [11:23] rauchg_: db.model('User').count() should be defined [11:24] abiraja has joined the channel [11:24] AAA_awright has joined the channel [11:26] fermion has joined the channel [11:26] mikew3c_ has joined the channel [11:28] naneau: lorinc: I abstrahise the first couple away [11:28] saschagehlich: mscdex: hm okay, setting the charset to UTF-8 and sending the data without any encoding works fine [11:28] mscdex: saschagehlich: cool [11:31] mies has joined the channel [11:32] mies has joined the channel [11:34] mies_ has joined the channel [11:34] zomgbie has joined the channel [11:36] Dreamer3 has joined the channel [11:36] mies has joined the channel [11:36] Dreamer3 has joined the channel [11:37] Dreamer3 has joined the channel [11:38] mies__ has joined the channel [11:38] Dreamer3 has joined the channel [11:39] Dreamer3 has joined the channel [11:39] Ond has joined the channel [11:39] tisba_ has joined the channel [11:41] Dreamer3 has joined the channel [11:42] Dreamer3 has joined the channel [11:43] Dreamer3 has joined the channel [11:46] Dreamer3 has joined the channel [11:47] hellp has joined the channel [11:47] Dreamer3 has joined the channel [11:53] iszak has joined the channel [11:57] mies has joined the channel [11:58] aheckmann has joined the channel [11:59] Alfred_ has joined the channel [12:00] mies_ has joined the channel [12:03] everzet has joined the channel [12:04] matclayton has joined the channel [12:06] herbySk has joined the channel [12:06] unomi has joined the channel [12:09] Throlkim_ has joined the channel [12:09] rwaldron has joined the channel [12:11] A83 has joined the channel [12:14] abiraja has joined the channel [12:17] Floxxx has joined the channel [12:19] eee_c has joined the channel [12:20] foxulet: \clear [12:20] foxulet: :) [12:21] A83 has joined the channel [12:27] derferman has joined the channel [12:28] Floxxx: anyone here ever run into "invalid_lhs_in_assignment" when using node-mongodb-native? [12:28] SamHasler has joined the channel [12:28] okuryu has joined the channel [12:30] Rv has joined the channel [12:30] Rv: hi [12:30] Floxxx: nvm, programmer error >< [12:30] Rv: any channel for express.js on freenode? [12:32] matjas_ has joined the channel [12:38] mscdex: Rv: not that i'm aware of, i think most people ask around in here [12:39] Rv: ok thanks [12:40] TomY has joined the channel [12:40] Rv: i try to use app.error function to catch instance of NotFound exception but the function in body of app.error never firesup even if exception was throw [12:41] Rv: any suggestion :) ? [12:41] Rv: of course i use express.js [12:42] foxulet: Hi guys, anyone around using firePhp, I wrote a little clone for a project of mine, feedback appreciated (https://github.com/foxulet/fireNode) [12:44] Jonasbn_ has joined the channel [12:51] whyme has joined the channel [12:57] stagas: foxulet: cool, I don't like the all caps methods though [12:57] Nohryb has joined the channel [12:57] chapel: Rv: is NotFound defined? [12:57] Rv: yes [12:57] Rv: body of NotFoun function is executed but body of app.error no [12:58] chapel: http://expressjs.com/guide.html#Error-Handling [12:58] Rv: i read this [12:59] stagas: foxulet: maybe alias them like exports.LOG = exports.log = funct... ? [13:00] chapel: did you use the part under that about app.error()? [13:00] A83 has joined the channel [13:01] xla has joined the channel [13:01] Rv: chapel, When an exception occurs body of app.error shoul be executed if i understand correctly? [13:01] chapel: well, yeah, it should handle all errors by default [13:02] Rv: but it does not [13:03] Rv: mayby some app.use definition is required? [13:03] chapel: mind sharing code? [13:04] torvalamo has joined the channel [13:05] Floxxx: good luck and have fun all attending node camp! [13:05] Rv: chapel, http://pastie.org/1375953 [13:06] wdperson has joined the channel [13:08] Blackguard has joined the channel [13:08] Throlkim has joined the channel [13:09] fermion has joined the channel [13:09] chapel: Rv: there are two app.error calls there [13:09] chapel: on the example [13:09] chapel: you are only using one [13:11] Rv: chapel, yeah but in the example one checks if error is instance of NotFound and the second one should handle all errors [13:12] chapel: well yeah, I would assume so, but best to test the code as given, and edit from there, at least thats what I do [13:13] prinzdezibel has joined the channel [13:14] Rv: chapel, even when i add first one app.error body of function does not execute [13:15] chapel: well, I dont know if it matters, app.configure should be up top, though again I dont know if it matters [13:15] chapel: I am not an expert in express, learning myself [13:16] everzet_ has joined the channel [13:16] Rv: isee thanks anyway [13:17] prinzdezibel: Hi! I try to familarize with event driven concepts. What does non-blocking mean in this concrete context: A node.js web server that reads a file asynchronous from disk and returns the file's content as response. My problem: The file is read asynchronous, but the server needs to wait anyway until it can ship the result, right?! [13:18] booths has joined the channel [13:18] broofa has joined the channel [13:19] chapel: well, non-blocking means, if you have other requests come in, they can be handled while the process of getting the file to display to the first request [13:19] zentoooo has joined the channel [13:19] chapel: or if you have other parts of your app [13:20] ianward has joined the channel [13:20] prinzdezibel: chapel: Other frameworks do serve multiple requests as well, but probably not in the same os thread, right?! [13:20] chapel: where as if it were blocking, no response could come in until the first response was handled [13:21] chapel: php/apache for example opens new threads for different connections [13:21] A83 has joined the channel [13:21] prinzdezibel: ok [13:21] prinzdezibel: yes [13:21] Floxxx: hmm, does anyone know if there's a maximum run time for a http.createServer request? i'm trying to insert a large number of records in mongodb but at some point it stops inserting [13:23] prinzdezibel: chapel: Could you give me a (un-)biased view between narwhale and node? Ok, maybe the (un-) prefix is asked a liitle bit much :) [13:23] broofa: Am I missing something or does http://camp.nodejs.org not say where the camp is actually being held? [13:23] chapel: well I know nothing about narwhale [13:23] chapel: broofa: it is a secret [13:23] chapel: if you dont know, then you aren't invited [13:24] broofa: chapel: apparently. Anyone know? [13:24] chapel: :P [13:24] chapel: idk [13:24] broofa: Ah, found it. Mission Bay conference Center at UCSF: http://campnodejssf.eventbrite.com/?ref=ebtn [13:24] chapel: prinzdezibel: if you are comparing for research into what to use, well all I can say is node has a nice growing and helpful community [13:25] chapel: and my views are very biased at this point :P [13:25] prinzdezibel: sure [13:25] prinzdezibel: but I think there must be a reason for both projects to exist side-by-side [13:26] heavysixer has joined the channel [13:26] chapel: don't doubt it, but I know nothing of narwhale so I cant speak of it [13:26] prinzdezibel: thx [13:27] pHcF has joined the channel [13:29] cafesofie has joined the channel [13:29] chapel: prinzdezibel: just looking at narwhal, it looks a lot like if you use js instead of ror in rails [13:29] chapel: s/rails/ror [13:30] andrehjr has joined the channel [13:32] herbySk has joined the channel [13:33] aubergine has joined the channel [13:33] prinzdezibel: I've seen some node.js examples and naturally they are dealing with (real-time) data processing like streaming, chat, etc. rather than business logic that deals with databases etc. Is node.js suited for this kind of applications ? [13:35] iszak: it's suited for both. [13:35] prinzdezibel: are there db-agnostic database adapters? [13:35] chapel: it is suited for whatever you want to make with it [13:35] iszak: prinzdezibel, there are some, but not baked into node itself. [13:35] prinzdezibel: ok [13:35] chapel: dont think of node.js as a web server engine or something, think of it as javascript on the server [13:35] prinzdezibel: the modules, I assume [13:35] iszak: mysql is definitely out there. [13:36] iszak: yes [13:36] chapel: node is really low level [13:36] iszak: prinzdezibel, plus node.js is blazing fast. [13:36] chapel: compared to ror or django [13:36] chapel: instead of running a server, you make the server :P [13:36] abiraja has joined the channel [13:37] chapel: but yeah, node.js is fast [13:37] iszak: you can cut out the middle man (apache/nginx/lighttpd too) [13:37] iszak: the thing I love about node.js is that it's performance basically backed by Google. [13:37] chapel: though, I may use nginx for static files [13:37] iszak: I would too. [13:37] shripadk has joined the channel [13:38] jmar777 has joined the channel [13:38] iszak: when's node.js 0.3.2 coming out? [13:38] chapel: idk [13:38] chapel: Im running master [13:38] iszak: god I can't wait for new versions. [13:38] chapel: works well for me :) [13:38] iszak: people and their "0.3.x" is unstable. [13:39] chapel: haha [13:39] chapel: yeah I haven't had issues [13:39] chapel: then again I dont do anything crazy [13:39] iszak: neither, I mean obv. the API may change. [13:39] dnolen has joined the channel [13:40] chapel: I think some of peoples issues are with the api changes, not that they dont like them, just that their current apps are built on stable, and so those changes cause issues, stability issues :P [13:41] iszak: yeah, definitely. [13:46] Wyverald has joined the channel [13:47] prinzdezibel: iszak: What do you mean when you say "it's performance basically backed by Google." [13:47] prinzdezibel: ? [13:48] iszak: well it's based ontop of v8 which is part of google chrome, and like hell Google will let their JS engine become slow. [13:49] prinzdezibel: I see [13:49] iszak: prinzdezibel, http://arewefastyet.com/ (slightly outdated however) [13:49] iszak: and with the addition of crankshaft it'll only get better. [13:50] stepheneb has joined the channel [13:54] JusticeFries has joined the channel [13:56] farkob has joined the channel [13:56] splashs has joined the channel [13:59] andrehjr` has joined the channel [13:59] vilhonen has left the channel [14:01] arpegius has joined the channel [14:03] mscdex: node.js rules! [14:03] sveisvei: 4 evah! [14:03] mraleph: iszak: http://arewefastyet.com/awfy2.php?machine=9 <- this is up to date ia32 measurements. [14:04] mscdex: flot! [14:04] iszak: oh goodie [14:04] MikhX has joined the channel [14:04] iszak: where'd you get that [14:04] deepthawtz has joined the channel [14:04] mraleph: I was just stalking on some Mozilla forum :-) [14:05] ysynopsis has joined the channel [14:05] mraleph: ninja style [14:05] iszak: so as we can see 2/3 V8 is best [14:05] statik has joined the channel [14:05] iszak: but obv. they optimize for their bench [14:05] statik has joined the channel [14:06] mraleph: ACTION sighs. [14:06] iszak: clearly it's old anyway, not using r6011 ;) [14:07] mraleph: I do not want to start bench wars but V8 Benchmark Suite tries to be representative. [14:07] christophsturm has joined the channel [14:07] iszak: that means little to me. [14:07] chapel: heh [14:07] chapel: benchmarks mean nothing [14:07] iszak: yes, I knew that. [14:07] chapel: in the browser space, chrome is fast, ff4 is pretty fast [14:07] iszak: because they don't reflect real world performance. [14:08] chapel: I use chrome for its simplicity, and google like features [14:08] iszak: it's like benchmarking a "hello world app" vs a real application. [14:08] chapel: I use node because of node, not so much v8 [14:08] mraleph: but at least they can cover most important areas: regexp, memory management, prototype based OO, number crunching [14:08] statik has joined the channel [14:08] statik has joined the channel [14:09] mbrochh has joined the channel [14:09] mbrochh has joined the channel [14:11] sriley_ has joined the channel [14:12] chrischr_ has joined the channel [14:12] spetrea_: sriley_: thanks [14:16] cferris has joined the channel [14:20] ShinMei has joined the channel [14:20] sveimac has joined the channel [14:22] trotter has joined the channel [14:24] pHcF: can someone please help me overriding res.render of express? [14:25] Rv: how to get request url in express.js :) ?\ [14:25] Rv: requested [14:25] pHcF: hmm [14:25] pHcF: req.something :P [14:26] Rv: yeap but what :) [14:26] pHcF: sys.inspect(req); [14:26] Rv: ok thanks [14:26] pHcF: sys.puts(sys.inspect(req)); [14:27] Rv: im looking for inspect like in ruby :) [14:27] d0k has joined the channel [14:27] jherdman has joined the channel [14:30] saschagehlich has joined the channel [14:31] PyroPeter has joined the channel [14:31] zomgbie has joined the channel [14:31] PyroPeter has joined the channel [14:32] prinzdezibel: Is there a chance to integrate node.js somehow with an existing wsgi application? [14:34] wink_ has joined the channel [14:37] ryah: prinzdezibel: the webserver in front of the wsgi app can route some paths to node [14:37] prinzdezibel: No, they'd suppose to work with each other. Like a post-processing of the response with node.js [14:38] prinzdezibel: I'd like to put node.js in the wsgi pipeline [14:38] augustl has joined the channel [14:38] fla__ has joined the channel [14:39] fla__: Hi [14:39] frodenius has joined the channel [14:39] demolithion has joined the channel [14:39] fla__: How can I link a library with node-waf ? [14:39] ryah: prinzdezibel: well - you could theoretically have node in front of the wsgi app - but there's no parser/server for wsgi atm [14:39] augustl: looking for recommendations to a node lib that lets me serve static files with HTTP. Don't need directory listing, auto-resolving index.html and so on. [14:40] ryah: fla__: try this https://github.com/mranney/node_pcap/blob/c5b355afaa0c011d80af441cfcf8dcc2984355ef/wscript#L11 [14:40] fla__: looking for help with module linking, got error -> "undefined symbol: _ZTVN5noise6module6PerlinE" [14:40] fla__: thx ryah [14:41] ryah: augustl: connect can do that [14:41] augustl: ryah: looking it up, tnx [14:41] prinzdezibel: ryah: I'm looking for kind of what Aptana's Jaxer used to do. [14:42] prinzdezibel: but that seems dead. [14:42] fla__: ryah, was missing obj.linkflags = ['-lnoise']. Thanks alot ! [14:42] Floxxx: ryah: aren't you supposed to get ready for camp? ;) [14:42] ryah: Floxxx: just about to head down there :) [14:42] Floxxx: hehe [14:42] Floxxx: good luck [14:42] Floxxx: i'll be watching the stream [14:43] chapel: is there gonna be streaming coverage? [14:43] chapel: :P [14:43] Floxxx: check camp.nodejs.org [14:43] shripadk: has it started already? ustream shows offline... [14:43] Floxxx: there's a link in the joyent twitter post on the left [14:43] Floxxx: shripadk: 9am PST [14:43] shripadk: cool :) [14:44] esigler has joined the channel [14:45] boaz has joined the channel [14:48] eee_c has joined the channel [14:51] jmpe has joined the channel [14:53] altamic has joined the channel [14:54] stephenjudkins has joined the channel [14:55] sriley_ has joined the channel [14:55] ryah: we'll also be posting better videos soon after [14:55] ryah: (in case the livestream isn't so good) [14:56] Insanity5902 has joined the channel [14:57] davidsklar has joined the channel [15:00] cjm has joined the channel [15:03] EyePulp has joined the channel [15:04] SamHasler has joined the channel [15:04] chrischris has joined the channel [15:06] zomgbie has joined the channel [15:07] danoyoung has joined the channel [15:10] chrischr_ has joined the channel [15:10] bzinger has joined the channel [15:12] jherdman has joined the channel [15:12] herbySk has joined the channel [15:16] eee_c has joined the channel [15:17] sriley has joined the channel [15:17] amacleod has joined the channel [15:21] mikeal has joined the channel [15:23] Sbioko has joined the channel [15:23] Sbioko: Hi [15:24] Sbioko: I'm using Node.js in a mix with Socket.io now [15:24] Sbioko: but I still don't understand where I can use it [15:24] kenbolton has joined the channel [15:24] Sbioko: excerpt of this one case [15:24] Sbioko: explain me plz [15:24] Sbioko: except* [15:24] shripadk: Sbioko what is the "one case"? [15:25] Sbioko: shripadk: using node.js for websockets server [15:25] Sbioko: shripadk: socket.io [15:25] persson has joined the channel [15:26] alek_br has joined the channel [15:26] shripadk: well... u can build realtime apps.. chat room for example [15:26] mscdex: node.js rules! [15:26] shripadk: second that :) [15:27] rpflo has joined the channel [15:27] Sbioko: using websockets, yeah? [15:27] Sbioko: or there is a different way [15:27] jmar777: Sbioko: it's "sweet spot", based on how I've used it, is any time you want to build stuff closer to the protocol level, but still in a high level language [15:28] Sbioko: jmar777: I need examples [15:28] Sbioko: examples of apps [15:28] jmar777: Sbioko: http://nodeknockout.com/ [15:29] jmar777: Sbioko: https://github.com/ry/node/wiki/ (look at Projects / Applications section) [15:29] rpflo: Trying to use visionmedia's js-yaml and can't get the examples to work. I'm running node v0.2.0 and js-yaml v0.1.0. It's trying to call String::replace on an object here: https://github.com/visionmedia/js-yaml/blob/master/lib/yaml.js#L72 [15:30] sivy has joined the channel [15:30] Sbioko: still don't understand [15:31] mies has joined the channel [15:31] jmar777: Sbioko: you should try a more specific question, perhaps [15:31] Sbioko: maybe [15:31] Sbioko: anyway, thanks for your time :-) [15:31] dantalizing has joined the channel [15:31] dantalizing has joined the channel [15:31] bingomanatee has joined the channel [15:32] sveisvei: test 1,2, 1 ...2....test...check...one, two...check... [15:32] Floxxx: hehe [15:32] Floxxx: want to? what does he want to? :p [15:32] jmar777: sveisvei: i'm getting a little ring here in the back. try pulling the high end down a tad... [15:36] softdrink has joined the channel [15:39] sonnym has joined the channel [15:39] bentruyman has joined the channel [15:40] jamund has joined the channel [15:41] Sbioko has left the channel [15:41] Floxxx: PotC theme song :D [15:41] deirdre_ has joined the channel [15:41] davglass has joined the channel [15:43] Floxxx: such nice music :p [15:43] stagas has joined the channel [15:43] shripadk: :P [15:44] Nevtus has joined the channel [15:44] Nevtus has joined the channel [15:44] matjas has joined the channel [15:45] Alex-SF has joined the channel [15:46] ShawnFerry has joined the channel [15:46] c4milo has joined the channel [15:47] slaskis has joined the channel [15:47] sveisvei: Indeed [15:48] kenbolton has joined the channel [15:49] ben_alman_ has joined the channel [15:50] mjr_: time to head to nodecamp everybod [15:50] mjr_: y [15:51] Floxxx: better hurry ;) [15:51] Floxxx: hf [15:52] Fabryz has joined the channel [15:53] aschw has joined the channel [15:53] jherdman has joined the channel [15:54] baub has joined the channel [15:55] mw has joined the channel [15:58] bgriffith has joined the channel [16:01] bob_ has joined the channel [16:02] mraleph: rasputin rocks :-) but guests can't express their admiration in livestream's chat :-( [16:03] ph^ has joined the channel [16:03] jamund: yeah the chat is pretty broken [16:03] ben_alman_ has joined the channel [16:03] jamund: it auto logs me out after 1 second each time :) [16:03] jamund: but this chat is pretty hot [16:04] ben_alman_ has joined the channel [16:04] dmcquay has joined the channel [16:04] Floxxx: jamund: try chrome [16:05] Floxxx: FF wouldn't work for me [16:05] jamund: K. [16:05] augustl: did it just go off air, or is it me? [16:05] Floxxx: it did [16:05] stagas: off air [16:05] Floxxx: they just said it would be taken down at least once more [16:05] Floxxx: they are still setting up [16:05] stagas: what's the join crowd button do [16:06] pquerna: rain sucks [16:06] Floxxx: stagas: try it? :p [16:06] stagas: it just says I joined crowd [16:06] Floxxx: congratulations then i guess :p [16:06] stagas: :P [16:07] deirdre_: sorry UStream doesn't allow guests to post to the chat, but I'll try to keep an eye in here as well for questions [16:07] deirdre_: ...but keep in mind that I'm doing about 15 things at once throughout the day so my attention may not be as sharp as needed... [16:07] stephenjudkins has joined the channel [16:07] Floxxx: deirdre_: you should get an assistant ;) [16:08] fangel has joined the channel [16:08] ben_alman_ has joined the channel [16:08] arpegius has joined the channel [16:08] matclayton has left the channel [16:09] delapouite has joined the channel [16:10] ryah: can someone curl http://169.230.237.134:8000/ [16:10] stagas: ryah: not found [16:10] mies has joined the channel [16:10] daniellindsley has joined the channel [16:11] Floxxx: same here [16:11] ryah: sweet thanks [16:11] Floxxx: lol [16:11] mbrochh: damnit a few days ago i found a repo on github for tokenizing sentences and detecting the sentence's langauge... I can't find it any more. Anybody knows about it? [16:11] hamcore has joined the channel [16:12] hamcore: how do i append a text in a file? [16:12] stagas: hamcore: open with a+ [16:13] hamcore: var logFile = new fs.File(path.join('logs', 'aa.log'), 'a+', {encoding: 'utf8'}); [16:13] hamcore: works? [16:13] hamcore: it does return TypeError: undefined is not a function [16:13] Ond: Sounds like a fun project, mbrochh [16:13] stagas: or with 'a' [16:13] hamcore: neither works [16:14] dgathright has joined the channel [16:14] chapel: fs.open(file, 'a', 666, function(er, id) { [16:15] chapel: fs.write(id, 'data', null, 'utf8', function(er, d) { [16:15] stagas: hamcore: http://nodejs.org/api.html#fs-open-137 [16:15] nonnikcam has joined the channel [16:15] hamcore: stagas, chapel thanks. [16:15] chapel: :) [16:15] hamcore: i saw a script using fs.File [16:15] hamcore: Doesn't it exist more? [16:16] jan____ has joined the channel [16:17] _janne has joined the channel [16:17] cloudhead has joined the channel [16:18] Epeli has joined the channel [16:18] jan____ has joined the channel [16:18] sideshow_ has joined the channel [16:18] mlu has joined the channel [16:18] zum_ has joined the channel [16:18] figital has joined the channel [16:19] Alex-SF has joined the channel [16:20] hamcore: chapel, stagas https://github.com/felixge/nodelog/blob/master/log.js#L20 [16:20] bingomanatee has joined the channel [16:21] chapel: ar file = require('file'); [16:21] altamic_ has joined the channel [16:21] chapel: aka not fs [16:21] chapel: I'm assuming [16:21] hamcore: hum [16:21] stagas: that's almost a year old, things have changed [16:22] mikedeboer_ has joined the channel [16:22] chapel: anyways, what I pasted hamcore should work fine [16:22] strmpnk has joined the channel [16:22] chapel: I had to figure out how to append and that was the easiest way [16:22] chapel: there are streams too [16:22] mw___ has joined the channel [16:22] pharkmillups has joined the channel [16:22] chapel: but wasn't necessary for my app [16:22] hamcore: nice, thank you chapel stagas [16:23] skohorn_ has joined the channel [16:23] danoyoung has left the channel [16:23] sveimac_ has joined the channel [16:23] bsdguru has joined the channel [16:23] Floxxx: yay for netsplit [16:23] stagas: hamcore: spend some time on the docs at nodejs.org/api.html and you'll find a lot of interesting things there [16:23] chapel: I was on the winning side of that netsplit! [16:24] chapel: stagas << the only thing about the docs, no real examples [16:24] chapel: I need to see code, how its used [16:24] chapel: not just api explanations [16:24] tjholowaychuk has joined the channel [16:25] rfranknj has joined the channel [16:26] BillyBreen has joined the channel [16:26] stagas: chapel: yeah we got to do something about that [16:27] hamcore: chapel, http://pastie.org/1376447 [16:27] hamcore: right? [16:27] chapel: nodejs.eu [16:27] chapel: :P [16:27] chapel: why the "" at the end around \n? [16:27] chapel: umm looks good as far as I can tell [16:28] stagas: php land [16:28] chapel: btw, look at this http://i.imgur.com/1xwwv.png [16:28] Floxxx: nice [16:28] brianleroux has joined the channel [16:28] hamcore: this wat? [16:28] hamcore: powered by pastie.org? [16:28] tjholowaychuk: linkinus [16:29] Floxxx: it opened the pastie inline ;) [16:29] hamcore: what irc client do you use? [16:29] tjholowaychuk: im using it as well [16:29] davidsklar has joined the channel [16:29] chapel: yep [16:29] tjholowaychuk: inlines videos, images, gists [16:29] chapel: linkinus [16:29] hamcore: mac user. [16:29] tjholowaychuk: etc [16:29] hamcore: geek. [16:29] chapel: :) [16:29] chapel: System Info: Model:  HackPro3 · CPU Speed:  4 @ 2.7 GHz · L2:  3 MB · RAM:  4 GB · OS X:  Version 10.6.3 (Build 10D573) · Hostname:  Slash Hack · User:  chapel · Client:  Linkinus 2.2/24415 · Style:  Whisper [16:29] yonkeltron: dude, emacs [16:29] yonkeltron: just let it happen [16:29] rauchg_ has joined the channel [16:29] chapel: it is nice for stuff posted in here [16:29] fly-away has joined the channel [16:29] yonkeltron: emacs is nice for everything [16:30] chapel: tjholowaychuk << do you know of an example of an ajax heavy site example using express? more for simple ajax stuff, nothing like socket.io [16:31] tjholowaychuk: chapel: hmm probably http://pakistansurvey.org/ [16:31] tjholowaychuk: not positive what each of them use [16:31] prinzdezibel: Does node.js has a module that can read windows style .ini files? [16:31] chapel: is there server code though? [16:31] chapel: want to see the express code [16:31] bruce_ has joined the channel [16:32] chapel: prinzdezibel << write a module :P [16:32] tjholowaychuk: chapel: but I mean ajax is ajax, its nothing special, just respond with some json [16:32] tjholowaychuk: res.send({ foo: 'bar' }); done [16:32] chapel: good point [16:32] chapel: ACTION likes examples [16:32] prinzdezibel: chapel: I take this as NO [16:32] tjholowaychuk: I could add an example, not sure what a good one would be though [16:32] tjholowaychuk: a todo list or something [16:32] chapel: prinzdezibel << not that I know of [16:32] prinzdezibel: ok [16:32] chapel: no worries tjholowaychuk don't go out of your way [16:32] chapel: was just curious [16:33] castral has joined the channel [16:33] Floxxx: prinzdezibel: should be pretty easy to parse [16:34] aklt has joined the channel [16:34] Floxxx: all you really have to check for is [] and = [16:35] Floxxx: i don't think it's worth the trouble writing a whole module for it tbh [16:35] robotarmy has joined the channel [16:35] spetrea__ has joined the channel [16:35] femtoo has joined the channel [16:36] jmar777 has joined the channel [16:38] aubergine has joined the channel [16:38] benburkert has joined the channel [16:38] markwubben has joined the channel [16:38] yozlet has joined the channel [16:39] pquerna: prime seat out of view of the cameras [16:39] tjholowaychuk: haha :D [16:39] tjholowaychuk: what time are they getting started? [16:40] Floxxx: in 20 minutes [16:40] tjholowaychuk: sweet [16:40] spetrea_ has joined the channel [16:41] jmar777: got a 70-something-inch smart board reserved at my work at least the first hour :) [16:41] mscdex: heh [16:41] Floxxx: lol [16:42] jakehow has joined the channel [16:42] mscdex: don't forget the snacks! [16:43] msekimura has joined the channel [16:43] jacobolus has joined the channel [16:44] jmar777: Charleston, SC here, so this is officially a lunch and learn... [16:44] Aria has joined the channel [16:45] stepheneb has joined the channel [16:45] mies has joined the channel [16:45] spetrea_ has joined the channel [16:48] cnus8n has joined the channel [16:48] strixv has joined the channel [16:48] tjholowaychuk: woah.. ruby haml doesnt give any error context? [16:49] eee_c has joined the channel [16:49] tjholowaychuk: not cool [16:49] jacobolus has joined the channel [16:49] hunterloftis: How do you guys organize node projects? We've been vendoring all our libs but that gets hectic and project sizes are like 250MB [16:49] kenbolton has joined the channel [16:50] mscdex: hunterloftis: well, git has submodules, but github doesn't automatically pull those in when you download a tarball unfortunately :/ [16:50] reid has joined the channel [16:50] hunterloftis: mscdex: Yeah we're using submodules of course [16:50] mscdex: ah ok [16:50] tjholowaychuk: submodules are a pain [16:50] hunterloftis: mscdex: But yeah, they are a pita [16:50] christophsturm: hunterloftis: we run npm bundle on deploy [16:50] tjholowaychuk: ndistrooo [16:51] hunterloftis: tj: I just installed ndistro but nobody has forked it with new distros (that I see) and you guys haven't updated it for months so I thought maybe it was dead ;) [16:51] sveisvei: omg... [16:51] tjholowaychuk: nope its just not broken [16:51] sveisvei: nice music [16:51] hunterloftis: christophsturm: That's something like what I'm looking for, but a little heavy [16:52] MrNibblesFreenod has joined the channel [16:52] hunterloftis: tj: So how does ndistro work? You set up the .ndistro file, it pulls down into /bin /lib and /modules... [16:52] tjholowaychuk: node bins are annoying thought i really wish joyent would expose theirs [16:52] chapel: yay [16:52] chapel: nodejs camp [16:52] christophsturm: hunterloftis: are you talking about project specific libs, or libs that are already in npm? [16:53] hunterloftis: tj: In the github version, express is always require()ing stuff with relative paths (like connect) ... with the ndistro version will it just require('connect') [16:53] hunterloftis: christophsturm: Mostly project specific... the ones in npm seem to be taken care of well [16:53] tjholowaychuk: hunterloftis: you can deploy with out compiling node, so if you upgrade versions it can do that for you, and since the dirs are set up relative there is no require.path fiddling to get them going either [16:53] benburkert has joined the channel [16:53] hornbeck_ has joined the channel [16:53] tjholowaychuk: hunterloftis: yeah, that us because bin/node looks at ../lib/node [16:53] tjholowaychuk: for modules [16:53] slaskis: tjholowaychuk: i think i just got the fancy stack traces for ejs working [16:53] hornbeck has joined the channel [16:53] hunterloftis: tj: Got it. That was what confused me. [16:54] tjholowaychuk: slaskis: sweet :) haha [16:54] tjholowaychuk: hunterloftis: ah, I should probably mention that haha [16:54] hunterloftis: tj: So you sudo lib/node app.js and then you're off? [16:55] slaskis: tjholowaychuk: https://github.com/slaskis/ejs/commit/ffbfcffddf3a78288bdc64248175c77818e0373a [16:55] JusticeFries has joined the channel [16:55] tjholowaychuk: hunterloftis: ./bin/node app.js [16:55] tjholowaychuk: thats it [16:55] tjholowaychuk: you can update modules and node itself in seconds [16:55] hornbeck has left the channel [16:56] tjholowaychuk: unfortunately keeping up with the binaries is a bit annoying, but other than that it works pretty well [16:56] hunterloftis: Hmmm [16:56] hunterloftis: Yeah so you only manually have to edit the binary versions in .ndistro [16:56] tjholowaychuk: one benefit being you dont have to compile node to have npm working etc [16:56] tjholowaychuk: yeah [16:56] hunterloftis: You put your project libs wherever you want anyway [16:56] tjholowaychuk: but its just a shell script so you can add other stuff in there too [16:56] tjholowaychuk: https://github.com/visionmedia/.ndistro/blob/master/express [16:56] tjholowaychuk: like that one [16:56] jmar777: anyone else getting really choppy audio? [16:57] hunterloftis: tj: yeah noticed that, nice feature [16:57] hunterloftis: tj: What about git? You just add bin lib and modules to your .gitignore? [16:57] mscdex: jmar777: nah [16:57] tjholowaychuk: slaskis: cool man [16:57] tjholowaychuk: hunterloftis: yup [16:57] tjholowaychuk: well lib/node [16:57] tjholowaychuk: if you have custom stuff in ./lib [16:58] tjholowaychuk: keeps your tree clean, deploys fast, I like it [16:58] davidsklar1 has joined the channel [16:58] tjholowaychuk: update a module is a simple as rm -fr modules/express && ndistro [16:58] hunterloftis: why is there a lib/node and a bin/node? [16:58] tjholowaychuk: because lib/node is a directory of modules (the ones that ndistro pulls in) and bin/node is node(1) [16:59] marcab has joined the channel [16:59] tjholowaychuk: its the same structure you see in /usr/local [16:59] chapel: can you join the ustream irc network directly? [16:59] tjholowaychuk: /usr/local/{bin,lib}/node [16:59] hunterloftis: tj: gotcha, just more imitation of the node tree [16:59] Floxxx: it's irc based? [16:59] chapel: yeah [16:59] Floxxx: hmm [16:59] tjholowaychuk: hunterloftis: yup, which gets you away from the relative require()s [17:00] hunterloftis: tj: major headache [17:00] Floxxx: chat01.ustream.tv [17:00] tjholowaychuk: hunterloftis: how does it work with npm bundle? [17:00] tjholowaychuk: can you still just require('mylib') [17:00] stephank has joined the channel [17:00] hunterloftis: tj: good question, have been avoiding that [17:00] mikedeboer has joined the channel [17:00] stagas has joined the channel [17:00] hunterloftis: think christophsturm is using it [17:01] christophsturm: tjholowaychuk: we do this: require.paths.unshift(require('path').join(process.cwd(), '/node_modules')); [17:01] tjholowaychuk: oh :s [17:02] Nohryb has joined the channel [17:02] christophsturm: in our startup script and in our test helpers [17:02] tjholowaychuk: :( [17:02] hunterloftis: christophsturm: Why not just require.paths.unshift('./node_modules')? [17:02] tjholowaychuk: unshifting really sucks, I want to get away from it, multiple require paths really fucks you over [17:02] tjholowaychuk: which is my main beef with npm lol I dont really want my libraries to exist anyhwere else [17:03] Floxxx: http://www.ustream.tv/channel-popup/node-js-camp [17:03] msekimur_ has joined the channel [17:03] ossareh has joined the channel [17:04] hunterloftis: I like the .ndistro setup so far, mostly because it feels like the hack is all in the directory structure and I don't have to add hacks to my code [17:04] tjholowaychuk: hunterloftis: yeah exactly [17:05] tjholowaychuk: the only benefit of the npm bundling is that you get recursive dep resolution [17:05] stagas_ has joined the channel [17:05] tjholowaychuk: but if you know your libraries, its not a bit deal [17:05] tjholowaychuk: big( [17:05] tjholowaychuk: most libraries I use dont even have deps, so it works fine that way [17:06] jmar777: Ha - company network was too choppy, but t-mobile 3G hotspot via Nexus One ftw! [17:06] christophsturm: hunterloftis: good idea. i wonder how we ended up with that code. [17:07] hunterloftis: christophsturm: if it works, it works ;) [17:07] mAritz: tjholowaychuk: what's the problem with setting npmroot to ./node_modules (or whatever)? [17:08] mAritz: sorry if i'm misunderstanding the problem here [17:08] Nohryb has joined the channel [17:08] hunterloftis: tjholowaychuk: I prefer to have a flat listing of dependencies anyway for all libraries. Makes things easier to debug, conflicts easier to resolve. [17:08] tjholowaychuk: its just an alternative solution [17:08] tjholowaychuk: hunterloftis: yeah me too [17:08] tjholowaychuk: if i dont know what deps some lib has, I wont use it anyway lol [17:09] tjholowaychuk: I also prefer to just have fake git submods for deps [17:09] tjholowaychuk: instead of npm deps [17:09] tjholowaychuk: much more useful when using them via tarball or git [17:09] tjholowaychuk: or in this case ndistro [17:09] hunterloftis: tj: "fake git submods?" [17:10] tjholowaychuk: hunterloftis: git clone whatever lib/foo && git add lib/foo/ [17:10] JimBastard has joined the channel [17:10] tjholowaychuk: you get the whole thing in your tree [17:10] tjholowaychuk: but you can update it as if it was still a submod [17:10] tjholowaychuk: which IMO is better than submods lol [17:12] broofa has joined the channel [17:12] pt_tr has joined the channel [17:12] hunterloftis: tj: We considered yeah just nested git repos after all the headaches we've had with submods [17:13] tjholowaychuk: hunterloftis: yeah we are getting rid of them as well [17:13] tjholowaychuk: we have about 40 [17:13] tjholowaychuk: its hell at times lol [17:13] tjholowaychuk: and slow as fuck anyway [17:13] tjholowaychuk: update --init --recursive is sooooooo slow [17:14] hunterloftis: yeah no kidding [17:14] hunterloftis: And having to remind everybody to do it all the time [17:14] tjholowaychuk: that too [17:16] aubergine has joined the channel [17:16] dguttman has joined the channel [17:16] eee_c has joined the channel [17:16] hunterloftis: tj: using ndistro, where do you guys put your non-npm libs? [17:16] hunterloftis: in /libs? [17:17] hunterloftis: */lib [17:17] tjholowaychuk: hunterloftis: yeah I put them in ./lib [17:18] sprout has joined the channel [17:18] strmpnk has joined the channel [17:18] dgathright has joined the channel [17:19] davidsklar has joined the channel [17:20] davglass has joined the channel [17:22] chapel: hola davglass [17:22] chapel: are you at node camp? [17:22] eddanger has joined the channel [17:22] jpick has joined the channel [17:23] shripadk has left the channel [17:23] davglass: chapel: Nope, I'm in Illinois ;) [17:23] chapel: oh, gotta like illinois [17:23] slaskis has joined the channel [17:26] kenbolton_ has joined the channel [17:27] mikew3c_ has joined the channel [17:27] softdrink has joined the channel [17:27] noahcampbell has joined the channel [17:28] edwardchuajh: can anyone see his ip from the nodejs camp slides [17:28] reid: 169.230.237.134 [17:28] blowery: internal only [17:29] blowery: er, blah [17:29] blowery: reid: are you yeti reid? [17:29] chapel: :) [17:29] edwardchuajh: ah ok thanks [17:29] reid: i am yeti reid [17:29] JusticeFries_ has joined the channel [17:30] laurelreitman has joined the channel [17:30] yenz: damn demo gods [17:30] blowery: ah, cool. i have a fork of yeti that makes it work with dojo's test harness (DOH) :) [17:31] mape: Nice to have joyent stream it as well [17:31] blowery: yeah the stream is awesome [17:31] tjholowaychuk: mape: ya thats sweet [17:32] tjholowaychuk: wish it was easier to see the screen [17:32] blowery: he should share his screen on join.me [17:32] reid: blowery: share? [17:32] blowery: reid: it's on github. https://github.com/blowery/yeit [17:33] blowery: spelled right [17:33] naturalethic has joined the channel [17:33] naturalethic: does crypto have AES or any other synchronous alg? [17:33] naturalethic: symmetric rather [17:33] Aria: symmetric, you mean? [17:34] blowery: reid: https://github.com/blowery/yeti [17:36] alek_br has joined the channel [17:36] eddanger: where is the live stream? [17:36] V1_ has joined the channel [17:36] yenz: http://www.ustream.tv/channel/node-js-camp [17:37] stepheneb has joined the channel [17:40] chapel: awesome presentation :) [17:41] stride: funny, I have almost the same bash & vim color schemes :) [17:41] booths has joined the channel [17:42] stagas has joined the channel [17:43] CrypticSwarm has joined the channel [17:44] tekky has joined the channel [17:45] strmpnk_ has joined the channel [17:45] eddanger: I have power! [17:46] slloyd has joined the channel [17:47] Floxxx: go isaacs [17:47] pquerna: damn vim users. [17:47] tk_idle has joined the channel [17:47] hamcore: var file = file[0] == "#" ? path.join(logPath, file, today+'.log') : path.join(logPath,'query.log'); [17:47] jmar777: holy crap - someone tell isaacs to find a new color scheme lol [17:47] hamcore: is this possible? [17:48] yenz: dark bg 4tl [17:48] aubergine has joined the channel [17:48] stepheneb has joined the channel [17:48] Floxxx: should be hamcore [17:49] stride: mscdex: are you at the camp? :) [17:49] mscdex: unfortunately no :\ [17:49] mscdex: i'm on the opposite side of the country [17:49] yenz: i love how w/ the stream and IRC you're pretty close to being there though [17:49] yenz: ACTION hugs technology  [17:49] chapel: yeah [17:50] stride: mscdex: heh, yeah, I know that feeling.. opposite side of the world.. :/ [17:50] chapel: too bad joyent didnt invest in a capture card [17:50] edwardchuajh: not when you're in the other side of the world and the stream lags badly =( [17:50] chapel: and a video mixer [17:50] mape: Hmm anyone remember the new crazy set attribute to element and make it able to click through? (html) [17:50] jakehow has joined the channel [17:50] yenz: sure beats the cutting edge from before, of a handful of incomplete PPT decks in PDF format for download :D [17:51] mraleph: it does not lag here in Denmark... which I classify as another side of the world :-) [17:51] rpflo has joined the channel [17:51] stride: seems okay here as well (Germany) [17:51] edwardchuajh: i guess connections to Singapore is just crappy -sad- [17:52] yenz: edwardchuajh: make a pastie of your traceroute? [17:52] stephenjudkins has joined the channel [17:53] mape: Works nicely here (sweden) [17:53] beawesomeinstead has joined the channel [17:53] steffkes has joined the channel [17:56] edwardchuajh: yenz: here it is http://pastie.org/1376715 [17:56] yenz: odd, no obviously terrible hops [17:57] edwardchuajh: actually it is getting better as it gets alter in the night hmm [17:57] edwardchuajh: later* [17:57] edwardchuajh: 2Am here [17:57] yenz: yikes [17:57] kjeldahl_ has joined the channel [17:57] yenz: 10am (Canada) :) [17:57] yenz: er, 11 [17:58] edwardchuajh: wondering if i should go sleep and watch the video upload (if there is one) instead [17:58] edwardchuajh: but it wont be the same hmm [18:00] Aria has joined the channel [18:01] tekky has joined the channel [18:01] eee_c has joined the channel [18:01] pquerna: take that vim users [18:01] kodisha_ has joined the channel [18:01] hamcore: when using fs.open it's creating a file without r w x permissions, how could i solve it? [18:01] EGreg_ has joined the channel [18:02] pquerna: hamcore: 3rd arg is mode [18:02] hamcore: fs.open(file, 'a', 666, function (err, id) { [18:02] hamcore: 666? [18:02] robotarmy has joined the channel [18:03] gf3 has joined the channel [18:03] chapel: idk, I manually created the file [18:06] stride: hm. the questions remind me: there's no node/websocket-powered version of google moderator yet.. [18:06] springmeyer has joined the channel [18:07] stephenjudkins has joined the channel [18:08] naturalethic: shouldn't the output encodings for cipher.update and cipher.final be the same? [18:08] naturalethic: the options that is [18:09] bruce_ has joined the channel [18:09] reid has left the channel [18:10] robotarmy has joined the channel [18:11] chapel: stride: yeah, there should be :) [18:11] chapel: and have it be about node [18:11] ryah: is the live streaming working? [18:11] naturalethic: hmm my output isn't affected regardless [18:11] chapel: yeah, watching now ryah [18:11] chapel: watched your presentation [18:11] chapel: was good [18:11] tjholowaychuk: ryah: yup its fine in canada [18:11] dnolen has joined the channel [18:11] ryah: sweet [18:12] mr_daniel has joined the channel [18:13] dnolen: what should I do if I only want to write a part of a buffer to a stream? or is it just best to have a buffer that is the right size to begin with? [18:13] edwardchuajh: bah im waiting for the Cloud9 IDE section, but itd be 5am here [18:13] benburkert has joined the channel [18:13] jherdman has joined the channel [18:14] msekimura has joined the channel [18:14] eddanger_ has joined the channel [18:14] stride: dnolen: buffer.slice(start, end) might be what you're looking for [18:14] figital has joined the channel [18:14] davidsklar has joined the channel [18:15] twoism has joined the channel [18:15] matjas has joined the channel [18:15] chapel: what someone needs to do is get cloud9 working on chrome os [18:15] dnolen: stride: thx [18:15] mraleph: chapel: it does not work? [18:16] chapel: huh? [18:16] chapel: well, in a remote easy to use way [18:16] chapel: like a webservice [18:16] chapel: but I guess it would work if you set it up yourself :P [18:16] edwardchuajh: installing cloud9 was a pain thogh [18:17] edwardchuajh: cloning from github was slow [18:17] chapel: I think it could be simpler [18:17] chapel: :P [18:17] davidsklar1 has joined the channel [18:17] edwardchuajh: well i hope it could be too [18:18] stride: chapel: alias cloud9='ssh user@host vim' [18:18] stride: :> [18:19] chapel: lol [18:19] chapel: talking about chrome os [18:19] chapel: which doesn't have a terminal that I know of [18:19] EGreg_: what do you guys use to host node.js ? [18:19] stride: doesn't that have a shortcut to open a terminal? [18:19] EGreg_: do you use one process per cpu? [18:19] EGreg_: per core I mean [18:19] reid has joined the channel [18:19] stepheneb has joined the channel [18:19] cferris: chapel: chrome os has a terminal & ssh [18:19] EGreg_: Listen I have a question btw ... I want to make nodeblog.com for all things node. Do you guys think it would be a good idea? To have a portal for node and its tools? [18:19] chapel: oh cferris I didn't know [18:20] cardona507 has joined the channel [18:20] cferris: i think its ctrl + alt + t to slide over to the term? [18:20] sriley has joined the channel [18:20] cardona507_ has joined the channel [18:20] edwardchuajh: EGreg_: using EC2 free one year! [18:20] c4milo: EGreg_: yes [18:21] steffkes: edwardchuajh, oh noe .. with annoying micro-instances .. ;> [18:21] chapel: EGreg_: yeah a node blog would be cool [18:21] chapel: and I use webfaction atm [18:21] edwardchuajh: steffkes: haha yes, btu tis great for messing with node and other stuff though [18:22] chapel: though I plan on playing with nodejitsu when I have something more solid to use on it [18:22] edwardchuajh: just question, what text editor is he using? [18:22] edwardchuajh: nodejitsu? (off to google) [18:23] EGreg_: this seems pretty sweet btw: [18:23] EGreg_: http://developer.yahoo.com/blogs/ydn/posts/2010/07/multicore_http_server_with_nodejs/ [18:23] EGreg_: seems like yahoo solved it nicely [18:24] technoweenie has joined the channel [18:27] chapel: too bright [18:28] brianleroux has joined the channel [18:29] edwardchuajh: ok time to sleep night! [18:29] edwardchuajh has left the channel [18:29] edwardchuajh has joined the channel [18:31] stride: ACTION wants rauchg's .vimrc [18:32] stepheneb_ has joined the channel [18:32] derren13 has joined the channel [18:32] booths has joined the channel [18:34] Guest70501 has joined the channel [18:35] reid has joined the channel [18:35] aguynamedben has joined the channel [18:36] brianler_ has joined the channel [18:37] ShinMei has joined the channel [18:38] laurelreitman has joined the channel [18:38] twoism has joined the channel [18:40] marienz has joined the channel [18:40] polyrhythmic has joined the channel [18:41] andrzejsliwa has joined the channel [18:44] vnguyen has joined the channel [18:45] pedrobelo has joined the channel [18:46] alek_br has joined the channel [18:52] sh1mmer has joined the channel [18:52] sh1mmer: yo [18:52] sh1mmer: live stream of node camp http://news.ycombinator.com/item?id=2004841 [18:52] sh1mmer: it needs votes :) [18:53] gkatsev: I wish I could've attended and I wish I could've watched :( [18:54] sh1mmer: gkatsev: it's still on [18:54] sh1mmer: you can still watch [18:55] gkatsev: I'm at work, is what I mean. [18:55] JimBastard: http://blog.couchone.com/post/2314470878/nodejitsu-couchone-couchdb [18:55] JimBastard: wooot [18:55] JimBastard: its on now! [18:55] jbergstroem has joined the channel [18:56] naturalethic: anyone notice anything obviously a bad idea with my password encryption method? https://gist.github.com/740878 [18:57] prinzdezibel has joined the channel [18:57] fly-away has joined the channel [18:57] reid has left the channel [18:58] gwoo: JimBastard: awesome [18:58] naturalethic: who's this up now on stage? [18:58] tjholowaychuk: tim [18:59] reid has joined the channel [19:02] ryah: naturalethic: aka creationix [19:03] liar has joined the channel [19:03] AAA_awright_ has joined the channel [19:04] strixv has joined the channel [19:04] stephenjudkins_ has joined the channel [19:05] dgathright has joined the channel [19:07] bronb_ has joined the channel [19:08] langworthy has joined the channel [19:08] richcollins has joined the channel [19:09] polyrhythmic has joined the channel [19:09] dguttman has joined the channel [19:11] technoweenie: naturalethic: what bcrypt cost is default [19:11] tjholowaychuk: this one doesnt seem to nodeish [19:12] stephenjudkins has joined the channel [19:12] andrzejsliwa has joined the channel [19:12] naturalethic: technoweenie: dunno, i did a quick test though and got about 6x time over just sha256 [19:13] technoweenie: naturalethic: you should store the cost with the user's salt [19:13] technoweenie: maybe in a year you want to upgrade the default cost [19:13] technoweenie: or set the cost to 0 in testing environments [19:13] isaacs has joined the channel [19:13] naturalethic: how would i access cost through crypto. api ? [19:14] isaacs: hello from node camp! [19:14] technoweenie: i dont know [19:14] isaacs: irc is blocked by the network here. [19:14] stride: isaacs: \o/ [19:14] isaacs: The stream is at http://www.ustream.tv/channel/node-js-camp [19:14] stride: your npm talk was great :) [19:14] isaacs: creationix is talking about clientside js. [19:14] jpick: isaacs, i saw you on the tv! [19:14] naturalethic: technoweenie: if i figure on changing the cost some day, i can do it for everyone at once i suppose [19:14] isaacs: stride: thanks :) [19:15] isaacs: i kinda dig this irssi thing. very clean and nice. [19:15] stride: was the start parameter always supported in package.json? totally missed that [19:15] eddanger has joined the channel [19:15] technoweenie: right but you cant change it without breaking the password of existing users can you [19:16] InsDel has joined the channel [19:16] naturalethic: technoweenie: yes, i am a retard [19:20] isaacs: strixv: scripts has been around for a while, yeah [19:20] isaacs: strixv: not sure when "npm start" landed. git probably does, but it was a while ago, i know that. [19:20] strixv: eh? [19:20] cagdas has joined the channel [19:20] isaacs: er... that was for stride [19:20] isaacs: stride^^ [19:20] stride: ah :) okay, thanks [19:21] bronb_: I was wondering if nodejs approach could be met under C strictly? (callbacks approach?) [19:22] A83 has joined the channel [19:22] A83: hi [19:23] wdperson has joined the channel [19:23] mies has joined the channel [19:23] yonkeltron: i can now personally vouch for node's ability to handle many concurrent HTTP connections from sources which will respons slowly and still remain performant [19:24] A83: How do I add node command to the terminal? I've just cloned the git rep and have run 'make install'. but get -bash: node: command not found Sorry for noobish question, thanks in advance! [19:24] naturalethic: technoweenie: perhaps more work could be added just by running n updates against the salt in the cipher [19:24] isaacs: bronb_: yes, you can definitely do everything node does in c [19:24] isaacs: bronb_: it's just very painful. [19:25] naturalethic: bronb_: perhaps using C blocks [19:25] isaacs: bronb_: "callbacks" in C are awful. function pointers < closures. [19:25] naturalethic: C blocks are closures [19:25] naturalethic: but i think require the objc runtime [19:25] mraleph: managing lifetime will just kill you and maybe even turn you into undead [19:26] marienz has joined the channel [19:26] tapwater has joined the channel [19:26] bronb_: isaacs: do you happen to know of any server which actually tried it with plain C? [19:26] isaacs: bronb_: ryah did something like that before node, i believe. [19:26] msilverman2 has joined the channel [19:27] isaacs: bronb_: to hear him tell the story, "No one liked it" [19:27] brianleroux has joined the channel [19:27] isaacs: A83: echo $PATH <-- that will show you where bash looks for programs. [19:28] isaacs: A83: add this to your .bashrc file: export PATH=/usr/local/bin:$PATH [19:28] bronb_: isaacs: yea, I can only imagine it's not as smooth, but I would like to learn how such a thing be structured. (what I have in my head is a complete chaos) [19:28] naturalethic: a83: you probably want to run 'make' by itself first, then 'make install' [19:28] isaacs: naturalethic: if `make install` works, then it does the same thing [19:28] isaacs: naturalethic: the `install` target depends on the default `all` taret. [19:29] naturalethic: isaacs: gotcha, i usually separate them because sometimes that isn't the case, ruby being a notable case [19:29] visnup has joined the channel [19:30] justin__ has joined the channel [19:31] ErikCorry has joined the channel [19:31] JimBastard has joined the channel [19:32] ReshadN has joined the channel [19:33] ReshadN: Hello World! First time on IRC. New to node and can't seem to get npm working. [19:34] chapel: bah stream keeps going down [19:34] chapel: I wanted to watch the redis talk [19:34] ohpauleez has joined the channel [19:35] huehnts has joined the channel [19:35] yonkeltron: ReshadN: some details'd be great [19:35] fizx has joined the channel [19:35] tahu has joined the channel [19:35] tilgovi has joined the channel [19:35] ErikCorry: ReshadN: My experience was that npm didn't work with the Ubuntu packages. [19:36] ErikCorry: You have to compile yourself. [19:36] ErikCorry: Because the installer puts things in the wrong places with the wrong names and the wrong permissions. [19:36] msilverman2: Hey everyone, we have a node process that makes many HTTP requests async style. In order to detect "done", we are using a simple semaphore. However, we are getting to the point where no more requests are being done, but the semaphore count is not getting to 0, which prevents the final callback from being done. We've done a lot of checking around the code and we are confident that it is not anything like [19:36] msilverman2: uncaught exceptions. Anyone seen this behavior before? [19:36] ReshadN: Here is the instruction set I'm using to install node. [19:36] ReshadN: https://github.com/ry/node/wiki/Building-node.js-on-Cygwin-(Windows) [19:37] yonkeltron: oh. windows. [19:37] ReshadN: yes unfortunately.. haha [19:38] yonkeltron: msilverman2: you're trying to hold certain behavior until after all the HTTP requests have returned? [19:38] aheckmann has joined the channel [19:38] A83: isaacs: thanks [19:39] mraleph: ACTION recommends adding the following line to windows build instructions: "0. Install Linux" [19:39] yonkeltron: mraleph: good man. [19:39] yonkeltron: ReshadN: ^^ [19:39] yonkeltron: see that? [19:39] yonkeltron: consider it strongly [19:39] msilverman2: yonkeltron: yes, that's correct. [19:39] yonkeltron: ReshadN: have you ever successfully built software on windows using cygwin? [19:39] oal has joined the channel [19:40] ReshadN: nope. new on cygwin also. [19:40] yonkeltron: msilverman2: ok, so technically that's not allowed because you're talking about blocking which is not allowed [19:40] ReshadN: I've installed a vmware player and Ubuntu netbook edition. So i'm going to give node and npm a quick shot there. [19:40] yonkeltron: ReshadN: i'm going to go out on a limb here and say that cygwin is where you should first look [19:40] yonkeltron: ReshadN: good idea! [19:40] msilverman2: yonkeltron: even if we weren't trying to do that, we do need to know when all the requests are done. [19:41] yonkeltron: msilverman2: right i actually had something like this a few days ago [19:42] ReshadN: thanks [19:42] Chepra has joined the channel [19:42] yonkeltron: msilverman2: first thing to keep in mind is that semaphores and locks suck [19:43] msilverman2: yonkeltron: agreed! ;) [19:43] sudarshanbhat has joined the channel [19:43] ohpauleez has left the channel [19:43] yonkeltron: msilverman2: anyway, my problems was: [19:43] sudarshanbhat has left the channel [19:45] yonkeltron: msilverman2: i had a list of HTTP queries which needed to complete before 'continuing'. so i held the behavior i wanted executed after in a callback (higher order functions and function objects ftw). i knew what the http requests had to be so i held them in an array. i created a new empty array and an event emitter. [19:46] yonkeltron: msilverman2: the HTTP reqeusts' end event triggered the event emitter which added the name of the http request (could be any arbitrary element so long as it corresponds properly) to the array and checked to see if the array equaled the list of requests we were waiting for [19:47] yonkeltron: msilverman2: when the lists became equal we knew that all the http requests had completed and we then executed the callbacks [19:47] yonkeltron: callback [19:47] yonkeltron: sorry [19:47] yonkeltron: msilverman2: does that make sense? [19:47] msilverman2: yonkeltron: I like that approach. The challenge we have is that we have requests going to different services based on the results of other requests. This is all handled via callbacks. But, we don't know up front how many requests there will be overall. [19:47] yonkeltron: this is a challenge, dawg. [19:47] yonkeltron: msilverman2: so.... [19:48] yonkeltron: msilverman2: what if you add new identifiers to the array? [19:48] yonkeltron: msilverman2: know what i mean? [19:48] yonkeltron: msilverman2: what's wrong with adding new requests to the queue or some such? [19:48] yonkeltron: i mean, you could just use a counter [19:49] yonkeltron: no need to do array manipulation [19:49] msilverman2: yonkeltron: we have been saving results in arrays. For some reason that we can't fathom, our counter is not getting to zero. [19:49] yonkeltron: from how many different places are you dec'ing the counter? [19:50] yonkeltron: try an event emitter which listens for a done event or some such [19:50] msilverman2: 2, primarily. [19:50] yonkeltron: and when it's done, it dec's the counter [19:50] maushu has joined the channel [19:50] yonkeltron: one spot [19:50] yonkeltron: easier to debug [19:50] yonkeltron: i really hope i'm giving you good advice here... [19:50] yonkeltron: but sometimes it helps just to talk things out, amirite? [19:51] stepheneb has joined the channel [19:52] ReshadN: Ok new problem on Ubuntu Netbook installing node.js --> Message reads "/local/node/wscript:235: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message. [19:52] EGreg_: sup people [19:52] EGreg_: does everyone here use Connect? [19:52] yonkeltron: ReshadN: do you have openssl dev files installed? [19:52] EGreg_: It seems like it's a standard. What else is standard for deploying multi-process node ? [19:52] ReshadN: What would be the fastest way to check or install? [19:52] tjholowaychuk: EGreg_: its not really the standard or anything, but it works fine [19:52] pquerna: jspack letting me down. [19:53] yonkeltron: msilverman2: how you doing, buddy? [19:53] tjholowaychuk: so lots of people lean towards it, but its not perfect. Alternatives are things like jsgi [19:53] _Pilate has joined the channel [19:53] tobym has joined the channel [19:54] msilverman2: yonkeltron: doin' alright. We are trying some stuff out, not the least of which is removing some setTimeout nastiness. [19:54] EGreg_: so how do you depoy node on multi cores? [19:55] yonkeltron: msilverman2: oh dear. [19:55] yonkeltron: msilverman2: get a sponge love, it helps with the cleanup. [19:55] msilverman2: lol [19:55] AAA_awright_ has joined the channel [19:56] murz has joined the channel [19:57] yonkeltron: msilverman2: if you need events, use events. [19:57] yonkeltron: msilverman2: timeouts should only be used for what they need to be used for [19:58] yonkeltron: msilverman2: otherwise you end up with non-deterministic behavior for nothing! [19:58] esigler has joined the channel [19:58] yonkeltron: msilverman2: imagine writing a test which had an assert which executed after a "good amount of time" to see if some async operation had returned [19:58] torvalamo has joined the channel [19:58] yonkeltron: msilverman2: no way to know for sure. therefore, you have a non-deterministic test which is not a test at all [19:59] yonkeltron: msilverman2: well, it's a really shitty test. [19:59] yonkeltron: msilverman2: unless you're a friends fan in which case that sort of thing prob appeals to you [19:59] _Pilate: using something like node-mysql, whats the recommended method of doing multiple queries before returning data? nesting callbacks? [19:59] msilverman2: yonkeltron: I know. It's a drag. Dealing with rate limit quotas from third parties... [19:59] yonkeltron: oooooh [19:59] yonkeltron: interesting [20:00] FuzzYspo0N has joined the channel [20:00] yonkeltron: just for the lols [20:00] yonkeltron: hang on [20:00] pquerna: jspack.Pack("h", 32); -> [ 0, 0 ] [20:00] yonkeltron: msilverman2: http://documentcloud.github.com/underscore/#throttle look at throttle and debounce [20:01] msilverman2: yonkeltron: thanks [20:01] yonkeltron: msilverman2: but keep it deterministic [20:02] jchris has joined the channel [20:03] jonaslund has joined the channel [20:04] danielzilla has joined the channel [20:05] ph^ has joined the channel [20:09] ErikCorry: ReshadN: sudo apt-get install openssl-dev [20:11] stepheneb has joined the channel [20:12] dberlinger has joined the channel [20:12] p6 has joined the channel [20:12] ErikCorry: sorry [20:12] ErikCorry: that should be libssl-dev [20:12] ErikCorry: not openssl-dev [20:13] stagas has joined the channel [20:13] marienz has joined the channel [20:15] matija_ has joined the channel [20:16] faust45 has joined the channel [20:22] robotarmy has joined the channel [20:25] ilpoldo has joined the channel [20:26] davglass has joined the channel [20:29] dgathright has joined the channel [20:31] fuzzy_ has joined the channel [20:35] stepheneb_ has joined the channel [20:36] jmar777 has joined the channel [20:36] lowik has joined the channel [20:37] Phyllio has joined the channel [20:38] stepheneb_ has joined the channel [20:38] sepehr has joined the channel [20:39] reid has joined the channel [20:42] kuatto has joined the channel [20:43] daniellindsley has joined the channel [20:43] davglass_ has joined the channel [20:45] andrzejsliwa has joined the channel [20:45] mraleph1 has joined the channel [20:51] futuremint has joined the channel [20:51] futuremint: does the new nodejitsu / CouchOne thing talk over SSL? [20:54] raphaf has joined the channel [20:56] DoNaLd`: someone has idea ? http://pastebin.com/D6J67cbA [20:59] Jonasbn_ has joined the channel [21:02] lowik has left the channel [21:03] lowik has joined the channel [21:07] reid has joined the channel [21:08] ls_n has joined the channel [21:10] laurelreitman has joined the channel [21:11] lowik has joined the channel [21:12] burlingo has joined the channel [21:12] shimon_ has joined the channel [21:13] burlingo: shimon_:hi [21:13] shimon_: burlingo:hi [21:13] herbySk has joined the channel [21:14] shimon_: anyone here? [21:15] ls_n: ? [21:15] shimon_: ls_n: just checking mape's http://wargamez.mape.me/ [21:15] mape: shimon_: :) [21:15] norviller has joined the channel [21:15] shimon_: thanks [21:16] halfhalo: woot, its been updated! [21:16] shimon_: mape: i wanted to show it to my friend [21:16] mape: Jup it uses socket.io now [21:16] shimon_: mape: it dos not works from same country to same country [21:16] stepheneb has joined the channel [21:16] shimon_: mape: cool [21:16] mape: shimon_: well it isn't really meant for one country.. [21:17] shimon_: bye cool [21:17] mape: But stagas made one for greece [21:17] shimon_: :) [21:17] shimon_ has left the channel [21:17] mape: So it is doable for single countries [21:19] booths has joined the channel [21:20] stagas: it was like super hard [21:20] stagas: :P [21:20] halfhalo: super hard or super super hard? [21:21] stagas: if you're patient it's doable :) [21:21] konobi: how goes the camp? [21:21] aubergine has joined the channel [21:22] mape: The crowd seemed kinda docile when I followed the stream [21:22] jimt has joined the channel [21:23] ErikCorry: I'm feeling pretty docile myself. [21:24] yonkeltron: http://jlouisramblings.blogspot.com/2010/12/differences-between-nodejs-and-erlang_14.html [21:25] DoNaLd`: has someone idea ? http://pastebin.com/D6J67cbA [21:29] booths: Anyone aware of why I would see a "Error: ENOBUFS, No buffer space available" error under a relatively light load? [21:29] cferris has joined the channel [21:30] adelcambre: ls [21:30] adelcambre: bah [21:30] eponym has joined the channel [21:31] jonaslund: yonkeltron: cpt obvious? :) [21:31] eponym: How do I handle an HTTP PUT? [21:31] yonkeltron: jonaslund: agreed! [21:32] jonaslund: yonkeltron: he could've made that same example with Java for all it's worth [21:32] eponym: (Is there a minimal example somewhere?) [21:32] AAA_awright: eponym: Same way you do POST or any other request with a body [21:32] jonaslund: besides, couldn't you just start up a few instances of multi-node ? [21:33] stagas: is streaming working for you? [21:33] AAA_awright: eponym: request.on('data', callback); request.on('end', callback); [21:33] eponym: so [23:09] tjholowaychuk: yeah kinda sinatra like [23:09] tjholowaychuk: kinda akward looking [23:09] tjholowaychuk: but i guess that is py [23:09] tjholowaychuk: for you [23:10] ryah: nc -u 169.230.236.244 7000 [23:11] ryah: ^-- pquerna has this on screen [23:11] ryah: udp chat server [23:14] Druid_ has joined the channel [23:16] norviller has left the channel [23:16] deedubs has joined the channel [23:17] deedubs: how would one go about syncing up an operation that has multiple steps such as collect files, compress each file, and the optimize each file into a single file at the end [23:18] deedubs: ideally I'd like the collection of the files to be sync and then, compress async, and then optimize sync [23:18] jonaslund: tjholowaychuk: not bad looking, i not doing everything the way i'd go about things but not insane either [23:19] tjholowaychuk: jonaslund: suggestions are certainly welcome, its neat to see what people do coming from things like django [23:19] tjholowaychuk: just thought it would be a bit better since it is so well known [23:21] jonaslund: well nothing is perfect, it's all about the usage,etc [23:21] KyleXY has left the channel [23:21] KyleXY has joined the channel [23:21] jonaslund: but simply binding forms to sessions would be a good thing to do smoothly [23:22] jonaslund: (to avoid XSS) [23:22] tjholowaychuk: some things are hard to implement (nicely) without binding to some kind of ORM etc [23:22] tjholowaychuk: so express is limited in that sense [23:22] jonaslund: yup [23:22] tjholowaychuk: which is fine, I have no intention of it being something huge like django or rails [23:23] jonaslund: i could see myself using express for certain stuff [23:23] tjholowaychuk: but with jade compilation you can provide introspection and doing some really neat stateful forms etc [23:23] tjholowaychuk: transparently [23:23] zemanel: deedubs: there was a post around abut doing sync stuff like reading files but i cant remember where it was [23:24] stagas: jade rocks [23:24] brianc: tjholowaychuk: know if anyone's working on jade-mode for emacs? I thinking of starting & a google search has turned up nothing. [23:24] tjholowaychuk: stagas: thanks :) still a WIP, some bugs unfortunately lol but hey [23:24] tjholowaychuk: brianc: I *think* it exists [23:24] zemanel: deedubs: http://howtonode.org/control-flow , source was http://camp.nodejs.org/resources.html [23:24] tjholowaychuk: one sec [23:25] zemanel: whats emacs? [23:25] zemanel: :D [23:25] zemanel: is it something similar to vi? [23:25] stagas: tjholowaychuk: couldn't find any other than sometimes it inserts a newline before closing tags [23:25] zemanel: ;p [23:25] tjholowaychuk: hmm I thought there was, I cant find it [23:25] deedubs: thanks zemanel ! [23:25] tjholowaychuk: stagas: yeah I have some in the issue queue, but the whitespace rules need some work [23:26] stagas: tjholowaychuk: I like that I send a lot of logic out to it and it keeps my actual app clean [23:26] tjholowaychuk: i might defer the whitespace to the trailing tag, not sure yet [23:26] brianc: tjholowaychuk: i couldn't either. I suppose I'll fiddle with one this week if I get the time. I'll keep u posted [23:26] stagas: tjholowaychuk: I use it extensively at hwknd.com [23:26] tjholowaychuk: brianc: sounds good, I should put a link in the readme [23:26] tjholowaychuk: which I thought I had [23:26] tjholowaychuk: but I think that was something for vim [23:26] stagas: tjholowaychuk: the search is also fully jade powered [23:26] tjholowaychuk: stagas: cool :) [23:27] mikew3c_ has joined the channel [23:27] tjholowaychuk: jade will be killer once I have time to refine [23:28] tjholowaychuk: wish I was a bit more strict on the syntax, so we could get rid of with(){} [23:28] tjholowaychuk: js expressions fuck me over in some cases [23:29] tjholowaychuk: stagas: we have another secret project in the works [23:30] tjholowaychuk: inspired by jade (not for html though) [23:30] tjholowaychuk: and a different project, both released in a week or so [23:31] pquerna: man, my textmate is ugly now [23:31] tjholowaychuk: pquerna: cool demo :D [23:31] tjholowaychuk: was nice seeing some lower level stuff [23:32] Durl_ has joined the channel [23:35] JamesBaster has joined the channel [23:36] laurelreitman has joined the channel [23:36] JamesBaster: hey guys, i read about this node.js thing today and it looked cool [23:36] ShiZWeaK: it is cool [23:36] kuatto has joined the channel [23:37] sveisvei has joined the channel [23:37] Alex3000 has joined the channel [23:42] grey-monkey has joined the channel [23:44] jashkenas has joined the channel [23:44] bartmax has joined the channel [23:44] bartmax has joined the channel [23:47] ukev: howto get node.js on archlinux for arm (plugapps.com) ? [23:47] tonymilne: What are peoples thoughts on persistent connections to the database in node apps? [23:47] grey-monkey has left the channel [23:50] omygawshkenas has joined the channel [23:51] trotter has joined the channel [23:53] sonnym has joined the channel [23:54] pquerna: nodesshfast? [23:55] zemanel: JimBastard: looks good and tastes like chicken [23:55] JimBastard: lolsup zemanel [23:56] JimBastard: havent seen you around, but ive been keeping odd hours [23:56] zemanel: nothing much, work [23:56] mdoan has joined the channel [23:56] zemanel: ive been away trying to make a living [23:56] JimBastard: me too [23:56] JimBastard: i spent all my money on nodejitsu [23:56] JimBastard: now im spending other people's money [23:56] JimBastard: :-D [23:57] zemanel: nice :) [23:57] zemanel: im looking into entrepreneurship myself [23:57] zemanel: bootstraping [23:57] zemanel: kind of hard atm [23:57] JimBastard: start a node.js cloud hosting company, that seems to be the trend this week [23:57] zemanel: nah im looking to start a node.js could company :) [23:57] zemanel: cloud [23:58] JimBastard: ohh yeah, thats a better idea for sure [23:58] zemanel: nodejitsu's your startup right? [23:58] JimBastard: aye [23:58] JimBastard: and indexzero [23:58] zemanel: what do you do? [23:58] JimBastard: can you be more specific ? [23:59] zemanel: what do you do, in your startups? [23:59] JimBastard: me personally? [23:59] zemanel: also [23:59] zemanel: like