you mean?
[09:27] fille12: thanks
[09:27] fille12: nod
[09:27] ParadoxQuine: yup
[09:27] ParadoxQuine: div.className#idName
[09:27] ParadoxQuine: that's the syntax
[09:27] fille12: aa cool
[09:27] ParadoxQuine: so div.classOne.classTwo or div#idName
[09:27] fille12: got the docs rioght now
[09:27] jelveh has joined the channel
[09:28] ParadoxQuine: the page for express has easy ways to hook it up so you can write you templates in stylus and jade and itll compile it all into your static file dir as html+css when you launch your app
[09:28] ParadoxQuine: have fun!
[09:29] fille12: one more. what database driver should i use
[09:29] ParadoxQuine: for which db?
[09:29] cryptix has joined the channel
[09:29] fille12: mysql i guess
[09:29] mscdex: node-mysql
[09:29] fille12: okej
[09:29] mscdex: imho
[09:30] ParadoxQuine: i have no opinion but id trust mscdex's
[09:30] ParadoxQuine: have a good night guys
[09:30] fille12: wave
[09:32] christophsturm has joined the channel
[09:33] jetienne: q. is there a good recomended tutorial on how to install node.js on window ?
[09:36] JoshC1: yeah
[09:36] JoshC1: https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows)
[09:37] Xano has joined the channel
[09:37] `3rdEden: jetienne yeah, wait untill libuv is stable ;D
[09:37] `3rdEden: cygwin is crap
[09:38] `3rdEden: you might as well install a vm on windows and install linux on that
[09:38] eikaas_ has joined the channel
[09:38] jetienne: `3rdEden: hmm ok im collaborating with somebody who is pro-php and window user... i would like to make it easy for him to run node (as i will code our project on node)... what is the best ?
[09:39] jetienne: vm ? or maybe a mac...
[09:39] `3rdEden: jetienne I would just say install a vm
[09:39] jetienne: ok linux/mac seems clearly the way to go, or i will get more problem down the road
[09:39] `3rdEden: Not all npm modules work on windows
[09:39] jetienne: `3rdEden: ok thanks will do
[09:39] jhurliman: mac is the best way to go IMO
[09:39] __jgr has joined the channel
[09:40] `3rdEden: Mac is always the best way to go ;D but for developing servers linux is the way to go
[09:40] jetienne: jhurliman: yep.. but he got a two 26inch screens on his desk plugged to its pc
[09:41] adambeynon has joined the channel
[09:42] JackeyChan has joined the channel
[09:42] snearch has joined the channel
[09:46] skohorn has joined the channel
[09:49] jonaslund: mmyeah, the way native modules are modelled (and much else) is after a "unix" philosophy
[09:49] jonaslund: where you have a system compiler available always,etc
[09:49] burningdog has joined the channel
[09:51] jonaslund: and i guess they have the usual way of depending on app libs (like mysql libs,etc..)
[09:51] Emmanuel: anyone using connect (especially connect.session) here ?
[09:52] burningdog_ has joined the channel
[09:52] Emmanuel: I don't feel like reimplementing a session store
[09:52] Emmanuel: and the one provided apparently don't store Object, but data (prolly JSON)
[09:52] Emmanuel: which mean I can't store function in this store
[09:52] Emmanuel: (which I need to do)
[09:52] Emmanuel: any clue
[09:53] MooGoo: string the function up
[09:53] JackeyChan has joined the channel
[09:54] Emmanuel: then eval() it ?
[09:54] Emmanuel: sounds like a good idea, I should have thought about it :)
[09:55] MooGoo: you'll lose the functions context/closure of course
[09:57] Emmanuel: ah crap
[09:59] Emmanuel: so I need to find another
[09:59] Emmanuel: way*
[09:59] sechrist has joined the channel
[09:59] rputikar has joined the channel
[09:59] seivan has joined the channel
[10:00] burningdog_ has joined the channel
[10:01] MooGoo: probably wouldnt be hard to implament a basic session store
[10:01] burningdog__ has joined the channel
[10:05] index0h_ has joined the channel
[10:07] Emmanuel: nope. Actually I had one before, but I found that using the connect one was more convenient
[10:10] kawaz_air has joined the channel
[10:13] Charuru has joined the channel
[10:19] syskk has joined the channel
[10:21] TheDeveloper has joined the channel
[10:23] Casperin: I just accidentally deleted a node_modules containing cradle (every other module installed with npm seems to be installed somewhere in /usr/bin), which left programs relying on cradle unable to function. I can't uninstall it (because that folder is missing) and I can't reinstall it, because it's still technically installed. What can I do?
[10:25] cinos has joined the channel
[10:26] ngs has joined the channel
[10:26] bwinton has joined the channel
[10:26] Xano has joined the channel
[10:27] burningdog has joined the channel
[10:29] jbpros has joined the channel
[10:29] Jalava: ok, if I use callbacks and try/catch, is right way to all callback return inside try / catch with process.nextTick(function() {cb(err, data}; )?
[10:29] nilcolor: Casperin: install it for other user/ on other machine and copy it?
[10:30] okuryu has joined the channel
[10:31] Casperin: nilcolor: Hmm yeah.. better than anything else I can think of.. I'll give it a go :)
[10:31] mscdex: Jalava: huh? you can't use try/catch with async functions unless they can throw an error immediately
[10:31] nilcolor: Casperin: good luck ;)
[10:31] sirdancealot has joined the channel
[10:32] Casperin: thx :)
[10:34] Yoric1 has joined the channel
[10:34] kawaz_air has joined the channel
[10:34] znarfor has left the channel
[10:34] nilcolor: Jalava: async function returns even faster that immediately i think. so you cant try/catch async except error will be during calling async. i think so
[10:34] Jalava: mscdex: there are cases, such ass connrefused that can happen with db drivers that i needto catch
[10:34] Jalava: problem with try / catch is that if i use callbacks, all exceptions are catched by previous try / catch block :)
[10:36] tuhoojabotti: I don't know why, but doing eval on a compiled dust template works, but using the loadSource doesn't. D:
[10:37] Jalava: oh yeah, i can't use try / catch there, now i see
[10:38] g_ has joined the channel
[10:38] g_: Didn't work. Cradle is "installed" globally
[10:40] Casperin2: time to revert the virtual machine :)
[10:43] nilcolor has left the channel
[10:49] Opaque has joined the channel
[10:50] springify has joined the channel
[10:50] asabil has joined the channel
[10:51] oodavid has joined the channel
[10:52] TomY has joined the channel
[10:54] sreeix has joined the channel
[10:54] xsyn has joined the channel
[10:59] `3rdEden has joined the channel
[10:59] iori has joined the channel
[10:59] neshaug has joined the channel
[11:01] ewdafa has joined the channel
[11:02] index0h_ has joined the channel
[11:02] suresh has joined the channel
[11:09] kawaz_air has joined the channel
[11:12] kawaz_air has joined the channel
[11:12] nexxy has joined the channel
[11:12] davidcoallier has joined the channel
[11:12] sonnym has joined the channel
[11:16] Hamms has joined the channel
[11:17] stepheneb has joined the channel
[11:17] radicality has joined the channel
[11:19] dyer has joined the channel
[11:19] dyer has joined the channel
[11:21] eee_c has joined the channel
[11:22] kriszyp has joined the channel
[11:24] dyer has joined the channel
[11:25] fille12: anyone here?
[11:27] skm has joined the channel
[11:27] Casperin has joined the channel
[11:29] nilcolor has joined the channel
[11:31] sorens3n: sure
[11:32] pen has joined the channel
[11:33] Wizek has joined the channel
[11:33] fille12: solved it
[11:33] fille12: just thought the node-mysql example was litle bit confusing
[11:37] fly-away has joined the channel
[11:41] mahna has joined the channel
[11:41] Jonasbn_ has joined the channel
[11:42] viz has joined the channel
[11:45] suresh has joined the channel
[11:48] brweber2 has joined the channel
[11:48] ewdafa has joined the channel
[11:49] Casperin: can nodejs be compiled with Python3 now?
[11:52] ditesh|cassini has joined the channel
[11:54] Mrfloyd has joined the channel
[11:55] Emmanuel: Casperin: node is related to Python ?
[11:56] adrianmg has joined the channel
[11:56] Casperin: I remember getting errors when I tried to 'make' it last time, which I eventually solved by installing Python2
[11:57] Casperin: Don't know if that's Arch Linux-only, but I doubt it
[11:58] spaceinvader: it uses a python based build system, waf
[11:59] cryptix: Casperin: use the nodejs package from the AUR, it builds quite well
[12:00] Casperin: cryptix: Googling... I'm still very new to Arch
[12:02] jacter has joined the channel
[12:02] felixge has joined the channel
[12:02] felixge has joined the channel
[12:03] cryptix: Casperin: https://wiki.archlinux.org/index.php/AUR this should get you started. basically you fetch the tarball for the package ( http://aur.archlinux.org/packages.php?ID=32930 ) unpack it, run makepkg ( install the base-devel pacman group first thou) and install the compiled package with pacman
[12:03] hij1nx has joined the channel
[12:04] matias has joined the channel
[12:04] matias: Hello
[12:04] `3rdEden: elo
[12:04] Casperin: yeah.. I'm there. God I love that wiki. Thanks for the quick info, but I think I'll read through it to understand exactly what's going on :)
[12:04] Mart_ has joined the channel
[12:05] rahul_ has joined the channel
[12:05] rahul_: Is it possible to install modules without using npm? I mean, manually?
[12:06] MrTopf has joined the channel
[12:06] cryptix: Casperin: sure. just thought you might want a quick start :)
[12:06] Bradleymeck has joined the channel
[12:07] Casperin: cryptix: I'm beginning to think I do haha
[12:14] jacter has joined the channel
[12:14] scoates has joined the channel
[12:15] tdegrunt has joined the channel
[12:19] dyer has joined the channel
[12:19] dyer has joined the channel
[12:21] simenbrekken has joined the channel
[12:21] rchavik has joined the channel
[12:21] rchavik has joined the channel
[12:23] bshumate has joined the channel
[12:23] bshumate has joined the channel
[12:24] christophsturm has joined the channel
[12:24] miccolis has joined the channel
[12:24] bzinger has joined the channel
[12:25] fumanchu182 has joined the channel
[12:28] rahul__ has joined the channel
[12:29] Yoric has joined the channel
[12:31] benmonty has joined the channel
[12:31] rauchg has joined the channel
[12:32] brianseeders has joined the channel
[12:33] rahul_ has joined the channel
[12:34] heavysixer has joined the channel
[12:34] malkomalko has joined the channel
[12:34] sioked has joined the channel
[12:35] skm has joined the channel
[12:35] lukegalea has joined the channel
[12:36] jbpros has joined the channel
[12:36] jelveh has joined the channel
[12:37] davidcoallier has joined the channel
[12:39] ianward has joined the channel
[12:40] ryanfitz has joined the channel
[12:40] tiagoa has joined the channel
[12:42] davidcoa1lier has joined the channel
[12:43] jetienne has joined the channel
[12:43] arpegius has joined the channel
[12:43] Jonasbn_ has joined the channel
[12:43] dies_el has joined the channel
[12:44] sledge has joined the channel
[12:44] sledge has left the channel
[12:44] sledge has joined the channel
[12:44] sledge: good morning
[12:46] lukstr: morning
[12:46] sambao21 has joined the channel
[12:46] rick_h_: party
[12:46] lukstr: no one told me :(
[12:47] sledge: party hard!
[12:47] sledge: ;D\-<
[12:47] lukstr: ACTION queues up some nyan cat
[12:48] fille12: is it possible to add a a array in res.render express.js
[12:48] fille12: anyone know?
[12:49] lukstr: fille12: pass an array to the renderer?
[12:49] fille12: nod
[12:49] fille12: using jade
[12:49] lukstr: I think the examples on the express repo do that
[12:49] fille12: like res.render('index.jade',result:mysqlresult});
[12:49] pomodoro has joined the channel
[12:50] lukstr: https://github.com/visionmedia/express/blob/master/examples/jade/app.js
[12:50] lukstr: line 65: res.partial('users/list', { list: users });
[12:50] fille12: its work for pageTitle
[12:50] fille12: thanks!
[12:51] lukstr: no problem
[12:51] mendel_ has joined the channel
[12:52] kmiyashiro has joined the channel
[12:52] fille12: i really like express
[12:52] fille12: its really gives me controll
[12:53] KellyM has joined the channel
[12:54] ToXiC has joined the channel
[12:55] kawaz_air has joined the channel
[12:55] Guest4939: hey guys am havin trouble installin express usin npm n cygwin help!
[12:56] Hamms has joined the channel
[12:56] jtsnow has joined the channel
[12:58] baudehlo1 has joined the channel
[12:58] lukstr: General question, is Node + Cygwin the recommended development environment? I was under the impression it was MinGW
[12:58] FireFly|n900 has joined the channel
[12:58] lukstr: (for Windows, of course, not that I care)
[12:58] baudehlo1 has left the channel
[12:58] sriley: tbh it would be a linux vm imo
[12:59] lukstr: sriley: for the windows builds though
[12:59] mscahill has joined the channel
[12:59] jelveh has joined the channel
[12:59] deedubs: In ruby if I had long running tasks that ran every say 5 minutes I would to a GC run after each execution. Thoughts on this and nodejs?
[13:00] sriley: yes, thats why a vm, so use virtualbox install ubuntu or whatever and have that as your dev env
[13:00] lukstr: sriley: that's not what I was asking
[13:01] sriley: that way its more like your production env, always a good thing
[13:01] xsyn has joined the channel
[13:01] xandrews has joined the channel
[13:01] Ned_ has joined the channel
[13:01] lukstr: Let me try again: Cygwin or MinGW, which is more recommended for current versions of Node
[13:01] hellp has joined the channel
[13:01] mikegerwitz: deedubs: GC is handled for you once an object goes out of scope
[13:01] AaronMT has joined the channel
[13:01] tiemonster has left the channel
[13:02] lukstr: deedubs: if you're concerned about the garbage collection system it's pretty well documented for v8 and you can set up v8 to trace when it GCs
[13:03] eee_c has joined the channel
[13:03] deedubs: lukstr: Yeah I was looking at https://github.com/billywhizz/node-gc but I don't think it'll be an issue. I've been monitoring it and it's 'doing the right thing'
[13:03] lukstr: ( sriley: disclaimer: I use linux for pretty much everything so this doesn't really apply to me so much as people who come in talking about it )
[13:03] sriley: iirc if you launch node with a certain arg it also exposes the gc to your code, so you can manually call collection. though you should have a good reason to need to do so
[13:04] kawaz_air has joined the channel
[13:04] jonaslund: lukstr: hmm
[13:04] lukstr: deedubs: I wouldn't be too concerned until profiling
[13:04] sriley: lukstr: id suggest to them too that really, install a linux vm. otherwise theyll face various problems developing their app, and then find when they come to deploy it, it also doesnt work due to different env
[13:04] jonaslund: lukstr: cygwin uses /cygdrive/... paths
[13:04] jonaslund: lukstr: but has all the cygwin bullshit
[13:04] lukstr: sriley: one sec
[13:05] jonaslund: mingw has bla\bla\ paths
[13:05] jonaslund: so that might confuse code for people
[13:05] lukstr: sriley: from the installation wiki: There are two ways of building Node on Windows. One is over the Cygwin emulation layer the other is using MinGW (GNU toolchain for windows). See the Cygwin and MinGW pages.
[13:05] stagas_ has joined the channel
[13:06] sriley: you can, doesnt mean its a good idea though imo
[13:06] lukstr: it USED to be that Cygwin was better supported but I was under the impression MinGW had become better, and so I asked so that I can know, so that I can recommend. I don't really care if it's a good idea or not
[13:06] unomi has joined the channel
[13:06] Venom_X has joined the channel
[13:06] lukstr: jonaslund: mingw has unix-like paths, isn't that good?
[13:07] burningdog has joined the channel
[13:07] jonaslund: lukstr: err no.. cygwin has / for path separator so it's more unix like
[13:07] broofa has joined the channel
[13:07] Vertice has joined the channel
[13:07] jonaslund: lukstr: mingw has windows backslashes \ for path separators
[13:07] lukstr: jonaslund: it doesn't enforce them
[13:07] jonaslund: well, if you ask the api you might get a return value with backslashes
[13:07] lukstr: you can use mingw and pretend you're in a unix environment and it works just fine
[13:08] jonaslund: but you can use forward slashes like usual for relative addressing
[13:08] jonaslund: anyhow
[13:08] lukstr: if the tools return forward slashes then they have been wrongly implemented
[13:09] k1ttty has joined the channel
[13:09] jonaslund: I know we were looking at using MSVC for compiling windows builds
[13:09] lukstr: in mingw: pwd returns /home/lrewega/
[13:09] willwhite has joined the channel
[13:09] lukstr: yikes
[13:09] jonaslund: but the main windows man is pisci
[13:09] strmpnk has joined the channel
[13:09] lukstr: s/wrongly implemented/implemented wrong/
[13:09] jonaslund: hmmm
[13:09] fermion has joined the channel
[13:10] jonaslund: do you run your mingw build under msys or from something else ?
[13:10] lukstr: yes
[13:10] lukstr: it's pretty much a given with modern mingw
[13:10] matbee: I'm tryign to return JSON via my express.js driven server, however it's returning as well-formatted html...
[13:10] matbee: I cant figure out why
[13:11] jetienne: everyauth... very good module for authentication
[13:11] sirkitree has joined the channel
[13:12] lukstr: matbee: how are you sending the JSON?
[13:12] matbee: lukstr, as a simple response.send({response: "value"});
[13:12] davidsklar has joined the channel
[13:13] matbee: Ive tried setting the response.contentType('application/json')
[13:13] lukstr: matbee: and your output is formatted html?
[13:13] fonziecc has joined the channel
[13:13] matbee: lukstr, yes it is
[13:14] matbee: lukstr, I have express.configured to use methodOverride, bodyParse and cookieParser
[13:14] philhawksworth has left the channel
[13:16] jlecker has joined the channel
[13:16] lukstr: sriley: though, I completely agree that I wouldn't bother trying to build/use node outside a unix environment right now
[13:16] avalanche123 has joined the channel
[13:16] lukstr: but some people are persistant :)
[13:16] dcampano has joined the channel
[13:17] rputikar has joined the channel
[13:17] adelgado has left the channel
[13:20] Poetro has joined the channel
[13:20] adelgado has joined the channel
[13:21] jonasen has joined the channel
[13:23] colinclark has joined the channel
[13:24] tayy has joined the channel
[13:30] Bradleymeck has joined the channel
[13:31] justinw312 has joined the channel
[13:32] justinw312: Still unable to get socket.io reconnects to work. Are any of you find folks experienced with socket.io?
[13:34] jetienne: is there a converter jade template to html ?
[13:34] jetienne: or better jade to ejs
[13:34] jslatts has joined the channel
[13:34] alecbenzer has joined the channel
[13:35] adambeynon has joined the channel
[13:35] pandeiro has joined the channel
[13:36] alecbenzer: does anyone know why express might be refusing to serve static files?
[13:37] drudge: alecbenzer: you're doing it wrong :P
[13:37] telemachus: alecbenzer: configuration?
[13:37] telemachus: that is, have you specified in your config where to serve them from?
[13:37] eldios has joined the channel
[13:37] alecbenzer: telemachus: yup: app.use(express.static(__dirname + '/pubic'));
[13:38] telemachus: ok, I'm not going to insult you by asking if the files are actually in __dirname/public :)
[13:39] alecbenzer: lol, as far as I can tell they are, unless some fucked up stuff is going on with my fiel system
[13:39] TomY has joined the channel
[13:39] telemachus: hmm - are you logging and what do you see when you try to hit /
[13:39] pdelgallego has joined the channel
[13:39] telemachus: that is, what happens in the console and what in your browser?
[13:40] telemachus: are you specifying the right port in the browser?
[13:40] alecbenzer: it treats it like a route, ie - " ls public/ --> jquery-1.6.1.min.js lol", and localhost:8080/lol gives me "cannot GET /lol" or something
[13:40] cha0s has joined the channel
[13:40] cha0s has joined the channel
[13:41] drudge: alecbenzer: pastie some code so we can see
[13:43] adambeynon has joined the channel
[13:44] timmywil has joined the channel
[13:44] alecbenzer: relevant stuff: http://pastie.org/1980872
[13:44] yhahn has joined the channel
[13:45] eliziario has joined the channel
[13:45] telemachus: alecbenzer: Unless there are state secrets in there, more code would be helpful, I think.
[13:45] nibblebot has joined the channel
[13:47] vikstrous1 has joined the channel
[13:47] alecbenzer: http://pastie.org/1980872 though the rest doesn't seem like it should be relevant
[13:47] groom has joined the channel
[13:48] xandrews has joined the channel
[13:48] justinw312: Does anyone know if there is a rough timeline for webworkers in node?
[13:48] matias: Node.js doesn't create any thread at all or it doesn't create more than one for the same client?
[13:49] febits has joined the channel
[13:50] telemachus: app.use(express.static(__dirname + '/pubic'));
[13:50] telemachus: alecbenzer: !
[13:51] telemachus: s/pubic/public/ ?
[13:51] alecbenzer: alecbenzer: -_____-
[13:52] telemachus: (Best typo of the week award goes to alecbenzer...)
[13:52] alecbenzer: lol, wow
[13:53] adambeynon has joined the channel
[13:53] kkaefer: why a blocking sqlite module?
[13:53] kkaefer: MooGoo: ^^
[13:53] thomblake has joined the channel
[13:54] catshirt has joined the channel
[13:54] matias: regarding my first question (some lines above): in the case it doesn't create any thread at all, does it mean that if I create a blocking operation of 10 seconds, any user will have to wait until one user executing this function has finished?
[13:55] matias: (not just me but literally everyone using the script)
[13:55] matias: s/using the script/requesting the server/
[13:57] burningdog has joined the channel
[13:57] TomY has joined the channel
[13:57] stepheneb has joined the channel
[13:57] dcampano has joined the channel
[13:58] sirkitree has joined the channel
[13:58] jtsnow has joined the channel
[13:59] timmywil has joined the channel
[13:59] matias: no idea?
[14:01] jacter has joined the channel
[14:01] groom has joined the channel
[14:03] pig has joined the channel
[14:03] cdent has joined the channel
[14:04] bingomanatee has joined the channel
[14:05] ceej has joined the channel
[14:05] razvandme has joined the channel
[14:05] jeff_horton has joined the channel
[14:05] razvandme: hello, is there a method for base64 encoding?
[14:07] spasquali has joined the channel
[14:08] pig has joined the channel
[14:08] MattJ has joined the channel
[14:09] bentruyman has joined the channel
[14:09] miccolis: razvandme: you can have buffers do that for you
[14:10] aheckmann has joined the channel
[14:10] justinw312: matias: I'm not an expert, but that is correct. If you block for 10s then you block everything
[14:10] captain_morgan has joined the channel
[14:11] justinw312: Soon it'll support webworkers, which will give you a non-blocking way of doing time consuming operations
[14:11] miccolis: razvandme: https://gist.github.com/995320
[14:11] justinw312: matias: which is why almost none of the functionality in node is blocking
[14:12] Matias: I know but the question is if you block absolutely everything for all users all around the World or just the part of the server handling your requests
[14:12] justinw312: matias: Node is single-threaded, you would block everyone connect
[14:13] Matias: ok, that's what I wanted to confirm, thanks
[14:13] pifantastic has joined the channel
[14:13] pig has joined the channel
[14:13] justinw312: matias: I believe the only way around that would be to write a module to offload your long running task to
[14:14] jacter has joined the channel
[14:14] justinw312: matias: There is planned support for webworkers, so you can launch a new thread with that once it is supported, which would call a callback when complete wihtout blocking your node process
[14:14] cdent has joined the channel
[14:14] pandeiro: is there any way to get jade to load a local variable into an element attribute?
[14:14] Matias: it would be great, justinw312
[14:15] sioked has joined the channel
[14:15] razvandme: miccolis: thanks!
[14:15] justinw312: "The fundamentals of scalable systems are fast networking and non-blocking design—the rest is message passing. In future versions, Node will be able to fork new processes (using the http://www.whatwg.org/specs/web-workers/current-work/) which fits well into the current design."
[14:16] justinw312: So not yet, but soon is the answer. I think.
[14:16] mehlah has joined the channel
[14:16] jvduf has joined the channel
[14:17] spasquali: justinw312: mostly agreed, though be careful about assuming that non-blocking design is "fundamental" to scalable systems
[14:17] jbpros has joined the channel
[14:17] justinw312: Oh, I was just copypasting from the node website.
[14:18] baudehlo: justinw312: I think web workers has gone out the window tbh.
[14:18] Swimming_bird has joined the channel
[14:18] agrohe21 has joined the channel
[14:18] justinw312: Hmmm.
[14:18] spasquali: justinw312: it will be interesting over the next year to see how people solve the scaling issue.
[14:18] pandeiro: i guess i could store the element in a variable and then output it unescaped but that is kind of an ugly workaround...
[14:18] baudehlo: in favour of: https://github.com/joyent/node/blob/master/lib/child_process.js#L62
[14:19] justinw312: Well you could always launch another instance of node, sent it serialized function, and have it send back the result.
[14:19] justinw312: send
[14:19] bingomanatee: Web Workers is Digital Exploitation!
[14:19] baudehlo: combine fork() with dnode (http://substack.net/posts/85e1bd/DNode-Asynchronous-Remote-Method-Invocation-for-Node-js-and-the-Browser) and you've got everything you need.
[14:19] yogurt_truck has joined the channel
[14:19] lukstr: justinw312: this is actually what I would recommend, open a port, spawn a child process, wait for a response, close the port send the response
[14:20] adambeynon has joined the channel
[14:20] jakehow has joined the channel
[14:20] EyePulp has joined the channel
[14:21] walkingeyerobot has joined the channel
[14:21] justinw312: I'm betting exec()ing a string really ruins the VM performance and adds a lot of overhead. Having to parse and compile the string.
[14:22] Matias: I guess you always can use webservice instead of webworkers to do specific tasks with Node.js
[14:22] Matias: can always*
[14:22] justinw312: So it would probably make more sense to have the functinons already in the worker rather than trying to serialize them
[14:22] baudehlo: right. You pass in commands not functions.
[14:23] baudehlo: see dnode.
[14:23] rahul__ has joined the channel
[14:23] justinw312: Buuuut, I still think the fact you could send arbitrary functions is awesome.
[14:23] justinw312: Not that doing so makes sense, but sending code around like that is neat
[14:23] lukstr: justinw312: that would make sense
[14:24] lukstr: actually that just gave me an idea for a project
[14:24] jonaslund: ACTION finally figured out why all unix guys are hippies
[14:24] sreeix_ has joined the channel
[14:24] lukstr: jonaslund: I'm no hippy
[14:24] jonaslund: it's a joke :P
[14:25] jtsnow has joined the channel
[14:25] Hamms has joined the channel
[14:25] lukstr: ACTION does drugs, rides his fixie to the farmer's market
[14:26] sledge: justinw312: that's not what happens
[14:26] broofa has joined the channel
[14:26] jonaslund: the answer is "hash bang"
[14:26] sledge: justinw312: read closely: "which when called on the remote end signal the near side to execute the function with the arguments that the remote provides"
[14:27] lukstr: sledge: I always say octothorpe exclamation point
[14:27] justinw312: I get that. I wasn't talking about dnode. I meant javascript in general. I think it's neat to be able to easily serialize code, send it somewhere, and exec it.
[14:28] jbpros has joined the channel
[14:28] viz has joined the channel
[14:28] lukstr: justinw312: that's dirty though
[14:29] justinw312: Yeah, I guess really it's one of those things pretty much any interpreted language can (but almost always shouldn't) do
[14:30] eee_c has joined the channel
[14:31] broofa has joined the channel
[14:32] ivanfi has left the channel
[14:32] jxck has joined the channel
[14:33] trotter has joined the channel
[14:33] sonnym has joined the channel
[14:35] amocla has joined the channel
[14:39] Guest93406 has joined the channel
[14:39] Matias: wait a minute! I'm just learning about Node.js (I'm reading http://nodebeginner.org/). I realized if you just have one process you can share variables (in fact anything) between two users just making it global. is it true?
[14:39] tbranyen: Matias: it is!
[14:39] Matias: absolutely weird (I'm used to the Apache approach)
[14:39] tbranyen: amazing or wat
[14:39] Matias: haha
[14:39] tbranyen: did it blow your mind
[14:40] Matias: yes, it does
[14:40] tbranyen: good takes a load off
[14:40] shimondoodkin has left the channel
[14:41] Matias: that's amazing
[14:42] kjeldahl has joined the channel
[14:42] jbpros has joined the channel
[14:43] baudehlo: amazing. but a terrible idea :)
[14:43] tbranyen: sharing context variables is a terrible idea
[14:43] tbranyen: uh oh shared memory wants a word with you
[14:43] Matias: I know but the fact that you can do it is amazing lol
[14:44] baudehlo: just remember to never do it. It doesn't scale.
[14:44] derencius has joined the channel
[14:44] tbranyen: wat how the hell does it not scale
[14:44] tbranyen: single value shared in the process is fine, 10mb of data not so fine
[14:45] baudehlo: umm I said scale, not perform.
[14:45] tbranyen: yeah 100,000 users hitting a single value in the process is going to scale hella better than pulling from some datasource elsewhere requiring i/o
[14:46] jtsnow has joined the channel
[14:46] Matias: by the way, there's a problem better
[14:46] baudehlo: tbranyen: no I mean it doesn't "scale" at all. You're talking about performance.
[14:46] Matias: I mean, a problem there*
[14:47] Matias: what happens if two users wants to change the value of a variable at the same time?
[14:47] Matias: I guess they are not blocked until the other one has finished
[14:47] tbranyen: baudehlo: i guess i don't understand how thousands of users hitting a service doesn't deal with scalability
[14:47] baudehlo: it doesn't scale to cluster. It doesn't scale to multiple servers.
[14:47] tbranyen: we're talking about different things and its :-p
[14:47] baudehlo: Matias: there is no "at the same time" in node.
[14:47] Matias: no?
[14:48] baudehlo: no.
[14:48] tbranyen: baudehlo: well there is with workers that were landed
[14:48] baudehlo: right but they don't access the same variable.
[14:48] sub_pop has joined the channel
[14:48] Matias: foo=user_input(); bar=foo;
[14:49] tbranyen: yea
[14:49] Matias: what if you execute it two times concurrently?
[14:49] baudehlo: there is no concurrency
[14:49] tbranyen: Matias: there is no concurrency... its keyword "single" threaded
[14:49] briznad has joined the channel
[14:49] gf3 has joined the channel
[14:49] coderendezvous has joined the channel
[14:49] BillyBreen has joined the channel
[14:50] guybrush: there are only listeners for callbacks, and those callbacks can happen anytime
[14:50] Matias: ohm, sure, one of them will be executed first
[14:50] edude03 has joined the channel
[14:50] Matias: then there's no problem
[14:51] Matias: I'm starting to love Node.js :P
[14:51] baudehlo: no there's never a problem with that. Nothing can interrupt your code execution in node.
[14:53] baudehlo: hmm. it'd be nice if there were a fixed-size-cache module for node. Sort of like memcached but in-process.
[14:54] jetienne: (pagespeed provides garbage collection events)
[14:54] mike5w3c has joined the channel
[14:55] Matias: jetienne, what do you mean?
[14:55] mitko has joined the channel
[14:55] wilhelm: I, too, am just starting to explore this strange new realm. Is node.js considered suitable for running database-centric web applications one may have previously written in, say, P* and *SQL?
[14:56] jetienne: Matias: just sharing an fact i find interesting. (currently i optimizing an webgame and gc impact perf)
[14:56] baudehlo: wilhelm: very much so.
[14:56] Matias: I will have to read about pagespeed later
[14:57] davidcoallier has joined the channel
[14:58] dget has joined the channel
[14:59] wilhelm: baudehlo: Is there any de facto standard database library for talking to PostgreSQL or MySQL?
[14:59] tomshaw has joined the channel
[14:59] baudehlo: wilhelm: someone is working on a unified library, but it's early days.
[14:59] wilhelm: ACTION nods.
[15:00] baudehlo: http://nodejsdb.org/
[15:00] Matias: now I want to read the final part of the tutorial, it's still incomplete :(
[15:00] baudehlo: not sure I'd entirely trust it, but try it anyway.
[15:00] brettgoulder has joined the channel
[15:00] strmpnk has joined the channel
[15:00] wilhelm: baudehlo: Will do. Thanks. (c:
[15:01] baudehlo: there are other libraries though.
[15:01] yhahn has left the channel
[15:01] baudehlo: check npm
[15:02] donaldpcook has joined the channel
[15:02] jvduf has joined the channel
[15:02] matbee: check cloud9ide's twitter post
[15:03] jonasen has joined the channel
[15:03] matbee: roadmap.push("nodester"); RT @stephanepericat: If you'd like to see auto-deploy to @Nodester from @Cloud9IDE , retweet this! #nodejs #cloud9
[15:03] matbee: ;D
[15:03] jvduf has joined the channel
[15:03] gazumps has joined the channel
[15:03] piscisaureus has joined the channel
[15:03] eee_c has joined the channel
[15:04] e6nian has joined the channel
[15:05] Matias: jetienne, you mean this pagespeed http://code.google.com/speed/page-speed/ ?
[15:06] materialdesigner has joined the channel
[15:06] tester has joined the channel
[15:07] RushPL has joined the channel
[15:08] eliziario has joined the channel
[15:08] devrim has joined the channel
[15:11] Matias: ok, I have a good question, how to debug it?
[15:11] Matias: (besides to add many write() calls)
[15:13] jetienne: Matias: yes
[15:13] jetienne: Matias: if your question is for me, i dont understand it
[15:14] devrim has joined the channel
[15:14] eyesUnclouded has joined the channel
[15:14] jakehow has joined the channel
[15:15] yhahn has joined the channel
[15:15] Matias: they were two independent questions, one was if I was reading about the same pagespeed you mentioned a while ago and the other one is if there's a easy way to debug Node.js code
[15:15] rfay has joined the channel
[15:16] jetienne: Matias: personnaly i debug with console.log(), not sure if it is easy to you
[15:16] ewdafa has joined the channel
[15:16] jetienne: there is a node debugger included now i think
[15:16] jetienne: http://stackoverflow.com/questions/1911015/how-to-debug-node-js-applications
[15:16] Matias: oh, thank you
[15:18] segaway has joined the channel
[15:18] Vertice: i like node-inspector lots
[15:18] Vertice: and lots and lots
[15:19] mscdex: that's lots of lots
[15:19] jaw6 has joined the channel
[15:20] jacobfogg has left the channel
[15:20] adrianmg has joined the channel
[15:20] lakin has joined the channel
[15:21] koo6 has joined the channel
[15:21] dingomanatee has joined the channel
[15:22] jslatts has joined the channel
[15:23] devrim1 has joined the channel
[15:24] tjholowaychuk has joined the channel
[15:24] jgv has joined the channel
[15:24] Sorella|work has joined the channel
[15:26] razvandme: #express.js
[15:26] index0h_ has joined the channel
[15:27] blueadept has joined the channel
[15:28] dgathright has joined the channel
[15:29] Hamms has joined the channel
[15:29] tjh has joined the channel
[15:30] springmeyer has joined the channel
[15:30] jvduf has joined the channel
[15:31] omni5cience_ has joined the channel
[15:32] stepheneb has joined the channel
[15:32] xsyn has joined the channel
[15:32] alecbenzer has joined the channel
[15:34] alecbenzer: I'm using redis to store some data - I have a set that keeps track of ids of objects that I want, and each id corresponds to another redis hash. how would I get all of the data in an array that looks like [{obj1data=>value,moreobj1data=>value],{...},...]
[15:34] web123 has joined the channel
[15:34] alecbenzer: how would I do this?
[15:34] alecbenzer: ie
[15:34] alecbenzer: I can't actually get the value of a redis command, I need to pass functions to deal with the data
[15:35] alecbenzer: would I need to make an array, populate it through the redis commands, and then do a while(array is not done) { do_nothing } type loop?
[15:35] Spion_ has joined the channel
[15:35] itissid has joined the channel
[15:35] springify has joined the channel
[15:35] tim_smart has joined the channel
[15:36] Casperin has joined the channel
[15:37] thalll has joined the channel
[15:38] nightshift has joined the channel
[15:38] sirkitre_ has joined the channel
[15:39] fostah has joined the channel
[15:40] brolin has joined the channel
[15:41] jkridner_ has joined the channel
[15:43] AaronMT has joined the channel
[15:44] piscisaureus_ has joined the channel
[15:44] jslatts: Anyone have any idea where to begin with this: FATAL ERROR: v8::Number::New() V8 is no longer usable
[15:45] Tidwell_ has joined the channel
[15:45] jslatts: trying to debug an addon i am writing. looks like V8 is dying, but I have no idea why
[15:46] zmbmartin: if I have a string 'This is a string "Here is something" and some more' how do I remove everything except what is between " " so I can return just "Here is something"?
[15:46] mAritz: how would i best find out how much cpu/memory is free? (inside a node.js script)
[15:46] captain_morgan has joined the channel
[15:46] sirdancealot has joined the channel
[15:46] jslatts: zmbmartin: use a regex
[15:46] tobiassjosten has joined the channel
[15:46] jackhq has joined the channel
[15:47] jslatts: ".*" maybe
[15:48] zmbmartin: jslatts: yeah I need a lot of work on my regexpfu.
[15:48] colinclark has joined the channel
[15:48] jslatts: let me see
[15:48] mAritz: zmbmartin: 'This is a string "Here is something" and some more'.replace(/[^"]*"([^"]*?)"[^"]*/g, "$1")
[15:48] mAritz: jslatts: FIRST! :D
[15:48] jslatts: hah, nm :)
[15:49] dylang has joined the channel
[15:49] jslatts: v8: 'This is a string "Here is something" and some more'.replace(/[^"]*"([^"]*?)"[^"]*/g, "$1")
[15:49] v8bot: jslatts: "Here is something"
[15:49] cdent has left the channel
[15:49] jslatts: works!
[15:49] mike5w3c has joined the channel
[15:49] zmbmartin: mAritz: thanks
[15:49] trumpetmic has joined the channel
[15:50] jtrally has joined the channel
[15:50] wookiehangover has joined the channel
[15:50] mAritz: v8: 'This is a string "Here is something" and some more"this is not caught though"'.replace(/[^"]*"([^"]*?)"[^"]*/g, "$1")
[15:50] v8bot: mAritz: "Here is somethingthis is not caught though"
[15:50] mAritz: oh, it is
[15:50] isaacs has joined the channel
[15:51] mAritz: ah, *... right, nvm
[15:51] nsolsen has joined the channel
[15:51] kuhrt has joined the channel
[15:52] Yuffster_work has joined the channel
[15:52] norviller has joined the channel
[15:52] bingomanatee: if you are using express and just want to push raw data as a response instead of using the views engine, how do you do that?
[15:53] mAritz: bingomanatee: res.send('your data');
[15:53] bingomanatee: thx.
[15:53] mAritz: np
[15:53] tjh: bingomanatee you can do anything you would with regular node as well
[15:53] tjh: req.pipe(res) etc
[15:53] tjh: res.write() blah blah
[15:53] bingomanatee: yes but I have lived my whole live in your gated garden
[15:53] bingomanatee: :D
[15:54] tjh: haha
[15:54] [[zzz]] has joined the channel
[15:54] tjh: just sayin
[15:54] bingomanatee: thx
[15:54] tjh: it doesn't get in the way of raw node stuff
[15:54] mAritz: break the fuck out of there, then after seeing that the rest of the world isn't magic either, come back :D
[15:54] bingomanatee: ACTION likes coating his node with a little ky
[15:54] jslatts: zmbmartin: instead of negative regex capture, you might do this instead: /".*"/.exec('This is a string "Here is something" and some more')[0];
[15:54] kriskowal has joined the channel
[15:55] nibblebot: Why doesn't the example here work in node.js? https://developer.mozilla.org/en/New_in_JavaScript_1.7#Multiple-value_returns --- does v8 not implement this?
[15:55] tjh: why the fuck does jquery set content-type for $.get() with no body
[15:55] mAritz: tjh: i thought it was just backbone
[15:56] tjh: apparently jquery does too
[15:56] mAritz: i used the master version of Backbone.Sync and it works fine :)
[15:56] mAritz: oh man :(
[15:56] tjh: https://github.com/senchalabs/connect/issues/285#comment_1247201
[15:56] KirinDave has joined the channel
[15:56] mAritz: haha, he reported that about the same time i had the backbone issue. nice conkidink :)
[15:57] jslatts has joined the channel
[15:57] mAritz: when dealing with clients: assume stupid
[15:57] mAritz: in this case jQuery is just another stupid
[15:57] mAritz: errr, client
[15:57] tjh: apparently
[15:57] mAritz: :P
[15:57] tjh: no content-length, no body, just content-type
[15:57] tjh: right on
[15:57] tjh: lol
[15:58] mAritz: well, content-length: 0 would be weird as well :D
[15:58] mAritz: but it's probably the right way?!
[15:58] TooTallNate has joined the channel
[15:59] mAritz: tjh: do you know how to properly get cpu/memory free stats in node.js?
[15:59] tjh: os mod
[15:59] donaldpcook has joined the channel
[15:59] mAritz: ? :D
[16:00] cryptix: nice… auth/login works on locale machine but behaves weirdly on remote machine with same node and module versions..
[16:01] eyesUnclouded has joined the channel
[16:01] tayy has joined the channel
[16:01] cryptix: weirdly meaning, getting a new session after the res.redirect in req.session.regenerate cb..
[16:02] merlinm has joined the channel
[16:02] sirkitree has joined the channel
[16:03] Bradleymeck: cyptix is it on a cluser computing system of some kind?
[16:03] cryptix: nope… a pretty normal dedicated root server
[16:03] captain_morgan has joined the channel
[16:04] tjholowaychuk has joined the channel
[16:04] _aron has joined the channel
[16:05] jtrally: is there a way to get a static provider AND an app.get() require to work. seems like the static never gets called
[16:06] caolanm has joined the channel
[16:06] stepheneb has joined the channel
[16:06] jtrally: in express or connect
[16:06] tjholowaychuk: jtrally can i see your middleware config
[16:06] jtrally: app.get('/controllers/*',function(req,res,next) {
[16:06] jtrally: controller(req,res);
[16:06] jtrally: next(req,res);
[16:06] mAritz: tjholowaychuk: ah, you meant the os module that is built-in... god, i'm supid. never knew about it and was looking at the wiki page for 3rd party modules xD
[16:07] jtrally: the next() was just a shot in the dark
[16:07] c4milo has joined the channel
[16:07] tjholowaychuk: jtrally next() doesn't accept req/res
[16:07] tjholowaychuk: just call next()
[16:07] tjholowaychuk: with nothing
[16:07] tjholowaychuk: mAritz yeah the built-in :D
[16:07] Matias: I'm sure I'm missing something, my node-inspector seems like this: http://imageshack.us/photo/my-images/823/51629313.png/ o.o
[16:07] cryptix: Bradleymeck: im using connect-redis as a session store if that sparks any ideas. redis versions are also in sync
[16:08] davidcoallier has joined the channel
[16:10] context: bit.ly/ksIo4p <-- might get that today
[16:10] pandeiro: tjholowaychuk: is there any mechanism in jade for inserting a local into an element attribute or do i need to just build the element as a string and then insert it unescaped?
[16:11] tjholowaychuk: pandeiro you mean a(href=post.url) ?
[16:11] pandeiro: yeah, will that work with an input element's value attr?
[16:12] tbranyen: tjholowaychuk: started thinking about my templating wishlist https://gist.github.com/994418
[16:12] tbranyen: also started writing a lexical parser for templates inspired by your yaml parser
[16:12] spasquali: which version of ECMA does current build of v8 (used by node) use?
[16:13] piscisaureus_ has joined the channel
[16:13] tjholowaychuk: tbranyen whoop
[16:13] tjholowaychuk: looks like liquid
[16:13] tjholowaychuk: kinda
[16:13] binarypie has joined the channel
[16:13] Bradleymeck: spasquali ecma 5 but its not absolutely 100%
[16:13] christophsturm has joined the channel
[16:13] jslatts: does NODE_SET_PROTOTYPE_METHOD() require a static callback method?
[16:13] igl: i dont think its locked down
[16:14] igl: it has *some* ecma 5 features i think
[16:14] tbranyen: tjholowaychuk: yeah again its still in heavy thought-mode
[16:14] Corren has joined the channel
[16:14] tbranyen: everything subject to change, but i want a very lightweight parser that i can port to lua
[16:14] tbranyen: for the fun of it
[16:14] tbranyen: not sure if i'm qualified to try writing it in c/c++
[16:15] jtrally: Are you guys planning on adding controller support so dynamic paths get added? I added a feature so /controllers/mycontroller/action would call controllers/mycontroller.js
[16:15] tjholowaychuk: parsers are easier in c
[16:15] tjholowaychuk: IMO
[16:15] tjholowaychuk: js strings
[16:15] tjholowaychuk: are not very good for parsing
[16:16] spasquali: tx.
[16:16] Bradleymeck: jtrally why not just use route parameters?? thats how most systems w. that feature do it
[16:16] Matias: jetienne, in case you are still there, how do you launch node-inspector? I did "node inspector.js &" (it's what I read in the readme file) when I go to http://127.0.0.1:8080/debug?port=5858 I just see http://imageshack.us/photo/my-images/823/51629313.png/
[16:16] jtrally: because convention >>> configuration
[16:16] spasquali: https://github.com/joyent/node/wiki/ECMA-5-Mozilla-Features-Implemented-in-V8
[16:16] Matias: I'm sorry, I mean Vertice
[16:16] KirinDave: http://twitter.com/ubelly/status/73691405914091520
[16:16] KirinDave: Congratulations, node.js programmers.
[16:17] nilcolor has joined the channel
[16:17] Vertice: umm. i dont see anything
[16:17] Bradleymeck: jtrally i find configuration to be far nicer than convention, then again i tend to disagree with things that hide other things or limit things
[16:17] Vertice: you are using chrome, right ?
[16:17] Matias: no, FF
[16:17] Vertice: Matias:
[16:17] Vertice: it only works in chrome
[16:17] Vertice: or safari
[16:17] Matias: oh, why?
[16:17] Matias: I didn't know
[16:17] stepheneb has joined the channel
[16:18] Vertice: it allows you to use the webkit debug tools to debug the backend too
[16:18] Vertice: so the ui is the same as the one you use to debug client code
[16:18] Matias: I used to work with Firebug I thought it was possible to use it from FF
[16:18] Matias: thank you, I will try there
[16:19] tester has left the channel
[16:19] jonasen has joined the channel
[16:19] tomaw has joined the channel
[16:20] Matias: I am used to*
[16:20] context: "Will the language still be around next winter for us to make puns about "bad code in the node"?"
[16:20] lukstr: KirinDave: does that mean I get a promotion?
[16:20] context: wtf !
[16:21] strmpnk has joined the channel
[16:21] KirinDave: lukstr: It means Crockford has handjobs for all.
[16:21] context: this is as bad as the article marak commented on and im like 1 paragraph into it
[16:21] jtrally: Bradleymeck: it's not about hiding. Rails has the same philosophy
[16:21] KirinDave: ConWhich article?
[16:21] jtrally: why be explicit when everyone knows a given rule
[16:21] lukstr: KirinDave: I _love_ handjobs
[16:22] KirinDave: lukstr: I can't believe you like handjobs too. We're like twins.
[16:22] Bradleymeck: jtrally because the rule may need an exception
[16:22] rauchg has joined the channel
[16:22] jtrally: That's what the routing function is for :)
[16:22] context: "a Java server uses 2MB of RAM just to create a thread. As the standard Java Servlet container creates one thread for each request, it's clear that a fairly hefty server with, say, 8GB of free RAM can handle only 8,000 people."
[16:22] lukstr: KirinDave: don't tell me -- you also like copious amounts of money?
[16:23] context: HAHAHAHAHA !
[16:23] KirinDave: lukstr: I don't know what copious means, but I like money
[16:23] lukstr: context: .... contex?
[16:23] lukstr: t
[16:23] KirinDave: lukstr: A latte would be really good right now, with extra foam.
[16:23] context: http://www.infoworld.com/d/application-development/javascript-conquers-the-server-969?page=0,1&utm_source=javascriptweekly&utm_medium=email
[16:23] KirinDave: context: Wow, that's absurd.
[16:23] context: lukstr: will node be around by christmas time? who knows...
[16:23] context: lukstr: this is as bad as that one article
[16:23] context: where is marak when you need him
[16:24] EyePulp: I'm hedging my bets with a JScript server-side solution
[16:24] Bradleymeck: hes off meeting clients
[16:24] samsonjs has joined the channel
[16:24] lukstr: context: yeah this is pretty bad
[16:24] eee_c has joined the channel
[16:25] context: i didnt even read page 1
[16:25] jaw6 has joined the channel
[16:26] merlinm: memory consumpion for classic java servers is a huge problem
[16:26] khug has joined the channel
[16:26] KirinDave: context: Do node people, in the large, really believe that node's concurrency implementation is really unique?
[16:26] JamieD has joined the channel
[16:26] context: kirindave: uhh. unique? no im sure its not. this article is....
[16:26] razvandme has left the channel
[16:27] merlinm: KirinDave: no. at least not if you have been programming. the win32 api is full of asynchronous features
[16:27] merlinm: for example
[16:27] JamieD: hi all, I'm just updating to teh latest version of node and wanted to check the recommended installation method at the moment. Is it better to install in my user folder or globally using sudo?
[16:27] Bradleymeck: unique, no, but i think we enjoy that there arent 90% of all libraries forcing us to blog, or randomly calling abort and saying thats ok since we should only call this from threads
[16:27] context: kirindave: read page two of that article.
[16:27] KirinDave: context: I dunno if I want to :(
[16:27] KirinDave: The idea node is particularly light is also kinda weird.
[16:27] KirinDave: For example, Erlang is lighter.
[16:28] Bradleymeck: s/blog/block/ haha
[16:28] tjholowaychuk: erlang is lighter?
[16:28] tjholowaychuk: beam is huge
[16:28] lukstr: "I think Node.js will quickly grow beyond doing simple experiments and begin to handle semiserious but lightweight tasks such as online polls and simple message passing between users. If the server workload is simple and short-lived, Node.js is a good solution."
[16:28] context: tjholowaychuk: yeah no shit
[16:28] merlinm: node *id* pretty light
[16:28] merlinm: er, *is*
[16:28] KirinDave: merlinm: I've worked professionally with languages that are lighter.
[16:29] merlinm: not doubting that
[16:29] KirinDave: It's not heavyweight
[16:29] KirinDave: But it's more medium-spectrum
[16:29] merlinm: like C for example :-)
[16:29] tjholowaychuk: lua == light
[16:29] KirinDave: Lua, Haskell, Erlang come to mind immediately.
[16:29] isaacs: Casperin: did you get your cradle npm issue worked out?
[16:30] KirinDave: merlinm: I dunno if C is a fair comparison.
[16:30] merlinm: its not
[16:30] lukstr: "I'm increasingly convinced this asynchronous callback style of programming is too difficult for most developers to manage," Robinson said. "Without extreme discipline it can easily lead to 'callback hell,' with deeply nested callbacks and complex code to implement logic that would be simple on a synchronous platform."
[16:30] isaacs: Casperin: you could do `npm install cradle -f` to force clobber anything that's in the way.
[16:30] KirinDave: yeah I avoided.
[16:30] amerine has joined the channel
[16:30] KirinDave: lukstr: At least that's solid.
[16:30] lukstr: "In place of callbacks, he sees ideas like "promises," "co-routines," "actors," and other objects that hang on to the information in the variables for use later. These objects may be easier to juggle than the callbacks."
[16:30] jvduf has joined the channel
[16:30] isaacs: lukstr: where's that from?
[16:30] lukstr: so more jobs for me yay
[16:30] lukstr: the link context linked to
[16:30] context: HAHAHAHHAHA !
[16:31] context: dont use node for long running shit
[16:31] KirinDave: lukstr: That statement is also true.
[16:31] KirinDave: context: Like servers :)
[16:31] context: cause i run for (i in 1..90000000) in every fucking request
[16:31] merlinm: what node has going for it is couple nice things: v8 engine is super fast, familiarity with .js generally
[16:31] KirinDave: Man this article is schizophrenic.
[16:31] Bradleymeck: lighter in which aspect, in terms of memory, almost guaranteed. in terms of io, sometimes, concurrency, depends.
[16:31] lukstr: I lol'd: "Some people are treating the Node.js creator, Ryan Dahl, like a rock star. One Q&A interview on the product veered into discussions of whether Dahl really thought "Bridget Jones's Diary" was the best film ever."
[16:31] KirinDave: Bradleymeck: I'd be happy to pit erlang vs. anything concurrency wise. :)
[16:31] context: this article is deja vu
[16:32] kjeldahl has joined the channel
[16:32] johnm1234 has joined the channel
[16:32] merlinm: KirinDave: haskell
[16:32] Bradleymeck: there is no lingua franca, no convention that is the absolute best, no program that is unchallenged
[16:32] Casperin: isaacs: I reverted to an older snapshot of this virtual thing.. but it was quite old, so I had to install a lot of stuff (like browsers and irssi), so after that, I felt like cleaning my room, which I've been doing until now :)
[16:32] Bradleymeck: kirindave, haskell will destroy erlang
[16:32] KirinDave: merlinm: Trickier, but still a very good concurrency implementation.
[16:32] context: marak your blog is broke
[16:32] KirinDave: Bradleymeck: Uhhh.... that's a good question.
[16:32] isaacs: great :)
[16:32] KirinDave: Bradleymeck: I suspect in ultrawide, Erlang would win just by GC attrition.
[16:32] context: http://webcache.googleusercontent.com/search?q=cache:-U7QZ7h6sMYJ:blog.nodejitsu.com/ibm-doesnt-care-about-nodejs-people+http://blog.nodejitsu.com/ibm-doesnt-care-about-nodejs-people&cd=1&hl=en&ct=clnk&gl=us&source=www.google.com
[16:32] lukstr: I feel like this guy is living months in the past
[16:33] merlinm: i have trouble grokking haskell actually. i can shake the feeling it looks like someone took regular code and dropped it
[16:33] rbranson: haskell is faster, but concurrency goes to erlang
[16:33] Casperin: isaacs: I'll give -f a go next time though..
[16:33] KirinDave: merlinm: Well most people never get educated in the fundamentals Haskell is based on
[16:33] matjas has joined the channel
[16:33] context: lukstr: months ?
[16:33] KirinDave: merlinm: You have to literally build a second tower of learning in your head based off an entirely different set of primitives seldom used outside of functional programming
[16:34] KirinDave: merlinm: They're very powerful primitives, but that's surely a downside.
[16:34] rbranson: mlmlmlmlmlml
[16:34] matjas_ has joined the channel
[16:34] merlinm: I do a lot of quasi-functional type progamming in postgres
[16:34] KirinDave: rbranson: I'd say ML is even a step removed from haskell.
[16:34] Bradleymeck: either way we are at argument = {x: x > y && x < z, z !comparableTo y}
[16:34] rbranson: KirinDave: I always see Haskell as an ML
[16:34] KirinDave: The aggressively lazy (lol) evaluation policy alone makes haskell code very different.
[16:35] KirinDave: Like
[16:35] xsyn has joined the channel
[16:35] rbranson: i haven't written enough ML or Haskell to be considered an expert by any means
[16:35] KirinDave: You can routinely see results a function used in calculating its results.
[16:35] KirinDave: Which is... pretty gnarly.
[16:35] rbranson: yeah I think what initially attracted me to Haskell was the lazy stuff
[16:36] lukstr: ah he's a java programmer.
[16:36] pandeiro: is the lambda epiphany addictive?
[16:36] KirinDave: I've been reading code with a lot of let (x, _, _) = computeSomething x y
[16:36] perezd has joined the channel
[16:36] KirinDave: And those x's are the same x.
[16:36] xSmurf has joined the channel
[16:37] rbranson: distant, rusty memories of things derivatives start to get all awakened by that stuff
[16:37] febits has joined the channel
[16:37] Hamms has joined the channel
[16:37] pkarl has joined the channel
[16:37] merlinm: i wish had more options for static typing, even if it was optional
[16:38] merlinm: javascript tht is
[16:38] rbranson: heh
[16:38] rbranson: those would be type hints, not static typing
[16:38] merlinm: fair enough
[16:38] Sorella|work: merlinm: eugh, static typing in JS sounds...
[16:39] rbranson: and JavaScript really doesn't have any form of strong types
[16:39] Sorella|work: static typing are already painful enough, no one wants them
[16:39] Sorella|work: strong with type inference is okay though
[16:39] Sorella|work: strong static*
[16:39] rbranson: no one wants them eh?
[16:39] Sorella|work: no sane person?
[16:40] rbranson: must be a lot of insane developers in the world
[16:40] Sorella|work: well, as long as you're not that worried about performance anyways
[16:40] jacobolus has joined the channel
[16:40] Vertice: i dunno. life is either too long or too short for strong typing
[16:40] merlinm: heh
[16:40] merlinm: sure, why have the compiler catch bugs, when you can debug them in production?
[16:40] Vertice: sigh. what i mean is. life is too short for it, and life is too short to live without it
[16:40] lukstr: merlinm: this is what testing is for
[16:41] rbranson: different tools for different jobs, static typing makes scaling, navigating, and managing a large code-base easier
[16:41] merlinm: ok, productoin->run tmie
[16:41] merlinm: ya, typing
[16:41] lukstr: it turns out that strong typing actually doesn't actually buy you that much, at least stuff that other tools can't provide (i.e. testing, contracts )
[16:41] merlinm: tongue in cheek anyways
[16:41] rbranson: typing IS a contract
[16:41] tim_smart: ryah: dog <3
[16:42] joshthecoder: you still have to test compiled code
[16:42] lukstr: rbranson: but small scope
[16:42] lukstr: it doesn't mean your code functions right :)
[16:42] rbranson: I love how the mainstream perception of type systems is entirely dictated by Java and C++
[16:42] rbranson: type systems aren't replacements for tests
[16:42] rbranson: they augment them
[16:42] lukstr: rbranson: that would make sense as they are mainstream typed languages
[16:42] rbranson: except they are shit languages
[16:43] merlinm: my experience in with C, that has gone from kinda sorta weakly typed language to kinda sorta strongly typed language (via compiler tech) is that it has been for the better
[16:43] lukstr: well, I like C
[16:43] rbranson: C is weakly typed
[16:43] joshthecoder: huh?
[16:43] rbranson: I've never been like "damn the C type system is really getting me down"
[16:43] merlinm: rbranson: depends -- with warings and -Wall not so much
[16:43] adrianmg has joined the channel
[16:43] merlinm: *warnings
[16:43] rbranson: more like shit I just spend 3 hours valgrinding this code for a mem leak
[16:44] merlinm: yup
[16:44] Bradleymeck: if you have static typing, i dont want type coersion (strings with toString). sensible type system can go either way , just dont be hypocritical, predicatability is best (that does not mean knowing the type though)
[16:44] lukstr: I'm not saying strong typing is bad, I just don't miss it in this instance :)
[16:44] tjholowaychuk: c > c++
[16:45] lukstr: tjholowaychuk: though I do like templates :P
[16:45] Bradleymeck: tjholowaychuk, you dont like templated generics in macros with RIIA
[16:45] Bradleymeck: ?
[16:45] rbranson: C++ is a seductive temptress on the path to destruction
[16:45] lukstr: rbranson: but that's what makes it so fun
[16:45] merlinm: lukstr: agree 100% -- c++ is bloated mess, but stl is cool
[16:45] joshthecoder: C++ = C with templates
[16:45] tjholowaychuk: cpp macros could be a lot nicer but i dont really like anything else about c++
[16:45] lukstr: merlinm: stepanov would like you
[16:46] tim_smart: V8 is pretty nice C++
[16:46] rbranson: V8 is probably the best C++ code I have ever seen
[16:46] rbranson: unless you are that good, just use C or Java
[16:46] scm_ has joined the channel
[16:46] lukstr: rbranson: you mean, unless you are that good just don't talk to me? :P
[16:47] tjholowaychuk: c is brutal too if you just suck at writing clean code
[16:47] wookiehang0ver has joined the channel
[16:47] merlinm: the other thing i miss with c++ is raii
[16:47] rbranson: lukstr: I am not that good :D
[16:47] jetienne: C is less scalable due to its lack of object stuf
[16:47] jtillmann has joined the channel
[16:47] lukstr: tjholowaychuk: but it gives you plenty of room to breath and set things up a way you like, I like that about it
[16:47] joshthecoder: jetienne not sure I entirely agree
[16:47] merlinm: C's biggest failing (to me) is horribale concurrency models
[16:47] rbranson: tjholowaychuk: that's a lot easier than the kind of mental model required to deal with with multiply inheriting templated classes
[16:47] joshthecoder: harder to scale maybe
[16:47] jetienne: you end up with sillyLongNAme
[16:48] tjholowaychuk: rbranson yeah
[16:48] lukstr: rbranson: you don't like the curiously recurring template?
[16:48] tjholowaychuk: i dont appreciate magic
[16:48] jetienne: tjholowaychuk: c++ is like js, may be abused, but not that bad when you know the good parts
[16:48] rbranson: hahaha
[16:48] rbranson: JS is abused by morons, C++ is abused by smart people
[16:48] tjholowaychuk: overloading for statically typed stuff is kinda nice but not for operators
[16:48] lukstr: I've always said C++ gives you a lot of firepower to shoot yourself in the foot with
[16:49] jetienne: i wrote 350 000 lines of c++ in a single project, but i wont do it again :)
[16:49] merlinm: the big issue with c++ is the oo inspiration for the language was highly flawed IMO (also but java and C# in that bucket)
[16:50] jetienne: i wrote 350 000 lines of c+https://github.com/jeromeetienne/neoip/tree/master/src <- for the p2p monster of mine :)
[16:50] jslatts: hey all you c++ wizards: how can i pass a function pointer to a member of an instance of a class?
[16:50] jbpros has joined the channel
[16:50] Bradleymeck: typedef it
[16:50] jetienne: silly cutpaste
[16:50] lukstr: jslatts: I have a few classes which do that with templates
[16:50] jslatts: i am trying to do &(myClassInstance->*.someMember)
[16:50] jetienne: Bradleymeck: +1
[16:51] jetienne: ->*. ?
[16:51] jslatts: but i get: cannot be used as a member pointer, since it is of type ‘
’
[16:51] rbranson: !)_$!(
[16:51] jslatts: err, no.
[16:51] lukstr: jslatts: you need the instance and the class method
[16:51] jbpros has joined the channel
[16:51] lukstr: in a functor
[16:51] rbranson: jesus that is some fucked syntax
[16:51] context: does anyone have the google cache /url for that ibm article
[16:51] rbranson: is there even a way to call a function like that in C++?
[16:51] jetienne: jslatts: *.someMember is unreal
[16:51] lukstr: rbranson: ?
[16:51] jslatts: lukstr: the . is not right
[16:51] rbranson: a function pointer bound to an instance?
[16:52] lukstr: rbranson: yes
[16:52] merlinm: unless its static
[16:52] jslatts: yes, i have an external library that takes a func ptr for a callback
[16:52] rbranson: don't you need a trampoline to setup the calling convention properly?
[16:52] lukstr: yes-ish
[16:52] jslatts: and I want to pass it an instance member so I can access the object state when it calls back
[16:52] rbranson: just make it static then
[16:52] lukstr: you need a framework to set it up and make it pretty
[16:53] rbranson: yeah you'd have to generate per-instance stub code to call it
[16:53] jslatts: rbranson: then i don't get the state around the object when it assigned it
[16:53] rbranson: sux
[16:53] lukstr: it's nice to say x = callThisLater(someObject, SomeType::someFunction, someParameters);
[16:53] jslatts: unless i am missing something
[16:53] merlinm: i am very skeptical about this kind of language acrobatisc
[16:53] jslatts: lukstr: by framework you mean some additional library that handles that for me?
[16:54] rbranson: the external library should give you a way to pass a "cookie" pointer that it'll pass back to your callback function
[16:54] lukstr: jslatts: yes
[16:54] rbranson: otherwise it is a piece of shit library
[16:54] jslatts: lukstr: like a pseudo-closure type of deal?
[16:54] lukstr: haha yeah I guess? very pseudo
[16:54] jslatts: rbranson: yes. i think you are dead on
[16:54] Bradleymeck: context : http://webcache.googleusercontent.com/search?q=cache:4rp2x5ldS2oJ:www.infoworld.com/d/application-development/javascript-conquers-the-server-969+%22javascript+conquers+the+server%22&cd=2&hl=en&ct=clnk&gl=us&source=www.google.com ?
[16:54] lukstr: rbranson: that's pretty much how I do it
[16:54] rbranson: so in that case you can just use a static function
[16:54] rbranson: that's how node-ffi does it
[16:54] KirinDave: Okay we need to stop linking this shit.
[16:54] lukstr: you could but it's nice if you can use _any_ class
[16:55] jslatts: but I don't see why I can't pass a function pointer from my class instance?
[16:55] Bradleymeck: kirindave, someone asked this time
[16:55] KirinDave: Every time you link that article god rips the ears off a puppy.
[16:55] eyesUnclouded has joined the channel
[16:55] rbranson: it's a static function within a class, sure
[16:55] lukstr: jslatts: think about it from the compiler's perspective
[16:55] mjr_ has joined the channel
[16:55] lukstr: it would have to internally generate functors
[16:55] rbranson: KirinDave: u mad bro? InfoWorld journalists are pro
[16:55] lukstr: stuff like that is what the STL was designed for
[16:56] KirinDave: rbranson: I am mad we're even having this discussion. :(
[16:56] rbranson: :(
[16:56] KirinDave: rbranson: Like, for real.
[16:56] KirinDave: rbranson: You feel me, dizzawg?"
[16:56] ExsysTech has joined the channel
[16:56] rbranson: i can dig it
[16:56] lukstr: jslatts: you get the difficulty?
[16:57] jslatts: lukstr: yes.. but i swear I have read you can do it
[16:57] lukstr: jslatts: you can do it
[16:57] rbranson: don't, srsly
[16:57] jslatts: http://www.newty.de/fpt/fpt.html
[16:57] [[zz]] has joined the channel
[16:57] lukstr: jslatts: it's just not provided as a language feature.
[16:58] pixel13 has joined the channel
[16:59] catshirt has joined the channel
[16:59] Lorentz has joined the channel
[16:59] rbranson: "If the call takes place within another member function you may use the this-pointer."
[17:00] lukstr: rbranson: haha this is insane
[17:00] rbranson: if it actually lets you do it, "this" will probably be some garbage
[17:00] jslatts: am I missing something?
[17:00] rbranson: if you call it from outside the member
[17:00] jslatts: is that dude crazy?
[17:00] rbranson: no it all makes sense
[17:00] rbranson: you just have to read all of it
[17:00] ryah_ has joined the channel
[17:00] rbranson: and internalize
[17:01] pixel13: hello all…anyone here had experience using node.js to serve _static_ files, but able to limit request to specific file types? (e.g. don't serve up .php files, etc) NOTE: this is using node-static...
[17:01] rbranson: oh god, let's talk more about function pointers
[17:01] lukstr: lets
[17:01] ryah: 0/window
[17:01] tjholowaychuk: pixel13 dont put .php files in that dir?
[17:01] tjholowaychuk: :p
[17:01] coreb has joined the channel
[17:02] pixel13: ;) good call …but it's got to be possible, right?
[17:02] lluad has joined the channel
[17:02] tjholowaychuk: with node-static? I have no clue
[17:02] pixel13: substr on the file extension, and no call to serve()
[17:02] rbranson: where's the node-static expert?
[17:03] tjholowaychuk: with connect you could add your own middleware to ignore those
[17:03] tjholowaychuk: and use connect.static()
[17:03] tjholowaychuk: easily
[17:03] chrislorenz has joined the channel
[17:03] pixel13: cool, i'll def. check it out
[17:03] rbranson: kewl
[17:04] jarek has joined the channel
[17:06] hdon has joined the channel
[17:07] lukstr: forwarding a general question, is npm the right place to publish an API to a specific service, for example Facebook?
[17:07] sirkitre_ has joined the channel
[17:07] lukstr: e.g. I wrap a bunch of Facebook API into a node module, then put it on npm?
[17:07] harth has joined the channel
[17:08] tbranyen: lukstr: sure
[17:08] rbranson: i don't think npm cares what it is
[17:08] rbranson: it's just a module
[17:08] Matias: is it possible to require a js file without any module? I want to define anything related with configuration in other file but then I don't know how to include it
[17:08] Matias: I read require() is just for modules
[17:09] rbranson: Matias: eval
[17:09] Matias: is it the way to do it or just the simplest solution?
[17:10] MrSmurf has joined the channel
[17:11] Matias: maybe I can use "export" to export something else than a module
[17:11] quijote has joined the channel
[17:11] ceej has joined the channel
[17:11] xeodox has joined the channel
[17:12] darshanshankar has joined the channel
[17:12] herbySk has joined the channel
[17:13] Matias: or just var config = require('./config.js').getConfig(); :P
[17:14] cpolis has joined the channel
[17:14] igl: Oo
[17:14] igl: module.exports can be anything
[17:14] igl: so
[17:14] reid has joined the channel
[17:14] igl: it can be a function too
[17:15] Matias: can it be a simple object?
[17:15] igl: module.exports = function () { } works
[17:15] Matias: I think I tried exports = {whatever: 1} and it doesn't
[17:15] igl: require("foo")(bar);
[17:16] Matias: I mean, exports.config = {...}
[17:17] segaway has joined the channel
[17:17] igl: use module.exports
[17:18] igl: thats the actual object returned from require()
[17:18] jlecker_ has joined the channel
[17:19] Matias: that's right, they don't work the same way!
[17:19] Matias: it's working now
[17:20] igl: :)
[17:20] Matias: thanks
[17:20] jtrudeau has joined the channel
[17:20] abraham has joined the channel
[17:20] tbranyen: yeah if javascript had variables that could be passed by reference
[17:20] tbranyen: wouldn't have that issue
[17:20] tbranyen: dumb js
[17:21] pixel13: nice, just wrote a quick function that looks like it will cover preventing .php / .ini loading within the public directory… it's a bit too strict, but will do for now:
[17:21] pixel13: function preventURL( url ){ return ( url.match( /\.(ini|php)/ ) !== null ) }
[17:21] tbranyen: pixel13: make sure null bytes don't f with that
[17:21] tbranyen: i can't remember how js handles them
[17:21] pixel13: tbranyen: hmmm...
[17:21] pixel13: how can I test/confirm?
[17:21] tbranyen: well i guess its your own stuff
[17:21] tbranyen: probably fine
[17:22] tbranyen: pixel13: create a file with a null byte in the filename separating the extension
[17:22] isaacs has joined the channel
[17:22] Jonasbn_ has joined the channel
[17:22] tbranyen: .gif.php
[17:22] dguttman has joined the channel
[17:22] pixel13: ok, will do… not like "%00" in the URI?
[17:22] tbranyen: unless someone hacks your system
[17:22] tbranyen: pixel13: yeah like that
[17:22] tbranyen: its a common hack in php, i got owned by it before, only reason why i bring it up
[17:22] tbranyen: heh
[17:23] hdon has joined the channel
[17:23] pixel13: well, the way I wrote it is it will always return false if ".php" is in the URI
[17:23] pixel13: meaning, /images/image.php.gif would also fail
[17:23] mostmodernist has joined the channel
[17:24] tbranyen: right hte issue would be if it was after the null byte making it think the string ended
[17:24] pixel13: gotcha
[17:24] pixel13: one sec
[17:24] leeeb has joined the channel
[17:24] tbranyen: testing it as well
[17:24] Country has joined the channel
[17:25] Hamms has joined the channel
[17:25] tbranyen: pixel13: yeah javascript handles it correctly
[17:25] pixel13: confirmed my end as well
[17:25] tbranyen: another reason to never return to php
[17:26] pixel13: tbranyen: thx for the heads up
[17:26] jaw6 has joined the channel
[17:27] xsyn has joined the channel
[17:28] mostmodernist: QUESTION: should i use connect/vhost and/or cluster, or Haibu, for a multiple domain server?
[17:28] fyskij has joined the channel
[17:28] torvalamo has joined the channel
[17:31] johnm1234 has joined the channel
[17:32] tjh has joined the channel
[17:34] eldar_ has joined the channel
[17:34] Renegade001 has joined the channel
[17:35] ezl has joined the channel
[17:35] telemachus: Here's an odd one: using Express and trying to use flash messages; sessions are enabled, the flash messages show up when they should, but in the logs I keep seeing "Error: req.flash() requires sessions"
[17:35] cognominal has joined the channel
[17:35] telemachus: The app seems to be doing the right thing, but the logs say it's not happy.
[17:37] nivoc has joined the channel
[17:39] jslatts: rbranson or lukstr: either of you still around?
[17:39] lukstr: yes but off to a meeting in a few, what's up
[17:39] sctb has joined the channel
[17:39] jslatts: lukstr: have you seen this one before: V8 is no longer usable
[17:39] lukstr: what
[17:39] lukstr: what's the context?
[17:40] jslatts: lukstr: v8 is crashing when I do Number::New(1);
[17:40] jslatts: FATAL ERROR: v8::Number::New() V8 is no longer usable
[17:40] context: lukstr: i think you just like to say my name
[17:40] sctb: Hi all, is there a way that I can run node such that it doesn't print any terminal control characters? (I'd like to use Emacs comint-mode)
[17:40] lukstr: context: and you mine? :P
[17:40] jslatts: i gave up on the func ptr idea
[17:40] jslatts: and i am just using a static callback
[17:40] jslatts: but v8 seems dead when it gets called back and I am not sure why
[17:41] lukstr: do you know in what context it is being called?
[17:41] jslatts: can i see that via gdb?
[17:42] lukstr: yeah sure, paste the callstack
[17:43] catshirt has joined the channel
[17:43] Bradleymeck: sctb not without doing some heavy lifting in raw mode
[17:43] sctb: Bradleymeck: what's raw mode?
[17:43] mikeal has joined the channel
[17:44] context: wtf!
[17:44] mikeal1 has joined the channel
[17:44] context: ACTION dryhumps lukstr's leg
[17:44] Bradleymeck: tty's raw mode is where the process takes control of the terminal display entirely basically
[17:44] Bradleymeck: all input to be shown all output, keypress events, etc
[17:45] sctb: Bradleymeck: Oh, I see -- I thought you mean some kind of Node 'raw mode'
[17:45] jslatts: lukstr: before it dies it is here: CytoSeg::callback (startPos=1634100577, endPos=1680827500, numMarkers=4, avgVal=2.7491335159778696e+247, chr=0x125e006c8 "chr1") at ../cytoseg.cc:123
[17:45] lukstr: ACTION hoses context off
[17:45] lukstr: jslatts: is that your code?
[17:45] sctb: Bradleymeck: So there's no way to interact with the node repl via stdin/stdout?
[17:45] jslatts: lukstr: yes
[17:46] jslatts: lukstr: well, callback is the creative name of my callback
[17:46] lukstr: jslatts: do you have a stack dump?
[17:46] lukstr: I don't like remote debugging :P
[17:47] simenbrekken has joined the channel
[17:47] jslatts: lukstr: sorry, I am totally operating at my c++ limits here :) haven't touched it since college
[17:47] lukstr: jslatts: it's hard to know with out seeing
[17:48] jslatts: lukstr: do you want the stack before or after the crash?
[17:48] Bradleymeck: sctb there is, in fact it already does that
[17:48] Bradleymeck: it doesnt hadnle a pipe but thats a bit different
[17:48] Bradleymeck: *pipe from shell
[17:48] lukstr: you've corrupted it somehow
[17:48] Fredderf has joined the channel
[17:48] lukstr: jslatts: uh at the crash ideally
[17:49] CIA-104: node: 03isaacs 07bug-fixing * rd118003 10/ (lib/url.js test/simple/test-url.js): (log message trimmed)
[17:49] CIA-104: node: Closes GH-711 URL parse more safely
[17:49] CIA-104: node: This does 3 things:
[17:49] CIA-104: node: 1. Delimiters and "unwise" characters are never included in the
[17:49] CIA-104: node: hostname or path.
[17:49] CIA-104: node: 2. url.format will sanitize string URLs that are passed to it.
[17:49] CIA-104: node: 3. The parsed url's 'href' member will be the sanitized url, which may
[17:49] CIA-104: node: 03isaacs 07fs-readstream-start-stuff * r69c2fa1 10/ (lib/fs.js test/simple/test-fs-read-stream.js): Start of a thing to do fs.readStream that can start at an index, but without knowing the end (+8 more commits...) - http://bit.ly/jlQmzq
[17:49] CIA-104: node: 03isaacs 07global-leakage-test * r323cd74 10/ test/common.js : change port. 12346 is in use on my machine. - http://bit.ly/kQIKcy
[17:49] CIA-104: node: 03isaacs 07global-leakage-test * r34f0b2f 10/ (2 files): Two tests that show the https client failing in bad ways. - http://bit.ly/lzIwvV
[17:49] CIA-104: node: 03isaacs 07global-leakage-test * rccf759b 10/ (27 files in 4 dirs): test the tests for global leakage - http://bit.ly/m5LzRS
[17:49] CIA-104: node: 03isaacs 07isaacs * r7d6747a 10/ lib/util.js :
[17:49] CIA-104: node: Revert the comma-last change to sys.inspect
[17:49] CIA-104: node: It's just too ugly. (+7 more commits...) - http://bit.ly/inFSIP
[17:49] CIA-104: node: 03isaacs 07node-modules-folders * re4d05b7 10/ doc/api.markdown : Docs for require.resolve (+6 more commits...) - http://bit.ly/mPqCJJ
[17:49] CIA-104: node: 03isaacs 07package.json * r6d296a3 10/ lib/readline.js : (log message trimmed)
[17:49] isaacs: gaaaaaaaaa
[17:49] isaacs: sorry
[17:49] lukstr: oh GOD
[17:49] CIA-104: node: Add history-search-backward and history-search-forward functionality.
[17:49] CIA-104: node: Make up and down scroll through history entries prefixed with entered text.
[17:49] CIA-104: node: Ex: history contains (ls,pwd,echo "foo",ps aux)
[17:49] CIA-104: node: type: p(UP) --> scrolls through "ps aux" and "pwd", skips echo and ls.
[17:49] CIA-104: node: Like putting this in an .inputrc file:
[17:49] CIA-104: node: "\e[A": history-search-backward
[17:49] CIA-104: node: 03isaacs 07package.json * rcd2eb7e 10/ lib/repl.js : Add .n as a fast way to load native modules. - http://bit.ly/jN4k99
[17:49] isaacs: pushing dev branches, faux pas
[17:49] isaacs: ACTION blushed
[17:49] CIA-104: node: 03isaacs 07package.json * ra08c6c7 10/ lib/util.js :
[17:49] CIA-104: node: Revert the comma-last change to sys.inspect
[17:49] CIA-104: node: It's just too ugly. - http://bit.ly/jgyFya
[17:49] CIA-104: node: 03isaacs 07package.json * r3fe4afa 10/ package.json : package.json so you can install node with npm - http://bit.ly/mlVMBW
[17:49] CIA-104: node: 03isaacs 07stream-pipe-O-n-fix * rf4fcd6f 10/ lib/stream.js : (log message trimmed)
[17:49] CIA-104: node: Better stream.pipe() tracking.
[17:49] CIA-104: node: This commit does three things:
[17:49] CIA-104: node: 1. Uses an exposed counter rather than a hidden array for tracking dest
[17:49] CIA-104: node: streams that may have multiple inputs. This allows for significantly
[17:49] CIA-104: node: faster lookups, since the counter can be checked in constant time rather
[17:49] CIA-104: node: than searching an array for the dest object. (A proper O(1) WeakMap
[17:49] lukstr: ACTION shames isaacs
[17:49] context: hello.
[17:49] lukstr: hi
[17:49] MatthewS has joined the channel
[17:50] isaacs: cleaning up now
[17:50] context: lukstr: not you! cia :p
[17:50] lukstr: you need a better nick
[17:50] lukstr: like 'the' or 'a'
[17:50] sctb: Bradleymeck: I'm not following, exactly. How would I invoke node such that I can interact with it using a 'dumb' terminal (like comint-mode)?
[17:50] CIA-104: node: 03isaacs 07underscore-native-privates * rff29e82 10/ (34 files in 5 dirs): underscore native privates, not working yet (+10 more commits...) - http://bit.ly/lSUuOl
[17:50] CIA-104: node: 03isaacs 07v0.5 * rb5cad3a 10/ doc/api/modules.markdown : MOaR DoCS (+7 more commits...) - http://bit.ly/kJscs7
[17:51] lukstr: jslatts: in any manner, v8 is in a not-living state, could be a lot of things; whenabouts is that code being executed?
[17:52] akshatj has joined the channel
[17:52] jslatts: lukstr: get my dm?
[17:52] caolanm has joined the channel
[17:52] akshatj: hello
[17:52] lukstr: yes sorry, distracted one sec
[17:53] jslatts: lukstr: no hurry
[17:53] lukstr: can you paste cytoseg.cc:124 +-5 lines
[17:53] CIA-104: node: 03Ryan Petrello 07v0.4 * r58a1d7e 10/ (lib/url.js test/simple/test-url.js): (log message trimmed)
[17:53] CIA-104: node: Close #562 Close #1078 Parse file:// urls properly
[17:53] CIA-104: node: The file:// protocol *always* has a hostname; it's frequently
[17:53] CIA-104: node: abbreviated as an empty string, which represents 'localhost'
[17:53] CIA-104: node: implicitly.
[17:53] CIA-104: node: According to RFC 1738 (http://tools.ietf.org/html/rfc1738):
[17:53] CIA-104: node: A file URL takes the form:
[17:53] lukstr: or the whole thing :P
[17:53] isaacs: there we go.
[17:54] isaacs: sorry for the noise, folks.
[17:54] lukstr: isaacs: I'll never forgive you
[17:54] halfhalo: ever
[17:54] devrim has joined the channel
[17:54] akshatj: I tried to install some modules from npm but was only able to install socket.io
[17:54] zackattack has joined the channel
[17:55] akshatj: it just gets stuck while installing other modules
[17:55] uchuff has joined the channel
[17:55] olauzon has joined the channel
[17:55] dshaw_ has joined the channel
[17:57] akshatj: here is the log http://paste.ubuntu.com/613857/
[17:58] briznad has joined the channel
[17:58] jgv has joined the channel
[17:59] themadzak: ;)
[18:00] dshaw_ has joined the channel
[18:01] perezd has joined the channel
[18:01] merlinm: there are some smart people in this channel
[18:01] mscdex: whoa
[18:01] mscdex: how are we supposed to separate mainline from fork CIA-xxx messages?
[18:01] mscdex: :S
[18:02] alex_b has joined the channel
[18:02] akshatj: Anyone can help me?
[18:04] iori has joined the channel
[18:04] addisonj: akshatj, are you trying to install global or local?
[18:04] addisonj: with npm v1, default is to install local, in which case you don't need sudo, if you want to install global pass the -g option
[18:04] dylang has joined the channel
[18:04] akshatj: addisonj, global
[18:04] levi501d has joined the channel
[18:05] brownies has joined the channel
[18:05] philtor has joined the channel
[18:05] addisonj: yeah try sudo npm -g install colors
[18:05] stagas has joined the channel
[18:05] tikva has joined the channel
[18:05] sctb: Bradleymeck: this patch seems to purport to do what I want: http://groups.google.com/group/nodejs/browse_thread/thread/6cebf1209a585621/f4322a0a59e3f786?lnk=gst&q=comint#f4322a0a59e3f786
[18:05] ewdafa has joined the channel
[18:07] akshatj: addisonj, wait, installing
[18:08] addisonj: hrm, so opinion question, i need to do some text validation (basically make sure some keywords are not in a block of text), should I use grep or sed? or do it inside node? I wouldn't mind sharing the code with client side and doing the validation there too..
[18:09] Bradleymeck: isaacs, is there a place i can read more on npat at?
[18:09] simenbrekken has joined the channel
[18:10] isaacs: Bradleymeck: not really. there's not much to it yet
[18:10] isaacs: Bradleymeck: it's just the config flag that runs tests at install-time for now.
[18:10] colinclark has joined the channel
[18:10] Bradleymeck: kk
[18:11] v0idless- has joined the channel
[18:11] pomodoro has joined the channel
[18:14] tiagoa_ has joined the channel
[18:14] dgathright has joined the channel
[18:15] TheDeveloper has left the channel
[18:15] Yoric has joined the channel
[18:17] kuhrt has joined the channel
[18:20] langworthy has joined the channel
[18:22] AvianFlu: Oh no... Marak's unpacking his speakers
[18:22] jaw6 has joined the channel
[18:22] simenbrekken has joined the channel
[18:22] AvianFlu: this party tomorrow at the hackhaus is gonna be no joke
[18:23] Fredderf: haggis?! you have fun with that! :p
[18:23] brettgoulder has joined the channel
[18:24] baudehlo: jeez, yet another awful article covering node.js: http://www.javaworld.com/javaworld/jw-05-2011/110525-server-side-javascript.html
[18:25] mscdex: yaja = yet another java article
[18:25] mscdex: :p
[18:25] mscdex: ibm, infoworld, and now this
[18:25] mscdex: my pandaboard arrived today \o/
[18:25] mscdex: time to get node on this sucka
[18:26] `3rdEden: baudehlo javaworld, what do you expect?
[18:26] baudehlo: "ZOMG if I force the CPU to go 100% forever an event loop doesn't get access!!!"
[18:26] mscdex: i expect synchronous articles!
[18:26] AvianFlu: yeah blogging java devs all seem to be pro-level haters
[18:26] shanez has joined the channel
[18:27] baudehlo: I just hope for better conclusions than "I think Node.js will quickly grow beyond doing simple experiments and begin to handle semiserious but lightweight tasks such as online polls and simple message passing between users. If the server workload is simple and short-lived, Node.js is a good solution."
[18:27] chrischris has left the channel
[18:27] baudehlo: I mean, I'd never used node.js before February. but even I know how async coding works.
[18:27] c4milo: somebody with socket.io experience here?
[18:27] ryah: the infoworld article was idiotic
[18:27] `3rdEden: ACTION raises hand
[18:27] AvianFlu: yeah seriously
[18:28] baudehlo: hell, Java has NIO too, so the author should understand.
[18:28] baudehlo: ACTION goes back to hacking SMTP
[18:28] drudge: Node.js, made exclusively for simple tasks like online polls and simple message passing
[18:28] mscdex: drudge: no polling!
[18:29] mscdex: ;)
[18:29] bloodsucker has joined the channel
[18:29] `3rdEden: c4milo wut
[18:29] drudge: mscdex: you know if you don't write async code it blocks the server?
[18:29] ryah: i wouldn't mind an article that is anti-node if it were based in measurement
[18:29] Yoric has left the channel
[18:30] ryah: but comparing node to ringo and jaxer?
[18:30] ryah: that's needlessly insulting
[18:30] `3rdEden: isn't jaxer already declared dead by aptana?
[18:30] baudehlo: well most articles based on measurement are pretty poor so far too.
[18:30] c4milo: `3rdEden: if I want to develop a streaming service using socket.io, do I need to support a http streaming as well or socket.io does it for me.
[18:30] c4milo: ?
[18:30] drudge: the folks who make a great, Eclipse-based IDE <-- does such thing exist?
[18:30] tim_smart: It's like comparing Rails to Ruby
[18:30] baudehlo: the problem is benchmarking is hard.
[18:31] ryah: tim_smart: it's worse than that
[18:31] ryah: i don't think jaxer and ringo are even working or being worked on
[18:31] tim_smart: Ringo is being worked on I think
[18:32] ryah: meanwhile we've got a massive ecosystem
[18:32] chrischris has joined the channel
[18:32] `3rdEden: c4milo depends on the service, as your clients need to be able to connect to your server with a socket.io compatible client as Socket.IO uses its own protocol specification, and send heartbeats across the stream
[18:32] `3rdEden: and those hsould not be mistaken as regular messages etc
[18:32] ryah: tim_smart: true v
[18:32] ryah: https://github.com/ringo/ringojs/commits/master
[18:33] Bradleymeck: ringojs is still active, havent seen jaxer in a while
[18:33] Bradleymeck: they sit around her eon #ringojs
[18:33] baudehlo: wow, Jaxer = runat=server?
[18:33] baudehlo: dear ghod.
[18:33] c4milo: `3rdEden: oh yeah, I recall. Then yes, I need to provide the plain http stream too. Thanks man
[18:33] ryah: but yes, let's fire up js web servers and compare dick sizes
[18:33] ryah: by all means
[18:34] `3rdEden: baudehlo but they did provide a full serverside dom ;)
[18:34] adambeynon has joined the channel
[18:34] `3rdEden: https://github.com/aptana/Jaxer but it looks rather dead to me..
[18:35] tim_smart: The thing is, node.js is more of a runtime with a great stdlib. Where the others try hard to be the next awesome web framework
[18:36] mscdex: `3rdEden: 1 commit in nearly a year lol
[18:36] baudehlo: node.js is not just for the web :)
[18:37] baudehlo: I may have to beat people up who assume otherwise :)
[18:37] chapel: tim_smart: more than that, node.js could have the next awesome web framework, in fact it already does
[18:37] chapel: :)
[18:37] mscdex: node.js rules!
[18:37] halfhalo: thats what she said
[18:37] rick_h_: baudehlo: exactly, I'm finding it useful for non-web stuff more than web
[18:37] jchris1 has joined the channel
[18:37] tim_smart: chapel: Well of course it does, you do whatever the truck you want with it.
[18:37] chapel: yep
[18:37] chapel: modules baby
[18:37] chapel: the future is stackable
[18:38] mscdex: i like their tagline, "the world's first ajax server"
[18:38] context: mscdex: whos?
[18:38] mscdex: jaxer
[18:38] context: heh
[18:39] darshanshankar: ryah: what are the largest scale node.js deployments? Yammer?
[18:39] simenbrekken has joined the channel
[18:39] mscdex: darshanshankar: webos too
[18:39] tim_smart: darshanshankar: plurk has a pretty big one
[18:39] kmwallio has joined the channel
[18:39] mscdex: :p
[18:39] insin has joined the channel
[18:39] itissid has joined the channel
[18:39] context: i know facebook is playing around with it
[18:39] ryah: darshanshankar: probably voxer
[18:40] darshanshankar: interesting
[18:40] context: https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node
[18:40] context: doesnt say the largest but a nice list
[18:40] mjr_: we've got some node out there
[18:40] akshatj: cool
[18:40] norviller has joined the channel
[18:41] darshanshankar: i figured yammer was largest just based on sheer size
[18:41] darshanshankar: but voxer... hmm
[18:41] KirinDave: Yammer barely uses node.js
[18:41] mscdex: hmm... aptana was acquired by appcelerator
[18:41] KirinDave: It's like one service
[18:41] mjr_: Yammer has a lot of different things on their backend.
[18:41] mjr_: Voxer has only node.
[18:41] aheckmann_ has joined the channel
[18:42] context: ACTION install riak
[18:42] halfhalo: webos wins in the sheer number of node installs methinks
[18:42] darshanshankar: ah i misinterpreted then. i assumed yammer's entire api was on node
[18:42] AvianFlu has joined the channel
[18:42] darshanshankar: is tim caswell still doing all the webos stuff?
[18:43] mjr_: webos surely is responsible for the largest number of instances of a node process.
[18:43] halfhalo: as far as I know, yes
[18:43] gkmngrgn has joined the channel
[18:44] halfhalo: although sadly at the moment the webos node is not very nodey in actual usage due to a really retarded middle layer
[18:44] AaronMT has joined the channel
[18:44] darshanshankar: im trying to make a list of big use cases of node.js to prep for a pitch to a big enterprise client
[18:44] darshanshankar: sadly ive already gotten the "What's Node.js?" response >.<
[18:45] jonaslund: what is node.js? :P
[18:45] ryah: ACTION looks forward to the day of http://nodejs.org/dist/node-6.0.0.exe
[18:45] baudehlo: .msi, surely :)
[18:45] ryah: .exe
[18:45] truedat101 has joined the channel
[18:45] dshaw_: :)
[18:45] context: ryah: i dont know. according to infoworld we might be surprised if node is still around come christmas time
[18:46] ryah: we don't install multiple files
[18:46] context: ryah: :p
[18:46] chbrown has joined the channel
[18:46] context: ryah: did you see the article yet?
[18:46] darshanshankar: context: lol
[18:46] chbrown has left the channel
[18:46] baudehlo: ryah: ah I see. Though for the windows crowd you probably want to install npm too.
[18:46] context: ryah: its deja vu from a week or two ago really.
[18:46] jaw6_ has joined the channel
[18:47] darshanshankar: context: are you talking about this one? http://www.infoworld.com/d/application-development/javascript-conquers-the-server-969
[18:47] context: yeah
[18:47] baudehlo: same as the javaworld article.
[18:47] AaronMT has joined the channel
[18:47] context: i skipped page 1, read page 2, stopped reading.
[18:47] darshanshankar: hahah
[18:48] context: baudehlo: the dude failed 2nd grade math. apparently 8G ram / 2M == 8000
[18:48] duncanbeevers has joined the channel
[18:48] baudehlo: heh
[18:48] halfhalo: you never know!
[18:48] halfhalo: his math could be based on some other units
[18:48] baudehlo: maybe that's what 8000/2 is in Java.
[18:48] context: hahaha
[18:48] halfhalo: like... shoes in a womans closet
[18:49] edude03 has joined the channel
[18:49] context: no. this isnt a tardis powered server.
[18:49] fbrandel_ has joined the channel
[18:49] halfhalo: awwww
[18:49] context: where memory can be used in a different time and space
[18:50] halfhalo: but I like that other space/time! its summer constantly there!
[18:50] insin: "Node.js will quickly grow beyond doing simple experiments and begin to handle semiserious but lightweight tasks" - when is semiserious task support landing?!
[18:50] halfhalo: friday
[18:50] halfhalo: of 2012
[18:50] darshanshankar: context: i like how that article still references jaxer as relevant to the discussion lol
[18:50] context: hahaha
[18:50] insin: ACTION lies sideways on the floor and runs in a circle
[18:50] context: i like how he compares node to doing 'for i in 1..900000' to web requests
[18:51] tim_smart: insin: Task support?
[18:51] stagas has joined the channel
[18:51] tim_smart: It can do your tasks when you code it to
[18:51] sveimac has joined the channel
[18:52] jslatts: will building node with the --debug flag let me step through the v8 code as well?
[18:52] halfhalo: ACTION waits for the day that node can make him a samich
[18:52] baudehlo: jslatts: as in the C++?
[18:52] sveimac has joined the channel
[18:52] jslatts: baudehlo: yes
[18:52] ryah: jslatts: you can step through the v8 code without --debug
[18:52] baudehlo: no. It's not a C debugger.
[18:52] tim_smart: halfhalo: You could make a sammich shop with a API
[18:52] ryah: jslatts: --debug is for getting -O0 code
[18:52] ryah: jslatts: and asserts
[18:52] ryah: you probably don't want that
[18:53] jslatts: @ryah: ah. i guess not
[18:53] halfhalo: tim_smart: that involves time and money. but toaster with api is doable
[18:53] jslatts: ryah: do you have any suggestions for detecting why v8 is dying?
[18:53] akshatj: halfhalo, or wait till it reads email ;)
[18:53] ryah: jslatts: how is it dying?
[18:53] tim_smart: Starbuck or something should make an API
[18:53] baudehlo: node.js reads email already.
[18:53] thalll has joined the channel
[18:53] baudehlo: it reads every single one of mine.
[18:53] tim_smart: someone*
[18:54] halfhalo: PUT /make/me/a/samich/and/burn/to/a/fucking/crisp/
[18:54] jslatts: ryah: i have a callback that fires for an external dependency. when it fires, V8::IsDead() returns ture
[18:54] jslatts: s/ture/true
[18:54] ryah: jslatts: mm.. are you using any addons?
[18:54] baudehlo: tim_smart: just implement rfc 2324 with node.
[18:54] jslatts: ryah: no, I am trying to build one though
[18:55] jslatts: ryah: this is a c++ callback to another C++ lib
[18:55] ryah: jslatts: is this inside your addon that it dies?
[18:55] jlecker_ has joined the channel
[18:55] ryah: ah
[18:55] jslatts: ryah: yes
[18:55] ryah: can you post the code?
[18:55] jslatts: ryah: sure, one sec
[18:55] lukstr: and I'm back
[18:56] halfhalo: ACTION bets there will be a chipotle REST api soon enough
[18:56] towski has joined the channel
[18:56] AvianFlu has joined the channel
[18:56] jslatts: /msg ryah https://gist.github.com/2688be96c7f2c4aae6f8
[18:56] jslatts: doh
[18:56] jslatts: well, there it is
[18:56] Ned_ has joined the channel
[18:57] jslatts: ryah: sure I have something terrible going on
[18:57] baudehlo: ugh. NYTimes interview time.
[18:57] halfhalo: fake it
[18:58] jesusabdullah: Do it live!
[18:58] halfhalo: fake it live!
[18:59] pkarl has joined the channel
[19:00] jmoyers has joined the channel
[19:01] sveimac has joined the channel
[19:02] tdegrunt has joined the channel
[19:03] metadaddy has joined the channel
[19:04] darshanshankar: isaacs: not sure if you remember, but we chatted two months ago (lol) about CPANTS style test scripts in package.json
[19:04] stagas has joined the channel
[19:04] isaacs: darshanshankar: yeah
[19:04] isaacs: i've talked to a lot of people about that :)
[19:04] darshanshankar: xD any updates on that?
[19:04] isaacs: darshanshankar: "scripts":{"test":"blah dee bloo"}
[19:04] isaacs: darshanshankar: do that
[19:05] darshanshankar: :D woot woot!
[19:05] isaacs: darshanshankar: there's no server yet to upload the tests to.
[19:05] isaacs: darshanshankar: but if you do `npm set npat true`, then it'll run tests automatically as part of the install
[19:05] darshanshankar: cool
[19:05] isaacs: darshanshankar: once we get a server set up to upload the data to, i'll make npm do that.
[19:05] isaacs: darshanshankar: once we start collecting data, we can design a pretty site around it
[19:06] darshanshankar: what ever happened to 2.no.de ?
[19:06] AvianFlu has joined the channel
[19:06] jaw6 has joined the channel
[19:06] darshanshankar: i think it was nithub by marcello3d
[19:08] sledge has left the channel
[19:08] admc1 has joined the channel
[19:08] eyesUnclouded has joined the channel
[19:09] materialdesigner has joined the channel
[19:10] dget has joined the channel
[19:11] captain_morgan has joined the channel
[19:12] springmeyer has joined the channel
[19:13] patcito has joined the channel
[19:15] zackattack has joined the channel
[19:17] sreeix has joined the channel
[19:18] jaw6 has joined the channel
[19:19] fbrandel_ has left the channel
[19:19] jbpros has joined the channel
[19:23] japj has joined the channel
[19:24] adambeynon has joined the channel
[19:25] zmbmartin: what is the best way to deploy a node/express app with nginx? I saw an article about using god to monitor it.
[19:25] zmbmartin: Is there a preferred way?
[19:26] drudge: i deploy with upstart and monit
[19:28] tjh: yeah i wouldnt use ruby
[19:28] mscdex: i thought ngix + node = 3
[19:28] mscdex: s/ngix/nginx/
[19:28] mscdex: :S
[19:29] Venom_X has joined the channel
[19:29] catshirt has joined the channel
[19:30] jbpros has joined the channel
[19:32] niftylettuce has joined the channel
[19:32] context: mscdex: you thought wrong
[19:32] mscdex: eh?
[19:33] mscdex: when did this change?
[19:33] robhudson: For me it wont' work b/c nginx doesn't support HTTP 1.1 as a reverse proxy
[19:34] mscdex: and websockets don't forward :\
[19:34] robhudson: yeah, websockets or chunked encoding require HTTP 1.1
[19:37] snearch has joined the channel
[19:39] MatthewS has joined the channel
[19:40] Fredderf: I'm assuming Node.js is making inroads into HPC. Anyone have suggested sites/code? Feel like I'm just stumbling around on this using google.
[19:40] jamescarr_ has joined the channel
[19:41] Fredderf: High Performance Computing
[19:41] Fredderf: not Handheld Portable Computers
[19:41] alindeman: Sounds like a buzzword
[19:41] alindeman: What does it really mean?
[19:41] alindeman: And what would qualify something as making inroads into it?
[19:42] niftylettuce: alindeman++
[19:42] v8bot: niftylettuce has given a beer to alindeman. alindeman now has 1 beers.
[19:42] c-spencer has joined the channel
[19:43] drudge: mmm, maximizing synergies though high performance computing
[19:43] adelgado: I have a container of HPC's in a warehouse at the port of Lagos, Nigeria that I require assistance in shipping. You can have one HPC if you are able to help.
[19:43] jmoyers: please to be sending a check
[19:43] jmoyers: s/check/money order
[19:46] niftylettuce: ACTION spots a WILD HPC
[19:46] lukegalea has joined the channel
[19:49] jmoyers: i mean, it is a real thing though
[19:50] jmoyers: i don't know that node has been used in that class of problem
[19:50] lukstr: All of the HPC people I know would laugh, I believe
[19:50] jmoyers: people do embrace automatic clustering concepts for parallel problems, but not in the 'teraflops' region
[19:51] jlecker_ has left the channel
[19:55] bergie has joined the channel
[19:56] Billbad has joined the channel
[19:56] niftylettuce: git tracking system built in node
[19:56] niftylettuce: who's in
[19:56] tim_smart has joined the channel
[19:56] niftylettuce: :P
[19:57] ExsysHost has joined the channel
[19:57] dgathright has joined the channel
[19:59] piscisaureus has joined the channel
[19:59] zackattack has joined the channel
[19:59] tayy has joined the channel
[20:00] wailupe2k has joined the channel
[20:00] amerine has joined the channel
[20:00] wailupe2k: Anyone here using the Node Zeromq lib?
[20:01] samy has joined the channel
[20:03] caolanm has joined the channel
[20:03] johnm1234 has joined the channel
[20:05] kersny has joined the channel
[20:05] BillyBreen: wailupe2k: yep
[20:06] wailupe2k: It working out for you? Stable and whatnot?
[20:06] BillyBreen: yes, i've been very happy with it
[20:06] wailupe2k: seriously looking at putting into a project
[20:06] wailupe2k: having issues getting it to work on my local station though
[20:06] wailupe2k: ubuntu10
[20:06] hosh_work has joined the channel
[20:07] BillyBreen: hmm. i develop on OS X and deploy to ubuntu 10.04 and haven't had any real issues in either place
[20:07] BillyBreen: though getting it built can be a mess in either place. i think the most recent versions of the lib build more cleanly, but for a while getting it to find the zeromq dependencies was a a mess.
[20:08] wailupe2k: Waf: Entering directory /root/local/node/lib/node_modules/zeromq/build'
[20:08] wailupe2k: [1/2] cxx: binding.cc -> build/default/binding_1.o
[20:08] wailupe2k: ../binding.cc:24:16: error: ev.h: No such file or directory
[20:08] wailupe2k: configures ok but then get that ^^
[20:08] wailupe2k: using npm for install
[20:08] BillyBreen: hmm. never seen that one.
[20:08] wailupe2k: have zeromq with perl bindings working fine
[20:09] wailupe2k: prod env is BSD though ......
[20:09] Opaque has joined the channel
[20:10] BillyBreen: yeah, i haven't installed the npm in a month or so. at the time i needed to symlink /usr/local/lib/libzmq* to /usr/lib to make waf happy.
[20:11] jaw6 has joined the channel
[20:11] nibblebot: when Mongoose does a find() is there anyway to restrict which fields are returned? I can only get it to return the entire doc,
[20:12] mscdex has joined the channel
[20:12] xsyn has joined the channel
[20:13] tmpvar has joined the channel
[20:13] addisonj: hrm... i am struggling to get express-mongoose to work, i am defining my models in a separate file but when I call the method I get a no method error.
[20:14] mcluskydodallas has joined the channel
[20:18] wadey has joined the channel
[20:20] _fat has joined the channel
[20:20] jmoyers: ACTION is sad when he sees a framework implement 'classes'
[20:21] jmoyers: https://gist.github.com/989117 - $.Class :: sad face ::
[20:21] benmills: Yeah I agree
[20:21] joeytwiddle has joined the channel
[20:22] maushu has joined the channel
[20:22] tbranyen: jmoyers: just recently did an api audit for a company's new product
[20:22] tbranyen: and they had an extendClass
[20:22] tbranyen: talking about javascript classes
[20:22] jmoyers: yeah
[20:22] tbranyen: recommended they rename it all and deal with constructors
[20:22] _fat: isaacs: small question for you
[20:22] jmoyers: for some reason the underscore/backbone guys did it too
[20:23] jmoyers: extend({})
[20:23] _fat: where is npm prefix set?
[20:23] tbranyen: jmoyers: oh javascript mvc, justin meyers wrote that, he comes around our loft once in a while
[20:23] jmoyers: I guess because inherits() uses Object.create, it probably doesn't work for older browsers
[20:23] catshirt has joined the channel
[20:23] tbranyen: yeah Object.create is unusable in a jquery world
[20:24] jmoyers: ACTION nods
[20:24] jmoyers: its just such a bummer
[20:24] jmoyers: YUI's model is a shitpoop
[20:24] jmoyers: when it comes to that stuff
[20:24] jmoyers: i dont like to see other people do that
[20:24] tbranyen: i've never seen the need to use yui
[20:24] tbranyen: maybe some day
[20:25] jmoyers: well they have decent widgets and such
[20:25] jmoyers: i mean jquery ui clearly has something going for them
[20:25] jmoyers: i cant bring myself to use either, frankly
[20:25] tbranyen: yeah richard worth works for us, so we're big on jquery/jquery ui
[20:25] tbranyen: we also have jquery core committers ^_^
[20:25] tbranyen: so... nobody here would know wtf was going on if i used yui
[20:26] jmoyers: ;-)
[20:26] jmoyers: i mean, i dig what they've done with it
[20:26] jmoyers: but i still have a hard time with the fact that i need to like
[20:26] slip has joined the channel
[20:26] jmoyers: choose all kinds of themes and packages and shit
[20:26] jmoyers: and all i want is a god damned js button
[20:26] LowValueTarget has joined the channel
[20:26] tbranyen: jmoyers: i was really interested in ukijs for a while
[20:26] tbranyen: never actually built anything with it tho
[20:26] tbranyen: has some node stuff now too
[20:27] wailupe2k: verbose loadDefaults zeromq@0.5.0
[20:27] wailupe2k: info preinstall zeromq@0.5.0
[20:27] wailupe2k: verbose unsafe-perm in lifecycle false
[20:27] wailupe2k: verbose Setting uid from 0 nobody
[20:27] wailupe2k: verbose stack at uid setting Error
[20:27] wailupe2k: verbose stack at uid setting at exec (/usr/local/node/lib/node_modules/npm/lib/utils/exec.js:35:17)
[20:27] wailupe2k: :(
[20:27] jmoyers: tbranyen: hmm, never seen this
[20:27] tbranyen: yeah look at the homepage has a nice demo example and you can get your damn js button :D
[20:27] jmoyers: haha
[20:29] jaw6 has joined the channel
[20:29] supster has joined the channel
[20:31] jmoyers: tbranyen too bad they've gone the route of "rect: '720 10 24 24', anchors: 'left top'" and friends
[20:31] jetheredge has joined the channel
[20:31] `steve has joined the channel
[20:31] eb4890 has joined the channel
[20:32] tbranyen: jmoyers: yeah :-/
[20:32] jmoyers: seems like a lot of ui toolkits these days (gwt, ajax.org, etc) completely abstract the html/css
[20:32] jmoyers: thats doomed for failure imo
[20:32] `steve has joined the channel
[20:32] tbranyen: would be neat to add extensions to css and have your own parser for it
[20:33] tbranyen: but its too slow
[20:33] jmoyers: ACTION nods
[20:33] antoinevg has joined the channel
[20:33] context: jmoyers: eh?
[20:33] jmoyers: eh?
[20:33] jmoyers: which part
[20:33] tbranyen: also i don't like that you write that sort of stuff in JS and then if JS is disabled you lose all styling
[20:33] s00pcan has joined the channel
[20:33] tbranyen: you lose all styling with printing as welkl
[20:33] context: jmoyers: about ui toolkits
[20:33] s00pcan: cdr ] [ marlun ] [ robinhoode|away ] [ wibblymat ]
[20:33] s00pcan: 16:33 [ Casperin ] [ Gruni|spuelen ] [ Martz ] [ robotblake ] [ wica ]
[20:33] s00pcan: 16:33 [ catshirt ] [ Guest27158 ] [ maru_cc ] [ Roelven ] [ wilhelm ]
[20:33] s00pcan: 16:33 [ cce ] [ Guest62417 ] [ MaSch ] [ roger_raymond ] [ willwhite ]
[20:34] tbranyen: nice
[20:34] s00pcan: 16:33 [ ceej ] [ Guest74518 ] [ matbee ] [ rphillips ] [ Will| ]
[20:34] jmoyers: ...
[20:34] context: jmoyers: which do you prefer, stuff like jquery-ui / jquery mobile, or extjs
[20:34] s00pcan: oops
[20:34] jmoyers: ;-)
[20:34] tbranyen: context: those are all really really different things
[20:34] s00pcan: trying out a cli irc client for the first time here
[20:34] tbranyen: or is that what you're asking
[20:34] roger_raymond: heh - i was wondering why i was pinged in here :)
[20:34] jmoyers: context im not sure what i prefer to be honest
[20:34] jmoyers: jquery ui seems nice
[20:34] jmoyers: but the themes seem like a bitch
[20:34] jmoyers: maybe im imagining things
[20:34] xsyn has joined the channel
[20:35] yozgrahame has joined the channel
[20:35] tjholowaychuk has joined the channel
[20:35] jmoyers: if you've ever seen grubhub.com -- i like that style of button
[20:35] jmoyers: something that has rich graphics, has mousedown/mouseup etc
[20:35] jmoyers: and whenever i go to a ui toolkit
[20:36] jmoyers: i end up with a shitload of stuff -- and i just cant use it out of the box because our chief designer is particular about things like that
[20:36] tojochacko has joined the channel
[20:36] jmoyers: so i end up having to contemplate groking all this theme'ing shit
[20:36] benmills: I'm running into a problem trying to do `npm install express` is anyone else running into problems with that?
[20:37] ardcore has joined the channel
[20:37] ardcore has left the channel
[20:37] jmoyers: but i guess, since almost all these guys end up with a similar solution (a theme package with icons, colors, etc) and a compiled source kit (core vs draggable vs whatever), i should probably get over it
[20:37] rbranson: yeah lose the pedantry neckbeard ;)
[20:37] Wizek: Is there anyone here who uses NodeUnit?
[20:38] jmoyers: but until that day comes, i'll keep writing 15 line jquery plugins and do $('button').button() ;-)
[20:38] Wizek: or did use, for that matter...
[20:38] context: benmills: could you be more vague please. you gave us way to much detail
[20:38] benmills: "couldn't read package.json in express "
[20:39] aho has joined the channel
[20:39] lostinplace has joined the channel
[20:39] context: worked just fine here :x
[20:39] jmoyers: benmills: nope -- just tried it
[20:39] context: benmills: upgrade npm ?
[20:39] lostinplace: anyone have any kind of timeline on web workers support?
[20:39] jmoyers: i'd imagine your package got corrupt or some such?
[20:40] pifantastic has joined the channel
[20:40] tbranyen: lostinplace: pretty sure its in dev right now
[20:41] lostinplace: Boss: Can it do threading?
[20:41] lostinplace: me: you can spawn different processeds with independant functionality
[20:41] lostinplace: boss: can it do threading?
[20:41] jmoyers: uh
[20:41] LowValueTarget has joined the channel
[20:41] lostinplace: me: ....maybe with web workers?
[20:41] jmoyers: you'll need to give your boss an explanation of why it DOESN'T do threading
[20:41] jmoyers: methinks
[20:41] tbranyen: +1
[20:41] LowValueTarget has joined the channel
[20:42] lostinplace: that increases the risk of aneurysm
[20:42] tbranyen: or don't recommend nodejs if you're writing something that absolutely must have threading
[20:43] jmoyers: there's a wide range of problems that people apply 1 to 1 thread models to that absoutely don't need them
[20:43] benmills: Is there a better way to upgrade npm then reinstalling? I tried `sudo npm update -g npm` and got 'Error: Cannot find module '/usr/local/lib/node_modules/npm/bin/npm-get-uid-gid.js''
[20:43] jbpros_ has joined the channel
[20:44] lostinplace: for me it becomes a question "should I write an app that acts like a thread manager for a whole bunch of concurrently running function nodes?"
[20:45] lostinplace: or should I just wait for nodejs to come up with theeir own solution
[20:45] jmoyers: what class of functions are you talking about here
[20:45] jmoyers: if its io -- it doesn't need threads to handle that gracefully
[20:46] jmoyers: there are userland things that make offloading computation intensive things to child processes/long running processes
[20:46] context: benmills: npm will remove all old stuff when you upgrade to 1.0
[20:46] ezl has joined the channel
[20:46] lostinplace: receive request for value in attribute a of dataset and best correlated attribute b
[20:46] context: lostinplace: stop trying to write sync code in node ?
[20:46] lostinplace: so I can either do compares in series or parallel
[20:47] micrypt has joined the channel
[20:47] jmoyers: lostinplace ah
[20:47] _fat_ has joined the channel
[20:48] lostinplace: oops *return best correlated attribute b
[20:48] context: lostinplace: if you are in the mind set 'threads are the only way to get something done' node is not your solution
[20:49] tojochacko has left the channel
[20:49] jmoyers: so you're talking about a massively parallel problem -- something that needs to be broken down into n parts and done in parallel
[20:49] jmoyers: there are a few mapreduce like packages out there
[20:49] jmoyers: for node
[20:49] context: you could see how nedis works... i imagine it handles a bit of parallel operations
[20:49] z8000: anyone seen npm hang?
[20:50] context: nice colour.
[20:50] lostinplace: curiosity: how do they implement parallel processing?
[20:51] lostinplace: (realize I could dive in, wondering if anyone has quick answer)
[20:51] context: thats why i suggested you could look at it.
[20:51] z8000: oh I suppose it's because I changed the repository config to use https
[20:52] mcluskydodallas has joined the channel
[20:52] voodootikigod: !log
[20:52] Calvin: Usage: !log logid | [[n]~]logid | logid[(+|-)n]
[20:52] z8000: yep
[20:52] AntelopeSalad has joined the channel
[20:52] gazumps has joined the channel
[20:53] _fat has joined the channel
[20:54] liquidproof has joined the channel
[20:56] jmoyers: i dont think nedis does anything wrt lookups and such in parallel
[20:56] Grimmenstein has joined the channel
[20:57] zed0: I'm having trouble getting the crypto md5 function to work in a loop, can someone take a look at https://gist.github.com/996145 please?
[20:58] jmoyers: cluster on the other hand
[20:58] jmoyers: automatically spawn n processes where n is = to number of cpus by default
[20:58] jmoyers: https://github.com/LearnBoost/cluster
[20:59] AvianFlu has joined the channel
[21:00] amocla has joined the channel
[21:00] Fredderf has joined the channel
[21:01] eee_c has joined the channel
[21:01] lostinplace: jmoyer cluster=win; exactly what I figured I was going to have to write myself
[21:01] lostinplace: jmoyer thx
[21:01] jhurliman: tjholowaychuk, node-canvas is segfaulting for me on drawImage() with node 0.4.8 and node-canvas 0.5.4 on OSX. any ideas?
[21:01] dshaw_ has joined the channel
[21:01] viz has joined the channel
[21:01] tjholowaychuk: jhurliman valgrind it up
[21:02] jhurliman: k
[21:02] briznad has joined the channel
[21:03] mandric has joined the channel
[21:03] jmoyers: lostinplace np, but thank tj, he wrote it :P
[21:04] mandric: anyone know what ircbot node.js uses?
[21:04] tdegrunt has joined the channel
[21:04] mandric: err, #node.js
[21:05] jmoyers: mandric: not sure what you mean -- theres an irc package called... 'irc' that a few bots use. https://github.com/nodejitsu/kohai and such
[21:06] jmoyers: https://github.com/martynsmith/node-irc
[21:06] aphelion has joined the channel
[21:06] mandric: that helps, just wondering if there an npm package or something to get a bot connected to a channel and do thing like logging.
[21:07] jmoyers: look at node-irc examples
[21:07] jmoyers: its identical to what you're talking about
[21:07] mandric: ok
[21:07] mandric: thanks jmoyers
[21:09] gazumps has joined the channel
[21:10] _fat_ has joined the channel
[21:10] jhurliman: tjholowaychuk, gdb says bad access at "0x0000000125b6d0e2 in cairo_surface_create_for_rectangle ()"
[21:10] jhurliman: checking valgrind next
[21:10] lostinplace: RAHH!!!
[21:11] eguest309 has joined the channel
[21:12] jhurliman: ugh, stupid valgrind is not working on this machine
[21:12] _fat has joined the channel
[21:13] eguest309: hi guys .got a question i needed some help with.i am starting up node.js from an upstart script.the node files are in a particular folder on my web server.whenever i try to make a get request i get this error ypeError: Object # has no method 'get' although the node get request works fine if i am using it outside of the script and standalone ie node script.js wrks fine.
[21:14] adambeynon has joined the channel
[21:14] benmills: Is it possible to print to the console or stdout from an addon inside the C++ code?
[21:14] eguest309: i am guessng teh cause is that it cant seem to find some files becuase of a scope problem.any ideas on how to solve this?
[21:15] tjholowaychuk: benmills of course
[21:15] benmills: How do I go about that?
[21:15] brianseeders has joined the channel
[21:15] benmills: This is actually related to a strange bug I found in my markdown lib that happens when I use it with express
[21:15] tjholowaychuk: just like you would with c/c++ in the first place :p
[21:15] TooTallNate: benmills printf
[21:16] benmills: well I mean output to the node console when I'm using the addon in node
[21:16] benmills: printf will reach that?
[21:16] ZDZolton has joined the channel
[21:16] TooTallNate: the "console" is just the regular stdout
[21:16] benmills: ok
[21:16] TooTallNate: so yes, printf reaches that
[21:16] febits[0] has joined the channel
[21:17] Bonuspunkt has joined the channel
[21:17] AvianFlu has joined the channel
[21:17] sechrist has joined the channel
[21:18] benmills: alright thanks
[21:19] eguest309: any help ?
[21:19] lemon-tree has joined the channel
[21:19] aakour has joined the channel
[21:20] samsonjs has joined the channel
[21:20] rudebwoy has joined the channel
[21:20] SubStack has joined the channel
[21:22] jmoyers: eguest309 you need to like, gist your code or something
[21:22] jmoyers: eguest309 the way modules are resolved, if its something you've installed via npm, its installed to a local folder called 'node_modules'
[21:22] jmoyers: if you've moved things around, it wont be able to resolve your modules
[21:22] sherod has joined the channel
[21:23] eguest309: but this is a core module
[21:23] caolanm has joined the channel
[21:23] jmoyers: https://gist.github.com/
[21:24] jmoyers: cant help without code
[21:24] eguest309: okay.hold on
[21:26] eguest309: exec sh -c '/usr/local/bin/node /var/www/app_node/webroot/js/gameplay/printServer.js >> /var/log/node/printServer.log 2>&1'
[21:27] jmoyers: ah
[21:27] jmoyers: i'd guess your environment variables aren't the same
[21:27] Poetro has joined the channel
[21:28] agrohe21 has left the channel
[21:28] eguest309: so u suggest i use the env variables of the user i used to install node ?
[21:28] jmoyers: not sure which to point you to though
[21:28] insin: do subsequent require()s re-evaluate the whole source file again?
[21:28] jmoyers: no
[21:29] bartt1 has joined the channel
[21:30] jmoyers: eguest309: i have no problem with that method on cli in macos using the same user i installed with
[21:30] jmoyers: shooting in the dark though
[21:31] eguest309: thanks anyways.will try that and get back to u
[21:31] ryah_ has joined the channel
[21:31] bartt2 has joined the channel
[21:35] eguest309: i tried using exec sudo -u root sh -c 'PATH=${PATH} /usr/local/bin/node /var/www/idbs2/webroot/js/gameplay/printServer.js >> /var/log/$
[21:36] jch has joined the channel
[21:36] eguest309: got teh same problem however
[21:36] bartt has joined the channel
[21:37] zackattack has joined the channel
[21:37] eguest309: so basicalyyy my probelme is the environment in which i am running node under
[21:39] AvianFlu has joined the channel
[21:39] Grimmenstein has joined the channel
[21:39] nightshift has joined the channel
[21:40] jiggliemon has joined the channel
[21:40] jmoyers: yyeaaah, you shouldn't have to sudo
[21:40] jmoyers: thats for sure
[21:40] bartt has joined the channel
[21:40] znutar has joined the channel
[21:40] jiggliemon: I've noticed in most packages people are using fs.readFileSync instead of the async method.
[21:41] jiggliemon: It's that the defacto standard? or just easier?
[21:41] jmoyers: jiggliemon should only use sync on startup if its a server application
[21:41] nightshift has joined the channel
[21:41] AntelopeSalad_ has joined the channel
[21:41] jiggliemon: Oh yeah?
[21:41] coreb has joined the channel
[21:41] jmoyers: yes
[21:41] jmoyers: sync blocks
[21:42] jmoyers: your whole server stops
[21:42] jiggliemon: That's comforting. I was trying to use async. - and it's a real bitch.
[21:42] jmoyers: async version immediately yields the execution context and then calls the callback when io is ready
[21:42] jiggliemon: yeah, I was trying to write to a buffer etc - and form a callback based on the buffer's state.
[21:43] jiggliemon: Not so much for fun.
[21:43] olalonde has joined the channel
[21:43] atiti has joined the channel
[21:44] trumpetmic has joined the channel
[21:44] telemachus: I'm having a weird issue with Express. I'm using the request's flash method in a few places - and I do have sessions enabled. The whole app works (including the flash), but I get errors for one of the flash calls telling me that the app needs sessions enabled.
[21:45] telemachus: Any thoughts?
[21:46] telemachus: Code if anyone cares to look: https://gist.github.com/996249
[21:46] telemachus: (The error complains about line 90)
[21:46] telemachus: no 89, sorry
[21:47] pen has joined the channel
[21:47] jmoyers: jiggliemon not sure what you mean. should be pretty simple. readFile callsback by default with the whole file
[21:47] jmoyers: http://nodejs.org/docs/v0.4.8/api/fs.html#fs.readFile
[21:48] jmoyers: line by line and such you can create a readStream
[21:48] jmoyers: which is more complicated
[21:48] jiggliemon: jmoyers: I was reading the contents of a directory - and parsing them.
[21:48] jmoyers: ah
[21:49] jiggliemon: then saving the rendered content to a buffer to write to a cache file.
[21:49] jiggliemon: It was a gnarly chain of callbacks dude to async reading.
[21:49] jmoyers: mm
[21:49] jmoyers: flow control
[21:49] wailupe2k: ../binding.cc:24:16: error: ev.h: No such file or directory cc1plus: warnings being treated as errors
[21:50] jiggliemon: sync will save me some effort.
[21:50] wailupe2k: running into issues with ev.h
[21:50] jiggliemon: or readability
[21:50] jmoyers: jiggliemon https://github.com/caolan/async#parallel
[21:50] jmoyers: should be something there to keep callbacks flattish
[21:50] wailupe2k: zeromq is including it as a lib, and its having issues with warnings being treated as errors
[21:51] devaholic: +1 for async.js
[21:51] jiggliemon: jmoyers: that's what im looking for.
[21:51] DelvarWorld has joined the channel
[21:51] jiggliemon: Thankyou
[21:51] wailupe2k: as a result npm cant finish install
[21:51] cafesofie has joined the channel
[21:51] wailupe2k: any thoughts?
[21:52] wailupe2k: it is able to find ev.h and include it but due to the errors with warnings being treated as errors its just getting kicked back.... This doens't look like a prob with the zeromq package, as it isn't the one supplying the ev.h
[21:53] wailupe2k: /usr/local/node/include/node/ev/ev.h
[21:54] micrypt_ has joined the channel
[21:54] wailupe2k: using node v0.5.0-pre
[21:54] jmoyers: wailupe2k somebody was in here like an hour ago complaining about the same thing
[21:54] jmoyers: im sure its the package maintainer
[21:54] v0idless- has joined the channel
[21:55] wailupe2k: na that was me, still trying to figure it out, but at this point I have traced the comp issues to libs not supplied by the maintainer
[21:55] telemachus: Ok, I think my issue is this https://github.com/visionmedia/express/issues/656 - still not sure what to do about it though
[21:55] wailupe2k: maby i should roll back my version of node
[21:56] wailupe2k: what is considered most stable?
[21:56] jmoyers: wailupe2k even numbers
[21:56] gazumps856 has joined the channel
[21:56] jbpros has joined the channel
[21:57] Bradleymeck has joined the channel
[21:57] SubStack: browserify >= 0.4.6 now takes a hash argument for require so you can map names like this: { jquery : 'jquery-browserify' }
[21:58] SubStack: and it's now intelligent about aliasing too so if you depend on hashish elsewhere and then alias hashish to h it won't inline the source twice
[21:58] SubStack: yay me
[21:58] nivoc has joined the channel
[21:59] jmoyers: ACTION fist pumps
[21:59] devaholic: can i use dnode and browserify
[21:59] SubStack: devaholic: you're ALREADY using dnode with browserify
[21:59] SubStack: dnode uses browserify internally
[21:59] devaholic: yeah i know, thats why i ask
[22:00] devaholic: seems like i cannot also use browserify in the standard way, if im using dnode
[22:00] SubStack: if you include dnode in the require param then you can just require('dnode') browser-side
[22:00] SubStack: then instead of